NextGEN Gallery – WordPress Gallery Plugin - Version 0.70

Version Description

Download this release

Release Info

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

Code changes from version 0.64 to 0.70

admin/about.php CHANGED
@@ -28,7 +28,6 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
28
  <li><a href="http://www.sargant.com/" target="_blank">Rob Sargant</a> <?php _e('for RS-Discuss, it saved me a lot of time', 'nggallery') ;?></li>
29
  <li><a href="http://www.jeroenwijering.com/" target="_blank">Jeroen Wijering</a> <?php _e('for the best Media Flash Scripts on earth', 'nggallery') ;?></li>
30
  <li><a href="http://watermark.malcherek.com/" target="_blank">Marek Malcherek</a> <?php _e('for the Watermark plugin', 'nggallery') ;?></li>
31
- <li><a href="http://www.wildbits.de" target="_blank">Thomas Boley</a> <?php _e('for MyGallery, the best gallery plugin concept', 'nggallery') ;?></li>
32
  </ul>
33
  <p><?php _e('If you didn\'t find your name on this list and there is some code which I integrate in my plugin, don\'t hesitate to send me a mail.', 'nggallery') ;?></p>
34
  <legend><?php _e("How to support ?", 'nggallery'); ?></legend>
@@ -97,6 +96,7 @@ function ngg_list_support() {
97
  "Robert (German documentation)" => "http://www.curlyrob.de/",
98
  "Pierpaolo Mannone (Italian Translation)" => "http://www.interscambiocasa.com/",
99
  "Mattias Tengblad (Swedish Translation)" => "http://www.eyesx.com/",
 
100
  "Ghettomaster" => "http://www.ghettoworld.de/",
101
  "Joe Pharis" => "http://www.southernstylecruisers.com/",
102
  "Charlie (Jump Media)" => "",
@@ -112,7 +112,10 @@ function ngg_list_support() {
112
  "Emilio Lauretti (Italian Translation)" => "",
113
  "Jan Angelovic (Czech Translation)" => "http://www.angelovic.cz/",
114
  "Patrick Hennessey" => "http://www.digitalvagabonding.com/",
115
- "Hans Kiesouw" => "http://www.digitalvagabonding.com/"
 
 
 
116
  );
117
 
118
 
28
  <li><a href="http://www.sargant.com/" target="_blank">Rob Sargant</a> <?php _e('for RS-Discuss, it saved me a lot of time', 'nggallery') ;?></li>
29
  <li><a href="http://www.jeroenwijering.com/" target="_blank">Jeroen Wijering</a> <?php _e('for the best Media Flash Scripts on earth', 'nggallery') ;?></li>
30
  <li><a href="http://watermark.malcherek.com/" target="_blank">Marek Malcherek</a> <?php _e('for the Watermark plugin', 'nggallery') ;?></li>
 
31
  </ul>
32
  <p><?php _e('If you didn\'t find your name on this list and there is some code which I integrate in my plugin, don\'t hesitate to send me a mail.', 'nggallery') ;?></p>
33
  <legend><?php _e("How to support ?", 'nggallery'); ?></legend>
96
  "Robert (German documentation)" => "http://www.curlyrob.de/",
97
  "Pierpaolo Mannone (Italian Translation)" => "http://www.interscambiocasa.com/",
98
  "Mattias Tengblad (Swedish Translation)" => "http://www.eyesx.com/",
99
+ "M&uuml;fit Kiper (Swedish Translation)" => "http://www.kiper.se/",
100
  "Ghettomaster" => "http://www.ghettoworld.de/",
101
  "Joe Pharis" => "http://www.southernstylecruisers.com/",
102
  "Charlie (Jump Media)" => "",
112
  "Emilio Lauretti (Italian Translation)" => "",
113
  "Jan Angelovic (Czech Translation)" => "http://www.angelovic.cz/",
114
  "Patrick Hennessey" => "http://www.digitalvagabonding.com/",
115
+ "Hans Kiesouw" => "http://www.digitalvagabonding.com/",
116
+ "Laki (Slovak Translation)" => "http://www.laki.sk/",
117
+ "Thomas Bradley" => "http://www.tobeon.co.uk/wordpress/",
118
+ "Frederic Deghetto" => ""
119
  );
120
 
121
 
admin/addgallery.php CHANGED
@@ -3,6 +3,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
3
 
4
  include_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
5
 
 
 
6
  function nggallery_admin_add_gallery() {
7
 
8
  global $wpdb;
@@ -11,91 +13,51 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
11
  $defaultpath = $ngg_options['gallerypath'];
12
 
13
  if ($_POST['addgallery']){
 
14
  $newgallery = attribute_escape($_POST['galleryname']);
15
  if (!empty($newgallery))
16
  $messagetext = ngg_create_gallery($newgallery, $defaultpath);
17
  }
18
 
19
  if ($_POST['zipupload']){
 
20
  if ($_FILES['zipfile']['error'] == 0)
21
  $messagetext = ngg_import_zipfile($defaultpath);
22
  else
23
- $messagetext = '<font color="red">'.__('Upload failed!','nggallery').'</font>';
24
  }
25
 
26
  if ($_POST['importfolder']){
 
27
  $galleryfolder = $_POST['galleryfolder'];
28
  if ((!empty($galleryfolder)) AND ($defaultpath != $galleryfolder))
29
  $messagetext = ngg_import_gallery($galleryfolder);
30
  }
31
 
32
  if ($_POST['uploadimage']){
 
33
  if ($_FILES['MF__F_0_0']['error'] == 0) {
34
  $messagetext = ngg_upload_images($defaultpath);
35
  }
36
  else
37
- $messagetext = '<font color="red">'.__('Upload failed!','nggallery').'</font>';
38
  }
39
 
40
  // message windows
41
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
42
-
43
- ?>
44
- <script type="text/javascript">
45
- var currentTab = null;
46
- var inSlide = false;
47
- jQuery(document).ready(
48
- function()
49
- {
50
- var url, tab = 0, tabIteration = 0;
51
-
52
- url = window.location.href.split("#");
53
- if (url.length == 2 && url[1].indexOf('-slider') > 0) {
54
- currentTab = jQuery('#' + url[1].substr(0, url[1].length-7));
55
- if (currentTab.size() == 1) {
56
- jQuery('#slider div').each(
57
- function(iteration)
58
- {
59
- if(this === currentTab.get(0)) {
60
- tabIteration = iteration;
61
- }
62
- }
63
- );
64
- }
65
- }
66
-
67
- if(!currentTab) {
68
- currentTab = jQuery('#slider div:first');
69
- }
70
 
71
- currentTab.SlideToggleUp(500);
72
- jQuery('#tabs a')
73
- .eq(tabIteration).addClass('active')
74
- .end()
75
- .bind('click', switchTab);
76
- }
77
- );
78
 
79
- var switchTab = function()
80
- {
81
- // get id from link
82
- var tabName = this.href.split('#')[1];
83
- this.blur();
84
- if (inSlide == false && currentTab.get(0) != jQuery('#' + tabName.substr(0, tabName.length-7)).get(0)) {
85
- jQuery('#tabs a').removeClass('active');
86
- jQuery(this).addClass('active');
87
- inSlide = true;
88
- currentTab.SlideToggleUp(
89
- 500,
90
- function()
91
- {
92
- currentTab = jQuery('#' + tabName.substr(0, tabName.length-7)).SlideToggleUp(500, function(){inSlide=false;});
93
- }
94
- );
95
- } else {
96
- return false;
97
- }
98
- };
99
 
100
  jQuery(function(){
101
  jQuery('#imagefiles').MultiFile({
@@ -106,22 +68,23 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
106
  });
107
 
108
  </script>
109
- <div class="wrap" style="text-align: center">
110
- <div id="tabs">
111
- <a href="#addgallery-slider"><?php _e('Add new gallery', 'nggallery') ;?></a> -
 
 
112
  <?php if (!SAFE_MODE) { ?>
113
- <a href="#zipupload-slider"><?php _e('Upload a Zip-File', 'nggallery') ;?></a> -
114
  <?php } ?>
115
- <a href="#importfolder-slider"><?php _e('Import image folder', 'nggallery') ;?></a> -
116
- <a href="#uploadimage-slider"><?php _e('Upload Images', 'nggallery') ;?></a>
117
- </div>
118
- </div>
119
-
120
- <div id="slider">
121
  <!-- create gallery -->
122
- <div id="addgallery" class="wrap" style="display:none">
123
  <h2><?php _e('Add new gallery', 'nggallery') ;?></h2>
124
  <form name="addgallery" id="addgallery" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>" accept-charset="utf-8" >
 
125
  <fieldset class="options">
126
  <table class="optiontable">
127
  <tr valign="top">
@@ -136,9 +99,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
136
  </form>
137
  </div>
138
  <!-- zip-file operation -->
139
- <div id="zipupload" class="wrap" style="display:none">
140
  <h2><?php _e('Upload a Zip-File', 'nggallery') ;?></h2>
141
- <form name="zipupload" id="zipupload" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#zipupload-slider'; ?>" accept-charset="utf-8" >
 
142
  <fieldset class="options">
143
  <table class="optiontable">
144
  <tr valign="top">
@@ -167,9 +131,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
167
  </form>
168
  </div>
169
  <!-- import folder -->
170
- <div id="importfolder" class="wrap" style="display:none">
171
  <h2><?php _e('Import image folder', 'nggallery') ;?></h2>
172
- <form name="importfolder" id="importfolder" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#importfolder-slider'; ?>" accept-charset="utf-8" >
 
173
  <fieldset class="options">
174
  <table class="optiontable">
175
  <tr valign="top">
@@ -184,9 +149,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
184
  </form>
185
  </div>
186
  <!-- upload images -->
187
- <div id="uploadimage" class="wrap" style="display:none">
188
  <h2><?php _e('Upload Images', 'nggallery') ;?></h2>
189
- <form name="uploadimage" id="uploadimage" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#uploadimage-slider'; ?>" accept-charset="utf-8" >
 
190
  <fieldset class="options">
191
  <table class="optiontable">
192
  <tr valign="top">
@@ -219,26 +185,40 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
219
  }
220
 
221
  // **************************************************************
222
- function ngg_create_gallery($galleryname, $defaultpath) {
223
  // create a new gallery & folder
224
  global $wpdb;
225
 
226
  $myabspath = str_replace("\\","/",ABSPATH); // required for windows
227
-
228
  //cleanup pathname
229
- $new_pathname = strtolower(preg_replace ("/(\s+)/", '-',$galleryname));
230
- $new_pathname = preg_replace('|[^a-z0-9-]|i', '', $new_pathname);
231
 
232
- if (empty($new_pathname)) return '<font color="red">'.__('No valid gallery name!', 'nggallery'). '</font>';
233
-
234
- if ( substr(decoct(@fileperms($myabspath.$defaultpath)),1) != decoct(NGGFOLDER_PERMISSION) )
235
- return '<font color="red">'.__('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t have the permissions ', 'nggallery').decoct(NGGFOLDER_PERMISSION).'!</font>';
236
 
237
- $nggpath = $defaultpath.$new_pathname;
238
-
239
- if (is_dir($myabspath.$nggpath))
240
- return '<font color="red">'.__('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('already exists!', 'nggallery').'</font>';
 
 
 
241
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  // create new directories
243
  if (!SAFE_MODE) {
244
  if (!@mkdir ($myabspath.$nggpath,NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'!</font>');
@@ -246,16 +226,18 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
246
  if (!@mkdir ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'/thumbs !</font>');
247
  if (!@chmod ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions', 'nggallery').$nggpath.'/thumbs !</font>');
248
  } else {
249
- $safemode = '<br /><font color="green">'.__('The server Safe-Mode is on !', 'nggallery');
250
  $safemode .= '<br />'.__('Please create directory', 'nggallery').' <strong>'.$nggpath.'</strong> ';
251
  $safemode .= __('and the thumbnails directory', 'nggallery').' <strong>'.$nggpath.'/thumbs</strong> '.__('with permission 777 manually !', 'nggallery').'</font>';
252
  }
253
  $result=$wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
254
  if ($result) {
255
- return '<font color="red">'.__('Gallery', 'nggallery').' <strong>'.$newgallery.'</strong> '.__('already exists', 'nggallery').'</font>';
 
256
  } else {
257
- $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path) VALUES ('$galleryname', '$nggpath') ");
258
- if ($result) return '<font color="green">'.__('Gallery successfully created!','nggallery').'</font>'.$safemode;
 
259
  }
260
  }
261
 
@@ -279,7 +261,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
279
  if (empty($new_imageslist)) return '<font color="blue">'.__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery').'!</font>';
280
 
281
  // create thumbnail folder
282
- $check_thumbnail_folder = ngg_get_thumbnail_folder($gallerypath);
283
  if (!$check_thumbnail_folder) {
284
  if (SAFE_MODE) return '<font color="red">'.__('Thumbnail Directory', 'nggallery').' <strong>'.$gallerypath.'/thumbs</strong> '.__('doesn&#96;t exist', 'nggallery').'!<br />'.__('Please create the folder <i>thumbs</i> in your gallery folder.', 'nggallery').'</font>';
285
  else @mkdir ($gallerypath.'/thumbs',NGGFOLDER_PERMISSION) or die ('<font color="red">'.__('Unable to create directory ', 'nggallery').$gallerypath.'/thumbs !</font>');
@@ -293,8 +275,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
293
 
294
  if (!$gallery_id) {
295
  $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path) VALUES ('$galleryname', '$galleryfolder') ");
296
- if (!$result)
297
- return '<font color="red">'.__('Database error. Could not add gallery!','nggallery').'</font>';
 
 
298
  $gallery_id = $wpdb->insert_id; // get index_id
299
  }
300
 
@@ -316,7 +300,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
316
  }
317
  }
318
 
319
- return '<font color="green">'.__('Gallery','nggallery').' <strong>'.$galleryname.'</strong> '.__('successfully created!','nggallery').'<br />'.$count_pic.__(' pictures added.','nggallery').'</font>';
 
320
 
321
  }
322
  // **************************************************************
@@ -359,8 +344,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
359
  }
360
  }
361
 
362
- if(!empty($messagetext)) echo '<div id="message-error" class="error fade"><p><strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul></p></div>';
363
-
364
  return;
365
  }
366
 
@@ -397,8 +381,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
397
  }
398
  }
399
 
400
- if(!empty($messagetext)) echo '<div id="message-error" class="error fade"><p><strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul></p></div>';
401
-
402
  return;
403
  }
404
 
@@ -408,8 +391,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
408
 
409
  $ngg_options = get_option('ngg_options');
410
 
411
- $prefix = ngg_get_thumbnail_prefix($gallery_absfolder);
412
- $thumbfolder = ngg_get_thumbnail_folder($gallery_absfolder);
413
 
414
  if (is_array($pictures)) {
415
  foreach($pictures as $picture) {
@@ -469,8 +452,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
469
  }
470
  }
471
 
472
- if(!empty($errortext)) echo '<div id="message-error" class="error fade"><p><strong>'.__('Follow thumbnails could not created.','nggallery').'</strong><br /><ul>'.$errortext.'</ul></p></div>';
473
- if(!empty($messagetext)) echo '<div id="message-error" class="error fade"><p><strong>'.__('Some thumbnails are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul></p></div>';
474
 
475
  return;
476
  }
@@ -482,7 +465,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
482
  require_once(NGGALLERY_ABSPATH.'/lib/pclzip.lib.php');
483
 
484
  $archive = new PclZip($file);
485
-
486
  // extract all files in one folder
487
  if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_CB_PRE_EXTRACT, 'ngg_getonlyimages') == 0) {
488
  die("Error : ".$archive->errorInfo(true));
@@ -520,19 +503,21 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
520
  // on whatever reason MAC shows "application/download"
521
  if (!eregi('download', $_FILES['zipfile']['type'])) {
522
  @unlink($temp_zipfile); // del temp file
523
- return '<font color="red">'.__('Uploaded file was no or a faulty zip file ! The server recognize : ','nggallery').$_FILES['zipfile']['type'].'</font>';
 
524
  }
525
 
526
  // get foldername if selected
527
  $foldername = $_POST['zipgalselect'];
528
  if ($foldername == "0") {
529
  //cleanup and take the zipfile name as folder name
530
- $foldername = preg_replace ("/(\s+)/", '-', strtolower(strtok ($filename,'.')));
 
531
  }
532
 
533
  // set complete folder path
534
  $newfolder = WINABSPATH.$defaultpath.$foldername;
535
-
536
  if (!is_dir($newfolder)) {
537
  // create new directories
538
  if (!@mkdir ($newfolder, NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$newfolder.'!</font>');
@@ -545,12 +530,13 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
545
  ngg_unzip($newfolder, $temp_zipfile);
546
  @unlink($temp_zipfile) or die ('<div class="updated"><p><strong>'.__('Unable to unlink zip file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
547
 
548
- $messagetext = '<font color="green">'.__('Zip-File successfully unpacked','nggallery').'</font><br />';
549
-
550
  // parse now the folder and add to database
551
  $messagetext .= ngg_import_gallery($defaultpath.$foldername);
552
 
553
- return $messagetext;
 
554
  }
555
 
556
  // **************************************************************
@@ -561,33 +547,54 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
561
 
562
  // Images must be an array
563
  $imageslist = array();
 
564
 
565
  foreach ($_FILES as $key => $value) {
566
-
567
  // look only for uploded files
568
  if ($_FILES[$key]['error'] == 0) {
569
-
570
  $temp_file = $_FILES[$key]['tmp_name'];
571
- $filename = $_FILES[$key]['name'];
572
-
 
 
 
 
 
 
573
  $dest_gallery = $_POST['galleryselect'];
574
  if ($dest_gallery == 0) {
575
  @unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
576
- return '<font color="red">'.__('No gallery selected !','nggallery').'</font>';
 
577
  }
578
 
579
  // get the path to the gallery
580
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$dest_gallery' ");
581
  if (!$gallerypath){
582
  @unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
583
- return '<font color="red">'.__('Failure in database, no gallery path set !','nggallery').'</font>';
 
584
  }
 
 
 
 
 
 
 
585
 
586
  $dest_file = WINABSPATH.$gallerypath."/".$filename;
587
 
588
  // save temp file to gallery
589
- if (!@move_uploaded_file($_FILES[$key]['tmp_name'], $dest_file)) return '<font color="red">'.__('Error, the file could not moved to : ','nggallery').$dest_file.'</font>';
590
- if (!@chmod ($dest_file, NGGFILE_PERMISSION)) return '<font color="red">'.__('Error, the file permissions could not set','nggallery').'</font>';
 
 
 
 
 
 
591
 
592
  // add to imagelist
593
  $imageslist[] = $filename;
@@ -606,8 +613,9 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
606
  if ($result) $count_pic++;
607
  }
608
  }
609
-
610
- return '<font color="green">'.$count_pic.__(' Images successfully added','nggallery').'</font>';
 
611
 
612
  } // end function
613
 
3
 
4
  include_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
5
 
6
+ //TODO: Check better upload form like http://digitarald.de/project/fancyupload/
7
+
8
  function nggallery_admin_add_gallery() {
9
 
10
  global $wpdb;
13
  $defaultpath = $ngg_options['gallerypath'];
14
 
15
  if ($_POST['addgallery']){
16
+ check_admin_referer('ngg_addgallery');
17
  $newgallery = attribute_escape($_POST['galleryname']);
18
  if (!empty($newgallery))
19
  $messagetext = ngg_create_gallery($newgallery, $defaultpath);
20
  }
21
 
22
  if ($_POST['zipupload']){
23
+ check_admin_referer('ngg_addgallery');
24
  if ($_FILES['zipfile']['error'] == 0)
25
  $messagetext = ngg_import_zipfile($defaultpath);
26
  else
27
+ nggallery::show_error(__('Upload failed!','nggallery'));
28
  }
29
 
30
  if ($_POST['importfolder']){
31
+ check_admin_referer('ngg_addgallery');
32
  $galleryfolder = $_POST['galleryfolder'];
33
  if ((!empty($galleryfolder)) AND ($defaultpath != $galleryfolder))
34
  $messagetext = ngg_import_gallery($galleryfolder);
35
  }
36
 
37
  if ($_POST['uploadimage']){
38
+ check_admin_referer('ngg_addgallery');
39
  if ($_FILES['MF__F_0_0']['error'] == 0) {
40
  $messagetext = ngg_upload_images($defaultpath);
41
  }
42
  else
43
+ nggallery::show_error(__('Upload failed!','nggallery'));
44
  }
45
 
46
  // message windows
47
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
 
49
+ ?>
50
+
51
+ <link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/js/jquery.tabs.css" type="text/css" media="print, projection, screen"/>
52
+ <!-- Additional IE/Win specific style sheet (Conditional Comments) -->
53
+ <!--[if lte IE 7]>
54
+ <link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/js/jquery.tabs-ie.css" type="text/css" media="projection, screen"/>
55
+ <![endif]-->
56
 
57
+ <script type="text/javascript">
58
+ jQuery(function() {
59
+ jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' });
60
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
  jQuery(function(){
63
  jQuery('#imagefiles').MultiFile({
68
  });
69
 
70
  </script>
71
+
72
+ <div id="slider" class="wrap">
73
+
74
+ <ul id="tabs">
75
+ <li><a href="#addgallery"><?php _e('Add new gallery', 'nggallery') ;?></a></li>
76
  <?php if (!SAFE_MODE) { ?>
77
+ <li><a href="#zipupload"><?php _e('Upload a Zip-File', 'nggallery') ;?></a></li>
78
  <?php } ?>
79
+ <li><a href="#importfolder"><?php _e('Import image folder', 'nggallery') ;?></a></li>
80
+ <li><a href="#uploadimage"><?php _e('Upload Images', 'nggallery') ;?></a></li>
81
+ </ul>
82
+
 
 
83
  <!-- create gallery -->
84
+ <div id="addgallery">
85
  <h2><?php _e('Add new gallery', 'nggallery') ;?></h2>
86
  <form name="addgallery" id="addgallery" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>" accept-charset="utf-8" >
87
+ <?php wp_nonce_field('ngg_addgallery') ?>
88
  <fieldset class="options">
89
  <table class="optiontable">
90
  <tr valign="top">
99
  </form>
100
  </div>
101
  <!-- zip-file operation -->
102
+ <div id="zipupload">
103
  <h2><?php _e('Upload a Zip-File', 'nggallery') ;?></h2>
104
+ <form name="zipupload" id="zipupload" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#zipupload'; ?>" accept-charset="utf-8" >
105
+ <?php wp_nonce_field('ngg_addgallery') ?>
106
  <fieldset class="options">
107
  <table class="optiontable">
108
  <tr valign="top">
131
  </form>
132
  </div>
133
  <!-- import folder -->
134
+ <div id="importfolder">
135
  <h2><?php _e('Import image folder', 'nggallery') ;?></h2>
136
+ <form name="importfolder" id="importfolder" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#importfolder'; ?>" accept-charset="utf-8" >
137
+ <?php wp_nonce_field('ngg_addgallery') ?>
138
  <fieldset class="options">
139
  <table class="optiontable">
140
  <tr valign="top">
149
  </form>
150
  </div>
151
  <!-- upload images -->
152
+ <div id="uploadimage">
153
  <h2><?php _e('Upload Images', 'nggallery') ;?></h2>
154
+ <form name="uploadimage" id="uploadimage" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#uploadimage'; ?>" accept-charset="utf-8" >
155
+ <?php wp_nonce_field('ngg_addgallery') ?>
156
  <fieldset class="options">
157
  <table class="optiontable">
158
  <tr valign="top">
185
  }
186
 
187
  // **************************************************************
188
+ function ngg_create_gallery($gallerytitle, $defaultpath) {
189
  // create a new gallery & folder
190
  global $wpdb;
191
 
192
  $myabspath = str_replace("\\","/",ABSPATH); // required for windows
193
+
194
  //cleanup pathname
195
+ $galleryname = sanitize_title($gallerytitle);
196
+ $nggpath = $defaultpath.$galleryname;
197
 
198
+ if (empty($galleryname)) return '<font color="red">'.__('No valid gallery name!', 'nggallery'). '</font>';
 
 
 
199
 
200
+ // check for main folder
201
+ if ( !file_exists(($myabspath.$defaultpath)) ) {
202
+ $txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />';
203
+ $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' <a href="http://codex.wordpress.org/Changing_File_Permissions">http://codex.wordpress.org/Changing_File_Permissions</a> ';
204
+ nggallery::show_error($txt);
205
+ return;
206
+ }
207
 
208
+ // check for permission settings
209
+ if ( substr(decoct(@fileperms($myabspath.$defaultpath)),1) != decoct(NGGFOLDER_PERMISSION) ) {
210
+ $txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t have the permissions ', 'nggallery').decoct(NGGFOLDER_PERMISSION).'!<br />';
211
+ $txt .= __('Check this link, if you didn\'t know how to set the permission :', 'nggallery').' <a href="http://codex.wordpress.org/Changing_File_Permissions">http://codex.wordpress.org/Changing_File_Permissions</a> ';
212
+ nggallery::show_error($txt);
213
+ return;
214
+ }
215
+
216
+ // avoid double creation
217
+ if (is_dir($myabspath.$nggpath)) {
218
+ nggallery::show_error(__('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('already exists!', 'nggallery'));
219
+ return;
220
+ }
221
+
222
  // create new directories
223
  if (!SAFE_MODE) {
224
  if (!@mkdir ($myabspath.$nggpath,NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'!</font>');
226
  if (!@mkdir ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'/thumbs !</font>');
227
  if (!@chmod ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions', 'nggallery').$nggpath.'/thumbs !</font>');
228
  } else {
229
+ $safemode = '<br /><font color="green">'.__('The server setting Safe-Mode is on !', 'nggallery');
230
  $safemode .= '<br />'.__('Please create directory', 'nggallery').' <strong>'.$nggpath.'</strong> ';
231
  $safemode .= __('and the thumbnails directory', 'nggallery').' <strong>'.$nggpath.'/thumbs</strong> '.__('with permission 777 manually !', 'nggallery').'</font>';
232
  }
233
  $result=$wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
234
  if ($result) {
235
+ nggallery::show_error(__('Gallery', 'nggallery').' <strong>'.$galleryname.'</strong> '.__('already exists', 'nggallery'));
236
+ return;
237
  } else {
238
+ $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title) VALUES ('$galleryname', '$nggpath', '$gallerytitle') ");
239
+ if ($result) nggallery::show_message(__('Gallery', 'nggallery').' <strong>'.$wpdb->insert_id." : ".$galleryname.'</strong> '.__('successfully created!','nggallery')."<br />".__('You can show this gallery with the tag','nggallery').'<strong> [gallery='.$wpdb->insert_id.']</strong>'.$safemode);
240
+ return;
241
  }
242
  }
243
 
261
  if (empty($new_imageslist)) return '<font color="blue">'.__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery').'!</font>';
262
 
263
  // create thumbnail folder
264
+ $check_thumbnail_folder = nggallery::get_thumbnail_folder($gallerypath);
265
  if (!$check_thumbnail_folder) {
266
  if (SAFE_MODE) return '<font color="red">'.__('Thumbnail Directory', 'nggallery').' <strong>'.$gallerypath.'/thumbs</strong> '.__('doesn&#96;t exist', 'nggallery').'!<br />'.__('Please create the folder <i>thumbs</i> in your gallery folder.', 'nggallery').'</font>';
267
  else @mkdir ($gallerypath.'/thumbs',NGGFOLDER_PERMISSION) or die ('<font color="red">'.__('Unable to create directory ', 'nggallery').$gallerypath.'/thumbs !</font>');
275
 
276
  if (!$gallery_id) {
277
  $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path) VALUES ('$galleryname', '$galleryfolder') ");
278
+ if (!$result) {
279
+ nggallery::show_error(__('Database error. Could not add gallery!','nggallery'));
280
+ return;
281
+ }
282
  $gallery_id = $wpdb->insert_id; // get index_id
283
  }
284
 
300
  }
301
  }
302
 
303
+ nggallery::show_message(__('Gallery','nggallery').' <strong>'.$galleryname.'</strong> '.__('successfully created!','nggallery').'<br />'.$count_pic.__(' pictures added.','nggallery'));
304
+ return;
305
 
306
  }
307
  // **************************************************************
344
  }
345
  }
346
 
347
+ if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
 
348
  return;
349
  }
350
 
381
  }
382
  }
383
 
384
+ if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
 
385
  return;
386
  }
387
 
391
 
392
  $ngg_options = get_option('ngg_options');
393
 
394
+ $prefix = nggallery::get_thumbnail_prefix($gallery_absfolder);
395
+ $thumbfolder = nggallery::get_thumbnail_folder($gallery_absfolder);
396
 
397
  if (is_array($pictures)) {
398
  foreach($pictures as $picture) {
452
  }
453
  }
454
 
455
+ if(!empty($errortext)) nggallery::show_error('<strong>'.__('Follow thumbnails could not created.','nggallery').'</strong><br /><ul>'.$errortext.'</ul>');
456
+ if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some thumbnails are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
457
 
458
  return;
459
  }
465
  require_once(NGGALLERY_ABSPATH.'/lib/pclzip.lib.php');
466
 
467
  $archive = new PclZip($file);
468
+
469
  // extract all files in one folder
470
  if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_CB_PRE_EXTRACT, 'ngg_getonlyimages') == 0) {
471
  die("Error : ".$archive->errorInfo(true));
503
  // on whatever reason MAC shows "application/download"
504
  if (!eregi('download', $_FILES['zipfile']['type'])) {
505
  @unlink($temp_zipfile); // del temp file
506
+ nggallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognize : ','nggallery').$_FILES['zipfile']['type']);
507
+ return;
508
  }
509
 
510
  // get foldername if selected
511
  $foldername = $_POST['zipgalselect'];
512
  if ($foldername == "0") {
513
  //cleanup and take the zipfile name as folder name
514
+ $foldername = sanitize_title(strtok ($filename,'.'));
515
+ //$foldername = preg_replace ("/(\s+)/", '-', strtolower(strtok ($filename,'.')));
516
  }
517
 
518
  // set complete folder path
519
  $newfolder = WINABSPATH.$defaultpath.$foldername;
520
+
521
  if (!is_dir($newfolder)) {
522
  // create new directories
523
  if (!@mkdir ($newfolder, NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$newfolder.'!</font>');
530
  ngg_unzip($newfolder, $temp_zipfile);
531
  @unlink($temp_zipfile) or die ('<div class="updated"><p><strong>'.__('Unable to unlink zip file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
532
 
533
+ $messagetext = __('Zip-File successfully unpacked','nggallery').'<br />';
534
+
535
  // parse now the folder and add to database
536
  $messagetext .= ngg_import_gallery($defaultpath.$foldername);
537
 
538
+ nggallery::show_message($messagetext);
539
+ return;
540
  }
541
 
542
  // **************************************************************
547
 
548
  // Images must be an array
549
  $imageslist = array();
550
+ $i = 1;
551
 
552
  foreach ($_FILES as $key => $value) {
553
+
554
  // look only for uploded files
555
  if ($_FILES[$key]['error'] == 0) {
 
556
  $temp_file = $_FILES[$key]['tmp_name'];
557
+ $filepart = pathinfo ( strtolower($_FILES[$key]['name']) );
558
+ // required until PHP 5.2.0
559
+ $filepart['filename'] = substr($filepart["basename"],0 ,strlen($filepart["basename"]) - (strlen($filepart["extension"]) + 1) );
560
+ $filename = sanitize_title($filepart['filename']).".".$filepart['extension'];
561
+ // check if this filename already exist
562
+ if (in_array($filename,$imageslist))
563
+ $filename = sanitize_title($filepart['filename']) . "_" . $i++ . "." .$filepart['extension'];
564
+
565
  $dest_gallery = $_POST['galleryselect'];
566
  if ($dest_gallery == 0) {
567
  @unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
568
+ nggallery::show_error(__('No gallery selected !','nggallery'));
569
+ return;
570
  }
571
 
572
  // get the path to the gallery
573
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$dest_gallery' ");
574
  if (!$gallerypath){
575
  @unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
576
+ nggallery::show_error(__('Failure in database, no gallery path set !','nggallery'));
577
+ return;
578
  }
579
+
580
+ // check for allowed extension
581
+ $ext = array("jpeg", "jpg", "png", "gif");
582
+ if (!in_array($filepart['extension'],$ext)){
583
+ nggallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is no valid image file!','nggallery'));
584
+ continue;
585
+ }
586
 
587
  $dest_file = WINABSPATH.$gallerypath."/".$filename;
588
 
589
  // save temp file to gallery
590
+ if (!@move_uploaded_file($_FILES[$key]['tmp_name'], $dest_file)){
591
+ nggallery::show_error(__('Error, the file could not moved to : ','nggallery').$dest_file);
592
+ continue;
593
+ }
594
+ if (!@chmod ($dest_file, NGGFILE_PERMISSION)) {
595
+ nggallery::show_error(__('Error, the file permissions could not set','nggallery'));
596
+ continue;
597
+ }
598
 
599
  // add to imagelist
600
  $imageslist[] = $filename;
613
  if ($result) $count_pic++;
614
  }
615
  }
616
+
617
+ nggallery::show_message($count_pic.__(' Image(s) successfully added','nggallery'));
618
+ return;
619
 
620
  } // end function
621
 
admin/admin.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  // ************************************
3
  // ** Admin Section for NextGEN Gallery
4
- // ** for V 0.50
5
  // ** by Alex Rabe
6
  // ************************************
7
 
@@ -15,26 +14,29 @@ function ngg_nocache() {
15
  // load script files depend on page
16
  add_action('init', 'ngg_add_admin_js',1);
17
  function ngg_add_admin_js() {
18
- if ($wp_version < "2.2") {
19
- wp_register_script('jquery', NGGALLERY_URLPATH .'admin/js/jquery.js', FALSE, '1.1.2');
 
20
  }
21
  switch ($_GET['page']) {
22
  case "nggallery-manage-gallery" :
23
  wp_enqueue_script('interface', NGGALLERY_URLPATH .'admin/js/interface.js', array('jquery'), '1.2');
24
- wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.0.1');
25
  break;
26
  case "nggallery-manage-album" :
27
- case "nggallery-options" :
28
  wp_enqueue_script('interface', NGGALLERY_URLPATH .'admin/js/interface.js', array('jquery'), '1.2');
 
 
 
29
  break;
30
  case "nggallery-add-gallery" :
31
- wp_enqueue_script('interface', NGGALLERY_URLPATH .'admin/js/interface.js', array('jquery'), '1.2');
32
  wp_enqueue_script('mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1');
33
  break;
34
  }
35
-
36
  if ( ($_GET['tab'] == 'ngg_gallery') && ($_GET['style'] != 'inline') )
37
- wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.0.2');
38
  }
39
 
40
  // add to menu
@@ -42,29 +44,71 @@ add_action('admin_menu', 'add_nextgen_gallery_menu');
42
 
43
  function add_nextgen_gallery_menu()
44
  {
45
- add_menu_page(__('Gallery', 'nggallery'), __('Gallery', 'nggallery'), 'edit_others_posts', NGGFOLDER, 'nggallery_admin_overview');
46
- add_submenu_page( NGGFOLDER , __('Add Gallery', 'nggallery'), __('Add Gallery', 'nggallery'), 'edit_others_posts', 'nggallery-add-gallery', 'nggallery_admin_add_gallery');
47
- add_submenu_page( NGGFOLDER , __('Manage Gallery', 'nggallery'), __('Manage Gallery', 'nggallery'), 'edit_others_posts', 'nggallery-manage-gallery', 'nggallery_admin_manage_gallery');
48
- add_submenu_page( NGGFOLDER , __('Album', 'nggallery'), __('Album', 'nggallery'), 'edit_others_posts', 'nggallery-manage-album', 'nggallery_admin_manage_album');
49
- add_submenu_page( NGGFOLDER , __('Options', 'nggallery'), __('Options', 'nggallery'), 'manage_options', 'nggallery-options', 'nggallery_admin_options');
50
- add_submenu_page( NGGFOLDER , __('Style', 'nggallery'), __('Style', 'nggallery'), 'manage_options', 'nggallery-style', 'nggallery_admin_style');
51
- add_submenu_page( NGGFOLDER , __('Setup Gallery', 'nggallery'), __('Setup', 'nggallery'), 'activate_plugins', 'nggallery-setup', 'nggallery_admin_setup');
 
52
  if (check_for_myGallery())
53
- add_submenu_page( NGGFOLDER , __('Import', 'nggallery'), __('Import', 'nggallery'), 'manage_options', 'nggallery-import', 'nggallery_admin_import');
54
- add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'edit_others_posts', 'nggallery-about', 'nggallery_admin_about');
55
  }
56
 
57
  /************************************************************************/
58
 
59
- include_once (dirname (__FILE__). '/overview.php'); // nggallery_admin_overview
60
- include_once (dirname (__FILE__). '/addgallery.php'); // nggallery_admin_add_gallery
61
- include_once (dirname (__FILE__). '/manage.php'); // nggallery_admin_manage_gallery
62
- include_once (dirname (__FILE__). '/album.php'); // nggallery_admin_manage_album
63
- include_once (dirname (__FILE__). '/settings.php'); // nggallery_admin_options
64
- include_once (dirname (__FILE__). '/style.php'); // nggallery_admin_style
65
- include_once (dirname (__FILE__). '/setup.php'); // nggallery_admin_setup
66
- include_once (dirname (__FILE__). '/myimport.php'); // nggallery_admin_import
67
- include_once (dirname (__FILE__). '/about.php'); // nggallery_admin_about
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
  /**************************************************************************/
70
 
1
  <?php
2
  // ************************************
3
  // ** Admin Section for NextGEN Gallery
 
4
  // ** by Alex Rabe
5
  // ************************************
6
 
14
  // load script files depend on page
15
  add_action('init', 'ngg_add_admin_js',1);
16
  function ngg_add_admin_js() {
17
+ if ($wp_version < "2.3") {
18
+ if ($wp_version > "2.1.3") wp_deregister_script('jquery');
19
+ wp_register_script('jquery', NGGALLERY_URLPATH .'admin/js/jquery.js', FALSE, '1.1.3.1');
20
  }
21
  switch ($_GET['page']) {
22
  case "nggallery-manage-gallery" :
23
  wp_enqueue_script('interface', NGGALLERY_URLPATH .'admin/js/interface.js', array('jquery'), '1.2');
24
+ wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.1.1');
25
  break;
26
  case "nggallery-manage-album" :
 
27
  wp_enqueue_script('interface', NGGALLERY_URLPATH .'admin/js/interface.js', array('jquery'), '1.2');
28
+ break;
29
+ case "nggallery-options" :
30
+ wp_enqueue_script('tabs', NGGALLERY_URLPATH .'admin/js/jquery.tabs.pack.js', array('jquery'), '2.7');
31
  break;
32
  case "nggallery-add-gallery" :
33
+ wp_enqueue_script('tabs', NGGALLERY_URLPATH .'admin/js/jquery.tabs.pack.js', array('jquery'), '2.7');
34
  wp_enqueue_script('mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1');
35
  break;
36
  }
37
+ // required for upload tab
38
  if ( ($_GET['tab'] == 'ngg_gallery') && ($_GET['style'] != 'inline') )
39
+ wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.1.2');
40
  }
41
 
42
  // add to menu
44
 
45
  function add_nextgen_gallery_menu()
46
  {
47
+ add_menu_page(__('Gallery', 'nggallery'), __('Gallery', 'nggallery'), 'NextGEN Gallery overview', NGGFOLDER, 'show_menu');
48
+ add_submenu_page( NGGFOLDER , __('Add Gallery', 'nggallery'), __('Add Gallery', 'nggallery'), 'NextGEN Upload images', 'nggallery-add-gallery', 'show_menu');
49
+ add_submenu_page( NGGFOLDER , __('Manage Gallery', 'nggallery'), __('Manage Gallery', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', 'show_menu');
50
+ add_submenu_page( NGGFOLDER , __('Album', 'nggallery'), __('Album', 'nggallery'), 'NextGEN Edit album', 'nggallery-manage-album', 'show_menu');
51
+ add_submenu_page( NGGFOLDER , __('Options', 'nggallery'), __('Options', 'nggallery'), 'NextGEN Change options', 'nggallery-options', 'show_menu');
52
+ add_submenu_page( NGGFOLDER , __('Style', 'nggallery'), __('Style', 'nggallery'), 'NextGEN Change style', 'nggallery-style', 'show_menu');
53
+ add_submenu_page( NGGFOLDER , __('Setup Gallery', 'nggallery'), __('Setup', 'nggallery'), 'activate_plugins', 'nggallery-setup', 'show_menu');
54
+ add_submenu_page( NGGFOLDER , __('Roles', 'nggallery'), __('Roles', 'nggallery'), 'activate_plugins', 'nggallery-roles', 'show_menu');
55
  if (check_for_myGallery())
56
+ add_submenu_page( NGGFOLDER , __('Import', 'nggallery'), __('Import', 'nggallery'), 'activate_plugins', 'nggallery-import', 'show_menu');
57
+ add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'NextGEN Gallery overview', 'nggallery-about', 'show_menu');
58
  }
59
 
60
  /************************************************************************/
61
 
62
+ // reduce footprint
63
+ // Thx to http://weblogtoolscollection.com/archives/2007/07/09/reduce-the-size-of-your-wordpress-plugin-footprint/
64
+
65
+ function show_menu() {
66
+ switch ($_GET["page"]){
67
+ case "nggallery-add-gallery" :
68
+ include_once (dirname (__FILE__). '/addgallery.php'); // nggallery_admin_add_gallery
69
+ nggallery_admin_add_gallery();
70
+ break;
71
+ case "nggallery-manage-gallery" :
72
+ include_once (dirname (__FILE__). '/addgallery.php'); // nggallery_admin_add_gallery
73
+ include_once (dirname (__FILE__). '/manage.php'); // nggallery_admin_manage_gallery
74
+ nggallery_admin_manage_gallery();
75
+ break;
76
+ case "nggallery-manage-album" :
77
+ include_once (dirname (__FILE__). '/album.php'); // nggallery_admin_manage_album
78
+ nggallery_admin_manage_album();
79
+ break;
80
+ case "nggallery-options" :
81
+ include_once (dirname (__FILE__). '/settings.php'); // nggallery_admin_options
82
+ nggallery_admin_options();
83
+ break;
84
+ case "nggallery-style" :
85
+ include_once (dirname (__FILE__). '/style.php'); // nggallery_admin_style
86
+ nggallery_admin_style();
87
+ break;
88
+ case "nggallery-setup" :
89
+ include_once (dirname (__FILE__). '/setup.php'); // nggallery_admin_setup
90
+ nggallery_admin_setup();
91
+ break;
92
+ case "nggallery-roles" :
93
+ include_once (dirname (__FILE__). '/roles.php'); // nggallery_admin_roles
94
+ nggallery_admin_roles();
95
+ break;
96
+ case "nggallery-import" :
97
+ include_once (dirname (__FILE__). '/myimport.php'); // nggallery_admin_import
98
+ nggallery_admin_import();
99
+ break;
100
+ case "nggallery-about" :
101
+ include_once (dirname (__FILE__). '/about.php'); // nggallery_admin_about
102
+ nggallery_admin_about();
103
+ break;
104
+ case "nggallery" :
105
+ default :
106
+ include_once (dirname (__FILE__). '/overview.php'); // nggallery_admin_overview
107
+ nggallery_admin_overview();
108
+ break;
109
+ }
110
+
111
+ }
112
 
113
  /**************************************************************************/
114
 
admin/album.php CHANGED
@@ -6,8 +6,11 @@ global $wpdb;
6
 
7
  function nggallery_admin_manage_album() {
8
  global $wpdb;
9
-
10
  if ($_POST['update']){
 
 
 
11
  if ($_POST['newalbum']){
12
  $newablum = attribute_escape($_POST['newalbum']);
13
  $result = $wpdb->query(" INSERT INTO $wpdb->nggalbum (name, sortorder) VALUES ('$newablum','0')");
@@ -35,6 +38,7 @@ function nggallery_admin_manage_album() {
35
  }
36
 
37
  if ($_POST['delete']){
 
38
  $act_album = attribute_escape($_POST['act_album']);
39
  $result = $wpdb->query("DELETE FROM $wpdb->nggalbum WHERE id = '$act_album' ");
40
  if ($result) $messagetext = '<font color="green">'.__('Album deleted','nggallery').'</font>';
@@ -42,18 +46,16 @@ function nggallery_admin_manage_album() {
42
 
43
  // message windows
44
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
45
-
46
  ?>
47
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>css/nggallery.css";</style>
48
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>admin/js/portlets.css";</style>
49
  <script type="text/javascript">
50
 
 
51
  jQuery(document).ready(
52
  function()
53
  {
54
  //updating the height of the white backround box, it does not work without this stupid lines
55
- //problem: absolute positioning of the minimizing links in item_top does not work :(
56
- //position: absolute; right:5px; top:0px; border-bottom: 2px solid #003333; css lines of .groupItem .item_top a
57
  var hei = jQuery('.wrap').height();
58
  jQuery('.wrap').height(hei);
59
 
@@ -67,6 +69,27 @@ jQuery(document).ready(
67
  )
68
  jQuery('a.min').bind('click', toggleContent);
69
  jQuery('.textarea1').Autoexpand([230,400]);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
  }
71
  );
72
 
@@ -92,6 +115,7 @@ function ngg_serialize(s)
92
  <div class="wrap" id="wrap" >
93
  <h3><?php _e('Manage Albums', 'nggallery') ?></h3>
94
  <form id="selectalbum" method="POST" onsubmit="ngg_serialize('galleryContainer')" accept-charset="utf-8">
 
95
  <input name="sortorder" type="hidden" />
96
  <table width="100%" border="0" cellspacing="3" cellpadding="3" >
97
  <tr>
@@ -123,7 +147,14 @@ function ngg_serialize(s)
123
  </table>
124
 
125
  </form>
126
- <p><?php _e('After you create and select a album, you can drag and drop a gallery into your album below','nggallery'); ?></p>
 
 
 
 
 
 
 
127
  <br class="clear"/>
128
 
129
  <div class="container">
@@ -158,7 +189,7 @@ function ngg_serialize(s)
158
 
159
  <div id="galleryContainer" class="groupWrapper">
160
  <?php
161
- if ($_POST['act_album'] > 0){
162
  $act_album = $_POST['act_album'];
163
  $album = $wpdb->get_row("SELECT * FROM $wpdb->nggalbum WHERE id = '$act_album'");
164
  echo '<h3>'.__('Album Page ID', 'nggallery').' '.$album->id.' : '.$album->name.'</h3>'."\n";
@@ -181,9 +212,8 @@ function ngg_serialize(s)
181
  </div><!-- /#container -->
182
  </div><!-- /#wrap -->
183
 
184
- <?php
185
  }
186
-
187
  function getgallerycontainer($galleryid = 0) {
188
  global $wpdb;
189
 
@@ -192,8 +222,8 @@ function getgallerycontainer($galleryid = 0) {
192
  if ($gallery) {
193
 
194
  // set image url
195
- $act_thumbnail_url = get_option ('siteurl')."/".$gallery->path.ngg_get_thumbnail_folder($gallery->path, FALSE);
196
- $act_thumb_prefix = ngg_get_thumbnail_prefix($gallery->path, FALSE);
197
 
198
  $post= get_post($gallery->pageid);
199
  $pagename = $post->post_title;
6
 
7
  function nggallery_admin_manage_album() {
8
  global $wpdb;
9
+
10
  if ($_POST['update']){
11
+
12
+ check_admin_referer('ngg_album');
13
+
14
  if ($_POST['newalbum']){
15
  $newablum = attribute_escape($_POST['newalbum']);
16
  $result = $wpdb->query(" INSERT INTO $wpdb->nggalbum (name, sortorder) VALUES ('$newablum','0')");
38
  }
39
 
40
  if ($_POST['delete']){
41
+ check_admin_referer('ngg_addroles');
42
  $act_album = attribute_escape($_POST['act_album']);
43
  $result = $wpdb->query("DELETE FROM $wpdb->nggalbum WHERE id = '$act_album' ");
44
  if ($result) $messagetext = '<font color="green">'.__('Album deleted','nggallery').'</font>';
46
 
47
  // message windows
48
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
 
49
  ?>
50
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>css/nggallery.css";</style>
51
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>admin/js/portlets.css";</style>
52
  <script type="text/javascript">
53
 
54
+
55
  jQuery(document).ready(
56
  function()
57
  {
58
  //updating the height of the white backround box, it does not work without this stupid lines
 
 
59
  var hei = jQuery('.wrap').height();
60
  jQuery('.wrap').height(hei);
61
 
69
  )
70
  jQuery('a.min').bind('click', toggleContent);
71
  jQuery('.textarea1').Autoexpand([230,400]);
72
+
73
+ // Maximize All Portlets (whole site, no differentiation)
74
+ jQuery('a#all_max').click(function()
75
+ {
76
+ jQuery('div.itemContent:hidden').show();
77
+ return false;
78
+ }
79
+ );
80
+
81
+ // Minimize All Portlets (whole site, no differentiation)
82
+ jQuery('a#all_min').click(function()
83
+ {
84
+ jQuery('div.itemContent:visible').hide();
85
+ return false;
86
+ }
87
+ );
88
+ // Auto Minimize if more than 4 (whole site, no differentiation)
89
+ if(jQuery('a').length > 4)
90
+ {
91
+ jQuery('div.itemContent:visible').hide();
92
+ }
93
  }
94
  );
95
 
115
  <div class="wrap" id="wrap" >
116
  <h3><?php _e('Manage Albums', 'nggallery') ?></h3>
117
  <form id="selectalbum" method="POST" onsubmit="ngg_serialize('galleryContainer')" accept-charset="utf-8">
118
+ <?php wp_nonce_field('ngg_album') ?>
119
  <input name="sortorder" type="hidden" />
120
  <table width="100%" border="0" cellspacing="3" cellpadding="3" >
121
  <tr>
147
  </table>
148
 
149
  </form>
150
+ <p>
151
+ <div style="float:right;">
152
+ <a href="#" id="all_max"><?php _e('[Maximize]', 'nggallery') ?></a>
153
+ | <a href="#" id="all_min"><?php _e('[Minimize]', 'nggallery') ?></a>
154
+ </div>
155
+ <?php _e('After you create and select a album, you can drag and drop a gallery into your album below','nggallery'); ?>
156
+ </p>
157
+
158
  <br class="clear"/>
159
 
160
  <div class="container">
189
 
190
  <div id="galleryContainer" class="groupWrapper">
191
  <?php
192
+ if ($_POST['act_album'] > 0){
193
  $act_album = $_POST['act_album'];
194
  $album = $wpdb->get_row("SELECT * FROM $wpdb->nggalbum WHERE id = '$act_album'");
195
  echo '<h3>'.__('Album Page ID', 'nggallery').' '.$album->id.' : '.$album->name.'</h3>'."\n";
212
  </div><!-- /#container -->
213
  </div><!-- /#wrap -->
214
 
215
+ <?php
216
  }
 
217
  function getgallerycontainer($galleryid = 0) {
218
  global $wpdb;
219
 
222
  if ($gallery) {
223
 
224
  // set image url
225
+ $act_thumbnail_url = get_option ('siteurl')."/".$gallery->path.nggallery::get_thumbnail_folder($gallery->path, FALSE);
226
+ $act_thumb_prefix = nggallery::get_thumbnail_prefix($gallery->path, FALSE);
227
 
228
  $post= get_post($gallery->pageid);
229
  $pagename = $post->post_title;
admin/js/jquery.nextgen.js CHANGED
@@ -8,6 +8,7 @@
8
  * Built on top of the jQuery library
9
  * http://jquery.com
10
  *
 
11
  */
12
 
13
  (function($) {
@@ -157,9 +158,9 @@
157
  // create a new image
158
  var idx = offset + i;
159
  if (idx < this.options.imgarray.length ) {
160
- var imglink = $.A().attr({ href: this.options.galleryurl + this.options.imgarray[idx][0], title: this.options.imgarray[idx][0], rel: this.options.name });
161
  $(imglink).addClass("thickbox");
162
- var image = $.IMG().attr({ src: this.thumbpath + this.options.imgarray[idx][0], alt: this.options.imgarray[idx][0] , title: this.options.imgarray[idx][0] });
163
  $(imglink).append(image);
164
  // add the new image to the div container
165
  $(imagecontainer).append(imglink);
8
  * Built on top of the jQuery library
9
  * http://jquery.com
10
  *
11
+ * version 1.01 : Bugfix for title/alt name
12
  */
13
 
14
  (function($) {
158
  // create a new image
159
  var idx = offset + i;
160
  if (idx < this.options.imgarray.length ) {
161
+ var imglink = $.A().attr({ href: this.options.galleryurl + this.options.imgarray[idx][0], title: this.options.imgarray[idx][2], rel: this.options.name });
162
  $(imglink).addClass("thickbox");
163
+ var image = $.IMG().attr({ src: this.thumbpath + this.options.imgarray[idx][0], alt: this.options.imgarray[idx][1] , title: this.options.imgarray[idx][1] });
164
  $(imglink).append(image);
165
  // add the new image to the div container
166
  $(imagecontainer).append(imglink);
admin/js/jquery.nextgen.pack.js CHANGED
@@ -8,6 +8,8 @@
8
  * Built on top of the jQuery library
9
  * http://jquery.com
10
  *
 
 
11
  */
12
 
13
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.D.E=6(o){w 3.1e(6(){T m(3,o)})};4 l={5:T U(),M:\'8\',y:\'\',z:\'1f\',F:0};$.E=6(e,o){3.7=$.B({},l,o||{});3.N=C;3.8=$(e);4 o=3.7;3.V=o.5.r<o.F?o.5.r:o.F;3.N=3.8.9(\'<q G="t-H"></q>\').v();u(o.z==\'1g\')3.I=o.y+o.z+\'/\'+\'1h\';W 3.I=o.y+o.z+\'/\'+o.z+\'1i\';x(4 a=0;a<3.V;a++){4 b=$.A().J({X:o.y+o.5[a][0],K:o.5[a][2],Y:o.M});$(b).Z("10");4 c=$.11().J({12:3.I+o.5[a][0],13:o.5[a][1],K:o.5[a][1]});$(b).9(c);$.14(b);3.O=3.N.9(b).v()}3.O.15(\'<q G="t-8-P-1j"></q>\');3.O.15(\'<q G="t-8-P"></q>\');3.Q()};4 m=$.E;m.D=m.1k={E:\'0.0.1\'};m.D.B=m.B=$.B;m.D.B({Q:6(b,c){4 d=3;4 b=3.7.F;4 c=3.7.5.r;4 e=0;4 g=e+b-1;u(c>b){4 h=$.1l({L:"t-Q"});4 i=0,R=1;1m(i<c){4 j=$.1n({L:"R-1o"},$.16(R++));$(h).9(j);4 f=(6(a){w 6(){d.17(a)}})(i);$(j).1p(\'1q\',\'1r\');$(j).1s(f);i+=b}3.8.9(h)}3.8.9(\'<q 1t="1u:1v;"></q>\')},17:6(a){4 b=$(3.8.v(".t-H").v()).r;4 c=3.8.v(".t-H").v();x(4 i=0;i<b;i++){4 d=3.8.v(".t-H").1w(".t-8-P")[i];u(d!=C){$(d).1x();4 e=a+i;u(e<3.7.5.r){4 f=$.A().J({X:3.7.y+3.7.5[e][0],K:3.7.5[e][0],Y:3.7.M});$(f).Z("10");4 g=$.11().J({12:3.I+3.7.5[e][0],13:3.7.5[e][0],K:3.7.5[e][0]});$(f).9(g);$(d).9(f);$.14(f);$(c[i]).1y("1z")}}}}});$.18=6(a){$[a.1A()]=6(){w $.19(a,1B)}};(6(){4 a=[\'a\',\'1C\',\'1D\',\'1E\',\'q\',\'1F\',\'1G\',\'1H\',\'1I\',\'1J\',\'1K\',\'1L\',\'1M\',\'1N\',\'1O\',\'1P\',\'1Q\',\'1R\',\'1S\',\'p\',\'1T\',\'1U\',\'1V\',\'1W\',\'1X\',\'1Y\',\'1Z\',\'20\',\'21\',\'22\',\'23\',\'24\',\'25\',\'26\'];x(4 i=a.r-1;i>=0;i--){$.18(a[i])}})();$.27=\'\\28\';$.19=6(b,d){4 f={\'G\':\'L\',\'29\':\'L\'};4 e;2a{4 g=d[0]||{};e=S.2b(b);x(4 h 2c g){4 a=f[h]||h;e[a]=g[h]}x(4 i=1;i<d.r;i++){4 k=d[i];u(k==C)2d;u(k.1a!=U)9(k);W x(4 j=0;j<k.r;j++)9(k[j])}}2e(2f){2g(\'2h 2i <\'+b+\'> 2j:\\n\'+d.2k()+\'\\n\'+d);e=C}6 9(a){u(a==C)w;u(a.1b)a=a.1b(0);4 c=a.1a;2l(2m a){1c\'2n\':a=\'\'+a;1c\'2o\':a=S.1d(a)}e.2p(a)}w $(e)};$.16=6(s){w S.1d(s)}})(2q);',62,151,'|||this|var|imgarray|function|options|gallery|append|||||||||||||||||div|length||ngg|if|children|return|for|galleryurl|thumbfolder||extend|null|fn|nggallery|maxelement|class|galleryoverview|thumbpath|attr|title|className|name|container|pictures|thumbnail|navigation|page|document|new|Array|pagelimit|else|href|rel|addClass|thickbox|IMG|src|alt|tb_init|wrap|TEXT|show|defineTag|_createNode|constructor|get|case|createTextNode|each|thumbs|tumbs|tmb_|_|box|prototype|DIV|while|SPAN|numbers|css|cursor|pointer|click|style|clear|both|find|empty|fadeIn|normal|toUpperCase|arguments|br|button|canvas|fieldset|form|h1|h2|h3|hr|img|input|label|legend|li|ol|optgroup|option|pre|select|span|strong|table|tbody|td|textarea|tfoot|th|thead|tr|tt|ul|NBSP|u00a0|Class|try|createElement|in|continue|catch|ex|alert|Cannot|create|element|toSource|switch|typeof|number|string|appendChild|jQuery'.split('|'),0,{}))
8
  * Built on top of the jQuery library
9
  * http://jquery.com
10
  *
11
+ * version 1.01 : Bugfix for title/alt name
12
+ *
13
  */
14
 
15
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.D.E=6(o){w 3.1e(6(){T m(3,o)})};4 l={5:T U(),M:\'8\',y:\'\',z:\'1f\',F:0};$.E=6(e,o){3.7=$.B({},l,o||{});3.N=C;3.8=$(e);4 o=3.7;3.V=o.5.r<o.F?o.5.r:o.F;3.N=3.8.9(\'<q G="t-H"></q>\').v();u(o.z==\'1g\')3.I=o.y+o.z+\'/\'+\'1h\';W 3.I=o.y+o.z+\'/\'+o.z+\'1i\';x(4 a=0;a<3.V;a++){4 b=$.A().J({X:o.y+o.5[a][0],K:o.5[a][2],Y:o.M});$(b).Z("10");4 c=$.11().J({12:3.I+o.5[a][0],13:o.5[a][1],K:o.5[a][1]});$(b).9(c);$.14(b);3.O=3.N.9(b).v()}3.O.15(\'<q G="t-8-P-1j"></q>\');3.O.15(\'<q G="t-8-P"></q>\');3.Q()};4 m=$.E;m.D=m.1k={E:\'0.0.1\'};m.D.B=m.B=$.B;m.D.B({Q:6(b,c){4 d=3;4 b=3.7.F;4 c=3.7.5.r;4 e=0;4 g=e+b-1;u(c>b){4 h=$.1l({L:"t-Q"});4 i=0,R=1;1m(i<c){4 j=$.1n({L:"R-1o"},$.16(R++));$(h).9(j);4 f=(6(a){w 6(){d.17(a)}})(i);$(j).1p(\'1q\',\'1r\');$(j).1s(f);i+=b}3.8.9(h)}3.8.9(\'<q 1t="1u:1v;"></q>\')},17:6(a){4 b=$(3.8.v(".t-H").v()).r;4 c=3.8.v(".t-H").v();x(4 i=0;i<b;i++){4 d=3.8.v(".t-H").1w(".t-8-P")[i];u(d!=C){$(d).1x();4 e=a+i;u(e<3.7.5.r){4 f=$.A().J({X:3.7.y+3.7.5[e][0],K:3.7.5[e][2],Y:3.7.M});$(f).Z("10");4 g=$.11().J({12:3.I+3.7.5[e][0],13:3.7.5[e][1],K:3.7.5[e][1]});$(f).9(g);$(d).9(f);$.14(f);$(c[i]).1y("1z")}}}}});$.18=6(a){$[a.1A()]=6(){w $.19(a,1B)}};(6(){4 a=[\'a\',\'1C\',\'1D\',\'1E\',\'q\',\'1F\',\'1G\',\'1H\',\'1I\',\'1J\',\'1K\',\'1L\',\'1M\',\'1N\',\'1O\',\'1P\',\'1Q\',\'1R\',\'1S\',\'p\',\'1T\',\'1U\',\'1V\',\'1W\',\'1X\',\'1Y\',\'1Z\',\'20\',\'21\',\'22\',\'23\',\'24\',\'25\',\'26\'];x(4 i=a.r-1;i>=0;i--){$.18(a[i])}})();$.27=\'\\28\';$.19=6(b,d){4 f={\'G\':\'L\',\'29\':\'L\'};4 e;2a{4 g=d[0]||{};e=S.2b(b);x(4 h 2c g){4 a=f[h]||h;e[a]=g[h]}x(4 i=1;i<d.r;i++){4 k=d[i];u(k==C)2d;u(k.1a!=U)9(k);W x(4 j=0;j<k.r;j++)9(k[j])}}2e(2f){2g(\'2h 2i <\'+b+\'> 2j:\\n\'+d.2k()+\'\\n\'+d);e=C}6 9(a){u(a==C)w;u(a.1b)a=a.1b(0);4 c=a.1a;2l(2m a){1c\'2n\':a=\'\'+a;1c\'2o\':a=S.1d(a)}e.2p(a)}w $(e)};$.16=6(s){w S.1d(s)}})(2q);',62,151,'|||this|var|imgarray|function|options|gallery|append|||||||||||||||||div|length||ngg|if|children|return|for|galleryurl|thumbfolder||extend|null|fn|nggallery|maxelement|class|galleryoverview|thumbpath|attr|title|className|name|container|pictures|thumbnail|navigation|page|document|new|Array|pagelimit|else|href|rel|addClass|thickbox|IMG|src|alt|tb_init|wrap|TEXT|show|defineTag|_createNode|constructor|get|case|createTextNode|each|thumbs|tumbs|tmb_|_|box|prototype|DIV|while|SPAN|numbers|css|cursor|pointer|click|style|clear|both|find|empty|fadeIn|normal|toUpperCase|arguments|br|button|canvas|fieldset|form|h1|h2|h3|hr|img|input|label|legend|li|ol|optgroup|option|pre|select|span|strong|table|tbody|td|textarea|tfoot|th|thead|tr|tt|ul|NBSP|u00a0|Class|try|createElement|in|continue|catch|ex|alert|Cannot|create|element|toSource|switch|typeof|number|string|appendChild|jQuery'.split('|'),0,{}))
admin/js/jquery.tabs-ie.css ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Tabs - additional IE specific bug fixes
3
+
4
+ Recommended usage (Conditional Comments):
5
+ <!--[if lte IE 7]>
6
+ <link rel="stylesheet" href="tabs_ie.css" type="text/css" media="projection, screen" />
7
+ <![endif]-->
8
+
9
+ */
10
+ .tabs-nav { /* auto clear */
11
+ display: inline-block;
12
+ }
13
+ .tabs-nav .tabs-disabled a {
14
+ filter: alpha(opacity=40);
15
+ }
admin/js/jquery.tabs.css ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Caution! Ensure accessibility in print and other media types... */
2
+ @media projection, screen { /* Use class for showing/hiding tab content, so that visibility can be better controlled in different media types... */
3
+ .tabs-hide {
4
+ display: none;
5
+ }
6
+ }
7
+
8
+ /* Hide useless elements in print layouts... */
9
+ @media print {
10
+ .tabs-nav {
11
+ display: none;
12
+ }
13
+ }
14
+
15
+ /* Skin */
16
+ .tabs-nav {
17
+ list-style: none;
18
+ margin: 0;
19
+ padding: 0 0 0 4px;
20
+ }
21
+ .tabs-nav:after { /* clearing without presentational markup, IE gets extra treatment */
22
+ display: block;
23
+ clear: both;
24
+ content: " ";
25
+ }
26
+
27
+ .tabs-nav li {
28
+ float: left;
29
+ margin: 0px 2px 0px 1px !important;
30
+ background: #EEEEEE none repeat scroll 0%;
31
+ border-color: #CCCCCC;
32
+ border-style: solid solid none;
33
+ border-width: 1px 1px medium;
34
+ padding: 0px 1px;
35
+ text-decoration: none;
36
+ }
37
+
38
+ .tabs-nav a {
39
+ border: none;
40
+ display: block;
41
+ position: relative;
42
+ top: 1px;
43
+ z-index: 2;
44
+ padding: 6px 10px 0;
45
+ height: 18px;
46
+ color: #27537a;
47
+ font-weight: bold;
48
+ line-height: 1.2;
49
+ text-align: center;
50
+ text-decoration: none;
51
+ }
52
+
53
+ .tabs-nav .tabs-selected a {
54
+ background: #FFFFFF none repeat scroll 0%;
55
+ /* padding-top: 7px; */
56
+ color: #000;
57
+ }
58
+ .tabs-nav .tabs-selected a, .tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active {
59
+ background-position: 0 -50px;
60
+ outline: 0; /* @ Firefox, switch off dotted border */
61
+ }
62
+ .tabs-nav .tabs-disabled a:hover, .tabs-nav .tabs-disabled a:focus, .tabs-nav .tabs-disabled a:active {
63
+ background-position: 0 0;
64
+ }
65
+ .tabs-nav .tabs-selected a:link, .tabs-nav .tabs-selected a:visited,
66
+ .tabs-nav .tabs-disabled a:link, .tabs-nav .tabs-disabled a:visited { /* @ Opera, use pseudo classes otherwise it confuses cursor... */
67
+ cursor: text;
68
+ }
69
+ .tabs-nav a:hover, .tabs-nav a:focus, .tabs-nav a:active { /* @ Opera, we need to be explicit again here now... */
70
+ cursor: pointer !important;
71
+ }
72
+ .tabs-nav .tabs-disabled {
73
+ opacity: .4;
74
+ }
75
+ .tabs-container {
76
+ border-top: 1px solid #CCCCCC;
77
+ padding: 0px 8px;
78
+ background: #fff; /* declare background color for container to avoid distorted fonts in IE while fading */
79
+ }
80
+
81
+ .tabs-container h2{
82
+ padding-top: 15px;
83
+ }
admin/js/jquery.tabs.js ADDED
@@ -0,0 +1,605 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Tabs - jQuery plugin for accessible, unobtrusive tabs
3
+ * @requires jQuery v1.0.3
4
+ *
5
+ * http://stilbuero.de/tabs/
6
+ *
7
+ * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
8
+ * Dual licensed under the MIT and GPL licenses:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ * http://www.gnu.org/licenses/gpl.html
11
+ *
12
+ * Version: 2.7
13
+ */
14
+
15
+ (function($) { // block scope
16
+
17
+ $.extend({
18
+ tabs: {
19
+ remoteCount: 0 // TODO in Tabs 3 this is going to be more cleanly in one single namespace
20
+ }
21
+ });
22
+
23
+ /**
24
+ * Create an accessible, unobtrusive tab interface based on a particular HTML structure.
25
+ *
26
+ * The underlying HTML has to look like this:
27
+ *
28
+ * <div id="container">
29
+ * <ul>
30
+ * <li><a href="#fragment-1">Section 1</a></li>
31
+ * <li><a href="#fragment-2">Section 2</a></li>
32
+ * <li><a href="#fragment-3">Section 3</a></li>
33
+ * </ul>
34
+ * <div id="fragment-1">
35
+ *
36
+ * </div>
37
+ * <div id="fragment-2">
38
+ *
39
+ * </div>
40
+ * <div id="fragment-3">
41
+ *
42
+ * </div>
43
+ * </div>
44
+ *
45
+ * Each anchor in the unordered list points directly to a section below represented by one of the
46
+ * divs (the URI in the anchor's href attribute refers to the fragment with the corresponding id).
47
+ * Because such HTML structure is fully functional on its own, e.g. without JavaScript, the tab
48
+ * interface is accessible and unobtrusive.
49
+ *
50
+ * A tab is also bookmarkable via hash in the URL. Use the History/Remote plugin (Tabs will
51
+ * auto-detect its presence) to fix the back (and forward) button.
52
+ *
53
+ * @example $('#container').tabs();
54
+ * @desc Create a basic tab interface.
55
+ * @example $('#container').tabs(2);
56
+ * @desc Create a basic tab interface with the second tab initially activated.
57
+ * @example $('#container').tabs({disabled: [3, 4]});
58
+ * @desc Create a tab interface with the third and fourth tab being disabled.
59
+ * @example $('#container').tabs({fxSlide: true});
60
+ * @desc Create a tab interface that uses slide down/up animations for showing/hiding tab
61
+ * content upon tab switching.
62
+ *
63
+ * @param Number initial An integer specifying the position of the tab (no zero-based index) that
64
+ * gets activated at first (on page load). Two alternative ways to specify
65
+ * the active tab will overrule this argument. First a li element
66
+ * (representing one single tab) belonging to the selected tab class, e.g.
67
+ * set the selected tab class (default: "tabs-selected", see option
68
+ * selectedClass) for one of the unordered li elements in the HTML source.
69
+ * In addition if a fragment identifier/hash in the URL of the page refers
70
+ * to the id of a tab container of a tab interface the corresponding tab will
71
+ * be activated and both the initial argument as well as an eventually
72
+ * declared class attribute will be overruled. Defaults to 1 if omitted.
73
+ * @param Object settings An object literal containing key/value pairs to provide optional settings.
74
+ * @option Array<Number> disabled An array containing the position of the tabs (no zero-based index)
75
+ * that should be disabled on initialization. Default value: null.
76
+ * A tab can also be disabled by simply adding the disabling class
77
+ * (default: "tabs-disabled", see option disabledClass) to the li
78
+ * element representing that particular tab.
79
+ * @option Boolean bookmarkable Boolean flag indicating if support for bookmarking and history (via
80
+ * changing hash in the URL of the browser) is enabled. Default value:
81
+ * false, unless the History/Remote plugin is included. In that case the
82
+ * default value becomes true. @see $.ajaxHistory.initialize
83
+ * @option Boolean remote Boolean flag indicating that tab content has to be loaded remotely from
84
+ * the url given in the href attribute of the tab menu anchor elements.
85
+ * @option String hashPrefix A String that is used for constructing the hash the link's href attribute
86
+ * of a remote tab gets altered to, such as "#remote-1".
87
+ * Default value: "remote-tab-".
88
+ * @option Boolean fxFade Boolean flag indicating whether fade in/out animations are used for tab
89
+ * switching. Can be combined with fxSlide. Will overrule fxShow/fxHide.
90
+ * Default value: false.
91
+ * @option Boolean fxSlide Boolean flag indicating whether slide down/up animations are used for tab
92
+ * switching. Can be combined with fxFade. Will overrule fxShow/fxHide.
93
+ * Default value: false.
94
+ * @option String|Number fxSpeed A string representing one of the three predefined speeds ("slow",
95
+ * "normal", or "fast") or the number of milliseconds (e.g. 1000) to
96
+ * run an animation. Default value: "normal".
97
+ * @option Object fxShow An object literal of the form jQuery's animate function expects for making
98
+ * your own, custom animation to reveal a tab upon tab switch. Unlike fxFade
99
+ * or fxSlide this animation is independent from an optional hide animation.
100
+ * Default value: null. @see animate
101
+ * @option Object fxHide An object literal of the form jQuery's animate function expects for making
102
+ * your own, custom animation to hide a tab upon tab switch. Unlike fxFade
103
+ * or fxSlide this animation is independent from an optional show animation.
104
+ * Default value: null. @see animate
105
+ * @option String|Number fxShowSpeed A string representing one of the three predefined speeds
106
+ * ("slow", "normal", or "fast") or the number of milliseconds
107
+ * (e.g. 1000) to run the animation specified in fxShow.
108
+ * Default value: fxSpeed.
109
+ * @option String|Number fxHideSpeed A string representing one of the three predefined speeds
110
+ * ("slow", "normal", or "fast") or the number of milliseconds
111
+ * (e.g. 1000) to run the animation specified in fxHide.
112
+ * Default value: fxSpeed.
113
+ * @option Boolean fxAutoHeight Boolean flag that if set to true causes all tab heights
114
+ * to be constant (being the height of the tallest tab).
115
+ * Default value: false.
116
+ * @option Function onClick A function to be invoked upon tab switch, immediatly after a tab has
117
+ * been clicked, e.g. before the other's tab content gets hidden. The
118
+ * function gets passed three arguments: the first one is the clicked
119
+ * tab (e.g. an anchor element), the second one is the DOM element
120
+ * containing the content of the clicked tab (e.g. the div), the third
121
+ * argument is the one of the tab that gets hidden. If this callback
122
+ * returns false, the tab switch is canceled (use to disallow tab
123
+ * switching for the reason of a failed form validation for example).
124
+ * Default value: null.
125
+ * @option Function onHide A function to be invoked upon tab switch, immediatly after one tab's
126
+ * content got hidden (with or without an animation) and right before the
127
+ * next tab is revealed. The function gets passed three arguments: the
128
+ * first one is the clicked tab (e.g. an anchor element), the second one
129
+ * is the DOM element containing the content of the clicked tab, (e.g. the
130
+ * div), the third argument is the one of the tab that gets hidden.
131
+ * Default value: null.
132
+ * @option Function onShow A function to be invoked upon tab switch. This function is invoked
133
+ * after the new tab has been revealed, e.g. after the switch is completed.
134
+ * The function gets passed three arguments: the first one is the clicked
135
+ * tab (e.g. an anchor element), the second one is the DOM element
136
+ * containing the content of the clicked tab, (e.g. the div), the third
137
+ * argument is the one of the tab that gets hidden. Default value: null.
138
+ * @option String navClass A CSS class that is used to identify the tabs unordered list by class if
139
+ * the required HTML structure differs from the default one.
140
+ * Default value: "tabs-nav".
141
+ * @option String selectedClass The CSS class attached to the li element representing the
142
+ * currently selected (active) tab. Default value: "tabs-selected".
143
+ * @option String disabledClass The CSS class attached to the li element representing a disabled
144
+ * tab. Default value: "tabs-disabled".
145
+ * @option String containerClass A CSS class that is used to identify tab containers by class if
146
+ * the required HTML structure differs from the default one.
147
+ * Default value: "tabs-container".
148
+ * @option String hideClass The CSS class used for hiding inactive tabs. A class is used instead
149
+ * of "display: none" in the style attribute to maintain control over
150
+ * visibility in other media types than screen, most notably print.
151
+ * Default value: "tabs-hide".
152
+ * @option String loadingClass The CSS class used for indicating that an Ajax tab is currently
153
+ * loading, for example by showing a spinner.
154
+ * Default value: "tabs-loading".
155
+ * @option String tabStruct @deprecated A CSS selector or basic XPath expression reflecting a
156
+ * nested HTML structure that is different from the default single div
157
+ * structure (one div with an id inside the overall container holds one
158
+ * tab's content). If for instance an additional div is required to wrap
159
+ * up the several tab containers such a structure is expressed by "div>div".
160
+ * Default value: "div".
161
+ * @type jQuery
162
+ *
163
+ * @name tabs
164
+ * @cat Plugins/Tabs
165
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
166
+ */
167
+ $.fn.tabs = function(initial, settings) {
168
+
169
+ // settings
170
+ if (typeof initial == 'object') settings = initial; // no initial tab given but a settings object
171
+ settings = $.extend({
172
+ initial: (initial && typeof initial == 'number' && initial > 0) ? --initial : 0,
173
+ disabled: null,
174
+ bookmarkable: $.ajaxHistory ? true : false,
175
+ remote: false,
176
+ hashPrefix: 'remote-tab-',
177
+ fxFade: null,
178
+ fxSlide: null,
179
+ fxShow: null,
180
+ fxHide: null,
181
+ fxSpeed: 'normal',
182
+ fxShowSpeed: null,
183
+ fxHideSpeed: null,
184
+ fxAutoHeight: false,
185
+ onClick: null,
186
+ onHide: null,
187
+ onShow: null,
188
+ navClass: 'tabs-nav',
189
+ selectedClass: 'tabs-selected',
190
+ disabledClass: 'tabs-disabled',
191
+ containerClass: 'tabs-container',
192
+ hideClass: 'tabs-hide',
193
+ loadingClass: 'tabs-loading',
194
+ tabStruct: 'div'
195
+ }, settings || {});
196
+
197
+ $.browser.msie6 = $.browser.msie6 || $.browser.msie && typeof XMLHttpRequest == 'function';
198
+
199
+ // helper to prevent scroll to fragment
200
+ function unFocus() {
201
+ scrollTo(0, 0);
202
+ }
203
+
204
+ // initialize tabs
205
+ return this.each(function() {
206
+
207
+ // remember wrapper for later
208
+ var container = this;
209
+
210
+ // setup nav
211
+ var nav = $('ul.' + settings.navClass, container);
212
+ nav = nav.size() && nav || $('>ul:eq(0)', container); // fallback to default structure
213
+ var tabs = $('a', nav);
214
+
215
+ // prepare remote tabs
216
+ if (settings.remote) {
217
+ var remoteUrls = {};
218
+ tabs.each(function() {
219
+ $(this).html('<span>' + $(this).html() + '</span>');
220
+ var id = settings.hashPrefix + (++$.tabs.remoteCount);
221
+ var hash = '#' + id;
222
+ remoteUrls[hash] = this.href;
223
+ this.href = hash;
224
+ $('<div id="' + id + '" class="' + settings.containerClass + '"></div>').appendTo(container);
225
+ });
226
+ }
227
+
228
+ // set up containers
229
+ var containers = $('div.' + settings.containerClass, container);
230
+ containers = containers.size() && containers || $('>' + settings.tabStruct, container); // fallback to default structure
231
+
232
+ // attach classes for styling if not present
233
+ nav.is('.' + settings.navClass) || nav.addClass(settings.navClass);
234
+ containers.each(function() {
235
+ var $$ = $(this);
236
+ $$.is('.' + settings.containerClass) || $$.addClass(settings.containerClass);
237
+ });
238
+
239
+ // try to retrieve active tab from class in HTML
240
+ var hasSelectedClass = $('li', nav).index( $('li.' + settings.selectedClass, nav)[0] );
241
+ if (hasSelectedClass >= 0) {
242
+ settings.initial = hasSelectedClass;
243
+ }
244
+
245
+ // try to retrieve active tab from hash in url, will override class in HTML
246
+ if (location.hash) {
247
+ tabs.each(function(i) {
248
+ if (this.hash == location.hash) {
249
+ settings.initial = i;
250
+ // prevent page scroll to fragment
251
+ if (($.browser.msie || $.browser.opera) && !settings.remote) {
252
+ var toShow = $(location.hash);
253
+ var toShowId = toShow.attr('id');
254
+ toShow.attr('id', '');
255
+ setTimeout(function() {
256
+ toShow.attr('id', toShowId); // restore id
257
+ }, 500);
258
+ }
259
+ unFocus();
260
+ return false; // break
261
+ }
262
+ });
263
+ }
264
+ if ($.browser.msie) {
265
+ unFocus(); // fix IE focussing bottom of the page for some unknown reason
266
+ }
267
+
268
+ // highlight tab accordingly
269
+ containers.filter(':eq(' + settings.initial + ')').show().end().not(':eq(' + settings.initial + ')').addClass(settings.hideClass);
270
+ if (!settings.remote) {
271
+ $('li', nav).removeClass(settings.selectedClass).eq(settings.initial).addClass(settings.selectedClass); // we need to remove classes eventually if hash takes precedence over class
272
+ }
273
+
274
+ // setup auto height
275
+ if (settings.fxAutoHeight) {
276
+ // helper
277
+ var _setAutoHeight = function(reset) {
278
+ // get tab heights in top to bottom ordered array
279
+ var heights = $.map(containers.get(), function(el) {
280
+ var h, jq = $(el);
281
+ if (reset) {
282
+ if ($.browser.msie6) {
283
+ el.style.removeExpression('behaviour');
284
+ el.style.height = '';
285
+ el.minHeight = null;
286
+ }
287
+ h = jq.css({'min-height': ''}).height(); // use jQuery's height() to get hidden element values
288
+ } else {
289
+ h = jq.height(); // use jQuery's height() to get hidden element values
290
+ }
291
+ return h;
292
+ }).sort(function(a, b) {
293
+ return b - a;
294
+ });
295
+ if ($.browser.msie6) {
296
+ containers.each(function() {
297
+ this.minHeight = heights[0] + 'px';
298
+ this.style.setExpression('behaviour', 'this.style.height = this.minHeight ? this.minHeight : "1px"'); // using an expression to not make print styles useless
299
+ });
300
+ } else {
301
+ containers.css({'min-height': heights[0] + 'px'});
302
+ }
303
+ };
304
+ // call once for initialization
305
+ _setAutoHeight();
306
+ // trigger auto height adjustment if needed
307
+ var cachedWidth = container.offsetWidth;
308
+ var cachedHeight = container.offsetHeight;
309
+ var watchFontSize = $('#tabs-watch-font-size').get(0) || $('<span id="tabs-watch-font-size">M</span>').css({display: 'block', position: 'absolute', visibility: 'hidden'}).appendTo(document.body).get(0);
310
+ var cachedFontSize = watchFontSize.offsetHeight;
311
+ setInterval(function() {
312
+ var currentWidth = container.offsetWidth;
313
+ var currentHeight = container.offsetHeight;
314
+ var currentFontSize = watchFontSize.offsetHeight;
315
+ if (currentHeight > cachedHeight || currentWidth != cachedWidth || currentFontSize != cachedFontSize) {
316
+ _setAutoHeight((currentWidth > cachedWidth || currentFontSize < cachedFontSize)); // if heights gets smaller reset min-height
317
+ cachedWidth = currentWidth;
318
+ cachedHeight = currentHeight;
319
+ cachedFontSize = currentFontSize;
320
+ }
321
+ }, 50);
322
+ }
323
+
324
+ // setup animations
325
+ var showAnim = {}, hideAnim = {}, showSpeed = settings.fxShowSpeed || settings.fxSpeed, hideSpeed = settings.fxHideSpeed || settings.fxSpeed;
326
+ if (settings.fxSlide || settings.fxFade) {
327
+ if (settings.fxSlide) {
328
+ showAnim['height'] = 'show';
329
+ hideAnim['height'] = 'hide';
330
+ }
331
+ if (settings.fxFade) {
332
+ showAnim['opacity'] = 'show';
333
+ hideAnim['opacity'] = 'hide';
334
+ }
335
+ } else {
336
+ if (settings.fxShow) {
337
+ showAnim = settings.fxShow;
338
+ } else { // use some kind of animation to prevent browser scrolling to the tab
339
+ showAnim['min-width'] = 0; // avoid opacity, causes flicker in Firefox
340
+ showSpeed = settings.bookmarkable ? 50 : 1; // as little as 50 is sufficient
341
+ }
342
+ if (settings.fxHide) {
343
+ hideAnim = settings.fxHide;
344
+ } else { // use some kind of animation to prevent browser scrolling to the tab
345
+ hideAnim['min-width'] = 0; // avoid opacity, causes flicker in Firefox
346
+ hideSpeed = settings.bookmarkable ? 50 : 1; // as little as 50 is sufficient
347
+ }
348
+ }
349
+
350
+ // callbacks
351
+ var onClick = settings.onClick, onHide = settings.onHide, onShow = settings.onShow;
352
+
353
+ // attach activateTab event, required for activating a tab programmatically
354
+ tabs.bind('triggerTab', function() {
355
+
356
+ // if the tab is already selected or disabled or animation is still running stop here
357
+ var li = $(this).parents('li:eq(0)');
358
+ if (container.locked || li.is('.' + settings.selectedClass) || li.is('.' + settings.disabledClass)) {
359
+ return false;
360
+ }
361
+
362
+ var hash = this.hash;
363
+
364
+ if ($.browser.msie) {
365
+
366
+ $(this).trigger('click');
367
+ if (settings.bookmarkable) {
368
+ $.ajaxHistory.update(hash);
369
+ location.hash = hash.replace('#', '');
370
+ }
371
+
372
+ } else if ($.browser.safari) {
373
+
374
+ // Simply setting location.hash puts Safari into the eternal load state... ugh! Submit a form instead.
375
+ var tempForm = $('<form action="' + hash + '"><div><input type="submit" value="h" /></div></form>').get(0); // no need to append it to the body
376
+ tempForm.submit(); // does not trigger the form's submit event...
377
+ $(this).trigger('click'); // ...thus do stuff here
378
+ if (settings.bookmarkable) {
379
+ $.ajaxHistory.update(hash);
380
+ }
381
+
382
+ } else {
383
+
384
+ if (settings.bookmarkable) {
385
+ location.hash = hash.replace('#', '');
386
+ } else {
387
+ $(this).trigger('click');
388
+ }
389
+
390
+ }
391
+
392
+ });
393
+
394
+ // attach disable event, required for disabling a tab
395
+ tabs.bind('disableTab', function() {
396
+ var li = $(this).parents('li:eq(0)');
397
+ if ($.browser.safari) { /* Fix opacity tab after disabling in Safari... */
398
+ li.animate({ opacity: 0 }, 1, function() {
399
+ li.css({opacity: ''});
400
+ });
401
+ }
402
+ li.addClass(settings.disabledClass);
403
+
404
+ });
405
+
406
+ // disabled from settings
407
+ if (settings.disabled && settings.disabled.length) {
408
+ for (var i = 0, k = settings.disabled.length; i < k; i++) {
409
+ tabs.eq(--settings.disabled[i]).trigger('disableTab').end();
410
+ }
411
+ };
412
+
413
+ // attach enable event, required for reenabling a tab
414
+ tabs.bind('enableTab', function() {
415
+ var li = $(this).parents('li:eq(0)');
416
+ li.removeClass(settings.disabledClass);
417
+ if ($.browser.safari) { /* Fix disappearing tab after enabling in Safari... */
418
+ li.animate({ opacity: 1 }, 1, function() {
419
+ li.css({opacity: ''});
420
+ });
421
+ }
422
+ });
423
+
424
+ // attach click event
425
+ tabs.bind('click', function(e) {
426
+
427
+ var trueClick = e.clientX; // add to history only if true click occured, not a triggered click
428
+ var clicked = this, li = $(this).parents('li:eq(0)'), toShow = $(this.hash), toHide = containers.filter(':visible');
429
+
430
+ // if onClick returns false, the tab is already selected or disabled or animation is still running stop here
431
+ if ((typeof onClick == 'function' && onClick(this, toShow[0], toHide[0]) == false && trueClick) ||
432
+ container.locked || li.is('.' + settings.selectedClass) || li.is('.' + settings.disabledClass)) {
433
+ this.blur();
434
+ return false;
435
+ }
436
+
437
+ container['locked'] = true;
438
+
439
+ // show new tab
440
+ if (toShow.size()) {
441
+
442
+ // prevent scrollbar scrolling to 0 and than back in IE7, happens only if bookmarking/history is enabled
443
+ if ($.browser.msie && settings.bookmarkable) {
444
+ var toShowId = this.hash.replace('#', '');
445
+ toShow.attr('id', '');
446
+ setTimeout(function() {
447
+ toShow.attr('id', toShowId); // restore id
448
+ }, 0);
449
+ }
450
+
451
+ // switch tab, animation prevents browser scrolling to the fragment
452
+ function switchTab() {
453
+ if (settings.bookmarkable && trueClick) { // add to history only if true click occured, not a triggered click
454
+ $.ajaxHistory.update(clicked.hash);
455
+ }
456
+ toHide.animate(hideAnim, hideSpeed, function() { //
457
+ $(clicked).parents('li:eq(0)').addClass(settings.selectedClass).siblings().removeClass(settings.selectedClass);
458
+ if (typeof onHide == 'function') {
459
+ onHide(clicked, toShow[0], toHide[0]);
460
+ }
461
+ toHide.addClass(settings.hideClass).css({display: '', overflow: '', height: '', opacity: ''}); // maintain flexible height and accessibility in print etc.
462
+ toShow.removeClass(settings.hideClass).animate(showAnim, showSpeed, function() {
463
+ toShow.css({overflow: '', height: '', opacity: ''}); // maintain flexible height and accessibility in print etc.
464
+ if ($.browser.msie) {
465
+ toHide[0].style.filter = '';
466
+ toShow[0].style.filter = '';
467
+ }
468
+ if (typeof onShow == 'function') {
469
+ onShow(clicked, toShow[0], toHide[0]);
470
+ }
471
+ container.locked = null;
472
+ });
473
+ });
474
+ }
475
+
476
+ if (!settings.remote) {
477
+ switchTab();
478
+ } else {
479
+ var $$ = $(this), span = $('span', this)[0], text = span.innerHTML;
480
+ $$.addClass(settings.loadingClass);
481
+ span.innerHTML = 'Loading&#8230;'; // CAUTION: html(...) crashes Safari with jQuery 1.1.2
482
+ setTimeout(function() { // Timeout is again required in IE, "wait" for id being restored
483
+ $(clicked.hash).load(remoteUrls[clicked.hash], function() {
484
+ switchTab();
485
+ span.innerHTML = text; // CAUTION: html(...) crashes Safari with jQuery 1.1.2
486
+ $$.removeClass(settings.loadingClass);
487
+ });
488
+ }, 0);
489
+ }
490
+
491
+ } else {
492
+ alert('There is no such container.');
493
+ }
494
+
495
+ // Set scrollbar to saved position - need to use timeout with 0 to prevent browser scroll to target of hash
496
+ var scrollX = window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft || 0;
497
+ var scrollY = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop || 0;
498
+ setTimeout(function() {
499
+ window.scrollTo(scrollX, scrollY);
500
+ }, 0);
501
+
502
+ this.blur(); // prevent IE from keeping other link focussed when using the back button
503
+
504
+ return settings.bookmarkable && !!trueClick; // convert undefined to Boolean for IE
505
+
506
+ });
507
+
508
+ // trigger load of initial Ajax tab
509
+ if (settings.remote) {
510
+ tabs.eq(settings.initial).trigger('click').end();
511
+ }
512
+
513
+ // enable history support if bookmarking and history is turned on
514
+ if (settings.bookmarkable) {
515
+ $.ajaxHistory.initialize(function() {
516
+ tabs.eq(settings.initial).trigger('click').end();
517
+ });
518
+ }
519
+
520
+ });
521
+
522
+ };
523
+
524
+ /**
525
+ * Activate a tab programmatically with the given position (no zero-based index)
526
+ * or its id, e.g. the URL's fragment identifier/hash representing a tab, as if the tab
527
+ * itself were clicked.
528
+ *
529
+ * @example $('#container').triggerTab(2);
530
+ * @desc Activate the second tab of the tab interface contained in <div id="container">.
531
+ * @example $('#container').triggerTab(1);
532
+ * @desc Activate the first tab of the tab interface contained in <div id="container">.
533
+ * @example $('#container').triggerTab();
534
+ * @desc Activate the first tab of the tab interface contained in <div id="container">.
535
+ * @example $('#container').triggerTab('fragment-2');
536
+ * @desc Activate a tab via its URL fragment identifier representation.
537
+ *
538
+ * @param String|Number tab Either a string that matches the id of the tab (the URL's
539
+ * fragment identifier/hash representing a tab) or an integer
540
+ * specifying the position of the tab (no zero-based index) to
541
+ * be activated. If this parameter is omitted, the first tab
542
+ * will be activated.
543
+ * @type jQuery
544
+ *
545
+ * @name triggerTab
546
+ * @cat Plugins/Tabs
547
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
548
+ */
549
+
550
+ /**
551
+ * Disable a tab, so that clicking it has no effect.
552
+ *
553
+ * @example $('#container').disableTab(2);
554
+ * @desc Disable the second tab of the tab interface contained in <div id="container">.
555
+ *
556
+ * @param String|Number tab Either a string that matches the id of the tab (the URL's
557
+ * fragment identifier/hash representing a tab) or an integer
558
+ * specifying the position of the tab (no zero-based index) to
559
+ * be disabled. If this parameter is omitted, the first tab
560
+ * will be disabled.
561
+ * @type jQuery
562
+ *
563
+ * @name disableTab
564
+ * @cat Plugins/Tabs
565
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
566
+ */
567
+
568
+ /**
569
+ * Enable a tab that has been disabled.
570
+ *
571
+ * @example $('#container').enableTab(2);
572
+ * @desc Enable the second tab of the tab interface contained in <div id="container">.
573
+ *
574
+ * @param String|Number tab Either a string that matches the id of the tab (the URL's
575
+ * fragment identifier/hash representing a tab) or an integer
576
+ * specifying the position of the tab (no zero-based index) to
577
+ * be enabled. If this parameter is omitted, the first tab
578
+ * will be enabled.
579
+ * @type jQuery
580
+ *
581
+ * @name enableTab
582
+ * @cat Plugins/Tabs
583
+ * @author Klaus Hartl/klaus.hartl@stilbuero.de
584
+ */
585
+
586
+ var tabEvents = ['triggerTab', 'disableTab', 'enableTab'];
587
+ for (var i = 0; i < tabEvents.length; i++) {
588
+ $.fn[tabEvents[i]] = (function(tabEvent) {
589
+ return function(tab) {
590
+ return this.each(function() {
591
+ var nav = $('ul.tabs-nav' , this);
592
+ nav = nav.size() && nav || $('>ul:eq(0)', this); // fallback to default structure
593
+ var a;
594
+ if (!tab || typeof tab == 'number') {
595
+ a = $('li a', nav).eq((tab && tab > 0 && tab - 1 || 0)); // fall back to 0
596
+ } else if (typeof tab == 'string') {
597
+ a = $('li a[@href$="#' + tab + '"]', nav);
598
+ }
599
+ a.trigger(tabEvent);
600
+ });
601
+ };
602
+ })(tabEvents[i]);
603
+ }
604
+
605
+ })(jQuery);
admin/js/jquery.tabs.pack.js ADDED
@@ -0,0 +1 @@
 
1
+ eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(5($){$.2c({8:{2q:0}});$.1Z.8=5(f,2){3(x f==\'2D\')2=f;2=$.2c({f:(f&&x f==\'2l\'&&f>0)?--f:0,H:m,p:$.11?21:G,C:G,24:\'C-t-\',1R:m,1K:m,1O:m,1P:m,1D:\'34\',2n:m,2o:m,2e:G,10:m,T:m,X:m,1j:\'8-c\',y:\'8-2E\',U:\'8-H\',R:\'8-d\',14:\'8-1N\',1p:\'8-2G\',26:\'J\'},2||{});$.g.1d=$.g.1d||$.g.I&&x 2H==\'5\';5 1G(){25(0,0)}u 6.Q(5(){4 d=6;4 c=$(\'1e.\'+2.1j,d);c=c.L()&&c||$(\'>1e:l(0)\',d);4 8=$(\'a\',c);3(2.C){4 1J={};8.Q(5(){$(6).1Y(\'<s>\'+$(6).1Y()+\'</s>\');4 q=2.24+(++$.8.2q);4 9=\'#\'+q;1J[9]=6.1C;6.1C=9;$(\'<J q="\'+q+\'" 2I="\'+2.R+\'"></J>\').2i(d)})}4 r=$(\'J.\'+2.R,d);r=r.L()&&r||$(\'>\'+2.26,d);c.z(\'.\'+2.1j)||c.v(2.1j);r.Q(5(){4 $$=$(6);$$.z(\'.\'+2.R)||$$.v(2.R)});4 1B=$(\'7\',c).2J($(\'7.\'+2.y,c)[0]);3(1B>=0){2.f=1B}3(S.9){8.Q(5(i){3(6.9==S.9){2.f=i;3(($.g.I||$.g.2K)&&!2.C){4 j=$(S.9);4 1a=j.V(\'q\');j.V(\'q\',\'\');17(5(){j.V(\'q\',1a)},2M)}1G();u G}})}3($.g.I){1G()}r.1b(\':l(\'+2.f+\')\').1L().1h().2N(\':l(\'+2.f+\')\').v(2.14);3(!2.C){$(\'7\',c).Y(2.y).l(2.f).v(2.y)}3(2.2e){4 1F=5(29){4 1x=$.2O(r.18(),5(W){4 h,1z=$(W);3(29){3($.g.1d){W.N.2P(\'2d\');W.N.o=\'\';W.1i=m}h=1z.A({\'1n-o\':\'\'}).o()}n{h=1z.o()}u h}).2Q(5(a,b){u b-a});3($.g.1d){r.Q(5(){6.1i=1x[0]+\'2f\';6.N.2R(\'2d\',\'6.N.o = 6.1i ? 6.1i : "2S"\')})}n{r.A({\'1n-o\':1x[0]+\'2f\'})}};1F();4 1f=d.2k;4 1H=d.13;4 1E=$(\'#8-2g-2h-L\').18(0)||$(\'<s q="8-2g-2h-L">M</s>\').A({2j:\'2T\',2U:\'2V\',2W:\'2X\'}).2i(D.1u).18(0);4 1l=1E.13;2Y(5(){4 1k=d.2k;4 1I=d.13;4 1m=1E.13;3(1I>1H||1k!=1f||1m!=1l){1F((1k>1f||1m<1l));1f=1k;1H=1I;1l=1m}},1y)}4 P={},K={},1A=2.2n||2.1D,1v=2.2o||2.1D;3(2.1K||2.1R){3(2.1K){P[\'o\']=\'1L\';K[\'o\']=\'1N\'}3(2.1R){P[\'w\']=\'1L\';K[\'w\']=\'1N\'}}n{3(2.1O){P=2.1O}n{P[\'1n-1S\']=0;1A=2.p?1y:1}3(2.1P){K=2.1P}n{K[\'1n-1S\']=0;1v=2.p?1y:1}}4 10=2.10,T=2.T,X=2.X;8.15(\'2p\',5(){4 7=$(6).Z(\'7:l(0)\');3(d.12||7.z(\'.\'+2.y)||7.z(\'.\'+2.U)){u G}4 9=6.9;3($.g.I){$(6).E(\'O\');3(2.p){$.11.1t(9);S.9=9.1s(\'#\',\'\')}}n 3($.g.1r){4 1W=$(\'<22 2r="\'+9+\'"><J><2s 2t="1X" 2u="h" /></J></22>\').18(0);1W.1X();$(6).E(\'O\');3(2.p){$.11.1t(9)}}n{3(2.p){S.9=9.1s(\'#\',\'\')}n{$(6).E(\'O\')}}});8.15(\'1o\',5(){4 7=$(6).Z(\'7:l(0)\');3($.g.1r){7.1c({w:0},1,5(){7.A({w:\'\'})})}7.v(2.U)});3(2.H&&2.H.1q){1V(4 i=0,k=2.H.1q;i<k;i++){8.l(--2.H[i]).E(\'1o\').1h()}};8.15(\'1U\',5(){4 7=$(6).Z(\'7:l(0)\');7.Y(2.U);3($.g.1r){7.1c({w:1},1,5(){7.A({w:\'\'})})}});8.15(\'O\',5(e){4 1g=e.2z;4 F=6,7=$(6).Z(\'7:l(0)\'),j=$(6.9),B=r.1b(\':2B\');3((x 10==\'5\'&&10(6,j[0],B[0])==G&&1g)||d.12||7.z(\'.\'+2.y)||7.z(\'.\'+2.U)){6.2a();u G}d[\'12\']=21;3(j.L()){3($.g.I&&2.p){4 1a=6.9.1s(\'#\',\'\');j.V(\'q\',\'\');17(5(){j.V(\'q\',1a)},0)}5 1M(){3(2.p&&1g){$.11.1t(F.9)}B.1c(K,1v,5(){$(F).Z(\'7:l(0)\').v(2.y).2F().Y(2.y);3(x T==\'5\'){T(F,j[0],B[0])}B.v(2.14).A({2j:\'\',2b:\'\',o:\'\',w:\'\'});j.Y(2.14).1c(P,1A,5(){j.A({2b:\'\',o:\'\',w:\'\'});3($.g.I){B[0].N.1b=\'\';j[0].N.1b=\'\'}3(x X==\'5\'){X(F,j[0],B[0])}d.12=m})})}3(!2.C){1M()}n{4 $$=$(6),s=$(\'s\',6)[0],1T=s.1Q;$$.v(2.1p);s.1Q=\'30&#32;\';17(5(){$(F.9).33(1J[F.9],5(){1M();s.1Q=1T;$$.Y(2.1p)})},0)}}n{2v(\'2w z 2x 2y d.\')}4 27=1w.2A||D.19&&D.19.20||D.1u.20||0;4 28=1w.2C||D.19&&D.19.23||D.1u.23||0;17(5(){1w.25(27,28)},0);6.2a();u 2.p&&!!1g});3(2.C){8.l(2.f).E(\'O\').1h()}3(2.p){$.11.2Z(5(){8.l(2.f).E(\'O\').1h()})}})};4 16=[\'2p\',\'1o\',\'1U\'];1V(4 i=0;i<16.1q;i++){$.1Z[16[i]]=(5(2m){u 5(t){u 6.Q(5(){4 c=$(\'1e.8-c\',6);c=c.L()&&c||$(\'>1e:l(0)\',6);4 a;3(!t||x t==\'2l\'){a=$(\'7 a\',c).l((t&&t>0&&t-1||0))}n 3(x t==\'2L\'){a=$(\'7 a[@1C$="#\'+t+\'"]\',c)}a.E(2m)})}})(16[i])}})(31);',62,191,'||settings|if|var|function|this|li|tabs|hash|||nav|container||initial|browser|||toShow||eq|null|else|height|bookmarkable|id|containers|span|tab|return|addClass|opacity|typeof|selectedClass|is|css|toHide|remote|document|trigger|clicked|false|disabled|msie|div|hideAnim|size||style|click|showAnim|each|containerClass|location|onHide|disabledClass|attr|el|onShow|removeClass|parents|onClick|ajaxHistory|locked|offsetHeight|hideClass|bind|tabEvents|setTimeout|get|documentElement|toShowId|filter|animate|msie6|ul|cachedWidth|trueClick|end|minHeight|navClass|currentWidth|cachedFontSize|currentFontSize|min|disableTab|loadingClass|length|safari|replace|update|body|hideSpeed|window|heights|50|jq|showSpeed|hasSelectedClass|href|fxSpeed|watchFontSize|_setAutoHeight|unFocus|cachedHeight|currentHeight|remoteUrls|fxSlide|show|switchTab|hide|fxShow|fxHide|innerHTML|fxFade|width|text|enableTab|for|tempForm|submit|html|fn|scrollLeft|true|form|scrollTop|hashPrefix|scrollTo|tabStruct|scrollX|scrollY|reset|blur|overflow|extend|behaviour|fxAutoHeight|px|watch|font|appendTo|display|offsetWidth|number|tabEvent|fxShowSpeed|fxHideSpeed|triggerTab|remoteCount|action|input|type|value|alert|There|no|such|clientX|pageXOffset|visible|pageYOffset|object|selected|siblings|loading|XMLHttpRequest|class|index|opera|string|500|not|map|removeExpression|sort|setExpression|1px|block|position|absolute|visibility|hidden|setInterval|initialize|Loading|jQuery|8230|load|normal'.split('|'),0,{}))
admin/manage.php CHANGED
@@ -5,6 +5,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
5
  function nggallery_admin_manage_gallery() {
6
  global $wpdb;
7
 
 
 
8
  // GET variables
9
  $act_gid = trim(attribute_escape($_GET['gid']));
10
  $act_pid = trim(attribute_escape($_GET['pid']));
@@ -13,14 +15,32 @@ function nggallery_admin_manage_gallery() {
13
  // get the options
14
  $ngg_options=get_option('ngg_options');
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  if ($mode == 'delete') {
17
  // Delete a gallery
18
 
 
 
19
  // get the path to the gallery
20
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
21
  if ($gallerypath){
22
- $thumb_folder = ngg_get_thumbnail_folder($gallerypath, FALSE);
23
- $thumb_prefix = ngg_get_thumbnail_prefix($gallerypath, FALSE);
24
 
25
  // delete pictures
26
  $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
@@ -47,12 +67,13 @@ function nggallery_admin_manage_gallery() {
47
 
48
  if ($mode == 'delpic') {
49
  // Delete a picture
 
50
  $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$act_pid' ");
51
  if ($filename) {
52
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
53
  if ($gallerypath){
54
- $thumb_folder = ngg_get_thumbnail_folder($gallerypath, FALSE);
55
- $thumb_prefix = ngg_get_thumbnail_prefix($gallerypath, FALSE);
56
  if ($ngg_options[deleteImg]) {
57
  @unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
58
  unlink(WINABSPATH.$gallerypath.'/'.$filename);
@@ -63,11 +84,14 @@ function nggallery_admin_manage_gallery() {
63
  if($delete_pic)
64
  $messagetext = '<font color="green">'.__('Picture','nggallery').' \''.$act_pid.'\' '.__('deleted successfully','nggallery').'</font>';
65
  $mode = 'edit'; // show pictures
 
66
  }
67
 
68
- if (isset ($_POST['bulkaction'])) {
69
  // do bulk update
70
 
 
 
71
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
72
  $imageslist = array();
73
 
@@ -100,8 +124,8 @@ function nggallery_admin_manage_gallery() {
100
  // Delete images
101
  if ( is_array($_POST['doaction']) ) {
102
  if ($gallerypath){
103
- $thumb_folder = ngg_get_thumbnail_folder($gallerypath, FALSE);
104
- $thumb_prefix = ngg_get_thumbnail_prefix($gallerypath, FALSE);
105
  foreach ( $_POST['doaction'] as $imageID ) {
106
  $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
107
  if ($ngg_options[deleteImg]) {
@@ -117,9 +141,59 @@ function nggallery_admin_manage_gallery() {
117
  break;
118
  }
119
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
 
121
  if (isset ($_POST['updatepictures'])) {
122
  // Update pictures
 
 
123
 
124
  $gallery_title = attribute_escape($_POST[title]);
125
  $gallery_path = attribute_escape($_POST[path]);
@@ -127,14 +201,20 @@ function nggallery_admin_manage_gallery() {
127
  $gallery_pageid = attribute_escape($_POST[pageid]);
128
  $gallery_preview = attribute_escape($_POST[previewpic]);
129
 
130
- $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', path= '$gallery_path', description = '$gallery_desc', pageid = '$gallery_pageid', previewpic = '$gallery_preview' WHERE gid = '$act_gid'");
131
- $result = ngg_update_pictures(attribute_escape($_POST[description]), attribute_escape($_POST[alttext]), attribute_escape($_POST[exclude]), $act_gid );
 
 
 
132
 
133
- nggallery::show_message(__('Update successfully',"nggallery"));
134
  }
135
 
136
  if (isset ($_POST['scanfolder'])) {
137
  // Rescan folder
 
 
 
138
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
139
  $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
140
  // if no images are there, create empty array
@@ -158,6 +238,9 @@ function nggallery_admin_manage_gallery() {
158
 
159
  if (isset ($_POST['addnewpage'])) {
160
  // Add a new page
 
 
 
161
  $parent_id = attribute_escape($_POST[parent_id]);
162
  $gallery_title = attribute_escape($_POST[title]);
163
  $gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
@@ -179,20 +262,6 @@ function nggallery_admin_manage_gallery() {
179
  }
180
  }
181
 
182
- if (isset ($_POST['togglethumbs'])) {
183
- // Toggle thumnails, forgive me if it's to complicated
184
- $hideThumbs = (isset ($_POST['hideThumbs'])) ? false : true ;
185
- } else {
186
- $hideThumbs = (isset ($_POST['hideThumbs'])) ? true : false ;
187
- }
188
-
189
- if (isset ($_POST['toggletags'])) {
190
- // Toggle tag view
191
- $showTags = (isset ($_POST['showTags'])) ? false : true ;
192
- } else {
193
- $showTags = (isset ($_POST['showTags'])) ? true : false ;
194
- }
195
-
196
  // message windows
197
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
198
 
@@ -238,11 +307,11 @@ if($gallerylist) {
238
  <th scope="row" style="text-align: center"><?php echo $gid; ?></th>
239
  <td><?php echo $gallery->name; ?></td>
240
  <td><?php echo $gallery->title; ?></td>
241
- <td><?php echo $gallery->description; ?></td>
242
  <td><?php echo $gallery->pageid; ?></td>
243
  <td><?php echo $counter; ?></td>
244
- <td><a href="admin.php?page=nggallery-manage-gallery&amp;mode=edit&amp;gid=<?php echo $gid; ?>" class='edit'> <?php _e('Edit') ?></a></td>
245
- <td><a href="admin.php?page=nggallery-manage-gallery&amp;mode=delete&amp;gid=<?php echo $gid; ?>" class="delete" onclick="javascript:check=confirm( '<?php _e("Delete this file ?",'nggallery')?>');if(check==false) return false;"><?php _e('Delete') ?></a></td>
246
  </tr>
247
  <?php
248
  }
@@ -271,8 +340,8 @@ function nggallery_picturelist($hideThumbs = false,$showTags = false) {
271
 
272
  // set gallery url
273
  $act_gallery_url = get_option ('siteurl')."/".$act_gallery->path."/";
274
- $act_thumbnail_url = get_option ('siteurl')."/".$act_gallery->path.ngg_get_thumbnail_folder($act_gallery->path, FALSE);
275
- $act_thumb_prefix = ngg_get_thumbnail_prefix($act_gallery->path, FALSE);
276
 
277
  ?>
278
 
@@ -280,6 +349,8 @@ function nggallery_picturelist($hideThumbs = false,$showTags = false) {
280
  jQuery(document).ready(
281
  function() {
282
  jQuery('.textarea1').Autoexpand([230,400]);
 
 
283
  /* jQuery("input:checkbox").click(
284
  function() {
285
  jQuery(this).parents('tr').Highlight(500, '#ff0', function(){jQuery(this).parents('tr').css('backgroundColor', 'transparent');});
@@ -288,6 +359,26 @@ jQuery(document).ready(
288
  );
289
  */
290
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  </script>
292
  <script type="text/javascript"> var tb_pathToImage = '<?php echo NGGALLERY_URLPATH ?>thickbox/loadingAnimationv3.gif';</script>
293
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>thickbox/thickbox.css";</style>
@@ -306,6 +397,10 @@ jQuery(document).ready(
306
  padding:5px 0pt;
307
  text-align:center;
308
  }
 
 
 
 
309
  </style>
310
  <script type="text/javascript">
311
  <!--
@@ -340,12 +435,14 @@ function getNumChecked(form)
340
  <div class="wrap">
341
  <h2><?php _e('Gallery', 'nggallery') ?> : <?php echo $act_gallery->name; ?></h2>
342
 
343
- <form id="updategallery" method="POST" accept-charset="utf-8">
 
344
 
345
  <?php if ($showTags) { ?><input type="hidden" name="showTags" value="true" /><?php } ?>
346
  <?php if ($hideThumbs) { ?><input type="hidden" name="hideThumbs" value="true" /><?php } ?>
347
 
348
- <fieldset class="options">
 
349
  <table width="100%" border="0" cellspacing="3" cellpadding="3" >
350
  <tr>
351
  <th align="left"><?php _e('Title') ?>:</th>
@@ -368,7 +465,7 @@ function getNumChecked(form)
368
  </tr>
369
  <tr>
370
  <th align="left"><?php _e('Description') ?>:</th>
371
- <th align="left"><textarea name="gallerydesc" cols="30" rows="3" style="width: 95%" ><?php echo $act_gallery->description; ?></textarea></th>
372
  <th align="right"><?php _e('Preview image', 'nggallery') ?>:</th>
373
  <th align="left">
374
  <select name="previewpic" >
@@ -407,22 +504,29 @@ function getNumChecked(form)
407
  <p>
408
  </fieldset>
409
  <fieldset class="options">
410
- <p><select id="bulkaction" name="bulkaction" >
411
  <option value="0" ><?php _e("No action",'nggallery')?></option>
 
412
  <option value="1" ><?php _e("Set watermark",'nggallery')?></option>
413
  <option value="2" ><?php _e("Create new thumbnails",'nggallery')?></option>
414
  <option value="3" ><?php _e("Resize images",'nggallery')?></option>
415
  <option value="4" ><?php _e("Delete images",'nggallery')?></option>
 
 
 
 
 
416
  </select>
417
 
418
- <input type="submit" name="doaction" value="<?php _e("OK",'nggallery')?>" onclick="var numchecked = getNumChecked(document.getElementById('updategallery')); if(numchecked < 1) { alert('<?php echo js_escape(__("No images selected",'nggallery')); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to start the bulk edit for %s images \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>')" />
 
419
  <?php if (!$hideThumbs) { ?> <input type="submit" name="togglethumbs" value="<?php _e("Hide thumbnails ",'nggallery')?>" /> <?php } else {?>
420
- <input type="submit" name="togglethumbs" value="<?php _e("Show thumbnails ",'nggallery')?>" /><?php } ?>
421
- <!-- TODO: Tags
422
  <?php if (!$showTags) { ?><input type="submit" name="toggletags" value="<?php _e("Show tags",'nggallery')?>" /> <?php } else {?>
423
- <input type="submit" name="toggletags" value="<?php _e("Hide tags",'nggallery')?>" /><?php } ?>
424
- -->
425
  </p>
 
426
  <table id="listimages" width="100%" cellspacing="2" cellpadding="5" class="widefat" >
427
  <thead>
428
  <tr>
@@ -444,20 +548,17 @@ function getNumChecked(form)
444
  </thead>
445
  <tbody>
446
  <?php
447
-
 
448
  if($picturelist) {
449
  foreach($picturelist as $picture) {
450
  //TODO: Ajax delete version , looks better
451
  //TODO: Use effect for inactive pic : style="filter:alpha(opacity=30); -moz-opacity:0.3"
452
 
453
- $pid = $picture->pid;
454
- $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"';
455
- if ($picture->exclude) {
456
- $exclude='checked="checked"';
457
- } else {
458
- $exclude='';
459
- }
460
-
461
  ?>
462
  <tr id="picture-<?php echo $pid ?>" <?php echo $class ?> style="text-align:center">
463
  <td><input name="doaction[]" type="checkbox" value="<?php echo $pid ?>" /></td>
@@ -471,10 +572,10 @@ if($picturelist) {
471
  <td><input name="alttext[<?php echo $pid ?>]" type="text" size="20" value="<?php echo $picture->alttext ?>" /></td>
472
  <td><input name="exclude[<?php echo $pid ?>]" type="checkbox" value="1" <?php echo $exclude ?> /></td>
473
  <?php } else {?>
474
- <td ><input name="tags[<?php echo $pid ?>]" type="text" style="width:95%" value="<?php /* TODO: TAGS */ ?>" /></td>
475
  <?php } ?>
476
  <td><a href="<?php echo $act_gallery_url.$picture->filename ?>" class="thickbox" title="<?php echo $picture->alttext ?>" ><?php _e('View') ?></a></td>
477
- <td><a href="admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=<?php echo $act_gid ?>&amp;pid=<?php echo $pid ?>" class="delete" onclick="javascript:check=confirm( '<?php _e("Delete this file ?",'nggallery')?>');if(check==false) return false;" ><?php _e('Delete') ?></a></td>
478
  </tr>
479
  <?php
480
  }
@@ -490,6 +591,27 @@ if($picturelist) {
490
  </form>
491
  <br class="clear"/>
492
  </div><!-- /#wrap -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
493
  <?php
494
 
495
  } //nggallery_pciturelist
@@ -538,4 +660,54 @@ function ngg_update_pictures( $nggdescription, $nggalttext, $nggexclude, $nggall
538
  return $update_ok;
539
  }
540
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
541
  ?>
5
  function nggallery_admin_manage_gallery() {
6
  global $wpdb;
7
 
8
+ //TODO:GID & Mode should the hidden post variables
9
+
10
  // GET variables
11
  $act_gid = trim(attribute_escape($_GET['gid']));
12
  $act_pid = trim(attribute_escape($_GET['pid']));
15
  // get the options
16
  $ngg_options=get_option('ngg_options');
17
 
18
+ if (isset ($_POST['togglethumbs'])) {
19
+ check_admin_referer('ngg_updategallery');
20
+ // Toggle thumnails, forgive me if it's to complicated
21
+ $hideThumbs = (isset ($_POST['hideThumbs'])) ? false : true ;
22
+ } else {
23
+ $hideThumbs = (isset ($_POST['hideThumbs'])) ? true : false ;
24
+ }
25
+
26
+ if (isset ($_POST['toggletags'])) {
27
+ check_admin_referer('ngg_updategallery');
28
+ // Toggle tag view
29
+ $showTags = (isset ($_POST['showTags'])) ? false : true ;
30
+ } else {
31
+ $showTags = (isset ($_POST['showTags'])) ? true : false ;
32
+ }
33
+
34
  if ($mode == 'delete') {
35
  // Delete a gallery
36
 
37
+ check_admin_referer('ngg_editgallery');
38
+
39
  // get the path to the gallery
40
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
41
  if ($gallerypath){
42
+ $thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
43
+ $thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
44
 
45
  // delete pictures
46
  $imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
67
 
68
  if ($mode == 'delpic') {
69
  // Delete a picture
70
+ check_admin_referer('ngg_delpicture');
71
  $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$act_pid' ");
72
  if ($filename) {
73
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
74
  if ($gallerypath){
75
+ $thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
76
+ $thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
77
  if ($ngg_options[deleteImg]) {
78
  @unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
79
  unlink(WINABSPATH.$gallerypath.'/'.$filename);
84
  if($delete_pic)
85
  $messagetext = '<font color="green">'.__('Picture','nggallery').' \''.$act_pid.'\' '.__('deleted successfully','nggallery').'</font>';
86
  $mode = 'edit'; // show pictures
87
+
88
  }
89
 
90
+ if (isset ($_POST['bulkaction']) && isset ($_POST['doaction'])) {
91
  // do bulk update
92
 
93
+ check_admin_referer('ngg_updategallery');
94
+
95
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
96
  $imageslist = array();
97
 
124
  // Delete images
125
  if ( is_array($_POST['doaction']) ) {
126
  if ($gallerypath){
127
+ $thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
128
+ $thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
129
  foreach ( $_POST['doaction'] as $imageID ) {
130
  $filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
131
  if ($ngg_options[deleteImg]) {
141
  break;
142
  }
143
  }
144
+
145
+ if (isset ($_POST['TB_tagaction']) && isset ($_POST['TB_doaction'])) {
146
+ // do tags update
147
+
148
+ check_admin_referer('ngg_form-tags');
149
+
150
+ // get the images list
151
+ $pic_ids = explode(",", $_POST['TB_imagelist']);
152
+ $taglist = explode(",", $_POST['taglist']);
153
+ $taglist = array_map('trim', $taglist);
154
+ $slugarray = array_map('sanitize_title', $taglist);
155
+
156
+ // load tag list
157
+ $nggTags = new ngg_Tags();
158
+
159
+ foreach($pic_ids as $pic_id) {
160
+
161
+ // which action should be performed ?
162
+ switch ($_POST['TB_tagaction']) {
163
+ case 0;
164
+ // No action
165
+ break;
166
+ case 7:
167
+ // Overwrite tags
168
+ // remove all binding
169
+ $wpdb->query("DELETE FROM $wpdb->nggpic2tags WHERE picid = '$pic_id'");
170
+ // and add now the new tags
171
+ case 5:
172
+ // Add / append tags
173
+ foreach($taglist as $tag) {
174
+ // get the tag id
175
+ $tagid = $nggTags->add_tag($tag);
176
+ if ( $tagid )
177
+ $nggTags->add_relationship($pic_id, $tagid);
178
+ }
179
+ break;
180
+ case 6:
181
+ // Delete tags
182
+ $nggTags->remove_relationship($pic_id, $slugarray, false);
183
+ break;
184
+ }
185
+ }
186
+
187
+ // remove not longer used tag
188
+ $nggTags->remove_unused_tags();
189
+
190
+ nggallery::show_message(__('Tags changed',"nggallery"));
191
+ }
192
 
193
  if (isset ($_POST['updatepictures'])) {
194
  // Update pictures
195
+
196
+ check_admin_referer('ngg_updategallery');
197
 
198
  $gallery_title = attribute_escape($_POST[title]);
199
  $gallery_path = attribute_escape($_POST[path]);
201
  $gallery_pageid = attribute_escape($_POST[pageid]);
202
  $gallery_preview = attribute_escape($_POST[previewpic]);
203
 
204
+ $result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', path= '$gallery_path', galdesc = '$gallery_desc', pageid = '$gallery_pageid', previewpic = '$gallery_preview' WHERE gid = '$act_gid'");
205
+ if ($showTags)
206
+ $result = ngg_update_tags(attribute_escape($_POST[tags]));
207
+ else
208
+ $result = ngg_update_pictures(attribute_escape($_POST[description]), attribute_escape($_POST[alttext]), attribute_escape($_POST[exclude]), $act_gid );
209
 
210
+ nggallery::show_message(__('Update successful',"nggallery"));
211
  }
212
 
213
  if (isset ($_POST['scanfolder'])) {
214
  // Rescan folder
215
+
216
+ check_admin_referer('ngg_updategallery');
217
+
218
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
219
  $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
220
  // if no images are there, create empty array
238
 
239
  if (isset ($_POST['addnewpage'])) {
240
  // Add a new page
241
+
242
+ check_admin_referer('ngg_updategallery');
243
+
244
  $parent_id = attribute_escape($_POST[parent_id]);
245
  $gallery_title = attribute_escape($_POST[title]);
246
  $gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
262
  }
263
  }
264
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
265
  // message windows
266
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
267
 
307
  <th scope="row" style="text-align: center"><?php echo $gid; ?></th>
308
  <td><?php echo $gallery->name; ?></td>
309
  <td><?php echo $gallery->title; ?></td>
310
+ <td><?php echo $gallery->galdesc; ?></td>
311
  <td><?php echo $gallery->pageid; ?></td>
312
  <td><?php echo $counter; ?></td>
313
+ <td><a href="<?php echo wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=edit&amp;gid=".$gid, 'ngg_editgallery')?>" class='edit'> <?php _e('Edit') ?></a></td>
314
+ <td><a href="<?php echo wp_nonce_url("admin.php?page=nggallery-manage-gallery&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></td>
315
  </tr>
316
  <?php
317
  }
340
 
341
  // set gallery url
342
  $act_gallery_url = get_option ('siteurl')."/".$act_gallery->path."/";
343
+ $act_thumbnail_url = get_option ('siteurl')."/".$act_gallery->path.nggallery::get_thumbnail_folder($act_gallery->path, FALSE);
344
+ $act_thumb_prefix = nggallery::get_thumbnail_prefix($act_gallery->path, FALSE);
345
 
346
  ?>
347
 
349
  jQuery(document).ready(
350
  function() {
351
  jQuery('.textarea1').Autoexpand([230,400]);
352
+
353
+
354
  /* jQuery("input:checkbox").click(
355
  function() {
356
  jQuery(this).parents('tr').Highlight(500, '#ff0', function(){jQuery(this).parents('tr').css('backgroundColor', 'transparent');});
359
  );
360
  */
361
  });
362
+
363
+ function enterTags(form) {
364
+
365
+ var elementlist = "";
366
+ for (i = 0, n = form.elements.length; i < n; i++) {
367
+ if(form.elements[i].type == "checkbox") {
368
+ if(form.elements[i].name == "doaction[]")
369
+ if(form.elements[i].checked == true)
370
+ if (elementlist == "")
371
+ elementlist = form.elements[i].value
372
+ else
373
+ elementlist += "," + form.elements[i].value ;
374
+ }
375
+ }
376
+ jQuery("#TB_tagaction").val(jQuery("#bulkaction").val());
377
+ jQuery("#TB_imagelist").val(elementlist);
378
+ // console.log (jQuery("#TB_imagelist").val());
379
+ jQuery.tb_show("", "#TB_inline?width=640&height=110&inlineId=tags&modal=true", false);
380
+
381
+ }
382
  </script>
383
  <script type="text/javascript"> var tb_pathToImage = '<?php echo NGGALLERY_URLPATH ?>thickbox/loadingAnimationv3.gif';</script>
384
  <style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>thickbox/thickbox.css";</style>
397
  padding:5px 0pt;
398
  text-align:center;
399
  }
400
+
401
+ fieldset.nggallery {
402
+ border:1px solid #CCCCCC;
403
+ }
404
  </style>
405
  <script type="text/javascript">
406
  <!--
435
  <div class="wrap">
436
  <h2><?php _e('Gallery', 'nggallery') ?> : <?php echo $act_gallery->name; ?></h2>
437
 
438
+ <form id="updategallery" method="POST" action="<?php echo 'admin.php?page=nggallery-manage-gallery&amp;mode=edit&amp;gid='.$act_gid ?>" accept-charset="utf-8">
439
+ <?php wp_nonce_field('ngg_updategallery') ?>
440
 
441
  <?php if ($showTags) { ?><input type="hidden" name="showTags" value="true" /><?php } ?>
442
  <?php if ($hideThumbs) { ?><input type="hidden" name="hideThumbs" value="true" /><?php } ?>
443
 
444
+ <fieldset class="options nggallery">
445
+ <legend><?php _e('Main settings', 'nggallery') ?></legend>
446
  <table width="100%" border="0" cellspacing="3" cellpadding="3" >
447
  <tr>
448
  <th align="left"><?php _e('Title') ?>:</th>
465
  </tr>
466
  <tr>
467
  <th align="left"><?php _e('Description') ?>:</th>
468
+ <th align="left"><textarea name="gallerydesc" cols="30" rows="3" style="width: 95%" ><?php echo $act_gallery->galdesc; ?></textarea></th>
469
  <th align="right"><?php _e('Preview image', 'nggallery') ?>:</th>
470
  <th align="left">
471
  <select name="previewpic" >
504
  <p>
505
  </fieldset>
506
  <fieldset class="options">
507
+ <p><select id="bulkaction" name="bulkaction">
508
  <option value="0" ><?php _e("No action",'nggallery')?></option>
509
+ <?php if (!$showTags) { ?>
510
  <option value="1" ><?php _e("Set watermark",'nggallery')?></option>
511
  <option value="2" ><?php _e("Create new thumbnails",'nggallery')?></option>
512
  <option value="3" ><?php _e("Resize images",'nggallery')?></option>
513
  <option value="4" ><?php _e("Delete images",'nggallery')?></option>
514
+ <?php } else { ?>
515
+ <option value="5" ><?php _e("Add tags",'nggallery')?></option>
516
+ <option value="6" ><?php _e("Delete tags",'nggallery')?></option>
517
+ <option value="7" ><?php _e("Overwrite tags",'nggallery')?></option>
518
+ <?php } ?>
519
  </select>
520
 
521
+ <?php if (!$showTags) { ?> <input type="submit" name="doaction" value="<?php _e("OK",'nggallery')?>" onclick="var numchecked = getNumChecked(document.getElementById('updategallery')); if(numchecked < 1) { alert('<?php echo js_escape(__("No images selected",'nggallery')); ?>'); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to start the bulk edit for %s images \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>')" /><?php } else {?>
522
+ <input type="submit" name="showThickbox" value="<?php _e("OK",'nggallery')?>" onclick="enterTags(document.getElementById('updategallery')); return false;" /><?php } ?>
523
  <?php if (!$hideThumbs) { ?> <input type="submit" name="togglethumbs" value="<?php _e("Hide thumbnails ",'nggallery')?>" /> <?php } else {?>
524
+ <input type="submit" name="togglethumbs" value="<?php _e("Show thumbnails ",'nggallery')?>" /><?php } ?>
 
525
  <?php if (!$showTags) { ?><input type="submit" name="toggletags" value="<?php _e("Show tags",'nggallery')?>" /> <?php } else {?>
526
+ <input type="submit" name="toggletags" value="<?php _e("Hide tags",'nggallery')?>" /><?php } ?>
527
+
528
  </p>
529
+
530
  <table id="listimages" width="100%" cellspacing="2" cellpadding="5" class="widefat" >
531
  <thead>
532
  <tr>
548
  </thead>
549
  <tbody>
550
  <?php
551
+ // load tags
552
+ if ($showTags) $nggTags = new ngg_Tags();
553
  if($picturelist) {
554
  foreach($picturelist as $picture) {
555
  //TODO: Ajax delete version , looks better
556
  //TODO: Use effect for inactive pic : style="filter:alpha(opacity=30); -moz-opacity:0.3"
557
 
558
+ $pid = $picture->pid;
559
+ $class = ( $class == 'class="alternate"' ) ? '' : 'class="alternate"';
560
+ $exclude = ( $picture->exclude ) ? 'checked="checked"' : '';
561
+
 
 
 
 
562
  ?>
563
  <tr id="picture-<?php echo $pid ?>" <?php echo $class ?> style="text-align:center">
564
  <td><input name="doaction[]" type="checkbox" value="<?php echo $pid ?>" /></td>
572
  <td><input name="alttext[<?php echo $pid ?>]" type="text" size="20" value="<?php echo $picture->alttext ?>" /></td>
573
  <td><input name="exclude[<?php echo $pid ?>]" type="checkbox" value="1" <?php echo $exclude ?> /></td>
574
  <?php } else {?>
575
+ <td ><input name="tags[<?php echo $pid ?>]" type="text" style="width:95%" value="<?php echo $nggTags->get_tags_from_image($pid); ?>" /></td>
576
  <?php } ?>
577
  <td><a href="<?php echo $act_gallery_url.$picture->filename ?>" class="thickbox" title="<?php echo $picture->alttext ?>" ><?php _e('View') ?></a></td>
578
+ <td><a href="<?php echo wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=".$act_gid."&amp;pid=".$pid, 'ngg_delpicture')?>" class="delete" onclick="javascript:check=confirm( '<?php _e("Delete this file ?",'nggallery')?>');if(check==false) return false;" ><?php _e('Delete') ?></a></td>
579
  </tr>
580
  <?php
581
  }
591
  </form>
592
  <br class="clear"/>
593
  </div><!-- /#wrap -->
594
+
595
+ <!-- #entertags -->
596
+ <div id="tags" style="display: none;" >
597
+ <form id="form-tags" method="POST" accept-charset="utf-8">
598
+ <?php wp_nonce_field('ngg_form-tags') ?>
599
+ <?php if ($showTags) { ?><input type="hidden" name="showTags" value="true" /><?php } ?>
600
+ <?php if ($hideThumbs) { ?><input type="hidden" name="hideThumbs" value="true" /><?php } ?>
601
+ <input type="hidden" id="TB_imagelist" name="TB_imagelist" value="" />
602
+ <input type="hidden" id="TB_tagaction" name="TB_tagaction" value="" />
603
+ <table width="100%" border="0" cellspacing="3" cellpadding="3" >
604
+ <tr>
605
+ <th><?php _e("Enter the tags",'nggallery')?> : <input name="taglist" type="text" style="width:99%" value="" /></td>
606
+ </tr>
607
+ <tr align="right">
608
+ <td class="submit"><input type="submit" name="TB_doaction" value="<?php _e("OK",'nggallery')?>" onclick="var numchecked = getNumChecked(document.getElementById('updategallery')); if(numchecked < 1) { alert('<?php echo js_escape(__("No images selected",'nggallery')); ?>'); jQuery.tb_remove(); return false } return confirm('<?php echo sprintf(js_escape(__("You are about to start the bulk edit for %s images \n \n 'Cancel' to stop, 'OK' to proceed.",'nggallery')), "' + numchecked + '") ; ?>')" />&nbsp;<input type="reset" value="&nbsp;<?php _e("Cancel",'nggallery')?>&nbsp;" onclick="jQuery.tb_remove()"/></td>
609
+ </tr>
610
+ </table>
611
+ </form>
612
+ </div>
613
+ <!-- /#entertags -->
614
+
615
  <?php
616
 
617
  } //nggallery_pciturelist
660
  return $update_ok;
661
  }
662
 
663
+ /**************************************************************************/
664
+ function ngg_update_tags( $taglist ) {
665
+ // update all tags
666
+
667
+ global $wpdb;
668
+
669
+ // load tag list
670
+ $nggTags = new ngg_Tags();
671
+
672
+ // the taglist contain as key the pic_id
673
+ if (is_array($taglist)){
674
+ foreach($taglist as $key=>$value) {
675
+
676
+ // First, get all of the original tags
677
+ $nggTags->get_tags_from_image($key);
678
+
679
+ $tags = explode(",", $value);
680
+ $new_slugarray = array();
681
+
682
+ foreach($tags as $tag) {
683
+ if ( !empty($tag) ) {
684
+ // create the slug
685
+ $tag = trim($tag);
686
+ $slug = sanitize_title($tag);
687
+ // do not proceed empty slugs
688
+ if ( !empty($slug) ) {
689
+ $new_slugarray[] = $slug;
690
+ // look if we have a new tag in POST
691
+ if (!in_array($slug, $nggTags->img_slugs )) {
692
+ $tagid = $nggTags->add_tag($tag);
693
+ $nggTags->add_relationship($key, $tagid);
694
+ // add now to image list
695
+ $nggTags->img_slugs[] = $slug;
696
+ }
697
+ }
698
+ }
699
+ }
700
+
701
+ //do we need to remove some tags?
702
+ $delete_tags = array_diff($nggTags->img_slugs, $new_slugarray);
703
+ $nggTags->remove_relationship($key, $delete_tags, TRUE);
704
+ }
705
+
706
+ // remove not longer used tag
707
+ $nggTags->remove_unused_tags();
708
+ }
709
+
710
+ return;
711
+ }
712
+
713
  ?>
admin/myimport.php CHANGED
@@ -23,7 +23,7 @@ function nggallery_admin_import() {
23
  $gallery = $wpdb->get_row("SELECT * FROM $ngg_mygallery WHERE id = '$gid'");
24
  if ($gallery) {
25
  $galleryfolder = $mygbasepath . $gallery->name;
26
- $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title, description, pageid) VALUES ('$gallery->name', '$galleryfolder', '$gallery->longname', '$gallery->galdescrip' ,'$gallery->pageid') ");
27
  if ($result) {
28
  $newgid = $wpdb->insert_id; // get new index_id
29
  $pictures = $wpdb->get_results("SELECT * FROM $ngg_mypictures, $ngg_mygprelation WHERE $ngg_mygprelation.gid = '$gid' AND $ngg_mypictures.id = $ngg_mygprelation.pid ORDER BY $ngg_mygprelation.pid");
23
  $gallery = $wpdb->get_row("SELECT * FROM $ngg_mygallery WHERE id = '$gid'");
24
  if ($gallery) {
25
  $galleryfolder = $mygbasepath . $gallery->name;
26
+ $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title, galdesc, pageid) VALUES ('$gallery->name', '$galleryfolder', '$gallery->longname', '$gallery->galdescrip' ,'$gallery->pageid') ");
27
  if ($result) {
28
  $newgid = $wpdb->insert_id; // get new index_id
29
  $pictures = $wpdb->get_results("SELECT * FROM $ngg_mypictures, $ngg_mygprelation WHERE $ngg_mygprelation.gid = '$gid' AND $ngg_mypictures.id = $ngg_mygprelation.pid ORDER BY $ngg_mygprelation.pid");
admin/overview.php CHANGED
@@ -6,6 +6,12 @@ function nggallery_admin_overview() {
6
 
7
  // get feed_messages
8
  require_once(ABSPATH . WPINC . '/rss.php');
 
 
 
 
 
 
9
 
10
  ?>
11
  <div class="wrap">
@@ -21,10 +27,10 @@ function nggallery_admin_overview() {
21
  '<strong>'.$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery").'</strong>',
22
  '<strong>'.$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum").'</strong>'
23
  );
24
- vprintf(__('There are totally %1$s pictures in %2$s gallerys, which are spread across %3$s albums.', 'nggallery'), $replace);
25
  ?>
26
- </p>
27
- <?php if (ngg_version_check()) { ?>
28
  <h3><font color="red"><?php _e('New Version available', 'nggallery') ?></font></h3>
29
  <p><?php _e('The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information.', 'nggallery') ?></p>
30
  <?php } ?>
@@ -45,10 +51,10 @@ function nggallery_admin_overview() {
45
  </p>
46
 
47
  <ul>
48
- <?php if(current_user_can('manage_options')): ?><li><a href="admin.php?page=nggallery-add-gallery"><?php _e('Add a new gallery or import pictures', 'nggallery') ?></a></li><?php endif; ?>
49
- <li><a href="admin.php?page=nggallery-manage-gallery"><?php _e('Manage galleries and images', 'nggallery') ?></a></li>
50
- <?php if(current_user_can('manage_options')): ?><li><a href="admin.php?page=nggallery-manage-album"><?php _e('Create and manage albums', 'nggallery') ?></a></li><?php endif; ?>
51
- <?php if(current_user_can('manage_options')): ?><li><a href="admin.php?page=nggallery-options"><?php _e('Change the settings of NextGEN Gallery', 'nggallery') ?></a></li><?php endif; ?>
52
  </ul>
53
  <div id="devnews">
54
  <h3><?php _e('Latest News', 'nggallery') ?></h3>
@@ -156,34 +162,82 @@ function ngg_get_serverinfo() {
156
  }
157
 
158
  // ***************************************************************
159
- function ngg_version_check() {
160
- // check for a new version
161
-
162
- // use snoopy class
163
- require_once(ABSPATH . WPINC . '/class-snoopy.php');
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
- $check_intervall = get_option( "ngg_next_update" );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
 
167
- if ( ($check_intervall < time() ) or (empty($check_intervall)) ) {
168
- if (class_exists(snoopy)) {
169
- $client = new Snoopy();
170
- $client->_fp_timeout = 10;
171
- if (@$client->fetch(NGGURL) === false) {
172
- return false;
173
- }
174
 
175
- $remote = $client->results;
176
-
177
- $server_version = unserialize($remote);
178
- if (is_array($server_version)) {
179
- if ( version_compare($server_version[0], NGGVERSION, '>') )
180
- return true;
181
- }
182
- // come back in 24 hours :-)
183
- $check_intervall = time() + 86400;
184
- update_option( "ngg_next_update", $check_intervall );
185
- return false;
186
- }
 
 
 
 
 
 
 
 
 
 
 
 
187
  }
188
  }
189
 
6
 
7
  // get feed_messages
8
  require_once(ABSPATH . WPINC . '/rss.php');
9
+
10
+ // init PluginChecker
11
+ $nggCheck = new CheckPlugin();
12
+ $nggCheck->URL = NGGURL;
13
+ $nggCheck->version = NGGVERSION;
14
+ $nggCheck->name = "ngg";
15
 
16
  ?>
17
  <div class="wrap">
27
  '<strong>'.$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggallery").'</strong>',
28
  '<strong>'.$wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggalbum").'</strong>'
29
  );
30
+ vprintf(__('There are totally %1$s pictures in %2$s galleries, which are spread across %3$s albums.', 'nggallery'), $replace);
31
  ?>
32
+ </p>
33
+ <?php if ($nggCheck->startCheck()) { ?>
34
  <h3><font color="red"><?php _e('New Version available', 'nggallery') ?></font></h3>
35
  <p><?php _e('The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information.', 'nggallery') ?></p>
36
  <?php } ?>
51
  </p>
52
 
53
  <ul>
54
+ <?php if(current_user_can('NextGEN Upload images')): ?><li><a href="admin.php?page=nggallery-add-gallery"><?php _e('Add a new gallery or import pictures', 'nggallery') ?></a></li><?php endif; ?>
55
+ <?php if(current_user_can('NextGEN Manage gallery')): ?><li><a href="admin.php?page=nggallery-manage-gallery"><?php _e('Manage galleries and images', 'nggallery') ?></a></li><?php endif; ?>
56
+ <?php if(current_user_can('NextGEN Edit album')): ?><li><a href="admin.php?page=nggallery-manage-album"><?php _e('Create and manage albums', 'nggallery') ?></a></li><?php endif; ?>
57
+ <?php if(current_user_can('NextGEN Change options')): ?><li><a href="admin.php?page=nggallery-options"><?php _e('Change the settings of NextGEN Gallery', 'nggallery') ?></a></li><?php endif; ?>
58
  </ul>
59
  <div id="devnews">
60
  <h3><?php _e('Latest News', 'nggallery') ?></h3>
162
  }
163
 
164
  // ***************************************************************
165
+
166
+ /**
167
+ * WordPress PHP class to check for a new version.
168
+ * @author Alex Rabe & Joern Kretzschmar
169
+ * @orginal from Per S�derlind
170
+ *
171
+ // Dashboard update notification example
172
+ function myPlugin_update_dashboard() {
173
+ $Check = new CheckPlugin();
174
+ $Check->URL = "YOUR URL";
175
+ $Check->version = "1.00";
176
+ $Check->name = "myPlugin";
177
+ if ($Check->startCheck()) {
178
+ echo '<h3>Update Information</h3>';
179
+ echo '<p>A new version is available</p>';
180
+ }
181
+ }
182
 
183
+ add_action('activity_box_end', 'myPlugin_update_dashboard', '0');
184
+ *
185
+ */
186
+ if ( !class_exists( "CheckPlugin" ) ) {
187
+ class CheckPlugin {
188
+ /**
189
+ * URL with the version of the plugin
190
+ * @var string
191
+ */
192
+ var $URL = 'myURL';
193
+ /**
194
+ * Version of thsi programm or plugin
195
+ * @var string
196
+ */
197
+ var $version = '1.00';
198
+ /**
199
+ * Name of the plugin (will be used in the options table)
200
+ * @var string
201
+ */
202
+ var $name = 'myPlugin';
203
+ /**
204
+ * Waiting period until the next check in seconds
205
+ * @var int
206
+ */
207
+ var $period = 86400;
208
+
209
+ function startCheck() {
210
+ /**
211
+ * check for a new version, returns true if a version is avaiable
212
+ */
213
 
214
+ // use wordpress snoopy class
215
+ require_once(ABSPATH . WPINC . '/class-snoopy.php');
 
 
 
 
 
216
 
217
+ $check_intervall = get_option( $this->name."_next_update" );
218
+
219
+ if ( ($check_intervall < time() ) or (empty($check_intervall)) ) {
220
+ if (class_exists(snoopy)) {
221
+ $client = new Snoopy();
222
+ $client->_fp_timeout = 10;
223
+ if (@$client->fetch($this->URL) === false) {
224
+ return false;
225
+ }
226
+
227
+ $remote = $client->results;
228
+
229
+ $server_version = unserialize($remote);
230
+ if (is_array($server_version)) {
231
+ if ( version_compare($server_version[$this->name], $this->version, '>') )
232
+ return true;
233
+ }
234
+
235
+ $check_intervall = time() + $this->period;
236
+ update_option( $this->name."_next_update", $check_intervall );
237
+ return false;
238
+ }
239
+ }
240
+ }
241
  }
242
  }
243
 
admin/roles.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
4
+
5
+ function nggallery_admin_roles() {
6
+
7
+ if ( isset($_POST['update_cap']) ) {
8
+
9
+ check_admin_referer('ngg_addroles');
10
+
11
+ // now set or remove the capability
12
+ ngg_set_capability($_POST['general'],"NextGEN Gallery overview");
13
+ ngg_set_capability($_POST['tinymce'],"NextGEN Use TinyMCE");
14
+ ngg_set_capability($_POST['add_gallery'],"NextGEN Upload images");
15
+ ngg_set_capability($_POST['manage_gallery'],"NextGEN Manage gallery");
16
+ ngg_set_capability($_POST['edit_album'],"NextGEN Edit album");
17
+ ngg_set_capability($_POST['change_style'],"NextGEN Change style");
18
+ ngg_set_capability($_POST['change_options'],"NextGEN Change options");
19
+
20
+ nggallery::show_message(__('Updated capabilities',"nggallery"));
21
+ }
22
+
23
+ ?>
24
+ <div class="wrap">
25
+ <h2><?php _e('Roles / capabilities', 'nggallery') ;?></h2>
26
+ <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 />
27
+ <?php _e('For a more flexible user management you can use the', 'nggallery') ?> <a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/" target="_blank">Role Manager</a>.</p>
28
+ <form name="addroles" id="addroles" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']); ?>" accept-charset="utf-8" >
29
+ <?php wp_nonce_field('ngg_addroles') ?>
30
+ <fieldset class="options">
31
+ <table class="optiontable">
32
+ <tr valign="top">
33
+ <th scope="row"><?php _e('Main NextGEN Gallery overview', 'nggallery') ;?>:</th>
34
+ <td><label for="tinymce"><select name="general" id="general"><?php wp_dropdown_roles( ngg_get_role('NextGEN Gallery overview') ); ?></select></label></td>
35
+ </tr>
36
+ <tr valign="top">
37
+ <th scope="row"><?php _e('Use TinyMCE Button / Upload tab', 'nggallery') ;?>:</th>
38
+ <td><label for="tinymce"><select name="tinymce" id="tinymce"><?php wp_dropdown_roles( ngg_get_role('NextGEN Use TinyMCE') ); ?></select></label></td>
39
+ </tr>
40
+ <tr valign="top">
41
+ <th scope="row"><?php _e('Add gallery / Upload images', 'nggallery') ;?>:</th>
42
+ <td><label for="add_gallery"><select name="add_gallery" id="add_gallery"><?php wp_dropdown_roles( ngg_get_role('NextGEN Upload images') ); ?></select></label></td>
43
+ </tr>
44
+ <tr valign="top">
45
+ <th scope="row"><?php _e('Manage gallery', 'nggallery') ;?>:</th>
46
+ <td><label for="manage_gallery"><select name="manage_gallery" id="manage_gallery"><?php wp_dropdown_roles( ngg_get_role('NextGEN Manage gallery') ); ?></select></label></td>
47
+ </tr>
48
+ <tr valign="top">
49
+ <th scope="row"><?php _e('Edit Album', 'nggallery') ;?>:</th>
50
+ <td><label for="edit_album"><select name="edit_album" id="edit_album"><?php wp_dropdown_roles( ngg_get_role('NextGEN Edit album') ); ?></select></label></td>
51
+ </tr>
52
+ <tr valign="top">
53
+ <th scope="row"><?php _e('Change style', 'nggallery') ;?>:</th>
54
+ <td><label for="change_style"><select name="change_style" id="change_style"><?php wp_dropdown_roles( ngg_get_role('NextGEN Change style') ); ?></select></label></td>
55
+ </tr>
56
+ <tr valign="top">
57
+ <th scope="row"><?php _e('Change options', 'nggallery') ;?>:</th>
58
+ <td><label for="change_options"><select name="change_options" id="change_options"><?php wp_dropdown_roles( ngg_get_role('NextGEN Change options') ); ?></select></label></td>
59
+ </tr>
60
+ </table>
61
+ <div class="submit"><input type="submit" name= "update_cap" value="<?php _e('Update capabilities', 'nggallery') ;?>"/></div>
62
+ </fieldset>
63
+ </form>
64
+ </div>
65
+ <?php
66
+
67
+ }
68
+
69
+ function ngg_get_role($capability){
70
+ // This function return the lowest roles which has the capabilities
71
+ $check_order = array("subscriber", "contributor", "author", "editor", "administrator");
72
+
73
+ $args = array_slice(func_get_args(), 1);
74
+ $args = array_merge(array($capability), $args);
75
+
76
+ foreach ($check_order as $role) {
77
+ $check_role = get_role($role);
78
+
79
+ if ( empty($check_role) )
80
+ return false;
81
+
82
+ if (call_user_func_array(array(&$check_role, 'has_cap'), $args))
83
+ return $role;
84
+ }
85
+ return false;
86
+ }
87
+
88
+ function ngg_set_capability($lowest_role, $capability){
89
+ // This function set or remove the $capability
90
+ $check_order = array("subscriber", "contributor", "author", "editor", "administrator");
91
+
92
+ $add_capability = false;
93
+
94
+ foreach ($check_order as $role) {
95
+ if ($lowest_role == $role)
96
+ $add_capability = true;
97
+
98
+ $the_role = get_role($role);
99
+ $add_capability ? $the_role->add_cap($capability) : $the_role->remove_cap($capability) ;
100
+ }
101
+
102
+ }
103
+
104
+
105
+ ?>
admin/settings.php CHANGED
@@ -3,12 +3,13 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
3
 
4
  function nggallery_admin_options() {
5
 
6
- global $wpdb;
7
 
8
  // get the options
9
  $ngg_options=get_option('ngg_options');
10
 
11
  if ( isset($_POST['updateoption']) ) {
 
12
  // get the hidden option fields, taken from WP core
13
  if ( $_POST['page_options'] )
14
  $options = explode(',', stripslashes($_POST['page_options']));
@@ -29,62 +30,16 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
29
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
30
 
31
  ?>
 
 
 
 
 
32
  <script type="text/javascript">
33
- var currentTab = null;
34
- var inSlide = false;
35
- jQuery(document).ready(
36
- function()
37
- {
38
- var url, tab = 0, tabIteration = 0;
39
-
40
- url = window.location.href.split("#");
41
- if (url.length == 2 && url[1].indexOf('-slider') > 0) {
42
- currentTab = jQuery('#' + url[1].substr(0, url[1].length-7));
43
- if (currentTab.size() == 1) {
44
- jQuery('#slider div').each(
45
- function(iteration)
46
- {
47
- if(this === currentTab.get(0)) {
48
- tabIteration = iteration;
49
- }
50
- }
51
- );
52
- }
53
- }
54
-
55
- if(!currentTab) {
56
- currentTab = jQuery('#slider div:first');
57
- }
58
- //Nicer, but buggy: DropToggleRight
59
- currentTab.SlideToggleUp(500);
60
- jQuery('#tabs a')
61
- .eq(tabIteration).addClass('active')
62
- .end()
63
- .bind('click', switchTab);
64
- }
65
- );
66
-
67
- var switchTab = function()
68
- {
69
- // get id from link
70
- var tabName = this.href.split('#')[1];
71
- this.blur();
72
- if (inSlide == false && currentTab.get(0) != jQuery('#' + tabName.substr(0, tabName.length-7)).get(0)) {
73
- jQuery('#tabs a').removeClass('active');
74
- jQuery(this).addClass('active');
75
- inSlide = true;
76
- currentTab.SlideToggleUp(
77
- 500,
78
- function()
79
- {
80
- currentTab = jQuery('#' + tabName.substr(0, tabName.length-7)).SlideToggleUp(500, function(){inSlide=false;});
81
- }
82
- );
83
- } else {
84
- return false;
85
- }
86
- };
87
-
88
  function insertcode(value) {
89
  var effectcode;
90
  switch (value) {
@@ -109,31 +64,31 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
109
  }
110
  jQuery("#thumbCode").val(effectcode);
111
  };
 
112
  function setcolor(fileid,color) {
113
  jQuery(fileid).css("background", color );
114
  };
115
  </script>
116
- <div class="wrap" style="text-align: center">
117
- <div id="tabs">
118
- <a href="#generaloptions-slider"><?php _e('General Options', 'nggallery') ;?></a> -
119
- <a href="#thumbnails-slider"><?php _e('Thumbnails', 'nggallery') ;?></a> -
120
- <a href="#images-slider"><?php _e('Images', 'nggallery') ;?></a> -
121
- <a href="#gallery-slider"><?php _e('Gallery', 'nggallery') ;?></a> -
122
- <a href="#effects-slider"><?php _e('Effects', 'nggallery') ;?></a> -
123
- <a href="#watermark-slider"><?php _e('Watermark', 'nggallery') ;?></a> -
124
- <a href="#slideshow-slider"><?php _e('Slideshow', 'nggallery') ;?></a>
125
- </div>
126
- </div>
127
 
128
- <div class="wrap">
129
- <div id="slider">
130
 
 
 
 
 
 
 
 
 
 
 
131
  <!-- General Options -->
132
-
133
- <div id="generaloptions" style="display:none">
134
  <h2><?php _e('General Options','nggallery'); ?></h2>
135
  <form name="generaloptions" method="post">
136
- <input type="hidden" name="page_options" value="gallerypath,scanfolder,deleteImg" />
 
137
  <fieldset class="options">
138
  <table class="optiontable editform">
139
  <tr valign="top">
@@ -141,17 +96,41 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
141
  <td><input type="text" size="35" name="gallerypath" value="<?php echo $ngg_options[gallerypath]; ?>" title="TEST" /><br />
142
  <?php _e('This is the default path for all galleries','nggallery') ?></td>
143
  </tr>
 
 
144
  <tr valign="top">
145
- <th align="left"><?php _e('Scan folders during runtime','nggallery') ?></th>
146
- <td><input type="checkbox" name="scanfolder" value="1" <?php checked('1', $ngg_options[scanfolder]); ?> /><br />
147
- <?php _e('Search automatic in the folders for new images (not working)','nggallery') ?></td>
148
  </tr>
 
149
  <tr valign="top">
150
  <th align="left"><?php _e('Delete image files','nggallery') ?></th>
151
  <td><input type="checkbox" name="deleteImg" value="1" <?php checked('1', $ngg_options[deleteImg]); ?> /><br />
152
  <?php _e('Delete files, when removing a gallery in the database','nggallery') ?></td>
153
  </tr>
154
  </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
156
  </fieldset>
157
  </form>
@@ -159,9 +138,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
159
 
160
  <!-- Thumbnail settings -->
161
 
162
- <div id="thumbnails" style="display:none">
163
  <h2><?php _e('Thumbnail settings','nggallery'); ?></h2>
164
- <form name="thumbnailsettings" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#thumbnails-slider'; ?>" >
 
165
  <input type="hidden" name="page_options" value="thumbwidth,thumbheight,thumbfix,thumbcrop,thumbquality,thumbResampleMode" />
166
  <fieldset class="options">
167
  <p><?php _e('Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery .', 'nggallery') ?></p>
@@ -198,15 +178,17 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
198
 
199
  <!-- Image settings -->
200
 
201
- <div id="images" style="display:none">
202
  <h2><?php _e('Image settings','nggallery'); ?></h2>
203
- <form name="imagesettings" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#images-slider'; ?>" >
204
- <input type="hidden" name="page_options" value="imgResize,imgWidth,imgHeight,imgQuality,imgResampleMode,imgSinglePicLink" />
 
205
  <fieldset class="options">
206
  <table class="optiontable">
207
  <tr valign="top">
208
  <th scope="row"><label for="fixratio"><?php _e('Resize Images','nggallery') ?></label></th>
209
- <td><input id="fixratio" type="checkbox" name="imgResize" value="1" <?php checked('1', $ngg_options[imgResize]); ?> /> </td>
 
210
  <td><input type="text" size="5" name="imgWidth" value="<?php echo $ngg_options[imgWidth]; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg_options[imgHeight]; ?>" /><br />
211
  <?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></td>
212
  </tr>
@@ -221,12 +203,6 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
221
  <td><input type="text" size="1" maxlength="1" name="imgResampleMode" value="<?php echo $ngg_options[imgResampleMode]; ?>" /><br />
222
  <?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
223
  </tr>
224
- <tr valign="top">
225
- <th align="left"><?php _e('Add link in [singlepic] tag ','nggallery') ?></th>
226
- <td></td>
227
- <td><input type="checkbox" name="imgSinglePicLink" value="1" <?php checked('1', $ngg_options[imgSinglePicLink]); ?> /><br />
228
- <?php _e('Add the fullsize picture as link. Didn\'t support watermark mode on the fly.','nggallery') ?></td>
229
- </tr>
230
  </table>
231
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
232
  </fieldset>
@@ -235,10 +211,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
235
 
236
  <!-- Gallery settings -->
237
 
238
- <div id="gallery" style="display:none">
239
  <h2><?php _e('Gallery settings','nggallery'); ?></h2>
240
- <form name="galleryform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#gallery-slider'; ?>" >
241
- <input type="hidden" name="page_options" value="galUsejQuery,galNoPages,galImages,galShowSlide,galTextSlide,galTextGallery,galShowOrder,galSort,galSortDir,ImgBrHead,ImgBrDesc,ImgBrTextBack,ImgBrTextNext" />
 
242
  <fieldset class="options">
243
  <table class="optiontable">
244
  <tr>
@@ -273,41 +250,35 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
273
  </td>
274
  </tr>
275
  <tr>
276
- <th valign="top"><?php _e('Sort thumbnails','nggallery') ?>:</th>
277
- <td><label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg_options[galSort]); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
278
- <label><input name="galSort" type="radio" value="filename" <?php checked('filename', $ngg_options[galSort]); ?> /> <?php _e('File name', 'nggallery') ;?></label><br />
279
- <label><input name="galSort" type="radio" value="alttext" <?php checked('alttext', $ngg_options[galSort]); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
280
  </td>
281
  </tr>
282
  <tr>
283
- <th valign="top"><?php _e('Sort direction','nggallery') ?>:</th>
284
- <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg_options[galSortDir]); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
285
- <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg_options[galSortDir]); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
286
  </td>
287
  </tr>
288
  </table>
289
- <legend><?php _e('Image Browser','nggallery') ?></legend>
290
  <table class="optiontable">
291
  <tr>
292
- <th valign="top"><?php _e('Show title as headline','nggallery') ?>:</th>
293
- <td><input name="ImgBrHead" type="checkbox" value="1" <?php checked('1', $ngg_options[ImgBrHead]); ?> />
294
- <?php _e('The alt/title text is shown as H3 headline ','nggallery') ?>
295
- </td>
296
- </tr>
297
- <tr>
298
- <th valign="top"><?php _e('Show image description','nggallery') ?>:</th>
299
- <td><input name="ImgBrDesc" type="checkbox" value="1" <?php checked('1', $ngg_options[ImgBrDesc]); ?> />
300
- <?php _e('The description text is shown below the picture','nggallery') ?>
301
  </td>
302
  </tr>
303
  <tr>
304
- <th valign="top"><?php _e('Navigation text','nggallery') ?>:</th>
305
- <td>
306
- <input type="text" name="ImgBrTextBack" value="<?php echo $ngg_options[ImgBrTextBack] ?>" size="20" />
307
- <input type="text" name="ImgBrTextNext" value="<?php echo $ngg_options[ImgBrTextNext] ?>" size="20" />
308
  </td>
309
  </tr>
310
- </table>
311
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
312
  </fieldset>
313
  </form>
@@ -315,9 +286,10 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
315
 
316
  <!-- Effects settings -->
317
 
318
- <div id="effects" style="display:none">
319
  <h2><?php _e('Effects','nggallery'); ?></h2>
320
- <form name="effectsform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#effects-slider'; ?>" >
 
321
  <input type="hidden" name="page_options" value="thumbEffect,thumbCode,thickboxImage" />
322
  <p><?php _e('Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme.','nggallery'); ?>
323
  <?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>
@@ -366,9 +338,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
366
  if ($imageID) $imageURL = '<img width="75%" src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID->pid.'&amp;mode=watermark&amp;width=320&amp;height=240" alt="'.$imageID->alttext.'" title="'.$imageID->alttext.'" />';
367
 
368
  ?>
369
- <div id="watermark" style="display:none">
370
  <h2><?php _e('Watermark','nggallery'); ?></h2>
371
- <form name="watermarkform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#watermark-slider'; ?>" >
 
 
372
  <input type="hidden" name="page_options" value="wmPos,wmXpos,wmYpos,wmType,wmPath,wmFont,wmSize,wmColor,wmText,wmOpaque" />
373
  <div id="zeitgeist">
374
  <h3><?php _e('Preview','nggallery') ?></h3>
@@ -467,14 +441,15 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
467
 
468
  <!-- Slideshow settings -->
469
 
470
- <div id="slideshow" style="display:none">
471
  <form name="player_options" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#slideshow-slider'; ?>" >
 
472
  <input type="hidden" name="page_options" value="irWidth,irHeight,irShuffle,irLinkfromdisplay,irShownavigation,irShowicons,irWatermark,irOverstretch,irRotatetime,irTransition,irKenburns,irBackcolor,irFrontcolor,irLightcolor,irAudio,irXHTMLvalid" />
473
  <h2><?php _e('Slideshow','nggallery'); ?></h2>
474
  <fieldset class="options">
475
  <?php if (!NGGALLERY_IREXIST) { ?><p><div id="message" class="error fade"><p><?php _e('The imagerotator.swf is not in the nggallery folder, the slideshow will not work.','nggallery') ?></p></div></p><?php }?>
476
  <p><?php _e('The settings are used in the JW Image Rotator Version 3.9 .', 'nggallery') ?>
477
- <?php _e('See more information for the Flash Player on the web page', 'nggallery') ?> <a href="http://www.jeroenwijering.com/?item=JW_Image_Rotator" target="_blank">JW Image Rotator from Jeroen Wijering</a>.<br />
478
  <table class="optiontable" border="0" >
479
  <tr>
480
  <th><?php _e('Default size (W x H)','nggallery') ?>:</th>
@@ -567,7 +542,6 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
567
  </form>
568
  </div>
569
  </div>
570
- </div>
571
 
572
  <?php
573
  }
3
 
4
  function nggallery_admin_options() {
5
 
6
+ global $wpdb, $wp_version;
7
 
8
  // get the options
9
  $ngg_options=get_option('ngg_options');
10
 
11
  if ( isset($_POST['updateoption']) ) {
12
+ check_admin_referer('ngg_settings');
13
  // get the hidden option fields, taken from WP core
14
  if ( $_POST['page_options'] )
15
  $options = explode(',', stripslashes($_POST['page_options']));
30
  if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
31
 
32
  ?>
33
+ <link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/js/jquery.tabs.css" type="text/css" media="print, projection, screen"/>
34
+ <!-- Additional IE/Win specific style sheet (Conditional Comments) -->
35
+ <!--[if lte IE 7]>
36
+ <link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/js/jquery.tabs-ie.css" type="text/css" media="projection, screen"/>
37
+ <![endif]-->
38
  <script type="text/javascript">
39
+ jQuery(function() {
40
+ jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' });
41
+ });
42
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  function insertcode(value) {
44
  var effectcode;
45
  switch (value) {
64
  }
65
  jQuery("#thumbCode").val(effectcode);
66
  };
67
+
68
  function setcolor(fileid,color) {
69
  jQuery(fileid).css("background", color );
70
  };
71
  </script>
 
 
 
 
 
 
 
 
 
 
 
72
 
73
+ <div id="slider" class="wrap">
 
74
 
75
+ <ul id="tabs">
76
+ <li><a href="#generaloptions"><?php _e('General Options', 'nggallery') ;?></a></li>
77
+ <li><a href="#thumbnails"><?php _e('Thumbnails', 'nggallery') ;?></a></li>
78
+ <li><a href="#images"><?php _e('Images', 'nggallery') ;?></a></li>
79
+ <li><a href="#gallery"><?php _e('Gallery', 'nggallery') ;?></a></li>
80
+ <li><a href="#effects"><?php _e('Effects', 'nggallery') ;?></a></li>
81
+ <li><a href="#watermark"><?php _e('Watermark', 'nggallery') ;?></a></li>
82
+ <li><a href="#slideshow"><?php _e('Slideshow', 'nggallery') ;?></a></li>
83
+ </ul>
84
+
85
  <!-- General Options -->
86
+
87
+ <div id="generaloptions">
88
  <h2><?php _e('General Options','nggallery'); ?></h2>
89
  <form name="generaloptions" method="post">
90
+ <?php wp_nonce_field('ngg_settings') ?>
91
+ <input type="hidden" name="page_options" value="gallerypath,scanfolder,deleteImg,activateTags,appendType,maxImages" />
92
  <fieldset class="options">
93
  <table class="optiontable editform">
94
  <tr valign="top">
96
  <td><input type="text" size="35" name="gallerypath" value="<?php echo $ngg_options[gallerypath]; ?>" title="TEST" /><br />
97
  <?php _e('This is the default path for all galleries','nggallery') ?></td>
98
  </tr>
99
+ <!--TODO: Later... -->
100
+ <!--
101
  <tr valign="top">
102
+ <th align="left"><?php //_e('Scan folders during runtime','nggallery') ?></th>
103
+ <td><input type="checkbox" name="scanfolder" value="1" <?php //checked('1', $ngg_options[scanfolder]); ?> /><br />
104
+ <?php //_e('Search automatic in the folders for new images (not working)','nggallery') ?></td>
105
  </tr>
106
+ -->
107
  <tr valign="top">
108
  <th align="left"><?php _e('Delete image files','nggallery') ?></th>
109
  <td><input type="checkbox" name="deleteImg" value="1" <?php checked('1', $ngg_options[deleteImg]); ?> /><br />
110
  <?php _e('Delete files, when removing a gallery in the database','nggallery') ?></td>
111
  </tr>
112
  </table>
113
+ <legend><?php _e('Tags / Categories','nggallery') ?></legend>
114
+ <table class="optiontable">
115
+ <tr>
116
+ <th valign="top"><?php _e('Activate related images','nggallery') ?>:</th>
117
+ <td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg_options[activateTags]); ?> />
118
+ <?php _e('This option will append related images to every post','nggallery') ?>
119
+ </td>
120
+ </tr>
121
+ <tr>
122
+ <th valign="top"><?php _e('Match with','nggallery') ?>:</th>
123
+ <td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg_options[appendType]); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br />
124
+ <label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg_options[appendType]); ?> /> <?php _e('Tags', 'nggallery') ;?><?php if (version_compare($wp_version, '2.3.alpha', '<')) _e(' (require WordPress 2.3 or higher)', 'nggallery'); ?></label>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <th valign="top"><?php _e('Max. number of images','nggallery') ?>:</th>
129
+ <td><input type="text" name="maxImages" value="<?php echo $ngg_options[maxImages] ?>" size="3" maxlength="3" /><br />
130
+ <?php _e('0 will show all images','nggallery') ?>
131
+ </td>
132
+ </tr>
133
+ </table>
134
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
135
  </fieldset>
136
  </form>
138
 
139
  <!-- Thumbnail settings -->
140
 
141
+ <div id="thumbnails">
142
  <h2><?php _e('Thumbnail settings','nggallery'); ?></h2>
143
+ <form name="thumbnailsettings" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#thumbnails'; ?>" >
144
+ <?php wp_nonce_field('ngg_settings') ?>
145
  <input type="hidden" name="page_options" value="thumbwidth,thumbheight,thumbfix,thumbcrop,thumbquality,thumbResampleMode" />
146
  <fieldset class="options">
147
  <p><?php _e('Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery .', 'nggallery') ?></p>
178
 
179
  <!-- Image settings -->
180
 
181
+ <div id="images">
182
  <h2><?php _e('Image settings','nggallery'); ?></h2>
183
+ <form name="imagesettings" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#images'; ?>" >
184
+ <?php wp_nonce_field('ngg_settings') ?>
185
+ <input type="hidden" name="page_options" value="imgResize,imgWidth,imgHeight,imgQuality,imgResampleMode" />
186
  <fieldset class="options">
187
  <table class="optiontable">
188
  <tr valign="top">
189
  <th scope="row"><label for="fixratio"><?php _e('Resize Images','nggallery') ?></label></th>
190
+ <!--TODO: checkbox fixratio can be used later -->
191
+ <td><input type="hidden" name="imgResize" value="1" <?php checked('1', $ngg_options[imgResize]); ?> /> </td>
192
  <td><input type="text" size="5" name="imgWidth" value="<?php echo $ngg_options[imgWidth]; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg_options[imgHeight]; ?>" /><br />
193
  <?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></td>
194
  </tr>
203
  <td><input type="text" size="1" maxlength="1" name="imgResampleMode" value="<?php echo $ngg_options[imgResampleMode]; ?>" /><br />
204
  <?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
205
  </tr>
 
 
 
 
 
 
206
  </table>
207
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
208
  </fieldset>
211
 
212
  <!-- Gallery settings -->
213
 
214
+ <div id="gallery">
215
  <h2><?php _e('Gallery settings','nggallery'); ?></h2>
216
+ <form name="galleryform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#gallery'; ?>" >
217
+ <?php wp_nonce_field('ngg_settings') ?>
218
+ <input type="hidden" name="page_options" value="galUsejQuery,galNoPages,galImages,galShowSlide,galTextSlide,galTextGallery,galShowOrder,galShowDesc,galImgBrowser,galSort,galSortDir" />
219
  <fieldset class="options">
220
  <table class="optiontable">
221
  <tr>
250
  </td>
251
  </tr>
252
  <tr>
253
+ <th valign="top"><?php _e('Show thumbnail description','nggallery') ?>:</th>
254
+ <td><label><input name="galShowDesc" type="radio" value="none" <?php checked('none', $ngg_options[galShowDesc]); ?> /> <?php _e('None', 'nggallery') ;?></label><br />
255
+ <label><input name="galShowDesc" type="radio" value="desc" <?php checked('desc', $ngg_options[galShowDesc]); ?> /> <?php _e('Description text', 'nggallery') ;?></label><br />
256
+ <label><input name="galShowDesc" type="radio" value="alttext" <?php checked('alttext', $ngg_options[galShowDesc]); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
257
  </td>
258
  </tr>
259
  <tr>
260
+ <th valign="top"><?php _e('Show ImageBrowser','nggallery') ?>:</th>
261
+ <td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg_options[galImgBrowser]); ?> />
262
+ <?php _e('The gallery will open the ImageBrowser instead the effect.','nggallery') ?>
263
  </td>
264
  </tr>
265
  </table>
266
+ <legend><?php _e('Sort options','nggallery') ?></legend>
267
  <table class="optiontable">
268
  <tr>
269
+ <th valign="top"><?php _e('Sort thumbnails','nggallery') ?>:</th>
270
+ <td><label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg_options[galSort]); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
271
+ <label><input name="galSort" type="radio" value="filename" <?php checked('filename', $ngg_options[galSort]); ?> /> <?php _e('File name', 'nggallery') ;?></label><br />
272
+ <label><input name="galSort" type="radio" value="alttext" <?php checked('alttext', $ngg_options[galSort]); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
 
 
 
 
 
273
  </td>
274
  </tr>
275
  <tr>
276
+ <th valign="top"><?php _e('Sort direction','nggallery') ?>:</th>
277
+ <td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg_options[galSortDir]); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
278
+ <label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg_options[galSortDir]); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
 
279
  </td>
280
  </tr>
281
+ </table>
282
  <div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> &raquo;"/></div>
283
  </fieldset>
284
  </form>
286
 
287
  <!-- Effects settings -->
288
 
289
+ <div id="effects">
290
  <h2><?php _e('Effects','nggallery'); ?></h2>
291
+ <form name="effectsform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#effects'; ?>" >
292
+ <?php wp_nonce_field('ngg_settings') ?>
293
  <input type="hidden" name="page_options" value="thumbEffect,thumbCode,thickboxImage" />
294
  <p><?php _e('Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme.','nggallery'); ?>
295
  <?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>
338
  if ($imageID) $imageURL = '<img width="75%" src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID->pid.'&amp;mode=watermark&amp;width=320&amp;height=240" alt="'.$imageID->alttext.'" title="'.$imageID->alttext.'" />';
339
 
340
  ?>
341
+ <div id="watermark">
342
  <h2><?php _e('Watermark','nggallery'); ?></h2>
343
+ <p><?php _e('Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone.', 'nggallery') ?></p>
344
+ <form name="watermarkform" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#watermark'; ?>" >
345
+ <?php wp_nonce_field('ngg_settings') ?>
346
  <input type="hidden" name="page_options" value="wmPos,wmXpos,wmYpos,wmType,wmPath,wmFont,wmSize,wmColor,wmText,wmOpaque" />
347
  <div id="zeitgeist">
348
  <h3><?php _e('Preview','nggallery') ?></h3>
441
 
442
  <!-- Slideshow settings -->
443
 
444
+ <div id="slideshow">
445
  <form name="player_options" method="POST" action="<?php echo htmlspecialchars($_SERVER['REQUEST_URI']).'#slideshow-slider'; ?>" >
446
+ <?php wp_nonce_field('ngg_settings') ?>
447
  <input type="hidden" name="page_options" value="irWidth,irHeight,irShuffle,irLinkfromdisplay,irShownavigation,irShowicons,irWatermark,irOverstretch,irRotatetime,irTransition,irKenburns,irBackcolor,irFrontcolor,irLightcolor,irAudio,irXHTMLvalid" />
448
  <h2><?php _e('Slideshow','nggallery'); ?></h2>
449
  <fieldset class="options">
450
  <?php if (!NGGALLERY_IREXIST) { ?><p><div id="message" class="error fade"><p><?php _e('The imagerotator.swf is not in the nggallery folder, the slideshow will not work.','nggallery') ?></p></div></p><?php }?>
451
  <p><?php _e('The settings are used in the JW Image Rotator Version 3.9 .', 'nggallery') ?>
452
+ <?php _e('See more information for the Flash Player on the web page', 'nggallery') ?> <a href="http://www.jeroenwijering.com/?item=JW_Image_Rotator" target="_blank">JW Image Rotator from Jeroen Wijering</a>.</p>
453
  <table class="optiontable" border="0" >
454
  <tr>
455
  <th><?php _e('Default size (W x H)','nggallery') ?>:</th>
542
  </form>
543
  </div>
544
  </div>
 
545
 
546
  <?php
547
  }
admin/setup.php CHANGED
@@ -5,19 +5,34 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
5
  global $wpdb;
6
 
7
  if (isset($_POST['resetdefault'])) {
 
 
8
  ngg_default_options();
9
 
10
  $messagetext = '<font color="green">'.__('Reset all settings to default parameter','nggallery').'</font>';
11
  }
12
 
13
  if (isset($_POST['uninstall'])) {
 
 
14
 
15
  $wpdb->query("DROP TABLE $wpdb->nggpictures");
16
  $wpdb->query("DROP TABLE $wpdb->nggallery");
17
  $wpdb->query("DROP TABLE $wpdb->nggalbum");
 
 
18
 
19
  delete_option( "ngg_options" );
20
  delete_option( "ngg_db_version");
 
 
 
 
 
 
 
 
 
21
 
22
  $messagetext = '<font color="green">'.__('Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !','nggallery').'</font>';
23
  }
@@ -30,6 +45,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
30
  <div class="wrap">
31
  <h2><?php _e('Reset options', 'nggallery') ;?></h2>
32
  <form name="resetsettings" method="post">
 
33
  <p><?php _e('Reset all options/settings to the default installation.', 'nggallery') ;?></p>
34
  <div align="center"><input type="submit" class="button" name="resetdefault" value="<?php _e('Reset settings', 'nggallery') ;?>" onclick="javascript:check=confirm('<?php _e('Reset all options to default settings ?\n\nChoose [Cancel] to Stop, [OK] to proceed.\n','nggallery'); ?>');if(check==false) return false;" /></div>
35
  </form>
@@ -40,7 +56,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
40
  <p><?php _e('You don\'t like NextGEN Gallery ?', 'nggallery') ;?></p>
41
  <p><?php _e('No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. ', 'nggallery') ;?>
42
  <p ><font color="red"><strong><?php _e('WARNING:', 'nggallery') ;?></strong><br />
43
- <?php _e('Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables', 'nggallery') ;?> <strong><?php echo $wpdb->nggpictures; ?></strong>, <strong><?php echo $wpdb->nggallery; ?></strong> <?php _e('and', 'nggallery') ;?> <strong><?php echo $wpdb->nggalbum; ?></strong>.</font></p>
44
  <div align="center">
45
  <input type="submit" name="uninstall" class="button delete" value="<?php _e('Uninstall plugin', 'nggallery') ?>" onclick="javascript:check=confirm('<?php _e('You are about to Uninstall this plugin from WordPress.\nThis action is not reversible.\n\nChoose [Cancel] to Stop, [OK] to Uninstall.\n','nggallery'); ?>');if(check==false) return false;"/>
46
  </div>
@@ -50,4 +66,17 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
50
  <?php
51
  }
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  ?>
5
  global $wpdb;
6
 
7
  if (isset($_POST['resetdefault'])) {
8
+ check_admin_referer('ngg_uninstall');
9
+
10
  ngg_default_options();
11
 
12
  $messagetext = '<font color="green">'.__('Reset all settings to default parameter','nggallery').'</font>';
13
  }
14
 
15
  if (isset($_POST['uninstall'])) {
16
+
17
+ check_admin_referer('ngg_uninstall');
18
 
19
  $wpdb->query("DROP TABLE $wpdb->nggpictures");
20
  $wpdb->query("DROP TABLE $wpdb->nggallery");
21
  $wpdb->query("DROP TABLE $wpdb->nggalbum");
22
+ $wpdb->query("DROP TABLE $wpdb->nggtags");
23
+ $wpdb->query("DROP TABLE $wpdb->nggpic2tags");
24
 
25
  delete_option( "ngg_options" );
26
  delete_option( "ngg_db_version");
27
+
28
+ // now remove the capability
29
+ ngg_remove_capability("NextGEN Gallery overview");
30
+ ngg_remove_capability("NextGEN Use TinyMCE");
31
+ ngg_remove_capability("NextGEN Upload images");
32
+ ngg_remove_capability("NextGEN Manage gallery");
33
+ ngg_remove_capability("NextGEN Edit album");
34
+ ngg_remove_capability("NextGEN Change style");
35
+ ngg_remove_capability("NextGEN Change options");
36
 
37
  $messagetext = '<font color="green">'.__('Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !','nggallery').'</font>';
38
  }
45
  <div class="wrap">
46
  <h2><?php _e('Reset options', 'nggallery') ;?></h2>
47
  <form name="resetsettings" method="post">
48
+ <?php wp_nonce_field('ngg_uninstall') ?>
49
  <p><?php _e('Reset all options/settings to the default installation.', 'nggallery') ;?></p>
50
  <div align="center"><input type="submit" class="button" name="resetdefault" value="<?php _e('Reset settings', 'nggallery') ;?>" onclick="javascript:check=confirm('<?php _e('Reset all options to default settings ?\n\nChoose [Cancel] to Stop, [OK] to proceed.\n','nggallery'); ?>');if(check==false) return false;" /></div>
51
  </form>
56
  <p><?php _e('You don\'t like NextGEN Gallery ?', 'nggallery') ;?></p>
57
  <p><?php _e('No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. ', 'nggallery') ;?>
58
  <p ><font color="red"><strong><?php _e('WARNING:', 'nggallery') ;?></strong><br />
59
+ <?php _e('Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables', 'nggallery') ;?> <strong><?php echo $wpdb->nggpictures; ?></strong>, <strong><?php echo $wpdb->nggalbum; ?></strong>, <strong><?php echo $wpdb->nggtags; ?></strong>, <strong><?php echo $wpdb->nggpic2tags; ?></strong> <?php _e('and', 'nggallery') ;?> <strong><?php echo $wpdb->nggalbum; ?></strong>.</font></p>
60
  <div align="center">
61
  <input type="submit" name="uninstall" class="button delete" value="<?php _e('Uninstall plugin', 'nggallery') ?>" onclick="javascript:check=confirm('<?php _e('You are about to Uninstall this plugin from WordPress.\nThis action is not reversible.\n\nChoose [Cancel] to Stop, [OK] to Uninstall.\n','nggallery'); ?>');if(check==false) return false;"/>
62
  </div>
66
  <?php
67
  }
68
 
69
+ function ngg_remove_capability($capability){
70
+ // This function remove the $capability
71
+ $check_order = array("subscriber", "contributor", "author", "editor", "administrator");
72
+
73
+ foreach ($check_order as $role) {
74
+
75
+ $role = get_role($role);
76
+ $role->remove_cap($capability) ;
77
+ }
78
+
79
+ }
80
+
81
+
82
  ?>
admin/style.php CHANGED
@@ -6,6 +6,7 @@ function nggallery_admin_style() {
6
  $ngg_options = get_option('ngg_options');
7
 
8
  if (isset($_POST['css'])) {
 
9
  $act_cssfile = $_POST['css'];
10
  if (isset($_POST['activate'])) {
11
  // save option now
@@ -26,6 +27,8 @@ if (isset($_POST['css'])) {
26
  $real_file = NGGALLERY_ABSPATH."css/".$act_cssfile;
27
 
28
  if (isset($_POST['updatecss'])) {
 
 
29
 
30
  if ( !current_user_can('edit_themes') )
31
  wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
@@ -58,6 +61,7 @@ if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="up
58
  ?>
59
  <div class="wrap">
60
  <form name="cssfiles" method="post">
 
61
  <input type="checkbox" name="activateCSS" value="1" <?php checked('1', $ngg_options[activateCSS]); ?> />
62
  <?php _e('Activate and use style sheet:','nggallery') ?>
63
  <select name="css" id="css" onchange="this.form.submit();">
6
  $ngg_options = get_option('ngg_options');
7
 
8
  if (isset($_POST['css'])) {
9
+ check_admin_referer('ngg_style');
10
  $act_cssfile = $_POST['css'];
11
  if (isset($_POST['activate'])) {
12
  // save option now
27
  $real_file = NGGALLERY_ABSPATH."css/".$act_cssfile;
28
 
29
  if (isset($_POST['updatecss'])) {
30
+
31
+ check_admin_referer('ngg_style');
32
 
33
  if ( !current_user_can('edit_themes') )
34
  wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
61
  ?>
62
  <div class="wrap">
63
  <form name="cssfiles" method="post">
64
+ <?php wp_nonce_field('ngg_style') ?>
65
  <input type="checkbox" name="activateCSS" value="1" <?php checked('1', $ngg_options[activateCSS]); ?> />
66
  <?php _e('Activate and use style sheet:','nggallery') ?>
67
  <select name="css" id="css" onchange="this.form.submit();">
changelog.txt CHANGED
@@ -1,6 +1,35 @@
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  V0.64 - 31.07.2007
5
  - Bugfix : Remove arrows in image browser text
6
  - Bugfix : Include nggadmintab.php with dirname
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
4
+ V0.70
5
+ - NEW : Add role manager page and capabilities
6
+ - NEW : Show gallery with [tags=list of tags]
7
+ - NEW : Show album with [albumtags=list of tags]
8
+ - NEW : Tag system for all images
9
+ - NEW : Option for append related images
10
+ - NEW : Option to show description below thumbnail
11
+ - NEW : Option to show ImageBrowser instead JS effect
12
+ - Added : Add Full size link to thickbox
13
+ - Added : Check for page/postid in tag processing
14
+ - Added : Sildeshow widget can now contain all images
15
+ - Added : Minimize/Maximize option for albums
16
+ - Added : Deregister jQuery V1.1.2 for WP2.2 (to use V1.1.3.1)
17
+ - Added : Integrate wp_nonce_field at all admin pages
18
+ - Changed : Update to Thickbox 3.1 + mods for NextGEN gallery
19
+ - Changed : Moved "clear:both" into class "ngg-clear" (THX to Gero)
20
+ - Changed : Switched from jQuery Interface to jQuery Tabs from Klaus Hartl
21
+ - Remove : Remove option for singlepic link
22
+ - Remove : Remove options for imagebrowser
23
+ - Bugfix : Most Recent image in Widget are wrong
24
+ - Bugfix : More XHTML valid , htmlspecialchars() after add_query_arg()
25
+ - Bugfix : Sanitize file name before upload
26
+ - Bugfix : Sanitize folder name (THX to Tom Fowler)
27
+ - Bugfix : Show title/alt in jQuery plugin (THX to Gregory Green)
28
+ - Bugfix : i18n support for Gallery tab
29
+ - Bugfix : Reduce memory-needs for plugin
30
+ - Bugfix : Typo/spelling correction
31
+ - Bugfix : Removed myGallery author from contribute list
32
+
33
  V0.64 - 31.07.2007
34
  - Bugfix : Remove arrows in image browser text
35
  - Bugfix : Include nggadmintab.php with dirname
css/Black_Minimalism .css CHANGED
@@ -2,7 +2,7 @@
2
  CSS Name: Black Minimalism Theme
3
  Description: For Black Minimalism Theme
4
  Author: Alex Rabe
5
- Version: 1.11
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
@@ -20,7 +20,8 @@ it's only a template design
20
  }
21
 
22
  .ngg-album {
23
- height: 130px;
 
24
  padding: 5px;
25
  margin-bottom: 5px;
26
  border: 1px solid #cccccc;
@@ -131,6 +132,17 @@ it's only a template design
131
  background-color: #A9A9A9;
132
  }
133
 
 
 
 
 
 
 
 
 
 
 
 
134
  /* ----------- Gallery navigation -------------*/
135
 
136
  .ngg-navigation {
@@ -236,4 +248,26 @@ it's only a template design
236
  border:2px solid #A9A9A9;
237
  margin:0pt 2px 2px 0px;
238
  padding:1px;
239
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  CSS Name: Black Minimalism Theme
3
  Description: For Black Minimalism Theme
4
  Author: Alex Rabe
5
+ Version: 1.20
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
20
  }
21
 
22
  .ngg-album {
23
+ /*height: 130px;*/
24
+ overflow:hidden;
25
  padding: 5px;
26
  margin-bottom: 5px;
27
  border: 1px solid #cccccc;
132
  background-color: #A9A9A9;
133
  }
134
 
135
+ .ngg-gallery-thumbnail span {
136
+ /* Images description */
137
+ font-size:90%;
138
+ padding-left:5px;
139
+ display:block;
140
+ }
141
+
142
+ .ngg-clear {
143
+ clear: both;
144
+ }
145
+
146
  /* ----------- Gallery navigation -------------*/
147
 
148
  .ngg-navigation {
248
  border:2px solid #A9A9A9;
249
  margin:0pt 2px 2px 0px;
250
  padding:1px;
251
+ }
252
+
253
+ /* ----------- Related images -------------*/
254
+ .ngg-related-gallery {
255
+ background:#F9F9F9;
256
+ border:1px solid #E0E0E0;
257
+ overflow:hidden;
258
+ margin-bottom:1em;
259
+ margin-top:1em;
260
+ padding:5px;
261
+ }
262
+ .ngg-related-gallery img {
263
+ border: 1px solid #DDDDDD;
264
+ float: left;
265
+ margin: 0pt 2px;
266
+ padding: 2px;
267
+ height: 50px;
268
+ width: 50px;
269
+ }
270
+
271
+ .ngg-related-gallery img:hover {
272
+ border: 1px solid #000000;
273
+ }
css/ngg_dKret2.css CHANGED
@@ -126,6 +126,17 @@ styles with the dKret2 theme.
126
  background-color: #A9A9A9;
127
  }
128
 
 
 
 
 
 
 
 
 
 
 
 
129
  /* ----------- Gallery navigation -------------*/
130
 
131
  .ngg-navigation {
@@ -234,3 +245,25 @@ styles with the dKret2 theme.
234
  margin:0pt 2px 2px 0px;
235
  padding:1px;
236
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  background-color: #A9A9A9;
127
  }
128
 
129
+ .ngg-gallery-thumbnail span {
130
+ /* Images description */
131
+ font-size:90%;
132
+ padding-left:5px;
133
+ display:block;
134
+ }
135
+
136
+ .ngg-clear {
137
+ clear: both;
138
+ }
139
+
140
  /* ----------- Gallery navigation -------------*/
141
 
142
  .ngg-navigation {
245
  margin:0pt 2px 2px 0px;
246
  padding:1px;
247
  }
248
+
249
+ /* ----------- Related images -------------*/
250
+ .ngg-related-gallery {
251
+ background:#F9F9F9;
252
+ border:1px solid #E0E0E0;
253
+ overflow:hidden;
254
+ margin-bottom:1em;
255
+ margin-top:1em;
256
+ padding:5px;
257
+ }
258
+ .ngg-related-gallery img {
259
+ border: 1px solid #DDDDDD;
260
+ float: left;
261
+ margin: 0pt 2px;
262
+ padding: 2px;
263
+ height: 50px;
264
+ width: 50px;
265
+ }
266
+
267
+ .ngg-related-gallery img:hover {
268
+ border: 1px solid #000000;
269
+ }
css/ngg_k2.css CHANGED
@@ -2,7 +2,7 @@
2
  CSS Name: K2 Theme
3
  Description: NextGEN Style for K2 Theme
4
  Author: Alex Rabe
5
- Version: 1.11
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
@@ -20,8 +20,9 @@ it's only a template design
20
  }
21
 
22
  .ngg-album {
 
 
23
  margin: 0px 0px 5px !important;
24
- height: 130px;
25
  padding: 5px;
26
  border: 1px solid #cccccc;
27
  }
@@ -134,8 +135,19 @@ it's only a template design
134
 
135
  .ngg-gallery-thumbnail img:hover {
136
  background-color: #A9A9A9;
 
 
 
 
 
 
 
137
  }
138
 
 
 
 
 
139
  /* ----------- Gallery navigation -------------*/
140
 
141
  .ngg-navigation {
@@ -242,3 +254,25 @@ it's only a template design
242
  margin:0pt 2px 2px 0px;
243
  padding:1px;
244
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  CSS Name: K2 Theme
3
  Description: NextGEN Style for K2 Theme
4
  Author: Alex Rabe
5
+ Version: 1.20
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
20
  }
21
 
22
  .ngg-album {
23
+ /*height: 130px;*/
24
+ overflow:hidden;
25
  margin: 0px 0px 5px !important;
 
26
  padding: 5px;
27
  border: 1px solid #cccccc;
28
  }
135
 
136
  .ngg-gallery-thumbnail img:hover {
137
  background-color: #A9A9A9;
138
+ }
139
+
140
+ .ngg-gallery-thumbnail span {
141
+ /* Images description */
142
+ font-size:90%;
143
+ padding-left:5px;
144
+ display:block;
145
  }
146
 
147
+ .ngg-clear {
148
+ clear: both;
149
+ }
150
+
151
  /* ----------- Gallery navigation -------------*/
152
 
153
  .ngg-navigation {
254
  margin:0pt 2px 2px 0px;
255
  padding:1px;
256
  }
257
+
258
+ /* ----------- Related images -------------*/
259
+ .ngg-related-gallery {
260
+ background:#F9F9F9;
261
+ border:1px solid #E0E0E0;
262
+ overflow:hidden;
263
+ margin-bottom:1em;
264
+ margin-top:1em;
265
+ padding:5px;
266
+ }
267
+ .ngg-related-gallery img {
268
+ border: 1px solid #DDDDDD;
269
+ float: left;
270
+ margin: 0pt 2px;
271
+ padding: 2px;
272
+ height: 50px;
273
+ width: 50px;
274
+ }
275
+
276
+ .ngg-related-gallery img:hover {
277
+ border: 1px solid #000000;
278
+ }
css/ngg_shadow.css CHANGED
@@ -2,7 +2,7 @@
2
  CSS Name: Shadow Effect
3
  Description: NextGEN Default Style with a Shadow effect
4
  Author: Alex Rabe
5
- Version: 1.11
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
@@ -20,7 +20,7 @@ it's only a template design
20
  }
21
 
22
  .ngg-album {
23
- height: 130px;
24
  padding: 5px;
25
  margin-bottom: 5px;
26
  border: 1px solid #cccccc;
@@ -128,6 +128,14 @@ it's only a template design
128
  background-color: #A9A9A9;
129
  }
130
 
 
 
 
 
 
 
 
 
131
  /* ----------- Gallery navigation -------------*/
132
 
133
  .ngg-navigation {
@@ -235,3 +243,25 @@ it's only a template design
235
  margin:0pt 2px 2px 0px;
236
  padding:1px;
237
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  CSS Name: Shadow Effect
3
  Description: NextGEN Default Style with a Shadow effect
4
  Author: Alex Rabe
5
+ Version: 1.20
6
 
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
20
  }
21
 
22
  .ngg-album {
23
+ /*height: 130px;*/
24
  padding: 5px;
25
  margin-bottom: 5px;
26
  border: 1px solid #cccccc;
128
  background-color: #A9A9A9;
129
  }
130
 
131
+ .ngg-gallery-thumbnail span {
132
+ display:none;
133
+ }
134
+
135
+ .ngg-clear {
136
+ clear: both;
137
+ }
138
+
139
  /* ----------- Gallery navigation -------------*/
140
 
141
  .ngg-navigation {
243
  margin:0pt 2px 2px 0px;
244
  padding:1px;
245
  }
246
+
247
+ /* ----------- Related images -------------*/
248
+ .ngg-related-gallery {
249
+ background:#F9F9F9;
250
+ border:1px solid #E0E0E0;
251
+ overflow:hidden;
252
+ margin-bottom:1em;
253
+ margin-top:1em;
254
+ padding:5px;
255
+ }
256
+ .ngg-related-gallery img {
257
+ border: 1px solid #DDDDDD;
258
+ float: left;
259
+ margin: 0pt 3px;
260
+ padding: 2px;
261
+ height: 50px;
262
+ width: 50px;
263
+ }
264
+
265
+ .ngg-related-gallery img:hover {
266
+ border: 1px solid #000000;
267
+ }
css/ngg_shadow2.css ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ CSS Name: Shadow Effect with Description text
3
+ Description: NextGEN Default Style with a Shadow effect and description text below the thumbnail
4
+ Author: Alex Rabe
5
+ Version: 1.20
6
+
7
+ This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
+ styles with a default theme Kubrick. Modify it when your theme struggle with it,
9
+ it's only a template design
10
+
11
+ */
12
+
13
+ /* ----------- Album Styles Extend -------------*/
14
+
15
+ .ngg-albumoverview {
16
+ margin-top: 10px;
17
+ width: 100%;
18
+ clear:both;
19
+ display:block !important;
20
+ }
21
+
22
+ .ngg-album {
23
+ /*height: 130px;*/
24
+ padding: 5px;
25
+ margin-bottom: 5px;
26
+ border: 1px solid #cccccc;
27
+ }
28
+
29
+ .ngg-albumtitle {
30
+ text-align: left;
31
+ font-weight: bold;
32
+ margin:0px;
33
+ padding:0px;
34
+ font-size: 1.4em;
35
+ margin-bottom: 10px;
36
+ }
37
+
38
+ .ngg-thumbnail {
39
+ float: left;
40
+ margin-right: 12px;
41
+ }
42
+
43
+ .ngg-thumbnail img {
44
+ background-color:#FFFFFF;
45
+ border:1px solid #A9A9A9;
46
+ margin:4px 0px 4px 5px;
47
+ padding:4px;
48
+ position:relative;
49
+ }
50
+
51
+ .ngg-thumbnail img:hover {
52
+ background-color: #A9A9A9;
53
+ }
54
+
55
+ .ngg-description {
56
+ text-align: left;
57
+ }
58
+
59
+ /* ----------- Album Styles Compact -------------*/
60
+
61
+ .ngg-album-compact {
62
+ float:left;
63
+ height:180px;
64
+ padding-right:6px !important;
65
+ margin:0px !important;
66
+ text-align:left;
67
+ width:120px;
68
+ }
69
+
70
+ .ngg-album-compactbox {
71
+ background:transparent url(albumset.gif) no-repeat scroll 0%;
72
+ height:86px;
73
+ margin:0pt 0pt 6px !important;
74
+ padding:12px 0pt 0pt 7px !important;
75
+ width:120px;
76
+ }
77
+
78
+
79
+ .ngg-album-compactbox .Thumb {
80
+ border:1px solid #000000;
81
+ margin:0px !important;
82
+ padding:0px !important;
83
+ }
84
+
85
+ .ngg-album-compact h4 {
86
+ font-size:15px;
87
+ font-weight:bold;
88
+ margin-bottom:0px;
89
+ margin-top:0px;
90
+ width:110px;
91
+ }
92
+
93
+ .ngg-album-compact p {
94
+ font-size:11px;
95
+ margin-top:2px;
96
+ }
97
+
98
+ /* ----------- Gallery style -------------*/
99
+
100
+ .ngg-galleryoverview {
101
+ margin-top: 10px;
102
+ width: 100%;
103
+ clear:both;
104
+ display:block !important;
105
+ }
106
+
107
+ .ngg-gallery-thumbnail-box {
108
+ float: left;
109
+ }
110
+
111
+ .ngg-gallery-thumbnail {
112
+ float: left;
113
+ background: url(shadowAlpha.png) no-repeat bottom right !important;
114
+ background: url(shadow.gif) no-repeat bottom right;
115
+ margin: 10px 0 0 10px !important;
116
+ /* Changes to show description */
117
+ padding:10px 00px 10px 15px;
118
+ border-color:#EEEEEE;
119
+ border-style:solid none none solid;
120
+ border-width:1px medium medium 1px;
121
+ }
122
+
123
+ .ngg-gallery-thumbnail img {
124
+ margin: -6px 6px 6px -6px;
125
+ background-color:#FFFFFF;
126
+ border:1px solid #A9A9A9;
127
+ display:block;
128
+ padding:4px;
129
+ position:relative;
130
+ }
131
+
132
+ .ngg-gallery-thumbnail img:hover {
133
+ background-color: #A9A9A9;
134
+ }
135
+
136
+ .ngg-gallery-thumbnail span {
137
+ margin: -6px 6px 6px -6px;
138
+ text-align:center;
139
+ font-size:90%;
140
+ color:#808080;
141
+ display:block;
142
+ }
143
+
144
+ .ngg-clear {
145
+ clear: both;
146
+ }
147
+
148
+ /* ----------- Gallery navigation -------------*/
149
+
150
+ .ngg-navigation {
151
+ font-size:0.9em !important;
152
+ clear:both !important;
153
+ display:block !important;
154
+ padding-top:15px;
155
+ text-align:center;
156
+ }
157
+
158
+ .ngg-navigation span {
159
+ font-weight:bold;
160
+ margin:0pt 6px;
161
+ }
162
+
163
+ .ngg-navigation a.page-numbers, a.next, a.prev,
164
+ span.page-numbers, span.next, span.prev {
165
+ border:1px solid #DDDDDD;
166
+ margin-right:3px;
167
+ padding:3px 7px;
168
+ }
169
+
170
+ .ngg-navigation a.page-numbers:hover, a.next:hover, a.prev:hover,
171
+ span.page-numbers:hover, span.next:hover, span.prev:hover {
172
+ background-color: #0066CC;
173
+ color: #FFFFFF !important;
174
+ text-decoration: none !important;
175
+ }
176
+
177
+ /* ----------- Image browser style -------------*/
178
+
179
+ .ngg-imagebrowser {
180
+
181
+ }
182
+
183
+ .ngg-imagebrowser h3 {
184
+ text-align:center;
185
+ }
186
+
187
+ .ngg-imagebrowser img {
188
+ border:1px solid #A9A9A9;
189
+ margin-top: 10px;
190
+ margin-bottom: 10px;
191
+ width: 100%;
192
+ display:block !important;
193
+ padding:5px;
194
+ }
195
+
196
+ .ngg-imagebrowser-nav {
197
+ padding:5px;
198
+ margin-left:10px;
199
+ }
200
+
201
+ .ngg-imagebrowser-nav .back {
202
+ float:left;
203
+ border:1px solid #DDDDDD;
204
+ margin-right:3px;
205
+ padding:3px 7px;
206
+ }
207
+
208
+ .ngg-imagebrowser-nav .next {
209
+ float:right;
210
+ border:1px solid #DDDDDD;
211
+ margin-right:3px;
212
+ padding:3px 7px;
213
+ }
214
+
215
+ .ngg-imagebrowser-nav .counter {
216
+ text-align:center;
217
+ font-size:0.9em !important;
218
+ }
219
+
220
+ /* ----------- Slideshow -------------*/
221
+ .slideshow {
222
+ margin-left: auto;
223
+ margin-right: auto;
224
+ text-align:center;
225
+ }
226
+
227
+ .slideshowlink {
228
+
229
+ }
230
+
231
+ /* ----------- Single picture -------------*/
232
+ .ngg-singlepic {
233
+ background-color:#FFFFFF;
234
+ border:1px solid #A9A9A9;
235
+ display:block;
236
+ margin:5px;
237
+ padding:4px;
238
+ position:relative;
239
+ }
240
+
241
+ /* ----------- Sidebar widget -------------*/
242
+
243
+ .ngg-widget,
244
+ .ngg-widget-slideshow {
245
+ overflow: hidden;
246
+ margin:0pt;
247
+ padding:5px 0px 0px 0pt;
248
+ }
249
+
250
+ .ngg-widget img {
251
+ border:2px solid #A9A9A9;
252
+ margin:0pt 2px 2px 0px;
253
+ padding:1px;
254
+ }
255
+
256
+ /* ----------- Related images -------------*/
257
+ .ngg-related-gallery {
258
+ background:#F9F9F9;
259
+ border:1px solid #E0E0E0;
260
+ overflow:hidden;
261
+ margin-bottom:1em;
262
+ margin-top:1em;
263
+ padding:5px;
264
+ }
265
+ .ngg-related-gallery img {
266
+ border: 1px solid #DDDDDD;
267
+ float: left;
268
+ margin: 0pt 3px;
269
+ padding: 2px;
270
+ height: 50px;
271
+ width: 50px;
272
+ }
273
+
274
+ .ngg-related-gallery img:hover {
275
+ border: 1px solid #000000;
276
+ }
css/nggallery.css CHANGED
@@ -2,7 +2,8 @@
2
  CSS Name: Default Styles
3
  Description: NextGEN Default Gallery Stylesheet
4
  Author: Alex Rabe
5
- Version: 1.11
 
6
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
7
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
8
  it's only a template design
@@ -19,8 +20,8 @@ it's only a template design
19
  }
20
 
21
  .ngg-album {
 
22
  overflow: hidden;
23
- height: 130px;
24
  padding: 5px;
25
  margin-bottom: 5px;
26
  border: 1px solid #cccccc;
@@ -127,6 +128,17 @@ it's only a template design
127
  background-color: #A9A9A9;
128
  }
129
 
 
 
 
 
 
 
 
 
 
 
 
130
  /* ----------- Gallery navigation -------------*/
131
 
132
  .ngg-navigation {
@@ -233,4 +245,26 @@ it's only a template design
233
  border:2px solid #A9A9A9;
234
  margin:0pt 2px 2px 0px;
235
  padding:1px;
236
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  CSS Name: Default Styles
3
  Description: NextGEN Default Gallery Stylesheet
4
  Author: Alex Rabe
5
+ Version: 1.20
6
+
7
  This is a template stylesheet that can be used with NextGEN Gallery. I tested the
8
  styles with a default theme Kubrick. Modify it when your theme struggle with it,
9
  it's only a template design
20
  }
21
 
22
  .ngg-album {
23
+ /*height: 130px;*/
24
  overflow: hidden;
 
25
  padding: 5px;
26
  margin-bottom: 5px;
27
  border: 1px solid #cccccc;
128
  background-color: #A9A9A9;
129
  }
130
 
131
+ .ngg-gallery-thumbnail span {
132
+ /* Images description */
133
+ font-size:90%;
134
+ padding-left:5px;
135
+ display:block;
136
+ }
137
+
138
+ .ngg-clear {
139
+ clear: both;
140
+ }
141
+
142
  /* ----------- Gallery navigation -------------*/
143
 
144
  .ngg-navigation {
245
  border:2px solid #A9A9A9;
246
  margin:0pt 2px 2px 0px;
247
  padding:1px;
248
+ }
249
+
250
+ /* ----------- Related images -------------*/
251
+ .ngg-related-gallery {
252
+ background:#F9F9F9;
253
+ border:1px solid #E0E0E0;
254
+ overflow:hidden;
255
+ margin-bottom:1em;
256
+ margin-top:1em;
257
+ padding:5px;
258
+ }
259
+ .ngg-related-gallery img {
260
+ border: 1px solid #DDDDDD;
261
+ float: left;
262
+ margin: 0pt 3px;
263
+ padding: 2px;
264
+ height: 50px;
265
+ width: 50px;
266
+ }
267
+
268
+ .ngg-related-gallery img:hover {
269
+ border: 1px solid #000000;
270
+ }
lang/nggallery-de_DE.mo CHANGED
Binary file
lang/nggallery-de_DE.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "POT-Creation-Date: \n"
5
- "PO-Revision-Date: 2007-07-10 18:21+0100\n"
6
  "Last-Translator: Alex Rabe\n"
7
  "Language-Team: Alex Rabe\n"
8
  "MIME-Version: 1.0\n"
@@ -30,17 +30,17 @@ msgid "URL"
30
  msgstr "URL"
31
 
32
  #: ../nggadmintab.php:136
33
- #: ../admin/manage.php:437
34
  #: ../js/nggadmintab-js.php:164
35
  msgid "Alt &amp; Title Text"
36
  msgstr "Alt &amp; Titel Text"
37
 
38
  #: ../nggadmintab.php:140
39
- #: ../admin/manage.php:222
40
- #: ../admin/manage.php:370
41
- #: ../admin/manage.php:436
42
  #: ../admin/myimport.php:52
43
- #: ../admin/style.php:97
44
  #: ../js/nggadmintab-js.php:167
45
  msgid "Description"
46
  msgstr "Beschreibung"
@@ -58,28 +58,30 @@ msgstr "Bilder löschen ?"
58
  msgid "Save"
59
  msgstr "Speichern"
60
 
61
- #: ../nggallery.php:254
62
- msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
63
- msgstr "Tut mir leid aber NextGEN Galerie arbeitet nur ab WordPress 2.1 und aufwärts"
64
-
65
  #: ../nggbutton.php:36
66
- #: ../admin/addgallery.php:255
67
- #: ../admin/addgallery.php:319
68
- #: ../admin/admin.php:45
69
- #: ../admin/manage.php:44
70
- #: ../admin/manage.php:341
71
- #: ../admin/settings.php:121
 
72
  msgid "Gallery"
73
  msgstr "Galerie"
74
 
 
 
 
 
75
  #: ../nggbutton.php:37
76
- #: ../admin/admin.php:48
77
  msgid "Album"
78
  msgstr "Album"
79
 
80
  #: ../nggbutton.php:38
81
- #: ../nggfunctions.php:456
82
- #: ../admin/manage.php:64
83
  msgid "Picture"
84
  msgstr "Bild"
85
 
@@ -97,14 +99,14 @@ msgid "Image list"
97
  msgstr "Bilder-Liste"
98
 
99
  #: ../nggbutton.php:64
100
- #: ../admin/settings.php:124
101
- #: ../admin/settings.php:272
102
- #: ../admin/settings.php:473
103
  msgid "Slideshow"
104
  msgstr "Slideshow"
105
 
106
  #: ../nggbutton.php:75
107
- #: ../admin/album.php:98
108
  msgid "Select album"
109
  msgstr "Wähle Album"
110
 
@@ -141,8 +143,8 @@ msgid "No effect"
141
  msgstr "Kein Effekt"
142
 
143
  #: ../nggbutton.php:124
144
- #: ../admin/settings.php:123
145
- #: ../admin/settings.php:370
146
  msgid "Watermark"
147
  msgstr "Wasserzeichen"
148
 
@@ -167,6 +169,7 @@ msgid "Right"
167
  msgstr "Rechts"
168
 
169
  #: ../nggbutton.php:147
 
170
  msgid "Cancel"
171
  msgstr "Abbrechen"
172
 
@@ -175,35 +178,41 @@ msgstr "Abbrechen"
175
  msgid "Insert"
176
  msgstr "Einfügen"
177
 
178
- #: ../nggfunctions.php:366
179
- #: ../nggfunctions.php:382
180
  msgid "Watch gallery"
181
  msgstr "Galerie ansehen"
182
 
183
- #: ../nggfunctions.php:376
 
 
184
  msgid "Photos"
185
  msgstr "Fotos"
186
 
187
- #: ../nggfunctions.php:456
 
 
 
 
 
 
 
 
188
  msgid "from"
189
  msgstr "von"
190
 
191
- #: ../ngginstall.php:105
 
 
 
 
192
  msgid "[Show as slideshow]"
193
  msgstr "[Zeige als Slideshow]"
194
 
195
- #: ../ngginstall.php:106
196
  msgid "[Show picture list]"
197
  msgstr "[Zeige Bilder-Liste]"
198
 
199
- #: ../ngginstall.php:116
200
- msgid "Back"
201
- msgstr "Zurück"
202
-
203
- #: ../ngginstall.php:117
204
- msgid "Next"
205
- msgstr "Vor"
206
-
207
  #: ../nggwidget.php:148
208
  msgid "Title:"
209
  msgstr "Titel:"
@@ -212,117 +221,121 @@ msgstr "Titel:"
212
  msgid "Select Gallery:"
213
  msgstr "Wähle Galerie"
214
 
215
- #: ../nggwidget.php:160
 
 
 
 
216
  msgid "Height:"
217
  msgstr "Höhe:"
218
 
219
- #: ../nggwidget.php:161
220
  msgid "Width:"
221
  msgstr "Breite:"
222
 
223
- #: ../nggwidget.php:381
224
  msgid "NextGEN Recent Image"
225
- msgstr "NextGEN Letzte Bilder"
226
 
227
- #: ../nggwidget.php:421
228
- #: ../nggwidget.php:611
229
- #: ../admin/album.php:213
230
- #: ../admin/manage.php:221
231
- #: ../admin/manage.php:351
232
  #: ../admin/myimport.php:51
233
  #: ../js/nggadmintab-js.php:104
234
  msgid "Title"
235
  msgstr "Titel"
236
 
237
- #: ../nggwidget.php:423
238
- #: ../nggwidget.php:613
239
  msgid "Display type"
240
  msgstr "Verende Bild"
241
 
242
- #: ../nggwidget.php:425
243
- #: ../nggwidget.php:615
244
- #: ../admin/manage.php:433
245
  #: ../js/nggadmintab-js.php:101
246
  msgid "Thumbnail"
247
  msgstr "Thumbnail"
248
 
249
- #: ../nggwidget.php:426
250
- #: ../nggwidget.php:616
251
  msgid "Orginal"
252
  msgstr "Orginal"
253
 
254
- #: ../nggwidget.php:429
255
- #: ../nggwidget.php:619
256
  msgid "Number of pics"
257
  msgstr "Anzahl der Bilder"
258
 
259
- #: ../nggwidget.php:440
260
- #: ../nggwidget.php:630
261
  msgid "Width (px)"
262
  msgstr "Breite (px)"
263
 
264
- #: ../nggwidget.php:442
265
- #: ../nggwidget.php:632
266
  msgid "Height (px)"
267
  msgstr "Höhe (px)"
268
 
269
- #: ../nggwidget.php:444
270
- #: ../nggwidget.php:634
271
  msgid "Mode"
272
  msgstr "Modus"
273
 
274
- #: ../nggwidget.php:446
275
- #: ../nggwidget.php:636
276
- #: ../admin/settings.php:512
277
  msgid "none"
278
  msgstr "keiner"
279
 
280
- #: ../nggwidget.php:447
281
- #: ../nggwidget.php:637
282
  msgid "web2.0"
283
  msgstr "Web 2.0"
284
 
285
- #: ../nggwidget.php:450
286
- #: ../nggwidget.php:640
287
  msgid "Show in the main page"
288
  msgstr "Zeige auf der Startseite"
289
 
290
- #: ../nggwidget.php:452
291
- #: ../nggwidget.php:642
292
  msgid "yes"
293
  msgstr "Ja"
294
 
295
- #: ../nggwidget.php:453
296
- #: ../nggwidget.php:643
297
  msgid "no"
298
  msgstr "Nein"
299
 
300
- #: ../nggwidget.php:456
301
- #: ../nggwidget.php:646
302
  msgid "Show in"
303
  msgstr "Zeige in"
304
 
305
- #: ../nggwidget.php:458
306
- #: ../nggwidget.php:648
307
  msgid "All categories"
308
  msgstr "Alle Kategorien"
309
 
310
- #: ../nggwidget.php:459
311
- #: ../nggwidget.php:649
312
  msgid "Only which are not listed"
313
  msgstr "Nur ungelistete"
314
 
315
- #: ../nggwidget.php:460
316
- #: ../nggwidget.php:650
317
  msgid "Only which are listed"
318
  msgstr "Nur gelistete"
319
 
320
- #: ../nggwidget.php:463
321
- #: ../nggwidget.php:653
322
  msgid "Categories (id (use , to seperate)"
323
  msgstr "Kategorie (ID (nutze , für mehrere))"
324
 
325
- #: ../nggwidget.php:573
326
  msgid "NextGEN Random Image"
327
  msgstr "NextGEN Zufallsbild"
328
 
@@ -395,562 +408,606 @@ msgstr "für die besten Media Flash Scripte auf Erden"
395
  msgid "for the Watermark plugin"
396
  msgstr "für das Wasserzeichen Plugin"
397
 
398
- #: ../admin/about.php:31
399
- msgid "for MyGallery, the best gallery plugin concept"
400
- msgstr "für MyGallery, das beste Galerie-Plugin Konzept"
401
-
402
- #: ../admin/about.php:33
403
  msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
404
  msgstr "Falls Du Deinen Namen hier nicht auf dieser Liste findest und es einigen Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort einfach eine EMail."
405
 
406
- #: ../admin/about.php:34
407
  msgid "How to support ?"
408
- msgstr "Wie kann ichs unterstützen ?"
409
 
410
- #: ../admin/about.php:35
411
  msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
412
- msgstr "Es existieren verschiedene Möglichkeiten diese Arbeit zu unterstützen. Es liegt an Dir wie du uns motivierst."
413
 
414
- #: ../admin/about.php:37
415
  msgid "Send us bugfixes / code changes"
416
  msgstr "Schicke uns Verbesserungen / Bugfixes"
417
 
418
- #: ../admin/about.php:37
419
  msgid "The most motivated support for this plugin are your ideas and brain work"
420
  msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken"
421
 
422
- #: ../admin/about.php:38
423
  msgid "Translate the plugin"
424
  msgstr "Übersetze das Plugin"
425
 
426
- #: ../admin/about.php:38
427
  msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
428
  msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen würde ich es gerne in allen verfügbaren Sprachen anbieten"
429
 
430
- #: ../admin/about.php:39
431
  msgid "Donate the work via paypal"
432
  msgstr "Zeig Dich für diese Arbeit per PayPal dankbar"
433
 
434
- #: ../admin/about.php:49
435
  msgid "No doubt a very usefull and easy motivation :-)"
436
  msgstr "Kein Zweifel, eine schöne und simple Motivationshilfe"
437
 
438
- #: ../admin/about.php:51
439
  msgid "Place a link to the plugin in your blog/webpage"
440
  msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog"
441
 
442
- #: ../admin/about.php:51
443
  msgid "Yes, share and trackback is also a good support for this work "
444
  msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit"
445
 
446
- #: ../admin/about.php:53
447
  msgid "Thanks!"
448
  msgstr "Vielen Dank!"
449
 
450
- #: ../admin/about.php:54
451
  msgid "We would like to thank this people which support us in the work :"
452
  msgstr "Wir wollen diesen Menschen für Ihre Hilfe danken:"
453
 
454
- #: ../admin/addgallery.php:23
455
- #: ../admin/addgallery.php:37
456
  msgid "Upload failed!"
457
  msgstr "Upload fehlgeschlagen!"
458
 
459
- #: ../admin/addgallery.php:103
460
  msgid "remove"
461
  msgstr "Entfernen"
462
 
463
- #: ../admin/addgallery.php:111
464
- #: ../admin/addgallery.php:123
465
  msgid "Add new gallery"
466
  msgstr "Neue Galerie erstellen"
467
 
468
- #: ../admin/addgallery.php:113
469
- #: ../admin/addgallery.php:140
470
  msgid "Upload a Zip-File"
471
  msgstr "Zip-Datei hochladen"
472
 
473
- #: ../admin/addgallery.php:115
474
- #: ../admin/addgallery.php:171
475
  msgid "Import image folder"
476
  msgstr "Bilder-Verzeichniss importieren"
477
 
478
- #: ../admin/addgallery.php:116
479
- #: ../admin/addgallery.php:188
480
  msgid "Upload Images"
481
  msgstr "Bilder hochladen"
482
 
483
- #: ../admin/addgallery.php:128
484
  msgid "New Gallery"
485
  msgstr "Neue Galerie"
486
 
487
- #: ../admin/addgallery.php:130
488
  msgid "Create a new , empty gallery below the folder"
489
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichniss"
490
 
491
- #: ../admin/addgallery.php:131
492
  msgid "Allowed characters for file and folder names are"
493
  msgstr "Erlaubte Charaktere für die Datei- und Verzeichnissnamen sind"
494
 
495
- #: ../admin/addgallery.php:134
496
  msgid "Add gallery"
497
  msgstr "Galerie hinzufügen"
498
 
499
- #: ../admin/addgallery.php:145
500
  msgid "Select Zip-File"
501
  msgstr "Wähle Zip-Datei"
502
 
503
- #: ../admin/addgallery.php:147
504
  msgid "Upload a zip file with images"
505
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
506
 
507
- #: ../admin/addgallery.php:150
508
- #: ../admin/addgallery.php:197
509
  msgid "in to"
510
  msgstr "in"
511
 
512
- #: ../admin/addgallery.php:152
513
  msgid "a new gallery"
514
  msgstr "in eine neue Galerie"
515
 
516
- #: ../admin/addgallery.php:162
517
- #: ../admin/addgallery.php:209
518
  msgid "Note : The upload limit on your server is "
519
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt"
520
 
521
- #: ../admin/addgallery.php:165
522
  msgid "Start upload"
523
  msgstr "Upload starten"
524
 
525
- #: ../admin/addgallery.php:176
526
  msgid "Import from Server path:"
527
  msgstr "Importieren aus Server-Pfad:"
528
 
529
- #: ../admin/addgallery.php:178
530
  msgid "Import a folder with images. Please note :"
531
  msgstr "Importiere ein Verzeichniss mit Bildern. Bitte beachte:"
532
 
533
- #: ../admin/addgallery.php:179
534
  msgid "For save_mode = ON you need to add the subfolder thumbs manually"
535
  msgstr "Falls save_mode = ON (PHP.INI) mußt Du die Thumbs im Unterverzeichniss manuell hinzufügen"
536
 
537
- #: ../admin/addgallery.php:182
538
  msgid "Import folder"
539
  msgstr "Verzeichniss importieren"
540
 
541
- #: ../admin/addgallery.php:193
542
  msgid "Upload image"
543
  msgstr "Bild hochladen"
544
 
545
- #: ../admin/addgallery.php:199
546
  msgid "Choose gallery"
547
  msgstr "Wähle Galerie"
548
 
549
- #: ../admin/addgallery.php:212
550
  msgid "Upload images"
551
  msgstr "Bilder hochladen"
552
 
553
- #: ../admin/addgallery.php:232
554
  msgid "No valid gallery name!"
555
  msgstr "Kein gültiger Galerie-Name!"
556
 
557
- #: ../admin/addgallery.php:235
558
- #: ../admin/addgallery.php:240
559
- #: ../admin/addgallery.php:275
560
- #: ../admin/addgallery.php:279
 
561
  msgid "Directory"
562
  msgstr "Verzeichniss"
563
 
564
- #: ../admin/addgallery.php:235
 
 
 
 
 
 
 
 
 
565
  msgid "didn't have the permissions "
566
  msgstr "hat nicht die Berechtigungen"
567
 
568
- #: ../admin/addgallery.php:240
569
  msgid "already exists!"
570
  msgstr "gibt es schon!"
571
 
572
- #: ../admin/addgallery.php:244
573
- #: ../admin/addgallery.php:246
574
- #: ../admin/addgallery.php:285
575
- #: ../admin/addgallery.php:538
576
- #: ../admin/addgallery.php:540
577
  msgid "Unable to create directory "
578
  msgstr "Kann Verzeichniss nicht erstellen"
579
 
580
- #: ../admin/addgallery.php:245
581
- #: ../admin/addgallery.php:539
582
- #: ../admin/addgallery.php:541
583
  msgid "Unable to set directory permissions "
584
  msgstr "Kann die Berechtigungen nicht setzen"
585
 
586
- #: ../admin/addgallery.php:247
587
  msgid "Unable to set directory permissions"
588
  msgstr "Kann die Berechtigungen nicht setzen"
589
 
590
- #: ../admin/addgallery.php:249
591
- msgid "The server Safe-Mode is on !"
592
  msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
593
 
594
- #: ../admin/addgallery.php:250
595
  msgid "Please create directory"
596
  msgstr "Bitte erstelle das Verzeichniss"
597
 
598
- #: ../admin/addgallery.php:251
599
  msgid "and the thumbnails directory"
600
  msgstr "und das Thumbnails-Verzeichniss"
601
 
602
- #: ../admin/addgallery.php:251
603
  msgid "with permission 777 manually !"
604
  msgstr "mit den Berechtigungen 777 manuell !"
605
 
606
- #: ../admin/addgallery.php:255
607
  msgid "already exists"
608
  msgstr "gibt es bereits"
609
 
610
- #: ../admin/addgallery.php:258
611
- msgid "Gallery successfully created!"
612
- msgstr "Galerie erfolgreich erstellt!"
 
 
 
 
 
613
 
614
- #: ../admin/addgallery.php:275
615
- #: ../admin/addgallery.php:284
616
  msgid "doesn&#96;t exist"
617
  msgstr "gibt es nicht"
618
 
619
- #: ../admin/addgallery.php:279
620
  msgid "contains no pictures"
621
  msgstr "enthält keine Bilder"
622
 
623
- #: ../admin/addgallery.php:284
624
  msgid "Thumbnail Directory"
625
  msgstr "Thumbnail Verzeichniss"
626
 
627
- #: ../admin/addgallery.php:284
628
  msgid "Please create the folder <i>thumbs</i> in your gallery folder."
629
  msgstr "Bitte erstelle das Verzeichniss <i>thumbs</i> in Deinem Galerie-Verzeichniss als Unterverzeichniss."
630
 
631
- #: ../admin/addgallery.php:297
632
  #: ../admin/myimport.php:38
633
  msgid "Database error. Could not add gallery!"
634
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
635
 
636
- #: ../admin/addgallery.php:319
637
- msgid "successfully created!"
638
- msgstr "erfolgreich erstellt!"
639
-
640
- #: ../admin/addgallery.php:319
641
  msgid " pictures added."
642
  msgstr " Bilder hinzugefügt."
643
 
644
- #: ../admin/addgallery.php:362
645
- #: ../admin/addgallery.php:400
646
  msgid "Some pictures are not writeable :"
647
  msgstr "Einige Bilder sind schreibgeschützt :"
648
 
649
- #: ../admin/addgallery.php:472
650
  msgid "Follow thumbnails could not created."
651
  msgstr "Folgende Thumbnails konnten nicht erstellt werden :"
652
 
653
- #: ../admin/addgallery.php:473
654
  msgid "Some thumbnails are not writeable :"
655
  msgstr "Einige Thumbnails sind schreibgeschützt :"
656
 
657
- #: ../admin/addgallery.php:523
658
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
659
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
660
 
661
- #: ../admin/addgallery.php:546
662
  msgid "Unable to unlink zip file "
663
  msgstr "Unfähig die Zip-Datei zu bearbeiten"
664
 
665
- #: ../admin/addgallery.php:548
666
  msgid "Zip-File successfully unpacked"
667
  msgstr "Zip-Datei erfolgreich entpackt"
668
 
669
- #: ../admin/addgallery.php:575
670
- #: ../admin/addgallery.php:582
671
  msgid "Unable to unlink file "
672
  msgstr "Unfähig das File zu bearbeiten"
673
 
674
- #: ../admin/addgallery.php:576
675
  msgid "No gallery selected !"
676
  msgstr "Keine Galerie ausgewählt !"
677
 
678
- #: ../admin/addgallery.php:583
679
  msgid "Failure in database, no gallery path set !"
680
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
681
 
682
- #: ../admin/addgallery.php:589
 
 
 
 
683
  msgid "Error, the file could not moved to : "
684
- msgstr "Fehler: diese Datei kann nicht verschoben werden zu :"
685
 
686
  #: ../admin/addgallery.php:590
687
  msgid "Error, the file permissions could not set"
688
- msgstr "Fehler: die Berechtigungen für diese Datei können nicht gesetzt werden"
689
 
690
- #: ../admin/addgallery.php:610
691
- msgid " Images successfully added"
692
  msgstr " Bild(er) erfolgreich hinzugefügt"
693
 
694
- #: ../admin/admin.php:46
695
  msgid "Add Gallery"
696
  msgstr "Galerie hinzufügen"
697
 
698
- #: ../admin/admin.php:47
699
  msgid "Manage Gallery"
700
  msgstr "Galerie verwalten"
701
 
702
- #: ../admin/admin.php:49
703
  msgid "Options"
704
  msgstr "Optionen"
705
 
706
- #: ../admin/admin.php:50
707
  msgid "Style"
708
  msgstr "Style"
709
 
710
- #: ../admin/admin.php:51
711
  msgid "Setup Gallery"
712
  msgstr "Galerie Setup"
713
 
714
- #: ../admin/admin.php:51
715
  msgid "Setup"
716
  msgstr "Setup"
717
 
718
- #: ../admin/admin.php:53
 
 
 
 
719
  #: ../admin/myimport.php:74
720
  msgid "Import"
721
  msgstr "Import "
722
 
723
- #: ../admin/admin.php:54
724
  msgid "About this Gallery"
725
  msgstr "Über diese Galerie"
726
 
727
- #: ../admin/admin.php:54
728
  msgid "About"
729
  msgstr "Über"
730
 
731
- #: ../admin/album.php:14
732
- #: ../admin/album.php:33
733
  msgid "Update Successfully"
734
  msgstr "Update erfolgreich"
735
 
736
- #: ../admin/album.php:40
737
  msgid "Album deleted"
738
  msgstr "Album gelöscht"
739
 
740
- #: ../admin/album.php:93
741
  msgid "Manage Albums"
742
  msgstr "Verwalte Alben"
743
 
744
- #: ../admin/album.php:101
745
  msgid "No album selected"
746
  msgstr "Kein Album ausgewählt"
747
 
748
- #: ../admin/album.php:114
749
  msgid "Add new album"
750
  msgstr "Album hinzufügen"
751
 
752
- #: ../admin/album.php:118
753
- #: ../admin/manage.php:245
754
- #: ../admin/manage.php:477
755
  msgid "Delete"
756
  msgstr "Lösche"
757
 
758
- #: ../admin/album.php:118
759
  msgid "Delete album ?"
760
  msgstr "Lösche Album ?"
761
 
762
- #: ../admin/album.php:120
763
- #: ../admin/settings.php:155
764
- #: ../admin/settings.php:194
765
- #: ../admin/settings.php:231
766
- #: ../admin/settings.php:311
767
- #: ../admin/settings.php:356
768
- #: ../admin/settings.php:463
769
- #: ../admin/settings.php:565
770
  msgid "Update"
771
  msgstr "Aktualisiere"
772
 
773
- #: ../admin/album.php:126
 
 
 
 
 
 
 
 
774
  msgid "After you create and select a album, you can drag and drop a gallery into your album below"
775
  msgstr "Nachdem du ein Album erstellt und ausgewählt hast, kannst du per Drag & Drop eine Galerie in das Album ziehen"
776
 
777
- #: ../admin/album.php:131
778
  msgid "Select Gallery"
779
  msgstr "Wähle Galerie"
780
 
781
- #: ../admin/album.php:164
782
  msgid "Album Page ID"
783
  msgstr "Album Seiten ID (Page ID)"
784
 
785
- #: ../admin/album.php:176
786
  msgid "No album selected!"
787
  msgstr "Kein Album ausgewählt"
788
 
789
- #: ../admin/album.php:211
790
- #: ../admin/manage.php:219
791
- #: ../admin/manage.php:430
792
  #: ../admin/myimport.php:49
793
  msgid "ID"
794
  msgstr "ID"
795
 
796
- #: ../admin/album.php:212
797
  msgid "Name"
798
  msgstr "Name"
799
 
800
- #: ../admin/album.php:214
801
  msgid "Page"
802
  msgstr "Seite"
803
 
804
- #: ../admin/manage.php:44
805
  #: ../admin/manage.php:64
 
806
  msgid "deleted successfully"
807
  msgstr "erfolgreich gelöscht"
808
 
809
- #: ../admin/manage.php:87
810
  msgid "Watermark successfully added"
811
  msgstr "Wasserzeichen erfolgreich erstellt"
812
 
813
- #: ../admin/manage.php:92
814
  msgid "Thumbnails successfully created. Please refresh your browser cache."
815
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache aktualisieren."
816
 
817
- #: ../admin/manage.php:97
818
  msgid "Images successfully resized"
819
  msgstr "Bilder erfolgreich verkleinert"
820
 
821
- #: ../admin/manage.php:115
822
  msgid "Pictures deleted successfully "
823
  msgstr "Bilder erfolgreich gelöscht"
824
 
825
- #: ../admin/manage.php:133
826
- #: ../admin/settings.php:25
827
- #: ../admin/style.php:15
828
- msgid "Update successfully"
 
 
829
  msgstr "Aktualisierung erfolgreich"
830
 
831
- #: ../admin/manage.php:155
832
  msgid " picture(s) successfully added"
833
  msgstr " Bild(er) erfolgreich hinzugefügt"
834
 
835
- #: ../admin/manage.php:178
836
  msgid "New gallery page ID"
837
  msgstr "Neue Galerie Seiten ID"
838
 
839
- #: ../admin/manage.php:178
840
  msgid "created"
841
  msgstr "erstellt"
842
 
843
- #: ../admin/manage.php:215
844
  msgid "Gallery Overview"
845
  msgstr "Galerie Übersicht"
846
 
847
- #: ../admin/manage.php:220
848
  #: ../admin/myimport.php:50
849
  msgid "Gallery name"
850
  msgstr "Galerie Name"
851
 
852
- #: ../admin/manage.php:223
853
  #: ../admin/myimport.php:53
854
  msgid "Page ID"
855
  msgstr "Seiten ID (Page ID)"
856
 
857
- #: ../admin/manage.php:224
858
  #: ../admin/myimport.php:54
859
  msgid "Quantity"
860
  msgstr "Anzahl"
861
 
862
- #: ../admin/manage.php:225
863
- #: ../admin/manage.php:442
864
  #: ../admin/myimport.php:55
865
  msgid "Action"
866
  msgstr "Aktion"
867
 
868
- #: ../admin/manage.php:244
869
  #: ../js/nggadmintab-js.php:88
870
  msgid "Edit"
871
  msgstr "Bearbeiten"
872
 
873
- #: ../admin/manage.php:245
874
- #: ../admin/manage.php:477
875
- msgid "Delete this file ?"
876
- msgstr "Diese Datei löschen ?"
877
 
878
- #: ../admin/manage.php:250
879
- #: ../admin/manage.php:482
880
  #: ../admin/myimport.php:79
881
  msgid "No entries found"
882
  msgstr "Keine Einträge gefunden"
883
 
884
- #: ../admin/manage.php:353
 
 
 
 
885
  msgid "Page Link to"
886
  msgstr "Seite verlinkt zu"
887
 
888
- #: ../admin/manage.php:356
889
  msgid "Not linked"
890
  msgstr "Nicht verlinkt"
891
 
892
- #: ../admin/manage.php:372
893
  msgid "Preview image"
894
  msgstr "Vorschau-Bild"
895
 
896
- #: ../admin/manage.php:375
897
  msgid "No Picture"
898
  msgstr "Kein Bild"
899
 
900
- #: ../admin/manage.php:390
901
  msgid "Path"
902
  msgstr "Pfad"
903
 
904
- #: ../admin/manage.php:393
905
  msgid "Create new page"
906
  msgstr "Neue Seite erstellen"
907
 
908
- #: ../admin/manage.php:396
909
  msgid "Main page (No parent)"
910
  msgstr "Haupseite (keine Unetrseite)"
911
 
912
- #: ../admin/manage.php:399
913
  msgid "Add page"
914
  msgstr "Seite hinzufügen"
915
 
916
- #: ../admin/manage.php:405
917
  msgid "Scan Folder for new images"
918
  msgstr "Überprüfe Verzeichniss nach neuen Bildern"
919
 
920
- #: ../admin/manage.php:406
921
- #: ../admin/manage.php:489
922
  msgid "Save Changes"
923
  msgstr "Änderungen Speichern"
924
 
925
- #: ../admin/manage.php:411
926
  msgid "No action"
927
  msgstr "Keine Aktion"
928
 
929
- #: ../admin/manage.php:412
930
  msgid "Set watermark"
931
  msgstr "Wasserzeichen setzen"
932
 
933
- #: ../admin/manage.php:413
934
  msgid "Create new thumbnails"
935
  msgstr "Neue Thumbnails erstellen"
936
 
937
- #: ../admin/manage.php:414
938
  msgid "Resize images"
939
  msgstr "Bilder verkleinern"
940
 
941
- #: ../admin/manage.php:415
942
  msgid "Delete images"
943
  msgstr "Bilder löschen"
944
 
945
- #: ../admin/manage.php:418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
946
  msgid "OK"
947
  msgstr "OK"
948
 
949
- #: ../admin/manage.php:418
 
950
  msgid "No images selected"
951
  msgstr "Keine Bilder ausgewählt"
952
 
953
- #: ../admin/manage.php:418
 
954
  #, php-format
955
  msgid ""
956
  "You are about to start the bulk edit for %s images \n"
@@ -961,39 +1018,47 @@ msgstr ""
961
  " \n"
962
  " 'Cancel' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
963
 
964
- #: ../admin/manage.php:419
965
  msgid "Hide thumbnails "
966
  msgstr "Thumbnails verstecken"
967
 
968
- #: ../admin/manage.php:420
969
  msgid "Show thumbnails "
970
  msgstr "Thumbnails zeigen"
971
 
972
- #: ../admin/manage.php:422
973
  msgid "Show tags"
974
  msgstr "Zeige Tags"
975
 
976
- #: ../admin/manage.php:423
977
  msgid "Hide tags"
978
  msgstr "Verstecke Tags"
979
 
980
- #: ../admin/manage.php:431
981
- #: ../admin/settings.php:278
982
  msgid "File name"
983
  msgstr "Dateiname"
984
 
985
- #: ../admin/manage.php:438
986
  msgid "exclude"
987
  msgstr "ausschließen"
988
 
989
- #: ../admin/manage.php:440
990
  msgid "Tags (comma separated list)"
991
  msgstr "Stichwörter (Tags)"
992
 
993
- #: ../admin/manage.php:476
994
  msgid "View"
995
  msgstr "Ansehen"
996
 
 
 
 
 
 
 
 
 
997
  #: ../admin/myimport.php:35
998
  msgid "Gallery "
999
  msgstr "Galerie"
@@ -1010,615 +1075,690 @@ msgstr "myGallery Import"
1010
  msgid "Import this gallery ?"
1011
  msgstr "Diese Galerie importieren ?"
1012
 
1013
- #: ../admin/overview.php:12
1014
  msgid "NextGEN Gallery Overview"
1015
  msgstr "NextGEN Galerie Übersicht"
1016
 
1017
- #: ../admin/overview.php:15
1018
  msgid "Summary"
1019
  msgstr "Zusammenfassung"
1020
 
1021
- #: ../admin/overview.php:24
1022
  #, php-format
1023
- msgid "There are totally %1$s pictures in %2$s gallerys, which are spread across %3$s albums."
1024
  msgstr "Es gibt insgesamt %1$s Bilder in %2$s Galerien - verteilt in %3$s Alben."
1025
 
1026
- #: ../admin/overview.php:28
1027
  msgid "New Version available"
1028
  msgstr "Neue Version verfügbar !!"
1029
 
1030
- #: ../admin/overview.php:29
1031
  msgid "The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information."
1032
  msgstr "Der Server benachrichtigt Dich über eine neu verfügbare Version der NextGEN Galerie. Bitte besuche die Plugin Homepage um weitere Informationen zu erhalten."
1033
 
1034
- #: ../admin/overview.php:31
1035
  msgid "Server Settings"
1036
  msgstr "Server- Einstellungen"
1037
 
1038
- #: ../admin/overview.php:38
1039
  msgid "Welcome"
1040
  msgstr "Wilkommen"
1041
 
1042
- #: ../admin/overview.php:42
1043
  msgid "gallery administrator"
1044
  msgstr "Galerie-Administrator"
1045
 
1046
- #: ../admin/overview.php:42
1047
  msgid "gallery editor"
1048
  msgstr "Galerie-Mitarbeiter"
1049
 
1050
- #: ../admin/overview.php:43
1051
  #, php-format
1052
  msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
1053
  msgstr "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und Alben verwalten. Du hast im Moment %s Rechte."
1054
 
1055
- #: ../admin/overview.php:48
1056
  msgid "Add a new gallery or import pictures"
1057
  msgstr "Neue Galerie erstellen oder Bilder importieren"
1058
 
1059
- #: ../admin/overview.php:49
1060
  msgid "Manage galleries and images"
1061
  msgstr "Verwalte Galerien und Bilder"
1062
 
1063
- #: ../admin/overview.php:50
1064
  msgid "Create and manage albums"
1065
  msgstr "Erstelle und verwalte Alben"
1066
 
1067
- #: ../admin/overview.php:51
1068
  msgid "Change the settings of NextGEN Gallery"
1069
  msgstr "Ändere die Einstellungen von NextGEN Galerie"
1070
 
1071
- #: ../admin/overview.php:54
1072
  msgid "Latest News"
1073
  msgstr "Neueste Schlagzeilen"
1074
 
1075
- #: ../admin/overview.php:73
1076
  #, php-format
1077
  msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
1078
  msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die <a href=\"%s\">Hauptseite</a> um Updates mitzubekommen."
1079
 
1080
- #: ../admin/overview.php:86
1081
  msgid "GD support"
1082
  msgstr "GD Unterstützung"
1083
 
1084
- #: ../admin/overview.php:97
1085
  msgid "No GD support"
1086
  msgstr "Keine GD Unterstützung"
1087
 
1088
- #: ../admin/overview.php:104
1089
  msgid "Yes"
1090
  msgstr "Ja"
1091
 
1092
- #: ../admin/overview.php:105
1093
  msgid "No"
1094
  msgstr "Nein"
1095
 
1096
- #: ../admin/overview.php:119
1097
  msgid "Not set"
1098
  msgstr "Nicht gesetzt"
1099
 
1100
- #: ../admin/overview.php:121
1101
- #: ../admin/overview.php:124
1102
  msgid "On"
1103
  msgstr "An"
1104
 
1105
- #: ../admin/overview.php:122
1106
- #: ../admin/overview.php:125
1107
  msgid "Off"
1108
  msgstr "Aus"
1109
 
1110
- #: ../admin/overview.php:128
1111
- #: ../admin/overview.php:131
1112
  #: ../admin/overview.php:134
1113
  #: ../admin/overview.php:137
1114
  #: ../admin/overview.php:140
 
 
1115
  msgid "N/A"
1116
  msgstr "N/A"
1117
 
1118
- #: ../admin/overview.php:139
1119
  msgid " MByte"
1120
  msgstr " MByte"
1121
 
1122
- #: ../admin/overview.php:143
1123
  msgid "Operating System"
1124
  msgstr "Betriebssystem"
1125
 
1126
- #: ../admin/overview.php:144
1127
  msgid "Server"
1128
  msgstr "Server"
1129
 
1130
- #: ../admin/overview.php:145
1131
  msgid "Memory usage"
1132
  msgstr "Speicherverbrauch"
1133
 
1134
- #: ../admin/overview.php:146
1135
  msgid "MYSQL Version"
1136
  msgstr "MySQL Version"
1137
 
1138
- #: ../admin/overview.php:147
1139
  msgid "SQL Mode"
1140
  msgstr "SQL Modus"
1141
 
1142
- #: ../admin/overview.php:148
1143
  msgid "PHP Version"
1144
  msgstr "PHP Version"
1145
 
1146
- #: ../admin/overview.php:149
1147
  msgid "PHP Safe Mode"
1148
  msgstr "PHP Safe Mode"
1149
 
1150
- #: ../admin/overview.php:150
1151
  msgid "PHP Allow URL fopen"
1152
  msgstr "PHP Allow URL fopen"
1153
 
1154
- #: ../admin/overview.php:151
1155
  msgid "PHP Memory Limit"
1156
  msgstr "PHP Memory Limit"
1157
 
1158
- #: ../admin/overview.php:152
1159
  msgid "PHP Max Upload Size"
1160
  msgstr "PHP Max Upload Size"
1161
 
1162
- #: ../admin/overview.php:153
1163
  msgid "PHP Max Post Size"
1164
  msgstr "PHP Max Post Size"
1165
 
1166
- #: ../admin/overview.php:154
1167
  msgid "PHP Max Script Execute Time"
1168
  msgstr "PHP Max Script Execute Time"
1169
 
1170
- #: ../admin/settings.php:118
1171
- #: ../admin/settings.php:134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1172
  msgid "General Options"
1173
  msgstr "Allg. Optionen"
1174
 
1175
- #: ../admin/settings.php:119
1176
- #: ../admin/settings.php:271
1177
  msgid "Thumbnails"
1178
  msgstr "Thumbnails"
1179
 
1180
- #: ../admin/settings.php:120
1181
  msgid "Images"
1182
  msgstr "Bilder"
1183
 
1184
- #: ../admin/settings.php:122
1185
- #: ../admin/settings.php:319
1186
  msgid "Effects"
1187
  msgstr "Effekte"
1188
 
1189
- #: ../admin/settings.php:140
1190
  msgid "Gallery path"
1191
  msgstr "Galerie-Pfad"
1192
 
1193
- #: ../admin/settings.php:142
1194
  msgid "This is the default path for all galleries"
1195
  msgstr "Dies ist der Standard-Pfad für alle Galerien"
1196
 
1197
- #: ../admin/settings.php:145
1198
- msgid "Scan folders during runtime"
1199
- msgstr "Überprüfe Verzeichnisse während der Laufzeit"
1200
-
1201
- #: ../admin/settings.php:147
1202
- msgid "Search automatic in the folders for new images (not working)"
1203
- msgstr "Sucht automatisch in den Verzeichnissen nach neuen Bildern (geht noch nicht..)"
1204
-
1205
- #: ../admin/settings.php:150
1206
  msgid "Delete image files"
1207
  msgstr "Lösche Bilddateien"
1208
 
1209
- #: ../admin/settings.php:152
1210
  msgid "Delete files, when removing a gallery in the database"
1211
  msgstr "Löscht Dateien, falls die Galerie in der Datenbank entfernt wird"
1212
 
1213
- #: ../admin/settings.php:163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1214
  msgid "Thumbnail settings"
1215
  msgstr "Thumbnail Einstellungen"
1216
 
1217
- #: ../admin/settings.php:167
1218
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1219
  msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
1220
 
1221
- #: ../admin/settings.php:170
1222
  msgid "Width x height (in pixel)"
1223
  msgstr "Breite x Höhe (in Pixel)"
1224
 
1225
- #: ../admin/settings.php:172
1226
  msgid "These values are maximum values "
1227
  msgstr "Diese Angaben sind maximale Angaben."
1228
 
1229
- #: ../admin/settings.php:175
1230
  msgid "Set fix dimension"
1231
  msgstr "Setze fixe Größe"
1232
 
1233
- #: ../admin/settings.php:177
1234
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1235
  msgstr "Ignoriere Bildseitenverhältnis"
1236
 
1237
- #: ../admin/settings.php:180
1238
  msgid "Crop square thumbnail from image"
1239
  msgstr "Mittige Thumbnails aus Bildern ausschneiden"
1240
 
1241
- #: ../admin/settings.php:182
1242
  msgid "Create square thumbnails, use only the width setting :"
1243
  msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :"
1244
 
1245
- #: ../admin/settings.php:185
1246
  msgid "Thumbnail quality"
1247
  msgstr "Thumbnail Qualität"
1248
 
1249
- #: ../admin/settings.php:189
1250
- #: ../admin/settings.php:219
1251
  msgid "Resample Mode"
1252
  msgstr "Resample Modus"
1253
 
1254
- #: ../admin/settings.php:191
1255
- #: ../admin/settings.php:222
1256
  msgid "Value between 1-5 (higher value, more CPU load)"
1257
  msgstr "Wähle zwischen 1-5 (je höhere desto mehr CPU Leistung notwendig)"
1258
 
1259
- #: ../admin/settings.php:202
1260
  msgid "Image settings"
1261
  msgstr "Bild Einstellungen"
1262
 
1263
- #: ../admin/settings.php:208
1264
  msgid "Resize Images"
1265
  msgstr "Bilder verkleinern"
1266
 
1267
- #: ../admin/settings.php:211
1268
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1269
  msgstr "Breite x Höhe (in Pixel). NextGEN Galerie beachtet das Seitenverhältnis."
1270
 
1271
- #: ../admin/settings.php:214
1272
  msgid "Image quality"
1273
  msgstr "Bild Qualität"
1274
 
1275
- #: ../admin/settings.php:225
1276
- msgid "Add link in [singlepic] tag "
1277
- msgstr "Füge Link dem [singlepic] Tag hinzu"
1278
-
1279
- #: ../admin/settings.php:228
1280
- msgid "Add the fullsize picture as link. Didn't support watermark mode on the fly."
1281
- msgstr "Setze das Bild (Vollansicht) als Link. Unterstützt kein setzen des Wasserzeichens on the fly."
1282
-
1283
- #: ../admin/settings.php:239
1284
  msgid "Gallery settings"
1285
  msgstr "Galerie Einstellungen"
1286
 
1287
- #: ../admin/settings.php:245
1288
  msgid "Activate jQuery navigation"
1289
  msgstr "Aktiviere jQuery Navigation"
1290
 
1291
- #: ../admin/settings.php:247
1292
  msgid "Please note : This is still experimental. Requires the Thickbox effect"
1293
  msgstr "Bitte beachten : Diese Funktion befindet sich noch im Teststadium. Geht nur mit Thickbox."
1294
 
1295
- #: ../admin/settings.php:251
1296
  msgid "Deactivate gallery page link"
1297
  msgstr "Keine Seitenverzweigung"
1298
 
1299
- #: ../admin/settings.php:253
1300
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
1301
  msgstr "Das Album benötigt dann keine Link zu Seiten. Die Galerie wird direkt angezeigt."
1302
 
1303
- #: ../admin/settings.php:257
1304
  msgid "Number of images per page"
1305
  msgstr "Anzahl der Bilder pro Seite"
1306
 
1307
- #: ../admin/settings.php:259
1308
  msgid "0 will disable pagination, all images on one page"
1309
  msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
1310
 
1311
- #: ../admin/settings.php:263
1312
  msgid "Integrate slideshow"
1313
  msgstr "Slideshow verwenden"
1314
 
1315
- #: ../admin/settings.php:270
1316
  msgid "Show first"
1317
  msgstr "Zeige als erstes"
1318
 
1319
- #: ../admin/settings.php:276
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1320
  msgid "Sort thumbnails"
1321
  msgstr "Thumbnails sortieren"
1322
 
1323
- #: ../admin/settings.php:277
1324
  msgid "Image ID"
1325
  msgstr "Bilder ID"
1326
 
1327
- #: ../admin/settings.php:279
1328
- msgid "Alt / Title text"
1329
- msgstr "Alt / Titel Text"
1330
-
1331
- #: ../admin/settings.php:283
1332
  msgid "Sort direction"
1333
  msgstr "Sortierreihenfolge"
1334
 
1335
- #: ../admin/settings.php:284
1336
  msgid "Ascending"
1337
  msgstr "Aufsteigend"
1338
 
1339
- #: ../admin/settings.php:285
1340
  msgid "Descending"
1341
  msgstr "Absteigend"
1342
 
1343
- #: ../admin/settings.php:289
1344
- msgid "Image Browser"
1345
- msgstr "Bilder Browser"
1346
-
1347
- #: ../admin/settings.php:292
1348
- msgid "Show title as headline"
1349
- msgstr "Zeige Titel als Kopfzeile"
1350
-
1351
  #: ../admin/settings.php:294
1352
- msgid "The alt/title text is shown as H3 headline "
1353
- msgstr "Der Alt/Titeltext wir als H3 Kopfzeile angezeigt"
1354
-
1355
- #: ../admin/settings.php:298
1356
- msgid "Show image description"
1357
- msgstr "Zeige Bildbeschreibung"
1358
-
1359
- #: ../admin/settings.php:300
1360
- msgid "The description text is shown below the picture"
1361
- msgstr "Die Beschreibung wird unterhalb des Bildes angezeigt"
1362
-
1363
- #: ../admin/settings.php:304
1364
- msgid "Navigation text"
1365
- msgstr "Naviagationstext"
1366
-
1367
- #: ../admin/settings.php:322
1368
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
1369
  msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML Code verwenden. Bitte beachte, das nur der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
1370
 
1371
- #: ../admin/settings.php:323
1372
  msgid "With the placeholder"
1373
  msgstr "Mit Platzhalter"
1374
 
1375
- #: ../admin/settings.php:323
1376
  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."
1377
  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."
1378
 
1379
- #: ../admin/settings.php:327
1380
  msgid "JavaScript Thumbnail effect"
1381
  msgstr "JavaScript Thumbnail Effekt"
1382
 
1383
- #: ../admin/settings.php:330
1384
- #: ../js/nggadmintab-js.php:112
1385
- msgid "None"
1386
- msgstr "Keiner"
1387
-
1388
- #: ../admin/settings.php:331
1389
  msgid "Thickbox"
1390
  msgstr "Thickbox"
1391
 
1392
- #: ../admin/settings.php:332
1393
  msgid "Lightbox"
1394
  msgstr "Lightbox"
1395
 
1396
- #: ../admin/settings.php:333
1397
  msgid "Highslide"
1398
  msgstr "Highslide"
1399
 
1400
- #: ../admin/settings.php:334
1401
  msgid "Custom"
1402
  msgstr "Eigener"
1403
 
1404
- #: ../admin/settings.php:339
1405
  msgid "Link Code line"
1406
  msgstr "Link Code Zeile"
1407
 
1408
- #: ../admin/settings.php:347
1409
  msgid "Select loading image"
1410
  msgstr "Wähle Ladeanimation"
1411
 
1412
- #: ../admin/settings.php:374
 
 
 
 
1413
  msgid "Preview"
1414
  msgstr "Vorschau"
1415
 
1416
- #: ../admin/settings.php:376
1417
- #: ../admin/settings.php:380
1418
  msgid "Position"
1419
  msgstr "Position"
1420
 
1421
- #: ../admin/settings.php:400
1422
  msgid "Offset"
1423
  msgstr "Abstand"
1424
 
1425
- #: ../admin/settings.php:418
1426
  msgid "Use image as watermark"
1427
  msgstr "Benutze Bild als Wasserzeichen"
1428
 
1429
- #: ../admin/settings.php:421
1430
  msgid "URL to file"
1431
  msgstr "URL zur Datei"
1432
 
1433
- #: ../admin/settings.php:423
1434
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
1435
  msgstr "Der Dateizugriff von URL's ist auf diesem Server deaktiviert (allow_url_fopen)"
1436
 
1437
- #: ../admin/settings.php:429
1438
  msgid "Use text as watermark"
1439
  msgstr "Benutze Text als Wasserzeichen"
1440
 
1441
- #: ../admin/settings.php:432
1442
  msgid "Font"
1443
  msgstr "Schriftart"
1444
 
1445
- #: ../admin/settings.php:440
1446
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
1447
  msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
1448
 
1449
- #: ../admin/settings.php:444
1450
  msgid "Size"
1451
  msgstr "Größe"
1452
 
1453
- #: ../admin/settings.php:448
1454
  msgid "Color"
1455
  msgstr "Farbe"
1456
 
1457
- #: ../admin/settings.php:450
1458
  msgid "(hex w/o #)"
1459
  msgstr "(hex w/o #)"
1460
 
1461
- #: ../admin/settings.php:453
1462
  msgid "Text"
1463
  msgstr "Text"
1464
 
1465
- #: ../admin/settings.php:457
1466
  msgid "Opaque"
1467
  msgstr "Transparenz"
1468
 
1469
- #: ../admin/settings.php:475
1470
  msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
1471
  msgstr "Die Datei imagerotator.swf ist nicht im Plugin Verzeichniss -> so wird die Slideshow nicht funktionieren."
1472
 
1473
- #: ../admin/settings.php:476
1474
  msgid "The settings are used in the JW Image Rotator Version 3.9 ."
1475
  msgstr "Die Einstellungen werden im JW Image Rotator Version 3.9 benutzt."
1476
 
1477
- #: ../admin/settings.php:477
1478
  msgid "See more information for the Flash Player on the web page"
1479
  msgstr "Weitere Informationen auf der Flash Player Homepage"
1480
 
1481
- #: ../admin/settings.php:480
1482
  msgid "Default size (W x H)"
1483
  msgstr "Standard Größe (B x H)"
1484
 
1485
- #: ../admin/settings.php:485
1486
  msgid "Shuffle mode"
1487
  msgstr "Shuffle Modus"
1488
 
1489
- #: ../admin/settings.php:489
1490
  msgid "Show next image on click"
1491
  msgstr "Zeige nächstes Bild bei Klick"
1492
 
1493
- #: ../admin/settings.php:493
1494
  msgid "Show navigation bar"
1495
  msgstr "Zeige Navigations-Leiste"
1496
 
1497
- #: ../admin/settings.php:497
1498
  msgid "Show loading icon"
1499
  msgstr "Zeige Lade-Bildchen"
1500
 
1501
- #: ../admin/settings.php:501
1502
  msgid "Use watermark logo"
1503
  msgstr "Wasserzeichen anzeigen"
1504
 
1505
- #: ../admin/settings.php:503
1506
  msgid "You can change the logo at the watermark settings"
1507
  msgstr "Du kannst den Pfad in Einstellungen für da Wasserzeichen angeben"
1508
 
1509
- #: ../admin/settings.php:506
1510
  msgid "Stretch image"
1511
  msgstr "Bild dehnen"
1512
 
1513
- #: ../admin/settings.php:509
1514
  msgid "true"
1515
  msgstr "true"
1516
 
1517
- #: ../admin/settings.php:510
1518
  msgid "false"
1519
  msgstr "false"
1520
 
1521
- #: ../admin/settings.php:511
1522
  msgid "fit"
1523
  msgstr "passend"
1524
 
1525
- #: ../admin/settings.php:517
1526
  msgid "Duration time"
1527
  msgstr "Dauer"
1528
 
1529
- #: ../admin/settings.php:518
1530
  msgid "sec."
1531
  msgstr "Sek."
1532
 
1533
- #: ../admin/settings.php:521
1534
  msgid "Transition / Fade effect"
1535
  msgstr "Fade Effekt"
1536
 
1537
- #: ../admin/settings.php:524
1538
  msgid "fade"
1539
  msgstr "fade"
1540
 
1541
- #: ../admin/settings.php:525
1542
  msgid "bgfade"
1543
  msgstr "BGFade"
1544
 
1545
- #: ../admin/settings.php:526
1546
  msgid "slowfade"
1547
  msgstr "Slowfade"
1548
 
1549
- #: ../admin/settings.php:527
1550
  msgid "circles"
1551
  msgstr "Kreise"
1552
 
1553
- #: ../admin/settings.php:528
1554
  msgid "bubbles"
1555
  msgstr "Blasen"
1556
 
1557
- #: ../admin/settings.php:529
1558
  msgid "blocks"
1559
  msgstr "Blöcke"
1560
 
1561
- #: ../admin/settings.php:530
1562
  msgid "fluids"
1563
  msgstr "Fluids"
1564
 
1565
- #: ../admin/settings.php:531
1566
  msgid "lines"
1567
  msgstr "Linien"
1568
 
1569
- #: ../admin/settings.php:532
1570
  msgid "random"
1571
  msgstr "Zufall"
1572
 
1573
- #: ../admin/settings.php:536
1574
  msgid "Use slow zooming effect"
1575
  msgstr "nutze Zoom Effekt"
1576
 
1577
- #: ../admin/settings.php:540
1578
  msgid "Background Color"
1579
  msgstr "Hintergrund (BG) Farbe"
1580
 
1581
- #: ../admin/settings.php:545
1582
  msgid "Texts / Buttons Color"
1583
  msgstr "Text- / Button Farbe"
1584
 
1585
- #: ../admin/settings.php:550
1586
  msgid "Rollover / Active Color"
1587
  msgstr "Rollover / Aktiv (Link) Farbe"
1588
 
1589
- #: ../admin/settings.php:555
1590
  msgid "Background music (URL)"
1591
  msgstr "Hintergundmusik (URL)"
1592
 
1593
- #: ../admin/settings.php:559
1594
  msgid "Try XHTML validation (with CDATA)"
1595
  msgstr "Integriere XHTML Validierung (mittels CDATA)"
1596
 
1597
- #: ../admin/settings.php:561
1598
  msgid "Important : Could causes problem at some browser. Please recheck your page."
1599
  msgstr "Wichtig : Es könnnten Probleme bei einigen Browser auftauchen. Unbedingt Seite prüfen."
1600
 
1601
- #: ../admin/setup.php:10
1602
  msgid "Reset all settings to default parameter"
1603
  msgstr "Stelle alle Einstellungen auf Anfangswerte zurück"
1604
 
1605
- #: ../admin/setup.php:22
1606
  msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1607
  msgstr "Deinstallation erfolgreich ! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen ! Stay geeky ! Viel Glück !"
1608
 
1609
- #: ../admin/setup.php:31
1610
  msgid "Reset options"
1611
  msgstr "Optionen zurücksetzen"
1612
 
1613
- #: ../admin/setup.php:33
1614
  msgid "Reset all options/settings to the default installation."
1615
  msgstr "Alle Optionen/Einstellungen zurücksetzen"
1616
 
1617
- #: ../admin/setup.php:34
1618
  msgid "Reset settings"
1619
  msgstr "Einstellungen zurücksetzen"
1620
 
1621
- #: ../admin/setup.php:34
1622
  msgid ""
1623
  "Reset all options to default settings ?\\n"
1624
  "\\n"
@@ -1628,35 +1768,35 @@ msgstr ""
1628
  "\\n"
1629
  "Wähle [Cancel] um abzubrechen, [OK] zum Durchführen.\\n"
1630
 
1631
- #: ../admin/setup.php:38
1632
  msgid "Uninstall plugin tables"
1633
  msgstr "Plugin Tabellen (DB) entfernen"
1634
 
1635
- #: ../admin/setup.php:40
1636
  msgid "You don't like NextGEN Gallery ?"
1637
  msgstr "Du magst die NextGEN Galerie nicht ?"
1638
 
1639
- #: ../admin/setup.php:41
1640
  msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
1641
  msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen damit alle Tabellen der Galerie entfernt werden."
1642
 
1643
- #: ../admin/setup.php:42
1644
  msgid "WARNING:"
1645
  msgstr "WARNUNG:"
1646
 
1647
- #: ../admin/setup.php:43
1648
  msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
1649
  msgstr "Einmal deinstalliert -> keine Rückgängigmachung! D.h. auf Deutsch, das eine einmalig durchgeführte Deinstallation nicht mehr rückgängig gemacht werden kann da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird währenddessen."
1650
 
1651
- #: ../admin/setup.php:43
1652
  msgid "and"
1653
  msgstr "und"
1654
 
1655
- #: ../admin/setup.php:45
1656
  msgid "Uninstall plugin"
1657
  msgstr "Plugin deinstallieren"
1658
 
1659
- #: ../admin/setup.php:45
1660
  msgid ""
1661
  "You are about to Uninstall this plugin from WordPress.\\n"
1662
  "This action is not reversible.\\n"
@@ -1668,49 +1808,49 @@ msgstr ""
1668
  "\\n"
1669
  "Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
1670
 
1671
- #: ../admin/style.php:31
1672
  msgid "You do not have sufficient permissions to edit templates for this blog."
1673
  msgstr "Du hast nicht die benötigten Rechte um Templates in diesem Blog zu bearbeiten."
1674
 
1675
- #: ../admin/style.php:40
1676
  msgid "CSS file successfully updated"
1677
  msgstr "CSS Datei erfolgreich aktualisiert"
1678
 
1679
- #: ../admin/style.php:62
1680
  msgid "Activate and use style sheet:"
1681
  msgstr "Aktiviere und nutze Stylesheet:"
1682
 
1683
- #: ../admin/style.php:81
1684
  msgid "Activate"
1685
  msgstr "Aktiviere"
1686
 
1687
- #: ../admin/style.php:88
1688
  #, php-format
1689
  msgid "Editing <strong>%s</strong>"
1690
  msgstr "Bearbeite <strong>%s</strong>"
1691
 
1692
- #: ../admin/style.php:90
1693
  #, php-format
1694
  msgid "Browsing <strong>%s</strong>"
1695
  msgstr "Browse <strong>%s</strong>"
1696
 
1697
- #: ../admin/style.php:95
1698
  msgid "Author"
1699
  msgstr "Autor"
1700
 
1701
- #: ../admin/style.php:96
1702
  msgid "Version"
1703
  msgstr "Version"
1704
 
1705
- #: ../admin/style.php:112
1706
  msgid "Update File &raquo;"
1707
  msgstr "Datei aktualisieren"
1708
 
1709
- #: ../admin/style.php:116
1710
  msgid "If this file were writable you could edit it."
1711
  msgstr "Wenn diese Datei beschreibbar wäre, könntest Du Sie bearbeiten."
1712
 
1713
- #: ../admin/style.php:121
1714
  msgid "Oops, no such file exists! Double check the name and try again, merci."
1715
  msgstr "Oha, keine solche Datei existiert! Bitte überprüfe den Namen und probiere es erneut, danke."
1716
 
@@ -1751,7 +1891,7 @@ msgstr "Datei"
1751
 
1752
  #: ../js/nggadmintab-js.php:116
1753
  msgid "Send to editor &raquo;"
1754
- msgstr "Zu Editor schicken"
1755
 
1756
  #: ../js/nggadmintab-js.php:175
1757
  msgid "Save &raquo;"
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: 2007-09-02 14:34+0100\n"
6
  "Last-Translator: Alex Rabe\n"
7
  "Language-Team: Alex Rabe\n"
8
  "MIME-Version: 1.0\n"
30
  msgstr "URL"
31
 
32
  #: ../nggadmintab.php:136
33
+ #: ../admin/manage.php:541
34
  #: ../js/nggadmintab-js.php:164
35
  msgid "Alt &amp; Title Text"
36
  msgstr "Alt &amp; Titel Text"
37
 
38
  #: ../nggadmintab.php:140
39
+ #: ../admin/manage.php:291
40
+ #: ../admin/manage.php:467
41
+ #: ../admin/manage.php:540
42
  #: ../admin/myimport.php:52
43
+ #: ../admin/style.php:101
44
  #: ../js/nggadmintab-js.php:167
45
  msgid "Description"
46
  msgstr "Beschreibung"
58
  msgid "Save"
59
  msgstr "Speichern"
60
 
61
+ #: ../nggallery.php:176
 
 
 
62
  #: ../nggbutton.php:36
63
+ #: ../admin/addgallery.php:235
64
+ #: ../admin/addgallery.php:239
65
+ #: ../admin/addgallery.php:303
66
+ #: ../admin/admin.php:47
67
+ #: ../admin/manage.php:64
68
+ #: ../admin/manage.php:436
69
+ #: ../admin/settings.php:79
70
  msgid "Gallery"
71
  msgstr "Galerie"
72
 
73
+ #: ../nggallery.php:265
74
+ msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
75
+ msgstr "Tut mir leid aber NextGEN Galerie arbeitet nur ab WordPress 2.1 und aufwärts"
76
+
77
  #: ../nggbutton.php:37
78
+ #: ../admin/admin.php:50
79
  msgid "Album"
80
  msgstr "Album"
81
 
82
  #: ../nggbutton.php:38
83
+ #: ../nggfunctions.php:520
84
+ #: ../admin/manage.php:85
85
  msgid "Picture"
86
  msgstr "Bild"
87
 
99
  msgstr "Bilder-Liste"
100
 
101
  #: ../nggbutton.php:64
102
+ #: ../admin/settings.php:82
103
+ #: ../admin/settings.php:249
104
+ #: ../admin/settings.php:448
105
  msgid "Slideshow"
106
  msgstr "Slideshow"
107
 
108
  #: ../nggbutton.php:75
109
+ #: ../admin/album.php:122
110
  msgid "Select album"
111
  msgstr "Wähle Album"
112
 
143
  msgstr "Kein Effekt"
144
 
145
  #: ../nggbutton.php:124
146
+ #: ../admin/settings.php:81
147
+ #: ../admin/settings.php:342
148
  msgid "Watermark"
149
  msgstr "Wasserzeichen"
150
 
169
  msgstr "Rechts"
170
 
171
  #: ../nggbutton.php:147
172
+ #: ../admin/manage.php:608
173
  msgid "Cancel"
174
  msgstr "Abbrechen"
175
 
178
  msgid "Insert"
179
  msgstr "Einfügen"
180
 
181
+ #: ../nggfunctions.php:423
182
+ #: ../nggfunctions.php:438
183
  msgid "Watch gallery"
184
  msgstr "Galerie ansehen"
185
 
186
+ #: ../nggfunctions.php:432
187
+ #: ../nggfunctions.php:444
188
+ #: ../nggfunctions.php:698
189
  msgid "Photos"
190
  msgstr "Fotos"
191
 
192
+ #: ../nggfunctions.php:513
193
+ msgid "Back"
194
+ msgstr "Zurück"
195
+
196
+ #: ../nggfunctions.php:517
197
+ msgid "Next"
198
+ msgstr "Vor"
199
+
200
+ #: ../nggfunctions.php:520
201
  msgid "from"
202
  msgstr "von"
203
 
204
+ #: ../nggfunctions.php:667
205
+ msgid "Overview"
206
+ msgstr "Übersicht"
207
+
208
+ #: ../ngginstall.php:156
209
  msgid "[Show as slideshow]"
210
  msgstr "[Zeige als Slideshow]"
211
 
212
+ #: ../ngginstall.php:157
213
  msgid "[Show picture list]"
214
  msgstr "[Zeige Bilder-Liste]"
215
 
 
 
 
 
 
 
 
 
216
  #: ../nggwidget.php:148
217
  msgid "Title:"
218
  msgstr "Titel:"
221
  msgid "Select Gallery:"
222
  msgstr "Wähle Galerie"
223
 
224
+ #: ../nggwidget.php:153
225
+ msgid "All images"
226
+ msgstr "Alle Bilder"
227
+
228
+ #: ../nggwidget.php:163
229
  msgid "Height:"
230
  msgstr "Höhe:"
231
 
232
+ #: ../nggwidget.php:164
233
  msgid "Width:"
234
  msgstr "Breite:"
235
 
236
+ #: ../nggwidget.php:324
237
  msgid "NextGEN Recent Image"
238
+ msgstr "NextGEN Neuste Bilder"
239
 
240
+ #: ../nggwidget.php:364
241
+ #: ../nggwidget.php:550
242
+ #: ../admin/album.php:243
243
+ #: ../admin/manage.php:290
244
+ #: ../admin/manage.php:448
245
  #: ../admin/myimport.php:51
246
  #: ../js/nggadmintab-js.php:104
247
  msgid "Title"
248
  msgstr "Titel"
249
 
250
+ #: ../nggwidget.php:366
251
+ #: ../nggwidget.php:552
252
  msgid "Display type"
253
  msgstr "Verende Bild"
254
 
255
+ #: ../nggwidget.php:368
256
+ #: ../nggwidget.php:554
257
+ #: ../admin/manage.php:537
258
  #: ../js/nggadmintab-js.php:101
259
  msgid "Thumbnail"
260
  msgstr "Thumbnail"
261
 
262
+ #: ../nggwidget.php:369
263
+ #: ../nggwidget.php:555
264
  msgid "Orginal"
265
  msgstr "Orginal"
266
 
267
+ #: ../nggwidget.php:372
268
+ #: ../nggwidget.php:558
269
  msgid "Number of pics"
270
  msgstr "Anzahl der Bilder"
271
 
272
+ #: ../nggwidget.php:383
273
+ #: ../nggwidget.php:569
274
  msgid "Width (px)"
275
  msgstr "Breite (px)"
276
 
277
+ #: ../nggwidget.php:385
278
+ #: ../nggwidget.php:571
279
  msgid "Height (px)"
280
  msgstr "Höhe (px)"
281
 
282
+ #: ../nggwidget.php:387
283
+ #: ../nggwidget.php:573
284
  msgid "Mode"
285
  msgstr "Modus"
286
 
287
+ #: ../nggwidget.php:389
288
+ #: ../nggwidget.php:575
289
+ #: ../admin/settings.php:487
290
  msgid "none"
291
  msgstr "keiner"
292
 
293
+ #: ../nggwidget.php:390
294
+ #: ../nggwidget.php:576
295
  msgid "web2.0"
296
  msgstr "Web 2.0"
297
 
298
+ #: ../nggwidget.php:393
299
+ #: ../nggwidget.php:579
300
  msgid "Show in the main page"
301
  msgstr "Zeige auf der Startseite"
302
 
303
+ #: ../nggwidget.php:395
304
+ #: ../nggwidget.php:581
305
  msgid "yes"
306
  msgstr "Ja"
307
 
308
+ #: ../nggwidget.php:396
309
+ #: ../nggwidget.php:582
310
  msgid "no"
311
  msgstr "Nein"
312
 
313
+ #: ../nggwidget.php:399
314
+ #: ../nggwidget.php:585
315
  msgid "Show in"
316
  msgstr "Zeige in"
317
 
318
+ #: ../nggwidget.php:401
319
+ #: ../nggwidget.php:587
320
  msgid "All categories"
321
  msgstr "Alle Kategorien"
322
 
323
+ #: ../nggwidget.php:402
324
+ #: ../nggwidget.php:588
325
  msgid "Only which are not listed"
326
  msgstr "Nur ungelistete"
327
 
328
+ #: ../nggwidget.php:403
329
+ #: ../nggwidget.php:589
330
  msgid "Only which are listed"
331
  msgstr "Nur gelistete"
332
 
333
+ #: ../nggwidget.php:406
334
+ #: ../nggwidget.php:592
335
  msgid "Categories (id (use , to seperate)"
336
  msgstr "Kategorie (ID (nutze , für mehrere))"
337
 
338
+ #: ../nggwidget.php:512
339
  msgid "NextGEN Random Image"
340
  msgstr "NextGEN Zufallsbild"
341
 
408
  msgid "for the Watermark plugin"
409
  msgstr "für das Wasserzeichen Plugin"
410
 
411
+ #: ../admin/about.php:32
 
 
 
 
412
  msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
413
  msgstr "Falls Du Deinen Namen hier nicht auf dieser Liste findest und es einigen Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort einfach eine EMail."
414
 
415
+ #: ../admin/about.php:33
416
  msgid "How to support ?"
417
+ msgstr "Unterstützung / Hilfe"
418
 
419
+ #: ../admin/about.php:34
420
  msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
421
+ msgstr "Es existieren verschiedene Möglichkeiten diese Arbeit zu unterstützen."
422
 
423
+ #: ../admin/about.php:36
424
  msgid "Send us bugfixes / code changes"
425
  msgstr "Schicke uns Verbesserungen / Bugfixes"
426
 
427
+ #: ../admin/about.php:36
428
  msgid "The most motivated support for this plugin are your ideas and brain work"
429
  msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken"
430
 
431
+ #: ../admin/about.php:37
432
  msgid "Translate the plugin"
433
  msgstr "Übersetze das Plugin"
434
 
435
+ #: ../admin/about.php:37
436
  msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
437
  msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen würde ich es gerne in allen verfügbaren Sprachen anbieten"
438
 
439
+ #: ../admin/about.php:38
440
  msgid "Donate the work via paypal"
441
  msgstr "Zeig Dich für diese Arbeit per PayPal dankbar"
442
 
443
+ #: ../admin/about.php:48
444
  msgid "No doubt a very usefull and easy motivation :-)"
445
  msgstr "Kein Zweifel, eine schöne und simple Motivationshilfe"
446
 
447
+ #: ../admin/about.php:50
448
  msgid "Place a link to the plugin in your blog/webpage"
449
  msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog"
450
 
451
+ #: ../admin/about.php:50
452
  msgid "Yes, share and trackback is also a good support for this work "
453
  msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit"
454
 
455
+ #: ../admin/about.php:52
456
  msgid "Thanks!"
457
  msgstr "Vielen Dank!"
458
 
459
+ #: ../admin/about.php:53
460
  msgid "We would like to thank this people which support us in the work :"
461
  msgstr "Wir wollen diesen Menschen für Ihre Hilfe danken:"
462
 
463
+ #: ../admin/addgallery.php:27
464
+ #: ../admin/addgallery.php:43
465
  msgid "Upload failed!"
466
  msgstr "Upload fehlgeschlagen!"
467
 
468
+ #: ../admin/addgallery.php:65
469
  msgid "remove"
470
  msgstr "Entfernen"
471
 
472
+ #: ../admin/addgallery.php:75
473
+ #: ../admin/addgallery.php:85
474
  msgid "Add new gallery"
475
  msgstr "Neue Galerie erstellen"
476
 
477
+ #: ../admin/addgallery.php:77
478
+ #: ../admin/addgallery.php:103
479
  msgid "Upload a Zip-File"
480
  msgstr "Zip-Datei hochladen"
481
 
482
+ #: ../admin/addgallery.php:79
483
+ #: ../admin/addgallery.php:135
484
  msgid "Import image folder"
485
  msgstr "Bilder-Verzeichniss importieren"
486
 
487
+ #: ../admin/addgallery.php:80
488
+ #: ../admin/addgallery.php:153
489
  msgid "Upload Images"
490
  msgstr "Bilder hochladen"
491
 
492
+ #: ../admin/addgallery.php:91
493
  msgid "New Gallery"
494
  msgstr "Neue Galerie"
495
 
496
+ #: ../admin/addgallery.php:93
497
  msgid "Create a new , empty gallery below the folder"
498
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichniss"
499
 
500
+ #: ../admin/addgallery.php:94
501
  msgid "Allowed characters for file and folder names are"
502
  msgstr "Erlaubte Charaktere für die Datei- und Verzeichnissnamen sind"
503
 
504
+ #: ../admin/addgallery.php:97
505
  msgid "Add gallery"
506
  msgstr "Galerie hinzufügen"
507
 
508
+ #: ../admin/addgallery.php:109
509
  msgid "Select Zip-File"
510
  msgstr "Wähle Zip-Datei"
511
 
512
+ #: ../admin/addgallery.php:111
513
  msgid "Upload a zip file with images"
514
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
515
 
516
+ #: ../admin/addgallery.php:114
517
+ #: ../admin/addgallery.php:163
518
  msgid "in to"
519
  msgstr "in"
520
 
521
+ #: ../admin/addgallery.php:116
522
  msgid "a new gallery"
523
  msgstr "in eine neue Galerie"
524
 
525
+ #: ../admin/addgallery.php:126
526
+ #: ../admin/addgallery.php:175
527
  msgid "Note : The upload limit on your server is "
528
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt"
529
 
530
+ #: ../admin/addgallery.php:129
531
  msgid "Start upload"
532
  msgstr "Upload starten"
533
 
534
+ #: ../admin/addgallery.php:141
535
  msgid "Import from Server path:"
536
  msgstr "Importieren aus Server-Pfad:"
537
 
538
+ #: ../admin/addgallery.php:143
539
  msgid "Import a folder with images. Please note :"
540
  msgstr "Importiere ein Verzeichniss mit Bildern. Bitte beachte:"
541
 
542
+ #: ../admin/addgallery.php:144
543
  msgid "For save_mode = ON you need to add the subfolder thumbs manually"
544
  msgstr "Falls save_mode = ON (PHP.INI) mußt Du die Thumbs im Unterverzeichniss manuell hinzufügen"
545
 
546
+ #: ../admin/addgallery.php:147
547
  msgid "Import folder"
548
  msgstr "Verzeichniss importieren"
549
 
550
+ #: ../admin/addgallery.php:159
551
  msgid "Upload image"
552
  msgstr "Bild hochladen"
553
 
554
+ #: ../admin/addgallery.php:165
555
  msgid "Choose gallery"
556
  msgstr "Wähle Galerie"
557
 
558
+ #: ../admin/addgallery.php:178
559
  msgid "Upload images"
560
  msgstr "Bilder hochladen"
561
 
562
+ #: ../admin/addgallery.php:198
563
  msgid "No valid gallery name!"
564
  msgstr "Kein gültiger Galerie-Name!"
565
 
566
+ #: ../admin/addgallery.php:202
567
+ #: ../admin/addgallery.php:210
568
+ #: ../admin/addgallery.php:218
569
+ #: ../admin/addgallery.php:257
570
+ #: ../admin/addgallery.php:261
571
  msgid "Directory"
572
  msgstr "Verzeichniss"
573
 
574
+ #: ../admin/addgallery.php:202
575
+ msgid "didn't exist. Please create first the main gallery folder "
576
+ msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis."
577
+
578
+ #: ../admin/addgallery.php:203
579
+ #: ../admin/addgallery.php:211
580
+ msgid "Check this link, if you didn't know how to set the permission :"
581
+ msgstr "Dieser Link zeigt dir wie man Verzeichnisrechte ändert :"
582
+
583
+ #: ../admin/addgallery.php:210
584
  msgid "didn't have the permissions "
585
  msgstr "hat nicht die Berechtigungen"
586
 
587
+ #: ../admin/addgallery.php:218
588
  msgid "already exists!"
589
  msgstr "gibt es schon!"
590
 
591
+ #: ../admin/addgallery.php:224
592
+ #: ../admin/addgallery.php:226
593
+ #: ../admin/addgallery.php:267
594
+ #: ../admin/addgallery.php:523
595
+ #: ../admin/addgallery.php:525
596
  msgid "Unable to create directory "
597
  msgstr "Kann Verzeichniss nicht erstellen"
598
 
599
+ #: ../admin/addgallery.php:225
600
+ #: ../admin/addgallery.php:524
601
+ #: ../admin/addgallery.php:526
602
  msgid "Unable to set directory permissions "
603
  msgstr "Kann die Berechtigungen nicht setzen"
604
 
605
+ #: ../admin/addgallery.php:227
606
  msgid "Unable to set directory permissions"
607
  msgstr "Kann die Berechtigungen nicht setzen"
608
 
609
+ #: ../admin/addgallery.php:229
610
+ msgid "The server setting Safe-Mode is on !"
611
  msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
612
 
613
+ #: ../admin/addgallery.php:230
614
  msgid "Please create directory"
615
  msgstr "Bitte erstelle das Verzeichniss"
616
 
617
+ #: ../admin/addgallery.php:231
618
  msgid "and the thumbnails directory"
619
  msgstr "und das Thumbnails-Verzeichniss"
620
 
621
+ #: ../admin/addgallery.php:231
622
  msgid "with permission 777 manually !"
623
  msgstr "mit den Berechtigungen 777 manuell !"
624
 
625
+ #: ../admin/addgallery.php:235
626
  msgid "already exists"
627
  msgstr "gibt es bereits"
628
 
629
+ #: ../admin/addgallery.php:239
630
+ #: ../admin/addgallery.php:303
631
+ msgid "successfully created!"
632
+ msgstr "erfolgreich erstellt!"
633
+
634
+ #: ../admin/addgallery.php:239
635
+ msgid "You can show this gallery with the tag"
636
+ msgstr "Du kannst diese Galerie mit diem Stichwort anzeigen :"
637
 
638
+ #: ../admin/addgallery.php:257
639
+ #: ../admin/addgallery.php:266
640
  msgid "doesn&#96;t exist"
641
  msgstr "gibt es nicht"
642
 
643
+ #: ../admin/addgallery.php:261
644
  msgid "contains no pictures"
645
  msgstr "enthält keine Bilder"
646
 
647
+ #: ../admin/addgallery.php:266
648
  msgid "Thumbnail Directory"
649
  msgstr "Thumbnail Verzeichniss"
650
 
651
+ #: ../admin/addgallery.php:266
652
  msgid "Please create the folder <i>thumbs</i> in your gallery folder."
653
  msgstr "Bitte erstelle das Verzeichniss <i>thumbs</i> in Deinem Galerie-Verzeichniss als Unterverzeichniss."
654
 
655
+ #: ../admin/addgallery.php:279
656
  #: ../admin/myimport.php:38
657
  msgid "Database error. Could not add gallery!"
658
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
659
 
660
+ #: ../admin/addgallery.php:303
 
 
 
 
661
  msgid " pictures added."
662
  msgstr " Bilder hinzugefügt."
663
 
664
+ #: ../admin/addgallery.php:347
665
+ #: ../admin/addgallery.php:384
666
  msgid "Some pictures are not writeable :"
667
  msgstr "Einige Bilder sind schreibgeschützt :"
668
 
669
+ #: ../admin/addgallery.php:455
670
  msgid "Follow thumbnails could not created."
671
  msgstr "Folgende Thumbnails konnten nicht erstellt werden :"
672
 
673
+ #: ../admin/addgallery.php:456
674
  msgid "Some thumbnails are not writeable :"
675
  msgstr "Einige Thumbnails sind schreibgeschützt :"
676
 
677
+ #: ../admin/addgallery.php:506
678
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
679
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
680
 
681
+ #: ../admin/addgallery.php:531
682
  msgid "Unable to unlink zip file "
683
  msgstr "Unfähig die Zip-Datei zu bearbeiten"
684
 
685
+ #: ../admin/addgallery.php:533
686
  msgid "Zip-File successfully unpacked"
687
  msgstr "Zip-Datei erfolgreich entpackt"
688
 
689
+ #: ../admin/addgallery.php:562
690
+ #: ../admin/addgallery.php:570
691
  msgid "Unable to unlink file "
692
  msgstr "Unfähig das File zu bearbeiten"
693
 
694
+ #: ../admin/addgallery.php:563
695
  msgid "No gallery selected !"
696
  msgstr "Keine Galerie ausgewählt !"
697
 
698
+ #: ../admin/addgallery.php:571
699
  msgid "Failure in database, no gallery path set !"
700
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
701
 
702
+ #: ../admin/addgallery.php:578
703
+ msgid "is no valid image file!"
704
+ msgstr "ist keine zulässige Bilddatei !"
705
+
706
+ #: ../admin/addgallery.php:586
707
  msgid "Error, the file could not moved to : "
708
+ msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
709
 
710
  #: ../admin/addgallery.php:590
711
  msgid "Error, the file permissions could not set"
712
+ msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
713
 
714
+ #: ../admin/addgallery.php:612
715
+ msgid " Image(s) successfully added"
716
  msgstr " Bild(er) erfolgreich hinzugefügt"
717
 
718
+ #: ../admin/admin.php:48
719
  msgid "Add Gallery"
720
  msgstr "Galerie hinzufügen"
721
 
722
+ #: ../admin/admin.php:49
723
  msgid "Manage Gallery"
724
  msgstr "Galerie verwalten"
725
 
726
+ #: ../admin/admin.php:51
727
  msgid "Options"
728
  msgstr "Optionen"
729
 
730
+ #: ../admin/admin.php:52
731
  msgid "Style"
732
  msgstr "Style"
733
 
734
+ #: ../admin/admin.php:53
735
  msgid "Setup Gallery"
736
  msgstr "Galerie Setup"
737
 
738
+ #: ../admin/admin.php:53
739
  msgid "Setup"
740
  msgstr "Setup"
741
 
742
+ #: ../admin/admin.php:54
743
+ msgid "Roles"
744
+ msgstr "Zugriff"
745
+
746
+ #: ../admin/admin.php:56
747
  #: ../admin/myimport.php:74
748
  msgid "Import"
749
  msgstr "Import "
750
 
751
+ #: ../admin/admin.php:57
752
  msgid "About this Gallery"
753
  msgstr "Über diese Galerie"
754
 
755
+ #: ../admin/admin.php:57
756
  msgid "About"
757
  msgstr "Über"
758
 
759
+ #: ../admin/album.php:17
760
+ #: ../admin/album.php:36
761
  msgid "Update Successfully"
762
  msgstr "Update erfolgreich"
763
 
764
+ #: ../admin/album.php:44
765
  msgid "Album deleted"
766
  msgstr "Album gelöscht"
767
 
768
+ #: ../admin/album.php:116
769
  msgid "Manage Albums"
770
  msgstr "Verwalte Alben"
771
 
772
+ #: ../admin/album.php:125
773
  msgid "No album selected"
774
  msgstr "Kein Album ausgewählt"
775
 
776
+ #: ../admin/album.php:138
777
  msgid "Add new album"
778
  msgstr "Album hinzufügen"
779
 
780
+ #: ../admin/album.php:142
781
+ #: ../admin/manage.php:314
782
+ #: ../admin/manage.php:578
783
  msgid "Delete"
784
  msgstr "Lösche"
785
 
786
+ #: ../admin/album.php:142
787
  msgid "Delete album ?"
788
  msgstr "Lösche Album ?"
789
 
790
+ #: ../admin/album.php:144
791
+ #: ../admin/settings.php:134
792
+ #: ../admin/settings.php:174
793
+ #: ../admin/settings.php:207
794
+ #: ../admin/settings.php:282
795
+ #: ../admin/settings.php:328
796
+ #: ../admin/settings.php:437
797
+ #: ../admin/settings.php:540
798
  msgid "Update"
799
  msgstr "Aktualisiere"
800
 
801
+ #: ../admin/album.php:152
802
+ msgid "[Maximize]"
803
+ msgstr "[Vergrößern]"
804
+
805
+ #: ../admin/album.php:153
806
+ msgid "[Minimize]"
807
+ msgstr "[Verkleinern]"
808
+
809
+ #: ../admin/album.php:155
810
  msgid "After you create and select a album, you can drag and drop a gallery into your album below"
811
  msgstr "Nachdem du ein Album erstellt und ausgewählt hast, kannst du per Drag & Drop eine Galerie in das Album ziehen"
812
 
813
+ #: ../admin/album.php:162
814
  msgid "Select Gallery"
815
  msgstr "Wähle Galerie"
816
 
817
+ #: ../admin/album.php:195
818
  msgid "Album Page ID"
819
  msgstr "Album Seiten ID (Page ID)"
820
 
821
+ #: ../admin/album.php:207
822
  msgid "No album selected!"
823
  msgstr "Kein Album ausgewählt"
824
 
825
+ #: ../admin/album.php:241
826
+ #: ../admin/manage.php:288
827
+ #: ../admin/manage.php:534
828
  #: ../admin/myimport.php:49
829
  msgid "ID"
830
  msgstr "ID"
831
 
832
+ #: ../admin/album.php:242
833
  msgid "Name"
834
  msgstr "Name"
835
 
836
+ #: ../admin/album.php:244
837
  msgid "Page"
838
  msgstr "Seite"
839
 
 
840
  #: ../admin/manage.php:64
841
+ #: ../admin/manage.php:85
842
  msgid "deleted successfully"
843
  msgstr "erfolgreich gelöscht"
844
 
845
+ #: ../admin/manage.php:111
846
  msgid "Watermark successfully added"
847
  msgstr "Wasserzeichen erfolgreich erstellt"
848
 
849
+ #: ../admin/manage.php:116
850
  msgid "Thumbnails successfully created. Please refresh your browser cache."
851
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache aktualisieren."
852
 
853
+ #: ../admin/manage.php:121
854
  msgid "Images successfully resized"
855
  msgstr "Bilder erfolgreich verkleinert"
856
 
857
+ #: ../admin/manage.php:139
858
  msgid "Pictures deleted successfully "
859
  msgstr "Bilder erfolgreich gelöscht"
860
 
861
+ #: ../admin/manage.php:190
862
+ msgid "Tags changed"
863
+ msgstr "Stichwörter geändert"
864
+
865
+ #: ../admin/manage.php:210
866
+ msgid "Update successful"
867
  msgstr "Aktualisierung erfolgreich"
868
 
869
+ #: ../admin/manage.php:235
870
  msgid " picture(s) successfully added"
871
  msgstr " Bild(er) erfolgreich hinzugefügt"
872
 
873
+ #: ../admin/manage.php:261
874
  msgid "New gallery page ID"
875
  msgstr "Neue Galerie Seiten ID"
876
 
877
+ #: ../admin/manage.php:261
878
  msgid "created"
879
  msgstr "erstellt"
880
 
881
+ #: ../admin/manage.php:284
882
  msgid "Gallery Overview"
883
  msgstr "Galerie Übersicht"
884
 
885
+ #: ../admin/manage.php:289
886
  #: ../admin/myimport.php:50
887
  msgid "Gallery name"
888
  msgstr "Galerie Name"
889
 
890
+ #: ../admin/manage.php:292
891
  #: ../admin/myimport.php:53
892
  msgid "Page ID"
893
  msgstr "Seiten ID (Page ID)"
894
 
895
+ #: ../admin/manage.php:293
896
  #: ../admin/myimport.php:54
897
  msgid "Quantity"
898
  msgstr "Anzahl"
899
 
900
+ #: ../admin/manage.php:294
901
+ #: ../admin/manage.php:546
902
  #: ../admin/myimport.php:55
903
  msgid "Action"
904
  msgstr "Aktion"
905
 
906
+ #: ../admin/manage.php:313
907
  #: ../js/nggadmintab-js.php:88
908
  msgid "Edit"
909
  msgstr "Bearbeiten"
910
 
911
+ #: ../admin/manage.php:314
912
+ msgid "Delete this gallery ?"
913
+ msgstr "Diese Galerie löschen ?"
 
914
 
915
+ #: ../admin/manage.php:319
916
+ #: ../admin/manage.php:583
917
  #: ../admin/myimport.php:79
918
  msgid "No entries found"
919
  msgstr "Keine Einträge gefunden"
920
 
921
+ #: ../admin/manage.php:445
922
+ msgid "Main settings"
923
+ msgstr "Haupteinstellungen"
924
+
925
+ #: ../admin/manage.php:450
926
  msgid "Page Link to"
927
  msgstr "Seite verlinkt zu"
928
 
929
+ #: ../admin/manage.php:453
930
  msgid "Not linked"
931
  msgstr "Nicht verlinkt"
932
 
933
+ #: ../admin/manage.php:469
934
  msgid "Preview image"
935
  msgstr "Vorschau-Bild"
936
 
937
+ #: ../admin/manage.php:472
938
  msgid "No Picture"
939
  msgstr "Kein Bild"
940
 
941
+ #: ../admin/manage.php:487
942
  msgid "Path"
943
  msgstr "Pfad"
944
 
945
+ #: ../admin/manage.php:490
946
  msgid "Create new page"
947
  msgstr "Neue Seite erstellen"
948
 
949
+ #: ../admin/manage.php:493
950
  msgid "Main page (No parent)"
951
  msgstr "Haupseite (keine Unetrseite)"
952
 
953
+ #: ../admin/manage.php:496
954
  msgid "Add page"
955
  msgstr "Seite hinzufügen"
956
 
957
+ #: ../admin/manage.php:502
958
  msgid "Scan Folder for new images"
959
  msgstr "Überprüfe Verzeichniss nach neuen Bildern"
960
 
961
+ #: ../admin/manage.php:503
962
+ #: ../admin/manage.php:590
963
  msgid "Save Changes"
964
  msgstr "Änderungen Speichern"
965
 
966
+ #: ../admin/manage.php:508
967
  msgid "No action"
968
  msgstr "Keine Aktion"
969
 
970
+ #: ../admin/manage.php:510
971
  msgid "Set watermark"
972
  msgstr "Wasserzeichen setzen"
973
 
974
+ #: ../admin/manage.php:511
975
  msgid "Create new thumbnails"
976
  msgstr "Neue Thumbnails erstellen"
977
 
978
+ #: ../admin/manage.php:512
979
  msgid "Resize images"
980
  msgstr "Bilder verkleinern"
981
 
982
+ #: ../admin/manage.php:513
983
  msgid "Delete images"
984
  msgstr "Bilder löschen"
985
 
986
+ #: ../admin/manage.php:515
987
+ msgid "Add tags"
988
+ msgstr "Stichwörter hinzufügen"
989
+
990
+ #: ../admin/manage.php:516
991
+ msgid "Delete tags"
992
+ msgstr "Stichwörter löschen"
993
+
994
+ #: ../admin/manage.php:517
995
+ msgid "Overwrite tags"
996
+ msgstr "Stichwörter überschreiben"
997
+
998
+ #: ../admin/manage.php:521
999
+ #: ../admin/manage.php:522
1000
+ #: ../admin/manage.php:608
1001
  msgid "OK"
1002
  msgstr "OK"
1003
 
1004
+ #: ../admin/manage.php:521
1005
+ #: ../admin/manage.php:608
1006
  msgid "No images selected"
1007
  msgstr "Keine Bilder ausgewählt"
1008
 
1009
+ #: ../admin/manage.php:521
1010
+ #: ../admin/manage.php:608
1011
  #, php-format
1012
  msgid ""
1013
  "You are about to start the bulk edit for %s images \n"
1018
  " \n"
1019
  " 'Cancel' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
1020
 
1021
+ #: ../admin/manage.php:523
1022
  msgid "Hide thumbnails "
1023
  msgstr "Thumbnails verstecken"
1024
 
1025
+ #: ../admin/manage.php:524
1026
  msgid "Show thumbnails "
1027
  msgstr "Thumbnails zeigen"
1028
 
1029
+ #: ../admin/manage.php:525
1030
  msgid "Show tags"
1031
  msgstr "Zeige Tags"
1032
 
1033
+ #: ../admin/manage.php:526
1034
  msgid "Hide tags"
1035
  msgstr "Verstecke Tags"
1036
 
1037
+ #: ../admin/manage.php:535
1038
+ #: ../admin/settings.php:271
1039
  msgid "File name"
1040
  msgstr "Dateiname"
1041
 
1042
+ #: ../admin/manage.php:542
1043
  msgid "exclude"
1044
  msgstr "ausschließen"
1045
 
1046
+ #: ../admin/manage.php:544
1047
  msgid "Tags (comma separated list)"
1048
  msgstr "Stichwörter (Tags)"
1049
 
1050
+ #: ../admin/manage.php:577
1051
  msgid "View"
1052
  msgstr "Ansehen"
1053
 
1054
+ #: ../admin/manage.php:578
1055
+ msgid "Delete this file ?"
1056
+ msgstr "Diese Datei löschen ?"
1057
+
1058
+ #: ../admin/manage.php:605
1059
+ msgid "Enter the tags"
1060
+ msgstr "Stichwörter angeben"
1061
+
1062
  #: ../admin/myimport.php:35
1063
  msgid "Gallery "
1064
  msgstr "Galerie"
1075
  msgid "Import this gallery ?"
1076
  msgstr "Diese Galerie importieren ?"
1077
 
1078
+ #: ../admin/overview.php:18
1079
  msgid "NextGEN Gallery Overview"
1080
  msgstr "NextGEN Galerie Übersicht"
1081
 
1082
+ #: ../admin/overview.php:21
1083
  msgid "Summary"
1084
  msgstr "Zusammenfassung"
1085
 
1086
+ #: ../admin/overview.php:30
1087
  #, php-format
1088
+ msgid "There are totally %1$s pictures in %2$s galleries, which are spread across %3$s albums."
1089
  msgstr "Es gibt insgesamt %1$s Bilder in %2$s Galerien - verteilt in %3$s Alben."
1090
 
1091
+ #: ../admin/overview.php:34
1092
  msgid "New Version available"
1093
  msgstr "Neue Version verfügbar !!"
1094
 
1095
+ #: ../admin/overview.php:35
1096
  msgid "The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information."
1097
  msgstr "Der Server benachrichtigt Dich über eine neu verfügbare Version der NextGEN Galerie. Bitte besuche die Plugin Homepage um weitere Informationen zu erhalten."
1098
 
1099
+ #: ../admin/overview.php:37
1100
  msgid "Server Settings"
1101
  msgstr "Server- Einstellungen"
1102
 
1103
+ #: ../admin/overview.php:44
1104
  msgid "Welcome"
1105
  msgstr "Wilkommen"
1106
 
1107
+ #: ../admin/overview.php:48
1108
  msgid "gallery administrator"
1109
  msgstr "Galerie-Administrator"
1110
 
1111
+ #: ../admin/overview.php:48
1112
  msgid "gallery editor"
1113
  msgstr "Galerie-Mitarbeiter"
1114
 
1115
+ #: ../admin/overview.php:49
1116
  #, php-format
1117
  msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
1118
  msgstr "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und Alben verwalten. Du hast im Moment %s Rechte."
1119
 
1120
+ #: ../admin/overview.php:54
1121
  msgid "Add a new gallery or import pictures"
1122
  msgstr "Neue Galerie erstellen oder Bilder importieren"
1123
 
1124
+ #: ../admin/overview.php:55
1125
  msgid "Manage galleries and images"
1126
  msgstr "Verwalte Galerien und Bilder"
1127
 
1128
+ #: ../admin/overview.php:56
1129
  msgid "Create and manage albums"
1130
  msgstr "Erstelle und verwalte Alben"
1131
 
1132
+ #: ../admin/overview.php:57
1133
  msgid "Change the settings of NextGEN Gallery"
1134
  msgstr "Ändere die Einstellungen von NextGEN Galerie"
1135
 
1136
+ #: ../admin/overview.php:60
1137
  msgid "Latest News"
1138
  msgstr "Neueste Schlagzeilen"
1139
 
1140
+ #: ../admin/overview.php:79
1141
  #, php-format
1142
  msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
1143
  msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die <a href=\"%s\">Hauptseite</a> um Updates mitzubekommen."
1144
 
1145
+ #: ../admin/overview.php:92
1146
  msgid "GD support"
1147
  msgstr "GD Unterstützung"
1148
 
1149
+ #: ../admin/overview.php:103
1150
  msgid "No GD support"
1151
  msgstr "Keine GD Unterstützung"
1152
 
1153
+ #: ../admin/overview.php:110
1154
  msgid "Yes"
1155
  msgstr "Ja"
1156
 
1157
+ #: ../admin/overview.php:111
1158
  msgid "No"
1159
  msgstr "Nein"
1160
 
1161
+ #: ../admin/overview.php:125
1162
  msgid "Not set"
1163
  msgstr "Nicht gesetzt"
1164
 
1165
+ #: ../admin/overview.php:127
1166
+ #: ../admin/overview.php:130
1167
  msgid "On"
1168
  msgstr "An"
1169
 
1170
+ #: ../admin/overview.php:128
1171
+ #: ../admin/overview.php:131
1172
  msgid "Off"
1173
  msgstr "Aus"
1174
 
 
 
1175
  #: ../admin/overview.php:134
1176
  #: ../admin/overview.php:137
1177
  #: ../admin/overview.php:140
1178
+ #: ../admin/overview.php:143
1179
+ #: ../admin/overview.php:146
1180
  msgid "N/A"
1181
  msgstr "N/A"
1182
 
1183
+ #: ../admin/overview.php:145
1184
  msgid " MByte"
1185
  msgstr " MByte"
1186
 
1187
+ #: ../admin/overview.php:149
1188
  msgid "Operating System"
1189
  msgstr "Betriebssystem"
1190
 
1191
+ #: ../admin/overview.php:150
1192
  msgid "Server"
1193
  msgstr "Server"
1194
 
1195
+ #: ../admin/overview.php:151
1196
  msgid "Memory usage"
1197
  msgstr "Speicherverbrauch"
1198
 
1199
+ #: ../admin/overview.php:152
1200
  msgid "MYSQL Version"
1201
  msgstr "MySQL Version"
1202
 
1203
+ #: ../admin/overview.php:153
1204
  msgid "SQL Mode"
1205
  msgstr "SQL Modus"
1206
 
1207
+ #: ../admin/overview.php:154
1208
  msgid "PHP Version"
1209
  msgstr "PHP Version"
1210
 
1211
+ #: ../admin/overview.php:155
1212
  msgid "PHP Safe Mode"
1213
  msgstr "PHP Safe Mode"
1214
 
1215
+ #: ../admin/overview.php:156
1216
  msgid "PHP Allow URL fopen"
1217
  msgstr "PHP Allow URL fopen"
1218
 
1219
+ #: ../admin/overview.php:157
1220
  msgid "PHP Memory Limit"
1221
  msgstr "PHP Memory Limit"
1222
 
1223
+ #: ../admin/overview.php:158
1224
  msgid "PHP Max Upload Size"
1225
  msgstr "PHP Max Upload Size"
1226
 
1227
+ #: ../admin/overview.php:159
1228
  msgid "PHP Max Post Size"
1229
  msgstr "PHP Max Post Size"
1230
 
1231
+ #: ../admin/overview.php:160
1232
  msgid "PHP Max Script Execute Time"
1233
  msgstr "PHP Max Script Execute Time"
1234
 
1235
+ #: ../admin/roles.php:20
1236
+ msgid "Updated capabilities"
1237
+ msgstr "Zugriffsrechte geändert"
1238
+
1239
+ #: ../admin/roles.php:25
1240
+ msgid "Roles / capabilities"
1241
+ msgstr "Rollen / Zugriffsrechte"
1242
+
1243
+ #: ../admin/roles.php:26
1244
+ msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
1245
+ msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben sol. NextGEN gallery unterstützt nur die Standard Wordpress Rollen/Fähigkeitenen von WordPress."
1246
+
1247
+ #: ../admin/roles.php:27
1248
+ msgid "For a more flexible user management you can use the"
1249
+ msgstr "Nutze für eine flexiblere Rechteverwaltung den "
1250
+
1251
+ #: ../admin/roles.php:33
1252
+ msgid "Main NextGEN Gallery overview"
1253
+ msgstr "NextGEN Galerie Übersicht"
1254
+
1255
+ #: ../admin/roles.php:37
1256
+ msgid "Use TinyMCE Button / Upload tab"
1257
+ msgstr "TinyMCE Button / Upload Tab"
1258
+
1259
+ #: ../admin/roles.php:41
1260
+ msgid "Add gallery / Upload images"
1261
+ msgstr "Galerie einrichten / Bilder hochladen"
1262
+
1263
+ #: ../admin/roles.php:45
1264
+ msgid "Manage gallery"
1265
+ msgstr "Galerie verwalten"
1266
+
1267
+ #: ../admin/roles.php:49
1268
+ msgid "Edit Album"
1269
+ msgstr "Album erstellen"
1270
+
1271
+ #: ../admin/roles.php:53
1272
+ msgid "Change style"
1273
+ msgstr "Style anpassen"
1274
+
1275
+ #: ../admin/roles.php:57
1276
+ msgid "Change options"
1277
+ msgstr "Optionen änderen"
1278
+
1279
+ #: ../admin/roles.php:61
1280
+ msgid "Update capabilities"
1281
+ msgstr "Rechte aktualisieren"
1282
+
1283
+ #: ../admin/settings.php:26
1284
+ #: ../admin/style.php:16
1285
+ msgid "Update successfully"
1286
+ msgstr "Aktualisierung erfolgreich"
1287
+
1288
+ #: ../admin/settings.php:76
1289
+ #: ../admin/settings.php:88
1290
  msgid "General Options"
1291
  msgstr "Allg. Optionen"
1292
 
1293
+ #: ../admin/settings.php:77
1294
+ #: ../admin/settings.php:248
1295
  msgid "Thumbnails"
1296
  msgstr "Thumbnails"
1297
 
1298
+ #: ../admin/settings.php:78
1299
  msgid "Images"
1300
  msgstr "Bilder"
1301
 
1302
+ #: ../admin/settings.php:80
1303
+ #: ../admin/settings.php:290
1304
  msgid "Effects"
1305
  msgstr "Effekte"
1306
 
1307
+ #: ../admin/settings.php:95
1308
  msgid "Gallery path"
1309
  msgstr "Galerie-Pfad"
1310
 
1311
+ #: ../admin/settings.php:97
1312
  msgid "This is the default path for all galleries"
1313
  msgstr "Dies ist der Standard-Pfad für alle Galerien"
1314
 
1315
+ #: ../admin/settings.php:108
 
 
 
 
 
 
 
 
1316
  msgid "Delete image files"
1317
  msgstr "Lösche Bilddateien"
1318
 
1319
+ #: ../admin/settings.php:110
1320
  msgid "Delete files, when removing a gallery in the database"
1321
  msgstr "Löscht Dateien, falls die Galerie in der Datenbank entfernt wird"
1322
 
1323
+ #: ../admin/settings.php:113
1324
+ msgid "Tags / Categories"
1325
+ msgstr "Stichtwörter / Kategorien"
1326
+
1327
+ #: ../admin/settings.php:116
1328
+ msgid "Activate related images"
1329
+ msgstr "Verwandte Bilder anzeigen"
1330
+
1331
+ #: ../admin/settings.php:118
1332
+ msgid "This option will append related images to every post"
1333
+ msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag"
1334
+
1335
+ #: ../admin/settings.php:122
1336
+ msgid "Match with"
1337
+ msgstr "Vergleiche mit"
1338
+
1339
+ #: ../admin/settings.php:123
1340
+ msgid "Categories"
1341
+ msgstr "Kategorien"
1342
+
1343
+ #: ../admin/settings.php:124
1344
+ msgid "Tags"
1345
+ msgstr "Stichwörter"
1346
+
1347
+ #: ../admin/settings.php:124
1348
+ msgid " (require WordPress 2.3 or higher)"
1349
+ msgstr " (benötigt WordPress 2.3 oder höher)"
1350
+
1351
+ #: ../admin/settings.php:128
1352
+ msgid "Max. number of images"
1353
+ msgstr "Max. Anzahl der Bilder"
1354
+
1355
+ #: ../admin/settings.php:130
1356
+ msgid "0 will show all images"
1357
+ msgstr "0 zeige alle verwandten Bilder"
1358
+
1359
+ #: ../admin/settings.php:142
1360
  msgid "Thumbnail settings"
1361
  msgstr "Thumbnail Einstellungen"
1362
 
1363
+ #: ../admin/settings.php:147
1364
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1365
  msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
1366
 
1367
+ #: ../admin/settings.php:150
1368
  msgid "Width x height (in pixel)"
1369
  msgstr "Breite x Höhe (in Pixel)"
1370
 
1371
+ #: ../admin/settings.php:152
1372
  msgid "These values are maximum values "
1373
  msgstr "Diese Angaben sind maximale Angaben."
1374
 
1375
+ #: ../admin/settings.php:155
1376
  msgid "Set fix dimension"
1377
  msgstr "Setze fixe Größe"
1378
 
1379
+ #: ../admin/settings.php:157
1380
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1381
  msgstr "Ignoriere Bildseitenverhältnis"
1382
 
1383
+ #: ../admin/settings.php:160
1384
  msgid "Crop square thumbnail from image"
1385
  msgstr "Mittige Thumbnails aus Bildern ausschneiden"
1386
 
1387
+ #: ../admin/settings.php:162
1388
  msgid "Create square thumbnails, use only the width setting :"
1389
  msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :"
1390
 
1391
+ #: ../admin/settings.php:165
1392
  msgid "Thumbnail quality"
1393
  msgstr "Thumbnail Qualität"
1394
 
1395
+ #: ../admin/settings.php:169
1396
+ #: ../admin/settings.php:201
1397
  msgid "Resample Mode"
1398
  msgstr "Resample Modus"
1399
 
1400
+ #: ../admin/settings.php:171
1401
+ #: ../admin/settings.php:204
1402
  msgid "Value between 1-5 (higher value, more CPU load)"
1403
  msgstr "Wähle zwischen 1-5 (je höhere desto mehr CPU Leistung notwendig)"
1404
 
1405
+ #: ../admin/settings.php:182
1406
  msgid "Image settings"
1407
  msgstr "Bild Einstellungen"
1408
 
1409
+ #: ../admin/settings.php:189
1410
  msgid "Resize Images"
1411
  msgstr "Bilder verkleinern"
1412
 
1413
+ #: ../admin/settings.php:193
1414
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1415
  msgstr "Breite x Höhe (in Pixel). NextGEN Galerie beachtet das Seitenverhältnis."
1416
 
1417
+ #: ../admin/settings.php:196
1418
  msgid "Image quality"
1419
  msgstr "Bild Qualität"
1420
 
1421
+ #: ../admin/settings.php:215
 
 
 
 
 
 
 
 
1422
  msgid "Gallery settings"
1423
  msgstr "Galerie Einstellungen"
1424
 
1425
+ #: ../admin/settings.php:222
1426
  msgid "Activate jQuery navigation"
1427
  msgstr "Aktiviere jQuery Navigation"
1428
 
1429
+ #: ../admin/settings.php:224
1430
  msgid "Please note : This is still experimental. Requires the Thickbox effect"
1431
  msgstr "Bitte beachten : Diese Funktion befindet sich noch im Teststadium. Geht nur mit Thickbox."
1432
 
1433
+ #: ../admin/settings.php:228
1434
  msgid "Deactivate gallery page link"
1435
  msgstr "Keine Seitenverzweigung"
1436
 
1437
+ #: ../admin/settings.php:230
1438
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
1439
  msgstr "Das Album benötigt dann keine Link zu Seiten. Die Galerie wird direkt angezeigt."
1440
 
1441
+ #: ../admin/settings.php:234
1442
  msgid "Number of images per page"
1443
  msgstr "Anzahl der Bilder pro Seite"
1444
 
1445
+ #: ../admin/settings.php:236
1446
  msgid "0 will disable pagination, all images on one page"
1447
  msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
1448
 
1449
+ #: ../admin/settings.php:240
1450
  msgid "Integrate slideshow"
1451
  msgstr "Slideshow verwenden"
1452
 
1453
+ #: ../admin/settings.php:247
1454
  msgid "Show first"
1455
  msgstr "Zeige als erstes"
1456
 
1457
+ #: ../admin/settings.php:253
1458
+ msgid "Show thumbnail description"
1459
+ msgstr "Zeige Bildbeschreibung"
1460
+
1461
+ #: ../admin/settings.php:254
1462
+ #: ../admin/settings.php:302
1463
+ #: ../js/nggadmintab-js.php:112
1464
+ msgid "None"
1465
+ msgstr "Keiner"
1466
+
1467
+ #: ../admin/settings.php:255
1468
+ msgid "Description text"
1469
+ msgstr "Beschreibung"
1470
+
1471
+ #: ../admin/settings.php:256
1472
+ #: ../admin/settings.php:272
1473
+ msgid "Alt / Title text"
1474
+ msgstr "Alt / Titel Text"
1475
+
1476
+ #: ../admin/settings.php:260
1477
+ msgid "Show ImageBrowser"
1478
+ msgstr "Zeige Bilder Browser"
1479
+
1480
+ #: ../admin/settings.php:262
1481
+ msgid "The gallery will open the ImageBrowser instead the effect."
1482
+ msgstr "Es wird der Bilder Browser anzeiget (Kein JavaScript Effect)"
1483
+
1484
+ #: ../admin/settings.php:266
1485
+ msgid "Sort options"
1486
+ msgstr "Sortierung"
1487
+
1488
+ #: ../admin/settings.php:269
1489
  msgid "Sort thumbnails"
1490
  msgstr "Thumbnails sortieren"
1491
 
1492
+ #: ../admin/settings.php:270
1493
  msgid "Image ID"
1494
  msgstr "Bilder ID"
1495
 
1496
+ #: ../admin/settings.php:276
 
 
 
 
1497
  msgid "Sort direction"
1498
  msgstr "Sortierreihenfolge"
1499
 
1500
+ #: ../admin/settings.php:277
1501
  msgid "Ascending"
1502
  msgstr "Aufsteigend"
1503
 
1504
+ #: ../admin/settings.php:278
1505
  msgid "Descending"
1506
  msgstr "Absteigend"
1507
 
 
 
 
 
 
 
 
 
1508
  #: ../admin/settings.php:294
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1509
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
1510
  msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML Code verwenden. Bitte beachte, das nur der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
1511
 
1512
+ #: ../admin/settings.php:295
1513
  msgid "With the placeholder"
1514
  msgstr "Mit Platzhalter"
1515
 
1516
+ #: ../admin/settings.php:295
1517
  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."
1518
  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."
1519
 
1520
+ #: ../admin/settings.php:299
1521
  msgid "JavaScript Thumbnail effect"
1522
  msgstr "JavaScript Thumbnail Effekt"
1523
 
1524
+ #: ../admin/settings.php:303
 
 
 
 
 
1525
  msgid "Thickbox"
1526
  msgstr "Thickbox"
1527
 
1528
+ #: ../admin/settings.php:304
1529
  msgid "Lightbox"
1530
  msgstr "Lightbox"
1531
 
1532
+ #: ../admin/settings.php:305
1533
  msgid "Highslide"
1534
  msgstr "Highslide"
1535
 
1536
+ #: ../admin/settings.php:306
1537
  msgid "Custom"
1538
  msgstr "Eigener"
1539
 
1540
+ #: ../admin/settings.php:311
1541
  msgid "Link Code line"
1542
  msgstr "Link Code Zeile"
1543
 
1544
+ #: ../admin/settings.php:319
1545
  msgid "Select loading image"
1546
  msgstr "Wähle Ladeanimation"
1547
 
1548
+ #: ../admin/settings.php:343
1549
+ msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
1550
+ msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. "
1551
+
1552
+ #: ../admin/settings.php:348
1553
  msgid "Preview"
1554
  msgstr "Vorschau"
1555
 
1556
+ #: ../admin/settings.php:350
1557
+ #: ../admin/settings.php:354
1558
  msgid "Position"
1559
  msgstr "Position"
1560
 
1561
+ #: ../admin/settings.php:374
1562
  msgid "Offset"
1563
  msgstr "Abstand"
1564
 
1565
+ #: ../admin/settings.php:392
1566
  msgid "Use image as watermark"
1567
  msgstr "Benutze Bild als Wasserzeichen"
1568
 
1569
+ #: ../admin/settings.php:395
1570
  msgid "URL to file"
1571
  msgstr "URL zur Datei"
1572
 
1573
+ #: ../admin/settings.php:397
1574
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
1575
  msgstr "Der Dateizugriff von URL's ist auf diesem Server deaktiviert (allow_url_fopen)"
1576
 
1577
+ #: ../admin/settings.php:403
1578
  msgid "Use text as watermark"
1579
  msgstr "Benutze Text als Wasserzeichen"
1580
 
1581
+ #: ../admin/settings.php:406
1582
  msgid "Font"
1583
  msgstr "Schriftart"
1584
 
1585
+ #: ../admin/settings.php:414
1586
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
1587
  msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
1588
 
1589
+ #: ../admin/settings.php:418
1590
  msgid "Size"
1591
  msgstr "Größe"
1592
 
1593
+ #: ../admin/settings.php:422
1594
  msgid "Color"
1595
  msgstr "Farbe"
1596
 
1597
+ #: ../admin/settings.php:424
1598
  msgid "(hex w/o #)"
1599
  msgstr "(hex w/o #)"
1600
 
1601
+ #: ../admin/settings.php:427
1602
  msgid "Text"
1603
  msgstr "Text"
1604
 
1605
+ #: ../admin/settings.php:431
1606
  msgid "Opaque"
1607
  msgstr "Transparenz"
1608
 
1609
+ #: ../admin/settings.php:450
1610
  msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
1611
  msgstr "Die Datei imagerotator.swf ist nicht im Plugin Verzeichniss -> so wird die Slideshow nicht funktionieren."
1612
 
1613
+ #: ../admin/settings.php:451
1614
  msgid "The settings are used in the JW Image Rotator Version 3.9 ."
1615
  msgstr "Die Einstellungen werden im JW Image Rotator Version 3.9 benutzt."
1616
 
1617
+ #: ../admin/settings.php:452
1618
  msgid "See more information for the Flash Player on the web page"
1619
  msgstr "Weitere Informationen auf der Flash Player Homepage"
1620
 
1621
+ #: ../admin/settings.php:455
1622
  msgid "Default size (W x H)"
1623
  msgstr "Standard Größe (B x H)"
1624
 
1625
+ #: ../admin/settings.php:460
1626
  msgid "Shuffle mode"
1627
  msgstr "Shuffle Modus"
1628
 
1629
+ #: ../admin/settings.php:464
1630
  msgid "Show next image on click"
1631
  msgstr "Zeige nächstes Bild bei Klick"
1632
 
1633
+ #: ../admin/settings.php:468
1634
  msgid "Show navigation bar"
1635
  msgstr "Zeige Navigations-Leiste"
1636
 
1637
+ #: ../admin/settings.php:472
1638
  msgid "Show loading icon"
1639
  msgstr "Zeige Lade-Bildchen"
1640
 
1641
+ #: ../admin/settings.php:476
1642
  msgid "Use watermark logo"
1643
  msgstr "Wasserzeichen anzeigen"
1644
 
1645
+ #: ../admin/settings.php:478
1646
  msgid "You can change the logo at the watermark settings"
1647
  msgstr "Du kannst den Pfad in Einstellungen für da Wasserzeichen angeben"
1648
 
1649
+ #: ../admin/settings.php:481
1650
  msgid "Stretch image"
1651
  msgstr "Bild dehnen"
1652
 
1653
+ #: ../admin/settings.php:484
1654
  msgid "true"
1655
  msgstr "true"
1656
 
1657
+ #: ../admin/settings.php:485
1658
  msgid "false"
1659
  msgstr "false"
1660
 
1661
+ #: ../admin/settings.php:486
1662
  msgid "fit"
1663
  msgstr "passend"
1664
 
1665
+ #: ../admin/settings.php:492
1666
  msgid "Duration time"
1667
  msgstr "Dauer"
1668
 
1669
+ #: ../admin/settings.php:493
1670
  msgid "sec."
1671
  msgstr "Sek."
1672
 
1673
+ #: ../admin/settings.php:496
1674
  msgid "Transition / Fade effect"
1675
  msgstr "Fade Effekt"
1676
 
1677
+ #: ../admin/settings.php:499
1678
  msgid "fade"
1679
  msgstr "fade"
1680
 
1681
+ #: ../admin/settings.php:500
1682
  msgid "bgfade"
1683
  msgstr "BGFade"
1684
 
1685
+ #: ../admin/settings.php:501
1686
  msgid "slowfade"
1687
  msgstr "Slowfade"
1688
 
1689
+ #: ../admin/settings.php:502
1690
  msgid "circles"
1691
  msgstr "Kreise"
1692
 
1693
+ #: ../admin/settings.php:503
1694
  msgid "bubbles"
1695
  msgstr "Blasen"
1696
 
1697
+ #: ../admin/settings.php:504
1698
  msgid "blocks"
1699
  msgstr "Blöcke"
1700
 
1701
+ #: ../admin/settings.php:505
1702
  msgid "fluids"
1703
  msgstr "Fluids"
1704
 
1705
+ #: ../admin/settings.php:506
1706
  msgid "lines"
1707
  msgstr "Linien"
1708
 
1709
+ #: ../admin/settings.php:507
1710
  msgid "random"
1711
  msgstr "Zufall"
1712
 
1713
+ #: ../admin/settings.php:511
1714
  msgid "Use slow zooming effect"
1715
  msgstr "nutze Zoom Effekt"
1716
 
1717
+ #: ../admin/settings.php:515
1718
  msgid "Background Color"
1719
  msgstr "Hintergrund (BG) Farbe"
1720
 
1721
+ #: ../admin/settings.php:520
1722
  msgid "Texts / Buttons Color"
1723
  msgstr "Text- / Button Farbe"
1724
 
1725
+ #: ../admin/settings.php:525
1726
  msgid "Rollover / Active Color"
1727
  msgstr "Rollover / Aktiv (Link) Farbe"
1728
 
1729
+ #: ../admin/settings.php:530
1730
  msgid "Background music (URL)"
1731
  msgstr "Hintergundmusik (URL)"
1732
 
1733
+ #: ../admin/settings.php:534
1734
  msgid "Try XHTML validation (with CDATA)"
1735
  msgstr "Integriere XHTML Validierung (mittels CDATA)"
1736
 
1737
+ #: ../admin/settings.php:536
1738
  msgid "Important : Could causes problem at some browser. Please recheck your page."
1739
  msgstr "Wichtig : Es könnnten Probleme bei einigen Browser auftauchen. Unbedingt Seite prüfen."
1740
 
1741
+ #: ../admin/setup.php:12
1742
  msgid "Reset all settings to default parameter"
1743
  msgstr "Stelle alle Einstellungen auf Anfangswerte zurück"
1744
 
1745
+ #: ../admin/setup.php:37
1746
  msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1747
  msgstr "Deinstallation erfolgreich ! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen ! Stay geeky ! Viel Glück !"
1748
 
1749
+ #: ../admin/setup.php:46
1750
  msgid "Reset options"
1751
  msgstr "Optionen zurücksetzen"
1752
 
1753
+ #: ../admin/setup.php:49
1754
  msgid "Reset all options/settings to the default installation."
1755
  msgstr "Alle Optionen/Einstellungen zurücksetzen"
1756
 
1757
+ #: ../admin/setup.php:50
1758
  msgid "Reset settings"
1759
  msgstr "Einstellungen zurücksetzen"
1760
 
1761
+ #: ../admin/setup.php:50
1762
  msgid ""
1763
  "Reset all options to default settings ?\\n"
1764
  "\\n"
1768
  "\\n"
1769
  "Wähle [Cancel] um abzubrechen, [OK] zum Durchführen.\\n"
1770
 
1771
+ #: ../admin/setup.php:54
1772
  msgid "Uninstall plugin tables"
1773
  msgstr "Plugin Tabellen (DB) entfernen"
1774
 
1775
+ #: ../admin/setup.php:56
1776
  msgid "You don't like NextGEN Gallery ?"
1777
  msgstr "Du magst die NextGEN Galerie nicht ?"
1778
 
1779
+ #: ../admin/setup.php:57
1780
  msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
1781
  msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen damit alle Tabellen der Galerie entfernt werden."
1782
 
1783
+ #: ../admin/setup.php:58
1784
  msgid "WARNING:"
1785
  msgstr "WARNUNG:"
1786
 
1787
+ #: ../admin/setup.php:59
1788
  msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
1789
  msgstr "Einmal deinstalliert -> keine Rückgängigmachung! D.h. auf Deutsch, das eine einmalig durchgeführte Deinstallation nicht mehr rückgängig gemacht werden kann da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird währenddessen."
1790
 
1791
+ #: ../admin/setup.php:59
1792
  msgid "and"
1793
  msgstr "und"
1794
 
1795
+ #: ../admin/setup.php:61
1796
  msgid "Uninstall plugin"
1797
  msgstr "Plugin deinstallieren"
1798
 
1799
+ #: ../admin/setup.php:61
1800
  msgid ""
1801
  "You are about to Uninstall this plugin from WordPress.\\n"
1802
  "This action is not reversible.\\n"
1808
  "\\n"
1809
  "Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
1810
 
1811
+ #: ../admin/style.php:34
1812
  msgid "You do not have sufficient permissions to edit templates for this blog."
1813
  msgstr "Du hast nicht die benötigten Rechte um Templates in diesem Blog zu bearbeiten."
1814
 
1815
+ #: ../admin/style.php:43
1816
  msgid "CSS file successfully updated"
1817
  msgstr "CSS Datei erfolgreich aktualisiert"
1818
 
1819
+ #: ../admin/style.php:66
1820
  msgid "Activate and use style sheet:"
1821
  msgstr "Aktiviere und nutze Stylesheet:"
1822
 
1823
+ #: ../admin/style.php:85
1824
  msgid "Activate"
1825
  msgstr "Aktiviere"
1826
 
1827
+ #: ../admin/style.php:92
1828
  #, php-format
1829
  msgid "Editing <strong>%s</strong>"
1830
  msgstr "Bearbeite <strong>%s</strong>"
1831
 
1832
+ #: ../admin/style.php:94
1833
  #, php-format
1834
  msgid "Browsing <strong>%s</strong>"
1835
  msgstr "Browse <strong>%s</strong>"
1836
 
1837
+ #: ../admin/style.php:99
1838
  msgid "Author"
1839
  msgstr "Autor"
1840
 
1841
+ #: ../admin/style.php:100
1842
  msgid "Version"
1843
  msgstr "Version"
1844
 
1845
+ #: ../admin/style.php:116
1846
  msgid "Update File &raquo;"
1847
  msgstr "Datei aktualisieren"
1848
 
1849
+ #: ../admin/style.php:120
1850
  msgid "If this file were writable you could edit it."
1851
  msgstr "Wenn diese Datei beschreibbar wäre, könntest Du Sie bearbeiten."
1852
 
1853
+ #: ../admin/style.php:125
1854
  msgid "Oops, no such file exists! Double check the name and try again, merci."
1855
  msgstr "Oha, keine solche Datei existiert! Bitte überprüfe den Namen und probiere es erneut, danke."
1856
 
1891
 
1892
  #: ../js/nggadmintab-js.php:116
1893
  msgid "Send to editor &raquo;"
1894
+ msgstr "Zum Editor schicken"
1895
 
1896
  #: ../js/nggadmintab-js.php:175
1897
  msgid "Save &raquo;"
lang/nggallery.po CHANGED
@@ -2,7 +2,7 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "POT-Creation-Date: \n"
5
- "PO-Revision-Date: 2007-07-10 18:21+0100\n"
6
  "Last-Translator: Alex Rabe\n"
7
  "Language-Team: Alex Rabe\n"
8
  "MIME-Version: 1.0\n"
@@ -30,17 +30,17 @@ msgid "URL"
30
  msgstr ""
31
 
32
  #: ../nggadmintab.php:136
33
- #: ../admin/manage.php:437
34
  #: ../js/nggadmintab-js.php:164
35
  msgid "Alt &amp; Title Text"
36
  msgstr ""
37
 
38
  #: ../nggadmintab.php:140
39
- #: ../admin/manage.php:222
40
- #: ../admin/manage.php:370
41
- #: ../admin/manage.php:436
42
  #: ../admin/myimport.php:52
43
- #: ../admin/style.php:97
44
  #: ../js/nggadmintab-js.php:167
45
  msgid "Description"
46
  msgstr ""
@@ -58,28 +58,30 @@ msgstr ""
58
  msgid "Save"
59
  msgstr ""
60
 
61
- #: ../nggallery.php:254
62
- msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
63
- msgstr ""
64
-
65
  #: ../nggbutton.php:36
66
- #: ../admin/addgallery.php:255
67
- #: ../admin/addgallery.php:319
68
- #: ../admin/admin.php:45
69
- #: ../admin/manage.php:44
70
- #: ../admin/manage.php:341
71
- #: ../admin/settings.php:121
 
72
  msgid "Gallery"
73
  msgstr ""
74
 
 
 
 
 
75
  #: ../nggbutton.php:37
76
- #: ../admin/admin.php:48
77
  msgid "Album"
78
  msgstr ""
79
 
80
  #: ../nggbutton.php:38
81
- #: ../nggfunctions.php:456
82
- #: ../admin/manage.php:64
83
  msgid "Picture"
84
  msgstr ""
85
 
@@ -97,14 +99,14 @@ msgid "Image list"
97
  msgstr ""
98
 
99
  #: ../nggbutton.php:64
100
- #: ../admin/settings.php:124
101
- #: ../admin/settings.php:272
102
- #: ../admin/settings.php:473
103
  msgid "Slideshow"
104
  msgstr ""
105
 
106
  #: ../nggbutton.php:75
107
- #: ../admin/album.php:98
108
  msgid "Select album"
109
  msgstr ""
110
 
@@ -141,8 +143,8 @@ msgid "No effect"
141
  msgstr ""
142
 
143
  #: ../nggbutton.php:124
144
- #: ../admin/settings.php:123
145
- #: ../admin/settings.php:370
146
  msgid "Watermark"
147
  msgstr ""
148
 
@@ -167,6 +169,7 @@ msgid "Right"
167
  msgstr ""
168
 
169
  #: ../nggbutton.php:147
 
170
  msgid "Cancel"
171
  msgstr ""
172
 
@@ -175,33 +178,39 @@ msgstr ""
175
  msgid "Insert"
176
  msgstr ""
177
 
178
- #: ../nggfunctions.php:366
179
- #: ../nggfunctions.php:382
180
  msgid "Watch gallery"
181
  msgstr ""
182
 
183
- #: ../nggfunctions.php:376
 
 
184
  msgid "Photos"
185
  msgstr ""
186
 
187
- #: ../nggfunctions.php:456
188
- msgid "from"
189
  msgstr ""
190
 
191
- #: ../ngginstall.php:105
192
- msgid "[Show as slideshow]"
193
  msgstr ""
194
 
195
- #: ../ngginstall.php:106
196
- msgid "[Show picture list]"
197
  msgstr ""
198
 
199
- #: ../ngginstall.php:116
200
- msgid "Back"
201
  msgstr ""
202
 
203
- #: ../ngginstall.php:117
204
- msgid "Next"
 
 
 
 
205
  msgstr ""
206
 
207
  #: ../nggwidget.php:148
@@ -212,117 +221,121 @@ msgstr ""
212
  msgid "Select Gallery:"
213
  msgstr ""
214
 
215
- #: ../nggwidget.php:160
 
 
 
 
216
  msgid "Height:"
217
  msgstr ""
218
 
219
- #: ../nggwidget.php:161
220
  msgid "Width:"
221
  msgstr ""
222
 
223
- #: ../nggwidget.php:381
224
  msgid "NextGEN Recent Image"
225
  msgstr ""
226
 
227
- #: ../nggwidget.php:421
228
- #: ../nggwidget.php:611
229
- #: ../admin/album.php:213
230
- #: ../admin/manage.php:221
231
- #: ../admin/manage.php:351
232
  #: ../admin/myimport.php:51
233
  #: ../js/nggadmintab-js.php:104
234
  msgid "Title"
235
  msgstr ""
236
 
237
- #: ../nggwidget.php:423
238
- #: ../nggwidget.php:613
239
  msgid "Display type"
240
  msgstr ""
241
 
242
- #: ../nggwidget.php:425
243
- #: ../nggwidget.php:615
244
- #: ../admin/manage.php:433
245
  #: ../js/nggadmintab-js.php:101
246
  msgid "Thumbnail"
247
  msgstr ""
248
 
249
- #: ../nggwidget.php:426
250
- #: ../nggwidget.php:616
251
  msgid "Orginal"
252
  msgstr ""
253
 
254
- #: ../nggwidget.php:429
255
- #: ../nggwidget.php:619
256
  msgid "Number of pics"
257
  msgstr ""
258
 
259
- #: ../nggwidget.php:440
260
- #: ../nggwidget.php:630
261
  msgid "Width (px)"
262
  msgstr ""
263
 
264
- #: ../nggwidget.php:442
265
- #: ../nggwidget.php:632
266
  msgid "Height (px)"
267
  msgstr ""
268
 
269
- #: ../nggwidget.php:444
270
- #: ../nggwidget.php:634
271
  msgid "Mode"
272
  msgstr ""
273
 
274
- #: ../nggwidget.php:446
275
- #: ../nggwidget.php:636
276
- #: ../admin/settings.php:512
277
  msgid "none"
278
  msgstr ""
279
 
280
- #: ../nggwidget.php:447
281
- #: ../nggwidget.php:637
282
  msgid "web2.0"
283
  msgstr ""
284
 
285
- #: ../nggwidget.php:450
286
- #: ../nggwidget.php:640
287
  msgid "Show in the main page"
288
  msgstr ""
289
 
290
- #: ../nggwidget.php:452
291
- #: ../nggwidget.php:642
292
  msgid "yes"
293
  msgstr ""
294
 
295
- #: ../nggwidget.php:453
296
- #: ../nggwidget.php:643
297
  msgid "no"
298
  msgstr ""
299
 
300
- #: ../nggwidget.php:456
301
- #: ../nggwidget.php:646
302
  msgid "Show in"
303
  msgstr ""
304
 
305
- #: ../nggwidget.php:458
306
- #: ../nggwidget.php:648
307
  msgid "All categories"
308
  msgstr ""
309
 
310
- #: ../nggwidget.php:459
311
- #: ../nggwidget.php:649
312
  msgid "Only which are not listed"
313
  msgstr ""
314
 
315
- #: ../nggwidget.php:460
316
- #: ../nggwidget.php:650
317
  msgid "Only which are listed"
318
  msgstr ""
319
 
320
- #: ../nggwidget.php:463
321
- #: ../nggwidget.php:653
322
  msgid "Categories (id (use , to seperate)"
323
  msgstr ""
324
 
325
- #: ../nggwidget.php:573
326
  msgid "NextGEN Random Image"
327
  msgstr ""
328
 
@@ -395,291 +408,302 @@ msgstr ""
395
  msgid "for the Watermark plugin"
396
  msgstr ""
397
 
398
- #: ../admin/about.php:31
399
- msgid "for MyGallery, the best gallery plugin concept"
400
- msgstr ""
401
-
402
- #: ../admin/about.php:33
403
  msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
404
  msgstr ""
405
 
406
- #: ../admin/about.php:34
407
  msgid "How to support ?"
408
  msgstr ""
409
 
410
- #: ../admin/about.php:35
411
  msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
412
  msgstr ""
413
 
414
- #: ../admin/about.php:37
415
  msgid "Send us bugfixes / code changes"
416
  msgstr ""
417
 
418
- #: ../admin/about.php:37
419
  msgid "The most motivated support for this plugin are your ideas and brain work"
420
  msgstr ""
421
 
422
- #: ../admin/about.php:38
423
  msgid "Translate the plugin"
424
  msgstr ""
425
 
426
- #: ../admin/about.php:38
427
  msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
428
  msgstr ""
429
 
430
- #: ../admin/about.php:39
431
  msgid "Donate the work via paypal"
432
  msgstr ""
433
 
434
- #: ../admin/about.php:49
435
  msgid "No doubt a very usefull and easy motivation :-)"
436
  msgstr ""
437
 
438
- #: ../admin/about.php:51
439
  msgid "Place a link to the plugin in your blog/webpage"
440
  msgstr ""
441
 
442
- #: ../admin/about.php:51
443
  msgid "Yes, share and trackback is also a good support for this work "
444
  msgstr ""
445
 
446
- #: ../admin/about.php:53
447
  msgid "Thanks!"
448
  msgstr ""
449
 
450
- #: ../admin/about.php:54
451
  msgid "We would like to thank this people which support us in the work :"
452
  msgstr ""
453
 
454
- #: ../admin/addgallery.php:23
455
- #: ../admin/addgallery.php:37
456
  msgid "Upload failed!"
457
  msgstr ""
458
 
459
- #: ../admin/addgallery.php:103
460
  msgid "remove"
461
  msgstr ""
462
 
463
- #: ../admin/addgallery.php:111
464
- #: ../admin/addgallery.php:123
465
  msgid "Add new gallery"
466
  msgstr ""
467
 
468
- #: ../admin/addgallery.php:113
469
- #: ../admin/addgallery.php:140
470
  msgid "Upload a Zip-File"
471
  msgstr ""
472
 
473
- #: ../admin/addgallery.php:115
474
- #: ../admin/addgallery.php:171
475
  msgid "Import image folder"
476
  msgstr ""
477
 
478
- #: ../admin/addgallery.php:116
479
- #: ../admin/addgallery.php:188
480
  msgid "Upload Images"
481
  msgstr ""
482
 
483
- #: ../admin/addgallery.php:128
484
  msgid "New Gallery"
485
  msgstr ""
486
 
487
- #: ../admin/addgallery.php:130
488
  msgid "Create a new , empty gallery below the folder"
489
  msgstr ""
490
 
491
- #: ../admin/addgallery.php:131
492
  msgid "Allowed characters for file and folder names are"
493
  msgstr ""
494
 
495
- #: ../admin/addgallery.php:134
496
  msgid "Add gallery"
497
  msgstr ""
498
 
499
- #: ../admin/addgallery.php:145
500
  msgid "Select Zip-File"
501
  msgstr ""
502
 
503
- #: ../admin/addgallery.php:147
504
  msgid "Upload a zip file with images"
505
  msgstr ""
506
 
507
- #: ../admin/addgallery.php:150
508
- #: ../admin/addgallery.php:197
509
  msgid "in to"
510
  msgstr ""
511
 
512
- #: ../admin/addgallery.php:152
513
  msgid "a new gallery"
514
  msgstr ""
515
 
516
- #: ../admin/addgallery.php:162
517
- #: ../admin/addgallery.php:209
518
  msgid "Note : The upload limit on your server is "
519
  msgstr ""
520
 
521
- #: ../admin/addgallery.php:165
522
  msgid "Start upload"
523
  msgstr ""
524
 
525
- #: ../admin/addgallery.php:176
526
  msgid "Import from Server path:"
527
  msgstr ""
528
 
529
- #: ../admin/addgallery.php:178
530
  msgid "Import a folder with images. Please note :"
531
  msgstr ""
532
 
533
- #: ../admin/addgallery.php:179
534
  msgid "For save_mode = ON you need to add the subfolder thumbs manually"
535
  msgstr ""
536
 
537
- #: ../admin/addgallery.php:182
538
  msgid "Import folder"
539
  msgstr ""
540
 
541
- #: ../admin/addgallery.php:193
542
  msgid "Upload image"
543
  msgstr ""
544
 
545
- #: ../admin/addgallery.php:199
546
  msgid "Choose gallery"
547
  msgstr ""
548
 
549
- #: ../admin/addgallery.php:212
550
  msgid "Upload images"
551
  msgstr ""
552
 
553
- #: ../admin/addgallery.php:232
554
  msgid "No valid gallery name!"
555
  msgstr ""
556
 
557
- #: ../admin/addgallery.php:235
558
- #: ../admin/addgallery.php:240
559
- #: ../admin/addgallery.php:275
560
- #: ../admin/addgallery.php:279
 
561
  msgid "Directory"
562
  msgstr ""
563
 
564
- #: ../admin/addgallery.php:235
 
 
 
 
 
 
 
 
 
565
  msgid "didn't have the permissions "
566
  msgstr ""
567
 
568
- #: ../admin/addgallery.php:240
569
  msgid "already exists!"
570
  msgstr ""
571
 
572
- #: ../admin/addgallery.php:244
573
- #: ../admin/addgallery.php:246
574
- #: ../admin/addgallery.php:285
575
- #: ../admin/addgallery.php:538
576
- #: ../admin/addgallery.php:540
577
  msgid "Unable to create directory "
578
  msgstr ""
579
 
580
- #: ../admin/addgallery.php:245
581
- #: ../admin/addgallery.php:539
582
- #: ../admin/addgallery.php:541
583
  msgid "Unable to set directory permissions "
584
  msgstr ""
585
 
586
- #: ../admin/addgallery.php:247
587
  msgid "Unable to set directory permissions"
588
  msgstr ""
589
 
590
- #: ../admin/addgallery.php:249
591
- msgid "The server Safe-Mode is on !"
592
  msgstr ""
593
 
594
- #: ../admin/addgallery.php:250
595
  msgid "Please create directory"
596
  msgstr ""
597
 
598
- #: ../admin/addgallery.php:251
599
  msgid "and the thumbnails directory"
600
  msgstr ""
601
 
602
- #: ../admin/addgallery.php:251
603
  msgid "with permission 777 manually !"
604
  msgstr ""
605
 
606
- #: ../admin/addgallery.php:255
607
  msgid "already exists"
608
  msgstr ""
609
 
610
- #: ../admin/addgallery.php:258
611
- msgid "Gallery successfully created!"
 
612
  msgstr ""
613
 
614
- #: ../admin/addgallery.php:275
615
- #: ../admin/addgallery.php:284
 
 
 
 
616
  msgid "doesn&#96;t exist"
617
  msgstr ""
618
 
619
- #: ../admin/addgallery.php:279
620
  msgid "contains no pictures"
621
  msgstr ""
622
 
623
- #: ../admin/addgallery.php:284
624
  msgid "Thumbnail Directory"
625
  msgstr ""
626
 
627
- #: ../admin/addgallery.php:284
628
  msgid "Please create the folder <i>thumbs</i> in your gallery folder."
629
  msgstr ""
630
 
631
- #: ../admin/addgallery.php:297
632
  #: ../admin/myimport.php:38
633
  msgid "Database error. Could not add gallery!"
634
  msgstr ""
635
 
636
- #: ../admin/addgallery.php:319
637
- msgid "successfully created!"
638
- msgstr ""
639
-
640
- #: ../admin/addgallery.php:319
641
  msgid " pictures added."
642
  msgstr ""
643
 
644
- #: ../admin/addgallery.php:362
645
- #: ../admin/addgallery.php:400
646
  msgid "Some pictures are not writeable :"
647
  msgstr ""
648
 
649
- #: ../admin/addgallery.php:472
650
  msgid "Follow thumbnails could not created."
651
  msgstr ""
652
 
653
- #: ../admin/addgallery.php:473
654
  msgid "Some thumbnails are not writeable :"
655
  msgstr ""
656
 
657
- #: ../admin/addgallery.php:523
658
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
659
  msgstr ""
660
 
661
- #: ../admin/addgallery.php:546
662
  msgid "Unable to unlink zip file "
663
  msgstr ""
664
 
665
- #: ../admin/addgallery.php:548
666
  msgid "Zip-File successfully unpacked"
667
  msgstr ""
668
 
669
- #: ../admin/addgallery.php:575
670
- #: ../admin/addgallery.php:582
671
  msgid "Unable to unlink file "
672
  msgstr ""
673
 
674
- #: ../admin/addgallery.php:576
675
  msgid "No gallery selected !"
676
  msgstr ""
677
 
678
- #: ../admin/addgallery.php:583
679
  msgid "Failure in database, no gallery path set !"
680
  msgstr ""
681
 
682
- #: ../admin/addgallery.php:589
 
 
 
 
683
  msgid "Error, the file could not moved to : "
684
  msgstr ""
685
 
@@ -687,270 +711,303 @@ msgstr ""
687
  msgid "Error, the file permissions could not set"
688
  msgstr ""
689
 
690
- #: ../admin/addgallery.php:610
691
- msgid " Images successfully added"
692
  msgstr ""
693
 
694
- #: ../admin/admin.php:46
695
  msgid "Add Gallery"
696
  msgstr ""
697
 
698
- #: ../admin/admin.php:47
699
  msgid "Manage Gallery"
700
  msgstr ""
701
 
702
- #: ../admin/admin.php:49
703
  msgid "Options"
704
  msgstr ""
705
 
706
- #: ../admin/admin.php:50
707
  msgid "Style"
708
  msgstr ""
709
 
710
- #: ../admin/admin.php:51
711
  msgid "Setup Gallery"
712
  msgstr ""
713
 
714
- #: ../admin/admin.php:51
715
  msgid "Setup"
716
  msgstr ""
717
 
718
- #: ../admin/admin.php:53
 
 
 
 
719
  #: ../admin/myimport.php:74
720
  msgid "Import"
721
  msgstr ""
722
 
723
- #: ../admin/admin.php:54
724
  msgid "About this Gallery"
725
  msgstr ""
726
 
727
- #: ../admin/admin.php:54
728
  msgid "About"
729
  msgstr ""
730
 
731
- #: ../admin/album.php:14
732
- #: ../admin/album.php:33
733
  msgid "Update Successfully"
734
  msgstr ""
735
 
736
- #: ../admin/album.php:40
737
  msgid "Album deleted"
738
  msgstr ""
739
 
740
- #: ../admin/album.php:93
741
  msgid "Manage Albums"
742
  msgstr ""
743
 
744
- #: ../admin/album.php:101
745
  msgid "No album selected"
746
  msgstr ""
747
 
748
- #: ../admin/album.php:114
749
  msgid "Add new album"
750
  msgstr ""
751
 
752
- #: ../admin/album.php:118
753
- #: ../admin/manage.php:245
754
- #: ../admin/manage.php:477
755
  msgid "Delete"
756
  msgstr ""
757
 
758
- #: ../admin/album.php:118
759
  msgid "Delete album ?"
760
  msgstr ""
761
 
762
- #: ../admin/album.php:120
763
- #: ../admin/settings.php:155
764
- #: ../admin/settings.php:194
765
- #: ../admin/settings.php:231
766
- #: ../admin/settings.php:311
767
- #: ../admin/settings.php:356
768
- #: ../admin/settings.php:463
769
- #: ../admin/settings.php:565
770
  msgid "Update"
771
  msgstr ""
772
 
773
- #: ../admin/album.php:126
 
 
 
 
 
 
 
 
774
  msgid "After you create and select a album, you can drag and drop a gallery into your album below"
775
  msgstr ""
776
 
777
- #: ../admin/album.php:131
778
  msgid "Select Gallery"
779
  msgstr ""
780
 
781
- #: ../admin/album.php:164
782
  msgid "Album Page ID"
783
  msgstr ""
784
 
785
- #: ../admin/album.php:176
786
  msgid "No album selected!"
787
  msgstr ""
788
 
789
- #: ../admin/album.php:211
790
- #: ../admin/manage.php:219
791
- #: ../admin/manage.php:430
792
  #: ../admin/myimport.php:49
793
  msgid "ID"
794
  msgstr ""
795
 
796
- #: ../admin/album.php:212
797
  msgid "Name"
798
  msgstr ""
799
 
800
- #: ../admin/album.php:214
801
  msgid "Page"
802
  msgstr ""
803
 
804
- #: ../admin/manage.php:44
805
  #: ../admin/manage.php:64
 
806
  msgid "deleted successfully"
807
  msgstr ""
808
 
809
- #: ../admin/manage.php:87
810
  msgid "Watermark successfully added"
811
  msgstr ""
812
 
813
- #: ../admin/manage.php:92
814
  msgid "Thumbnails successfully created. Please refresh your browser cache."
815
  msgstr ""
816
 
817
- #: ../admin/manage.php:97
818
  msgid "Images successfully resized"
819
  msgstr ""
820
 
821
- #: ../admin/manage.php:115
822
  msgid "Pictures deleted successfully "
823
  msgstr ""
824
 
825
- #: ../admin/manage.php:133
826
- #: ../admin/settings.php:25
827
- #: ../admin/style.php:15
828
- msgid "Update successfully"
829
  msgstr ""
830
 
831
- #: ../admin/manage.php:155
 
 
 
 
832
  msgid " picture(s) successfully added"
833
  msgstr ""
834
 
835
- #: ../admin/manage.php:178
836
  msgid "New gallery page ID"
837
  msgstr ""
838
 
839
- #: ../admin/manage.php:178
840
  msgid "created"
841
  msgstr ""
842
 
843
- #: ../admin/manage.php:215
844
  msgid "Gallery Overview"
845
  msgstr ""
846
 
847
- #: ../admin/manage.php:220
848
  #: ../admin/myimport.php:50
849
  msgid "Gallery name"
850
  msgstr ""
851
 
852
- #: ../admin/manage.php:223
853
  #: ../admin/myimport.php:53
854
  msgid "Page ID"
855
  msgstr ""
856
 
857
- #: ../admin/manage.php:224
858
  #: ../admin/myimport.php:54
859
  msgid "Quantity"
860
  msgstr ""
861
 
862
- #: ../admin/manage.php:225
863
- #: ../admin/manage.php:442
864
  #: ../admin/myimport.php:55
865
  msgid "Action"
866
  msgstr ""
867
 
868
- #: ../admin/manage.php:244
869
  #: ../js/nggadmintab-js.php:88
870
  msgid "Edit"
871
  msgstr ""
872
 
873
- #: ../admin/manage.php:245
874
- #: ../admin/manage.php:477
875
- msgid "Delete this file ?"
876
  msgstr ""
877
 
878
- #: ../admin/manage.php:250
879
- #: ../admin/manage.php:482
880
  #: ../admin/myimport.php:79
881
  msgid "No entries found"
882
  msgstr ""
883
 
884
- #: ../admin/manage.php:353
 
 
 
 
885
  msgid "Page Link to"
886
  msgstr ""
887
 
888
- #: ../admin/manage.php:356
889
  msgid "Not linked"
890
  msgstr ""
891
 
892
- #: ../admin/manage.php:372
893
  msgid "Preview image"
894
  msgstr ""
895
 
896
- #: ../admin/manage.php:375
897
  msgid "No Picture"
898
  msgstr ""
899
 
900
- #: ../admin/manage.php:390
901
  msgid "Path"
902
  msgstr ""
903
 
904
- #: ../admin/manage.php:393
905
  msgid "Create new page"
906
  msgstr ""
907
 
908
- #: ../admin/manage.php:396
909
  msgid "Main page (No parent)"
910
  msgstr ""
911
 
912
- #: ../admin/manage.php:399
913
  msgid "Add page"
914
  msgstr ""
915
 
916
- #: ../admin/manage.php:405
917
  msgid "Scan Folder for new images"
918
  msgstr ""
919
 
920
- #: ../admin/manage.php:406
921
- #: ../admin/manage.php:489
922
  msgid "Save Changes"
923
  msgstr ""
924
 
925
- #: ../admin/manage.php:411
926
  msgid "No action"
927
  msgstr ""
928
 
929
- #: ../admin/manage.php:412
930
  msgid "Set watermark"
931
  msgstr ""
932
 
933
- #: ../admin/manage.php:413
934
  msgid "Create new thumbnails"
935
  msgstr ""
936
 
937
- #: ../admin/manage.php:414
938
  msgid "Resize images"
939
  msgstr ""
940
 
941
- #: ../admin/manage.php:415
942
  msgid "Delete images"
943
  msgstr ""
944
 
945
- #: ../admin/manage.php:418
 
 
 
 
 
 
 
 
 
 
 
 
 
 
946
  msgid "OK"
947
  msgstr ""
948
 
949
- #: ../admin/manage.php:418
 
950
  msgid "No images selected"
951
  msgstr ""
952
 
953
- #: ../admin/manage.php:418
 
954
  #, php-format
955
  msgid ""
956
  "You are about to start the bulk edit for %s images \n"
@@ -958,39 +1015,47 @@ msgid ""
958
  " 'Cancel' to stop, 'OK' to proceed."
959
  msgstr ""
960
 
961
- #: ../admin/manage.php:419
962
  msgid "Hide thumbnails "
963
  msgstr ""
964
 
965
- #: ../admin/manage.php:420
966
  msgid "Show thumbnails "
967
  msgstr ""
968
 
969
- #: ../admin/manage.php:422
970
  msgid "Show tags"
971
  msgstr ""
972
 
973
- #: ../admin/manage.php:423
974
  msgid "Hide tags"
975
  msgstr ""
976
 
977
- #: ../admin/manage.php:431
978
- #: ../admin/settings.php:278
979
  msgid "File name"
980
  msgstr ""
981
 
982
- #: ../admin/manage.php:438
983
  msgid "exclude"
984
  msgstr ""
985
 
986
- #: ../admin/manage.php:440
987
  msgid "Tags (comma separated list)"
988
  msgstr ""
989
 
990
- #: ../admin/manage.php:476
991
  msgid "View"
992
  msgstr ""
993
 
 
 
 
 
 
 
 
 
994
  #: ../admin/myimport.php:35
995
  msgid "Gallery "
996
  msgstr ""
@@ -1007,650 +1072,725 @@ msgstr ""
1007
  msgid "Import this gallery ?"
1008
  msgstr ""
1009
 
1010
- #: ../admin/overview.php:12
1011
  msgid "NextGEN Gallery Overview"
1012
  msgstr ""
1013
 
1014
- #: ../admin/overview.php:15
1015
  msgid "Summary"
1016
  msgstr ""
1017
 
1018
- #: ../admin/overview.php:24
1019
  #, php-format
1020
- msgid "There are totally %1$s pictures in %2$s gallerys, which are spread across %3$s albums."
1021
  msgstr ""
1022
 
1023
- #: ../admin/overview.php:28
1024
  msgid "New Version available"
1025
  msgstr ""
1026
 
1027
- #: ../admin/overview.php:29
1028
  msgid "The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information."
1029
  msgstr ""
1030
 
1031
- #: ../admin/overview.php:31
1032
  msgid "Server Settings"
1033
  msgstr ""
1034
 
1035
- #: ../admin/overview.php:38
1036
  msgid "Welcome"
1037
  msgstr ""
1038
 
1039
- #: ../admin/overview.php:42
1040
  msgid "gallery administrator"
1041
  msgstr ""
1042
 
1043
- #: ../admin/overview.php:42
1044
  msgid "gallery editor"
1045
  msgstr ""
1046
 
1047
- #: ../admin/overview.php:43
1048
  #, php-format
1049
  msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
1050
  msgstr ""
1051
 
1052
- #: ../admin/overview.php:48
1053
  msgid "Add a new gallery or import pictures"
1054
  msgstr ""
1055
 
1056
- #: ../admin/overview.php:49
1057
  msgid "Manage galleries and images"
1058
  msgstr ""
1059
 
1060
- #: ../admin/overview.php:50
1061
  msgid "Create and manage albums"
1062
  msgstr ""
1063
 
1064
- #: ../admin/overview.php:51
1065
  msgid "Change the settings of NextGEN Gallery"
1066
  msgstr ""
1067
 
1068
- #: ../admin/overview.php:54
1069
  msgid "Latest News"
1070
  msgstr ""
1071
 
1072
- #: ../admin/overview.php:73
1073
  #, php-format
1074
  msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
1075
  msgstr ""
1076
 
1077
- #: ../admin/overview.php:86
1078
  msgid "GD support"
1079
  msgstr ""
1080
 
1081
- #: ../admin/overview.php:97
1082
  msgid "No GD support"
1083
  msgstr ""
1084
 
1085
- #: ../admin/overview.php:104
1086
  msgid "Yes"
1087
  msgstr ""
1088
 
1089
- #: ../admin/overview.php:105
1090
  msgid "No"
1091
  msgstr ""
1092
 
1093
- #: ../admin/overview.php:119
1094
  msgid "Not set"
1095
  msgstr ""
1096
 
1097
- #: ../admin/overview.php:121
1098
- #: ../admin/overview.php:124
1099
  msgid "On"
1100
  msgstr ""
1101
 
1102
- #: ../admin/overview.php:122
1103
- #: ../admin/overview.php:125
1104
  msgid "Off"
1105
  msgstr ""
1106
 
1107
- #: ../admin/overview.php:128
1108
- #: ../admin/overview.php:131
1109
  #: ../admin/overview.php:134
1110
  #: ../admin/overview.php:137
1111
  #: ../admin/overview.php:140
 
 
1112
  msgid "N/A"
1113
  msgstr ""
1114
 
1115
- #: ../admin/overview.php:139
1116
  msgid " MByte"
1117
  msgstr ""
1118
 
1119
- #: ../admin/overview.php:143
1120
  msgid "Operating System"
1121
  msgstr ""
1122
 
1123
- #: ../admin/overview.php:144
1124
  msgid "Server"
1125
  msgstr ""
1126
 
1127
- #: ../admin/overview.php:145
1128
  msgid "Memory usage"
1129
  msgstr ""
1130
 
1131
- #: ../admin/overview.php:146
1132
  msgid "MYSQL Version"
1133
  msgstr ""
1134
 
1135
- #: ../admin/overview.php:147
1136
  msgid "SQL Mode"
1137
  msgstr ""
1138
 
1139
- #: ../admin/overview.php:148
1140
  msgid "PHP Version"
1141
  msgstr ""
1142
 
1143
- #: ../admin/overview.php:149
1144
  msgid "PHP Safe Mode"
1145
  msgstr ""
1146
 
1147
- #: ../admin/overview.php:150
1148
  msgid "PHP Allow URL fopen"
1149
  msgstr ""
1150
 
1151
- #: ../admin/overview.php:151
1152
  msgid "PHP Memory Limit"
1153
  msgstr ""
1154
 
1155
- #: ../admin/overview.php:152
1156
  msgid "PHP Max Upload Size"
1157
  msgstr ""
1158
 
1159
- #: ../admin/overview.php:153
1160
  msgid "PHP Max Post Size"
1161
  msgstr ""
1162
 
1163
- #: ../admin/overview.php:154
1164
  msgid "PHP Max Script Execute Time"
1165
  msgstr ""
1166
 
1167
- #: ../admin/settings.php:118
1168
- #: ../admin/settings.php:134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1169
  msgid "General Options"
1170
  msgstr ""
1171
 
1172
- #: ../admin/settings.php:119
1173
- #: ../admin/settings.php:271
1174
  msgid "Thumbnails"
1175
  msgstr ""
1176
 
1177
- #: ../admin/settings.php:120
1178
  msgid "Images"
1179
  msgstr ""
1180
 
1181
- #: ../admin/settings.php:122
1182
- #: ../admin/settings.php:319
1183
  msgid "Effects"
1184
  msgstr ""
1185
 
1186
- #: ../admin/settings.php:140
1187
  msgid "Gallery path"
1188
  msgstr ""
1189
 
1190
- #: ../admin/settings.php:142
1191
  msgid "This is the default path for all galleries"
1192
  msgstr ""
1193
 
1194
- #: ../admin/settings.php:145
1195
- msgid "Scan folders during runtime"
1196
  msgstr ""
1197
 
1198
- #: ../admin/settings.php:147
1199
- msgid "Search automatic in the folders for new images (not working)"
1200
  msgstr ""
1201
 
1202
- #: ../admin/settings.php:150
1203
- msgid "Delete image files"
1204
  msgstr ""
1205
 
1206
- #: ../admin/settings.php:152
1207
- msgid "Delete files, when removing a gallery in the database"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1208
  msgstr ""
1209
 
1210
- #: ../admin/settings.php:163
 
 
 
 
 
 
 
 
 
 
 
 
1211
  msgid "Thumbnail settings"
1212
  msgstr ""
1213
 
1214
- #: ../admin/settings.php:167
1215
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1216
  msgstr ""
1217
 
1218
- #: ../admin/settings.php:170
1219
  msgid "Width x height (in pixel)"
1220
  msgstr ""
1221
 
1222
- #: ../admin/settings.php:172
1223
  msgid "These values are maximum values "
1224
  msgstr ""
1225
 
1226
- #: ../admin/settings.php:175
1227
  msgid "Set fix dimension"
1228
  msgstr ""
1229
 
1230
- #: ../admin/settings.php:177
1231
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1232
  msgstr ""
1233
 
1234
- #: ../admin/settings.php:180
1235
  msgid "Crop square thumbnail from image"
1236
  msgstr ""
1237
 
1238
- #: ../admin/settings.php:182
1239
  msgid "Create square thumbnails, use only the width setting :"
1240
  msgstr ""
1241
 
1242
- #: ../admin/settings.php:185
1243
  msgid "Thumbnail quality"
1244
  msgstr ""
1245
 
1246
- #: ../admin/settings.php:189
1247
- #: ../admin/settings.php:219
1248
  msgid "Resample Mode"
1249
  msgstr ""
1250
 
1251
- #: ../admin/settings.php:191
1252
- #: ../admin/settings.php:222
1253
  msgid "Value between 1-5 (higher value, more CPU load)"
1254
  msgstr ""
1255
 
1256
- #: ../admin/settings.php:202
1257
  msgid "Image settings"
1258
  msgstr ""
1259
 
1260
- #: ../admin/settings.php:208
1261
  msgid "Resize Images"
1262
  msgstr ""
1263
 
1264
- #: ../admin/settings.php:211
1265
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1266
  msgstr ""
1267
 
1268
- #: ../admin/settings.php:214
1269
  msgid "Image quality"
1270
  msgstr ""
1271
 
1272
- #: ../admin/settings.php:225
1273
- msgid "Add link in [singlepic] tag "
1274
- msgstr ""
1275
-
1276
- #: ../admin/settings.php:228
1277
- msgid "Add the fullsize picture as link. Didn't support watermark mode on the fly."
1278
- msgstr ""
1279
-
1280
- #: ../admin/settings.php:239
1281
  msgid "Gallery settings"
1282
  msgstr ""
1283
 
1284
- #: ../admin/settings.php:245
1285
  msgid "Activate jQuery navigation"
1286
  msgstr ""
1287
 
1288
- #: ../admin/settings.php:247
1289
  msgid "Please note : This is still experimental. Requires the Thickbox effect"
1290
  msgstr ""
1291
 
1292
- #: ../admin/settings.php:251
1293
  msgid "Deactivate gallery page link"
1294
  msgstr ""
1295
 
1296
- #: ../admin/settings.php:253
1297
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
1298
  msgstr ""
1299
 
1300
- #: ../admin/settings.php:257
1301
  msgid "Number of images per page"
1302
  msgstr ""
1303
 
1304
- #: ../admin/settings.php:259
1305
  msgid "0 will disable pagination, all images on one page"
1306
  msgstr ""
1307
 
1308
- #: ../admin/settings.php:263
1309
  msgid "Integrate slideshow"
1310
  msgstr ""
1311
 
1312
- #: ../admin/settings.php:270
1313
  msgid "Show first"
1314
  msgstr ""
1315
 
1316
- #: ../admin/settings.php:276
1317
- msgid "Sort thumbnails"
1318
  msgstr ""
1319
 
1320
- #: ../admin/settings.php:277
1321
- msgid "Image ID"
 
 
1322
  msgstr ""
1323
 
1324
- #: ../admin/settings.php:279
1325
- msgid "Alt / Title text"
1326
  msgstr ""
1327
 
1328
- #: ../admin/settings.php:283
1329
- msgid "Sort direction"
 
1330
  msgstr ""
1331
 
1332
- #: ../admin/settings.php:284
1333
- msgid "Ascending"
1334
  msgstr ""
1335
 
1336
- #: ../admin/settings.php:285
1337
- msgid "Descending"
1338
  msgstr ""
1339
 
1340
- #: ../admin/settings.php:289
1341
- msgid "Image Browser"
1342
  msgstr ""
1343
 
1344
- #: ../admin/settings.php:292
1345
- msgid "Show title as headline"
1346
  msgstr ""
1347
 
1348
- #: ../admin/settings.php:294
1349
- msgid "The alt/title text is shown as H3 headline "
1350
  msgstr ""
1351
 
1352
- #: ../admin/settings.php:298
1353
- msgid "Show image description"
1354
  msgstr ""
1355
 
1356
- #: ../admin/settings.php:300
1357
- msgid "The description text is shown below the picture"
1358
  msgstr ""
1359
 
1360
- #: ../admin/settings.php:304
1361
- msgid "Navigation text"
1362
  msgstr ""
1363
 
1364
- #: ../admin/settings.php:322
1365
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
1366
  msgstr ""
1367
 
1368
- #: ../admin/settings.php:323
1369
  msgid "With the placeholder"
1370
  msgstr ""
1371
 
1372
- #: ../admin/settings.php:323
1373
  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."
1374
  msgstr ""
1375
 
1376
- #: ../admin/settings.php:327
1377
  msgid "JavaScript Thumbnail effect"
1378
  msgstr ""
1379
 
1380
- #: ../admin/settings.php:330
1381
- #: ../js/nggadmintab-js.php:112
1382
- msgid "None"
1383
- msgstr ""
1384
-
1385
- #: ../admin/settings.php:331
1386
  msgid "Thickbox"
1387
  msgstr ""
1388
 
1389
- #: ../admin/settings.php:332
1390
  msgid "Lightbox"
1391
  msgstr ""
1392
 
1393
- #: ../admin/settings.php:333
1394
  msgid "Highslide"
1395
  msgstr ""
1396
 
1397
- #: ../admin/settings.php:334
1398
  msgid "Custom"
1399
  msgstr ""
1400
 
1401
- #: ../admin/settings.php:339
1402
  msgid "Link Code line"
1403
  msgstr ""
1404
 
1405
- #: ../admin/settings.php:347
1406
  msgid "Select loading image"
1407
  msgstr ""
1408
 
1409
- #: ../admin/settings.php:374
 
 
 
 
1410
  msgid "Preview"
1411
  msgstr ""
1412
 
1413
- #: ../admin/settings.php:376
1414
- #: ../admin/settings.php:380
1415
  msgid "Position"
1416
  msgstr ""
1417
 
1418
- #: ../admin/settings.php:400
1419
  msgid "Offset"
1420
  msgstr ""
1421
 
1422
- #: ../admin/settings.php:418
1423
  msgid "Use image as watermark"
1424
  msgstr ""
1425
 
1426
- #: ../admin/settings.php:421
1427
  msgid "URL to file"
1428
  msgstr ""
1429
 
1430
- #: ../admin/settings.php:423
1431
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
1432
  msgstr ""
1433
 
1434
- #: ../admin/settings.php:429
1435
  msgid "Use text as watermark"
1436
  msgstr ""
1437
 
1438
- #: ../admin/settings.php:432
1439
  msgid "Font"
1440
  msgstr ""
1441
 
1442
- #: ../admin/settings.php:440
1443
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
1444
  msgstr ""
1445
 
1446
- #: ../admin/settings.php:444
1447
  msgid "Size"
1448
  msgstr ""
1449
 
1450
- #: ../admin/settings.php:448
1451
  msgid "Color"
1452
  msgstr ""
1453
 
1454
- #: ../admin/settings.php:450
1455
  msgid "(hex w/o #)"
1456
  msgstr ""
1457
 
1458
- #: ../admin/settings.php:453
1459
  msgid "Text"
1460
  msgstr ""
1461
 
1462
- #: ../admin/settings.php:457
1463
  msgid "Opaque"
1464
  msgstr ""
1465
 
1466
- #: ../admin/settings.php:475
1467
  msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
1468
  msgstr ""
1469
 
1470
- #: ../admin/settings.php:476
1471
  msgid "The settings are used in the JW Image Rotator Version 3.9 ."
1472
  msgstr ""
1473
 
1474
- #: ../admin/settings.php:477
1475
  msgid "See more information for the Flash Player on the web page"
1476
  msgstr ""
1477
 
1478
- #: ../admin/settings.php:480
1479
  msgid "Default size (W x H)"
1480
  msgstr ""
1481
 
1482
- #: ../admin/settings.php:485
1483
  msgid "Shuffle mode"
1484
  msgstr ""
1485
 
1486
- #: ../admin/settings.php:489
1487
  msgid "Show next image on click"
1488
  msgstr ""
1489
 
1490
- #: ../admin/settings.php:493
1491
  msgid "Show navigation bar"
1492
  msgstr ""
1493
 
1494
- #: ../admin/settings.php:497
1495
  msgid "Show loading icon"
1496
  msgstr ""
1497
 
1498
- #: ../admin/settings.php:501
1499
  msgid "Use watermark logo"
1500
  msgstr ""
1501
 
1502
- #: ../admin/settings.php:503
1503
  msgid "You can change the logo at the watermark settings"
1504
  msgstr ""
1505
 
1506
- #: ../admin/settings.php:506
1507
  msgid "Stretch image"
1508
  msgstr ""
1509
 
1510
- #: ../admin/settings.php:509
1511
  msgid "true"
1512
  msgstr ""
1513
 
1514
- #: ../admin/settings.php:510
1515
  msgid "false"
1516
  msgstr ""
1517
 
1518
- #: ../admin/settings.php:511
1519
  msgid "fit"
1520
  msgstr ""
1521
 
1522
- #: ../admin/settings.php:517
1523
  msgid "Duration time"
1524
  msgstr ""
1525
 
1526
- #: ../admin/settings.php:518
1527
  msgid "sec."
1528
  msgstr ""
1529
 
1530
- #: ../admin/settings.php:521
1531
  msgid "Transition / Fade effect"
1532
  msgstr ""
1533
 
1534
- #: ../admin/settings.php:524
1535
  msgid "fade"
1536
  msgstr ""
1537
 
1538
- #: ../admin/settings.php:525
1539
  msgid "bgfade"
1540
  msgstr ""
1541
 
1542
- #: ../admin/settings.php:526
1543
  msgid "slowfade"
1544
  msgstr ""
1545
 
1546
- #: ../admin/settings.php:527
1547
  msgid "circles"
1548
  msgstr ""
1549
 
1550
- #: ../admin/settings.php:528
1551
  msgid "bubbles"
1552
  msgstr ""
1553
 
1554
- #: ../admin/settings.php:529
1555
  msgid "blocks"
1556
  msgstr ""
1557
 
1558
- #: ../admin/settings.php:530
1559
  msgid "fluids"
1560
  msgstr ""
1561
 
1562
- #: ../admin/settings.php:531
1563
  msgid "lines"
1564
  msgstr ""
1565
 
1566
- #: ../admin/settings.php:532
1567
  msgid "random"
1568
  msgstr ""
1569
 
1570
- #: ../admin/settings.php:536
1571
  msgid "Use slow zooming effect"
1572
  msgstr ""
1573
 
1574
- #: ../admin/settings.php:540
1575
  msgid "Background Color"
1576
  msgstr ""
1577
 
1578
- #: ../admin/settings.php:545
1579
  msgid "Texts / Buttons Color"
1580
  msgstr ""
1581
 
1582
- #: ../admin/settings.php:550
1583
  msgid "Rollover / Active Color"
1584
  msgstr ""
1585
 
1586
- #: ../admin/settings.php:555
1587
  msgid "Background music (URL)"
1588
  msgstr ""
1589
 
1590
- #: ../admin/settings.php:559
1591
  msgid "Try XHTML validation (with CDATA)"
1592
  msgstr ""
1593
 
1594
- #: ../admin/settings.php:561
1595
  msgid "Important : Could causes problem at some browser. Please recheck your page."
1596
  msgstr ""
1597
 
1598
- #: ../admin/setup.php:10
1599
  msgid "Reset all settings to default parameter"
1600
  msgstr ""
1601
 
1602
- #: ../admin/setup.php:22
1603
  msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1604
  msgstr ""
1605
 
1606
- #: ../admin/setup.php:31
1607
  msgid "Reset options"
1608
  msgstr ""
1609
 
1610
- #: ../admin/setup.php:33
1611
  msgid "Reset all options/settings to the default installation."
1612
  msgstr ""
1613
 
1614
- #: ../admin/setup.php:34
1615
  msgid "Reset settings"
1616
  msgstr ""
1617
 
1618
- #: ../admin/setup.php:34
1619
  msgid ""
1620
  "Reset all options to default settings ?\\n"
1621
  "\\n"
1622
  "Choose [Cancel] to Stop, [OK] to proceed.\\n"
1623
  msgstr ""
1624
 
1625
- #: ../admin/setup.php:38
1626
  msgid "Uninstall plugin tables"
1627
  msgstr ""
1628
 
1629
- #: ../admin/setup.php:40
1630
  msgid "You don't like NextGEN Gallery ?"
1631
  msgstr ""
1632
 
1633
- #: ../admin/setup.php:41
1634
  msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
1635
  msgstr ""
1636
 
1637
- #: ../admin/setup.php:42
1638
  msgid "WARNING:"
1639
  msgstr ""
1640
 
1641
- #: ../admin/setup.php:43
1642
  msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
1643
  msgstr ""
1644
 
1645
- #: ../admin/setup.php:43
1646
  msgid "and"
1647
  msgstr ""
1648
 
1649
- #: ../admin/setup.php:45
1650
  msgid "Uninstall plugin"
1651
  msgstr ""
1652
 
1653
- #: ../admin/setup.php:45
1654
  msgid ""
1655
  "You are about to Uninstall this plugin from WordPress.\\n"
1656
  "This action is not reversible.\\n"
@@ -1658,49 +1798,49 @@ msgid ""
1658
  "Choose [Cancel] to Stop, [OK] to Uninstall.\\n"
1659
  msgstr ""
1660
 
1661
- #: ../admin/style.php:31
1662
  msgid "You do not have sufficient permissions to edit templates for this blog."
1663
  msgstr ""
1664
 
1665
- #: ../admin/style.php:40
1666
  msgid "CSS file successfully updated"
1667
  msgstr ""
1668
 
1669
- #: ../admin/style.php:62
1670
  msgid "Activate and use style sheet:"
1671
  msgstr ""
1672
 
1673
- #: ../admin/style.php:81
1674
  msgid "Activate"
1675
  msgstr ""
1676
 
1677
- #: ../admin/style.php:88
1678
  #, php-format
1679
  msgid "Editing <strong>%s</strong>"
1680
  msgstr ""
1681
 
1682
- #: ../admin/style.php:90
1683
  #, php-format
1684
  msgid "Browsing <strong>%s</strong>"
1685
  msgstr ""
1686
 
1687
- #: ../admin/style.php:95
1688
  msgid "Author"
1689
  msgstr ""
1690
 
1691
- #: ../admin/style.php:96
1692
  msgid "Version"
1693
  msgstr ""
1694
 
1695
- #: ../admin/style.php:112
1696
  msgid "Update File &raquo;"
1697
  msgstr ""
1698
 
1699
- #: ../admin/style.php:116
1700
  msgid "If this file were writable you could edit it."
1701
  msgstr ""
1702
 
1703
- #: ../admin/style.php:121
1704
  msgid "Oops, no such file exists! Double check the name and try again, merci."
1705
  msgstr ""
1706
 
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: 2007-09-02 17:21+0100\n"
6
  "Last-Translator: Alex Rabe\n"
7
  "Language-Team: Alex Rabe\n"
8
  "MIME-Version: 1.0\n"
30
  msgstr ""
31
 
32
  #: ../nggadmintab.php:136
33
+ #: ../admin/manage.php:541
34
  #: ../js/nggadmintab-js.php:164
35
  msgid "Alt &amp; Title Text"
36
  msgstr ""
37
 
38
  #: ../nggadmintab.php:140
39
+ #: ../admin/manage.php:291
40
+ #: ../admin/manage.php:467
41
+ #: ../admin/manage.php:540
42
  #: ../admin/myimport.php:52
43
+ #: ../admin/style.php:101
44
  #: ../js/nggadmintab-js.php:167
45
  msgid "Description"
46
  msgstr ""
58
  msgid "Save"
59
  msgstr ""
60
 
61
+ #: ../nggallery.php:176
 
 
 
62
  #: ../nggbutton.php:36
63
+ #: ../admin/addgallery.php:235
64
+ #: ../admin/addgallery.php:239
65
+ #: ../admin/addgallery.php:303
66
+ #: ../admin/admin.php:47
67
+ #: ../admin/manage.php:64
68
+ #: ../admin/manage.php:436
69
+ #: ../admin/settings.php:79
70
  msgid "Gallery"
71
  msgstr ""
72
 
73
+ #: ../nggallery.php:265
74
+ msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
75
+ msgstr ""
76
+
77
  #: ../nggbutton.php:37
78
+ #: ../admin/admin.php:50
79
  msgid "Album"
80
  msgstr ""
81
 
82
  #: ../nggbutton.php:38
83
+ #: ../nggfunctions.php:520
84
+ #: ../admin/manage.php:85
85
  msgid "Picture"
86
  msgstr ""
87
 
99
  msgstr ""
100
 
101
  #: ../nggbutton.php:64
102
+ #: ../admin/settings.php:82
103
+ #: ../admin/settings.php:249
104
+ #: ../admin/settings.php:448
105
  msgid "Slideshow"
106
  msgstr ""
107
 
108
  #: ../nggbutton.php:75
109
+ #: ../admin/album.php:122
110
  msgid "Select album"
111
  msgstr ""
112
 
143
  msgstr ""
144
 
145
  #: ../nggbutton.php:124
146
+ #: ../admin/settings.php:81
147
+ #: ../admin/settings.php:342
148
  msgid "Watermark"
149
  msgstr ""
150
 
169
  msgstr ""
170
 
171
  #: ../nggbutton.php:147
172
+ #: ../admin/manage.php:608
173
  msgid "Cancel"
174
  msgstr ""
175
 
178
  msgid "Insert"
179
  msgstr ""
180
 
181
+ #: ../nggfunctions.php:423
182
+ #: ../nggfunctions.php:438
183
  msgid "Watch gallery"
184
  msgstr ""
185
 
186
+ #: ../nggfunctions.php:432
187
+ #: ../nggfunctions.php:444
188
+ #: ../nggfunctions.php:698
189
  msgid "Photos"
190
  msgstr ""
191
 
192
+ #: ../nggfunctions.php:513
193
+ msgid "Back"
194
  msgstr ""
195
 
196
+ #: ../nggfunctions.php:517
197
+ msgid "Next"
198
  msgstr ""
199
 
200
+ #: ../nggfunctions.php:520
201
+ msgid "from"
202
  msgstr ""
203
 
204
+ #: ../nggfunctions.php:667
205
+ msgid "Overview"
206
  msgstr ""
207
 
208
+ #: ../ngginstall.php:156
209
+ msgid "[Show as slideshow]"
210
+ msgstr ""
211
+
212
+ #: ../ngginstall.php:157
213
+ msgid "[Show picture list]"
214
  msgstr ""
215
 
216
  #: ../nggwidget.php:148
221
  msgid "Select Gallery:"
222
  msgstr ""
223
 
224
+ #: ../nggwidget.php:153
225
+ msgid "All images"
226
+ msgstr ""
227
+
228
+ #: ../nggwidget.php:163
229
  msgid "Height:"
230
  msgstr ""
231
 
232
+ #: ../nggwidget.php:164
233
  msgid "Width:"
234
  msgstr ""
235
 
236
+ #: ../nggwidget.php:324
237
  msgid "NextGEN Recent Image"
238
  msgstr ""
239
 
240
+ #: ../nggwidget.php:364
241
+ #: ../nggwidget.php:550
242
+ #: ../admin/album.php:243
243
+ #: ../admin/manage.php:290
244
+ #: ../admin/manage.php:448
245
  #: ../admin/myimport.php:51
246
  #: ../js/nggadmintab-js.php:104
247
  msgid "Title"
248
  msgstr ""
249
 
250
+ #: ../nggwidget.php:366
251
+ #: ../nggwidget.php:552
252
  msgid "Display type"
253
  msgstr ""
254
 
255
+ #: ../nggwidget.php:368
256
+ #: ../nggwidget.php:554
257
+ #: ../admin/manage.php:537
258
  #: ../js/nggadmintab-js.php:101
259
  msgid "Thumbnail"
260
  msgstr ""
261
 
262
+ #: ../nggwidget.php:369
263
+ #: ../nggwidget.php:555
264
  msgid "Orginal"
265
  msgstr ""
266
 
267
+ #: ../nggwidget.php:372
268
+ #: ../nggwidget.php:558
269
  msgid "Number of pics"
270
  msgstr ""
271
 
272
+ #: ../nggwidget.php:383
273
+ #: ../nggwidget.php:569
274
  msgid "Width (px)"
275
  msgstr ""
276
 
277
+ #: ../nggwidget.php:385
278
+ #: ../nggwidget.php:571
279
  msgid "Height (px)"
280
  msgstr ""
281
 
282
+ #: ../nggwidget.php:387
283
+ #: ../nggwidget.php:573
284
  msgid "Mode"
285
  msgstr ""
286
 
287
+ #: ../nggwidget.php:389
288
+ #: ../nggwidget.php:575
289
+ #: ../admin/settings.php:487
290
  msgid "none"
291
  msgstr ""
292
 
293
+ #: ../nggwidget.php:390
294
+ #: ../nggwidget.php:576
295
  msgid "web2.0"
296
  msgstr ""
297
 
298
+ #: ../nggwidget.php:393
299
+ #: ../nggwidget.php:579
300
  msgid "Show in the main page"
301
  msgstr ""
302
 
303
+ #: ../nggwidget.php:395
304
+ #: ../nggwidget.php:581
305
  msgid "yes"
306
  msgstr ""
307
 
308
+ #: ../nggwidget.php:396
309
+ #: ../nggwidget.php:582
310
  msgid "no"
311
  msgstr ""
312
 
313
+ #: ../nggwidget.php:399
314
+ #: ../nggwidget.php:585
315
  msgid "Show in"
316
  msgstr ""
317
 
318
+ #: ../nggwidget.php:401
319
+ #: ../nggwidget.php:587
320
  msgid "All categories"
321
  msgstr ""
322
 
323
+ #: ../nggwidget.php:402
324
+ #: ../nggwidget.php:588
325
  msgid "Only which are not listed"
326
  msgstr ""
327
 
328
+ #: ../nggwidget.php:403
329
+ #: ../nggwidget.php:589
330
  msgid "Only which are listed"
331
  msgstr ""
332
 
333
+ #: ../nggwidget.php:406
334
+ #: ../nggwidget.php:592
335
  msgid "Categories (id (use , to seperate)"
336
  msgstr ""
337
 
338
+ #: ../nggwidget.php:512
339
  msgid "NextGEN Random Image"
340
  msgstr ""
341
 
408
  msgid "for the Watermark plugin"
409
  msgstr ""
410
 
411
+ #: ../admin/about.php:32
 
 
 
 
412
  msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
413
  msgstr ""
414
 
415
+ #: ../admin/about.php:33
416
  msgid "How to support ?"
417
  msgstr ""
418
 
419
+ #: ../admin/about.php:34
420
  msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
421
  msgstr ""
422
 
423
+ #: ../admin/about.php:36
424
  msgid "Send us bugfixes / code changes"
425
  msgstr ""
426
 
427
+ #: ../admin/about.php:36
428
  msgid "The most motivated support for this plugin are your ideas and brain work"
429
  msgstr ""
430
 
431
+ #: ../admin/about.php:37
432
  msgid "Translate the plugin"
433
  msgstr ""
434
 
435
+ #: ../admin/about.php:37
436
  msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
437
  msgstr ""
438
 
439
+ #: ../admin/about.php:38
440
  msgid "Donate the work via paypal"
441
  msgstr ""
442
 
443
+ #: ../admin/about.php:48
444
  msgid "No doubt a very usefull and easy motivation :-)"
445
  msgstr ""
446
 
447
+ #: ../admin/about.php:50
448
  msgid "Place a link to the plugin in your blog/webpage"
449
  msgstr ""
450
 
451
+ #: ../admin/about.php:50
452
  msgid "Yes, share and trackback is also a good support for this work "
453
  msgstr ""
454
 
455
+ #: ../admin/about.php:52
456
  msgid "Thanks!"
457
  msgstr ""
458
 
459
+ #: ../admin/about.php:53
460
  msgid "We would like to thank this people which support us in the work :"
461
  msgstr ""
462
 
463
+ #: ../admin/addgallery.php:27
464
+ #: ../admin/addgallery.php:43
465
  msgid "Upload failed!"
466
  msgstr ""
467
 
468
+ #: ../admin/addgallery.php:65
469
  msgid "remove"
470
  msgstr ""
471
 
472
+ #: ../admin/addgallery.php:75
473
+ #: ../admin/addgallery.php:85
474
  msgid "Add new gallery"
475
  msgstr ""
476
 
477
+ #: ../admin/addgallery.php:77
478
+ #: ../admin/addgallery.php:103
479
  msgid "Upload a Zip-File"
480
  msgstr ""
481
 
482
+ #: ../admin/addgallery.php:79
483
+ #: ../admin/addgallery.php:135
484
  msgid "Import image folder"
485
  msgstr ""
486
 
487
+ #: ../admin/addgallery.php:80
488
+ #: ../admin/addgallery.php:153
489
  msgid "Upload Images"
490
  msgstr ""
491
 
492
+ #: ../admin/addgallery.php:91
493
  msgid "New Gallery"
494
  msgstr ""
495
 
496
+ #: ../admin/addgallery.php:93
497
  msgid "Create a new , empty gallery below the folder"
498
  msgstr ""
499
 
500
+ #: ../admin/addgallery.php:94
501
  msgid "Allowed characters for file and folder names are"
502
  msgstr ""
503
 
504
+ #: ../admin/addgallery.php:97
505
  msgid "Add gallery"
506
  msgstr ""
507
 
508
+ #: ../admin/addgallery.php:109
509
  msgid "Select Zip-File"
510
  msgstr ""
511
 
512
+ #: ../admin/addgallery.php:111
513
  msgid "Upload a zip file with images"
514
  msgstr ""
515
 
516
+ #: ../admin/addgallery.php:114
517
+ #: ../admin/addgallery.php:163
518
  msgid "in to"
519
  msgstr ""
520
 
521
+ #: ../admin/addgallery.php:116
522
  msgid "a new gallery"
523
  msgstr ""
524
 
525
+ #: ../admin/addgallery.php:126
526
+ #: ../admin/addgallery.php:175
527
  msgid "Note : The upload limit on your server is "
528
  msgstr ""
529
 
530
+ #: ../admin/addgallery.php:129
531
  msgid "Start upload"
532
  msgstr ""
533
 
534
+ #: ../admin/addgallery.php:141
535
  msgid "Import from Server path:"
536
  msgstr ""
537
 
538
+ #: ../admin/addgallery.php:143
539
  msgid "Import a folder with images. Please note :"
540
  msgstr ""
541
 
542
+ #: ../admin/addgallery.php:144
543
  msgid "For save_mode = ON you need to add the subfolder thumbs manually"
544
  msgstr ""
545
 
546
+ #: ../admin/addgallery.php:147
547
  msgid "Import folder"
548
  msgstr ""
549
 
550
+ #: ../admin/addgallery.php:159
551
  msgid "Upload image"
552
  msgstr ""
553
 
554
+ #: ../admin/addgallery.php:165
555
  msgid "Choose gallery"
556
  msgstr ""
557
 
558
+ #: ../admin/addgallery.php:178
559
  msgid "Upload images"
560
  msgstr ""
561
 
562
+ #: ../admin/addgallery.php:198
563
  msgid "No valid gallery name!"
564
  msgstr ""
565
 
566
+ #: ../admin/addgallery.php:202
567
+ #: ../admin/addgallery.php:210
568
+ #: ../admin/addgallery.php:218
569
+ #: ../admin/addgallery.php:257
570
+ #: ../admin/addgallery.php:261
571
  msgid "Directory"
572
  msgstr ""
573
 
574
+ #: ../admin/addgallery.php:202
575
+ msgid "didn't exist. Please create first the main gallery folder "
576
+ msgstr ""
577
+
578
+ #: ../admin/addgallery.php:203
579
+ #: ../admin/addgallery.php:211
580
+ msgid "Check this link, if you didn't know how to set the permission :"
581
+ msgstr ""
582
+
583
+ #: ../admin/addgallery.php:210
584
  msgid "didn't have the permissions "
585
  msgstr ""
586
 
587
+ #: ../admin/addgallery.php:218
588
  msgid "already exists!"
589
  msgstr ""
590
 
591
+ #: ../admin/addgallery.php:224
592
+ #: ../admin/addgallery.php:226
593
+ #: ../admin/addgallery.php:267
594
+ #: ../admin/addgallery.php:523
595
+ #: ../admin/addgallery.php:525
596
  msgid "Unable to create directory "
597
  msgstr ""
598
 
599
+ #: ../admin/addgallery.php:225
600
+ #: ../admin/addgallery.php:524
601
+ #: ../admin/addgallery.php:526
602
  msgid "Unable to set directory permissions "
603
  msgstr ""
604
 
605
+ #: ../admin/addgallery.php:227
606
  msgid "Unable to set directory permissions"
607
  msgstr ""
608
 
609
+ #: ../admin/addgallery.php:229
610
+ msgid "The server setting Safe-Mode is on !"
611
  msgstr ""
612
 
613
+ #: ../admin/addgallery.php:230
614
  msgid "Please create directory"
615
  msgstr ""
616
 
617
+ #: ../admin/addgallery.php:231
618
  msgid "and the thumbnails directory"
619
  msgstr ""
620
 
621
+ #: ../admin/addgallery.php:231
622
  msgid "with permission 777 manually !"
623
  msgstr ""
624
 
625
+ #: ../admin/addgallery.php:235
626
  msgid "already exists"
627
  msgstr ""
628
 
629
+ #: ../admin/addgallery.php:239
630
+ #: ../admin/addgallery.php:303
631
+ msgid "successfully created!"
632
  msgstr ""
633
 
634
+ #: ../admin/addgallery.php:239
635
+ msgid "You can show this gallery with the tag"
636
+ msgstr ""
637
+
638
+ #: ../admin/addgallery.php:257
639
+ #: ../admin/addgallery.php:266
640
  msgid "doesn&#96;t exist"
641
  msgstr ""
642
 
643
+ #: ../admin/addgallery.php:261
644
  msgid "contains no pictures"
645
  msgstr ""
646
 
647
+ #: ../admin/addgallery.php:266
648
  msgid "Thumbnail Directory"
649
  msgstr ""
650
 
651
+ #: ../admin/addgallery.php:266
652
  msgid "Please create the folder <i>thumbs</i> in your gallery folder."
653
  msgstr ""
654
 
655
+ #: ../admin/addgallery.php:279
656
  #: ../admin/myimport.php:38
657
  msgid "Database error. Could not add gallery!"
658
  msgstr ""
659
 
660
+ #: ../admin/addgallery.php:303
 
 
 
 
661
  msgid " pictures added."
662
  msgstr ""
663
 
664
+ #: ../admin/addgallery.php:347
665
+ #: ../admin/addgallery.php:384
666
  msgid "Some pictures are not writeable :"
667
  msgstr ""
668
 
669
+ #: ../admin/addgallery.php:455
670
  msgid "Follow thumbnails could not created."
671
  msgstr ""
672
 
673
+ #: ../admin/addgallery.php:456
674
  msgid "Some thumbnails are not writeable :"
675
  msgstr ""
676
 
677
+ #: ../admin/addgallery.php:506
678
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
679
  msgstr ""
680
 
681
+ #: ../admin/addgallery.php:531
682
  msgid "Unable to unlink zip file "
683
  msgstr ""
684
 
685
+ #: ../admin/addgallery.php:533
686
  msgid "Zip-File successfully unpacked"
687
  msgstr ""
688
 
689
+ #: ../admin/addgallery.php:562
690
+ #: ../admin/addgallery.php:570
691
  msgid "Unable to unlink file "
692
  msgstr ""
693
 
694
+ #: ../admin/addgallery.php:563
695
  msgid "No gallery selected !"
696
  msgstr ""
697
 
698
+ #: ../admin/addgallery.php:571
699
  msgid "Failure in database, no gallery path set !"
700
  msgstr ""
701
 
702
+ #: ../admin/addgallery.php:578
703
+ msgid "is no valid image file!"
704
+ msgstr ""
705
+
706
+ #: ../admin/addgallery.php:586
707
  msgid "Error, the file could not moved to : "
708
  msgstr ""
709
 
711
  msgid "Error, the file permissions could not set"
712
  msgstr ""
713
 
714
+ #: ../admin/addgallery.php:612
715
+ msgid " Image(s) successfully added"
716
  msgstr ""
717
 
718
+ #: ../admin/admin.php:48
719
  msgid "Add Gallery"
720
  msgstr ""
721
 
722
+ #: ../admin/admin.php:49
723
  msgid "Manage Gallery"
724
  msgstr ""
725
 
726
+ #: ../admin/admin.php:51
727
  msgid "Options"
728
  msgstr ""
729
 
730
+ #: ../admin/admin.php:52
731
  msgid "Style"
732
  msgstr ""
733
 
734
+ #: ../admin/admin.php:53
735
  msgid "Setup Gallery"
736
  msgstr ""
737
 
738
+ #: ../admin/admin.php:53
739
  msgid "Setup"
740
  msgstr ""
741
 
742
+ #: ../admin/admin.php:54
743
+ msgid "Roles"
744
+ msgstr ""
745
+
746
+ #: ../admin/admin.php:56
747
  #: ../admin/myimport.php:74
748
  msgid "Import"
749
  msgstr ""
750
 
751
+ #: ../admin/admin.php:57
752
  msgid "About this Gallery"
753
  msgstr ""
754
 
755
+ #: ../admin/admin.php:57
756
  msgid "About"
757
  msgstr ""
758
 
759
+ #: ../admin/album.php:17
760
+ #: ../admin/album.php:36
761
  msgid "Update Successfully"
762
  msgstr ""
763
 
764
+ #: ../admin/album.php:44
765
  msgid "Album deleted"
766
  msgstr ""
767
 
768
+ #: ../admin/album.php:116
769
  msgid "Manage Albums"
770
  msgstr ""
771
 
772
+ #: ../admin/album.php:125
773
  msgid "No album selected"
774
  msgstr ""
775
 
776
+ #: ../admin/album.php:138
777
  msgid "Add new album"
778
  msgstr ""
779
 
780
+ #: ../admin/album.php:142
781
+ #: ../admin/manage.php:314
782
+ #: ../admin/manage.php:578
783
  msgid "Delete"
784
  msgstr ""
785
 
786
+ #: ../admin/album.php:142
787
  msgid "Delete album ?"
788
  msgstr ""
789
 
790
+ #: ../admin/album.php:144
791
+ #: ../admin/settings.php:134
792
+ #: ../admin/settings.php:174
793
+ #: ../admin/settings.php:207
794
+ #: ../admin/settings.php:282
795
+ #: ../admin/settings.php:328
796
+ #: ../admin/settings.php:437
797
+ #: ../admin/settings.php:540
798
  msgid "Update"
799
  msgstr ""
800
 
801
+ #: ../admin/album.php:152
802
+ msgid "[Maximize]"
803
+ msgstr ""
804
+
805
+ #: ../admin/album.php:153
806
+ msgid "[Minimize]"
807
+ msgstr ""
808
+
809
+ #: ../admin/album.php:155
810
  msgid "After you create and select a album, you can drag and drop a gallery into your album below"
811
  msgstr ""
812
 
813
+ #: ../admin/album.php:162
814
  msgid "Select Gallery"
815
  msgstr ""
816
 
817
+ #: ../admin/album.php:195
818
  msgid "Album Page ID"
819
  msgstr ""
820
 
821
+ #: ../admin/album.php:207
822
  msgid "No album selected!"
823
  msgstr ""
824
 
825
+ #: ../admin/album.php:241
826
+ #: ../admin/manage.php:288
827
+ #: ../admin/manage.php:534
828
  #: ../admin/myimport.php:49
829
  msgid "ID"
830
  msgstr ""
831
 
832
+ #: ../admin/album.php:242
833
  msgid "Name"
834
  msgstr ""
835
 
836
+ #: ../admin/album.php:244
837
  msgid "Page"
838
  msgstr ""
839
 
 
840
  #: ../admin/manage.php:64
841
+ #: ../admin/manage.php:85
842
  msgid "deleted successfully"
843
  msgstr ""
844
 
845
+ #: ../admin/manage.php:111
846
  msgid "Watermark successfully added"
847
  msgstr ""
848
 
849
+ #: ../admin/manage.php:116
850
  msgid "Thumbnails successfully created. Please refresh your browser cache."
851
  msgstr ""
852
 
853
+ #: ../admin/manage.php:121
854
  msgid "Images successfully resized"
855
  msgstr ""
856
 
857
+ #: ../admin/manage.php:139
858
  msgid "Pictures deleted successfully "
859
  msgstr ""
860
 
861
+ #: ../admin/manage.php:190
862
+ msgid "Tags changed"
 
 
863
  msgstr ""
864
 
865
+ #: ../admin/manage.php:210
866
+ msgid "Update successful"
867
+ msgstr ""
868
+
869
+ #: ../admin/manage.php:235
870
  msgid " picture(s) successfully added"
871
  msgstr ""
872
 
873
+ #: ../admin/manage.php:261
874
  msgid "New gallery page ID"
875
  msgstr ""
876
 
877
+ #: ../admin/manage.php:261
878
  msgid "created"
879
  msgstr ""
880
 
881
+ #: ../admin/manage.php:284
882
  msgid "Gallery Overview"
883
  msgstr ""
884
 
885
+ #: ../admin/manage.php:289
886
  #: ../admin/myimport.php:50
887
  msgid "Gallery name"
888
  msgstr ""
889
 
890
+ #: ../admin/manage.php:292
891
  #: ../admin/myimport.php:53
892
  msgid "Page ID"
893
  msgstr ""
894
 
895
+ #: ../admin/manage.php:293
896
  #: ../admin/myimport.php:54
897
  msgid "Quantity"
898
  msgstr ""
899
 
900
+ #: ../admin/manage.php:294
901
+ #: ../admin/manage.php:546
902
  #: ../admin/myimport.php:55
903
  msgid "Action"
904
  msgstr ""
905
 
906
+ #: ../admin/manage.php:313
907
  #: ../js/nggadmintab-js.php:88
908
  msgid "Edit"
909
  msgstr ""
910
 
911
+ #: ../admin/manage.php:314
912
+ msgid "Delete this gallery ?"
 
913
  msgstr ""
914
 
915
+ #: ../admin/manage.php:319
916
+ #: ../admin/manage.php:583
917
  #: ../admin/myimport.php:79
918
  msgid "No entries found"
919
  msgstr ""
920
 
921
+ #: ../admin/manage.php:445
922
+ msgid "Main settings"
923
+ msgstr ""
924
+
925
+ #: ../admin/manage.php:450
926
  msgid "Page Link to"
927
  msgstr ""
928
 
929
+ #: ../admin/manage.php:453
930
  msgid "Not linked"
931
  msgstr ""
932
 
933
+ #: ../admin/manage.php:469
934
  msgid "Preview image"
935
  msgstr ""
936
 
937
+ #: ../admin/manage.php:472
938
  msgid "No Picture"
939
  msgstr ""
940
 
941
+ #: ../admin/manage.php:487
942
  msgid "Path"
943
  msgstr ""
944
 
945
+ #: ../admin/manage.php:490
946
  msgid "Create new page"
947
  msgstr ""
948
 
949
+ #: ../admin/manage.php:493
950
  msgid "Main page (No parent)"
951
  msgstr ""
952
 
953
+ #: ../admin/manage.php:496
954
  msgid "Add page"
955
  msgstr ""
956
 
957
+ #: ../admin/manage.php:502
958
  msgid "Scan Folder for new images"
959
  msgstr ""
960
 
961
+ #: ../admin/manage.php:503
962
+ #: ../admin/manage.php:590
963
  msgid "Save Changes"
964
  msgstr ""
965
 
966
+ #: ../admin/manage.php:508
967
  msgid "No action"
968
  msgstr ""
969
 
970
+ #: ../admin/manage.php:510
971
  msgid "Set watermark"
972
  msgstr ""
973
 
974
+ #: ../admin/manage.php:511
975
  msgid "Create new thumbnails"
976
  msgstr ""
977
 
978
+ #: ../admin/manage.php:512
979
  msgid "Resize images"
980
  msgstr ""
981
 
982
+ #: ../admin/manage.php:513
983
  msgid "Delete images"
984
  msgstr ""
985
 
986
+ #: ../admin/manage.php:515
987
+ msgid "Add tags"
988
+ msgstr ""
989
+
990
+ #: ../admin/manage.php:516
991
+ msgid "Delete tags"
992
+ msgstr ""
993
+
994
+ #: ../admin/manage.php:517
995
+ msgid "Overwrite tags"
996
+ msgstr ""
997
+
998
+ #: ../admin/manage.php:521
999
+ #: ../admin/manage.php:522
1000
+ #: ../admin/manage.php:608
1001
  msgid "OK"
1002
  msgstr ""
1003
 
1004
+ #: ../admin/manage.php:521
1005
+ #: ../admin/manage.php:608
1006
  msgid "No images selected"
1007
  msgstr ""
1008
 
1009
+ #: ../admin/manage.php:521
1010
+ #: ../admin/manage.php:608
1011
  #, php-format
1012
  msgid ""
1013
  "You are about to start the bulk edit for %s images \n"
1015
  " 'Cancel' to stop, 'OK' to proceed."
1016
  msgstr ""
1017
 
1018
+ #: ../admin/manage.php:523
1019
  msgid "Hide thumbnails "
1020
  msgstr ""
1021
 
1022
+ #: ../admin/manage.php:524
1023
  msgid "Show thumbnails "
1024
  msgstr ""
1025
 
1026
+ #: ../admin/manage.php:525
1027
  msgid "Show tags"
1028
  msgstr ""
1029
 
1030
+ #: ../admin/manage.php:526
1031
  msgid "Hide tags"
1032
  msgstr ""
1033
 
1034
+ #: ../admin/manage.php:535
1035
+ #: ../admin/settings.php:271
1036
  msgid "File name"
1037
  msgstr ""
1038
 
1039
+ #: ../admin/manage.php:542
1040
  msgid "exclude"
1041
  msgstr ""
1042
 
1043
+ #: ../admin/manage.php:544
1044
  msgid "Tags (comma separated list)"
1045
  msgstr ""
1046
 
1047
+ #: ../admin/manage.php:577
1048
  msgid "View"
1049
  msgstr ""
1050
 
1051
+ #: ../admin/manage.php:578
1052
+ msgid "Delete this file ?"
1053
+ msgstr ""
1054
+
1055
+ #: ../admin/manage.php:605
1056
+ msgid "Enter the tags"
1057
+ msgstr ""
1058
+
1059
  #: ../admin/myimport.php:35
1060
  msgid "Gallery "
1061
  msgstr ""
1072
  msgid "Import this gallery ?"
1073
  msgstr ""
1074
 
1075
+ #: ../admin/overview.php:18
1076
  msgid "NextGEN Gallery Overview"
1077
  msgstr ""
1078
 
1079
+ #: ../admin/overview.php:21
1080
  msgid "Summary"
1081
  msgstr ""
1082
 
1083
+ #: ../admin/overview.php:30
1084
  #, php-format
1085
+ msgid "There are totally %1$s pictures in %2$s galleries, which are spread across %3$s albums."
1086
  msgstr ""
1087
 
1088
+ #: ../admin/overview.php:34
1089
  msgid "New Version available"
1090
  msgstr ""
1091
 
1092
+ #: ../admin/overview.php:35
1093
  msgid "The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information."
1094
  msgstr ""
1095
 
1096
+ #: ../admin/overview.php:37
1097
  msgid "Server Settings"
1098
  msgstr ""
1099
 
1100
+ #: ../admin/overview.php:44
1101
  msgid "Welcome"
1102
  msgstr ""
1103
 
1104
+ #: ../admin/overview.php:48
1105
  msgid "gallery administrator"
1106
  msgstr ""
1107
 
1108
+ #: ../admin/overview.php:48
1109
  msgid "gallery editor"
1110
  msgstr ""
1111
 
1112
+ #: ../admin/overview.php:49
1113
  #, php-format
1114
  msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
1115
  msgstr ""
1116
 
1117
+ #: ../admin/overview.php:54
1118
  msgid "Add a new gallery or import pictures"
1119
  msgstr ""
1120
 
1121
+ #: ../admin/overview.php:55
1122
  msgid "Manage galleries and images"
1123
  msgstr ""
1124
 
1125
+ #: ../admin/overview.php:56
1126
  msgid "Create and manage albums"
1127
  msgstr ""
1128
 
1129
+ #: ../admin/overview.php:57
1130
  msgid "Change the settings of NextGEN Gallery"
1131
  msgstr ""
1132
 
1133
+ #: ../admin/overview.php:60
1134
  msgid "Latest News"
1135
  msgstr ""
1136
 
1137
+ #: ../admin/overview.php:79
1138
  #, php-format
1139
  msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
1140
  msgstr ""
1141
 
1142
+ #: ../admin/overview.php:92
1143
  msgid "GD support"
1144
  msgstr ""
1145
 
1146
+ #: ../admin/overview.php:103
1147
  msgid "No GD support"
1148
  msgstr ""
1149
 
1150
+ #: ../admin/overview.php:110
1151
  msgid "Yes"
1152
  msgstr ""
1153
 
1154
+ #: ../admin/overview.php:111
1155
  msgid "No"
1156
  msgstr ""
1157
 
1158
+ #: ../admin/overview.php:125
1159
  msgid "Not set"
1160
  msgstr ""
1161
 
1162
+ #: ../admin/overview.php:127
1163
+ #: ../admin/overview.php:130
1164
  msgid "On"
1165
  msgstr ""
1166
 
1167
+ #: ../admin/overview.php:128
1168
+ #: ../admin/overview.php:131
1169
  msgid "Off"
1170
  msgstr ""
1171
 
 
 
1172
  #: ../admin/overview.php:134
1173
  #: ../admin/overview.php:137
1174
  #: ../admin/overview.php:140
1175
+ #: ../admin/overview.php:143
1176
+ #: ../admin/overview.php:146
1177
  msgid "N/A"
1178
  msgstr ""
1179
 
1180
+ #: ../admin/overview.php:145
1181
  msgid " MByte"
1182
  msgstr ""
1183
 
1184
+ #: ../admin/overview.php:149
1185
  msgid "Operating System"
1186
  msgstr ""
1187
 
1188
+ #: ../admin/overview.php:150
1189
  msgid "Server"
1190
  msgstr ""
1191
 
1192
+ #: ../admin/overview.php:151
1193
  msgid "Memory usage"
1194
  msgstr ""
1195
 
1196
+ #: ../admin/overview.php:152
1197
  msgid "MYSQL Version"
1198
  msgstr ""
1199
 
1200
+ #: ../admin/overview.php:153
1201
  msgid "SQL Mode"
1202
  msgstr ""
1203
 
1204
+ #: ../admin/overview.php:154
1205
  msgid "PHP Version"
1206
  msgstr ""
1207
 
1208
+ #: ../admin/overview.php:155
1209
  msgid "PHP Safe Mode"
1210
  msgstr ""
1211
 
1212
+ #: ../admin/overview.php:156
1213
  msgid "PHP Allow URL fopen"
1214
  msgstr ""
1215
 
1216
+ #: ../admin/overview.php:157
1217
  msgid "PHP Memory Limit"
1218
  msgstr ""
1219
 
1220
+ #: ../admin/overview.php:158
1221
  msgid "PHP Max Upload Size"
1222
  msgstr ""
1223
 
1224
+ #: ../admin/overview.php:159
1225
  msgid "PHP Max Post Size"
1226
  msgstr ""
1227
 
1228
+ #: ../admin/overview.php:160
1229
  msgid "PHP Max Script Execute Time"
1230
  msgstr ""
1231
 
1232
+ #: ../admin/roles.php:20
1233
+ msgid "Updated capabilities"
1234
+ msgstr ""
1235
+
1236
+ #: ../admin/roles.php:25
1237
+ msgid "Roles / capabilities"
1238
+ msgstr ""
1239
+
1240
+ #: ../admin/roles.php:26
1241
+ msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
1242
+ msgstr ""
1243
+
1244
+ #: ../admin/roles.php:27
1245
+ msgid "For a more flexible user management you can use the"
1246
+ msgstr ""
1247
+
1248
+ #: ../admin/roles.php:33
1249
+ msgid "Main NextGEN Gallery overview"
1250
+ msgstr ""
1251
+
1252
+ #: ../admin/roles.php:37
1253
+ msgid "Use TinyMCE Button / Upload tab"
1254
+ msgstr ""
1255
+
1256
+ #: ../admin/roles.php:41
1257
+ msgid "Add gallery / Upload images"
1258
+ msgstr ""
1259
+
1260
+ #: ../admin/roles.php:45
1261
+ msgid "Manage gallery"
1262
+ msgstr ""
1263
+
1264
+ #: ../admin/roles.php:49
1265
+ msgid "Edit Album"
1266
+ msgstr ""
1267
+
1268
+ #: ../admin/roles.php:53
1269
+ msgid "Change style"
1270
+ msgstr ""
1271
+
1272
+ #: ../admin/roles.php:57
1273
+ msgid "Change options"
1274
+ msgstr ""
1275
+
1276
+ #: ../admin/roles.php:61
1277
+ msgid "Update capabilities"
1278
+ msgstr ""
1279
+
1280
+ #: ../admin/settings.php:26
1281
+ #: ../admin/style.php:16
1282
+ msgid "Update successfully"
1283
+ msgstr ""
1284
+
1285
+ #: ../admin/settings.php:76
1286
+ #: ../admin/settings.php:88
1287
  msgid "General Options"
1288
  msgstr ""
1289
 
1290
+ #: ../admin/settings.php:77
1291
+ #: ../admin/settings.php:248
1292
  msgid "Thumbnails"
1293
  msgstr ""
1294
 
1295
+ #: ../admin/settings.php:78
1296
  msgid "Images"
1297
  msgstr ""
1298
 
1299
+ #: ../admin/settings.php:80
1300
+ #: ../admin/settings.php:290
1301
  msgid "Effects"
1302
  msgstr ""
1303
 
1304
+ #: ../admin/settings.php:95
1305
  msgid "Gallery path"
1306
  msgstr ""
1307
 
1308
+ #: ../admin/settings.php:97
1309
  msgid "This is the default path for all galleries"
1310
  msgstr ""
1311
 
1312
+ #: ../admin/settings.php:108
1313
+ msgid "Delete image files"
1314
  msgstr ""
1315
 
1316
+ #: ../admin/settings.php:110
1317
+ msgid "Delete files, when removing a gallery in the database"
1318
  msgstr ""
1319
 
1320
+ #: ../admin/settings.php:113
1321
+ msgid "Tags / Categories"
1322
  msgstr ""
1323
 
1324
+ #: ../admin/settings.php:116
1325
+ msgid "Activate related images"
1326
+ msgstr ""
1327
+
1328
+ #: ../admin/settings.php:118
1329
+ msgid "This option will append related images to every post"
1330
+ msgstr ""
1331
+
1332
+ #: ../admin/settings.php:122
1333
+ msgid "Match with"
1334
+ msgstr ""
1335
+
1336
+ #: ../admin/settings.php:123
1337
+ msgid "Categories"
1338
+ msgstr ""
1339
+
1340
+ #: ../admin/settings.php:124
1341
+ msgid "Tags"
1342
  msgstr ""
1343
 
1344
+ #: ../admin/settings.php:124
1345
+ msgid " (require WordPress 2.3 or higher)"
1346
+ msgstr ""
1347
+
1348
+ #: ../admin/settings.php:128
1349
+ msgid "Max. number of images"
1350
+ msgstr ""
1351
+
1352
+ #: ../admin/settings.php:130
1353
+ msgid "0 will show all images"
1354
+ msgstr ""
1355
+
1356
+ #: ../admin/settings.php:142
1357
  msgid "Thumbnail settings"
1358
  msgstr ""
1359
 
1360
+ #: ../admin/settings.php:147
1361
  msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
1362
  msgstr ""
1363
 
1364
+ #: ../admin/settings.php:150
1365
  msgid "Width x height (in pixel)"
1366
  msgstr ""
1367
 
1368
+ #: ../admin/settings.php:152
1369
  msgid "These values are maximum values "
1370
  msgstr ""
1371
 
1372
+ #: ../admin/settings.php:155
1373
  msgid "Set fix dimension"
1374
  msgstr ""
1375
 
1376
+ #: ../admin/settings.php:157
1377
  msgid "Ignore the aspect ratio, no portrait thumbnails"
1378
  msgstr ""
1379
 
1380
+ #: ../admin/settings.php:160
1381
  msgid "Crop square thumbnail from image"
1382
  msgstr ""
1383
 
1384
+ #: ../admin/settings.php:162
1385
  msgid "Create square thumbnails, use only the width setting :"
1386
  msgstr ""
1387
 
1388
+ #: ../admin/settings.php:165
1389
  msgid "Thumbnail quality"
1390
  msgstr ""
1391
 
1392
+ #: ../admin/settings.php:169
1393
+ #: ../admin/settings.php:201
1394
  msgid "Resample Mode"
1395
  msgstr ""
1396
 
1397
+ #: ../admin/settings.php:171
1398
+ #: ../admin/settings.php:204
1399
  msgid "Value between 1-5 (higher value, more CPU load)"
1400
  msgstr ""
1401
 
1402
+ #: ../admin/settings.php:182
1403
  msgid "Image settings"
1404
  msgstr ""
1405
 
1406
+ #: ../admin/settings.php:189
1407
  msgid "Resize Images"
1408
  msgstr ""
1409
 
1410
+ #: ../admin/settings.php:193
1411
  msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
1412
  msgstr ""
1413
 
1414
+ #: ../admin/settings.php:196
1415
  msgid "Image quality"
1416
  msgstr ""
1417
 
1418
+ #: ../admin/settings.php:215
 
 
 
 
 
 
 
 
1419
  msgid "Gallery settings"
1420
  msgstr ""
1421
 
1422
+ #: ../admin/settings.php:222
1423
  msgid "Activate jQuery navigation"
1424
  msgstr ""
1425
 
1426
+ #: ../admin/settings.php:224
1427
  msgid "Please note : This is still experimental. Requires the Thickbox effect"
1428
  msgstr ""
1429
 
1430
+ #: ../admin/settings.php:228
1431
  msgid "Deactivate gallery page link"
1432
  msgstr ""
1433
 
1434
+ #: ../admin/settings.php:230
1435
  msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
1436
  msgstr ""
1437
 
1438
+ #: ../admin/settings.php:234
1439
  msgid "Number of images per page"
1440
  msgstr ""
1441
 
1442
+ #: ../admin/settings.php:236
1443
  msgid "0 will disable pagination, all images on one page"
1444
  msgstr ""
1445
 
1446
+ #: ../admin/settings.php:240
1447
  msgid "Integrate slideshow"
1448
  msgstr ""
1449
 
1450
+ #: ../admin/settings.php:247
1451
  msgid "Show first"
1452
  msgstr ""
1453
 
1454
+ #: ../admin/settings.php:253
1455
+ msgid "Show thumbnail description"
1456
  msgstr ""
1457
 
1458
+ #: ../admin/settings.php:254
1459
+ #: ../admin/settings.php:302
1460
+ #: ../js/nggadmintab-js.php:112
1461
+ msgid "None"
1462
  msgstr ""
1463
 
1464
+ #: ../admin/settings.php:255
1465
+ msgid "Description text"
1466
  msgstr ""
1467
 
1468
+ #: ../admin/settings.php:256
1469
+ #: ../admin/settings.php:272
1470
+ msgid "Alt / Title text"
1471
  msgstr ""
1472
 
1473
+ #: ../admin/settings.php:260
1474
+ msgid "Show ImageBrowser"
1475
  msgstr ""
1476
 
1477
+ #: ../admin/settings.php:262
1478
+ msgid "The gallery will open the ImageBrowser instead the effect."
1479
  msgstr ""
1480
 
1481
+ #: ../admin/settings.php:266
1482
+ msgid "Sort options"
1483
  msgstr ""
1484
 
1485
+ #: ../admin/settings.php:269
1486
+ msgid "Sort thumbnails"
1487
  msgstr ""
1488
 
1489
+ #: ../admin/settings.php:270
1490
+ msgid "Image ID"
1491
  msgstr ""
1492
 
1493
+ #: ../admin/settings.php:276
1494
+ msgid "Sort direction"
1495
  msgstr ""
1496
 
1497
+ #: ../admin/settings.php:277
1498
+ msgid "Ascending"
1499
  msgstr ""
1500
 
1501
+ #: ../admin/settings.php:278
1502
+ msgid "Descending"
1503
  msgstr ""
1504
 
1505
+ #: ../admin/settings.php:294
1506
  msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
1507
  msgstr ""
1508
 
1509
+ #: ../admin/settings.php:295
1510
  msgid "With the placeholder"
1511
  msgstr ""
1512
 
1513
+ #: ../admin/settings.php:295
1514
  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."
1515
  msgstr ""
1516
 
1517
+ #: ../admin/settings.php:299
1518
  msgid "JavaScript Thumbnail effect"
1519
  msgstr ""
1520
 
1521
+ #: ../admin/settings.php:303
 
 
 
 
 
1522
  msgid "Thickbox"
1523
  msgstr ""
1524
 
1525
+ #: ../admin/settings.php:304
1526
  msgid "Lightbox"
1527
  msgstr ""
1528
 
1529
+ #: ../admin/settings.php:305
1530
  msgid "Highslide"
1531
  msgstr ""
1532
 
1533
+ #: ../admin/settings.php:306
1534
  msgid "Custom"
1535
  msgstr ""
1536
 
1537
+ #: ../admin/settings.php:311
1538
  msgid "Link Code line"
1539
  msgstr ""
1540
 
1541
+ #: ../admin/settings.php:319
1542
  msgid "Select loading image"
1543
  msgstr ""
1544
 
1545
+ #: ../admin/settings.php:343
1546
+ msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
1547
+ msgstr ""
1548
+
1549
+ #: ../admin/settings.php:348
1550
  msgid "Preview"
1551
  msgstr ""
1552
 
1553
+ #: ../admin/settings.php:350
1554
+ #: ../admin/settings.php:354
1555
  msgid "Position"
1556
  msgstr ""
1557
 
1558
+ #: ../admin/settings.php:374
1559
  msgid "Offset"
1560
  msgstr ""
1561
 
1562
+ #: ../admin/settings.php:392
1563
  msgid "Use image as watermark"
1564
  msgstr ""
1565
 
1566
+ #: ../admin/settings.php:395
1567
  msgid "URL to file"
1568
  msgstr ""
1569
 
1570
+ #: ../admin/settings.php:397
1571
  msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
1572
  msgstr ""
1573
 
1574
+ #: ../admin/settings.php:403
1575
  msgid "Use text as watermark"
1576
  msgstr ""
1577
 
1578
+ #: ../admin/settings.php:406
1579
  msgid "Font"
1580
  msgstr ""
1581
 
1582
+ #: ../admin/settings.php:414
1583
  msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
1584
  msgstr ""
1585
 
1586
+ #: ../admin/settings.php:418
1587
  msgid "Size"
1588
  msgstr ""
1589
 
1590
+ #: ../admin/settings.php:422
1591
  msgid "Color"
1592
  msgstr ""
1593
 
1594
+ #: ../admin/settings.php:424
1595
  msgid "(hex w/o #)"
1596
  msgstr ""
1597
 
1598
+ #: ../admin/settings.php:427
1599
  msgid "Text"
1600
  msgstr ""
1601
 
1602
+ #: ../admin/settings.php:431
1603
  msgid "Opaque"
1604
  msgstr ""
1605
 
1606
+ #: ../admin/settings.php:450
1607
  msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
1608
  msgstr ""
1609
 
1610
+ #: ../admin/settings.php:451
1611
  msgid "The settings are used in the JW Image Rotator Version 3.9 ."
1612
  msgstr ""
1613
 
1614
+ #: ../admin/settings.php:452
1615
  msgid "See more information for the Flash Player on the web page"
1616
  msgstr ""
1617
 
1618
+ #: ../admin/settings.php:455
1619
  msgid "Default size (W x H)"
1620
  msgstr ""
1621
 
1622
+ #: ../admin/settings.php:460
1623
  msgid "Shuffle mode"
1624
  msgstr ""
1625
 
1626
+ #: ../admin/settings.php:464
1627
  msgid "Show next image on click"
1628
  msgstr ""
1629
 
1630
+ #: ../admin/settings.php:468
1631
  msgid "Show navigation bar"
1632
  msgstr ""
1633
 
1634
+ #: ../admin/settings.php:472
1635
  msgid "Show loading icon"
1636
  msgstr ""
1637
 
1638
+ #: ../admin/settings.php:476
1639
  msgid "Use watermark logo"
1640
  msgstr ""
1641
 
1642
+ #: ../admin/settings.php:478
1643
  msgid "You can change the logo at the watermark settings"
1644
  msgstr ""
1645
 
1646
+ #: ../admin/settings.php:481
1647
  msgid "Stretch image"
1648
  msgstr ""
1649
 
1650
+ #: ../admin/settings.php:484
1651
  msgid "true"
1652
  msgstr ""
1653
 
1654
+ #: ../admin/settings.php:485
1655
  msgid "false"
1656
  msgstr ""
1657
 
1658
+ #: ../admin/settings.php:486
1659
  msgid "fit"
1660
  msgstr ""
1661
 
1662
+ #: ../admin/settings.php:492
1663
  msgid "Duration time"
1664
  msgstr ""
1665
 
1666
+ #: ../admin/settings.php:493
1667
  msgid "sec."
1668
  msgstr ""
1669
 
1670
+ #: ../admin/settings.php:496
1671
  msgid "Transition / Fade effect"
1672
  msgstr ""
1673
 
1674
+ #: ../admin/settings.php:499
1675
  msgid "fade"
1676
  msgstr ""
1677
 
1678
+ #: ../admin/settings.php:500
1679
  msgid "bgfade"
1680
  msgstr ""
1681
 
1682
+ #: ../admin/settings.php:501
1683
  msgid "slowfade"
1684
  msgstr ""
1685
 
1686
+ #: ../admin/settings.php:502
1687
  msgid "circles"
1688
  msgstr ""
1689
 
1690
+ #: ../admin/settings.php:503
1691
  msgid "bubbles"
1692
  msgstr ""
1693
 
1694
+ #: ../admin/settings.php:504
1695
  msgid "blocks"
1696
  msgstr ""
1697
 
1698
+ #: ../admin/settings.php:505
1699
  msgid "fluids"
1700
  msgstr ""
1701
 
1702
+ #: ../admin/settings.php:506
1703
  msgid "lines"
1704
  msgstr ""
1705
 
1706
+ #: ../admin/settings.php:507
1707
  msgid "random"
1708
  msgstr ""
1709
 
1710
+ #: ../admin/settings.php:511
1711
  msgid "Use slow zooming effect"
1712
  msgstr ""
1713
 
1714
+ #: ../admin/settings.php:515
1715
  msgid "Background Color"
1716
  msgstr ""
1717
 
1718
+ #: ../admin/settings.php:520
1719
  msgid "Texts / Buttons Color"
1720
  msgstr ""
1721
 
1722
+ #: ../admin/settings.php:525
1723
  msgid "Rollover / Active Color"
1724
  msgstr ""
1725
 
1726
+ #: ../admin/settings.php:530
1727
  msgid "Background music (URL)"
1728
  msgstr ""
1729
 
1730
+ #: ../admin/settings.php:534
1731
  msgid "Try XHTML validation (with CDATA)"
1732
  msgstr ""
1733
 
1734
+ #: ../admin/settings.php:536
1735
  msgid "Important : Could causes problem at some browser. Please recheck your page."
1736
  msgstr ""
1737
 
1738
+ #: ../admin/setup.php:12
1739
  msgid "Reset all settings to default parameter"
1740
  msgstr ""
1741
 
1742
+ #: ../admin/setup.php:37
1743
  msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1744
  msgstr ""
1745
 
1746
+ #: ../admin/setup.php:46
1747
  msgid "Reset options"
1748
  msgstr ""
1749
 
1750
+ #: ../admin/setup.php:49
1751
  msgid "Reset all options/settings to the default installation."
1752
  msgstr ""
1753
 
1754
+ #: ../admin/setup.php:50
1755
  msgid "Reset settings"
1756
  msgstr ""
1757
 
1758
+ #: ../admin/setup.php:50
1759
  msgid ""
1760
  "Reset all options to default settings ?\\n"
1761
  "\\n"
1762
  "Choose [Cancel] to Stop, [OK] to proceed.\\n"
1763
  msgstr ""
1764
 
1765
+ #: ../admin/setup.php:54
1766
  msgid "Uninstall plugin tables"
1767
  msgstr ""
1768
 
1769
+ #: ../admin/setup.php:56
1770
  msgid "You don't like NextGEN Gallery ?"
1771
  msgstr ""
1772
 
1773
+ #: ../admin/setup.php:57
1774
  msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
1775
  msgstr ""
1776
 
1777
+ #: ../admin/setup.php:58
1778
  msgid "WARNING:"
1779
  msgstr ""
1780
 
1781
+ #: ../admin/setup.php:59
1782
  msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
1783
  msgstr ""
1784
 
1785
+ #: ../admin/setup.php:59
1786
  msgid "and"
1787
  msgstr ""
1788
 
1789
+ #: ../admin/setup.php:61
1790
  msgid "Uninstall plugin"
1791
  msgstr ""
1792
 
1793
+ #: ../admin/setup.php:61
1794
  msgid ""
1795
  "You are about to Uninstall this plugin from WordPress.\\n"
1796
  "This action is not reversible.\\n"
1798
  "Choose [Cancel] to Stop, [OK] to Uninstall.\\n"
1799
  msgstr ""
1800
 
1801
+ #: ../admin/style.php:34
1802
  msgid "You do not have sufficient permissions to edit templates for this blog."
1803
  msgstr ""
1804
 
1805
+ #: ../admin/style.php:43
1806
  msgid "CSS file successfully updated"
1807
  msgstr ""
1808
 
1809
+ #: ../admin/style.php:66
1810
  msgid "Activate and use style sheet:"
1811
  msgstr ""
1812
 
1813
+ #: ../admin/style.php:85
1814
  msgid "Activate"
1815
  msgstr ""
1816
 
1817
+ #: ../admin/style.php:92
1818
  #, php-format
1819
  msgid "Editing <strong>%s</strong>"
1820
  msgstr ""
1821
 
1822
+ #: ../admin/style.php:94
1823
  #, php-format
1824
  msgid "Browsing <strong>%s</strong>"
1825
  msgstr ""
1826
 
1827
+ #: ../admin/style.php:99
1828
  msgid "Author"
1829
  msgstr ""
1830
 
1831
+ #: ../admin/style.php:100
1832
  msgid "Version"
1833
  msgstr ""
1834
 
1835
+ #: ../admin/style.php:116
1836
  msgid "Update File &raquo;"
1837
  msgstr ""
1838
 
1839
+ #: ../admin/style.php:120
1840
  msgid "If this file were writable you could edit it."
1841
  msgstr ""
1842
 
1843
+ #: ../admin/style.php:125
1844
  msgid "Oops, no such file exists! Double check the name and try again, merci."
1845
  msgstr ""
1846
 
lib/nggallery.lib.php ADDED
@@ -0,0 +1,522 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Image PHP class for the WordPress plugin NextGEN Gallery
5
+ * nggallery.lib.php
6
+ *
7
+ * @author Alex Rabe
8
+ * @copyright Copyright 2007
9
+ *
10
+ */
11
+
12
+ class nggImage{
13
+
14
+ /**** Public variables ****/
15
+
16
+ var $errmsg = ""; // Error message to display, if any
17
+ var $error = FALSE; // Error state
18
+ var $imagePath = ""; // URL Path to the image
19
+ var $thumbPath = ""; // URL Path to the thumbnail
20
+ var $thumbPrefix = ""; // FolderPrefix to the thumbnail
21
+ var $thumbFolder = ""; // Foldername to the thumbnail
22
+ var $href = ""; // A href link code
23
+
24
+ /**** Image Data ****/
25
+ var $galleryid = 0; // Gallery ID
26
+ var $imageID = 0; // Image ID
27
+ var $filename = ""; // Image filename
28
+ var $description = ""; // Image description
29
+ var $alttext = ""; // Image alttext
30
+ var $exclude = ""; // Image exclude
31
+ var $thumbcode = ""; // Image effect code
32
+
33
+ /**** Gallery Data ****/
34
+ var $name = ""; // Gallery name
35
+ var $path = ""; // Gallery path
36
+ var $title = ""; // Gallery title
37
+ var $pageid = 0; // Gallery page ID
38
+ var $previewpic = 0; // Gallery preview pic
39
+
40
+ function nggImage($imageID = '0') {
41
+
42
+ global $wpdb;
43
+
44
+ //initialize variables
45
+ $this->imageID = $imageID;
46
+
47
+ // get image values
48
+ $imageData = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$this->imageID' ") or $this->error = true;
49
+ if($this->error == false)
50
+ foreach ($imageData as $key => $value)
51
+ $this->$key = $value ;
52
+
53
+ // get gallery values
54
+ $galleryData = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$this->galleryid' ") or $this->error = true;
55
+ if($this->error == false)
56
+ foreach ($galleryData as $key => $value)
57
+ $this->$key = $value ;
58
+
59
+ if($this->error == false) {
60
+ // set gallery url
61
+ $this->get_thumbnail_folder($this->path, FALSE);
62
+ $this->imagePath = get_option ('siteurl')."/".$this->path."/".$this->filename;
63
+ $this->thumbPath = get_option ('siteurl')."/".$this->path.$this->thumbFolder.$this->thumbPrefix.$this->filename;
64
+ }
65
+ }
66
+
67
+ /**********************************************************/
68
+ function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) {
69
+ //required for myGallery import :-)
70
+
71
+ if (!$include_Abspath)
72
+ $gallerypath = WINABSPATH.$gallerypath;
73
+
74
+ if (is_dir($gallerypath."/thumbs")) {
75
+ $this->thumbFolder = "/thumbs/";
76
+ $this->thumbPrefix = "thumbs_";
77
+ return TRUE;
78
+ }
79
+
80
+ if (is_dir($gallerypath."/tumbs")) {
81
+ $this->thumbFolder = "/tumbs/";
82
+ $this->thumbPrefix = "tmb_";
83
+ return TRUE;
84
+ }
85
+
86
+ // create the folder if it not exist
87
+ if (!SAFE_MODE) {
88
+ if (!is_dir($gallerypath."/thumbs")) {
89
+ mkdir($gallerypath."/thumbs");
90
+ $this->thumbFolder = "/thumbs/";
91
+ $this->thumbPrefix = "thumbs_";
92
+ return TRUE;
93
+ }
94
+ }
95
+
96
+ return FALSE;
97
+
98
+ }
99
+
100
+ function get_thumbcode($galleryname) {
101
+ // read the option setting
102
+ $ngg_options = get_option('ngg_options');
103
+
104
+ // get the effect code
105
+ if ($ngg_options[thumbEffect] != "none") $this->thumbcode = stripslashes($ngg_options[thumbCode]);
106
+ if ($ngg_options[thumbEffect] == "highslide") $this->thumbcode = str_replace("%GALLERY_NAME%", "'".$galleryname."'", $this->thumbcode);
107
+ else $this->thumbcode = str_replace("%GALLERY_NAME%", $galleryname, $this->thumbcode);
108
+
109
+ return $this->thumbcode;
110
+ }
111
+
112
+ function get_href_link() {
113
+ // create the a href link from the picture
114
+ $this->href = "\n".'<a href="'.$this->imagePath.'" title="'.stripslashes($this->description).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
115
+ $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->imagePath.'"/>'."\n".'</a>'."\n";
116
+
117
+ return $this->href;
118
+ }
119
+
120
+ function get_href_thumb_link() {
121
+ // create the a href link with the thumbanil
122
+ $this->href = "\n".'<a href="'.$this->imagePath.'" title="'.stripslashes($this->description).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
123
+ $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->thumbPath.'"/>'."\n".'</a>'."\n";
124
+
125
+ return $this->href;
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Main PHP class for the WordPress plugin NextGEN Gallery
131
+ * nggallery.lib.php
132
+ *
133
+ * @author Alex Rabe
134
+ * @copyright Copyright 2007
135
+ *
136
+ */
137
+
138
+ class nggallery {
139
+
140
+ /**********************************************************/
141
+ // remove page break
142
+ /**********************************************************/
143
+ function ngg_nl2br($string) {
144
+
145
+ $string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
146
+
147
+ return $string;
148
+
149
+ }
150
+
151
+ /**********************************************************/
152
+ // Show a error messages
153
+ /**********************************************************/
154
+ function show_error($message) {
155
+ echo '<div class="fade error" id="message"><p>'.$message.'</p></div>'."\n";
156
+ }
157
+
158
+ /**********************************************************/
159
+ // Show a system messages
160
+ /**********************************************************/
161
+ function show_message($message)
162
+ {
163
+ echo '<div class="fade updated" id="message"><p>'.$message.'</p></div>'."\n";
164
+ }
165
+
166
+ /**********************************************************/
167
+ // remove some umlauts
168
+ /**********************************************************/
169
+ function remove_umlauts($filename) {
170
+
171
+ $cleanname = str_replace(
172
+ array('�', '�', '�', '�', '�', '�', '�', ' '),
173
+ array('%E4', '%F6', '%FC', '%C4', '%D6', '%DC', '%DF', '%20'),
174
+ utf8_decode($filename)
175
+ );
176
+
177
+ return $cleanname;
178
+ }
179
+
180
+ /**********************************************************/
181
+ // get the thumbnail url to the image
182
+ //TODO:Combine in one class
183
+ /**********************************************************/
184
+ function get_thumbnail_url($imageID){
185
+ // get the complete url to the thumbnail
186
+ global $wpdb;
187
+
188
+ // get gallery values
189
+ $galleryID = $wpdb->get_var("SELECT galleryid FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
190
+ $fileName = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
191
+ $picturepath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
192
+
193
+ // set gallery url
194
+ $folder_url = get_option ('siteurl')."/".$picturepath.nggallery::get_thumbnail_folder($picturepath, FALSE);
195
+ $thumb_prefix = nggallery::get_thumbnail_prefix($picturepath, FALSE);
196
+ $thumbnailURL = $folder_url.$thumb_prefix.$fileName;
197
+
198
+ return $thumbnailURL;
199
+ }
200
+
201
+ /**********************************************************/
202
+ // get the complete url to the image
203
+ /**********************************************************/
204
+ function get_image_url($imageID){
205
+
206
+ global $wpdb;
207
+
208
+ // get gallery values
209
+ $galleryID = $wpdb->get_var("SELECT galleryid FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
210
+ $fileName = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
211
+ $picturepath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
212
+
213
+ // set gallery url
214
+ $imageURL = get_option ('siteurl')."/".$picturepath."/".$fileName;
215
+
216
+ return $imageURL;
217
+ }
218
+
219
+ /**********************************************************/
220
+ // get the thumbnail folder
221
+ /**********************************************************/
222
+ function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) {
223
+ //required for myGallery import :-)
224
+
225
+ if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
226
+ if (is_dir($gallerypath."/thumbs")) return "/thumbs/";
227
+ if (is_dir($gallerypath."/tumbs")) return "/tumbs/";
228
+ if (!SAFE_MODE) {
229
+ if (!is_dir($gallerypath."/thumbs")) {
230
+ mkdir($gallerypath."/thumbs");
231
+ return "/thumbs/";
232
+ }
233
+ }
234
+ return FALSE;
235
+
236
+ }
237
+
238
+ /**********************************************************/
239
+ // get the thumbnail prefix
240
+ /**********************************************************/
241
+ function get_thumbnail_prefix($gallerypath, $include_Abspath = TRUE) {
242
+ //required for myGallery import :-)
243
+
244
+ if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
245
+ if (is_dir($gallerypath."/thumbs")) return "thumbs_";
246
+ if (is_dir($gallerypath."/tumbs")) return "tmb_";
247
+
248
+ return FALSE;
249
+
250
+ }
251
+
252
+ /**********************************************************/
253
+ // get the effect code
254
+ /**********************************************************/
255
+ function get_thumbcode($groupname) {
256
+
257
+ $ngg_options = get_option('ngg_options');
258
+
259
+ // get the effect code
260
+ if ($ngg_options['thumbEffect'] != "none") $thumbcode = stripslashes($ngg_options['thumbCode']);
261
+ if ($ngg_options['thumbEffect'] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'".$groupname."'", $thumbcode);
262
+ else $thumbcode = str_replace("%GALLERY_NAME%", $groupname, $thumbcode);
263
+
264
+ return $thumbcode;
265
+
266
+ }
267
+
268
+ /**********************************************************/
269
+ // create the complete navigation
270
+ /**********************************************************/
271
+ function create_navigation($page, $totalElement, $maxElement = 0) {
272
+ $navigation = "";
273
+
274
+ if ($maxElement > 0) {
275
+ $total = $totalElement;
276
+ $args['page'] = get_the_ID();
277
+
278
+ // create navigation
279
+ if ( $total > $maxElement ) {
280
+ $total_pages = ceil( $total / $maxElement );
281
+ $r = '';
282
+ if ( 1 < $page ) {
283
+ $args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1;
284
+ $r .= '<a class="prev" href="'. htmlspecialchars( add_query_arg( $args ) ) . '">&#9668;</a>';
285
+ }
286
+ if ( ( $total_pages = ceil( $total / $maxElement ) ) > 1 ) {
287
+ for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) {
288
+ if ( $page == $page_num ) {
289
+ $r .= '<span>' . $page_num . '</span>';
290
+ } else {
291
+ $p = false;
292
+ if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) {
293
+ $args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num;
294
+ $r .= '<a class="page-numbers" href="' . htmlspecialchars( add_query_arg( $args ) ) . '">' . ( $page_num ) . '</a>';
295
+ $in = true;
296
+ } elseif ( $in == true ) {
297
+ $r .= '<span>...</span>';
298
+ $in = false;
299
+ }
300
+ }
301
+ }
302
+ }
303
+ if ( ( $page ) * $maxElement < $total || -1 == $total ) {
304
+ $args['nggpage'] = $page + 1;
305
+ $r .= '<a class="next" href="' . htmlspecialchars( add_query_arg( $args ) ) . '">&#9658;</a>';
306
+ }
307
+
308
+ $navigation = "<div class='ngg-navigation'>$r</div>";
309
+ } else {
310
+ $navigation = "<div class='ngg-clear'></div>"."\n";
311
+ }
312
+ }
313
+
314
+ return $navigation;
315
+ }
316
+
317
+ }
318
+
319
+ /**
320
+ * Tag PHP class for the WordPress plugin NextGEN Gallery
321
+ * nggallery.lib.php
322
+ *
323
+ * @author Alex Rabe
324
+ * @copyright Copyright 2007
325
+ *
326
+ */
327
+
328
+ class ngg_Tags {
329
+
330
+ var $sluglist = array ();
331
+ var $img_slugs = array ();
332
+ var $img_tags = array ();
333
+ var $taglist = "";
334
+
335
+ function ngg_Tags() {
336
+ return $this->__construct();
337
+ }
338
+
339
+ function __construct() {
340
+ // First get all slugs in a array
341
+ $this->get_sluglist();
342
+ }
343
+
344
+ function __destruct() {
345
+ // Clean varlist
346
+ unset ($this->sluglist, $this->img_slugs, $this->img_tags, $this->taglist );
347
+ }
348
+
349
+ function get_sluglist() {
350
+ // read the slugs and cache the array
351
+ global $wpdb;
352
+
353
+ $slugarray = $wpdb->get_results("SELECT id, slug FROM $wpdb->nggtags");
354
+ if (is_array($slugarray)){
355
+ foreach($slugarray as $element)
356
+ $this->sluglist[$element->id] = $element->slug;
357
+ }
358
+
359
+ return $this->sluglist;
360
+ }
361
+
362
+ function get_tags_from_image($id) {
363
+ // read the tags and slugs
364
+ global $wpdb;
365
+
366
+ $this->taglist = "";
367
+ $this->img_slugs = $this->img_tags = array();
368
+
369
+ $tagarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE t.picid = '$id' ORDER BY tt.slug ASC ");
370
+
371
+ if (is_array($tagarray)){
372
+ foreach($tagarray as $element) {
373
+ $this->img_slugs[$element->id] = $element->slug;
374
+ $this->img_tags[$element->id] = $element->name;
375
+ }
376
+ $this->taglist = implode(", ", $this->img_tags);
377
+ }
378
+
379
+ return $this->taglist;
380
+ }
381
+
382
+ function add_tag($tag) {
383
+ // add a tag if not exist and return the id
384
+ global $wpdb;
385
+
386
+ $tagid = false;
387
+
388
+ $tag = trim($tag);
389
+ $slug = sanitize_title($tag);
390
+
391
+ // look for tag in the cached list and get id
392
+ $tagid = array_search($slug, $this->sluglist);
393
+
394
+ // if tag is not found add to database
395
+ if (!$tagid) {
396
+ if (!empty ($tag)) {
397
+ $wpdb->query("INSERT INTO $wpdb->nggtags (name, slug) VALUES ('$tag', '$slug')");
398
+ $tagid = (int) $wpdb->insert_id;
399
+ // Update also sluglist
400
+ if ($tagid) $this->sluglist[$tagid] = $slug;
401
+ }
402
+ }
403
+
404
+ return $tagid;
405
+ }
406
+
407
+ function add_relationship($pic_id = 0, $tag_id = 0) {
408
+ // add the relation between image and tag
409
+ global $wpdb;
410
+
411
+ if (($pic_id != 0) && ($tag_id != 0)){
412
+ // checkfor duplicate first
413
+ $exist = $wpdb->get_var("SELECT picid FROM $wpdb->nggpic2tags WHERE picid = '$pic_id' AND tagid = '$tag_id' ");
414
+ if (!$exist)
415
+ $wpdb->query("INSERT INTO $wpdb->nggpic2tags (picid, tagid) VALUES ('$pic_id', '$tag_id')");
416
+ }
417
+ }
418
+
419
+ function remove_relationship($pic_id = 0, $slugarray, $cached = false) {
420
+ // remove the relation between image and tag
421
+ global $wpdb;
422
+
423
+ if (!is_array($slugarray))
424
+ $slugarray = array($slugarray);
425
+
426
+ // get all tags if we didnt chaed them already
427
+ if (!$cached)
428
+ $this->get_tags_from_image($pic_id);
429
+
430
+ $delete_ids = array();
431
+
432
+ foreach ($slugarray as $slug) {
433
+ // look for tag in the cached list and get ids
434
+ // require frst get_tags_from_image()
435
+ $tagid = array_search($slug, $this->sluglist);
436
+ if ($tagid)
437
+ $delete_ids[] = $tagid;
438
+ }
439
+
440
+ $delete_list = "'" . implode("', '", $delete_ids) . "'";
441
+ $wpdb->query("DELETE FROM $wpdb->nggpic2tags WHERE picid = '$pic_id' AND tagid IN ($delete_list)");
442
+
443
+ }
444
+
445
+ function remove_unused_tags() {
446
+ // remove tags which are not longer used
447
+ global $wpdb;
448
+
449
+ // get all used tags
450
+ $tagarray = $wpdb->get_results("SELECT tt.* FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id ");
451
+ if (is_array($tagarray)){
452
+ // remove used items from sluglist
453
+ foreach($tagarray as $element)
454
+ unset ($this->sluglist[$element->id]);
455
+ // remove now all unused tags
456
+ $delete_ids = array();
457
+ foreach($this->sluglist as $key=>$value)
458
+ $delete_ids[] = $key;
459
+ $delete_list = "'" . implode("', '", $delete_ids) . "'";
460
+ $wpdb->query("DELETE FROM $wpdb->nggtags WHERE id IN ($delete_list)");
461
+ }
462
+ }
463
+
464
+ function get_images($taglist) {
465
+ // return the images based on the tag
466
+ global $wpdb;
467
+
468
+ // extract it into a array
469
+ $taglist = explode(",", $taglist);
470
+
471
+ if (!is_array($taglist))
472
+ $taglist = array($taglist);
473
+
474
+ $taglist = array_map('trim', $taglist);
475
+ $new_slugarray = array_map('sanitize_title', $taglist);
476
+
477
+ $sluglist = "'" . implode("', '", $new_slugarray) . "'";
478
+
479
+ $picarray = array();
480
+
481
+ // first get all picture with this tag
482
+ $picids = $wpdb->get_col("SELECT t.picid FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE tt.slug IN ($sluglist) ORDER BY t.picid ASC ");
483
+ if (is_array($picids)){
484
+ // now get all pictures
485
+ $piclist = "'" . implode("', '", $picids) . "'";
486
+ $picarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid IN ($piclist) ORDER BY t.pid ASC ");
487
+ }
488
+
489
+ return $picarray;
490
+ }
491
+
492
+ function get_album_images($taglist) {
493
+ // return one images based on the tag
494
+ // required for a tag based album overview
495
+ global $wpdb;
496
+
497
+ // extract it into a array
498
+ $taglist = explode(",", $taglist);
499
+
500
+ if (!is_array($taglist))
501
+ $taglist = array($taglist);
502
+
503
+ $taglist = array_map('trim', $taglist);
504
+ $new_slugarray = array_map('sanitize_title', $taglist);
505
+
506
+ $picarray = array();
507
+
508
+ foreach($new_slugarray as $slug) {
509
+ // get random picture of tag
510
+ $picture = $wpdb->get_row("SELECT t.picid, t.tagid, tt.name, tt.slug FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE tt.slug = '$slug' ORDER BY rand() limit 1 ");
511
+ if ($picture) {
512
+ $picdata = $wpdb->get_row("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid = $picture->picid");
513
+ $picarray[] = array_merge((array)$picdata, (array)$picture);
514
+ }
515
+ }
516
+
517
+ return $picarray;
518
+
519
+ }
520
+
521
+ }
522
+ ?>
nggadmintab.php CHANGED
@@ -28,8 +28,8 @@ function ngg_upload_tab_content() {
28
  if ($ngg_options[deleteImg]) {
29
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$picture->galleryid' ");
30
  if ($gallerypath) {
31
- $thumb_folder = ngg_get_thumbnail_folder($gallerypath, FALSE);
32
- $thumb_prefix = ngg_get_thumbnail_prefix($gallerypath, FALSE);
33
  unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$picture->filename);
34
  unlink(WINABSPATH.$gallerypath.'/'.$picture->filename);
35
  }
@@ -84,8 +84,8 @@ function ngg_upload_tab_content() {
84
  foreach ($picarray as $picid) {
85
 
86
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$picid'");
87
- $imagesrc = ngg_get_image_url($picid);
88
- $thumbsrc = ngg_get_thumbnail_url($picid);
89
  $href = add_query_arg( array('action' => $style == 'inline' ? 'view' : 'edit', 'ID' => $picid, 'select_gal' => $galleryID));
90
 
91
  echo '<li id="file-'.$picid.'" class="alignleft">';
@@ -114,8 +114,8 @@ function ngg_image_edit() {
114
  global $ID, $wpdb, $post_id, $tab, $style;
115
 
116
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$ID'");
117
- $image_src = ngg_get_image_url($ID);
118
- $thumb_src = ngg_get_thumbnail_url($ID);
119
 
120
  ?>
121
  <script type="text/javascript"> var tb_pathToImage = '<?php echo NGGALLERY_URLPATH ?>thickbox/loadingAnimationv3.gif';</script>
@@ -168,8 +168,8 @@ function ngg_admintab_insert_pic($picid) {
168
  <?php
169
  //TODO: Image data can be served by a class function
170
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$picid'");
171
- $imagesrc = ngg_get_image_url($picid);
172
- $thumbsrc = ngg_get_thumbnail_url($picid);
173
 
174
  echo '
175
  <div class="upload-file-data">
28
  if ($ngg_options[deleteImg]) {
29
  $gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$picture->galleryid' ");
30
  if ($gallerypath) {
31
+ $thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
32
+ $thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
33
  unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$picture->filename);
34
  unlink(WINABSPATH.$gallerypath.'/'.$picture->filename);
35
  }
84
  foreach ($picarray as $picid) {
85
 
86
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$picid'");
87
+ $imagesrc = nggallery::get_image_url($picid);
88
+ $thumbsrc = nggallery::get_thumbnail_url($picid);
89
  $href = add_query_arg( array('action' => $style == 'inline' ? 'view' : 'edit', 'ID' => $picid, 'select_gal' => $galleryID));
90
 
91
  echo '<li id="file-'.$picid.'" class="alignleft">';
114
  global $ID, $wpdb, $post_id, $tab, $style;
115
 
116
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$ID'");
117
+ $image_src = nggallery::get_image_url($ID);
118
+ $thumb_src = nggallery::get_thumbnail_url($ID);
119
 
120
  ?>
121
  <script type="text/javascript"> var tb_pathToImage = '<?php echo NGGALLERY_URLPATH ?>thickbox/loadingAnimationv3.gif';</script>
168
  <?php
169
  //TODO: Image data can be served by a class function
170
  $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$picid'");
171
+ $imagesrc = nggallery::get_image_url($picid);
172
+ $thumbsrc = nggallery::get_thumbnail_url($picid);
173
 
174
  echo '
175
  <div class="upload-file-data">
nggallery.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: NextGEN Gallery
4
  Plugin URI: http://alexrabe.boelinger.com/?page_id=80
5
  Description: A NextGENeration Photo gallery for the WEB2.0(beta).
6
  Author: NextGEN DEV-Team
7
- Version: 0.64
8
 
9
  Author URI: http://alexrabe.boelinger.com/
10
 
@@ -44,8 +44,13 @@ global $wpdb, $wp_version;
44
  //This works only in WP2.1 or higher
45
  if (version_compare($wp_version, '2.1', '>=')) {
46
 
 
 
 
 
 
47
  // Version and path to check version
48
- define('NGGVERSION', "0.64");
49
  define('NGGURL', "http://nextgen.boelinger.com/version.php");
50
 
51
  // define URL
@@ -55,10 +60,6 @@ define('NGGFOLDER', dirname(plugin_basename(__FILE__)));
55
  define('NGGALLERY_ABSPATH', $myabspath.'wp-content/plugins/' . NGGFOLDER .'/');
56
  define('NGGALLERY_URLPATH', get_option('siteurl').'/wp-content/plugins/' . NGGFOLDER.'/');
57
 
58
- // Permission settings
59
- define('NGGFOLDER_PERMISSION', 0777);
60
- define('NGGFILE_PERMISSION', 0666);
61
-
62
  // look for imagerotator
63
  define('NGGALLERY_IREXIST', file_exists(NGGALLERY_ABSPATH.'imagerotator.swf'));
64
 
@@ -73,10 +74,12 @@ define('SAFE_MODE', ini_get('safe_mode'));
73
  //read the options
74
  $ngg_options = get_option('ngg_options');
75
 
76
- // database
77
  $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures';
78
  $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery';
79
  $wpdb->nggalbum = $wpdb->prefix . 'ngg_album';
 
 
80
 
81
  // Load language
82
  function nggallery_init ()
@@ -89,7 +92,8 @@ include_once (dirname (__FILE__)."/ngginstall.php");
89
  include_once (dirname (__FILE__)."/nggfunctions.php");
90
  include_once (dirname (__FILE__)."/admin/admin.php");
91
 
92
- // load class
 
93
  $nggallery = new nggallery();
94
 
95
  // add javascript to header
@@ -103,14 +107,18 @@ function ngg_addjs() {
103
  if ($ngg_options['thumbEffect'] == "thickbox") {
104
  echo "\n".'<script type="text/javascript"> var tb_pathToImage = "'.NGGALLERY_URLPATH.'thickbox/'.$ngg_options[thickboxImage].'";</script>';
105
  echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'thickbox/thickbox.css";</style>'."\n";
106
- if ($wp_version < "2.2") {
107
- wp_enqueue_script('jquery', NGGALLERY_URLPATH .'admin/js/jquery.js', FALSE, '1.1.3');
 
108
  }
109
- wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.0.2');
110
 
111
  // add NextGEN jQuery Plugin
112
  if ($ngg_options['galUsejQuery'])
113
  wp_enqueue_script('nextgen', NGGALLERY_URLPATH .'admin/js/jquery.nextgen.pack.js', array('jquery'), '0.5');
 
 
 
114
  }
115
 
116
  // test for wordTube function
@@ -148,7 +156,7 @@ function ngg_wp_upload_tabs ($array) {
148
 
149
  global $wpdb;
150
 
151
- /* THX to SilasFlickrPlugin
152
  0 => tab display name,
153
  1 => required cap / role,
154
  2 => function that produces tab content,
@@ -165,7 +173,7 @@ function ngg_wp_upload_tabs ($array) {
165
  }
166
 
167
  $tab = array(
168
- 'ngg_gallery' => array('Gallery', 'upload_files', 'ngg_upload_tab_content', array($total, 10))
169
  );
170
 
171
  return array_merge($array,$tab);
@@ -209,7 +217,10 @@ function ngg_addbuttons() {
209
 
210
  // Don't bother doing this stuff if the current user lacks permissions
211
  if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;
212
-
 
 
 
213
  // Add only in Rich Editor mode
214
  if ( get_user_option('rich_editing') == 'true') {
215
 
4
  Plugin URI: http://alexrabe.boelinger.com/?page_id=80
5
  Description: A NextGENeration Photo gallery for the WEB2.0(beta).
6
  Author: NextGEN DEV-Team
7
+ Version: 0.70
8
 
9
  Author URI: http://alexrabe.boelinger.com/
10
 
44
  //This works only in WP2.1 or higher
45
  if (version_compare($wp_version, '2.1', '>=')) {
46
 
47
+ // Permission settings ############################################
48
+ define('NGGFOLDER_PERMISSION', 0777);
49
+ define('NGGFILE_PERMISSION', 0666);
50
+ // ################################################################
51
+
52
  // Version and path to check version
53
+ define('NGGVERSION', "0.70");
54
  define('NGGURL', "http://nextgen.boelinger.com/version.php");
55
 
56
  // define URL
60
  define('NGGALLERY_ABSPATH', $myabspath.'wp-content/plugins/' . NGGFOLDER .'/');
61
  define('NGGALLERY_URLPATH', get_option('siteurl').'/wp-content/plugins/' . NGGFOLDER.'/');
62
 
 
 
 
 
63
  // look for imagerotator
64
  define('NGGALLERY_IREXIST', file_exists(NGGALLERY_ABSPATH.'imagerotator.swf'));
65
 
74
  //read the options
75
  $ngg_options = get_option('ngg_options');
76
 
77
+ // add database pointer
78
  $wpdb->nggpictures = $wpdb->prefix . 'ngg_pictures';
79
  $wpdb->nggallery = $wpdb->prefix . 'ngg_gallery';
80
  $wpdb->nggalbum = $wpdb->prefix . 'ngg_album';
81
+ $wpdb->nggtags = $wpdb->prefix . 'ngg_tags';
82
+ $wpdb->nggpic2tags = $wpdb->prefix . 'ngg_pic2tags';
83
 
84
  // Load language
85
  function nggallery_init ()
92
  include_once (dirname (__FILE__)."/nggfunctions.php");
93
  include_once (dirname (__FILE__)."/admin/admin.php");
94
 
95
+ // load gallery class
96
+ require_once (dirname (__FILE__).'/lib/nggallery.lib.php');
97
  $nggallery = new nggallery();
98
 
99
  // add javascript to header
107
  if ($ngg_options['thumbEffect'] == "thickbox") {
108
  echo "\n".'<script type="text/javascript"> var tb_pathToImage = "'.NGGALLERY_URLPATH.'thickbox/'.$ngg_options[thickboxImage].'";</script>';
109
  echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'thickbox/thickbox.css";</style>'."\n";
110
+ if ($wp_version < "2.3") {
111
+ if ($wp_version > "2.1.3") wp_deregister_script('jquery');
112
+ wp_enqueue_script('jquery', NGGALLERY_URLPATH .'admin/js/jquery.js', FALSE, '1.1.3.1');
113
  }
114
+ wp_enqueue_script('thickbox', NGGALLERY_URLPATH .'thickbox/thickbox-pack.js', array('jquery'), '3.1.1');
115
 
116
  // add NextGEN jQuery Plugin
117
  if ($ngg_options['galUsejQuery'])
118
  wp_enqueue_script('nextgen', NGGALLERY_URLPATH .'admin/js/jquery.nextgen.pack.js', array('jquery'), '0.5');
119
+ //TODO: NEW AJAX Version
120
+ // wp_enqueue_script('nextgen-ajax', NGGALLERY_URLPATH .'admin/js/jquery.nextgen.ajax.js', array('jquery'), '0.1');
121
+ // wp_enqueue_script('blockui', NGGALLERY_URLPATH .'admin/js/jquery.blockUI.js', array('jquery'), '0.1');
122
  }
123
 
124
  // test for wordTube function
156
 
157
  global $wpdb;
158
 
159
+ /*
160
  0 => tab display name,
161
  1 => required cap / role,
162
  2 => function that produces tab content,
173
  }
174
 
175
  $tab = array(
176
+ 'ngg_gallery' => array(__('Gallery','nggallery'), 'NextGEN Use TinyMCE', 'ngg_upload_tab_content', array($total, 10))
177
  );
178
 
179
  return array_merge($array,$tab);
217
 
218
  // Don't bother doing this stuff if the current user lacks permissions
219
  if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;
220
+
221
+ // Check for NextGEN capability
222
+ if ( !current_user_can('NextGEN Use TinyMCE') ) return;
223
+
224
  // Add only in Rich Editor mode
225
  if ( get_user_option('rich_editing') == 'true') {
226
 
nggextractXML.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /*
4
  +----------------------------------------------------------------+
5
- + imageRotartor-XML V1.00
6
  + by Alex Rabe
7
  + required for NextGEN Gallery
8
  +----------------------------------------------------------------+
@@ -20,12 +20,15 @@ global $wpdb;
20
  $ngg_options = get_option('ngg_options');
21
 
22
  // get the gallery id
23
- $galleryID = attribute_escape($_GET['gid']);
24
-
25
- // get gallery values
26
- $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
27
- $thepictures = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
28
-
 
 
 
29
  // set gallery url
30
  $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
31
 
2
 
3
  /*
4
  +----------------------------------------------------------------+
5
+ + imageRotartor-XML V1.10
6
  + by Alex Rabe
7
  + required for NextGEN Gallery
8
  +----------------------------------------------------------------+
20
  $ngg_options = get_option('ngg_options');
21
 
22
  // get the gallery id
23
+ $galleryID = (int) attribute_escape($_GET['gid']);
24
+
25
+ // get the pictures
26
+ if ($galleryID == 0) {
27
+ $thepictures = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
28
+ } else {
29
+ $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
30
+ $thepictures = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
31
+ }
32
  // set gallery url
33
  $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
34
 
nggfunctions.php CHANGED
@@ -3,7 +3,8 @@
3
  function searchnggallerytags($content) {
4
 
5
  global $wpdb;
6
-
 
7
  $search = "@\[singlepic=(\d+)(|,\d+|,)(|,\d+|,)(|,watermark|,web20|,)(|,right|,left|,)\]@i";
8
 
9
  if (preg_match_all($search, $content, $matches)) {
@@ -91,7 +92,35 @@ function searchnggallerytags($content) {
91
  }
92
  }
93
  }// end slideshow
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  return $content;
96
  }// end search content
97
 
@@ -101,35 +130,35 @@ function nggShowSlideshow($galleryID,$irWidth,$irHeight) {
101
  global $wpdb;
102
  $ngg_options = get_option('ngg_options');
103
 
104
- if (empty($irWidth) ) $irWidth = $ngg_options[irWidth];
105
- if (empty($irHeight)) $irHeight = $ngg_options[irHeight];
106
 
107
  $replace = "\n".'<div class="slideshow" id="ngg_slideshow'.$galleryID.'">';
108
  $replace .= '<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..</p></div>';
109
  $replace .= "\n\t".'<script type="text/javascript">';
110
- if ($ngg_options[irXHTMLvalid]) $replace .= "\n\t".'<!--';
111
- if ($ngg_options[irXHTMLvalid]) $replace .= "\n\t".'//<![CDATA[';
112
  $replace .= "\n\t\t".'var so = new SWFObject("'.NGGALLERY_URLPATH.'imagerotator.swf", "ngg_slideshow'.$galleryID.'", "'.$irWidth.'", "'.$irHeight.'", "7", "#'.$ngg_options[irBackcolor].'");';
113
  $replace .= "\n\t\t".'so.addParam("wmode", "opaque");';
114
  $replace .= "\n\t\t".'so.addVariable("file", "'.NGGALLERY_URLPATH.'nggextractXML.php?gid='.$galleryID.'");';
115
- if (!$ngg_options[irShuffle]) $replace .= "\n\t\t".'so.addVariable("shuffle", "false");';
116
- if ($ngg_options[irLinkfromdisplay]) $replace .= "\n\t\t".'so.addVariable("linkfromdisplay", "false");';
117
- if ($ngg_options[irShownavigation]) $replace .= "\n\t\t".'so.addVariable("shownavigation", "true");';
118
- if ($ngg_options[irShowicons]) $replace .= "\n\t\t".'so.addVariable("showicons", "true");';
119
- if ($ngg_options[irKenburns]) $replace .= "\n\t\t".'so.addVariable("kenburns", "true");';
120
- if ($ngg_options[irWatermark]) $replace .= "\n\t\t".'so.addVariable("logo", "'.$ngg_options[wmPath].'");';
121
- if (!empty($ngg_options[irAudio])) $replace .= "\n\t\t".'so.addVariable("audio", "'.$ngg_options[irAudio].'");';
122
- $replace .= "\n\t\t".'so.addVariable("overstretch", "'.$ngg_options[irOverstretch].'");';
123
- $replace .= "\n\t\t".'so.addVariable("backcolor", "0x'.$ngg_options[irBackcolor].'");';
124
- $replace .= "\n\t\t".'so.addVariable("frontcolor", "0x'.$ngg_options[irFrontcolor].'");';
125
- $replace .= "\n\t\t".'so.addVariable("lightcolor", "0x'.$ngg_options[irLightcolor].'");';
126
- $replace .= "\n\t\t".'so.addVariable("rotatetime", "'.$ngg_options[irRotatetime].'");';
127
- $replace .= "\n\t\t".'so.addVariable("transition", "'.$ngg_options[irTransition].'");';
128
  $replace .= "\n\t\t".'so.addVariable("width", "'.$irWidth.'");';
129
  $replace .= "\n\t\t".'so.addVariable("height", "'.$irHeight.'");';
130
  $replace .= "\n\t\t".'so.write("ngg_slideshow'.$galleryID.'");';
131
- if ($ngg_options[irXHTMLvalid]) $replace .= "\n\t".'//]]>';
132
- if ($ngg_options[irXHTMLvalid]) $replace .= "\n\t".'-->';
133
  $replace .= "\n\t".'</script>';
134
 
135
  return $replace;
@@ -139,119 +168,148 @@ function nggShowSlideshow($galleryID,$irWidth,$irHeight) {
139
  function nggShowGallery($galleryID) {
140
 
141
  global $wpdb;
 
142
  $ngg_options = get_option('ngg_options');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  // Get option
145
- $maxElement = $ngg_options[galImages];
146
- $thumbwidth = $ngg_options[thumbwidth];
147
- $thumbheight = $ngg_options[thumbheight];
 
 
148
 
149
  // set thumb size
150
  $thumbsize = "";
151
- if ($ngg_options[thumbfix]) $thumbsize = 'style="width:'.$thumbwidth.'px; height:'.$thumbheight.'px;"';
152
- if ($ngg_options[thumbcrop]) $thumbsize = 'style="width:'.$thumbwidth.'px; height:'.$thumbwidth.'px;"';
153
 
154
- // get gallery values
155
- $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
156
-
157
  // get the effect code
158
- if ($ngg_options[thumbEffect] != "none") $thumbcode = stripslashes($ngg_options[thumbCode]);
159
- if ($ngg_options[thumbEffect] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'".$act_gallery->name."'", $thumbcode);
160
- else $thumbcode = str_replace("%GALLERY_NAME%", $act_gallery->name, $thumbcode);
161
-
162
- // set gallery url
163
- $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
164
- $thumbnailURL = get_option ('siteurl')."/".$act_gallery->path.ngg_get_thumbnail_folder($act_gallery->path, FALSE);
165
- $thumb_prefix = ngg_get_thumbnail_prefix($act_gallery->path, FALSE);
166
-
167
- // slideshow first
168
- if ( !isset( $_GET['show'] ) AND ($ngg_options[galShowOrder] == 'slide')) $_GET['show'] = slide;
169
- // show a slide show
170
- if ( isset( $_GET['show'] ) AND ($_GET['show'] == slide) ) {
171
- $getvalue['show'] = "gallery";
172
- $gallerycontent = '<div class="ngg-galleryoverview">';
173
- $gallerycontent .= '<a class="slideshowlink" href="' . add_query_arg($getvalue) . '">'.$ngg_options[galTextGallery].'</a>';
174
- $gallerycontent .= nggShowSlideshow($galleryID,$ngg_options[irWidth],$ngg_options[irHeight]);
175
- $gallerycontent .= '</div>'."\n";
176
- $gallerycontent .= '<div style="clear:both;"></div>'."\n";
177
- return $gallerycontent;
178
- }
179
-
180
- // use the jQuery Plugin if activated
181
- if (($ngg_options[thumbEffect] == "thickbox") && ($ngg_options[galUsejQuery])) {
182
- $gallerycontent .= nggShowJSGallery($galleryID);
183
- return $gallerycontent;
184
- }
185
 
186
  // check for page navigation
187
- if ($maxElement > 0) {
188
- if ( isset( $_GET['nggpage'] ) ) $page = (int) $_GET['nggpage'];
 
 
 
189
  else $page = 1;
190
  $start = $offset = ( $page - 1 ) * $maxElement;
 
 
 
 
 
 
 
191
 
192
- $picturelist = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir] LIMIT $start, $maxElement ");
193
- $total = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ");
194
- } else {
195
- $picturelist = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir] ");
196
- }
197
 
198
  if (is_array($picturelist)) {
199
-
200
- // create navigation
201
- if ( $total > $maxElement ) {
202
- $total_pages = ceil( $total / $maxElement );
203
- $r = '';
204
- if ( 1 < $page ) {
205
- $args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1;
206
- $r .= '<a class="prev" href="'. add_query_arg( $args ) . '">&#9668;</a>';
207
- }
208
- if ( ( $total_pages = ceil( $total / $maxElement ) ) > 1 ) {
209
- for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) {
210
- if ( $page == $page_num ) {
211
- $r .= '<span>' . $page_num . '</span>';
212
- } else {
213
- $p = false;
214
- if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) {
215
- $args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num;
216
- $r .= '<a class="page-numbers" href="' . add_query_arg($args) . '">' . ( $page_num ) . '</a>';
217
- $in = true;
218
- } elseif ( $in == true ) {
219
- $r .= '<span>...</span>';
220
- $in = false;
221
- }
222
- }
223
- }
224
- }
225
- if ( ( $page ) * $maxElement < $total || -1 == $total ) {
226
- $args['nggpage'] = $page + 1;
227
- $r .= '<a class="next" href="' . add_query_arg($args) . '">&#9658;</a>';
228
- }
229
-
230
- $navigation = "<div class='ngg-navigation'>$r</div>";
231
  }
232
-
233
- $gallerycontent = '<div class="ngg-galleryoverview">';
234
- if (($ngg_options[galShowSlide]) AND (NGGALLERY_IREXIST)) {
235
- $getvalue['show'] = "slide";
236
- $gallerycontent .= '<a class="slideshowlink" href="' . add_query_arg($getvalue) . '">'.$ngg_options[galTextSlide].'</a>';
237
- }
238
 
239
  foreach ($picturelist as $picture) {
 
 
 
 
 
240
  $picturefile = nggallery::remove_umlauts($picture->filename);
241
- $gallerycontent .= '<div class="ngg-gallery-thumbnail-box">'."\n\t";
242
- $gallerycontent .= '<div class="ngg-gallery-thumbnail">'."\n\t";
243
- $gallerycontent .= '<a href="'.$folder_url.$picturefile.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
244
- $gallerycontent .= '<img title="'.$picture->alttext.'" alt="'.$picture->alttext.'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
245
- $gallerycontent .= '</a>'."\n".'</div>'."\n".'</div>'."\n";
 
 
 
 
 
 
 
 
 
246
  }
247
- $gallerycontent .= '</div>'."\n";
248
- $gallerycontent .= '<div style="clear:both;"></div>'."\n";
249
- $gallerycontent .= $navigation;
250
- }
251
-
252
- return $gallerycontent;
253
  }
254
 
 
255
  /**********************************************************/
256
  function nggShowJSGallery($galleryID) {
257
  // create a gallery with a jQuery plugin
@@ -260,14 +318,14 @@ function nggShowJSGallery($galleryID) {
260
  $ngg_options = get_option('ngg_options');
261
 
262
  // Get option
263
- $maxElement = $ngg_options[galImages];
264
 
265
  // get gallery values
266
  $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
267
 
268
  // set gallery url
269
  $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
270
- $thumb_folder = str_replace('/','',ngg_get_thumbnail_folder($act_gallery->path, FALSE));
271
 
272
  $picturelist = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir] ");
273
 
@@ -288,7 +346,7 @@ function nggShowJSGallery($galleryID) {
288
  $gallerycontent .= ' name : "'. $act_gallery->name . '",'."\n";
289
  $gallerycontent .= ' galleryurl : "'. $folder_url . '",'."\n";
290
  $gallerycontent .= ' thumbfolder : "'. $thumb_folder . '",'."\n";
291
- if ($ngg_options[thumbEffect] == "thickbox")
292
  $gallerycontent .= ' thickbox : true,'."\n";
293
  $gallerycontent .= ' maxelement : '. $maxElement ."\n";
294
  $gallerycontent .= ' });'."\n";
@@ -298,7 +356,7 @@ function nggShowJSGallery($galleryID) {
298
  $gallerycontent .= ' <div id="nggal'. $galleryID .'">'."\n";
299
  $gallerycontent .= ' <!-- The content will be dynamically loaded in here -->'."\n";
300
  $gallerycontent .= '</div>'."\n";
301
- $gallerycontent .= '<div style="clear:both;"></div>'."\n";
302
  }
303
 
304
  return $gallerycontent;
@@ -315,27 +373,25 @@ function nggShowAlbum($albumID,$mode = "extend") {
315
 
316
  if ($albumID != $_GET['album']) return $albumcontent;
317
 
318
- $galleryID = attribute_escape($_GET['gallery']);
319
  $albumcontent = nggShowGallery($galleryID);
 
 
320
 
321
- } else {
322
-
323
- $mode = ltrim($mode,',');
324
- $sortorder = $wpdb->get_var("SELECT sortorder FROM $wpdb->nggalbum WHERE id = '$albumID' ");
325
- if (!empty($sortorder)) {
326
- $gallery_array = unserialize($sortorder);
327
- }
328
-
329
- $albumcontent = '<div class="ngg-albumoverview">';
330
- if (is_array($gallery_array)) {
331
- foreach ($gallery_array as $galleryID) {
332
- $albumcontent .= nggCreateAlbum($galleryID,$mode,$albumID);
333
- }
334
  }
335
- $albumcontent .= '</div>'."\n";
336
- $albumcontent .= '<div style="clear:both;"></div>'."\n";
337
-
338
  }
 
 
339
 
340
  return $albumcontent;
341
  }
@@ -353,18 +409,18 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
353
  if ($ngg_options[galNoPages]) {
354
  $gallerylink['album'] = $albumID;
355
  $gallerylink['gallery'] = $galleryID;
356
- $link = add_query_arg($gallerylink);
357
  } else {
358
  $link = get_permalink($gallerycontent->pageid);
359
  }
360
 
361
  if ($gallerycontent) {
 
362
  if ($mode == "compact") {
363
  if ($gallerycontent->previewpic != 0)
364
- $insertpic = '<img class="Thumb" width="91" height="68" alt="'.$gallerycontent->title.'" src="'.ngg_get_thumbnail_url($gallerycontent->previewpic).'"/>';
365
  else
366
  $insertpic = __('Watch gallery', 'nggallery');
367
- $counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'");
368
  $galleryoutput = '
369
  <div class="ngg-album-compact">
370
  <div class="ngg-album-compactbox">
@@ -373,11 +429,11 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
373
  </div>
374
  </div>
375
  <h4><a class="ngg-album-desc" title="'.$gallerycontent->title.'" href="'.$link.'">'.$gallerycontent->title.'</a></h4>
376
- <p><b>'.$counter.'</b> '.__('Photos', 'nggallery').'</p></div>';
377
  } else {
378
  // mode extend
379
  if ($gallerycontent->previewpic != 0)
380
- $insertpic = '<img src="'.ngg_get_thumbnail_url($gallerycontent->previewpic).'" alt="'.$gallerycontent->title.'" title="'.$gallerycontent->title.'"/>';
381
  else
382
  $insertpic = __('Watch gallery', 'nggallery');
383
  $galleryoutput = '
@@ -385,7 +441,7 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
385
  <div class="ngg-albumtitle"><a href="'.$link.'">'.$gallerycontent->title.'</a></div>
386
  <div class="ngg-albumcontent">
387
  <div class="ngg-thumbnail"><a href="'.$link.'">'.$insertpic.'</a></div>
388
- <div class="ngg-description"><p>'.html_entity_decode($gallerycontent->description).'</p></div>'."\n".'</div>'."\n".'</div>';
389
 
390
  }
391
  }
@@ -395,27 +451,40 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
395
 
396
  /**********************************************************/
397
  function nggShowImageBrowser($galleryID) {
 
 
 
 
398
 
399
  global $wpdb;
 
 
400
  $ngg_options = get_option('ngg_options');
401
 
402
- // get gallery values
403
- $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
 
 
 
 
 
 
 
404
 
405
- // get the effect code
406
- if ($ngg_options[thumbEffect] != "none") $thumbcode = stripslashes($ngg_options[thumbCode]);
407
- if ($ngg_options[thumbEffect] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'".$act_gallery->name."'", $thumbcode);
408
- else $thumbcode = str_replace("%GALLERY_NAME%", $act_gallery->name, $thumbcode);
 
 
 
 
409
 
410
- // set gallery url
411
- $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
412
-
413
- $picarray = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
414
  $total = count($picarray);
415
 
416
  // look for gallery variable
417
  if ( isset( $_GET['pid'] )) {
418
- $act_pid = attribute_escape($_GET['pid']);
419
  } else {
420
  reset($picarray);
421
  $act_pid = current($picarray);
@@ -427,34 +496,29 @@ function nggShowImageBrowser($galleryID) {
427
  $act_pid = reset($picarray);
428
  $key = key($picarray);
429
  }
430
- $back_pid = ( $key >=1 ) ? $picarray[$key-1] : end($picarray) ;
431
  $next_pid = ( $key < ($total-1) ) ? $picarray[$key+1] : reset($picarray) ;
432
-
433
- $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$act_pid'");
434
-
 
435
  if ($picture) {
436
- $headline = ($ngg_options[ImgBrHead]) ? '<h3>'.$picture->alttext.'</h3>' : '' ;
437
- $desc = ($ngg_options[ImgBrDesc]) ? '<div class="ngg-imagebrowser-desc"><p>'.html_entity_decode($picture->description).'</p></div>' : '' ;
438
  $galleryoutput = '
439
  <div class="ngg-imagebrowser" >
440
- '.$headline.'
441
- <div class="pic">
442
- <a href="'.$folder_url.$picture->filename.'" title="'.$picture->description.'" '.$thumbcode.'>
443
- <img alt="'.$picture->alttext.'" src="'.$folder_url.$picture->filename.'"/>
444
- </a>
445
- </div>
446
  <div class="ngg-imagebrowser-nav">';
447
  if ($back_pid) {
448
  $backlink['pid'] = $back_pid;
449
- $galleryoutput .='<div class="back"><a href="'.add_query_arg($backlink).'">'.'&#9668; '.$ngg_options['ImgBrTextBack'].'</a></div>';
450
  }
451
  if ($next_pid) {
452
  $nextlink['pid'] = $next_pid;
453
- $galleryoutput .='<div class="next"><a href="'.add_query_arg($nextlink).'">'.$ngg_options['ImgBrTextNext'].' &#9658;'.'</a></div>';
454
  }
455
  $galleryoutput .='
456
  <div class="counter">'.__('Picture', 'nggallery').' '.($key+1).' '.__('from', 'nggallery').' '.$total.'</div>
457
- '.$desc.'
458
  </div>
459
  </div>';
460
  }
@@ -464,10 +528,16 @@ function nggShowImageBrowser($galleryID) {
464
 
465
  /**********************************************************/
466
  function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
467
-
 
 
 
 
 
 
 
468
  global $wpdb;
469
- $ngg_options = get_option('ngg_options');
470
-
471
  // remove the comma
472
  $float = ltrim($float,',');
473
  $mode = ltrim($mode,',');
@@ -475,24 +545,8 @@ function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
475
  $height = ltrim($height,',');
476
 
477
  // get picturedata
478
- $picture = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
479
 
480
- // add fullsize picture as link
481
- if ($ngg_options[imgSinglePicLink]) {
482
- // get gallery values
483
- $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$picture->galleryid' ");
484
-
485
- // set gallery url
486
- $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
487
-
488
- // get the effect code
489
- if ($ngg_options[thumbEffect] != "none") $thumbcode = stripslashes($ngg_options[thumbCode]);
490
- if ($ngg_options[thumbEffect] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'singlepic".$imageID."'", $thumbcode);
491
- else $thumbcode = str_replace("%GALLERY_NAME%", "singlepic".$imageID , $thumbcode);
492
-
493
- $link = '<a href="'.$folder_url.$picture->filename.'" title="'.$picture->description.'" '.$thumbcode.' >';
494
- }
495
-
496
  // add float to img
497
  if (!empty($float)) {
498
  switch ($float) {
@@ -508,111 +562,187 @@ function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
508
  }
509
  }
510
 
511
- $content = $link . '<img class="ngg-singlepic" src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID.'&amp;width='.$width.'&amp;height='.$height.'&amp;mode='.$mode.'" alt="'.$picture->alttext.'" title="'.$picture->alttext.'"'.$float.' />';
512
-
513
- if ($ngg_options[imgSinglePicLink]) $content .= '</a>';
 
514
 
515
  return $content;
516
  }
517
 
518
  /**********************************************************/
519
- // Global function
520
- /**********************************************************/
521
- function ngg_get_thumbnail_url($imageID){
522
- // get the complete url to the thumbnail
 
 
523
  global $wpdb;
524
 
525
- // get gallery values
526
- $galleryID = $wpdb->get_var("SELECT galleryid FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
527
- $fileName = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
528
- $picturepath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
 
 
 
 
 
 
 
529
 
530
- // set gallery url
531
- $folder_url = get_option ('siteurl')."/".$picturepath.ngg_get_thumbnail_folder($picturepath, FALSE);
532
- $thumb_prefix = ngg_get_thumbnail_prefix($picturepath, FALSE);
533
- $thumbnailURL = $folder_url.$thumb_prefix.$fileName;
534
 
535
- return $thumbnailURL;
 
 
 
 
 
536
  }
537
 
538
  /**********************************************************/
539
- function ngg_get_image_url($imageID){
540
- // get the complete url to the image
 
 
 
 
 
541
  global $wpdb;
542
 
543
- // get gallery values
544
- $galleryID = $wpdb->get_var("SELECT galleryid FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
545
- $fileName = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
546
- $picturepath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
547
-
548
- // set gallery url
549
- $imageURL = get_option ('siteurl')."/".$picturepath."/".$fileName;
550
 
551
- return $imageURL;
552
- }
 
 
 
 
553
 
554
- /**********************************************************/
555
- function ngg_get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) {
556
- //required for myGallery import :-)
557
-
558
- if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
559
- if (is_dir($gallerypath."/thumbs")) return "/thumbs/";
560
- if (is_dir($gallerypath."/tumbs")) return "/tumbs/";
561
- if (!SAFE_MODE) {
562
- if (!is_dir($gallerypath."/thumbs")) {
563
- mkdir($gallerypath."/thumbs");
564
- return "/thumbs/";
565
- }
566
- }
567
- return FALSE;
568
 
569
- }
 
 
 
 
 
 
 
570
 
571
- /**********************************************************/
572
- function ngg_get_thumbnail_prefix($gallerypath, $include_Abspath = TRUE) {
573
- //required for myGallery import :-)
 
 
574
 
575
- if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
576
- if (is_dir($gallerypath."/thumbs")) return "thumbs_";
577
- if (is_dir($gallerypath."/tumbs")) return "tmb_";
578
 
579
- return FALSE;
580
-
581
  }
582
 
583
- // NextGEN gallery class :
584
- // just started to do it better ;-)
585
-
586
- class nggallery {
 
 
587
 
588
- /**********************************************************/
589
- function ngg_nl2br($string) {
590
- // remove page break
591
- $string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
592
-
593
- return $string;
594
-
595
- }
596
 
597
- function show_error($message) {
598
- echo '<div class="fade error" id="message"><p>'.$message.'</p></div>'."\n";
599
- }
600
 
601
- function show_message($message)
602
- {
603
- echo '<div class="fade updated" id="message"><p>'.$message.'</p></div>'."\n";
604
- }
 
605
 
606
- function remove_umlauts($filename) {
 
607
 
608
- $cleanname = str_replace(
609
- array('�', '�', '�', '�', '�', '�', '�', ' '),
610
- array('%E4', '%F6', '%FC', '%C4', '%D6', '%DC', '%DF', '%20'),
611
- utf8_decode($filename)
612
- );
 
 
 
 
 
 
 
613
 
614
- return $cleanname;
 
 
 
 
 
 
 
 
 
 
 
615
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
617
  }
 
 
 
 
 
 
 
618
  ?>
3
  function searchnggallerytags($content) {
4
 
5
  global $wpdb;
6
+ $ngg_options = get_option('ngg_options');
7
+
8
  $search = "@\[singlepic=(\d+)(|,\d+|,)(|,\d+|,)(|,watermark|,web20|,)(|,right|,left|,)\]@i";
9
 
10
  if (preg_match_all($search, $content, $matches)) {
92
  }
93
  }
94
  }// end slideshow
95
+
96
+ $search = "@(?:<p>)*\s*\[tags\s*=\s*(.*?)\s*\]\s*(?:</p>)*@i";
97
+
98
+ if (preg_match_all($search, $content, $matches)) {
99
+ if (is_array($matches)) {
100
+ foreach ($matches[1] as $key =>$v0) {
101
+ $search = $matches[0][$key];
102
+ $replace= nggShowGalleryTags($v0);
103
+ $content= str_replace ($search, $replace, $content);
104
+ }
105
+ }
106
+ }// end gallery tags
107
+
108
+ $search = "@(?:<p>)*\s*\[albumtags\s*=\s*(.*?)\s*\]\s*(?:</p>)*@i";
109
 
110
+ if (preg_match_all($search, $content, $matches)) {
111
+ if (is_array($matches)) {
112
+ foreach ($matches[1] as $key =>$v0) {
113
+ $search = $matches[0][$key];
114
+ $replace= nggShowAlbumTags($v0);
115
+ $content= str_replace ($search, $replace, $content);
116
+ }
117
+ }
118
+ }// end album tags
119
+
120
+ // attach related images based on category or tags
121
+ if ($ngg_options['activateTags'])
122
+ $content .= nggShowRelatedImages();
123
+
124
  return $content;
125
  }// end search content
126
 
130
  global $wpdb;
131
  $ngg_options = get_option('ngg_options');
132
 
133
+ if (empty($irWidth) ) $irWidth = $ngg_options['irWidth'];
134
+ if (empty($irHeight)) $irHeight = $ngg_options['irHeight'];
135
 
136
  $replace = "\n".'<div class="slideshow" id="ngg_slideshow'.$galleryID.'">';
137
  $replace .= '<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..</p></div>';
138
  $replace .= "\n\t".'<script type="text/javascript">';
139
+ if ($ngg_options['irXHTMLvalid']) $replace .= "\n\t".'<!--';
140
+ if ($ngg_options['irXHTMLvalid']) $replace .= "\n\t".'//<![CDATA[';
141
  $replace .= "\n\t\t".'var so = new SWFObject("'.NGGALLERY_URLPATH.'imagerotator.swf", "ngg_slideshow'.$galleryID.'", "'.$irWidth.'", "'.$irHeight.'", "7", "#'.$ngg_options[irBackcolor].'");';
142
  $replace .= "\n\t\t".'so.addParam("wmode", "opaque");';
143
  $replace .= "\n\t\t".'so.addVariable("file", "'.NGGALLERY_URLPATH.'nggextractXML.php?gid='.$galleryID.'");';
144
+ if (!$ngg_options['irShuffle']) $replace .= "\n\t\t".'so.addVariable("shuffle", "false");';
145
+ if ($ngg_options['irLinkfromdisplay']) $replace .= "\n\t\t".'so.addVariable("linkfromdisplay", "false");';
146
+ if ($ngg_options['irShownavigation']) $replace .= "\n\t\t".'so.addVariable("shownavigation", "true");';
147
+ if ($ngg_options['irShowicons']) $replace .= "\n\t\t".'so.addVariable("showicons", "true");';
148
+ if ($ngg_options['irKenburns']) $replace .= "\n\t\t".'so.addVariable("kenburns", "true");';
149
+ if ($ngg_options['irWatermark']) $replace .= "\n\t\t".'so.addVariable("logo", "'.$ngg_options['wmPath'].'");';
150
+ if (!empty($ngg_options['irAudio'])) $replace .= "\n\t\t".'so.addVariable("audio", "'.$ngg_options['irAudio'].'");';
151
+ $replace .= "\n\t\t".'so.addVariable("overstretch", "'.$ngg_options['irOverstretch'].'");';
152
+ $replace .= "\n\t\t".'so.addVariable("backcolor", "0x'.$ngg_options['irBackcolor'].'");';
153
+ $replace .= "\n\t\t".'so.addVariable("frontcolor", "0x'.$ngg_options['irFrontcolor'].'");';
154
+ $replace .= "\n\t\t".'so.addVariable("lightcolor", "0x'.$ngg_options['irLightcolor'].'");';
155
+ $replace .= "\n\t\t".'so.addVariable("rotatetime", "'.$ngg_options['irRotatetime'].'");';
156
+ $replace .= "\n\t\t".'so.addVariable("transition", "'.$ngg_options['irTransition'].'");';
157
  $replace .= "\n\t\t".'so.addVariable("width", "'.$irWidth.'");';
158
  $replace .= "\n\t\t".'so.addVariable("height", "'.$irHeight.'");';
159
  $replace .= "\n\t\t".'so.write("ngg_slideshow'.$galleryID.'");';
160
+ if ($ngg_options['irXHTMLvalid']) $replace .= "\n\t".'//]]>';
161
+ if ($ngg_options['irXHTMLvalid']) $replace .= "\n\t".'-->';
162
  $replace .= "\n\t".'</script>';
163
 
164
  return $replace;
168
  function nggShowGallery($galleryID) {
169
 
170
  global $wpdb;
171
+
172
  $ngg_options = get_option('ngg_options');
173
+
174
+ // use the jQuery Plugin if activated
175
+ if (($ngg_options['thumbEffect'] == "thickbox") && ($ngg_options['galUsejQuery'])) {
176
+ $gallerycontent .= nggShowJSGallery($galleryID);
177
+ return $gallerycontent;
178
+ }
179
+
180
+ // set $_GET if slideshow first
181
+ if ( !isset( $_GET['show'] ) AND ($ngg_options['galShowOrder'] == 'slide')) {
182
+ $_GET['page'] = get_the_ID();
183
+ $_GET['show'] = slide;
184
+ }
185
+
186
+ // go on only on this page
187
+ if ( $_GET['page'] == get_the_ID() ) {
188
+
189
+ // 1st look for ImageBrowser link
190
+ if (isset( $_GET['pid'])) {
191
+ $gallerycontent = nggShowImageBrowser($galleryID);
192
+ return $gallerycontent;
193
+ }
194
+
195
+ // 2nd look for slideshow
196
+ if ( isset( $_GET['show'] ) AND ($_GET['show'] == slide) ) {
197
+ $args['page'] = get_the_ID();
198
+ $args['show'] = "gallery";
199
+ $gallerycontent = '<div class="ngg-galleryoverview">';
200
+ $gallerycontent .= '<a class="slideshowlink" href="' . htmlspecialchars(add_query_arg( $args) ) . '">'.$ngg_options['galTextGallery'].'</a>';
201
+ $gallerycontent .= nggShowSlideshow($galleryID,$ngg_options['irWidth'],$ngg_options['irHeight']);
202
+ $gallerycontent .= '</div>'."\n";
203
+ $gallerycontent .= '<div class="ngg-clear"></div>'."\n";
204
+ return $gallerycontent;
205
+ }
206
+ }
207
+
208
+ //Set sort order value, if not used (upgrade issue)
209
+ $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : "pid";
210
+ $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == "DESC") ? "DESC" : "ASC";
211
 
212
+ // get all picture with this galleryid
213
+ $picturelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = '$galleryID' AND tt.exclude != 1 ORDER BY tt.$ngg_options[galSort] $ngg_options[galSortDir] ");
214
+ if (is_array($picturelist)) {
215
+ $gallerycontent = nggCreateGallery($picturelist,$galleryID);
216
+ }
217
+
218
+ return $gallerycontent;
219
+ }
220
+
221
+ /**********************************************************/
222
+ function nggCreateGallery($picturelist,$galleryID = false) {
223
+ /**
224
+ * @array $picturelist
225
+ * @int $galleryID
226
+ **/
227
+
228
+ if (!is_array($picturelist))
229
+ $picturelist = array($picturelist);
230
+
231
  // Get option
232
+ $ngg_options = get_option('ngg_options');
233
+
234
+ $maxElement = $ngg_options['galImages'];
235
+ $thumbwidth = $ngg_options['thumbwidth'];
236
+ $thumbheight = $ngg_options['thumbheight'];
237
 
238
  // set thumb size
239
  $thumbsize = "";
240
+ if ($ngg_options['thumbfix']) $thumbsize = 'style="width:'.$thumbwidth.'px; height:'.$thumbheight.'px;"';
241
+ if ($ngg_options['thumbcrop']) $thumbsize = 'style="width:'.$thumbwidth.'px; height:'.$thumbwidth.'px;"';
242
 
 
 
 
243
  // get the effect code
244
+ if ($galleryID)
245
+ $thumbcode = ($ngg_options['galImgBrowser']) ? "" : nggallery::get_thumbcode($picturelist[0]->name);
246
+ else
247
+ $thumbcode = ($ngg_options['galImgBrowser']) ? "" : nggallery::get_thumbcode(get_the_title());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
 
249
  // check for page navigation
250
+ if ($maxElement > 0) {
251
+ if ( $_GET['page'] == get_the_ID() ) {
252
+ if ( isset( $_GET['nggpage'] ) )
253
+ $page = (int) $_GET['nggpage'];
254
+ }
255
  else $page = 1;
256
  $start = $offset = ( $page - 1 ) * $maxElement;
257
+
258
+ $total = count($picturelist);
259
+
260
+ // remove the element if we didn't start at the beginning
261
+ if ($start > 0 ) array_splice($picturelist, 0, $start);
262
+ // return the list of images we need
263
+ array_splice($picturelist, $maxElement);
264
 
265
+ $navigation = nggallery::create_navigation($page, $total, $maxElement);
266
+ }
 
 
 
267
 
268
  if (is_array($picturelist)) {
269
+ $out = '<div class="ngg-galleryoverview">';
270
+
271
+ // show slideshow link
272
+ if ($galleryID)
273
+ if (($ngg_options['galShowSlide']) AND (NGGALLERY_IREXIST)) {
274
+ $args['page'] = get_the_ID();
275
+ $args['show'] = "slide";
276
+ $out .= '<a class="slideshowlink" href="' . htmlspecialchars(add_query_arg( $args )) . '">'.$ngg_options[galTextSlide].'</a>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
  }
278
+
279
+ // a description below the picture, require fixed width
280
+ if (!$ngg_options['galShowDesc'])
281
+ $ngg_options['galShowDesc'] = "none";
282
+ $setwidth = ($ngg_options['galShowDesc'] != "none") ? 'style="width:'.($thumbwidth + 15).'px;"' : '';
 
283
 
284
  foreach ($picturelist as $picture) {
285
+ // set image url
286
+ $folder_url = get_option ('siteurl')."/".$picture->path."/";
287
+ $thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
288
+ $thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
289
+ //clean filename
290
  $picturefile = nggallery::remove_umlauts($picture->filename);
291
+ // choose link between imagebrowser or effect
292
+
293
+ $link =($ngg_options['galImgBrowser']) ? htmlspecialchars(add_query_arg(array('page'=>get_the_ID(),'pid'=>$picture->pid))) : $folder_url.$picturefile;
294
+ // create output
295
+ $out .= '<div class="ngg-gallery-thumbnail-box">'."\n\t";
296
+ $out .= '<div class="ngg-gallery-thumbnail" '.$setwidth.' >'."\n\t";
297
+ $out .= '<a href="'.$link.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
298
+ $out .= '<img title="'.$picture->alttext.'" alt="'.$picture->alttext.'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
299
+ $out .= '</a>'."\n";
300
+ if ($ngg_options['galShowDesc'] == "alttext")
301
+ $out .= '<span>'.$picture->alttext.'</span>'."\n";
302
+ if ($ngg_options['galShowDesc'] == "desc")
303
+ $out .= '<span>'.$picture->description.'</span>'."\n";
304
+ $out .= '</div>'."\n".'</div>'."\n";
305
  }
306
+ $out .= '</div>'."\n";
307
+ $out .= ($maxElement > 0) ? $navigation : '<div class="ngg-clear"></div>'."\n";
308
+ }
309
+ return $out;
 
 
310
  }
311
 
312
+
313
  /**********************************************************/
314
  function nggShowJSGallery($galleryID) {
315
  // create a gallery with a jQuery plugin
318
  $ngg_options = get_option('ngg_options');
319
 
320
  // Get option
321
+ $maxElement = $ngg_options['galImages'];
322
 
323
  // get gallery values
324
  $act_gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
325
 
326
  // set gallery url
327
  $folder_url = get_option ('siteurl')."/".$act_gallery->path."/";
328
+ $thumb_folder = str_replace('/','',nggallery::get_thumbnail_folder($act_gallery->path, FALSE));
329
 
330
  $picturelist = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir] ");
331
 
346
  $gallerycontent .= ' name : "'. $act_gallery->name . '",'."\n";
347
  $gallerycontent .= ' galleryurl : "'. $folder_url . '",'."\n";
348
  $gallerycontent .= ' thumbfolder : "'. $thumb_folder . '",'."\n";
349
+ if ($ngg_options['thumbEffect'] == "thickbox")
350
  $gallerycontent .= ' thickbox : true,'."\n";
351
  $gallerycontent .= ' maxelement : '. $maxElement ."\n";
352
  $gallerycontent .= ' });'."\n";
356
  $gallerycontent .= ' <div id="nggal'. $galleryID .'">'."\n";
357
  $gallerycontent .= ' <!-- The content will be dynamically loaded in here -->'."\n";
358
  $gallerycontent .= '</div>'."\n";
359
+ $gallerycontent .= '<div class="ngg-clear"></div>'."\n";
360
  }
361
 
362
  return $gallerycontent;
373
 
374
  if ($albumID != $_GET['album']) return $albumcontent;
375
 
376
+ $galleryID = (int) attribute_escape($_GET['gallery']);
377
  $albumcontent = nggShowGallery($galleryID);
378
+ return $albumcontent;
379
+ }
380
 
381
+ $mode = ltrim($mode,',');
382
+ $sortorder = $wpdb->get_var("SELECT sortorder FROM $wpdb->nggalbum WHERE id = '$albumID' ");
383
+ if (!empty($sortorder)) {
384
+ $gallery_array = unserialize($sortorder);
385
+ }
386
+
387
+ $albumcontent = '<div class="ngg-albumoverview">';
388
+ if (is_array($gallery_array)) {
389
+ foreach ($gallery_array as $galleryID) {
390
+ $albumcontent .= nggCreateAlbum($galleryID,$mode,$albumID);
 
 
 
391
  }
 
 
 
392
  }
393
+ $albumcontent .= '</div>'."\n";
394
+ $albumcontent .= '<div class="ngg-clear"></div>'."\n";
395
 
396
  return $albumcontent;
397
  }
409
  if ($ngg_options[galNoPages]) {
410
  $gallerylink['album'] = $albumID;
411
  $gallerylink['gallery'] = $galleryID;
412
+ $link = htmlspecialchars(add_query_arg($gallerylink));
413
  } else {
414
  $link = get_permalink($gallerycontent->pageid);
415
  }
416
 
417
  if ($gallerycontent) {
418
+ $counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'");
419
  if ($mode == "compact") {
420
  if ($gallerycontent->previewpic != 0)
421
+ $insertpic = '<img class="Thumb" width="91" height="68" alt="'.$gallerycontent->title.'" src="'.nggallery::get_thumbnail_url($gallerycontent->previewpic).'"/>';
422
  else
423
  $insertpic = __('Watch gallery', 'nggallery');
 
424
  $galleryoutput = '
425
  <div class="ngg-album-compact">
426
  <div class="ngg-album-compactbox">
429
  </div>
430
  </div>
431
  <h4><a class="ngg-album-desc" title="'.$gallerycontent->title.'" href="'.$link.'">'.$gallerycontent->title.'</a></h4>
432
+ <p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>';
433
  } else {
434
  // mode extend
435
  if ($gallerycontent->previewpic != 0)
436
+ $insertpic = '<img src="'.nggallery::get_thumbnail_url($gallerycontent->previewpic).'" alt="'.$gallerycontent->title.'" title="'.$gallerycontent->title.'"/>';
437
  else
438
  $insertpic = __('Watch gallery', 'nggallery');
439
  $galleryoutput = '
441
  <div class="ngg-albumtitle"><a href="'.$link.'">'.$gallerycontent->title.'</a></div>
442
  <div class="ngg-albumcontent">
443
  <div class="ngg-thumbnail"><a href="'.$link.'">'.$insertpic.'</a></div>
444
+ <div class="ngg-description"><p>'.html_entity_decode($gallerycontent->galdesc).'</p><p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>'."\n".'</div>'."\n".'</div>';
445
 
446
  }
447
  }
451
 
452
  /**********************************************************/
453
  function nggShowImageBrowser($galleryID) {
454
+ /**
455
+ * show the ImageBrowser
456
+ * @galleryID int / gallery id
457
+ */
458
 
459
  global $wpdb;
460
+
461
+ // get options
462
  $ngg_options = get_option('ngg_options');
463
 
464
+ // get the pictures
465
+ $picturelist = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
466
+ if (is_array($picturelist)) {
467
+ $output = nggCreateImageBrowser($picturelist);
468
+ }
469
+
470
+ return $output;
471
+
472
+ }
473
 
474
+ /**********************************************************/
475
+ function nggCreateImageBrowser($picarray) {
476
+ /**
477
+ * @array $picarray with pid
478
+ **/
479
+
480
+ if (!is_array($picarray))
481
+ $picarray = array($picarray);
482
 
 
 
 
 
483
  $total = count($picarray);
484
 
485
  // look for gallery variable
486
  if ( isset( $_GET['pid'] )) {
487
+ $act_pid = (int) attribute_escape($_GET['pid']);
488
  } else {
489
  reset($picarray);
490
  $act_pid = current($picarray);
496
  $act_pid = reset($picarray);
497
  $key = key($picarray);
498
  }
499
+ $back_pid = ( $key >= 1 ) ? $picarray[$key-1] : end($picarray) ;
500
  $next_pid = ( $key < ($total-1) ) ? $picarray[$key+1] : reset($picarray) ;
501
+
502
+ // get the picture data
503
+ $picture = new nggImage($act_pid);
504
+
505
  if ($picture) {
 
 
506
  $galleryoutput = '
507
  <div class="ngg-imagebrowser" >
508
+ <h3>'.$picture->alttext.'</h3>
509
+ <div class="pic">'.$picture->get_href_link().'</div>
 
 
 
 
510
  <div class="ngg-imagebrowser-nav">';
511
  if ($back_pid) {
512
  $backlink['pid'] = $back_pid;
513
+ $galleryoutput .='<div class="back"><a href="'.htmlspecialchars(add_query_arg($backlink)).'">'.'&#9668; '.__('Back', 'nggallery').'</a></div>';
514
  }
515
  if ($next_pid) {
516
  $nextlink['pid'] = $next_pid;
517
+ $galleryoutput .='<div class="next"><a href="'.htmlspecialchars(add_query_arg($nextlink)).'">'.__('Next', 'nggallery').' &#9658;'.'</a></div>';
518
  }
519
  $galleryoutput .='
520
  <div class="counter">'.__('Picture', 'nggallery').' '.($key+1).' '.__('from', 'nggallery').' '.$total.'</div>
521
+ <div class="ngg-imagebrowser-desc"><p>'.html_entity_decode($picture->description).'</p></div>
522
  </div>
523
  </div>';
524
  }
528
 
529
  /**********************************************************/
530
  function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
531
+ /**
532
+ * create a gallery based on the tags
533
+ * @imageID db-ID of the image
534
+ * @width width of the image
535
+ * @height height of the image
536
+ * @mode none, watermark, web20
537
+ * @float none, left, right
538
+ */
539
  global $wpdb;
540
+
 
541
  // remove the comma
542
  $float = ltrim($float,',');
543
  $mode = ltrim($mode,',');
545
  $height = ltrim($height,',');
546
 
547
  // get picturedata
548
+ $picture = new nggImage($imageID);
549
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
550
  // add float to img
551
  if (!empty($float)) {
552
  switch ($float) {
562
  }
563
  }
564
 
565
+ // add fullsize picture as link
566
+ $content = '<a href="'.$picture->imagePath.'" title="'.stripslashes($picture->description).'" '.$picture->get_thumbcode("singlepic".$imageID).' >';
567
+ $content .= '<img class="ngg-singlepic" src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID.'&amp;width='.$width.'&amp;height='.$height.'&amp;mode='.$mode.'" alt="'.$picture->alttext.'" title="'.$picture->alttext.'"'.$float.' />';
568
+ $content .= '</a>';
569
 
570
  return $content;
571
  }
572
 
573
  /**********************************************************/
574
+ function nggShowGalleryTags($taglist) {
575
+ /**
576
+ * create a gallery based on the tags
577
+ * @taglist list of tags as csv
578
+ */
579
+
580
  global $wpdb;
581
 
582
+ // get now the related images
583
+ $picturelist = ngg_Tags::get_images($taglist);
584
+
585
+ // look for ImageBrowser
586
+ if ( $_GET['page'] == get_the_ID() )
587
+ if (isset( $_GET['pid'])) {
588
+ foreach ($picturelist as $picture)
589
+ $picarray[] = $picture->pid;
590
+ $content = nggCreateImageBrowser($picarray);
591
+ return $content;
592
+ }
593
 
594
+ // go on if not empty
595
+ if (empty($picturelist))
596
+ return;
 
597
 
598
+ // show gallery
599
+ if (is_array($picturelist)) {
600
+ $content = nggCreateGallery($picturelist,false);
601
+ }
602
+
603
+ return $content;
604
  }
605
 
606
  /**********************************************************/
607
+ function nggShowRelatedGallery($taglist, $maxImages = 0) {
608
+ /**
609
+ * create a gallery based on the tags
610
+ * @taglist list of tags as csv
611
+ * @maxImages limit the number of images to show
612
+ */
613
+
614
  global $wpdb;
615
 
616
+ // get now the related images
617
+ $picturelist = ngg_Tags::get_images($taglist);
 
 
 
 
 
618
 
619
+ // go on if not empty
620
+ if (empty($picturelist))
621
+ return;
622
+
623
+ // get the options
624
+ $ngg_options = get_option('ngg_options');
625
 
626
+ // get the effect code
627
+ $thumbcode = nggallery::get_thumbcode("Related images for ".get_the_title());
628
+
629
+ // cut the list to maxImages
630
+ if ($maxImages > 0 ) array_splice($picturelist, $maxImages);
 
 
 
 
 
 
 
 
 
631
 
632
+ // *** build the gallery output
633
+ $content = '<div class="ngg-related-gallery">';
634
+
635
+ foreach ($picturelist as $picture) {
636
+ // set gallery url
637
+ $folder_url = get_option ('siteurl')."/".$picture->path."/";
638
+ $thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
639
+ $thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
640
 
641
+ $picturefile = nggallery::remove_umlauts($picture->filename);
642
+ $content .= '<a href="'.$folder_url.$picturefile.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
643
+ $content .= '<img title="'.$picture->alttext.'" alt="'.$picture->alttext.'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
644
+ $content .= '</a>'."\n";
645
+ }
646
 
647
+ $content .= '</div>'."\n";
 
 
648
 
649
+ return $content;
 
650
  }
651
 
652
+ /**********************************************************/
653
+ function nggShowAlbumTags($taglist) {
654
+ /**
655
+ * create a gallery based on the tags
656
+ * @taglist list of tags as csv
657
+ */
658
 
659
+ global $wpdb;
 
 
 
 
 
 
 
660
 
661
+ // look for gallerytag variable
662
+ if ( $_GET['page'] == get_the_ID() ) {
663
+ if (isset( $_GET['gallerytag'])) {
664
 
665
+ $galleryTag = attribute_escape($_GET['gallerytag']);
666
+ $tagname = $wpdb->get_var("SELECT name FROM $wpdb->nggtags WHERE slug = '$galleryTag' ");
667
+ $content = '<div id="albumnav"><span><a href="'.get_permalink().'" title="'.__('Overview', 'nggallery').'">'.__('Overview', 'nggallery').'</a> | '.$tagname.'</span></div>';
668
+ $content .= nggShowGalleryTags($galleryTag);
669
+ return $content;
670
 
671
+ }
672
+ }
673
 
674
+ // get now the related images
675
+ $picturelist = ngg_Tags::get_album_images($taglist);
676
+
677
+ // go on if not empty
678
+ if (empty($picturelist))
679
+ return;
680
+
681
+ $content = '<div class="ngg-albumoverview">';
682
+ foreach ($picturelist as $picture) {
683
+ $args['page'] = get_the_ID();
684
+ $args['gallerytag'] = $picture["slug"];
685
+ $link = htmlspecialchars( add_query_arg($args) );
686
 
687
+ $insertpic = '<img class="Thumb" width="91" height="68" alt="'.$picture["name"].'" src="'.nggallery::get_thumbnail_url($picture["pid"]).'"/>';
688
+ $tagid = $picture['tagid'];
689
+ $counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpic2tags WHERE tagid = '$tagid' ");
690
+ $content .= '
691
+ <div class="ngg-album-compact">
692
+ <div class="ngg-album-compactbox">
693
+ <div class="ngg-album-link">
694
+ <a class="Link" href="'.$link.'">'.$insertpic.'</a>
695
+ </div>
696
+ </div>
697
+ <h4><a class="ngg-album-desc" title="'.$picture["name"].'" href="'.$link.'">'.$picture["name"].'</a></h4>
698
+ <p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>';
699
  }
700
+ $content .= '</div>'."\n";
701
+ $content .= '<div class="ngg-clear"></div>'."\n";
702
+
703
+ return $content;
704
+ }
705
+
706
+ /**********************************************************/
707
+ function nggShowRelatedImages($type = '', $maxImages = 0) {
708
+ // return related images based on category or tags
709
+
710
+ if ($type == '') {
711
+ $ngg_options = get_option('ngg_options');
712
+ $type = $ngg_options['appendType'];
713
+ $maxImages = $ngg_options['maxImages'];
714
+ }
715
 
716
+ $sluglist = array();
717
+ switch ($type) {
718
+
719
+ case "tags":
720
+ if (function_exists('get_the_tags')) {
721
+ $taglist = get_the_tags();
722
+
723
+ if (is_array($taglist))
724
+ foreach ($taglist as $tag)
725
+ $sluglist[] = $tag->slug;
726
+ }
727
+ break;
728
+ case "category":
729
+ $catlist = get_the_category();
730
+
731
+ if (is_array($catlist))
732
+ foreach ($catlist as $cat)
733
+ $sluglist[] = $cat->category_nicename;
734
+ }
735
+
736
+ $sluglist = implode(",", $sluglist);
737
+ $content = nggShowRelatedGallery($sluglist, $maxImages);
738
+
739
+ return $content;
740
  }
741
+
742
+ /**********************************************************/
743
+ function the_related_images($type = 'tags', $maxNumbers = 7) {
744
+ // function for theme authors
745
+ echo nggShowRelatedImages($type, $maxNumbers);
746
+ }
747
+
748
  ?>
ngginstall.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
 
2
 
3
  //required database version
4
- $ngg_db_version = "0.33";
5
 
6
  function nggallery_install () {
7
 
@@ -12,8 +13,18 @@ function nggallery_install () {
12
  if ( !current_user_can('activate_plugins') )
13
  return;
14
 
 
 
 
 
 
 
 
 
 
 
15
  // upgrade function changed in WordPress 2.3
16
- if (version_compare($wp_version, '2.3.alpha', '>='))
17
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
18
  else
19
  require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
@@ -21,12 +32,14 @@ function nggallery_install () {
21
  $nggpictures = $wpdb->prefix . 'ngg_pictures';
22
  $nggallery = $wpdb->prefix . 'ngg_gallery';
23
  $nggalbum = $wpdb->prefix . 'ngg_album';
 
 
24
 
25
  if($wpdb->get_var("show tables like '$nggpictures'") != $nggpictures) {
26
 
27
  $sql = "CREATE TABLE " . $nggpictures . " (
28
- pid MEDIUMINT(9) NOT NULL AUTO_INCREMENT ,
29
- galleryid MEDIUMINT(9) DEFAULT '0' NOT NULL ,
30
  filename VARCHAR(255) NOT NULL ,
31
  description MEDIUMTEXT NULL ,
32
  alttext MEDIUMTEXT NULL ,
@@ -43,13 +56,13 @@ function nggallery_install () {
43
  if($wpdb->get_var("show tables like '$nggallery'") != $nggallery) {
44
 
45
  $sql = "CREATE TABLE " . $nggallery . " (
46
- gid MEDIUMINT(9) NOT NULL AUTO_INCREMENT ,
47
  name VARCHAR(255) NOT NULL ,
48
  path MEDIUMTEXT NULL ,
49
  title MEDIUMTEXT NULL ,
50
- description MEDIUMTEXT NULL ,
51
- pageid SMALLINT(6) NULL DEFAULT '0' ,
52
- previewpic SMALLINT(6) NULL DEFAULT '0' ,
53
  PRIMARY KEY gid (gid)
54
  );";
55
 
@@ -59,7 +72,7 @@ function nggallery_install () {
59
  if($wpdb->get_var("show tables like '$nggalbum'") != $nggalbum) {
60
 
61
  $sql = "CREATE TABLE " . $nggalbum . " (
62
- id MEDIUMINT(9) NOT NULL AUTO_INCREMENT ,
63
  name VARCHAR(255) NOT NULL ,
64
  sortorder LONGTEXT NOT NULL,
65
  PRIMARY KEY id (id)
@@ -67,12 +80,46 @@ function nggallery_install () {
67
 
68
  dbDelta($sql);
69
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70
 
71
  // update routine
72
  $installed_ver = get_option( "ngg_db_version" );
73
  if( $installed_ver != $ngg_db_version ) {
 
 
 
 
 
 
 
 
 
74
 
75
- // do the update (hopefully I didn't required this sometimes)
76
  update_option( "ngg_db_version", $ngg_db_version );
77
  }
78
 
@@ -81,9 +128,15 @@ function nggallery_install () {
81
  function ngg_default_options() {
82
 
83
  $ngg_options['gallerypath'] = "wp-content/gallery/"; // set default path to the gallery
84
- $ngg_options['scanfolder'] = false; // search for new images
85
  $ngg_options['deleteImg'] = false; // delete Images
86
 
 
 
 
 
 
 
87
  $ngg_options['thumbwidth'] = 100; // Thumb Width
88
  $ngg_options['thumbheight'] = 75; // Thumb height
89
  $ngg_options['thumbfix'] = true; // Fix the dimension
@@ -92,12 +145,11 @@ function ngg_default_options() {
92
  $ngg_options['thumbResampleMode'] = 3; // Resample speed value 1 - 5
93
 
94
  // Image Settings
95
- $ngg_options['imgResize'] = false; // Activate resize
96
  $ngg_options['imgWidth'] = 800; // Image Width
97
  $ngg_options['imgHeight'] = 600; // Image height
98
  $ngg_options['imgQuality'] = 85; // Image Quality
99
  $ngg_options['imgResampleMode'] = 4; // Resample speed value 1 - 5
100
- $ngg_options['imgSinglePicLink'] = false; // Add a link to the full size picture
101
 
102
  // Gallery Settings
103
  $ngg_options['galImages'] = "20"; // Number Of images per page
@@ -109,12 +161,8 @@ function ngg_default_options() {
109
  $ngg_options['galSortDir'] = "ASC"; // Sort direction
110
  $ngg_options['galUsejQuery'] = false; // use the jQuery plugin
111
  $ngg_options['galNoPages'] = true; // use no subpages for gallery
112
-
113
- // Image Browser
114
- $ngg_options['ImgBrHead'] = true; // Show header
115
- $ngg_options['ImgBrDesc'] = true; // Show description
116
- $ngg_options['ImgBrTextBack'] = __('Back','nggallery'); // Text for Back
117
- $ngg_options['ImgBrTextNext'] = __('Next','nggallery'); // Text for Next
118
 
119
  // Thumbnail Effect
120
  $ngg_options['thumbEffect'] = "thickbox"; // select effect
@@ -134,7 +182,6 @@ function ngg_default_options() {
134
  $ngg_options['wmOpaque'] = "100"; // Font Opaque
135
 
136
  // Image Rotator settings
137
-
138
  $ngg_options['irXHTMLvalid'] = false;
139
  $ngg_options['irAudio'] = "";
140
  $ngg_options['irWidth'] = 320;
1
  <?php
2
+ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
3
 
4
  //required database version
5
+ $ngg_db_version = "0.71";
6
 
7
  function nggallery_install () {
8
 
13
  if ( !current_user_can('activate_plugins') )
14
  return;
15
 
16
+ // Set the capabilities for the administrator
17
+ $role = get_role('administrator');
18
+ $role->add_cap('NextGEN Gallery overview');
19
+ $role->add_cap('NextGEN Use TinyMCE');
20
+ $role->add_cap('NextGEN Upload images');
21
+ $role->add_cap('NextGEN Manage gallery');
22
+ $role->add_cap('NextGEN Edit album');
23
+ $role->add_cap('NextGEN Change style');
24
+ $role->add_cap('NextGEN Change options');
25
+
26
  // upgrade function changed in WordPress 2.3
27
+ if (version_compare($wp_version, '2.3-beta', '>='))
28
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
29
  else
30
  require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
32
  $nggpictures = $wpdb->prefix . 'ngg_pictures';
33
  $nggallery = $wpdb->prefix . 'ngg_gallery';
34
  $nggalbum = $wpdb->prefix . 'ngg_album';
35
+ $nggtags = $wpdb->prefix . 'ngg_tags';
36
+ $nggpic2tags = $wpdb->prefix . 'ngg_pic2tags';
37
 
38
  if($wpdb->get_var("show tables like '$nggpictures'") != $nggpictures) {
39
 
40
  $sql = "CREATE TABLE " . $nggpictures . " (
41
+ pid BIGINT(20) NOT NULL AUTO_INCREMENT ,
42
+ galleryid BIGINT(20) DEFAULT '0' NOT NULL ,
43
  filename VARCHAR(255) NOT NULL ,
44
  description MEDIUMTEXT NULL ,
45
  alttext MEDIUMTEXT NULL ,
56
  if($wpdb->get_var("show tables like '$nggallery'") != $nggallery) {
57
 
58
  $sql = "CREATE TABLE " . $nggallery . " (
59
+ gid BIGINT(20) NOT NULL AUTO_INCREMENT ,
60
  name VARCHAR(255) NOT NULL ,
61
  path MEDIUMTEXT NULL ,
62
  title MEDIUMTEXT NULL ,
63
+ galdesc MEDIUMTEXT NULL ,
64
+ pageid BIGINT(20) NULL DEFAULT '0' ,
65
+ previewpic BIGINT(20) NULL DEFAULT '0' ,
66
  PRIMARY KEY gid (gid)
67
  );";
68
 
72
  if($wpdb->get_var("show tables like '$nggalbum'") != $nggalbum) {
73
 
74
  $sql = "CREATE TABLE " . $nggalbum . " (
75
+ id BIGINT(20) NOT NULL AUTO_INCREMENT ,
76
  name VARCHAR(255) NOT NULL ,
77
  sortorder LONGTEXT NOT NULL,
78
  PRIMARY KEY id (id)
80
 
81
  dbDelta($sql);
82
  }
83
+
84
+ // new since version 0.70
85
+ if($wpdb->get_var("show tables like '$nggtags'") != $nggtags) {
86
+
87
+ $sql = "CREATE TABLE " . $nggtags . " (
88
+ id BIGINT(20) NOT NULL AUTO_INCREMENT ,
89
+ name VARCHAR(55) NOT NULL ,
90
+ slug VARCHAR(200) NOT NULL,
91
+ PRIMARY KEY id (id),
92
+ UNIQUE KEY slug (slug)
93
+ );";
94
+
95
+ dbDelta($sql);
96
+ }
97
+
98
+ if($wpdb->get_var("show tables like '$nggpic2tags'") != $nggpic2tags) {
99
+
100
+ $sql = "CREATE TABLE " . $nggpic2tags . " (
101
+ picid BIGINT(20) NOT NULL DEFAULT 0,
102
+ tagid BIGINT(20) NOT NULL DEFAULT 0,
103
+ PRIMARY KEY (picid, tagid),
104
+ KEY tagid (tagid)
105
+ );";
106
+
107
+ dbDelta($sql);
108
+ }
109
 
110
  // update routine
111
  $installed_ver = get_option( "ngg_db_version" );
112
  if( $installed_ver != $ngg_db_version ) {
113
+
114
+ // v0.33 -> v.071
115
+ $wpdb->query("ALTER TABLE ".$nggpictures." CHANGE pid pid BIGINT(20) NOT NULL AUTO_INCREMENT ");
116
+ $wpdb->query("ALTER TABLE ".$nggpictures." CHANGE galleryid galleryid BIGINT(20) NOT NULL ");
117
+ $wpdb->query("ALTER TABLE ".$nggallery." CHANGE gid gid BIGINT(20) NOT NULL AUTO_INCREMENT ");
118
+ $wpdb->query("ALTER TABLE ".$nggallery." CHANGE pageid pageid BIGINT(20) NULL DEFAULT '0'");
119
+ $wpdb->query("ALTER TABLE ".$nggallery." CHANGE previewpic previewpic BIGINT(20) NULL DEFAULT '0'");
120
+ $wpdb->query("ALTER TABLE ".$nggallery." CHANGE gid gid BIGINT(20) NOT NULL AUTO_INCREMENT ");
121
+ $wpdb->query("ALTER TABLE ".$nggallery." CHANGE description galdesc MEDIUMTEXT NULL");
122
 
 
123
  update_option( "ngg_db_version", $ngg_db_version );
124
  }
125
 
128
  function ngg_default_options() {
129
 
130
  $ngg_options['gallerypath'] = "wp-content/gallery/"; // set default path to the gallery
131
+ $ngg_options['scanfolder'] = false; // search for new images (not used)
132
  $ngg_options['deleteImg'] = false; // delete Images
133
 
134
+ // Tags / categories
135
+ $ngg_options['activateTags'] = false; // append related images
136
+ $ngg_options['appendType'] = "category"; // look for category or tags
137
+ $ngg_options['maxImages'] = 7; // number of images toshow
138
+
139
+ // Thumbnail Settings
140
  $ngg_options['thumbwidth'] = 100; // Thumb Width
141
  $ngg_options['thumbheight'] = 75; // Thumb height
142
  $ngg_options['thumbfix'] = true; // Fix the dimension
145
  $ngg_options['thumbResampleMode'] = 3; // Resample speed value 1 - 5
146
 
147
  // Image Settings
148
+ $ngg_options['imgResize'] = false; // Activate resize (not used)
149
  $ngg_options['imgWidth'] = 800; // Image Width
150
  $ngg_options['imgHeight'] = 600; // Image height
151
  $ngg_options['imgQuality'] = 85; // Image Quality
152
  $ngg_options['imgResampleMode'] = 4; // Resample speed value 1 - 5
 
153
 
154
  // Gallery Settings
155
  $ngg_options['galImages'] = "20"; // Number Of images per page
161
  $ngg_options['galSortDir'] = "ASC"; // Sort direction
162
  $ngg_options['galUsejQuery'] = false; // use the jQuery plugin
163
  $ngg_options['galNoPages'] = true; // use no subpages for gallery
164
+ $ngg_options['galShowDesc'] = "none"; // Show a text below the thumbnail
165
+ $ngg_options['galImgBrowser'] = false; // Show ImageBrowser, instead effect
 
 
 
 
166
 
167
  // Thumbnail Effect
168
  $ngg_options['thumbEffect'] = "thickbox"; // select effect
182
  $ngg_options['wmOpaque'] = "100"; // Font Opaque
183
 
184
  // Image Rotator settings
 
185
  $ngg_options['irXHTMLvalid'] = false;
186
  $ngg_options['irAudio'] = "";
187
  $ngg_options['irWidth'] = 320;
nggshow.php CHANGED
@@ -12,7 +12,7 @@ $ngg_options=get_option('ngg_options');
12
  //reference thumbnail class
13
  include_once('lib/thumbnail.inc.php');
14
 
15
- $pictureID = attribute_escape($_GET['pid']);
16
  $mode = attribute_escape($_GET['mode']);
17
 
18
  // get the path and filename to the image
12
  //reference thumbnail class
13
  include_once('lib/thumbnail.inc.php');
14
 
15
+ $pictureID = (int) attribute_escape($_GET['pid']);
16
  $mode = attribute_escape($_GET['mode']);
17
 
18
  // get the path and filename to the image
nggwidget.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
  /*
3
  Plugin Name: NextGEN Gallery Widget
4
- Description: Adds a sidebar widget support to your NextGEN Gallery!
5
  Author: KeViN
6
- Version: 1.01
7
  Author URI: http://www.kev.hu
8
  Plugin URI: http://www.kev.hu
9
 
@@ -148,6 +148,9 @@ function widget_ngg_slideshow() {
148
  echo '<p style="text-align:right;"><label for="ngg-title">' . __('Title:', 'nggallery') . ' <input style="width: 200px;" id="ngg-title" name="ngg-title" type="text" value="'.$title.'" /></label></p>';
149
  echo '<p style="text-align:right;"><label for="ngg-galleryid">' . __('Select Gallery:', 'nggallery'). ' </label>';
150
  echo '<select size="1" name="ngg-galleryid" id="ngg-galleryid">';
 
 
 
151
  $tables = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY 'name' ASC ");
152
  if($tables) {
153
  foreach($tables as $table) {
@@ -173,103 +176,43 @@ function widget_ngg_slideshow() {
173
  function nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype) {
174
 
175
  // Check for NextGEN Gallery
176
- if ( !function_exists('ngg_get_thumbnail_url') )
177
  return;
178
-
179
- //origy ngg options
 
 
180
  $ngg_options = get_option('ngg_options');
181
 
182
  // get the effect code
183
- if ($ngg_options[thumbEffect] != "none") $thumbcode = stripslashes($ngg_options[thumbCode]);
184
- if ($ngg_options[thumbEffect] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'sidebar'", $thumbcode);
185
- else $thumbcode = str_replace("%GALLERY_NAME%", "sidebar", $thumbcode);
186
-
187
- // Put your HTML code here if you want to personalize the image display!
188
- $IMGbefore = ''; // NOT IN USE!
189
- $IMGafter = ''; // NOT IN USE!
190
-
191
- $Abefore = ''; // NOT IN USE!
192
- $Aafter = ''; // NOT IN USE!
193
-
194
- // [0.99] remember the displayed images
195
- $displayedimages = array();
196
-
197
- global $wpdb;
198
-
199
- // [0.99] Check the number of the images (disable more pictures)
200
- $numberofimages = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures");
201
- if (($numberofimages < $number)) $number=$numberofimages;
202
-
203
- for ($i=1; $i<=$number; $i++) {
204
-
205
- // Get a random image from the database
206
- if (($imgtype == "random")) {
207
-
208
- // [0.99] -> disable duplicate images in random!
209
- $imageID = $wpdb->get_var("SELECT pid FROM $wpdb->nggpictures ORDER by rand() limit 1");
210
- while ( in_array($imageID, $displayedimages)) {
211
- $imageID = $wpdb->get_var("SELECT pid FROM $wpdb->nggpictures ORDER by rand() limit 1");
212
- }
213
- $displayedimages[$i] = $imageID;
214
-
215
- }
216
- else {
217
- // Get the $i latest image from the database
218
- $imageID = $wpdb->get_var("SELECT pid FROM $wpdb->nggpictures ORDER by pid DESC limit ".$i.",1");
219
- }
220
-
221
- // [0.97] new variable -> Set up the strings
222
- $Astart = '<a href="'.ngg_get_image_url($imageID).'" title="" '.$thumbcode.'>';
223
- $Aend = '</a>';
224
-
225
-
226
- // Here comes the display
227
- echo $Abefore;
228
-
229
- // [0.95] new function -> Thumbnail or Normal image
230
- if ( ($thumb == "false") ) {
231
- // NORMAL IMAGE mode
232
- if ( ($mode == 'web20') ) {
233
- // [0.95] [deleted] -> <li> </li>
234
- // [0.97] [edited] -> class="ngg-widget-img" -> id="ngg-widget-img"
235
- // [0.98] [deleted] -> id="ngg-widget-img"
236
- echo $Astart;
237
- echo $IMGbefore.'<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID.'&amp;width='.$sizeX.'&amp;height='.$sizeY.'&amp;mode=web20" />';
238
- echo $Aend.$IMGafter."\n";
239
- }
240
- else {
241
- // [0.95] [deleted] -> <li> </li>
242
- // [0.97] [edited] -> class="ngg-widget-img" -> id="ngg-widget-img"
243
- // [0.98] [deleted] -> id="ngg-widget-img"
244
- echo $Astart;
245
- echo $IMGbefore.'<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID.'&amp;width='.$sizeX.'&amp;height='.$sizeY.'" />';
246
- echo $Aend.$IMGafter."\n";
247
- }
248
- }
249
- else {
250
- // THUMBNAIL mode
251
- //if web20
252
- if ( ($mode == 'web20') ) {
253
-
254
- // [0.95] [deleted] -> <li> </li>
255
- // [0.95] [edited] -> class="ngg-widget-img"
256
- echo $Astart;
257
- // [0.95] [deleted] -> nggshow because it displays the ORIGYNAL picture and not the THUMBNAIL!
258
- // [0.95] [new line] -> showreflection.php -> for the web20 thumbnail!
259
- echo $IMGbefore.'<img src="'.NGGALLERY_URLPATH.'showreflection.php?pid='.$imageID.'&amp;width='.$sizeX.'&amp;height='.$sizeY.' />';
260
- echo $Aend.$IMGafter."\n";
261
- }
262
- else {
263
- echo $Astart;
264
- echo $IMGbefore.'<img src="'.ngg_get_thumbnail_url($imageID).'" style="width:'.$sizeX.'px;height:'.$sizeY.'px;" />';
265
- echo $Aend.$IMGafter."\n";
266
- }
267
  }
268
-
269
- echo $Aafter;
270
-
271
  }
272
  }
 
273
  /**********************************************************/
274
  /* SIMPLE INSERT TAGS
275
  /**********************************************************/
@@ -299,7 +242,7 @@ function widget_ngg_recentimage() {
299
  return;
300
 
301
  // Check for NextGEN Gallery
302
- if ( !function_exists('ngg_get_thumbnail_url') )
303
  return;
304
 
305
  function widget_nextgenrecentimage($args) {
@@ -363,13 +306,12 @@ function widget_ngg_recentimage() {
363
  nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype);
364
 
365
  echo '</div>'."\n";
366
- // v.095 [deleted] -> echo '<div style="clear:both;"></div>'."\n";
367
  echo $after_widget;
368
  }
369
  }
370
 
371
  /**
372
- * @desc Output of plugin�s editform in te adminarea
373
  * @author KeViN
374
  */
375
 
@@ -482,7 +424,7 @@ function widget_ngg_randomimage() {
482
  return;
483
 
484
  // Check for NextGEN Gallery
485
- if ( !function_exists('ngg_get_thumbnail_url') )
486
  return;
487
 
488
  function widget_nextgenimage($args) {
@@ -509,10 +451,7 @@ function widget_ngg_randomimage() {
509
  $ngg_options = get_option('ngg_options');
510
 
511
  // get the effect code
512
- if ($ngg_options[thumbEffect] != "none") $thumbcode = stripslashes($ngg_options[thumbCode]);
513
- if ($ngg_options[thumbEffect] == "highslide") $thumbcode = str_replace("%GALLERY_NAME%", "'sidebar'", $thumbcode);
514
- else $thumbcode = str_replace("%GALLERY_NAME%", "sidebar", $thumbcode);
515
-
516
 
517
  $show_widget = false; // checking display status (category or home)
518
  $categorieslist = nggGetCSVValues($categorylist,','); // Make array for checking the categories
@@ -555,13 +494,12 @@ function widget_ngg_randomimage() {
555
  nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype,$thumbcode);
556
 
557
  echo '</div>'."\n";
558
- // v.095 [deleted] -> echo '<div style="clear:both;"></div>'."\n";
559
  echo $after_widget;
560
  }
561
  }
562
 
563
  /**
564
- * @desc Output of plugin�s editform in te adminarea
565
  * @author KeViN
566
  */
567
 
1
  <?php
2
  /*
3
  Plugin Name: NextGEN Gallery Widget
4
+ Description: Adds a sidebar widget support to your NextGEN Gallery
5
  Author: KeViN
6
+ Version: 1.12
7
  Author URI: http://www.kev.hu
8
  Plugin URI: http://www.kev.hu
9
 
148
  echo '<p style="text-align:right;"><label for="ngg-title">' . __('Title:', 'nggallery') . ' <input style="width: 200px;" id="ngg-title" name="ngg-title" type="text" value="'.$title.'" /></label></p>';
149
  echo '<p style="text-align:right;"><label for="ngg-galleryid">' . __('Select Gallery:', 'nggallery'). ' </label>';
150
  echo '<select size="1" name="ngg-galleryid" id="ngg-galleryid">';
151
+ echo '<option value="0" ';
152
+ if ($table->gid == $options['galleryid']) echo "selected='selected' ";
153
+ echo '>'.__('All images', 'nggallery').'</option>'."\n\t";
154
  $tables = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY 'name' ASC ");
155
  if($tables) {
156
  foreach($tables as $table) {
176
  function nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype) {
177
 
178
  // Check for NextGEN Gallery
179
+ if ( !class_exists('nggallery') )
180
  return;
181
+
182
+ global $wpdb;
183
+
184
+ //get ngg options
185
  $ngg_options = get_option('ngg_options');
186
 
187
  // get the effect code
188
+ $thumbcode = nggallery::get_thumbcode("sidebar_".$imgtype);
189
+
190
+ $count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures");
191
+ if ($count < $number)
192
+ $number = $count;
193
+
194
+ if ($imgtype == "random")
195
+ $imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER by rand() limit $number");
196
+ else
197
+ $imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures ORDER by pid DESC limit 0,$number");
198
+
199
+ if (is_array($imageList)){
200
+ foreach($imageList as $image) {
201
+
202
+ //TODO:Insert title
203
+ $out = '<a href="'.nggallery::get_image_url($image->pid).'" title="'.stripslashes($image->description).'" '.$thumbcode.'>';
204
+ $addmode = ($mode == 'web20') ? "&amp;mode=web20" : "" ;
205
+ if ( $thumb == "false" )
206
+ $out .= '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$image->pid.'&amp;width='.$sizeX.'&amp;height='.$sizeY.$addmode.'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
207
+ else
208
+ $out .= '<img src="'.nggallery::get_thumbnail_url($image->pid).'" style="width:'.$sizeX.'px;height:'.$sizeY.'px;" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
209
+
210
+ echo $out . '</a>'."\n";
211
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  }
 
 
 
213
  }
214
  }
215
+
216
  /**********************************************************/
217
  /* SIMPLE INSERT TAGS
218
  /**********************************************************/
242
  return;
243
 
244
  // Check for NextGEN Gallery
245
+ if ( !class_exists('nggallery') )
246
  return;
247
 
248
  function widget_nextgenrecentimage($args) {
306
  nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype);
307
 
308
  echo '</div>'."\n";
 
309
  echo $after_widget;
310
  }
311
  }
312
 
313
  /**
314
+ * @desc Output of plugin�s editform in the adminarea
315
  * @author KeViN
316
  */
317
 
424
  return;
425
 
426
  // Check for NextGEN Gallery
427
+ if ( !class_exists('nggallery') )
428
  return;
429
 
430
  function widget_nextgenimage($args) {
451
  $ngg_options = get_option('ngg_options');
452
 
453
  // get the effect code
454
+ $thumbcode = nggallery::get_thumbcode("sidebar");
 
 
 
455
 
456
  $show_widget = false; // checking display status (category or home)
457
  $categorieslist = nggGetCSVValues($categorylist,','); // Make array for checking the categories
494
  nggDisplayImagesWidget($thumb,$number,$sizeX,$sizeY,$mode,$imgtype,$thumbcode);
495
 
496
  echo '</div>'."\n";
 
497
  echo $after_widget;
498
  }
499
  }
500
 
501
  /**
502
+ * @desc Output of plugin�s editform in the adminarea
503
  * @author KeViN
504
  */
505
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Alex Rabe
3
  Donate link: http://alexrabe.boelinger.com/?page_id=80
4
  Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets
5
  Requires at least: 2.1.3
6
- Tested up to: 2.2
7
 
8
  NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
9
 
@@ -22,7 +22,7 @@ Features:
22
  * Slideshow : Full integrated flash slideshow
23
  * TinyMCE : Button integration for easy adding the gallery tags
24
  * Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
25
- * Language support : Translated in more than 12 languages
26
  * Upload tab integration : You have access to all pictures via the upload tab
27
 
28
  For support around this plugin please visit http://alexrabe.boelinger.com/forums/
@@ -102,6 +102,15 @@ For a image browser : **[imagebrowser=id]**
102
 
103
  Example : http://nextgen.boelinger.com/2007/06/16/new-tag-picture-browser/
104
 
 
 
 
 
 
 
 
 
 
105
  **Read as startup :** http://hqcode.com/?page_id=54
106
 
107
  **A further FAQ you can found here :** http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/faq/
3
  Donate link: http://alexrabe.boelinger.com/?page_id=80
4
  Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets
5
  Requires at least: 2.1.3
6
+ Tested up to: 2.3
7
 
8
  NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
9
 
22
  * Slideshow : Full integrated flash slideshow
23
  * TinyMCE : Button integration for easy adding the gallery tags
24
  * Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
25
+ * Language support : Translated in more than 15 languages
26
  * Upload tab integration : You have access to all pictures via the upload tab
27
 
28
  For support around this plugin please visit http://alexrabe.boelinger.com/forums/
102
 
103
  Example : http://nextgen.boelinger.com/2007/06/16/new-tag-picture-browser/
104
 
105
+ To show image sorted by tags : **[tags=name,name,name]**
106
+
107
+ Example : http://nextgen.boelinger.com/2007/08/07/tags/
108
+
109
+ To show tag albums : **[albumtags=name,name,name]**
110
+
111
+ Example : http://nextgen.boelinger.com/2007/08/11/albumtags/
112
+
113
+
114
  **Read as startup :** http://hqcode.com/?page_id=54
115
 
116
  **A further FAQ you can found here :** http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/faq/
thickbox/macFFBgHack.png ADDED
Binary file
thickbox/thickbox-pack.js CHANGED
@@ -1,11 +1,13 @@
1
  /*
2
- * Thickbox 3 - One Box To Rule Them All.
3
  * By Cody Lindley (http://www.codylindley.com)
4
  * Copyright (c) 2007 cody lindley
5
  * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
6
  */
7
 
8
- //Version 3.0.1 : alex.rabe : jQuery no colision mode, loading image
9
- //Version 3.0.2 : alex.rabe : add external init for nextgen plugin
10
-
11
- eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(8($){$(9).2k(8(){$.14(\'a.15, 2l.15, 2m.15\');1e=1f 1g();1e.M=2n});$.14=8 14(b){$(b).o(8(){6 t=N.O||N.1B||I;6 a=N.q||N.1C;6 g=N.1D||P;16(t,a,g);N.2o();J P})};8 16(d,f,g){2p{3(1h 9.r.K.1E==="1i"){$("r","L").p({z:"1F%",u:"1F%"});$("L").p("1G","2q");3(9.1H("1j")===I){$("r").A("<18 5=\'1j\'></18><4 5=\'E\'></4><4 5=\'7\'></4>");$("#E").o(B)}}n{3(9.1H("E")===I){$("r").A("<4 5=\'E\'></4><4 5=\'7\'>");$("#E").o(B)}}3(d===I){d=""}$("r").A("<4 5=\'F\'><1I M=\'"+1e.M+"\' /></4>");$(\'#F\').2r();6 h;3(f.W("?")!==-1){h=f.2s(0,f.W("?"))}n{h=f}6 i=/\\.1J|\\.1K|\\.1L|\\.1M|\\.1N/g;6 j=h.1O().1P(i);3(j==\'.1J\'||j==\'.1K\'||j==\'.1L\'||j==\'.1M\'||j==\'.1N\'){1k="";1l="";X="";1m="";1n="";Q="";1o="";1p=P;3(g){C=$("a[@1D="+g+"]").2t();1Q(v=0;((v<C.19)&&(Q===""));v++){6 k=C[v].q.1O().1P(i);3(!(C[v].q==f)){3(1p){1m=C[v].O;1n=C[v].q;Q="<1a 5=\'1R\'>&1b;&1b;<a q=\'#\'>2u &2v;</a></1a>"}n{1k=C[v].O;1l=C[v].q;X="<1a 5=\'1S\'>&1b;&1b;<a q=\'#\'>&2w; 2x</a></1a>"}}n{1p=1T;1o="1g "+(v+1)+" 2y "+(C.19)}}}R=1f 1g();R.1q=8(){R.1q=I;6 a=1U();6 x=a[0]-1V;6 y=a[1]-1V;6 b=R.u;6 c=R.z;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}Y=b+30;1c=c+2z;$("#7").A("<a q=\'\' 5=\'1W\' O=\'1r\'><1I 5=\'2A\' M=\'"+f+"\' u=\'"+b+"\' z=\'"+c+"\' 1C=\'"+d+"\'/></a>"+"<4 5=\'2B\'>"+d+"<4 5=\'2C\'>"+1o+X+Q+"</4></4><4 5=\'2D\'><a q=\'#\' 5=\'S\' O=\'1r\'>1s</a> 1t 1u 1v</4>");$("#S").o(B);3(!(X==="")){8 Z(){3($(9).T("o",Z)){$(9).T("o",Z)}$("#7").D();$("r").A("<4 5=\'7\'></4>");16(1k,1l,g);J P}$("#1S").o(Z)}3(!(Q==="")){8 1w(){$("#7").D();$("r").A("<4 5=\'7\'></4>");16(1m,1n,g);J P}$("#1R").o(1w)}9.1d=8(e){3(e==I){G=1X.1x}n{G=e.1Y}3(G==27){B()}n 3(G==2E){3(!(Q=="")){9.1d="";1w()}}n 3(G==2F){3(!(X=="")){9.1d="";Z()}}};11();$("#F").D();$("#1W").o(B);$("#7").p({U:"V"})};R.M=f}n{6 l=f.1Z(/^[^\\?]+\\??/,\'\');6 m=20(l);Y=(m[\'u\']*1)+30||2G;1c=(m[\'z\']*1)+2H||2I;12=Y-30;13=1c-2J;3(f.W(\'21\')!=-1){22=f.1y(\'2K\');$("#7").A("<4 5=\'23\'><4 5=\'1z\'>"+d+"</4><4 5=\'24\'><a q=\'#\' 5=\'S\' O=\'1r\'>1s</a> 1t 1u 1v</4></4><18 2L=\'0\' 2M=\'0\' M=\'"+22[0]+"\' 5=\'1A\' 1B=\'1A\' K=\'u:"+(12+29)+"s;z:"+(13+17)+"s;\' 1q=\'25()\'> </18>")}n{3($("#7").p("U")!="V"){3(m[\'26\']!="1T"){$("#7").A("<4 5=\'23\'><4 5=\'1z\'>"+d+"</4><4 5=\'24\'><a q=\'#\' 5=\'S\'>1s</a> 1t 1u 1v</4></4><4 5=\'H\' K=\'u:"+12+"s;z:"+13+"s\'></4>")}n{$("#E").T();$("#7").A("<4 5=\'H\' 2N=\'2O\' K=\'u:"+12+"s;z:"+13+"s;\'></4>")}}n{$("#H")[0].K.u=12+"s";$("#H")[0].K.z=13+"s";$("#H")[0].2P=0;$("#1z").L(d)}}$("#S").o(B);3(f.W(\'2Q\')!=-1){$("#H").L($(\'#\'+m[\'2R\']).L());11();$("#F").D();$("#7").p({U:"V"})}n 3(f.W(\'21\')!=-1){11();3(2S[\'1A\']===1i){$("#F").D();$("#7").p({U:"V"});$(9).2T(8(e){6 a=e.1x;3(a==27){B()}})}}n{$("#H").2U(f+="&2V="+(1f 2W().2X()),8(){11();$("#F").D();$.14("#H a.15");$("#7").p({U:"V"})})}}3(!m[\'26\']){9.2Y=8(e){3(e==I){G=1X.1x}n{G=e.1Y}3(G==27){B()}}}}2Z(e){}}8 25(){$("#F").D();$("#7").p({U:"V"})}8 B(){$("#31").T("o");$("#E").T("o");$("#S").T("o");$("#7").32("33",8(){$(\'#7,#E,#1j\').D()});$("#F").D();3(1h 9.r.K.1E=="1i"){$("r","L").p({z:"28",u:"28"});$("L").p("1G","")}9.1d="";J P}8 11(){$("#7").p({34:\'-\'+2a((Y/2),10)+\'s\',u:Y+\'s\'});3(!(2b.35.36&&1h 37==\'8\')){$("#7").p({38:\'-\'+2a((1c/2),10)+\'s\'})}}8 20(a){6 b={};3(!a){J b}6 c=a.1y(/[;&]/);1Q(6 i=0;i<c.19;i++){6 d=c[i].1y(\'=\');3(!d||d.19!=2){39}6 e=2c(d[0]);6 f=2c(d[1]);f=f.1Z(/\\+/g,\' \');b[e]=f}J b}8 1U(){6 a=9.3a;6 w=2d.2e||2f.2e||(a&&a.2g)||9.r.2g;6 h=2d.2h||2f.2h||(a&&a.2i)||9.r.2i;2j=[w,h];J 2j}})(2b);',62,197,'|||if|div|id|var|TB_window|function|document||||||||||||||else|click|css|href|body|px||width|TB_Counter||||height|append|tb_remove|TB_TempArray|remove|TB_overlay|TB_load|keycode|TB_ajaxContent|null|return|style|html|src|this|title|false|TB_NextHTML|imgPreloader|TB_closeWindowButton|unbind|display|block|indexOf|TB_PrevHTML|TB_WIDTH|goPrev||tb_position|ajaxContentW|ajaxContentH|tb_init|thickbox|tb_show||iframe|length|span|nbsp|TB_HEIGHT|onkeydown|imgLoader|new|Image|typeof|undefined|TB_HideSelect|TB_PrevCaption|TB_PrevURL|TB_NextCaption|TB_NextURL|TB_imageCount|TB_FoundURL|onload|Close|close|or|Esc|Key|goNext|keyCode|split|TB_ajaxWindowTitle|TB_iframeContent|name|alt|rel|maxHeight|100|overflow|getElementById|img|jpg|jpeg|png|gif|bmp|toLowerCase|match|for|TB_next|TB_prev|true|tb_getPageSize|150|TB_ImageOff|event|which|replace|tb_parseQuery|TB_iframe|urlNoQuery|TB_title|TB_closeAjaxWindow|tb_showIframe|modal||auto||parseInt|jQuery|unescape|window|innerWidth|self|clientWidth|innerHeight|clientHeight|arrayPageSize|ready|area|input|tb_pathToImage|blur|try|hidden|show|substr|get|Next|gt|lt|Prev|of|60|TB_Image|TB_caption|TB_secondLine|TB_closeWindow|190|188|630|40|440|45|TB_|frameborder|hspace|class|TB_modal|scrollTop|TB_inline|inlineId|frames|keyup|load|random|Date|getTime|onkeyup|catch||TB_imageOff|fadeOut|fast|marginLeft|browser|msie|XMLHttpRequest|marginTop|continue|documentElement'.split('|'),0,{}))
 
 
1
  /*
2
+ * Thickbox 3.1 - One Box To Rule Them All.
3
  * By Cody Lindley (http://www.codylindley.com)
4
  * Copyright (c) 2007 cody lindley
5
  * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
6
  */
7
 
8
+ //Version 3.1.1 : alex.rabe : jQuery no colision mode, loading image
9
+ // add external inits for nextgen plugin
10
+
11
+ //Version 3.1.2 : alex.rabe : Add Full size link
12
+
13
+ (function($){$.tb_init=function(domChunk){tb_init(domChunk)};$.tb_show=function(t,a,g){tb_show(t,a,g)};$.tb_remove=function(){tb_remove()};$(document).ready(function(){tb_init('a.thickbox, area.thickbox, input.thickbox');imgLoader=new Image();if(typeof tb_pathToImage!=="undefined")imgLoader.src=tb_pathToImage});function tb_init(domChunk){$(domChunk).click(function(){var t=this.title||this.name||null;var a=this.href||this.alt;var g=this.rel||false;tb_show(t,a,g);this.blur();return false})}function tb_show(caption,url,imageGroup){try{if(typeof document.body.style.maxHeight==="undefined"){$("body","html").css({height:"100%",width:"100%"});$("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove)}}if(tb_detectMacXFF()){$("#TB_overlay").addClass("TB_overlayMacFFBGHack")}else{$("#TB_overlay").addClass("TB_overlayBG")}if(caption===null){caption=""}$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");$('#TB_load').show();var baseURL;if(url.indexOf("?")!==-1){baseURL=url.substr(0,url.indexOf("?"))}else{baseURL=url}var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var urlType=baseURL.toLowerCase().match(urlString);if(urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'||urlType=='.bmp'){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(imageGroup){TB_TempArray=$("a[@rel="+imageGroup+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var urlTypeTemp=TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);if(!(TB_TempArray[TB_Counter].href==url)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>"}else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>"}}else{TB_FoundURL=true;TB_imageCount="Image "+(TB_Counter+1)+" of "+(TB_TempArray.length)}}}imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var pagesize=tb_getPageSize();var x=pagesize[0]-150;var y=pagesize[1]-150;var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.height;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y}}else if(imageHeight>y){imageWidth=imageWidth*(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight*(x/imageWidth);imageWidth=x}}TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;$("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>"+"<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>"+TB_imageCount+"&nbsp;&nbsp;<a href='"+url+"' id='TB_FullSize' title='Full Size'>Full Size</a>&nbsp;&nbsp;"+TB_PrevHTML+TB_NextHTML+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");$("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){function goPrev(){if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev)}$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,imageGroup);return false}$("#TB_prev").click(goPrev)}if(!(TB_NextHTML==="")){function goNext(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,imageGroup);return false}$("#TB_next").click(goNext)}document.onkeydown=function(e){if(e==null){keycode=event.keyCode}else{keycode=e.which}if(keycode==27){tb_remove()}else if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";goNext()}}else if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";goPrev()}}};tb_position();$("#TB_load").remove();$("#TB_ImageOff").click(tb_remove);$("#TB_window").css({display:"block"})};imgPreloader.src=url}else{var queryString=url.replace(/^[^\?]+\??/,'');var params=tb_parseQuery(queryString);TB_WIDTH=(params['width']*1)+30||630;TB_HEIGHT=(params['height']*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(url.indexOf('TB_iframe')!=-1){urlNoQuery=url.split('TB_');$("#TB_iframeContent").remove();if(params['modal']!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' > </iframe>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>")}}else{if($("#TB_window").css("display")!="block"){if(params['modal']!="true"){$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>")}else{$("#TB_overlay").unbind();$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>")}}else{$("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";$("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";$("#TB_ajaxContent")[0].scrollTop=0;$("#TB_ajaxWindowTitle").html(caption)}}$("#TB_closeWindowButton").click(tb_remove);if(url.indexOf('TB_inline')!=-1){$("#TB_ajaxContent").append($('#'+params['inlineId']).children());$("#TB_window").unload(function(){$('#'+params['inlineId']).append($("#TB_ajaxContent").children())});tb_position();$("#TB_load").remove();$("#TB_window").css({display:"block"})}else if(url.indexOf('TB_iframe')!=-1){tb_position();if($.browser.safari){$("#TB_load").remove();$("#TB_window").css({display:"block"})}}else{$("#TB_ajaxContent").load(url+="&random="+(new Date().getTime()),function(){tb_position();$("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");$("#TB_window").css({display:"block"})})}}if(!params['modal']){document.onkeyup=function(e){if(e==null){keycode=event.keyCode}else{keycode=e.which}if(keycode==27){tb_remove()}}}}catch(e){}}function tb_showIframe(){$("#TB_load").remove();$("#TB_window").css({display:"block"})}function tb_remove(){$("#TB_imageOff").unbind("click");$("#TB_closeWindowButton").unbind("click");$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove()});$("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){$("body","html").css({height:"auto",width:"auto"});$("html").css("overflow","")}document.onkeydown="";document.onkeyup="";return false}function tb_position(){$("#TB_window").css({marginLeft:'-'+parseInt((TB_WIDTH/2),10)+'px',width:TB_WIDTH+'px'});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){$("#TB_window").css({marginTop:'-'+parseInt((TB_HEIGHT/2),10)+'px'})}}function tb_parseQuery(query){var Params={};if(!query){return Params}var Pairs=query.split(/[;&]/);for(var i=0;i<Pairs.length;i++){var KeyVal=Pairs[i].split('=');if(!KeyVal||KeyVal.length!=2){continue}var key=unescape(KeyVal[0]);var val=unescape(KeyVal[1]);val=val.replace(/\+/g,' ');Params[key]=val}return Params}function tb_getPageSize(){var de=document.documentElement;var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;arrayPageSize=[w,h];return arrayPageSize}function tb_detectMacXFF(){var userAgent=navigator.userAgent.toLowerCase();if(userAgent.indexOf('mac')!=-1&&userAgent.indexOf('firefox')!=-1){return true}}})(jQuery);
thickbox/thickbox.css CHANGED
@@ -1,7 +1,7 @@
1
  /* ----------------------------------------------------------------------------------------------------------------*/
2
  /* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
3
  /* ----------------------------------------------------------------------------------------------------------------*/
4
- /* *{padding: 0; margin: 0;} */
5
 
6
  /* ----------------------------------------------------------------------------------------------------------------*/
7
  /* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
@@ -30,12 +30,16 @@
30
  z-index:100;
31
  top: 0px;
32
  left: 0px;
 
 
 
 
 
 
33
  background-color:#000;
34
  filter:alpha(opacity=75);
35
  -moz-opacity: 0.75;
36
  opacity: 0.75;
37
- height:100%;
38
- width:100%;
39
  }
40
 
41
  * html #TB_overlay { /* ie6 hack */
1
  /* ----------------------------------------------------------------------------------------------------------------*/
2
  /* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
3
  /* ----------------------------------------------------------------------------------------------------------------*/
4
+ /* *{padding: 0; margin: 0;} */
5
 
6
  /* ----------------------------------------------------------------------------------------------------------------*/
7
  /* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
30
  z-index:100;
31
  top: 0px;
32
  left: 0px;
33
+ height:100%;
34
+ width:100%;
35
+ }
36
+
37
+ .TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}
38
+ .TB_overlayBG {
39
  background-color:#000;
40
  filter:alpha(opacity=75);
41
  -moz-opacity: 0.75;
42
  opacity: 0.75;
 
 
43
  }
44
 
45
  * html #TB_overlay { /* ie6 hack */
thickbox/thickbox.js CHANGED
@@ -1,12 +1,14 @@
1
  /*
2
- * Thickbox 3 - One Box To Rule Them All.
3
  * By Cody Lindley (http://www.codylindley.com)
4
  * Copyright (c) 2007 cody lindley
5
  * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
6
  */
7
 
8
- //Version 3.0.1 : alex.rabe : jQuery no colision mode, loading image
9
- //Version 3.0.2 : alex.rabe : add external init for nextgen plugin
 
 
10
 
11
  // var tb_pathToImage = "images/loadingAnimation.gif";
12
 
@@ -16,15 +18,32 @@
16
  (function($){
17
  /*# AVOID COLLISIONS #*/
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  //on page load call tb_init
20
  $(document).ready(function(){
21
- $.tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
22
  imgLoader = new Image();// preload image
 
23
  imgLoader.src = tb_pathToImage;
24
  });
25
 
26
  //add thickbox to href & area elements that have a class of .thickbox
27
- $.tb_init = function tb_init(domChunk){
28
  $(domChunk).click(function(){
29
  var t = this.title || this.name || null;
30
  var a = this.href || this.alt;
@@ -33,7 +52,7 @@ $.tb_init = function tb_init(domChunk){
33
  this.blur();
34
  return false;
35
  });
36
- };
37
 
38
  function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
39
 
@@ -47,11 +66,17 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
47
  }
48
  }else{//all others
49
  if(document.getElementById("TB_overlay") === null){
50
- $("body").append("<div id='TB_overlay'></div><div id='TB_window'>");
51
  $("#TB_overlay").click(tb_remove);
52
  }
53
  }
54
 
 
 
 
 
 
 
55
  if(caption===null){caption="";}
56
  $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
57
  $('#TB_load').show();//show loader
@@ -63,7 +88,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
63
  baseURL = url;
64
  }
65
 
66
- var urlString = /\.jpg|\.jpeg|\.png|\.gif|\.bmp/g;
67
  var urlType = baseURL.toLowerCase().match(urlString);
68
 
69
  if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
@@ -126,7 +151,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
126
 
127
  TB_WIDTH = imageWidth + 30;
128
  TB_HEIGHT = imageHeight + 60;
129
- $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");
130
 
131
  $("#TB_closeWindowButton").click(tb_remove);
132
 
@@ -180,7 +205,7 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
180
  };
181
 
182
  imgPreloader.src = url;
183
- }else{//code to show html pages
184
 
185
  var queryString = url.replace(/^[^\?]+\??/,'');
186
  var params = tb_parseQuery( queryString );
@@ -190,18 +215,24 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
190
  ajaxContentW = TB_WIDTH - 30;
191
  ajaxContentH = TB_HEIGHT - 45;
192
 
193
- if(url.indexOf('TB_iframe') != -1){
194
- urlNoQuery = url.split('TB_');
195
- $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' onload='tb_showIframe()'> </iframe>");
196
- }else{
 
 
 
 
 
 
197
  if($("#TB_window").css("display") != "block"){
198
- if(params['modal'] != "true"){
199
  $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
200
- }else{
201
  $("#TB_overlay").unbind();
202
  $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
203
  }
204
- }else{
205
  $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
206
  $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
207
  $("#TB_ajaxContent")[0].scrollTop = 0;
@@ -212,22 +243,24 @@ function tb_show(caption, url, imageGroup) {//function called when the user clic
212
  $("#TB_closeWindowButton").click(tb_remove);
213
 
214
  if(url.indexOf('TB_inline') != -1){
215
- $("#TB_ajaxContent").html($('#' + params['inlineId']).html());
 
 
 
216
  tb_position();
217
  $("#TB_load").remove();
218
  $("#TB_window").css({display:"block"});
219
  }else if(url.indexOf('TB_iframe') != -1){
220
  tb_position();
221
- if(frames['TB_iframeContent'] === undefined){//be nice to safari
222
  $("#TB_load").remove();
223
  $("#TB_window").css({display:"block"});
224
- $(document).keyup( function(e){ var key = e.keyCode; if(key == 27){tb_remove();}});
225
  }
226
  }else{
227
  $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
228
  tb_position();
229
  $("#TB_load").remove();
230
- $.tb_init("#TB_ajaxContent a.thickbox");
231
  $("#TB_window").css({display:"block"});
232
  });
233
  }
@@ -260,21 +293,21 @@ function tb_showIframe(){
260
 
261
  function tb_remove() {
262
  $("#TB_imageOff").unbind("click");
263
- $("#TB_overlay").unbind("click");
264
  $("#TB_closeWindowButton").unbind("click");
265
- $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').remove();});
266
  $("#TB_load").remove();
267
  if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
268
  $("body","html").css({height: "auto", width: "auto"});
269
  $("html").css("overflow","");
270
  }
271
  document.onkeydown = "";
 
272
  return false;
273
  }
274
 
275
  function tb_position() {
276
  $("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
277
- if ( !(jQuery.browser.msie && typeof XMLHttpRequest == 'function')) { // take away IE6
278
  $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
279
  }
280
  }
@@ -302,6 +335,13 @@ function tb_getPageSize(){
302
  return arrayPageSize;
303
  }
304
 
 
 
 
 
 
 
 
305
  /*# AVOID COLLISIONS #*/
306
  })(jQuery);
307
  /*# AVOID COLLISIONS #*/
1
  /*
2
+ * Thickbox 3.1 - One Box To Rule Them All.
3
  * By Cody Lindley (http://www.codylindley.com)
4
  * Copyright (c) 2007 cody lindley
5
  * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
6
  */
7
 
8
+ //Version 3.1.1 : alex.rabe : jQuery no colision mode, loading image
9
+ // add external inits for nextgen plugin
10
+
11
+ //Version 3.1.2 : alex.rabe : Add Full size link
12
 
13
  // var tb_pathToImage = "images/loadingAnimation.gif";
14
 
18
  (function($){
19
  /*# AVOID COLLISIONS #*/
20
 
21
+ // ############################################
22
+ // added external access , changed by alex.rabe
23
+ $.tb_init = function(domChunk) {
24
+ tb_init(domChunk);
25
+ };
26
+
27
+ $.tb_show = function(t,a,g) {
28
+ tb_show(t,a,g);
29
+ };
30
+
31
+ $.tb_remove = function() {
32
+ tb_remove();
33
+ };
34
+
35
+ // ###########################################
36
+
37
  //on page load call tb_init
38
  $(document).ready(function(){
39
+ tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
40
  imgLoader = new Image();// preload image
41
+ if (typeof tb_pathToImage !== "undefined")
42
  imgLoader.src = tb_pathToImage;
43
  });
44
 
45
  //add thickbox to href & area elements that have a class of .thickbox
46
+ function tb_init(domChunk){
47
  $(domChunk).click(function(){
48
  var t = this.title || this.name || null;
49
  var a = this.href || this.alt;
52
  this.blur();
53
  return false;
54
  });
55
+ }
56
 
57
  function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
58
 
66
  }
67
  }else{//all others
68
  if(document.getElementById("TB_overlay") === null){
69
+ $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
70
  $("#TB_overlay").click(tb_remove);
71
  }
72
  }
73
 
74
+ if(tb_detectMacXFF()){
75
+ $("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
76
+ }else{
77
+ $("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
78
+ }
79
+
80
  if(caption===null){caption="";}
81
  $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
82
  $('#TB_load').show();//show loader
88
  baseURL = url;
89
  }
90
 
91
+ var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
92
  var urlType = baseURL.toLowerCase().match(urlString);
93
 
94
  if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
151
 
152
  TB_WIDTH = imageWidth + 30;
153
  TB_HEIGHT = imageHeight + 60;
154
+ $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + "&nbsp;&nbsp;<a href='" + url + "' id='TB_FullSize' title='Full Size'>Full Size</a>&nbsp;&nbsp;" + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");
155
 
156
  $("#TB_closeWindowButton").click(tb_remove);
157
 
205
  };
206
 
207
  imgPreloader.src = url;
208
+ }else{//code to show html
209
 
210
  var queryString = url.replace(/^[^\?]+\??/,'');
211
  var params = tb_parseQuery( queryString );
215
  ajaxContentW = TB_WIDTH - 30;
216
  ajaxContentH = TB_HEIGHT - 45;
217
 
218
+ if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
219
+ urlNoQuery = url.split('TB_');
220
+ $("#TB_iframeContent").remove();
221
+ if(params['modal'] != "true"){//iframe no modal
222
+ $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
223
+ }else{//iframe modal
224
+ $("#TB_overlay").unbind();
225
+ $("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
226
+ }
227
+ }else{// not an iframe, ajax
228
  if($("#TB_window").css("display") != "block"){
229
+ if(params['modal'] != "true"){//ajax no modal
230
  $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
231
+ }else{//ajax modal
232
  $("#TB_overlay").unbind();
233
  $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
234
  }
235
+ }else{//this means the window is already up, we are just loading new content via ajax
236
  $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
237
  $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
238
  $("#TB_ajaxContent")[0].scrollTop = 0;
243
  $("#TB_closeWindowButton").click(tb_remove);
244
 
245
  if(url.indexOf('TB_inline') != -1){
246
+ $("#TB_ajaxContent").append($('#' + params['inlineId']).children());
247
+ $("#TB_window").unload(function () {
248
+ $('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
249
+ });
250
  tb_position();
251
  $("#TB_load").remove();
252
  $("#TB_window").css({display:"block"});
253
  }else if(url.indexOf('TB_iframe') != -1){
254
  tb_position();
255
+ if($.browser.safari){//safari needs help because it will not fire iframe onload
256
  $("#TB_load").remove();
257
  $("#TB_window").css({display:"block"});
 
258
  }
259
  }else{
260
  $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
261
  tb_position();
262
  $("#TB_load").remove();
263
+ tb_init("#TB_ajaxContent a.thickbox");
264
  $("#TB_window").css({display:"block"});
265
  });
266
  }
293
 
294
  function tb_remove() {
295
  $("#TB_imageOff").unbind("click");
 
296
  $("#TB_closeWindowButton").unbind("click");
297
+ $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
298
  $("#TB_load").remove();
299
  if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
300
  $("body","html").css({height: "auto", width: "auto"});
301
  $("html").css("overflow","");
302
  }
303
  document.onkeydown = "";
304
+ document.onkeyup = "";
305
  return false;
306
  }
307
 
308
  function tb_position() {
309
  $("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
310
+ if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
311
  $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
312
  }
313
  }
335
  return arrayPageSize;
336
  }
337
 
338
+ function tb_detectMacXFF() {
339
+ var userAgent = navigator.userAgent.toLowerCase();
340
+ if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
341
+ return true;
342
+ }
343
+ }
344
+
345
  /*# AVOID COLLISIONS #*/
346
  })(jQuery);
347
  /*# AVOID COLLISIONS #*/