NextGEN Gallery – WordPress Gallery Plugin - Version 1.2.0

Version Description

Download this release

Release Info

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

Code changes from version 1.1.0 to 1.2.0

admin/about.php CHANGED
@@ -57,6 +57,7 @@ function ngg_list_contributors() {
57
  /* The list of my contributors. Thanks to all of them !*/
58
 
59
  $contributors = array(
 
60
  'Vincent Prat (Code contributor)' => 'http://www.vincentprat.info',
61
  'Frederic De Ranter (AJAX code contributor)' => 'http://li.deranter.com/',
62
  'Christian Arnold (Code contributor)' => 'http://blog.arctic-media.de/',
57
  /* The list of my contributors. Thanks to all of them !*/
58
 
59
  $contributors = array(
60
+ 'Simone Fumagalli (Code contributor)' => 'http://www.iliveinperego.com/',
61
  'Vincent Prat (Code contributor)' => 'http://www.vincentprat.info',
62
  'Frederic De Ranter (AJAX code contributor)' => 'http://li.deranter.com/',
63
  'Christian Arnold (Code contributor)' => 'http://blog.arctic-media.de/',
admin/addgallery.php CHANGED
@@ -11,6 +11,9 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
11
  // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
12
  $filepath = admin_url() . 'admin.php?page=' . $_GET['page'];
13
 
 
 
 
14
  // link for the flash file
15
  $swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php';
16
  $swf_upload_link = wp_nonce_url($swf_upload_link, 'ngg_swfupload');
@@ -145,20 +148,24 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
145
  <?php } else { ?>
146
  <!-- MultiFile script -->
147
  <script type="text/javascript">
148
- jQuery(function(){
 
149
  jQuery('#imagefiles').MultiFile({
150
  STRING: {
151
  remove:'<?php _e('remove', 'nggallery') ;?>'
152
  }
153
  });
154
  });
 
155
  </script>
156
  <?php } ?>
157
  <!-- jQuery Tabs script -->
158
  <script type="text/javascript">
159
- jQuery(function() {
 
160
  jQuery('#slider > ul').tabs({ fxFade: true, fxSpeed: 'fast' });
161
  });
 
162
  </script>
163
 
164
  <div id="slider" class="wrap">
@@ -215,6 +222,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
215
  }
216
  ?>
217
  </select>
 
218
  <br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n"; ?>
219
  <br /><?php if ( (IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck') ) display_space_usage(); ?></td>
220
  </tr>
@@ -233,7 +241,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
233
  <tr valign="top">
234
  <th scope="row"><?php _e('Import from Server path:', 'nggallery') ;?></th>
235
  <td><input type="text" size="35" name="galleryfolder" value="<?php echo $defaultpath; ?>" /><br />
236
- <?php _e('Import a folder with all images.', 'nggallery') ;?>
237
  <?php if (SAFE_MODE) {?><br /><?php _e(' Please note : For safe-mode = ON you need to add the subfolder thumbs manually', 'nggallery') ;?><?php }; ?></td>
238
  </tr>
239
  </table>
@@ -261,13 +269,13 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
261
  echo '<option value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
262
  } ?>
263
  </select>
264
- <br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n"; ?>
265
  <br /><?php if ((IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?></td>
266
  </tr>
267
  </table>
268
  <div class="submit">
269
  <?php if ($ngg->options['swfUpload']) { ?>
270
- <input type="submit" name="disable_flash" id="disable_flash" title="<?php _e('The batch upload requires Adobe Flash 9, disable it if you have problems','nggallery') ?>" value="<?php _e('Disable flash upload', 'nggallery') ;?>" />
271
  <?php } else { ?>
272
  <input type="submit" name="enable_flash" id="enable_flash" title="<?php _e('Upload multiple files at once by ctrl/shift-selecting in dialog','nggallery') ?>" value="<?php _e('Enable flash based upload', 'nggallery') ;?>" />
273
  <?php } ?>
11
  // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
12
  $filepath = admin_url() . 'admin.php?page=' . $_GET['page'];
13
 
14
+ // check for the max image size
15
+ $maxsize = nggGallery::check_memory_limit();
16
+
17
  // link for the flash file
18
  $swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php';
19
  $swf_upload_link = wp_nonce_url($swf_upload_link, 'ngg_swfupload');
148
  <?php } else { ?>
149
  <!-- MultiFile script -->
150
  <script type="text/javascript">
151
+ /* <![CDATA[ */
152
+ jQuery(document).ready(function(){
153
  jQuery('#imagefiles').MultiFile({
154
  STRING: {
155
  remove:'<?php _e('remove', 'nggallery') ;?>'
156
  }
157
  });
158
  });
159
+ /* ]]> */
160
  </script>
161
  <?php } ?>
162
  <!-- jQuery Tabs script -->
163
  <script type="text/javascript">
164
+ /* <![CDATA[ */
165
+ jQuery(document).ready(function(){
166
  jQuery('#slider > ul').tabs({ fxFade: true, fxSpeed: 'fast' });
167
  });
168
+ /* ]]> */
169
  </script>
170
 
171
  <div id="slider" class="wrap">
222
  }
223
  ?>
224
  </select>
225
+ <br /><?php echo $maxsize; ?>
226
  <br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n"; ?>
227
  <br /><?php if ( (IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck') ) display_space_usage(); ?></td>
228
  </tr>
241
  <tr valign="top">
242
  <th scope="row"><?php _e('Import from Server path:', 'nggallery') ;?></th>
243
  <td><input type="text" size="35" name="galleryfolder" value="<?php echo $defaultpath; ?>" /><br />
244
+ <br /><?php echo $maxsize; ?>
245
  <?php if (SAFE_MODE) {?><br /><?php _e(' Please note : For safe-mode = ON you need to add the subfolder thumbs manually', 'nggallery') ;?><?php }; ?></td>
246
  </tr>
247
  </table>
269
  echo '<option value="' . $gallery->gid . '" >' . $name . '</option>' . "\n";
270
  } ?>
271
  </select>
272
+ <br /><?php echo $maxsize; ?>
273
  <br /><?php if ((IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?></td>
274
  </tr>
275
  </table>
276
  <div class="submit">
277
  <?php if ($ngg->options['swfUpload']) { ?>
278
+ <input type="submit" name="disable_flash" id="disable_flash" title="<?php _e('The batch upload requires Adobe Flash 10, disable it if you have problems','nggallery') ?>" value="<?php _e('Disable flash upload', 'nggallery') ;?>" />
279
  <?php } else { ?>
280
  <input type="submit" name="enable_flash" id="enable_flash" title="<?php _e('Upload multiple files at once by ctrl/shift-selecting in dialog','nggallery') ?>" value="<?php _e('Enable flash based upload', 'nggallery') ;?>" />
281
  <?php } ?>
admin/admin.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @package NextGEN Gallery
6
  * @author Alex Rabe
7
- * @copyright 2008
8
  * @since 1.0.0
9
  */
10
  class nggAdminPanel{
@@ -225,6 +225,8 @@ class nggAdminPanel{
225
  $link .= ' | <a href="http://nextgen.boelinger.com/gallery-page/" target="_blank">' . __('Gallery example', 'nggallery') . '</a>';
226
  break;
227
  case "{$i18n}_page_nggallery-manage-gallery" :
 
 
228
  $link = __('<a href="http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/" target="_blank">Gallery management</a>', 'nggallery');
229
  $link .= ' | <a href="http://nextgen.boelinger.com/gallery-tags/" target="_blank">' . __('Gallery tags', 'nggallery') . '</a>';
230
  break;
4
  *
5
  * @package NextGEN Gallery
6
  * @author Alex Rabe
7
+ * @copyright 2008-2009
8
  * @since 1.0.0
9
  */
10
  class nggAdminPanel{
225
  $link .= ' | <a href="http://nextgen.boelinger.com/gallery-page/" target="_blank">' . __('Gallery example', 'nggallery') . '</a>';
226
  break;
227
  case "{$i18n}_page_nggallery-manage-gallery" :
228
+ case "nggallery-manage-gallery":
229
+ case "nggallery-manage-images":
230
  $link = __('<a href="http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/" target="_blank">Gallery management</a>', 'nggallery');
231
  $link .= ' | <a href="http://nextgen.boelinger.com/gallery-tags/" target="_blank">' . __('Gallery tags', 'nggallery') . '</a>';
232
  break;
admin/ajax.php CHANGED
@@ -45,11 +45,66 @@ function ngg_ajax_operation() {
45
  die('-1');
46
  break;
47
  }
48
- // A success should retun a '1'
49
  die ($result);
50
  }
51
 
52
  // The script should never stop here
53
  die('0');
54
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  ?>
45
  die('-1');
46
  break;
47
  }
48
+ // A success should return a '1'
49
  die ($result);
50
  }
51
 
52
  // The script should never stop here
53
  die('0');
54
  }
55
+
56
+ add_action('wp_ajax_createNewThumb', 'createNewThumb');
57
+
58
+ function createNewThumb() {
59
+
60
+ global $wpdb;
61
+
62
+ // check for correct capability
63
+ if ( !is_user_logged_in() )
64
+ die('-1');
65
+
66
+ // check for correct NextGEN capability
67
+ if ( !current_user_can('NextGEN Manage gallery') )
68
+ die('-1');
69
+
70
+ require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php');
71
+ include_once( nggGallery::graphic_library() );
72
+
73
+ $ngg_options=get_option('ngg_options');
74
+
75
+ $id = (int) $_POST['id'];
76
+ $picture = nggdb::find_image($id);
77
+
78
+ $x = round( $_POST['x'] * $_POST['rr'], 0);
79
+ $y = round( $_POST['y'] * $_POST['rr'], 0);
80
+ $w = round( $_POST['w'] * $_POST['rr'], 0);
81
+ $h = round( $_POST['h'] * $_POST['rr'], 0);
82
+
83
+ $thumb = new ngg_Thumbnail($picture->imagePath, TRUE);
84
+
85
+ $thumb->crop($x, $y, $w, $h);
86
+
87
+ $thumb_filename = $picture->thumbPath;
88
+
89
+ if ($ngg_options['thumbfix']) {
90
+ if ($thumb->currentDimensions['height'] > $thumb->currentDimensions['width']) {
91
+ $thumb->resize($ngg_options['thumbwidth'], 0);
92
+ } else {
93
+ $thumb->resize(0,$ngg_options['thumbheight']);
94
+ }
95
+ } else {
96
+ $thumb->resize($ngg_options['thumbwidth'],$ngg_options['thumbheight'],$ngg_options['thumbResampleMode']);
97
+ }
98
+
99
+ if ( $thumb->save($thumb_filename,100)) {
100
+ echo "OK";
101
+ } else {
102
+ header('HTTP/1.1 500 Internal Server Error');
103
+ echo "KO";
104
+ }
105
+
106
+ exit();
107
+
108
+ }
109
+
110
  ?>
admin/album.php CHANGED
@@ -247,14 +247,14 @@ function getgallerycontainer($galleryid = 0, $used = false) {
247
  <div class="innerhandle">
248
  <div class="item_top">
249
  <a href="#" class="min" title="close">[-]</a>
250
- ID: '.$gallery->gid.' || Title: '.$gallery->title.'
251
  </div>
252
  <div class="itemContent">
253
  <div class="inlinepicture">'.$img.'</div>
254
  <p><strong>'.__('ID', 'nggallery').' : </strong>'.$gallery->gid.'</p>
255
- <p><strong>'.__('Name', 'nggallery').' : </strong>'.$gallery->name.'</p>
256
- <p><strong>'.__('Title', 'nggallery').' : </strong>'.$gallery->title.'</p>
257
- <p><strong>'.__('Page', 'nggallery').' : </strong>'.$pagename.'</p>
258
  </div>
259
  </div>
260
  </div>';
247
  <div class="innerhandle">
248
  <div class="item_top">
249
  <a href="#" class="min" title="close">[-]</a>
250
+ ID: '.$gallery->gid.' || Title: '.nggGallery::i18n($gallery->title).'
251
  </div>
252
  <div class="itemContent">
253
  <div class="inlinepicture">'.$img.'</div>
254
  <p><strong>'.__('ID', 'nggallery').' : </strong>'.$gallery->gid.'</p>
255
+ <p><strong>'.__('Name', 'nggallery').' : </strong>'.nggGallery::i18n($gallery->name).'</p>
256
+ <p><strong>'.__('Title', 'nggallery').' : </strong>'.nggGallery::i18n($gallery->title).'</p>
257
+ <p><strong>'.__('Page', 'nggallery').' : </strong>'.nggGallery::i18n($pagename).'</p>
258
  </div>
259
  </div>
260
  </div>';
admin/functions.php CHANGED
@@ -14,8 +14,8 @@ class nggAdmin{
14
 
15
  //cleanup pathname
16
  $galleryname = apply_filters('ngg_gallery_name', $gallerytitle);
17
- $nggpath = $defaultpath.$galleryname;
18
- $nggRoot = WINABSPATH.$defaultpath;
19
  $txt = '';
20
 
21
  // No gallery name ?
@@ -26,8 +26,8 @@ class nggAdmin{
26
 
27
  // check for main folder
28
  if ( !is_dir($nggRoot) ) {
29
- if ( !wp_mkdir_p($nggRoot) ) {
30
- $txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />';
31
  $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> ';
32
  nggGallery::show_error($txt);
33
  return false;
@@ -35,33 +35,33 @@ class nggAdmin{
35
  }
36
 
37
  // check for permission settings, Safe mode limitations are not taken into account.
38
- if ( !is_writeable($nggRoot ) ) {
39
- $txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
40
  $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> ';
41
  nggGallery::show_error($txt);
42
  return false;
43
  }
44
 
45
  // 1. Create new gallery folder
46
- if ( !is_dir(WINABSPATH.$nggpath) ) {
47
- if ( !wp_mkdir_p (WINABSPATH.$nggpath) )
48
  $txt = __('Unable to create directory ', 'nggallery').$nggpath.'!<br />';
49
  }
50
 
51
  // 2. Check folder permission
52
- if ( !is_writeable(WINABSPATH.$nggpath ) )
53
  $txt .= __('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
54
 
55
  // 3. Now create "thumbs" folder inside
56
- if ( !is_dir(WINABSPATH.$nggpath.'/thumbs') ) {
57
- if ( !wp_mkdir_p ( WINABSPATH.$nggpath.'/thumbs') )
58
- $txt .= __('Unable to create directory ', 'nggallery').' <strong>'.$nggpath.'/thumbs !</strong>';
59
  }
60
 
61
  if (SAFE_MODE) {
62
  $help = __('The server setting Safe-Mode is on !', 'nggallery');
63
- $help .= '<br />'.__('If you have problems, please create directory', 'nggallery').' <strong>'.$nggpath.'</strong> ';
64
- $help .= __('and the thumbnails directory', 'nggallery').' <strong>'.$nggpath.'/thumbs</strong> '.__('with permission 777 manually !', 'nggallery');
65
  nggGallery::show_message($help);
66
  }
67
 
@@ -69,19 +69,20 @@ class nggAdmin{
69
  if ( !empty($txt) ) {
70
  if (SAFE_MODE) {
71
  // for safe_mode , better delete folder, both folder must be created manually
72
- @rmdir(WINABSPATH.$nggpath.'/thumbs');
73
- @rmdir(WINABSPATH.$nggpath);
74
  }
75
  nggGallery::show_error($txt);
76
  return false;
77
  }
78
 
79
- $result=$wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
 
80
  if ($result) {
81
- nggGallery::show_error( __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ) .' <strong>'.$galleryname.'</strong> '.__('already exists', 'nggallery'));
82
  return false;
83
  } else {
84
- $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES ('$galleryname', '$nggpath', '$gallerytitle' , '$user_ID') ");
85
  if ($result) {
86
  $message = __('Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>','nggallery');
87
  $message = sprintf($message, $galleryname, '[gallery id=' . $wpdb->insert_id . ']');
@@ -123,34 +124,46 @@ class nggAdmin{
123
  nggGallery::show_message(__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery'));
124
  return;
125
  }
 
126
  // check & create thumbnail folder
127
  if ( !nggGallery::get_thumbnail_folder($gallerypath) )
128
  return;
129
 
130
  // take folder name as gallery name
131
  $galleryname = basename($galleryfolder);
 
132
 
133
  // check for existing gallery folder
134
  $gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE path = '$galleryfolder' ");
135
 
136
  if (!$gallery_id) {
137
- $result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES ('$galleryname', '$galleryfolder', '$galleryname', '$user_ID') ");
138
  if (!$result) {
139
  nggGallery::show_error(__('Database error. Could not add gallery!','nggallery'));
140
  return;
141
  }
142
- $created_msg = __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ) . ' <strong>'.$galleryname.'</strong> '.__('successfully created!','nggallery').'<br />';
143
  $gallery_id = $wpdb->insert_id; // get index_id
144
  }
145
 
146
  // Look for existing image list
147
  $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' ");
 
148
  // if no images are there, create empty array
149
  if ($old_imageslist == NULL)
150
  $old_imageslist = array();
 
151
  // check difference
152
  $new_images = array_diff($new_imageslist, $old_imageslist);
153
 
 
 
 
 
 
 
 
 
154
  // add images to database
155
  $image_ids = nggAdmin::add_Images($gallery_id, $new_images);
156
 
@@ -169,7 +182,7 @@ class nggAdmin{
169
  // **************************************************************
170
  function scandir($dirname = '.') {
171
  // thx to php.net :-)
172
- $ext = array("jpeg", "jpg", "png", "gif");
173
  $files = array();
174
  if($handle = opendir($dirname)) {
175
  while(false !== ($file = readdir($handle)))
@@ -358,7 +371,7 @@ class nggAdmin{
358
 
359
  if ( is_array($imageslist) ) {
360
  foreach($imageslist as $picture) {
361
- $result = $wpdb->query("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES ('$galleryID', '$picture', '$picture', 0) ");
362
  $pic_id = (int) $wpdb->insert_id;
363
  if ($result)
364
  $image_ids[] = $pic_id;
@@ -402,10 +415,10 @@ class nggAdmin{
402
  // get the file date/time from exif
403
  $timestamp = $meta['timestamp'];
404
  // update database
405
- $result=$wpdb->query( "UPDATE $wpdb->nggpictures SET alttext = '$alttext', description = '$description', imagedate = '$timestamp' WHERE pid = $pic_id");
406
  // add the tags
407
  if ($meta['keywords']) {
408
- $taglist = explode(",", $meta['keywords']);
409
  wp_set_object_terms($pic_id, $taglist, 'ngg_tag');
410
  } // add tags
411
  }// error check
@@ -419,7 +432,7 @@ class nggAdmin{
419
  function get_MetaData($picPath) {
420
  // must be Gallery absPath + filename
421
 
422
- require_once(NGGALLERY_ABSPATH.'/lib/meta.php');
423
 
424
  $meta = array();
425
 
@@ -452,10 +465,11 @@ class nggAdmin{
452
 
453
  // **************************************************************
454
  function getOnlyImages($p_event, $p_header) {
 
455
  $info = pathinfo($p_header['filename']);
456
  // check for extension
457
  $ext = array('jpeg', 'jpg', 'png', 'gif');
458
- if (in_array( strtolower($info['extension']), $ext)) {
459
  // For MAC skip the ".image" files
460
  if ($info['basename']{0} == '.' )
461
  return 0;
@@ -496,12 +510,12 @@ class nggAdmin{
496
  // get foldername if selected
497
  $foldername = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
498
  }
499
-
500
  if ( empty($foldername) ) {
501
  nggGallery::show_error( __('Could not get a valid foldername', 'nggallery') );
502
  return false;
503
  }
504
-
505
  // set complete folder path
506
  $newfolder = WINABSPATH . $foldername;
507
 
@@ -513,7 +527,7 @@ class nggAdmin{
513
  nggGallery::show_error($message);
514
  return false;
515
  }
516
- if (!wp_mkdir_p ($newfolder.'/thumbs')) {
517
  nggGallery::show_error(__('Unable to create directory ', 'nggallery') . $newfolder . '/thumbs !');
518
  return false;
519
  }
@@ -524,10 +538,10 @@ class nggAdmin{
524
  @unlink($temp_zipfile);
525
 
526
  if ($result) {
527
- $message = __('Zip-File successfully unpacked','nggallery').'<br />';
528
 
529
  // parse now the folder and add to database
530
- $message .= nggAdmin::import_gallery( $foldername);
531
  nggGallery::show_message($message);
532
  }
533
 
@@ -577,9 +591,9 @@ class nggAdmin{
577
 
578
  $filename = sanitize_title($filepart['filename']) . '.' . $filepart['extension'];
579
 
580
- // check for allowed extension
581
  $ext = array('jpeg', 'jpg', 'png', 'gif');
582
- if (!in_array($filepart['extension'],$ext)){
583
  nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is no valid image file!','nggallery'));
584
  continue;
585
  }
14
 
15
  //cleanup pathname
16
  $galleryname = apply_filters('ngg_gallery_name', $gallerytitle);
17
+ $nggpath = $defaultpath . $galleryname;
18
+ $nggRoot = WINABSPATH . $defaultpath;
19
  $txt = '';
20
 
21
  // No gallery name ?
26
 
27
  // check for main folder
28
  if ( !is_dir($nggRoot) ) {
29
+ if ( !wp_mkdir_p( $nggRoot ) ) {
30
+ $txt = __('Directory', 'nggallery').' <strong>' . $defaultpath . '</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />';
31
  $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> ';
32
  nggGallery::show_error($txt);
33
  return false;
35
  }
36
 
37
  // check for permission settings, Safe mode limitations are not taken into account.
38
+ if ( !is_writeable( $nggRoot ) ) {
39
+ $txt = __('Directory', 'nggallery').' <strong>' . $defaultpath . '</strong> '.__('is not writeable !', 'nggallery').'<br />';
40
  $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> ';
41
  nggGallery::show_error($txt);
42
  return false;
43
  }
44
 
45
  // 1. Create new gallery folder
46
+ if ( !is_dir(WINABSPATH . $nggpath) ) {
47
+ if ( !wp_mkdir_p (WINABSPATH . $nggpath) )
48
  $txt = __('Unable to create directory ', 'nggallery').$nggpath.'!<br />';
49
  }
50
 
51
  // 2. Check folder permission
52
+ if ( !is_writeable(WINABSPATH . $nggpath ) )
53
  $txt .= __('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
54
 
55
  // 3. Now create "thumbs" folder inside
56
+ if ( !is_dir(WINABSPATH . $nggpath . '/thumbs') ) {
57
+ if ( !wp_mkdir_p ( WINABSPATH . $nggpath . '/thumbs') )
58
+ $txt .= __('Unable to create directory ', 'nggallery').' <strong>' . $nggpath . '/thumbs !</strong>';
59
  }
60
 
61
  if (SAFE_MODE) {
62
  $help = __('The server setting Safe-Mode is on !', 'nggallery');
63
+ $help .= '<br />'.__('If you have problems, please create directory', 'nggallery').' <strong>' . $nggpath . '</strong> ';
64
+ $help .= __('and the thumbnails directory', 'nggallery').' <strong>' . $nggpath . '/thumbs</strong> '.__('with permission 777 manually !', 'nggallery');
65
  nggGallery::show_message($help);
66
  }
67
 
69
  if ( !empty($txt) ) {
70
  if (SAFE_MODE) {
71
  // for safe_mode , better delete folder, both folder must be created manually
72
+ @rmdir(WINABSPATH . $nggpath . '/thumbs');
73
+ @rmdir(WINABSPATH . $nggpath);
74
  }
75
  nggGallery::show_error($txt);
76
  return false;
77
  }
78
 
79
+ $result = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
80
+
81
  if ($result) {
82
+ nggGallery::show_error( __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ) .' <strong>' . $galleryname . '</strong> '.__('already exists', 'nggallery'));
83
  return false;
84
  } else {
85
+ $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES (%s, %s, %s, %s)", $galleryname, $nggpath, $gallerytitle , $user_ID) );
86
  if ($result) {
87
  $message = __('Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>','nggallery');
88
  $message = sprintf($message, $galleryname, '[gallery id=' . $wpdb->insert_id . ']');
124
  nggGallery::show_message(__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery'));
125
  return;
126
  }
127
+
128
  // check & create thumbnail folder
129
  if ( !nggGallery::get_thumbnail_folder($gallerypath) )
130
  return;
131
 
132
  // take folder name as gallery name
133
  $galleryname = basename($galleryfolder);
134
+ $galleryname = apply_filters('ngg_gallery_name', $galleryname);
135
 
136
  // check for existing gallery folder
137
  $gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE path = '$galleryfolder' ");
138
 
139
  if (!$gallery_id) {
140
+ $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggallery (name, path, title, author) VALUES (%s, %s, %s, %s)", $galleryname, $galleryfolder, $galleryname , $user_ID) );
141
  if (!$result) {
142
  nggGallery::show_error(__('Database error. Could not add gallery!','nggallery'));
143
  return;
144
  }
145
+ $created_msg = __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ) . ' <strong>' . $galleryname . '</strong> ' . __('successfully created!','nggallery') . '<br />';
146
  $gallery_id = $wpdb->insert_id; // get index_id
147
  }
148
 
149
  // Look for existing image list
150
  $old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' ");
151
+
152
  // if no images are there, create empty array
153
  if ($old_imageslist == NULL)
154
  $old_imageslist = array();
155
+
156
  // check difference
157
  $new_images = array_diff($new_imageslist, $old_imageslist);
158
 
159
+ // all images must be valid files
160
+ foreach($new_images as $key => $picture) {
161
+ if (!@getimagesize($gallerypath . '/' . $picture) ) {
162
+ unset($new_images[$key]);
163
+ @unlink($gallerypath . '/' . $picture);
164
+ }
165
+ }
166
+
167
  // add images to database
168
  $image_ids = nggAdmin::add_Images($gallery_id, $new_images);
169
 
182
  // **************************************************************
183
  function scandir($dirname = '.') {
184
  // thx to php.net :-)
185
+ $ext = array('jpeg', 'jpg', 'png', 'gif');
186
  $files = array();
187
  if($handle = opendir($dirname)) {
188
  while(false !== ($file = readdir($handle)))
371
 
372
  if ( is_array($imageslist) ) {
373
  foreach($imageslist as $picture) {
374
+ $result = $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES (%s, %s, %s, 0)", $galleryID, $picture, $picture) );
375
  $pic_id = (int) $wpdb->insert_id;
376
  if ($result)
377
  $image_ids[] = $pic_id;
415
  // get the file date/time from exif
416
  $timestamp = $meta['timestamp'];
417
  // update database
418
+ $result = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->nggpictures SET alttext = %s, description = %s, imagedate = %s WHERE pid = %d", $alttext, $description, $timestamp, $pic_id) );
419
  // add the tags
420
  if ($meta['keywords']) {
421
+ $taglist = explode(',', $meta['keywords']);
422
  wp_set_object_terms($pic_id, $taglist, 'ngg_tag');
423
  } // add tags
424
  }// error check
432
  function get_MetaData($picPath) {
433
  // must be Gallery absPath + filename
434
 
435
+ require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
436
 
437
  $meta = array();
438
 
465
 
466
  // **************************************************************
467
  function getOnlyImages($p_event, $p_header) {
468
+
469
  $info = pathinfo($p_header['filename']);
470
  // check for extension
471
  $ext = array('jpeg', 'jpg', 'png', 'gif');
472
+ if ( in_array( strtolower($info['extension']), $ext) ) {
473
  // For MAC skip the ".image" files
474
  if ($info['basename']{0} == '.' )
475
  return 0;
510
  // get foldername if selected
511
  $foldername = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
512
  }
513
+
514
  if ( empty($foldername) ) {
515
  nggGallery::show_error( __('Could not get a valid foldername', 'nggallery') );
516
  return false;
517
  }
518
+
519
  // set complete folder path
520
  $newfolder = WINABSPATH . $foldername;
521
 
527
  nggGallery::show_error($message);
528
  return false;
529
  }
530
+ if (!wp_mkdir_p ($newfolder . '/thumbs')) {
531
  nggGallery::show_error(__('Unable to create directory ', 'nggallery') . $newfolder . '/thumbs !');
532
  return false;
533
  }
538
  @unlink($temp_zipfile);
539
 
540
  if ($result) {
541
+ $message = __('Zip-File successfully unpacked','nggallery') . '<br />';
542
 
543
  // parse now the folder and add to database
544
+ $message .= nggAdmin::import_gallery( $foldername );
545
  nggGallery::show_message($message);
546
  }
547
 
591
 
592
  $filename = sanitize_title($filepart['filename']) . '.' . $filepart['extension'];
593
 
594
+ // check for allowed extension and if it's an image file
595
  $ext = array('jpeg', 'jpg', 'png', 'gif');
596
+ if ( !in_array($filepart['extension'], $ext) || !@getimagesize($temp_file) ){
597
  nggGallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is no valid image file!','nggallery'));
598
  continue;
599
  }
admin/js/Jcrop/css/Jcrop.gif ADDED
Binary file
admin/js/Jcrop/css/jquery.Jcrop.css ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Fixes issue here http://code.google.com/p/jcrop/issues/detail?id=1 */
2
+ .jcrop-holder
3
+ {
4
+ text-align: left;
5
+ }
6
+
7
+ .jcrop-vline, .jcrop-hline
8
+ {
9
+ font-size: 0;
10
+ position: absolute;
11
+ background: white url('Jcrop.gif') top left repeat;
12
+ /*
13
+ opacity: .5;
14
+ *filter:alpha(opacity=50);
15
+ */
16
+ }
17
+ .jcrop-vline { height: 100%; width: 1px !important; }
18
+ .jcrop-hline { width: 100%; height: 1px !important; }
19
+ .jcrop-handle {
20
+ font-size: 1px;
21
+ width: 7px !important;
22
+ height: 7px !important;
23
+ border: 1px #eee solid;
24
+ background-color: #333;
25
+ *width: 9px;
26
+ *height: 9px;
27
+ }
28
+
29
+ .jcrop-tracker {
30
+ *background-color: gray;
31
+ width: 100%; height: 100%;
32
+ }
33
+
34
+ .custom .jcrop-vline,
35
+ .custom .jcrop-hline
36
+ {
37
+ background: yellow;
38
+ }
39
+ .custom .jcrop-handle
40
+ {
41
+ border-color: black;
42
+ background-color: #C7BB00;
43
+ -moz-border-radius: 3px;
44
+ -webkit-border-radius: 3px;
45
+ }
admin/js/Jcrop/js/jquery.Jcrop.js ADDED
@@ -0,0 +1,1092 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jquery.Jcrop.js v0.9.5
3
+ * jQuery Image Cropping Plugin
4
+ * @author Kelly Hallman <khallman@wrack.org>
5
+ * Copyright (c) 2008 Kelly Hallman - released under MIT License {{{
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person
8
+ * obtaining a copy of this software and associated documentation
9
+ * files (the "Software"), to deal in the Software without
10
+ * restriction, including without limitation the rights to use,
11
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ * copies of the Software, and to permit persons to whom the
13
+ * Software is furnished to do so, subject to the following
14
+ * conditions:
15
+
16
+ * The above copyright notice and this permission notice shall be
17
+ * included in all copies or substantial portions of the Software.
18
+
19
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ * OTHER DEALINGS IN THE SOFTWARE.
27
+
28
+ * }}}
29
+ *
30
+ * IMPORTANT NOTE
31
+ * ------------------------------------------------------------------------
32
+ * This is NOT the ufficial version of jCrop by Kelly Hallman but has been
33
+ * modified by Simone Fumagalli to be used on Wordpress.
34
+ *
35
+ * I've basically changed $ with jQuery
36
+ * ------------------------------------------------------------------------
37
+ */
38
+
39
+ jQuery.Jcrop = function(obj,opt)
40
+ {
41
+ // Initialization {{{
42
+
43
+ // Sanitize some options {{{
44
+ var obj = obj, opt = opt;
45
+
46
+ if (typeof(obj) !== 'object') obj = jQuery(obj)[0];
47
+ if (typeof(opt) !== 'object') opt = { };
48
+
49
+ if (!('trackDocument' in opt))
50
+ opt.trackDocument = jQuery.browser.msie ? false : true;
51
+
52
+ if (!('keySupport' in opt))
53
+ opt.keySupport = jQuery.browser.msie ? false : true;
54
+
55
+ // }}}
56
+ // Extend the default options {{{
57
+ var defaults = {
58
+
59
+ // Basic Settings
60
+ trackDocument: false,
61
+ baseClass: 'jcrop',
62
+ addClass: null,
63
+
64
+ // Styling Options
65
+ bgColor: 'black',
66
+ bgOpacity: .6,
67
+ borderOpacity: .4,
68
+ handleOpacity: .5,
69
+
70
+ handlePad: 5,
71
+ handleSize: 9,
72
+ handleOffset: 5,
73
+ edgeMargin: 14,
74
+
75
+ aspectRatio: 0,
76
+ keySupport: true,
77
+ cornerHandles: true,
78
+ sideHandles: true,
79
+ drawBorders: true,
80
+ dragEdges: true,
81
+
82
+ boxWidth: 0,
83
+ boxHeight: 0,
84
+
85
+ boundary: 8,
86
+ animationDelay: 20,
87
+ swingSpeed: 3,
88
+
89
+ watchShift: false,
90
+ minSelect: [ 0, 0 ],
91
+ maxSize: [ 0, 0 ],
92
+ minSize: [ 0, 0 ],
93
+
94
+ // Callbacks / Event Handlers
95
+ onChange: function() { },
96
+ onSelect: function() { }
97
+
98
+ };
99
+ var options = defaults;
100
+ setOptions(opt);
101
+
102
+ // }}}
103
+ // Initialize some jQuery objects {{{
104
+
105
+ var $img = jQuery(obj).css({ position: 'absolute' });
106
+
107
+ presize($img,options.boxWidth,options.boxHeight);
108
+
109
+ var boundx = $img.width(),
110
+ boundy = $img.height(),
111
+
112
+ $div = jQuery('<div />')
113
+ .width(boundx).height(boundy)
114
+ .addClass(cssClass('holder'))
115
+ .css({
116
+ position: 'relative',
117
+ //overflow: 'hidden',
118
+ backgroundColor: options.bgColor
119
+ })
120
+ ;
121
+
122
+ if (options.addClass) $div.addClass(options.addClass);
123
+ $img.wrap($div);
124
+
125
+ var $img2 = jQuery('<img />')/*{{{*/
126
+ .attr('src',$img.attr('src'))
127
+ .css('position','absolute')
128
+ .width(boundx).height(boundy)
129
+ ;/*}}}*/
130
+ var $img_holder = jQuery('<div />')/*{{{*/
131
+ .width(pct(100)).height(pct(100))
132
+ .css({
133
+ zIndex: 310,
134
+ position: 'absolute',
135
+ overflow: 'hidden'
136
+ })
137
+ .append($img2)
138
+ ;/*}}}*/
139
+ var $hdl_holder = jQuery('<div />')/*{{{*/
140
+ .width(pct(100)).height(pct(100))
141
+ .css({
142
+ zIndex: 320
143
+ //position: 'absolute'
144
+ })
145
+ ;/*}}}*/
146
+ var $sel = jQuery('<div />')/*{{{*/
147
+ .css({
148
+ position: 'absolute',
149
+ zIndex: 300
150
+ })
151
+ .insertBefore($img)
152
+ .append($img_holder,$hdl_holder)
153
+ ;/*}}}*/
154
+
155
+ var bound = options.boundary;
156
+ var $trk = jQuery('<div />')
157
+ .addClass(cssClass('tracker'))
158
+ .width(boundx+(bound*2))
159
+ .height(boundy+(bound*2))
160
+ .css({
161
+ position: 'absolute',
162
+ top: px(-bound),
163
+ left: px(-bound),
164
+ zIndex: 290,
165
+ opacity: 0
166
+ })
167
+ .mousedown(newSelection)
168
+ ;
169
+
170
+ /* }}} */
171
+ // Set more variables {{{
172
+
173
+ var xscale, yscale;
174
+ var docOffset = getPos(obj),
175
+ // Internal states
176
+ btndown, aspectLock, lastcurs, dimmed, animating,
177
+ shift_down;
178
+
179
+ // }}}
180
+ if ('trueSize' in options)/*{{{*/
181
+ {
182
+ xscale = options.trueSize[0] / boundx;
183
+ yscale = options.trueSize[1] / boundy;
184
+ }
185
+ /*}}}*/
186
+
187
+ // }}}
188
+ // Internal Modules {{{
189
+
190
+ var Coords = function()/*{{{*/
191
+ {
192
+ var x1 = 0, y1 = 0, x2 = 0, y2 = 0, ox, oy;
193
+
194
+ function setPressed(pos)/*{{{*/
195
+ {
196
+ var pos = rebound(pos);
197
+ x2 = x1 = pos[0];
198
+ y2 = y1 = pos[1];
199
+ };
200
+ /*}}}*/
201
+ function setCurrent(pos)/*{{{*/
202
+ {
203
+ var pos = rebound(pos);
204
+ ox = pos[0] - x2;
205
+ oy = pos[1] - y2;
206
+ x2 = pos[0];
207
+ y2 = pos[1];
208
+ };
209
+ /*}}}*/
210
+ function getOffset()/*{{{*/
211
+ {
212
+ return [ ox, oy ];
213
+ };
214
+ /*}}}*/
215
+ function moveOffset(offset)/*{{{*/
216
+ {
217
+ var ox = offset[0], oy = offset[1];
218
+
219
+ if (0 > x1 + ox) ox -= ox + x1;
220
+ if (0 > y1 + oy) oy -= oy + y1;
221
+
222
+ if (boundy < y2 + oy) oy += boundy - (y2 + oy);
223
+ if (boundx < x2 + ox) ox += boundx - (x2 + ox);
224
+
225
+ x1 += ox;
226
+ x2 += ox;
227
+ y1 += oy;
228
+ y2 += oy;
229
+ };
230
+ /*}}}*/
231
+ function getCorner(ord)/*{{{*/
232
+ {
233
+ var c = getFixed();
234
+ switch(ord)
235
+ {
236
+ case 'ne': return [ c.x2, c.y ];
237
+ case 'nw': return [ c.x, c.y ];
238
+ case 'se': return [ c.x2, c.y2 ];
239
+ case 'sw': return [ c.x, c.y2 ];
240
+ }
241
+ };
242
+ /*}}}*/
243
+ function getFixed()/*{{{*/
244
+ {
245
+ if (!options.aspectRatio && !aspectLock) return getRect();
246
+
247
+ // This function could use some optimization I think...
248
+ var aspect = options.aspectRatio ? options.aspectRatio : aspectLock,
249
+ min = options.minSize,
250
+ max = options.maxSize,
251
+ rw = x2 - x1,
252
+ rh = y2 - y1,
253
+ rwa = Math.abs(rw),
254
+ rha = Math.abs(rh),
255
+ real_ratio = rwa / rha,
256
+ xx, yy
257
+ ;
258
+
259
+ if (real_ratio < aspect)
260
+ {
261
+ yy = y2;
262
+ w = rha * aspect;
263
+ xx = rw < 0 ? x1 - w : w + x1;
264
+
265
+ if (xx < 0)
266
+ {
267
+ xx = 0;
268
+ h = Math.abs((xx - x1) / aspect);
269
+ yy = rh < 0 ? y1 - h: h + y1;
270
+ }
271
+ else if (xx > boundx)
272
+ {
273
+ xx = boundx;
274
+ h = Math.abs((xx - x1) / aspect);
275
+ yy = rh < 0 ? y1 - h : h + y1;
276
+ }
277
+ }
278
+ else
279
+ {
280
+ xx = x2;
281
+ h = rwa / aspect;
282
+ yy = rh < 0 ? y1 - h : y1 + h;
283
+ if (yy < 0)
284
+ {
285
+ yy = 0;
286
+ w = Math.abs((yy - y1) * aspect);
287
+ xx = rw < 0 ? x1 - w : w + x1;
288
+ }
289
+ else if (yy > boundy)
290
+ {
291
+ yy = boundy;
292
+ w = Math.abs(yy - y1) * aspect;
293
+ xx = rw < 0 ? x1 - w : w + x1;
294
+ }
295
+ }
296
+ return last = makeObj(flipCoords(x1,y1,xx,yy));
297
+ };
298
+ /*}}}*/
299
+ function rebound(p)/*{{{*/
300
+ {
301
+ if (p[0] < 0) p[0] = 0;
302
+ if (p[1] < 0) p[1] = 0;
303
+
304
+ if (p[0] > boundx) p[0] = boundx;
305
+ if (p[1] > boundy) p[1] = boundy;
306
+
307
+ return [ p[0], p[1] ];
308
+ };
309
+ /*}}}*/
310
+ function flipCoords(x1,y1,x2,y2)/*{{{*/
311
+ {
312
+ var xa = x1, xb = x2, ya = y1, yb = y2;
313
+ if (x2 < x1)
314
+ {
315
+ xa = x2;
316
+ xb = x1;
317
+ }
318
+ if (y2 < y1)
319
+ {
320
+ ya = y2;
321
+ yb = y1;
322
+ }
323
+ return [ Math.round(xa), Math.round(ya), Math.round(xb), Math.round(yb) ];
324
+ };
325
+ /*}}}*/
326
+ function getRect()/*{{{*/
327
+ {
328
+ var xsize = x2 - x1;
329
+ var ysize = y2 - y1;
330
+
331
+ if (xlimit && (Math.abs(xsize) > xlimit))
332
+ x2 = (xsize > 0) ? (x1 + xlimit) : (x1 - xlimit);
333
+ if (ylimit && (Math.abs(ysize) > ylimit))
334
+ y2 = (ysize > 0) ? (y1 + ylimit) : (y1 - ylimit);
335
+
336
+ if (ymin && (Math.abs(ysize) < ymin))
337
+ y2 = (ysize > 0) ? (y1 + ymin) : (y1 - ymin);
338
+ if (xmin && (Math.abs(xsize) < xmin))
339
+ x2 = (xsize > 0) ? (x1 + xmin) : (x1 - xmin);
340
+
341
+ if (x1 < 0) { x2 -= x1; x1 -= x1; }
342
+ if (y1 < 0) { y2 -= y1; y1 -= y1; }
343
+ if (x2 < 0) { x1 -= x2; x2 -= x2; }
344
+ if (y2 < 0) { y1 -= y2; y2 -= y2; }
345
+ if (x2 > boundx) { var delta = x2 - boundx; x1 -= delta; x2 -= delta; }
346
+ if (y2 > boundy) { var delta = y2 - boundy; y1 -= delta; y2 -= delta; }
347
+ if (x1 > boundx) { var delta = x1 - boundy; y2 -= delta; y1 -= delta; }
348
+ if (y1 > boundy) { var delta = y1 - boundy; y2 -= delta; y1 -= delta; }
349
+
350
+ return makeObj(flipCoords(x1,y1,x2,y2));
351
+ };
352
+ /*}}}*/
353
+ function makeObj(a)/*{{{*/
354
+ {
355
+ return { x: a[0], y: a[1], x2: a[2], y2: a[3],
356
+ w: a[2] - a[0], h: a[3] - a[1] };
357
+ };
358
+ /*}}}*/
359
+
360
+ return {
361
+ flipCoords: flipCoords,
362
+ setPressed: setPressed,
363
+ setCurrent: setCurrent,
364
+ getOffset: getOffset,
365
+ moveOffset: moveOffset,
366
+ getCorner: getCorner,
367
+ getFixed: getFixed
368
+ };
369
+ }();
370
+
371
+ /*}}}*/
372
+ var Selection = function()/*{{{*/
373
+ {
374
+ var start, end, dragmode, awake, hdep = 370;
375
+ var borders = { };
376
+ var handle = { };
377
+ var seehandles = false;
378
+ var hhs = options.handleOffset;
379
+
380
+ /* Insert draggable elements {{{*/
381
+
382
+ // Insert border divs for outline
383
+ if (options.drawBorders) {
384
+ borders = {
385
+ top: insertBorder('hline')
386
+ .css('top',jQuery.browser.msie?px(-1):px(0)),
387
+ bottom: insertBorder('hline'),
388
+ left: insertBorder('vline'),
389
+ right: insertBorder('vline')
390
+ };
391
+ }
392
+
393
+ // Insert handles on edges
394
+ if (options.dragEdges) {
395
+ handle.t = insertDragbar('n');
396
+ handle.b = insertDragbar('s');
397
+ handle.r = insertDragbar('e');
398
+ handle.l = insertDragbar('w');
399
+ }
400
+
401
+ // Insert side handles
402
+ options.sideHandles &&
403
+ createHandles(['n','s','e','w']);
404
+
405
+ // Insert corner handles
406
+ options.cornerHandles &&
407
+ createHandles(['sw','nw','ne','se']);
408
+
409
+ /*}}}*/
410
+ // Private Methods
411
+ function insertBorder(type)/*{{{*/
412
+ {
413
+ var jq = jQuery('<div />')
414
+ .css({position: 'absolute', opacity: options.borderOpacity })
415
+ .addClass(cssClass(type));
416
+ $img_holder.append(jq);
417
+ return jq;
418
+ };
419
+ /*}}}*/
420
+ function dragDiv(ord,zi)/*{{{*/
421
+ {
422
+ var jq = jQuery('<div />')
423
+ .mousedown(createDragger(ord))
424
+ .css({
425
+ cursor: ord+'-resize',
426
+ position: 'absolute',
427
+ zIndex: zi
428
+ })
429
+ ;
430
+ $hdl_holder.append(jq);
431
+ return jq;
432
+ };
433
+ /*}}}*/
434
+ function insertHandle(ord)/*{{{*/
435
+ {
436
+ return dragDiv(ord,hdep++)
437
+ .css({ top: px(-hhs+1), left: px(-hhs+1), opacity: options.handleOpacity })
438
+ .addClass(cssClass('handle'));
439
+ };
440
+ /*}}}*/
441
+ function insertDragbar(ord)/*{{{*/
442
+ {
443
+ var s = options.handleSize,
444
+ o = hhs,
445
+ h = s, w = s,
446
+ t = o, l = o;
447
+
448
+ switch(ord)
449
+ {
450
+ case 'n': case 's': w = pct(100); break;
451
+ case 'e': case 'w': h = pct(100); break;
452
+ }
453
+
454
+ return dragDiv(ord,hdep++).width(w).height(h)
455
+ .css({ top: px(-t+1), left: px(-l+1)});
456
+ };
457
+ /*}}}*/
458
+ function createHandles(li)/*{{{*/
459
+ {
460
+ for(i in li) handle[li[i]] = insertHandle(li[i]);
461
+ };
462
+ /*}}}*/
463
+ function moveHandles(c)/*{{{*/
464
+ {
465
+ var midvert = Math.round((c.h / 2) - hhs),
466
+ midhoriz = Math.round((c.w / 2) - hhs),
467
+ north = west = -hhs+1,
468
+ east = c.w - hhs,
469
+ south = c.h - hhs,
470
+ x, y;
471
+
472
+ 'e' in handle &&
473
+ handle.e.css({ top: px(midvert), left: px(east) }) &&
474
+ handle.w.css({ top: px(midvert) }) &&
475
+ handle.s.css({ top: px(south), left: px(midhoriz) }) &&
476
+ handle.n.css({ left: px(midhoriz) });
477
+
478
+ 'ne' in handle &&
479
+ handle.ne.css({ left: px(east) }) &&
480
+ handle.se.css({ top: px(south), left: px(east) }) &&
481
+ handle.sw.css({ top: px(south) });
482
+
483
+ 'b' in handle &&
484
+ handle.b.css({ top: px(south) }) &&
485
+ handle.r.css({ left: px(east) });
486
+ };
487
+ /*}}}*/
488
+ function moveto(x,y)/*{{{*/
489
+ {
490
+ $img2.css({ top: px(-y), left: px(-x) });
491
+ $sel.css({ top: px(y), left: px(x) });
492
+ };
493
+ /*}}}*/
494
+ function resize(w,h)/*{{{*/
495
+ {
496
+ $sel.width(w).height(h);
497
+ };
498
+ /*}}}*/
499
+ function refresh()/*{{{*/
500
+ {
501
+ var p = Coords.getFixed();
502
+ Coords.setPressed([p.x,p.y]);
503
+ Coords.setCurrent([p.x2,p.y2]);
504
+ };
505
+ /*}}}*/
506
+
507
+ // Internal Methods
508
+ function updateVisible()/*{{{*/
509
+ { if (awake) return update(); };
510
+ /*}}}*/
511
+ function update()/*{{{*/
512
+ {
513
+ var c = Coords.getFixed();
514
+
515
+ resize(c.w,c.h);
516
+ moveto(c.x,c.y);
517
+
518
+ options.drawBorders &&
519
+ borders['right'].css({ left: px(c.w-1) }) &&
520
+ borders['bottom'].css({ top: px(c.h-1) });
521
+
522
+ seehandles && moveHandles(c);
523
+ awake || show();
524
+
525
+ options.onChange(unscale(c));
526
+ };
527
+ /*}}}*/
528
+ function show()/*{{{*/
529
+ {
530
+ $sel.show();
531
+ $img.css('opacity',options.bgOpacity);
532
+ awake = true;
533
+ };
534
+ /*}}}*/
535
+ function release()/*{{{*/
536
+ {
537
+ disableHandles();
538
+ $sel.hide();
539
+ $img.css('opacity',1);
540
+ awake = false;
541
+ };
542
+ /*}}}*/
543
+ function hide()/*{{{*/
544
+ {
545
+ release();
546
+ $img.css('opacity',1);
547
+ awake = false;
548
+ };
549
+ /*}}}*/
550
+ function enableHandles()/*{{{*/
551
+ {
552
+ seehandles = true;
553
+ moveHandles(Coords.getFixed());
554
+ $hdl_holder.show();
555
+ };
556
+ /*}}}*/
557
+ function disableHandles()/*{{{*/
558
+ {
559
+ seehandles = false;
560
+ $hdl_holder.hide();
561
+ };
562
+ /*}}}*/
563
+ function animMode(v)/*{{{*/
564
+ {
565
+ (animating = v) ? disableHandles(): enableHandles();
566
+ };
567
+ /*}}}*/
568
+ function done()/*{{{*/
569
+ {
570
+ var c = Coords.getFixed();
571
+ animMode(false);
572
+ refresh();
573
+ };
574
+ /*}}}*/
575
+
576
+ disableHandles();
577
+
578
+ $img_holder.append
579
+ (
580
+ jQuery('<div />')
581
+ .addClass(cssClass('tracker'))
582
+ .mousedown(createDragger('move'))
583
+ .css({ cursor: 'move', position: 'absolute', zIndex: 360, opacity: 0 })
584
+ );
585
+
586
+ return {
587
+ updateVisible: updateVisible,
588
+ update: update,
589
+ release: release,
590
+ show: show,
591
+ hide: hide,
592
+ enableHandles: enableHandles,
593
+ disableHandles: disableHandles,
594
+ animMode: animMode,
595
+ done: done
596
+ };
597
+ }();
598
+ /*}}}*/
599
+ var Tracker = function()/*{{{*/
600
+ {
601
+ var onMove = function() { },
602
+ onDone = function() { },
603
+ trackDoc = options.trackDocument;
604
+
605
+ if (!trackDoc)
606
+ {
607
+ $trk
608
+ .mousemove(trackMove)
609
+ .mouseup(trackUp)
610
+ .mouseout(trackUp)
611
+ ;
612
+ }
613
+
614
+ function toFront()/*{{{*/
615
+ {
616
+ if (trackDoc)
617
+ {
618
+ jQuery(document)
619
+ .mousemove(trackMove)
620
+ .mouseup(trackUp)
621
+ ;
622
+ }
623
+ $trk.css({zIndex:450});
624
+ }
625
+ /*}}}*/
626
+ function toBack()/*{{{*/
627
+ {
628
+ if (trackDoc)
629
+ {
630
+ jQuery(document)
631
+ .unbind('mousemove',trackMove)
632
+ .unbind('mouseup',trackUp)
633
+ ;
634
+ }
635
+ $trk.css({zIndex:290});
636
+ }
637
+ /*}}}*/
638
+ function trackMove(e)/*{{{*/
639
+ {
640
+ onMove(mouseAbs(e));
641
+ };
642
+ /*}}}*/
643
+ function trackUp(e)/*{{{*/
644
+ {
645
+ e.preventDefault();
646
+ e.stopPropagation();
647
+
648
+ if (btndown)
649
+ {
650
+ btndown = false;
651
+
652
+ onDone(mouseAbs(e));
653
+ options.onSelect(unscale(Coords.getFixed()));
654
+ toBack();
655
+ onMove = function() { };
656
+ onDone = function() { };
657
+ }
658
+
659
+ return false;
660
+ };
661
+ /*}}}*/
662
+
663
+ function activateHandlers(move,done)/* {{{ */
664
+ {
665
+ btndown = true;
666
+ onMove = move;
667
+ onDone = done;
668
+ toFront();
669
+ return false;
670
+ };
671
+ /* }}} */
672
+
673
+ function setCursor(t) { $trk.css('cursor',t); };
674
+
675
+ $img.before($trk);
676
+ return {
677
+ activateHandlers: activateHandlers,
678
+ setCursor: setCursor
679
+ };
680
+ }();
681
+ /*}}}*/
682
+ var KeyManager = function()/*{{{*/
683
+ {
684
+ var $keymgr = jQuery('<input type="radio" />')
685
+ .css({ position: 'absolute', left: '-30px' })
686
+ .keydown(parseKey)
687
+ .keyup(watchShift)
688
+ .blur(onBlur),
689
+
690
+ $keywrap = jQuery('<div />')
691
+ .css({
692
+ position: 'absolute',
693
+ overflow: 'hidden'
694
+ })
695
+ .append($keymgr)
696
+ ;
697
+
698
+ function watchKeys()/*{{{*/
699
+ {
700
+ if (options.keySupport)
701
+ {
702
+ $keymgr.show();
703
+ $keymgr.focus();
704
+ }
705
+ };
706
+ /*}}}*/
707
+ function onBlur(e)/*{{{*/
708
+ {
709
+ $keymgr.hide();
710
+ };
711
+ /*}}}*/
712
+ function watchShift(e)/*{{{*/
713
+ {
714
+ if (!options.watchShift) return;
715
+ var init_shift = shift_down, fc;
716
+ shift_down = e.shiftKey ? true : false;
717
+
718
+ if (init_shift != shift_down) {
719
+ if (shift_down && btndown) {
720
+ fc = Coords.getFixed();
721
+ aspectLock = fc.w / fc.h;
722
+ } else aspectLock = 0;
723
+ Selection.update();
724
+ }
725
+ e.stopPropagation();
726
+ e.preventDefault();
727
+ return false;
728
+ };
729
+ /*}}}*/
730
+ function doNudge(e,x,y)/*{{{*/
731
+ {
732
+ Coords.moveOffset([x,y]);
733
+ Selection.updateVisible();
734
+ e.preventDefault();
735
+ e.stopPropagation();
736
+ };
737
+ /*}}}*/
738
+ function parseKey(e)/*{{{*/
739
+ {
740
+ if (e.ctrlKey) return true;
741
+ watchShift(e);
742
+ var nudge = shift_down ? 10 : 1;
743
+ switch(e.keyCode)
744
+ {
745
+ case 37: doNudge(e,-nudge,0); break;
746
+ case 39: doNudge(e,nudge,0); break;
747
+ case 38: doNudge(e,0,-nudge); break;
748
+ case 40: doNudge(e,0,nudge); break;
749
+
750
+ case 27: Selection.release(); break;
751
+
752
+ case 9: return true;
753
+ }
754
+
755
+ return false;
756
+ };
757
+ /*}}}*/
758
+
759
+ if (options.keySupport) $keywrap.insertBefore($img);
760
+ return {
761
+ watchKeys: watchKeys
762
+ };
763
+ }();
764
+ /*}}}*/
765
+
766
+ // }}}
767
+ // Internal Methods {{{
768
+
769
+ function px(n) { return '' + parseInt(n) + 'px'; };
770
+ function pct(n) { return '' + parseInt(n) + '%'; };
771
+ function cssClass(cl) { return options.baseClass + '-' + cl; };
772
+ function getPos(obj)/*{{{*/
773
+ {
774
+ // Updated in v0.9.4 to use built-in dimensions plugin
775
+ var pos = jQuery(obj).offset();
776
+ return [ pos.left, pos.top ];
777
+ };
778
+ /*}}}*/
779
+ function mouseAbs(e)/*{{{*/
780
+ {
781
+ return [ (e.pageX - docOffset[0]), (e.pageY - docOffset[1]) ];
782
+ };
783
+ /*}}}*/
784
+ function myCursor(type)/*{{{*/
785
+ {
786
+ if (type != lastcurs)
787
+ {
788
+ Tracker.setCursor(type);
789
+ //Handles.xsetCursor(type);
790
+ lastcurs = type;
791
+ }
792
+ };
793
+ /*}}}*/
794
+ function startDragMode(mode,pos)/*{{{*/
795
+ {
796
+ docOffset = getPos(obj);
797
+ Tracker.setCursor(mode=='move'?mode:mode+'-resize');
798
+
799
+ if (mode == 'move')
800
+ return Tracker.activateHandlers(createMover(pos), doneSelect);
801
+
802
+ var fc = Coords.getFixed();
803
+ Coords.setPressed(Coords.getCorner(oppLockCorner(mode)));
804
+ Tracker.activateHandlers(dragmodeHandler(mode,fc),doneSelect);
805
+ };
806
+ /*}}}*/
807
+ function dragmodeHandler(mode,f)/*{{{*/
808
+ {
809
+ return function(pos) {
810
+ if (!options.aspectRatio && !aspectLock) switch(mode)
811
+ {
812
+ case 'e': pos[1] = f.y2; break;
813
+ case 'w': pos[1] = f.y2; break;
814
+ case 'n': pos[0] = f.x2; break;
815
+ case 's': pos[0] = f.x2; break;
816
+ }
817
+ else switch(mode)
818
+ {
819
+ case 'e': pos[1] = f.y+1; break;
820
+ case 'w': pos[1] = f.y+1; break;
821
+ case 'n': pos[0] = f.x+1; break;
822
+ case 's': pos[0] = f.x+1; break;
823
+ }
824
+ Coords.setCurrent(pos);
825
+ Selection.update();
826
+ };
827
+ };
828
+ /*}}}*/
829
+ function createMover(pos)/*{{{*/
830
+ {
831
+ var lloc = pos;
832
+ KeyManager.watchKeys();
833
+
834
+ return function(pos)
835
+ {
836
+ Coords.moveOffset([pos[0] - lloc[0], pos[1] - lloc[1]]);
837
+ lloc = pos;
838
+
839
+ Selection.update();
840
+ };
841
+ };
842
+ /*}}}*/
843
+ function oppLockCorner(ord)/*{{{*/
844
+ {
845
+ switch(ord)
846
+ {
847
+ case 'n': return 'sw';
848
+ case 's': return 'nw';
849
+ case 'e': return 'nw';
850
+ case 'w': return 'ne';
851
+ case 'ne': return 'sw';
852
+ case 'nw': return 'se';
853
+ case 'se': return 'nw';
854
+ case 'sw': return 'ne';
855
+ };
856
+ };
857
+ /*}}}*/
858
+ function createDragger(ord)/*{{{*/
859
+ {
860
+ return function(e) {
861
+ btndown = true;
862
+ startDragMode(ord,mouseAbs(e));
863
+ e.stopPropagation();
864
+ e.preventDefault();
865
+ return false;
866
+ };
867
+ };
868
+ /*}}}*/
869
+ function presize($obj,w,h)/*{{{*/
870
+ {
871
+ var nw = $obj.width(), nh = $obj.height();
872
+ if ((nw > w) && w > 0)
873
+ {
874
+ nw = w;
875
+ nh = (w/$obj.width()) * $obj.height();
876
+ }
877
+ if ((nh > h) && h > 0)
878
+ {
879
+ nh = h;
880
+ nw = (h/$obj.height()) * $obj.width();
881
+ }
882
+ xscale = $obj.width() / nw;
883
+ yscale = $obj.height() / nh;
884
+ $obj.width(nw).height(nh);
885
+ };
886
+ /*}}}*/
887
+ function unscale(c)/*{{{*/
888
+ {
889
+ return {
890
+ x: parseInt(c.x * xscale), y: parseInt(c.y * yscale),
891
+ x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale),
892
+ w: parseInt(c.w * xscale), h: parseInt(c.h * yscale)
893
+ };
894
+ };
895
+ /*}}}*/
896
+ function doneSelect(pos)/*{{{*/
897
+ {
898
+ var c = Coords.getFixed();
899
+ if (c.w > options.minSelect[0] && c.h > options.minSelect[1])
900
+ {
901
+ Selection.enableHandles();
902
+ Selection.done();
903
+ }
904
+ else
905
+ {
906
+ Selection.release();
907
+ }
908
+ Tracker.setCursor('crosshair');
909
+ };
910
+ /*}}}*/
911
+ function newSelection(e)/*{{{*/
912
+ {
913
+ btndown = true;
914
+ docOffset = getPos(obj);
915
+ Selection.release();
916
+ Selection.disableHandles();
917
+ myCursor('crosshair');
918
+ Coords.setPressed(mouseAbs(e));
919
+ Tracker.activateHandlers(selectDrag,doneSelect);
920
+ KeyManager.watchKeys();
921
+
922
+ e.stopPropagation();
923
+ e.preventDefault();
924
+ return false;
925
+ };
926
+ /*}}}*/
927
+ function selectDrag(pos)/*{{{*/
928
+ {
929
+ Coords.setCurrent(pos);
930
+ Selection.update();
931
+
932
+ };
933
+ /*}}}*/
934
+
935
+ // }}}
936
+ // Public API {{{
937
+
938
+ function animateTo(a)/*{{{*/
939
+ {
940
+ var x1 = a[0],
941
+ y1 = a[1],
942
+ x2 = a[2],
943
+ y2 = a[3];
944
+
945
+ if (animating) return;
946
+ var animto = Coords.flipCoords(x1,y1,x2,y2);
947
+ var c = Coords.getFixed();
948
+ var animat = initcr = [ c.x, c.y, c.x2, c.y2 ];
949
+ var interv = options.animationDelay;
950
+ //var ix1 = (animto[0] - initcr[0]) / steps;
951
+ //var iy1 = (animto[1] - initcr[1]) / steps;
952
+ //var ix2 = (animto[2] - initcr[2]) / steps;
953
+ //var iy2 = (animto[3] - initcr[3]) / steps;
954
+
955
+ var x = animat[0];
956
+ var y = animat[1];
957
+ var x2 = animat[2];
958
+ var y2 = animat[3];
959
+ var ix1 = animto[0] - initcr[0];
960
+ var iy1 = animto[1] - initcr[1];
961
+ var ix2 = animto[2] - initcr[2];
962
+ var iy2 = animto[3] - initcr[3];
963
+ var pcent = 0;
964
+ var velocity = options.swingSpeed;
965
+
966
+ Selection.animMode(true);
967
+
968
+ var animator = function()
969
+ {
970
+ return function()
971
+ {
972
+ pcent += (100 - pcent) / velocity;
973
+
974
+ animat[0] = x + ((pcent / 100) * ix1);
975
+ animat[1] = y + ((pcent / 100) * iy1);
976
+ animat[2] = x2 + ((pcent / 100) * ix2);
977
+ animat[3] = y2 + ((pcent / 100) * iy2);
978
+
979
+ if (pcent < 100) animateStart();
980
+ else Selection.done();
981
+
982
+ if (pcent >= 99.8) pcent = 100;
983
+
984
+ setSelect(animat);
985
+ };
986
+ }();
987
+
988
+ function animateStart()
989
+ { window.setTimeout(animator,interv); };
990
+
991
+ animateStart();
992
+
993
+ };
994
+ /*}}}*/
995
+ function setSelect(l) /*{{{*/
996
+ {
997
+ Coords.setPressed([l[0],l[1]]);
998
+ Coords.setCurrent([l[2],l[3]]);
999
+ Selection.update();
1000
+ };
1001
+ /*}}}*/
1002
+ function setOptions(opt)/*{{{*/
1003
+ {
1004
+ if (typeof(opt) != 'object') opt = { };
1005
+ options = jQuery.extend(options,opt);
1006
+
1007
+ if (typeof(options.onChange)!=='function')
1008
+ options.onChange = function() { };
1009
+
1010
+ if (typeof(options.onSelect)!=='function')
1011
+ options.onSelect = function() { };
1012
+ };
1013
+ /*}}}*/
1014
+ function tellSelect()/*{{{*/
1015
+ {
1016
+ return unscale(Coords.getFixed());
1017
+ };
1018
+ /*}}}*/
1019
+ function tellScaled()/*{{{*/
1020
+ {
1021
+ return Coords.getFixed();
1022
+ };
1023
+ /*}}}*/
1024
+ function setOptionsNew(opt)/*{{{*/
1025
+ {
1026
+ setOptions(opt);
1027
+
1028
+ if ('setSelect' in opt) {
1029
+ setSelect(opt.setSelect);
1030
+ Selection.done();
1031
+ }
1032
+ };
1033
+ /*}}}*/
1034
+
1035
+ if (typeof(opt) != 'object') opt = { };
1036
+ if ('setSelect' in opt) { setSelect(opt.setSelect); Selection.done(); }
1037
+
1038
+ // }}}
1039
+
1040
+ var xlimit = options.maxSize[0] || 0;
1041
+ var ylimit = options.maxSize[1] || 0;
1042
+ var xmin = options.minSize[0] || 0;
1043
+ var ymin = options.minSize[1] || 0;
1044
+
1045
+ Tracker.setCursor('crosshair');
1046
+
1047
+ return {
1048
+ animateTo: animateTo,
1049
+ setSelect: setSelect,
1050
+ setOptions: setOptionsNew,
1051
+ tellSelect: tellSelect,
1052
+ tellScaled: tellScaled
1053
+ };
1054
+ };
1055
+
1056
+
1057
+ jQuery.fn.Jcrop = function(options)/*{{{*/
1058
+ {
1059
+ function attachWhenDone(from)/*{{{*/
1060
+ {
1061
+ var loadsrc = options.useImg || from.src;
1062
+ var img = new Image();
1063
+ var from = from;
1064
+ img.onload = function() {
1065
+ jQuery(from).hide().after(img);
1066
+ from.Jcrop = jQuery.Jcrop(img,options);
1067
+ };
1068
+ img.src = loadsrc;
1069
+ };
1070
+ /*}}}*/
1071
+ if (typeof(options) !== 'object') options = { };
1072
+
1073
+ // Iterate over each object, attach Jcrop
1074
+ this.each(function()
1075
+ {
1076
+ // If we've already attached to this object
1077
+ if ('Jcrop' in this)
1078
+ {
1079
+ // The API can be requested this way (undocumented)
1080
+ if (options == 'api') return this.Jcrop;
1081
+ // Otherwise, we just reset the options...
1082
+ else this.Jcrop.setOptions(options);
1083
+ }
1084
+ // If we haven't been attached, preload and attach
1085
+ else attachWhenDone(this);
1086
+ });
1087
+
1088
+ // Return "this" so we're chainable a la jQuery plugin-style!
1089
+ return this;
1090
+ };
1091
+ /*}}}*/
1092
+
admin/js/swfupload.js CHANGED
@@ -50,7 +50,7 @@ SWFUpload.prototype.initSWFUpload = function (settings) {
50
  /* *************** */
51
  SWFUpload.instances = {};
52
  SWFUpload.movieCount = 0;
53
- SWFUpload.version = "2.2.0 Beta 3";
54
  SWFUpload.QUEUE_ERROR = {
55
  QUEUE_LIMIT_EXCEEDED : -100,
56
  FILE_EXCEEDS_SIZE_LIMIT : -110,
@@ -161,57 +161,15 @@ SWFUpload.prototype.initSettings = function () {
161
  this.customSettings = this.settings.custom_settings;
162
 
163
  // Update the flash url if needed
164
- if (this.settings.prevent_swf_caching) {
165
- this.settings.flash_url = this.settings.flash_url;// + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + new Date().getTime();
166
  }
167
 
168
  delete this.ensureDefault;
169
  };
170
 
 
171
  SWFUpload.prototype.loadFlash = function () {
172
- if (this.settings.button_placeholder_id !== "") {
173
- this.replaceWithFlash();
174
- } else {
175
- this.appendFlash();
176
- }
177
- };
178
-
179
- // Private: appendFlash gets the HTML tag for the Flash
180
- // It then appends the flash to the body
181
- SWFUpload.prototype.appendFlash = function () {
182
- var targetElement, container;
183
-
184
- // Make sure an element with the ID we are going to use doesn't already exist
185
- if (document.getElementById(this.movieName) !== null) {
186
- throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
187
- }
188
-
189
- // Get the body tag where we will be adding the flash movie
190
- targetElement = document.getElementsByTagName("body")[0];
191
-
192
- if (targetElement == undefined) {
193
- throw "Could not find the 'body' element.";
194
- }
195
-
196
- // Append the container and load the flash
197
- container = document.createElement("div");
198
- container.style.width = "1px";
199
- container.style.height = "1px";
200
- container.style.overflow = "hidden";
201
-
202
- targetElement.appendChild(container);
203
- container.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
204
-
205
- // Fix IE Flash/Form bug
206
- if (window[this.movieName] == undefined) {
207
- window[this.movieName] = this.getMovieElement();
208
- }
209
-
210
-
211
- };
212
-
213
- // Private: replaceWithFlash replaces the button_placeholder element with the flash movie.
214
- SWFUpload.prototype.replaceWithFlash = function () {
215
  var targetElement, tempParent;
216
 
217
  // Make sure an element with the ID we are going to use doesn't already exist
@@ -822,6 +780,18 @@ SWFUpload.prototype.cleanUp = function (movieElement) {
822
 
823
  }
824
 
 
 
 
 
 
 
 
 
 
 
 
 
825
  };
826
 
827
 
50
  /* *************** */
51
  SWFUpload.instances = {};
52
  SWFUpload.movieCount = 0;
53
+ SWFUpload.version = "2.2.0 Beta 5 2008-01-29";
54
  SWFUpload.QUEUE_ERROR = {
55
  QUEUE_LIMIT_EXCEEDED : -100,
56
  FILE_EXCEEDS_SIZE_LIMIT : -110,
161
  this.customSettings = this.settings.custom_settings;
162
 
163
  // Update the flash url if needed
164
+ if (!!this.settings.prevent_swf_caching) {
165
+ this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
166
  }
167
 
168
  delete this.ensureDefault;
169
  };
170
 
171
+ // Private: loadFlash replaces the button_placeholder element with the flash movie.
172
  SWFUpload.prototype.loadFlash = function () {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  var targetElement, tempParent;
174
 
175
  // Make sure an element with the ID we are going to use doesn't already exist
780
 
781
  }
782
 
783
+ // Fix Flashes own cleanup code so if the SWFMovie was removed from the page
784
+ // it doesn't display errors.
785
+ window["__flash__removeCallback"] = function (instance, name) {
786
+ try {
787
+ if (instance) {
788
+ instance[name] = null;
789
+ }
790
+ } catch (flashEx) {
791
+
792
+ }
793
+ };
794
+
795
  };
796
 
797
 
admin/js/swfupload.swf CHANGED
Binary file
admin/manage-galleries.php CHANGED
@@ -63,13 +63,13 @@ if($gallerylist) {
63
  <td>
64
  <?php if(nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
65
  <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . "&amp;mode=edit&amp;gid=" . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit') ?>" >
66
- <?php echo $name; ?>
67
  </a>
68
  <?php } else { ?>
69
- <?php echo $gallery->title; ?>
70
  <?php } ?>
71
  </td>
72
- <td><?php echo $gallery->galdesc; ?>&nbsp;</td>
73
  <td><?php echo $author_user->display_name; ?></td>
74
  <td><?php echo $gallery->pageid; ?></td>
75
  <td><?php echo $gallery->counter; ?></td>
63
  <td>
64
  <?php if(nggAdmin::can_manage_this_gallery($gallery->author)) { ?>
65
  <a href="<?php echo wp_nonce_url( $ngg->manage_page->base_page . "&amp;mode=edit&amp;gid=" . $gid, 'ngg_editgallery')?>" class='edit' title="<?php _e('Edit') ?>" >
66
+ <?php echo nggGallery::i18n($name); ?>
67
  </a>
68
  <?php } else { ?>
69
+ <?php echo nggGallery::i18n($gallery->title); ?>
70
  <?php } ?>
71
  </td>
72
+ <td><?php echo nggGallery::i18n($gallery->galdesc); ?>&nbsp;</td>
73
  <td><?php echo $author_user->display_name; ?></td>
74
  <td><?php echo $gallery->pageid; ?></td>
75
  <td><?php echo $gallery->counter; ?></td>
admin/manage-images.php CHANGED
@@ -8,8 +8,6 @@ function nggallery_picturelist() {
8
 
9
  // GET variables
10
  $act_gid = $ngg->manage_page->gid;
11
- $showTags = $ngg->manage_page->showTags;
12
- $hideThumbs = $ngg->manage_page->hideThumbs;
13
 
14
  // Load the gallery metadata
15
  $gallery = $nggdb->find_gallery($act_gid);
@@ -105,7 +103,7 @@ function checkSelected() {
105
  var numchecked = getNumChecked(document.getElementById('updategallery'));
106
 
107
  if(numchecked < 1) {
108
- alert('<?php echo js_escape(__("No images selected",'nggallery')); ?>');
109
  return false;
110
  }
111
 
@@ -144,7 +142,7 @@ jQuery(document).ready( function() {
144
 
145
  <div class="wrap">
146
 
147
- <h2><?php echo __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ); ?> : <?php echo $gallery->title; ?></h2>
148
 
149
  <br style="clear: both;" />
150
 
@@ -316,7 +314,7 @@ if($picturelist) {
316
  ?>
317
  <td <?php echo $attributes ?>>
318
  <strong><a href="<?php echo $picture->imageURL; ?>" class="thickbox" title="<?php echo $picture->filename ?>">
319
- <?php echo ( empty($picture->alttext) ) ? $picture->filename : stripslashes($picture->alttext); ?>
320
  </a></strong>
321
  <br /><?php echo $date?>
322
  <p>
@@ -326,6 +324,7 @@ if($picturelist) {
326
  //$actions['edit'] = '<a class="editinline" href="#">' . __('Edit') . '</a>';
327
  $actions['view'] = '<a class="thickbox" href="' . $picture->imageURL . '" title="' . attribute_escape(sprintf(__('View "%s"'), $picture->filename)) . '">' . __('View', 'nggallery') . '</a>';
328
  $actions['meta'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/showmeta.php?id=' . $pid . '" title="' . __('Show Meta data','nggallery') . '">' . __('Meta', 'nggallery') . '</a>';
 
329
  $actions['delete'] = '<a class="submitdelete" href="' . wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=".$act_gid."&amp;pid=".$pid, 'ngg_delpicture'). '" class="delete column-delete" onclick="javascript:check=confirm( \'' . attribute_escape(sprintf(__('Delete "%s"' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Delete') . '</a>';
330
  $action_count = count($actions);
331
  $i = 0;
@@ -343,7 +342,7 @@ if($picturelist) {
343
  case 'thumbnail' :
344
  ?>
345
  <td <?php echo $attributes ?>><a href="<?php echo $picture->imageURL; ?>" class="thickbox" title="<?php echo $picture->filename ?>">
346
- <img class="thumb" src="<?php echo $picture->thumbURL; ?>" <?php echo $thumbsize ?> />
347
  </a>
348
  </td>
349
  <?php
@@ -450,7 +449,7 @@ if($picturelist) {
450
 
451
  <script type="text/javascript">
452
  /* <![CDATA[ */
453
- columns.init('nggallery-manage-images');
454
  /* ]]> */
455
  </script>
456
  <?php
8
 
9
  // GET variables
10
  $act_gid = $ngg->manage_page->gid;
 
 
11
 
12
  // Load the gallery metadata
13
  $gallery = $nggdb->find_gallery($act_gid);
103
  var numchecked = getNumChecked(document.getElementById('updategallery'));
104
 
105
  if(numchecked < 1) {
106
+ alert('<?php echo js_escape(__("No images selected", 'nggallery')); ?>');
107
  return false;
108
  }
109
 
142
 
143
  <div class="wrap">
144
 
145
+ <h2><?php echo __ngettext( 'Gallery', 'Galleries', 1, 'nggallery' ); ?> : <?php echo nggGallery::i18n($gallery->title); ?></h2>
146
 
147
  <br style="clear: both;" />
148
 
314
  ?>
315
  <td <?php echo $attributes ?>>
316
  <strong><a href="<?php echo $picture->imageURL; ?>" class="thickbox" title="<?php echo $picture->filename ?>">
317
+ <?php echo ( empty($picture->alttext) ) ? $picture->filename : stripslashes(nggGallery::i18n($picture->alttext)); ?>
318
  </a></strong>
319
  <br /><?php echo $date?>
320
  <p>
324
  //$actions['edit'] = '<a class="editinline" href="#">' . __('Edit') . '</a>';
325
  $actions['view'] = '<a class="thickbox" href="' . $picture->imageURL . '" title="' . attribute_escape(sprintf(__('View "%s"'), $picture->filename)) . '">' . __('View', 'nggallery') . '</a>';
326
  $actions['meta'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/showmeta.php?id=' . $pid . '" title="' . __('Show Meta data','nggallery') . '">' . __('Meta', 'nggallery') . '</a>';
327
+ $actions['custom_thumb'] = '<a class="thickbox" href="' . NGGALLERY_URLPATH . 'admin/manage_thumbnail.php?id=' . $pid . '" title="' . __('Customize thumbnail','nggallery') . '">' . __('Edit thumb', 'nggallery') . '</a>';
328
  $actions['delete'] = '<a class="submitdelete" href="' . wp_nonce_url("admin.php?page=nggallery-manage-gallery&amp;mode=delpic&amp;gid=".$act_gid."&amp;pid=".$pid, 'ngg_delpicture'). '" class="delete column-delete" onclick="javascript:check=confirm( \'' . attribute_escape(sprintf(__('Delete "%s"' , 'nggallery'), $picture->filename)). '\');if(check==false) return false;">' . __('Delete') . '</a>';
329
  $action_count = count($actions);
330
  $i = 0;
342
  case 'thumbnail' :
343
  ?>
344
  <td <?php echo $attributes ?>><a href="<?php echo $picture->imageURL; ?>" class="thickbox" title="<?php echo $picture->filename ?>">
345
+ <img class="thumb" src="<?php echo $picture->thumbURL; ?>" <?php echo $thumbsize ?> id="thumb<?php echo $pid ?>" />
346
  </a>
347
  </td>
348
  <?php
449
 
450
  <script type="text/javascript">
451
  /* <![CDATA[ */
452
+ jQuery(document).ready(function(){columns.init('nggallery-manage-images');});
453
  /* ]]> */
454
  </script>
455
  <?php
admin/manage.php CHANGED
@@ -162,7 +162,7 @@ class nggManageGallery {
162
  // will be called after a ajax operation
163
  if (isset ($_POST['ajax_callback'])) {
164
  if ($_POST['ajax_callback'] == 1)
165
- nggGallery::show_message(__('Operation successfull. Please clear your browser cache.',"nggallery"));
166
  $this->mode = 'edit';
167
  }
168
 
@@ -276,11 +276,12 @@ class nggManageGallery {
276
  global $user_ID;
277
 
278
  $page['post_type'] = 'page';
279
- $page['post_content'] = '[nggallery id='.$this->gid.']';
280
  $page['post_parent'] = $parent_id;
281
  $page['post_author'] = $user_ID;
282
  $page['post_status'] = 'publish';
283
  $page['post_title'] = $gallery_title == '' ? $gallery_name : $gallery_title;
 
284
 
285
  $gallery_pageid = wp_insert_post ($page);
286
  if ($gallery_pageid != 0) {
@@ -368,4 +369,4 @@ class nggManageGallery {
368
  return $wpdb->get_col( $query );
369
  }
370
  }
371
- ?>
162
  // will be called after a ajax operation
163
  if (isset ($_POST['ajax_callback'])) {
164
  if ($_POST['ajax_callback'] == 1)
165
+ nggGallery::show_message(__('Operation successful. Please clear your browser cache.',"nggallery"));
166
  $this->mode = 'edit';
167
  }
168
 
276
  global $user_ID;
277
 
278
  $page['post_type'] = 'page';
279
+ $page['post_content'] = '[nggallery id=' . $this->gid . ']';
280
  $page['post_parent'] = $parent_id;
281
  $page['post_author'] = $user_ID;
282
  $page['post_status'] = 'publish';
283
  $page['post_title'] = $gallery_title == '' ? $gallery_name : $gallery_title;
284
+ $page = apply_filters('ngg_add_new_page', $page, $this->gid);
285
 
286
  $gallery_pageid = wp_insert_post ($page);
287
  if ($gallery_pageid != 0) {
369
  return $wpdb->get_col( $query );
370
  }
371
  }
372
+ ?>
admin/manage_thumbnail.php ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+
5
+ Custom thumbnail for NGG
6
+ Author : Simone Fumagalli | simone@iliveinperego.com
7
+ More info and update : http://www.iliveinperego.com/custom_thumbnail_for_ngg/
8
+
9
+ Credits:
10
+ NextGen Gallery : Alex Rabe | http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/
11
+ jCrop : Kelly Hallman <khallman@wrack.org> | http://deepliquid.com/content/Jcrop.html
12
+
13
+ **/
14
+
15
+ require_once( dirname( dirname(__FILE__) ) . '/ngg-config.php');
16
+ require_once( NGGALLERY_ABSPATH . '/lib/image.php' );
17
+
18
+ if ( !is_user_logged_in() )
19
+ die(__('Cheatin&#8217; uh?'));
20
+
21
+ if ( !current_user_can('NextGEN Manage gallery') )
22
+ die(__('Cheatin&#8217; uh?'));
23
+
24
+ global $wpdb;
25
+
26
+ $id = (int) $_GET['id'];
27
+
28
+ // let's get the image data
29
+ $picture = nggdb::find_image($id);
30
+
31
+ include_once( nggGallery::graphic_library() );
32
+ $ngg_options=get_option('ngg_options');
33
+
34
+ $thumb = new ngg_Thumbnail($picture->imagePath, TRUE);
35
+ $thumb->resize(350,350);
36
+ // we need the new dimension
37
+ $resizedPreviewInfo = $thumb->newDimensions;
38
+ $thumb->destruct();
39
+
40
+ $preview_image = NGGALLERY_URLPATH . 'nggshow.php?pid=' . $picture->pid . '&amp;width=350&amp;height=350';
41
+ $imageInfo = getimagesize($picture->imagePath);
42
+ $rr = round($imageInfo[0] / $resizedPreviewInfo['newWidth'], 2);
43
+
44
+ if ( ($ngg_options['thumbfix'] == 1) and (!$ngg_options['thumbcrop']) ) {
45
+ $WidthHtmlPrev = $ngg_options['thumbwidth'];
46
+ $HeightHtmlPrev = $ngg_options['thumbheight'];
47
+ }
48
+
49
+ if ( ($ngg_options['thumbfix'] == 1) and ($ngg_options['thumbcrop'] == 1) ) {
50
+ $WidthHtmlPrev = $ngg_options['thumbwidth'];
51
+ $HeightHtmlPrev = $ngg_options['thumbheight'];
52
+ }
53
+
54
+ if ( (!$ngg_options['thumbfix']) and ($ngg_options['thumbcrop'] == 1) ) {
55
+ $WidthHtmlPrev = $ngg_options['thumbwidth'];
56
+ $HeightHtmlPrev = $ngg_options['thumbwidth'];
57
+ }
58
+
59
+ if ( (!$ngg_options['thumbfix']) and (!$ngg_options['thumbcrop']) ) {
60
+ // H > W
61
+ if ($imageInfo[1] > $imageInfo[0]) {
62
+
63
+ $HeightHtmlPrev = $ngg_options['thumbheight'];
64
+ $WidthHtmlPrev = round($imageInfo[0] / ($imageInfo[1] / $ngg_options['thumbheight']),0);
65
+
66
+ } else {
67
+
68
+ $WidthtHtmlPrev = $ngg_options['thumbwidth'];
69
+ $HeightHtmlPrev = round($imageInfo[1] / ($imageInfo[0] / $ngg_options['thumbwidth']),0);
70
+
71
+ }
72
+ }
73
+
74
+ ?>
75
+ <script src="<?php echo NGGALLERY_URLPATH ?>/admin/js/Jcrop/js/jquery.Jcrop.js"></script>
76
+ <link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>/admin/js/Jcrop/css/jquery.Jcrop.css" type="text/css" />
77
+
78
+ <script language="JavaScript">
79
+ <!--
80
+
81
+ var status = 'start';
82
+ var xT, yT, wT, hT, selectedCoords;
83
+ var selectedImage = "thumb<?php echo $id ?>";
84
+
85
+ function showPreview(coords)
86
+ {
87
+
88
+ if (status != 'edit') {
89
+ jQuery('#actualThumb').hide();
90
+ jQuery('#previewNewThumb').show();
91
+ status = 'edit';
92
+ }
93
+
94
+ var rx = <?php echo $WidthHtmlPrev ?> / coords.w;
95
+ var ry = <?php echo $HeightHtmlPrev ?> / coords.h;
96
+
97
+ jQuery('#imageToEditPreview').css({
98
+ width: Math.round(rx * <?php echo $resizedPreviewInfo['newWidth'] ?>) + 'px',
99
+ height: Math.round(ry * <?php echo $resizedPreviewInfo['newHeight'] ?>) + 'px',
100
+ marginLeft: '-' + Math.round(rx * coords.x) + 'px',
101
+ marginTop: '-' + Math.round(ry * coords.y) + 'px'
102
+ });
103
+
104
+ xT = coords.x;
105
+ yT = coords.y;
106
+ wT = coords.w;
107
+ hT = coords.h;
108
+
109
+ jQuery("#sizeThumb").html(xT+" "+yT+" "+wT+" "+hT);
110
+
111
+ };
112
+
113
+ function updateThumb() {
114
+
115
+ if ( (wT == 0) || (hT == 0) || (wT == undefined) || (hT == undefined) ) {
116
+ alert("<?php _e('Select with the mouse the area for the new thumbnail.', 'nggallery') ?>");
117
+ return false;
118
+ }
119
+
120
+ jQuery.ajax({
121
+ url: "admin-ajax.php",
122
+ type : "POST",
123
+ data: {x: xT, y: yT, w: wT, h: hT, action: 'createNewThumb', id: <?php echo $id ?>, rr: <?php echo $rr ?>},
124
+ cache: false,
125
+ success: function(data){
126
+ var d = new Date();
127
+ newUrl = jQuery("#"+selectedImage).attr("src") + "?" + d.getTime();
128
+ jQuery("#"+selectedImage).attr("src" , newUrl);
129
+
130
+ jQuery('#thumbMsg').html("<?php echo _e("Thumbnail updated", "nggallery") ?>");
131
+ jQuery('#thumbMsg').css({'display':'block'});
132
+ setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500);
133
+ },
134
+ error: function() {
135
+ jQuery('#thumbMsg').html("<?php echo _e("Error updating thumbnail.", "nggallery") ?>");
136
+ jQuery('#thumbMsg').css({'display':'block'});
137
+ setTimeout(function(){ jQuery('#thumbMsg').fadeOut('slow'); }, 1500);
138
+ }
139
+ });
140
+
141
+ }
142
+
143
+ -->
144
+ </script>
145
+
146
+ <table width="98%" align="center" style="border:1px solid #DADADA">
147
+ <tr>
148
+ <td rowspan="3" valign="middle" align="center" width="350" style="background-color:#DADADA;">
149
+ <img src="<?php echo $preview_image ?>" alt="" id="imageToEdit" />
150
+ </td>
151
+ <td width="300" style="background-color : #DADADA;">
152
+ <small style="margin-left:6px; display:block;"><?php _e('Select the area for the thumbnail from the picture on the left.', 'nggallery') ?></small>
153
+ </td>
154
+ </tr>
155
+ <tr>
156
+ <td align="center" width="300" height="320">
157
+ <div id="previewNewThumb" style="display:none;width:<?php echo $WidthHtmlPrev ?>px;height:<?php echo $HeightHtmlPrev ?>px;overflow:hidden; margin-left:5px;">
158
+ <img src="<?php echo $preview_image ?>" id="imageToEditPreview" />
159
+ </div>
160
+ <div id="actualThumb">
161
+ <img src="<?php echo $picture->thumbURL ?>?<?php echo time()?>" />
162
+ </div>
163
+ </td>
164
+ </tr>
165
+ <tr style="background-color:#DADADA;">
166
+ <td>
167
+ <input type="button" name="update" value="<?php _e('Update', 'nggallery') ?>" onclick="updateThumb()" class="button-secondary" style="float:left; margin-left:4px;"/>
168
+ <div id="thumbMsg" style="color:#FF0000; display : none;font-size:11px; float:right; width:60%; height:2em; line-height:2em;"></div>
169
+ </td>
170
+ </tr>
171
+ </table>
172
+
173
+ <script type="text/javascript">
174
+ <!--
175
+ jQuery(document).ready(function(){
176
+ jQuery('#imageToEdit').Jcrop({
177
+ onChange: showPreview,
178
+ onSelect: showPreview,
179
+ aspectRatio: <?php echo round($WidthHtmlPrev/$HeightHtmlPrev,1) ?>
180
+ });
181
+ });
182
+ -->
183
+ </script>
admin/media-upload.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * @title Add action/filter for the upload tab
5
  * @author Alex Rabe
6
- * @copyright 2008
7
  */
8
 
9
  function ngg_wp_upload_tabs ($tabs) {
@@ -41,7 +41,7 @@ function media_upload_nextgen() {
41
  $html = "<img src='{$image['url']}' alt='$alttext' class='$class' />";
42
 
43
  if ($image['size'] == "singlepic")
44
- $html = "[singlepic=$send_id,320,240,,{$image['align']}]";
45
 
46
  media_upload_nextgen_save_image();
47
 
@@ -128,7 +128,7 @@ function media_upload_nextgen_form($errors) {
128
  ?>
129
 
130
  <div class="alignleft actions">
131
- <select id="select_gal" name="select_gal" style="width:250px;">;
132
  <option value="0" <?php selected('0', $galleryID); ?> ><?php attribute_escape( _e('No gallery',"nggallery") ); ?></option>
133
  <?php
134
  // Show gallery selection
@@ -172,19 +172,19 @@ function media_upload_nextgen_form($errors) {
172
  ?>
173
  <div id='media-item-<?php echo $picid ?>' class='media-item preloaded'>
174
  <div class='filename'></div>
175
- <a class='toggle describe-toggle-on' href='#'><?php attribute_escape( _e('Show',"nggallery") ); ?></a>
176
- <a class='toggle describe-toggle-off' href='#'><?php attribute_escape( _e('Hide',"nggallery") );?></a>
177
  <div class='filename new'><?php echo ( empty($picture->alttext) ) ? wp_html_excerpt($picture->filename,60): stripslashes( wp_html_excerpt($picture->alttext,60) ); ?></div>
178
  <table class='slidetoggle describe startclosed'><tbody>
179
  <tr>
180
  <td rowspan='4'><img class='thumbnail' alt='<?php echo attribute_escape( $picture->alttext ); ?>' src='<?php echo attribute_escape( $picture->thumbURL ); ?>'/></td>
181
- <td><?php attribute_escape( _e('Image ID:',"nggallery") ); ?><?php echo $picid ?></td>
182
  </tr>
183
  <tr><td><?php echo attribute_escape( $picture->filename ); ?></td></tr>
184
  <tr><td><?php echo attribute_escape( stripslashes($picture->alttext) ); ?></td></tr>
185
  <tr><td>&nbsp;</td></tr>
186
  <tr>
187
- <td class="label"><label for="image[<?php echo $picid ?>][alttext]"><?php attribute_escape( _e("Alt/Title text","nggallery") );?></label></td>
188
  <td class="field"><input id="image[<?php echo $picid ?>][alttext]" name="image[<?php echo $picid ?>][alttext]" value="<?php echo attribute_escape( stripslashes($picture->alttext) ); ?>" type="text"/></td>
189
  </tr>
190
  <tr>
3
  /**
4
  * @title Add action/filter for the upload tab
5
  * @author Alex Rabe
6
+ * @copyright 2008-2009
7
  */
8
 
9
  function ngg_wp_upload_tabs ($tabs) {
41
  $html = "<img src='{$image['url']}' alt='$alttext' class='$class' />";
42
 
43
  if ($image['size'] == "singlepic")
44
+ $html = "[singlepic id=$send_id w=320 h=240 float={$image['align']}]";
45
 
46
  media_upload_nextgen_save_image();
47
 
128
  ?>
129
 
130
  <div class="alignleft actions">
131
+ <select id="select_gal" name="select_gal" style="width:120px;">;
132
  <option value="0" <?php selected('0', $galleryID); ?> ><?php attribute_escape( _e('No gallery',"nggallery") ); ?></option>
133
  <?php
134
  // Show gallery selection
172
  ?>
173
  <div id='media-item-<?php echo $picid ?>' class='media-item preloaded'>
174
  <div class='filename'></div>
175
+ <a class='toggle describe-toggle-on' href='#'><?php attribute_escape( _e('Show', "nggallery") ); ?></a>
176
+ <a class='toggle describe-toggle-off' href='#'><?php attribute_escape( _e('Hide', "nggallery") );?></a>
177
  <div class='filename new'><?php echo ( empty($picture->alttext) ) ? wp_html_excerpt($picture->filename,60): stripslashes( wp_html_excerpt($picture->alttext,60) ); ?></div>
178
  <table class='slidetoggle describe startclosed'><tbody>
179
  <tr>
180
  <td rowspan='4'><img class='thumbnail' alt='<?php echo attribute_escape( $picture->alttext ); ?>' src='<?php echo attribute_escape( $picture->thumbURL ); ?>'/></td>
181
+ <td><?php attribute_escape( _e('Image ID:', "nggallery") ); ?><?php echo $picid ?></td>
182
  </tr>
183
  <tr><td><?php echo attribute_escape( $picture->filename ); ?></td></tr>
184
  <tr><td><?php echo attribute_escape( stripslashes($picture->alttext) ); ?></td></tr>
185
  <tr><td>&nbsp;</td></tr>
186
  <tr>
187
+ <td class="label"><label for="image[<?php echo $picid ?>][alttext]"><?php attribute_escape( _e('Alt/Title text', "nggallery") );?></label></td>
188
  <td class="field"><input id="image[<?php echo $picid ?>][alttext]" name="image[<?php echo $picid ?>][alttext]" value="<?php echo attribute_escape( stripslashes($picture->alttext) ); ?>" type="text"/></td>
189
  </tr>
190
  <tr>
admin/settings.php CHANGED
@@ -46,7 +46,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
46
 
47
  if ( isset($_POST['clearcache']) ) {
48
 
49
- $path = WINABSPATH . $ngg->options['gallerypath'] . "cache/";
50
 
51
  if (is_dir($path))
52
  if ($handle = opendir($path)) {
@@ -65,7 +65,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
65
 
66
  ?>
67
  <script type="text/javascript">
68
- jQuery(function() {
69
  jQuery('#slider > ul').tabs({ fxFade: true, fxSpeed: 'fast' });
70
  });
71
 
@@ -148,7 +148,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
148
  <tr>
149
  <th align="left"><?php _e('Activate Media RSS feed','nggallery') ?></th>
150
  <td><input type="checkbox" name="useMediaRSS" value="1" <?php checked('1', $ngg->options['useMediaRSS']); ?> />
151
- <span class="setting-description"><?php _e('A RSS feed will be added to you blog header. Usefull for CoolIris/PicLens','nggallery') ?></span></td>
152
  </tr>
153
  <tr>
154
  <th align="left"><?php _e('Activate PicLens/CoolIris support','nggallery') ?> (<a href="http://www.cooliris.com">CoolIris</a>)</th>
@@ -359,7 +359,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
359
  <?php
360
  $imageID = $wpdb->get_var("SELECT MIN(pid) FROM $wpdb->nggpictures");
361
  $imageID = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$imageID'");
362
- if ($imageID) $imageURL = '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID->pid.'&amp;mode=watermark&amp;width=400&amp;height=300" alt="'.$imageID->alttext.'" title="'.$imageID->alttext.'" />';
363
 
364
  ?>
365
  <div id="watermark">
@@ -666,4 +666,4 @@ function ngg_input_checked( $checked, $current) {
666
  if ( $checked == $current)
667
  return ' checked="checked"';
668
  }
669
- ?>
46
 
47
  if ( isset($_POST['clearcache']) ) {
48
 
49
+ $path = WINABSPATH . $ngg->options['gallerypath'] . 'cache/';
50
 
51
  if (is_dir($path))
52
  if ($handle = opendir($path)) {
65
 
66
  ?>
67
  <script type="text/javascript">
68
+ jQuery(document).ready(function(){
69
  jQuery('#slider > ul').tabs({ fxFade: true, fxSpeed: 'fast' });
70
  });
71
 
148
  <tr>
149
  <th align="left"><?php _e('Activate Media RSS feed','nggallery') ?></th>
150
  <td><input type="checkbox" name="useMediaRSS" value="1" <?php checked('1', $ngg->options['useMediaRSS']); ?> />
151
+ <span class="setting-description"><?php _e('A RSS feed will be added to you blog header. Useful for CoolIris/PicLens','nggallery') ?></span></td>
152
  </tr>
153
  <tr>
154
  <th align="left"><?php _e('Activate PicLens/CoolIris support','nggallery') ?> (<a href="http://www.cooliris.com">CoolIris</a>)</th>
359
  <?php
360
  $imageID = $wpdb->get_var("SELECT MIN(pid) FROM $wpdb->nggpictures");
361
  $imageID = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$imageID'");
362
+ if ($imageID) $imageURL = '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID->pid.'&amp;mode=watermark&amp;width=300&amp;height=250" alt="'.$imageID->alttext.'" title="'.$imageID->alttext.'" />';
363
 
364
  ?>
365
  <div id="watermark">
666
  if ( $checked == $current)
667
  return ' checked="checked"';
668
  }
669
+ ?>
admin/setup.php CHANGED
@@ -23,7 +23,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
23
 
24
  nggallery_uninstall();
25
 
26
- nggGallery::show_message(__('Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !','nggallery'));
27
  }
28
  ?>
29
  <div class="wrap">
@@ -55,4 +55,4 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
55
 
56
  <?php
57
  }
58
- ?>
23
 
24
  nggallery_uninstall();
25
 
26
+ nggGallery::show_message(__('Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !','nggallery'));
27
  }
28
  ?>
29
  <div class="wrap">
55
 
56
  <?php
57
  }
58
+ ?>
admin/upgrade.php CHANGED
@@ -38,7 +38,7 @@ function ngg_upgrade() {
38
 
39
  // v0.71 -> v0.84
40
  if (version_compare($installed_ver, '0.84', '<')) {
41
- ngg_maybe_add_column( $wpdb->nggallery, 'sortorder', "BIGINT(20) DEFAULT '0' NOT NULL AFTER exclude");
42
  }
43
 
44
  // v0.84 -> v0.95
@@ -189,7 +189,7 @@ function ngg_move_imagerotator() {
189
  if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) )
190
  @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf');
191
 
192
- // If it's successfull then we return the new path
193
  if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) )
194
  return $upload['baseurl'] . '/imagerotator.swf';
195
 
@@ -286,9 +286,9 @@ function nggallery_start_upgrade($filepath) {
286
  <div class="wrap">
287
  <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2>
288
  <p><?php ngg_upgrade();?></p>
289
- <p><?php _e('Upgrade sucessfull', 'nggallery') ;?></p>
290
  <h3><a href="<?php echo $filepath;?>"><?php _e('Continue', 'nggallery'); ?>...</a></h3>
291
  </div>
292
  <?php
293
  }
294
- ?>
38
 
39
  // v0.71 -> v0.84
40
  if (version_compare($installed_ver, '0.84', '<')) {
41
+ ngg_maybe_add_column( $wpdb->nggpictures, 'sortorder', "BIGINT(20) DEFAULT '0' NOT NULL AFTER exclude");
42
  }
43
 
44
  // v0.84 -> v0.95
189
  if ( file_exists( NGGALLERY_ABSPATH . 'imagerotator.swf' ) )
190
  @rename(NGGALLERY_ABSPATH . 'imagerotator.swf', $upload['basedir'] . '/imagerotator.swf');
191
 
192
+ // If it's successful then we return the new path
193
  if ( file_exists( $upload['basedir'] . '/imagerotator.swf' ) )
194
  return $upload['baseurl'] . '/imagerotator.swf';
195
 
286
  <div class="wrap">
287
  <h2><?php _e('Upgrade NextGEN Gallery', 'nggallery') ;?></h2>
288
  <p><?php ngg_upgrade();?></p>
289
+ <p><?php _e('Upgrade sucessful', 'nggallery') ;?></p>
290
  <h3><a href="<?php echo $filepath;?>"><?php _e('Continue', 'nggallery'); ?>...</a></h3>
291
  </div>
292
  <?php
293
  }
294
+ ?>
changelog.txt CHANGED
@@ -1,6 +1,22 @@
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  V1.1.0 - 26.01.2009
5
  - NEW : Pagination for album page via custom fields ('ngg_paged_Galleries')
6
  - NEW : Support for fixed number of columns inside the gallery
@@ -418,6 +434,4 @@ V0.34 - 24.04.2007
418
  V0.33 - 23.04.2007
419
  - NEW : Overview Page
420
  - NEW : Core function
421
- - NEW : Slideshow
422
-
423
-
1
  NextGEN Gallery
2
  by Alex Rabe & NextGEN DEV Team
3
 
4
+ V1.2.0 - 09.03.2009
5
+ - NEW : Support for image tag cloud with shortcode [tagcloud]
6
+ - NEW : Adding shortcode [recent max="7" template="filename" /] & [random max="7" template="filename" /] to show the most recent/random pictures (THX to Bernhard)
7
+ - NEW : Crop thumbnails manually (THX to Simone Fumagalli)
8
+ - NEW : Support for i18n with polyglot or qtrans plugin (THX to Boris Glumpler)
9
+ - NEW : Canonical meta link support
10
+ - Added : SWFUpload V2.2.0 B5
11
+ - Added : New memory limit check in upload screen
12
+ - Bugfix : Language typo fixes
13
+ - Bugfix : Admin Pagination fix
14
+ - Bugfix : Typo fix in widgets
15
+ - Bugfix : Init column script after document is ready
16
+ - Bugfix : htmlspecialchars() instead htmlentities() for links in the a href title description
17
+ - Bugfix : Upgrade routine didn't add sortorder to correct table (THX to Uwe)
18
+ - Bugfix : Correct shotcode in media upload tab
19
+
20
  V1.1.0 - 26.01.2009
21
  - NEW : Pagination for album page via custom fields ('ngg_paged_Galleries')
22
  - NEW : Support for fixed number of columns inside the gallery
434
  V0.33 - 23.04.2007
435
  - NEW : Overview Page
436
  - NEW : Core function
437
+ - NEW : Slideshow
 
 
imagerotator.swf DELETED
Binary file
lang/nggallery-de_DE.mo CHANGED
Binary file
lang/nggallery-de_DE.po CHANGED
@@ -2,9 +2,9 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2009-01-04 12:18+0100\n"
6
- "PO-Revision-Date: 2009-01-04 22:51+0100\n"
7
- "Last-Translator: Alex Rabe <no@email.com>\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,7 +18,7 @@ msgstr ""
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
- #: ../nggallery.php:154
22
  msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
23
  msgstr "Tut mir leid, aber NextGEN Galerie benötigt minimum 16MB Speicher (Memory Limit) oder mehr"
24
 
@@ -34,36 +34,36 @@ msgstr "Bilder Stichwort: %2$l."
34
  msgid "Separate picture tags with commas."
35
  msgstr "Trenne Stichwörter mittels Komma"
36
 
37
- #: ../nggallery.php:278
38
  msgid "L O A D I N G"
39
  msgstr "B I T T E W A R T E N"
40
 
41
- #: ../nggallery.php:279
42
  msgid "Click to Close"
43
  msgstr "Klicken zum Schliessen "
44
 
45
- #: ../nggfunctions.php:36
46
  msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
47
  msgstr "Es wird der <a href=\"http://www.macromedia.com/go/getflashplayer\">Adobe Flash Player</a> benötigt und <a href=\"http://www.mozilla.com/firefox/\">im Browser muss Javascript</a> aktiviert sein.."
48
 
49
- #: ../nggfunctions.php:100
50
- #: ../nggfunctions.php:435
51
  msgid "[Gallery not found]"
52
  msgstr "[Galerie nicht gefunden]"
53
 
54
- #: ../nggfunctions.php:290
55
  msgid "[Album not found]"
56
  msgstr "[Album nicht gefunden]"
57
 
58
- #: ../nggfunctions.php:537
59
  msgid "[SinglePic not found]"
60
  msgstr "[Bild nicht gefunden]"
61
 
62
- #: ../nggfunctions.php:662
63
  msgid "Related images for"
64
  msgstr "Verwandte Bilder von"
65
 
66
- #: ../nggfunctions.php:697
67
  #: ../admin/admin.php:32
68
  msgid "Overview"
69
  msgstr "Übersicht"
@@ -184,143 +184,142 @@ msgstr "Vielen Dank!"
184
  msgid "We would like to thank this people which support us in the work :"
185
  msgstr "Ich möchte mich bei diesen Menschen für Ihre Unterstützung bedanken:"
186
 
187
- #: ../admin/addgallery.php:34
188
- #: ../admin/addgallery.php:50
 
 
 
 
189
  msgid "Upload failed!"
190
  msgstr "Upload fehlgeschlagen!"
191
 
192
- #: ../admin/addgallery.php:55
193
- #: ../admin/functions.php:550
194
- #: ../admin/functions.php:640
195
  msgid "No gallery selected !"
196
  msgstr "Keine Galerie ausgewählt !"
197
 
198
- #: ../admin/addgallery.php:102
199
  msgid "Image Files"
200
  msgstr "Bilder"
201
 
202
- #: ../admin/addgallery.php:121
203
- #: ../admin/addgallery.php:151
204
  msgid "remove"
205
  msgstr "Entfernen"
206
 
207
- #: ../admin/addgallery.php:122
208
  msgid "Browse..."
209
  msgstr "Durchsuche..."
210
 
211
- #: ../admin/addgallery.php:123
212
- #: ../admin/addgallery.php:274
213
  msgid "Upload images"
214
  msgstr "Bilder hochladen"
215
 
216
- #: ../admin/addgallery.php:167
217
- #: ../admin/addgallery.php:179
218
  msgid "Add new gallery"
219
  msgstr "Neue Galerie erstellen"
220
 
221
- #: ../admin/addgallery.php:169
222
- #: ../admin/addgallery.php:198
223
  msgid "Upload a Zip-File"
224
  msgstr "Zip-Datei hochladen"
225
 
226
- #: ../admin/addgallery.php:172
227
- #: ../admin/addgallery.php:229
228
  msgid "Import image folder"
229
  msgstr "Bilder-Verzeichnis importieren"
230
 
231
- #: ../admin/addgallery.php:174
232
- #: ../admin/addgallery.php:246
233
  msgid "Upload Images"
234
  msgstr "Bilder hochladen"
235
 
236
- #: ../admin/addgallery.php:184
237
  msgid "New Gallery"
238
  msgstr "Neue Galerie"
239
 
240
- #: ../admin/addgallery.php:187
241
  msgid "Create a new , empty gallery below the folder"
242
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis"
243
 
244
- #: ../admin/addgallery.php:189
245
  msgid "Allowed characters for file and folder names are"
246
- msgstr "Erlaubte Charaktere für die Datei- und Verzeichnisnamen sind"
247
 
248
- #: ../admin/addgallery.php:192
249
  msgid "Add gallery"
250
  msgstr "Galerie hinzufügen"
251
 
252
- #: ../admin/addgallery.php:203
253
  msgid "Select Zip-File"
254
  msgstr "Wähle Zip-Datei"
255
 
256
- #: ../admin/addgallery.php:205
257
  msgid "Upload a zip file with images"
258
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
259
 
260
- #: ../admin/addgallery.php:208
261
- #: ../admin/addgallery.php:255
262
  msgid "in to"
263
  msgstr "in"
264
 
265
- #: ../admin/addgallery.php:210
266
  msgid "a new gallery"
267
  msgstr "eine neue Galerie"
268
 
269
- #: ../admin/addgallery.php:218
270
- #: ../admin/addgallery.php:264
271
  msgid "Note : The upload limit on your server is "
272
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt "
273
 
274
- #: ../admin/addgallery.php:222
275
  msgid "Start upload"
276
  msgstr "Upload starten"
277
 
278
- #: ../admin/addgallery.php:234
279
  msgid "Import from Server path:"
280
  msgstr "Importieren aus Server-Pfad:"
281
 
282
- #: ../admin/addgallery.php:236
283
- msgid "Import a folder with all images."
284
- msgstr "Importiere ein Verzeichnis mit Bildern."
285
-
286
- #: ../admin/addgallery.php:237
287
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
288
  msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen"
289
 
290
- #: ../admin/addgallery.php:240
291
  msgid "Import folder"
292
  msgstr "Verzeichnis importieren"
293
 
294
- #: ../admin/addgallery.php:251
295
  msgid "Upload image"
296
  msgstr "Bild hochladen"
297
 
298
- #: ../admin/addgallery.php:257
299
  msgid "Choose gallery"
300
  msgstr "Wähle Galerie"
301
 
302
- #: ../admin/addgallery.php:270
303
- msgid "The batch upload requires Adobe Flash 9, disable it if you have problems"
304
- msgstr "Das Batch-Upload-Skript benötigt Adbode Flash 9, wenn es Probleme gibt deaktiviere es besser."
305
 
306
- #: ../admin/addgallery.php:270
307
  msgid "Disable flash upload"
308
  msgstr "Deaktiviere Batch-Upload"
309
 
310
- #: ../admin/addgallery.php:272
311
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
312
  msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus."
313
 
314
- #: ../admin/addgallery.php:272
315
  msgid "Enable flash based upload"
316
  msgstr "Aktiviere Flash Batch Upload"
317
 
318
  #: ../admin/admin.php:31
319
  #: ../admin/admin.php:204
320
- #: ../admin/admin.php:270
321
- #: ../admin/functions.php:81
322
- #: ../admin/functions.php:142
323
- #: ../admin/manage-images.php:147
324
  #: ../admin/manage.php:78
325
  msgid "Gallery"
326
  msgid_plural "Galleries"
@@ -422,7 +421,7 @@ msgid "Templates"
422
  msgstr "Vorlagen"
423
 
424
  #: ../admin/admin.php:224
425
- #: ../admin/admin.php:228
426
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
427
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
428
 
@@ -430,69 +429,69 @@ msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank
430
  msgid "Gallery example"
431
  msgstr "Galerie Beispiel"
432
 
433
- #: ../admin/admin.php:229
434
- #: ../admin/admin.php:239
435
  msgid "Gallery tags"
436
  msgstr "Galerie Stichwörter"
437
 
438
- #: ../admin/admin.php:232
439
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
440
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
441
 
442
- #: ../admin/admin.php:233
443
  msgid "Album example"
444
  msgstr "Album Beispiel"
445
 
446
- #: ../admin/admin.php:234
447
- #: ../admin/admin.php:240
448
  msgid "Album tags"
449
  msgstr "Album Stichwörter"
450
 
451
- #: ../admin/admin.php:237
452
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
453
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
454
 
455
- #: ../admin/admin.php:238
456
  msgid "Related images"
457
  msgstr "Verwandte Bilder"
458
 
459
- #: ../admin/admin.php:243
460
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
461
  msgstr "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Bilderverwaltung (Englisch)</a>"
462
 
463
- #: ../admin/admin.php:244
464
  msgid "Custom fields"
465
  msgstr "Spezialfelder"
466
 
467
- #: ../admin/admin.php:249
468
  msgid "Get help with NextGEN Gallery"
469
  msgstr "Weitere Hilfe zu NextGEN Gallery"
470
 
471
- #: ../admin/admin.php:253
472
  msgid "More Help & Info"
473
  msgstr "Weitere Hilfe & Informationen"
474
 
475
- #: ../admin/admin.php:255
476
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forums</a>"
477
  msgstr "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forum (Englisch)</a>"
478
 
479
- #: ../admin/admin.php:256
480
  msgid "FAQ"
481
  msgstr "FAQ (englisch)"
482
 
483
- #: ../admin/admin.php:257
484
  msgid "Feature request"
485
  msgstr "Wünsch dir was"
486
 
487
- #: ../admin/admin.php:258
488
  msgid "Get your language pack"
489
  msgstr "Lade deine Sprachdatei"
490
 
491
- #: ../admin/admin.php:259
492
  msgid "Contribute development"
493
  msgstr "Entwicklung helfen"
494
 
495
- #: ../admin/admin.php:260
496
  msgid "Download latest version"
497
  msgstr "Aktuelle Version downloaden"
498
 
@@ -523,7 +522,7 @@ msgstr "Aktualisiere"
523
 
524
  #: ../admin/album.php:147
525
  #: ../admin/manage-galleries.php:78
526
- #: ../admin/manage-images.php:331
527
  msgid "Delete"
528
  msgstr "Lösche"
529
 
@@ -569,7 +568,7 @@ msgstr "Kein Album ausgewählt"
569
 
570
  #: ../admin/album.php:254
571
  #: ../admin/manage-galleries.php:42
572
- #: ../admin/manage-images.php:468
573
  msgid "ID"
574
  msgstr "ID"
575
 
@@ -579,7 +578,7 @@ msgstr "Name"
579
 
580
  #: ../admin/album.php:256
581
  #: ../admin/manage-galleries.php:43
582
- #: ../admin/manage-images.php:161
583
  msgid "Title"
584
  msgstr "Titel"
585
 
@@ -594,8 +593,8 @@ msgstr "Kein gültiger Galerie-Name!"
594
  #: ../admin/functions.php:30
595
  #: ../admin/functions.php:39
596
  #: ../admin/functions.php:53
597
- #: ../admin/functions.php:116
598
- #: ../admin/functions.php:123
599
  msgid "Directory"
600
  msgstr "Verzeichnis"
601
 
@@ -615,7 +614,7 @@ msgstr "ist schreibgeschützt !"
615
 
616
  #: ../admin/functions.php:48
617
  #: ../admin/functions.php:58
618
- #: ../admin/functions.php:513
619
  msgid "Unable to create directory "
620
  msgstr "Kann Verzeichnis nicht erstellen "
621
 
@@ -635,163 +634,163 @@ msgstr "und das Thumbnails-Verzeichnis"
635
  msgid "with permission 777 manually !"
636
  msgstr "mit den Berechtigungen 777 manuell !"
637
 
638
- #: ../admin/functions.php:81
639
  msgid "already exists"
640
  msgstr "gibt es bereits"
641
 
642
- #: ../admin/functions.php:86
643
  #, php-format
644
  msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
645
  msgstr "Galerie %1$s erstellt..<br/>Du kannst diese Galerie jetzt mit dem Stichwort %2$s einbinden.<br/>"
646
 
647
- #: ../admin/functions.php:89
648
  msgid "Edit gallery"
649
  msgstr "Galerie ändern"
650
 
651
- #: ../admin/functions.php:116
652
  msgid "doesn&#96;t exist!"
653
  msgstr "gibt es nicht !"
654
 
655
- #: ../admin/functions.php:123
656
  msgid "contains no pictures"
657
  msgstr "enthält keine Bilder"
658
 
659
- #: ../admin/functions.php:139
660
  msgid "Database error. Could not add gallery!"
661
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
662
 
663
- #: ../admin/functions.php:142
664
  msgid "successfully created!"
665
  msgstr "erfolgreich erstellt!"
666
 
667
- #: ../admin/functions.php:161
668
- #: ../admin/functions.php:622
669
- #: ../admin/manage-images.php:239
670
  #: ../admin/manage.php:130
671
  msgid "Create new thumbnails"
672
  msgstr "Neue Thumbnails erstellen"
673
 
674
- #: ../admin/functions.php:164
675
  msgid " picture(s) successfully added"
676
  msgstr " Bild(er) erfolgreich hinzugefügt"
677
 
678
- #: ../admin/functions.php:203
679
- #: ../admin/functions.php:282
680
- #: ../admin/functions.php:323
681
  msgid "Object didn't contain correct data"
682
  msgstr "Das Objekt enhält nicht die notwendigen Daten"
683
 
684
- #: ../admin/functions.php:208
685
  msgid " is not writeable "
686
  msgstr "ist schreibgeschützt !"
687
 
688
- #: ../admin/functions.php:289
689
- #: ../admin/functions.php:326
690
  msgid " is not writeable"
691
  msgstr "ist schreibgeschützt !"
692
 
693
- #: ../admin/functions.php:482
694
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
695
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
696
 
697
- #: ../admin/functions.php:497
698
  msgid "Could not get a valid foldername"
699
  msgstr "Konnte keinen gültigen Verzeichnisnamen finden"
700
 
701
- #: ../admin/functions.php:508
702
  #, php-format
703
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
704
  msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
705
 
706
- #: ../admin/functions.php:523
707
  msgid "Zip-File successfully unpacked"
708
  msgstr "Zip-Datei erfolgreich entpackt"
709
 
710
- #: ../admin/functions.php:558
711
- #: ../admin/functions.php:667
712
  msgid "Failure in database, no gallery path set !"
713
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
714
 
715
- #: ../admin/functions.php:579
716
- #: ../admin/functions.php:661
717
  msgid "is no valid image file!"
718
  msgstr "ist keine zulässige Bilddatei !"
719
 
720
- #: ../admin/functions.php:593
721
- #: ../admin/functions.php:769
722
- #: ../admin/functions.php:837
723
  #, php-format
724
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
725
  msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
726
 
727
- #: ../admin/functions.php:600
728
- #: ../admin/functions.php:684
729
  msgid "Error, the file could not moved to : "
730
  msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
731
 
732
- #: ../admin/functions.php:605
733
- #: ../admin/functions.php:688
734
  msgid "Error, the file permissions could not set"
735
  msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
736
 
737
- #: ../admin/functions.php:626
738
  msgid " Image(s) successfully added"
739
  msgstr " Bild(er) erfolgreich hinzugefügt"
740
 
741
- #: ../admin/functions.php:649
742
  msgid "Invalid upload. Error Code : "
743
  msgstr "Ungültiger Upload. Fehler Code :"
744
 
745
- #: ../admin/functions.php:698
746
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
747
  msgstr "Schade, dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder."
748
 
749
- #: ../admin/functions.php:725
750
  #, php-format
751
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
752
  msgstr "SAFE MODE Einschränkungen ist aktiv. Du must das Verzeichnis <strong>%s</strong> manuell anlegen."
753
 
754
- #: ../admin/functions.php:726
755
  #, php-format
756
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
757
  msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt."
758
 
759
- #: ../admin/functions.php:763
760
- #: ../admin/functions.php:831
761
  msgid "The destination gallery does not exist"
762
  msgstr "Die ausgewählte Galerie existiert nicht"
763
 
764
- #: ../admin/functions.php:794
765
  #, php-format
766
  msgid "Failed to move image %1$s to %2$s"
767
  msgstr "Konte das Bild %1$s nicht nach %2$s verschieben"
768
 
769
- #: ../admin/functions.php:812
770
  #, php-format
771
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
772
  msgstr " %1$s Bild(er) in Galerie : %2$s verschoben."
773
 
774
- #: ../admin/functions.php:864
775
  #, php-format
776
  msgid "Failed to copy image %1$s to %2$s"
777
  msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren"
778
 
779
- #: ../admin/functions.php:876
780
  #, php-format
781
  msgid "Failed to copy database row for picture %s"
782
  msgstr "Fehler bei der Datenbank-Operation für Bild %s"
783
 
784
- #: ../admin/functions.php:884
785
  #, php-format
786
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
787
  msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert &raquo; Die Datei existierte bereits."
788
 
789
- #: ../admin/functions.php:887
790
  #, php-format
791
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
792
  msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)"
793
 
794
- #: ../admin/functions.php:896
795
  #, php-format
796
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
797
  msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ."
@@ -813,12 +812,12 @@ msgid "[Show picture list]"
813
  msgstr "[Zeige Bilder-Liste]"
814
 
815
  #: ../admin/manage-galleries.php:19
816
- #: ../admin/manage-images.php:35
817
  msgid "&laquo;"
818
  msgstr "&laquo;"
819
 
820
  #: ../admin/manage-galleries.php:20
821
- #: ../admin/manage-images.php:36
822
  msgid "&raquo;"
823
  msgstr "&raquo;"
824
 
@@ -827,19 +826,19 @@ msgid "Gallery Overview"
827
  msgstr "Galerie Übersicht"
828
 
829
  #: ../admin/manage-galleries.php:30
830
- #: ../admin/manage-images.php:228
831
  #, php-format
832
  msgid "Displaying %s&#8211;%s of %s"
833
  msgstr "Zeige %s&#8211;%s von %s"
834
 
835
  #: ../admin/manage-galleries.php:44
836
- #: ../admin/manage-images.php:172
837
- #: ../admin/manage-images.php:473
838
  msgid "Description"
839
  msgstr "Beschreibung"
840
 
841
  #: ../admin/manage-galleries.php:45
842
- #: ../admin/manage-images.php:192
843
  msgid "Author"
844
  msgstr "Autor"
845
 
@@ -864,19 +863,19 @@ msgid "Delete this gallery ?"
864
  msgstr "Diese Galerie löschen ?"
865
 
866
  #: ../admin/manage-galleries.php:85
867
- #: ../admin/manage-images.php:385
868
  msgid "No entries found"
869
  msgstr "Keine Einträge gefunden"
870
 
871
- #: ../admin/manage-images.php:18
872
  msgid "Gallery not found."
873
  msgstr "Galerie nicht gefunden"
874
 
875
- #: ../admin/manage-images.php:108
876
  msgid "No images selected"
877
  msgstr "Keine Bilder ausgewählt"
878
 
879
- #: ../admin/manage-images.php:128
880
  #, php-format
881
  msgid ""
882
  "You are about to start the bulk edit for %s images \n"
@@ -887,161 +886,169 @@ msgstr ""
887
  " \n"
888
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
889
 
890
- #: ../admin/manage-images.php:157
891
  msgid "Gallery settings"
892
  msgstr "Galerie Einstellungen"
893
 
894
- #: ../admin/manage-images.php:157
895
  msgid "Click here for more settings"
896
  msgstr "Hier klicken für weitere Einstellungen"
897
 
898
- #: ../admin/manage-images.php:163
899
  msgid "Page Link to"
900
  msgstr "Seite verlinkt zu"
901
 
902
- #: ../admin/manage-images.php:166
903
  msgid "Not linked"
904
  msgstr "Nicht verlinkt"
905
 
906
- #: ../admin/manage-images.php:174
907
  msgid "Preview image"
908
  msgstr "Vorschau-Bild"
909
 
910
- #: ../admin/manage-images.php:177
911
  msgid "No Picture"
912
  msgstr "Kein Bild"
913
 
914
- #: ../admin/manage-images.php:190
915
  msgid "Path"
916
  msgstr "Pfad"
917
 
918
- #: ../admin/manage-images.php:206
919
  msgid "Create new page"
920
  msgstr "Neue Seite erstellen"
921
 
922
- #: ../admin/manage-images.php:209
923
  msgid "Main page (No parent)"
924
  msgstr "Haupseite (keine Unterseite)"
925
 
926
- #: ../admin/manage-images.php:212
927
  msgid "Add page"
928
  msgstr "Seite hinzufügen"
929
 
930
- #: ../admin/manage-images.php:218
931
  msgid "Scan Folder for new images"
932
  msgstr "Überprüfe Verzeichnis nach neuen Bildern"
933
 
934
- #: ../admin/manage-images.php:219
935
- #: ../admin/manage-images.php:255
936
- #: ../admin/manage-images.php:391
937
  msgid "Save Changes"
938
  msgstr "Änderungen speichern"
939
 
940
- #: ../admin/manage-images.php:237
941
  msgid "No action"
942
  msgstr "Keine Aktion"
943
 
944
- #: ../admin/manage-images.php:238
945
  #: ../admin/manage.php:126
946
  msgid "Set watermark"
947
  msgstr "Wasserzeichen setzen"
948
 
949
- #: ../admin/manage-images.php:240
950
  #: ../admin/manage.php:134
951
  msgid "Resize images"
952
  msgstr "Bilder verkleinern"
953
 
954
- #: ../admin/manage-images.php:241
955
  msgid "Delete images"
956
  msgstr "Bilder löschen"
957
 
958
- #: ../admin/manage-images.php:242
959
  msgid "Import metadata"
960
  msgstr "Metadaten importieren"
961
 
962
- #: ../admin/manage-images.php:243
963
  msgid "Copy to..."
964
  msgstr "Kopiere nach..."
965
 
966
- #: ../admin/manage-images.php:244
967
  msgid "Move to..."
968
  msgstr "Verschiebe nach..."
969
 
970
- #: ../admin/manage-images.php:245
971
  msgid "Add tags"
972
  msgstr "Stichwörter hinzufügen"
973
 
974
- #: ../admin/manage-images.php:246
975
  msgid "Delete tags"
976
  msgstr "Stichwörter löschen"
977
 
978
- #: ../admin/manage-images.php:247
979
  msgid "Overwrite tags"
980
  msgstr "Stichwörter überschreiben"
981
 
982
- #: ../admin/manage-images.php:249
983
- #: ../admin/manage-images.php:408
984
- #: ../admin/manage-images.php:443
985
  msgid "OK"
986
  msgstr "OK"
987
 
988
- #: ../admin/manage-images.php:252
989
  msgid "Sort gallery"
990
  msgstr "Sortiere Bilder"
991
 
992
- #: ../admin/manage-images.php:329
993
  #, php-format
994
  msgid "View \"%s\""
995
  msgstr "Anzeigen \"%s\""
996
 
997
- #: ../admin/manage-images.php:329
998
  msgid "View"
999
  msgstr "Ansehen"
1000
 
1001
- #: ../admin/manage-images.php:330
1002
  msgid "Show Meta data"
1003
  msgstr "Zeige Metadaten"
1004
 
1005
- #: ../admin/manage-images.php:330
1006
  msgid "Meta"
1007
  msgstr "Meta"
1008
 
1009
- #: ../admin/manage-images.php:331
 
 
 
 
 
 
 
 
1010
  #, php-format
1011
  msgid "Delete \"%s\""
1012
  msgstr "Lösche \"%s\""
1013
 
1014
- #: ../admin/manage-images.php:404
1015
  msgid "Enter the tags"
1016
  msgstr "Stichwörter angeben"
1017
 
1018
- #: ../admin/manage-images.php:410
1019
- #: ../admin/manage-images.php:445
1020
  msgid "Cancel"
1021
  msgstr "Abbrechen"
1022
 
1023
- #: ../admin/manage-images.php:427
1024
  msgid "Select the destination gallery:"
1025
  msgstr "Galerie auswählen:"
1026
 
1027
- #: ../admin/manage-images.php:469
1028
  msgid "Thumbnail"
1029
  msgstr "Thumbnail"
1030
 
1031
- #: ../admin/manage-images.php:471
1032
  #: ../admin/manage-sort.php:80
1033
  msgid "Filename"
1034
  msgstr "Dateiname"
1035
 
1036
- #: ../admin/manage-images.php:473
1037
  msgid "Alt &amp; Title Text"
1038
  msgstr "Alt &amp; Titel Text"
1039
 
1040
- #: ../admin/manage-images.php:474
1041
  msgid "Tags (comma separated list)"
1042
  msgstr "Stichwörter (Tags)"
1043
 
1044
- #: ../admin/manage-images.php:476
1045
  msgid "exclude"
1046
  msgstr "ausschließen"
1047
 
@@ -1107,7 +1114,7 @@ msgid "Import metadata finished"
1107
  msgstr "Import der Metadaten beendet"
1108
 
1109
  #: ../admin/manage.php:165
1110
- msgid "Operation successfull. Please clear your browser cache."
1111
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache aktualisieren."
1112
 
1113
  #: ../admin/manage.php:228
@@ -1118,14 +1125,37 @@ msgstr "Stichwörter geändert"
1118
  msgid "Update successful"
1119
  msgstr "Aktualisierung erfolgreich"
1120
 
1121
- #: ../admin/manage.php:288
1122
  msgid "New gallery page ID"
1123
  msgstr "Neue Galerie Seiten ID"
1124
 
1125
- #: ../admin/manage.php:288
1126
  msgid "created"
1127
  msgstr "erstellt"
1128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1129
  #: ../admin/media-upload.php:132
1130
  #: ../admin/tinymce/window.php:43
1131
  msgid "No gallery"
@@ -1498,7 +1528,7 @@ msgid "Activate Media RSS feed"
1498
  msgstr "Aktiviere Media RSS Feed"
1499
 
1500
  #: ../admin/settings.php:151
1501
- msgid "A RSS feed will be added to you blog header. Usefull for CoolIris/PicLens"
1502
  msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt"
1503
 
1504
  #: ../admin/settings.php:154
@@ -1943,7 +1973,7 @@ msgid "Reset all settings to default parameter"
1943
  msgstr "Stelle alle Einstellungen auf Anfangswerte zurück"
1944
 
1945
  #: ../admin/setup.php:26
1946
- msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1947
  msgstr "Deinstallation erfolgreich ! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen ! Stay geeky ! Viel Glück !"
1948
 
1949
  #: ../admin/setup.php:30
@@ -2008,11 +2038,6 @@ msgstr ""
2008
  "\\n"
2009
  "Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
2010
 
2011
- #: ../admin/showmeta.php:10
2012
- #: ../admin/showmeta.php:13
2013
- msgid "Cheatin&#8217; uh?"
2014
- msgstr "Cheatin&#8217; uh?"
2015
-
2016
  #: ../admin/showmeta.php:46
2017
  msgid "EXIF Data"
2018
  msgstr "EXIF Daten"
@@ -2081,7 +2106,7 @@ msgstr "Version"
2081
 
2082
  #: ../admin/style.php:120
2083
  msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade"
2084
- msgstr "Keiner Tip : Kopiere das Stylesheet (nggaller.css) in dein Theme-Verzeichnis, dadurch wird es beim nächsten Update nicht überschrieben."
2085
 
2086
  #: ../admin/style.php:122
2087
  msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used"
@@ -2260,7 +2285,7 @@ msgid "Start upgrade now"
2260
  msgstr "Aktualisierung starten"
2261
 
2262
  #: ../admin/upgrade.php:289
2263
- msgid "Upgrade sucessfull"
2264
  msgstr "Aktualisierung erfolgreich"
2265
 
2266
  #: ../admin/upgrade.php:290
@@ -2388,6 +2413,11 @@ msgstr "Kein Float"
2388
  msgid "Insert"
2389
  msgstr "Einfügen"
2390
 
 
 
 
 
 
2391
  #: ../lib/meta.php:87
2392
  msgid " mm"
2393
  msgstr " mm"
@@ -2515,7 +2545,7 @@ msgstr "Format"
2515
  msgid "Album overview"
2516
  msgstr "Album Übersicht"
2517
 
2518
- #: ../lib/shortcodes.php:272
2519
  msgid "[Pictures not found]"
2520
  msgstr "[Bilder nicht gefunden]"
2521
 
@@ -2594,7 +2624,6 @@ msgstr "Fotos"
2594
 
2595
  #: ../view/gallery-caption.php:32
2596
  #: ../view/gallery.php:32
2597
- #: ../widgets/media-rss-widget.php:236
2598
  msgid "[View with PicLens]"
2599
  msgstr "[Mit PicLens anzeigen]"
2600
 
@@ -2645,6 +2674,7 @@ msgid "Link to the main image feed"
2645
  msgstr "Link zum Bilder-Feed"
2646
 
2647
  #: ../widgets/media-rss-widget.php:153
 
2648
  msgid "Title:"
2649
  msgstr "Titel:"
2650
 
@@ -2710,8 +2740,8 @@ msgid "Show :"
2710
  msgstr "Zeige als :"
2711
 
2712
  #: ../widgets/widgets.php:296
2713
- msgid "Orginal images"
2714
- msgstr "Orginal Bilder"
2715
 
2716
  #: ../widgets/widgets.php:304
2717
  msgid "recent added "
@@ -2768,6 +2798,8 @@ msgstr "Album-ID %s existiert nicht"
2768
  msgid "Invalid MediaRSS command (%s)."
2769
  msgstr "Ungültiger Media RSS Befehl (%s)"
2770
 
 
 
2771
  #~ msgid "Show tags"
2772
  #~ msgstr "Zeige Tags"
2773
  #~ msgid "Hide tags"
@@ -2784,8 +2816,6 @@ msgstr "Ungültiger Media RSS Befehl (%s)"
2784
  #~ " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
2785
  #~ msgid "Date"
2786
  #~ msgstr "Datum"
2787
- #~ msgid "Hide thumbnails "
2788
- #~ msgstr "Thumbnails verstecken"
2789
  #~ msgid "Show thumbnails "
2790
  #~ msgstr "Thumbnails zeigen"
2791
  #~ msgid "Add Gallery"
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2009-03-05 23:41+0100\n"
6
+ "PO-Revision-Date: 2009-03-05 23:43+0100\n"
7
+ "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
  "X-Poedit-SearchPath-1: ..\n"
20
 
21
+ #: ../nggallery.php:156
22
  msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
23
  msgstr "Tut mir leid, aber NextGEN Galerie benötigt minimum 16MB Speicher (Memory Limit) oder mehr"
24
 
34
  msgid "Separate picture tags with commas."
35
  msgstr "Trenne Stichwörter mittels Komma"
36
 
37
+ #: ../nggallery.php:276
38
  msgid "L O A D I N G"
39
  msgstr "B I T T E W A R T E N"
40
 
41
+ #: ../nggallery.php:277
42
  msgid "Click to Close"
43
  msgstr "Klicken zum Schliessen "
44
 
45
+ #: ../nggfunctions.php:37
46
  msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
47
  msgstr "Es wird der <a href=\"http://www.macromedia.com/go/getflashplayer\">Adobe Flash Player</a> benötigt und <a href=\"http://www.mozilla.com/firefox/\">im Browser muss Javascript</a> aktiviert sein.."
48
 
49
+ #: ../nggfunctions.php:101
50
+ #: ../nggfunctions.php:437
51
  msgid "[Gallery not found]"
52
  msgstr "[Galerie nicht gefunden]"
53
 
54
+ #: ../nggfunctions.php:292
55
  msgid "[Album not found]"
56
  msgstr "[Album nicht gefunden]"
57
 
58
+ #: ../nggfunctions.php:540
59
  msgid "[SinglePic not found]"
60
  msgstr "[Bild nicht gefunden]"
61
 
62
+ #: ../nggfunctions.php:665
63
  msgid "Related images for"
64
  msgstr "Verwandte Bilder von"
65
 
66
+ #: ../nggfunctions.php:700
67
  #: ../admin/admin.php:32
68
  msgid "Overview"
69
  msgstr "Übersicht"
184
  msgid "We would like to thank this people which support us in the work :"
185
  msgstr "Ich möchte mich bei diesen Menschen für Ihre Unterstützung bedanken:"
186
 
187
+ #: ../admin/about.php:143
188
+ msgid "and all donators..."
189
+ msgstr "und allen anderen Spendern..."
190
+
191
+ #: ../admin/addgallery.php:37
192
+ #: ../admin/addgallery.php:53
193
  msgid "Upload failed!"
194
  msgstr "Upload fehlgeschlagen!"
195
 
196
+ #: ../admin/addgallery.php:58
197
+ #: ../admin/functions.php:559
198
+ #: ../admin/functions.php:649
199
  msgid "No gallery selected !"
200
  msgstr "Keine Galerie ausgewählt !"
201
 
202
+ #: ../admin/addgallery.php:105
203
  msgid "Image Files"
204
  msgstr "Bilder"
205
 
206
+ #: ../admin/addgallery.php:124
207
+ #: ../admin/addgallery.php:155
208
  msgid "remove"
209
  msgstr "Entfernen"
210
 
211
+ #: ../admin/addgallery.php:125
212
  msgid "Browse..."
213
  msgstr "Durchsuche..."
214
 
215
+ #: ../admin/addgallery.php:126
216
+ #: ../admin/addgallery.php:282
217
  msgid "Upload images"
218
  msgstr "Bilder hochladen"
219
 
220
+ #: ../admin/addgallery.php:174
221
+ #: ../admin/addgallery.php:186
222
  msgid "Add new gallery"
223
  msgstr "Neue Galerie erstellen"
224
 
225
+ #: ../admin/addgallery.php:176
226
+ #: ../admin/addgallery.php:205
227
  msgid "Upload a Zip-File"
228
  msgstr "Zip-Datei hochladen"
229
 
230
+ #: ../admin/addgallery.php:179
231
+ #: ../admin/addgallery.php:237
232
  msgid "Import image folder"
233
  msgstr "Bilder-Verzeichnis importieren"
234
 
235
+ #: ../admin/addgallery.php:181
236
+ #: ../admin/addgallery.php:254
237
  msgid "Upload Images"
238
  msgstr "Bilder hochladen"
239
 
240
+ #: ../admin/addgallery.php:191
241
  msgid "New Gallery"
242
  msgstr "Neue Galerie"
243
 
244
+ #: ../admin/addgallery.php:194
245
  msgid "Create a new , empty gallery below the folder"
246
  msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis"
247
 
248
+ #: ../admin/addgallery.php:196
249
  msgid "Allowed characters for file and folder names are"
250
+ msgstr "Erlaubte Zeichen für die Datei- und Verzeichnisnamen sind"
251
 
252
+ #: ../admin/addgallery.php:199
253
  msgid "Add gallery"
254
  msgstr "Galerie hinzufügen"
255
 
256
+ #: ../admin/addgallery.php:210
257
  msgid "Select Zip-File"
258
  msgstr "Wähle Zip-Datei"
259
 
260
+ #: ../admin/addgallery.php:212
261
  msgid "Upload a zip file with images"
262
  msgstr "Lade eine Zip-Datei mit Bildern hoch"
263
 
264
+ #: ../admin/addgallery.php:215
265
+ #: ../admin/addgallery.php:263
266
  msgid "in to"
267
  msgstr "in"
268
 
269
+ #: ../admin/addgallery.php:217
270
  msgid "a new gallery"
271
  msgstr "eine neue Galerie"
272
 
273
+ #: ../admin/addgallery.php:226
 
274
  msgid "Note : The upload limit on your server is "
275
  msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt "
276
 
277
+ #: ../admin/addgallery.php:230
278
  msgid "Start upload"
279
  msgstr "Upload starten"
280
 
281
+ #: ../admin/addgallery.php:242
282
  msgid "Import from Server path:"
283
  msgstr "Importieren aus Server-Pfad:"
284
 
285
+ #: ../admin/addgallery.php:245
 
 
 
 
286
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
287
  msgstr "Achtung : Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen"
288
 
289
+ #: ../admin/addgallery.php:248
290
  msgid "Import folder"
291
  msgstr "Verzeichnis importieren"
292
 
293
+ #: ../admin/addgallery.php:259
294
  msgid "Upload image"
295
  msgstr "Bild hochladen"
296
 
297
+ #: ../admin/addgallery.php:265
298
  msgid "Choose gallery"
299
  msgstr "Wähle Galerie"
300
 
301
+ #: ../admin/addgallery.php:278
302
+ msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
303
+ msgstr "Das Batch-Upload benötigt Adbode Flash 10, wenn es Probleme gibt deaktiviere es besser."
304
 
305
+ #: ../admin/addgallery.php:278
306
  msgid "Disable flash upload"
307
  msgstr "Deaktiviere Batch-Upload"
308
 
309
+ #: ../admin/addgallery.php:280
310
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
311
  msgstr "Wähle im Dialog mit Ctrl/Shift mehrere Bilder gleichzeitig aus."
312
 
313
+ #: ../admin/addgallery.php:280
314
  msgid "Enable flash based upload"
315
  msgstr "Aktiviere Flash Batch Upload"
316
 
317
  #: ../admin/admin.php:31
318
  #: ../admin/admin.php:204
319
+ #: ../admin/admin.php:272
320
+ #: ../admin/functions.php:82
321
+ #: ../admin/functions.php:145
322
+ #: ../admin/manage-images.php:145
323
  #: ../admin/manage.php:78
324
  msgid "Gallery"
325
  msgid_plural "Galleries"
421
  msgstr "Vorlagen"
422
 
423
  #: ../admin/admin.php:224
424
+ #: ../admin/admin.php:230
425
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
426
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
427
 
429
  msgid "Gallery example"
430
  msgstr "Galerie Beispiel"
431
 
432
+ #: ../admin/admin.php:231
433
+ #: ../admin/admin.php:241
434
  msgid "Gallery tags"
435
  msgstr "Galerie Stichwörter"
436
 
437
+ #: ../admin/admin.php:234
438
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
439
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
440
 
441
+ #: ../admin/admin.php:235
442
  msgid "Album example"
443
  msgstr "Album Beispiel"
444
 
445
+ #: ../admin/admin.php:236
446
+ #: ../admin/admin.php:242
447
  msgid "Album tags"
448
  msgstr "Album Stichwörter"
449
 
450
+ #: ../admin/admin.php:239
451
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
452
  msgstr "<a href=\"http://www.curlyrob.de/curlyrob/?page_id=129\" target=\"_blank\">Einführung</a>"
453
 
454
+ #: ../admin/admin.php:240
455
  msgid "Related images"
456
  msgstr "Verwandte Bilder"
457
 
458
+ #: ../admin/admin.php:245
459
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
460
  msgstr "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Bilderverwaltung (Englisch)</a>"
461
 
462
+ #: ../admin/admin.php:246
463
  msgid "Custom fields"
464
  msgstr "Spezialfelder"
465
 
466
+ #: ../admin/admin.php:251
467
  msgid "Get help with NextGEN Gallery"
468
  msgstr "Weitere Hilfe zu NextGEN Gallery"
469
 
470
+ #: ../admin/admin.php:255
471
  msgid "More Help & Info"
472
  msgstr "Weitere Hilfe & Informationen"
473
 
474
+ #: ../admin/admin.php:257
475
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forums</a>"
476
  msgstr "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forum (Englisch)</a>"
477
 
478
+ #: ../admin/admin.php:258
479
  msgid "FAQ"
480
  msgstr "FAQ (englisch)"
481
 
482
+ #: ../admin/admin.php:259
483
  msgid "Feature request"
484
  msgstr "Wünsch dir was"
485
 
486
+ #: ../admin/admin.php:260
487
  msgid "Get your language pack"
488
  msgstr "Lade deine Sprachdatei"
489
 
490
+ #: ../admin/admin.php:261
491
  msgid "Contribute development"
492
  msgstr "Entwicklung helfen"
493
 
494
+ #: ../admin/admin.php:262
495
  msgid "Download latest version"
496
  msgstr "Aktuelle Version downloaden"
497
 
522
 
523
  #: ../admin/album.php:147
524
  #: ../admin/manage-galleries.php:78
525
+ #: ../admin/manage-images.php:328
526
  msgid "Delete"
527
  msgstr "Lösche"
528
 
568
 
569
  #: ../admin/album.php:254
570
  #: ../admin/manage-galleries.php:42
571
+ #: ../admin/manage-images.php:465
572
  msgid "ID"
573
  msgstr "ID"
574
 
578
 
579
  #: ../admin/album.php:256
580
  #: ../admin/manage-galleries.php:43
581
+ #: ../admin/manage-images.php:159
582
  msgid "Title"
583
  msgstr "Titel"
584
 
593
  #: ../admin/functions.php:30
594
  #: ../admin/functions.php:39
595
  #: ../admin/functions.php:53
596
+ #: ../admin/functions.php:117
597
+ #: ../admin/functions.php:124
598
  msgid "Directory"
599
  msgstr "Verzeichnis"
600
 
614
 
615
  #: ../admin/functions.php:48
616
  #: ../admin/functions.php:58
617
+ #: ../admin/functions.php:522
618
  msgid "Unable to create directory "
619
  msgstr "Kann Verzeichnis nicht erstellen "
620
 
634
  msgid "with permission 777 manually !"
635
  msgstr "mit den Berechtigungen 777 manuell !"
636
 
637
+ #: ../admin/functions.php:82
638
  msgid "already exists"
639
  msgstr "gibt es bereits"
640
 
641
+ #: ../admin/functions.php:87
642
  #, php-format
643
  msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
644
  msgstr "Galerie %1$s erstellt..<br/>Du kannst diese Galerie jetzt mit dem Stichwort %2$s einbinden.<br/>"
645
 
646
+ #: ../admin/functions.php:90
647
  msgid "Edit gallery"
648
  msgstr "Galerie ändern"
649
 
650
+ #: ../admin/functions.php:117
651
  msgid "doesn&#96;t exist!"
652
  msgstr "gibt es nicht !"
653
 
654
+ #: ../admin/functions.php:124
655
  msgid "contains no pictures"
656
  msgstr "enthält keine Bilder"
657
 
658
+ #: ../admin/functions.php:142
659
  msgid "Database error. Could not add gallery!"
660
  msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
661
 
662
+ #: ../admin/functions.php:145
663
  msgid "successfully created!"
664
  msgstr "erfolgreich erstellt!"
665
 
666
+ #: ../admin/functions.php:166
667
+ #: ../admin/functions.php:631
668
+ #: ../admin/manage-images.php:237
669
  #: ../admin/manage.php:130
670
  msgid "Create new thumbnails"
671
  msgstr "Neue Thumbnails erstellen"
672
 
673
+ #: ../admin/functions.php:169
674
  msgid " picture(s) successfully added"
675
  msgstr " Bild(er) erfolgreich hinzugefügt"
676
 
677
+ #: ../admin/functions.php:208
678
+ #: ../admin/functions.php:287
679
+ #: ../admin/functions.php:328
680
  msgid "Object didn't contain correct data"
681
  msgstr "Das Objekt enhält nicht die notwendigen Daten"
682
 
683
+ #: ../admin/functions.php:213
684
  msgid " is not writeable "
685
  msgstr "ist schreibgeschützt !"
686
 
687
+ #: ../admin/functions.php:294
688
+ #: ../admin/functions.php:331
689
  msgid " is not writeable"
690
  msgstr "ist schreibgeschützt !"
691
 
692
+ #: ../admin/functions.php:491
693
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
694
  msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
695
 
696
+ #: ../admin/functions.php:506
697
  msgid "Could not get a valid foldername"
698
  msgstr "Konnte keinen gültigen Verzeichnisnamen finden"
699
 
700
+ #: ../admin/functions.php:517
701
  #, php-format
702
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
703
  msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
704
 
705
+ #: ../admin/functions.php:532
706
  msgid "Zip-File successfully unpacked"
707
  msgstr "Zip-Datei erfolgreich entpackt"
708
 
709
+ #: ../admin/functions.php:567
710
+ #: ../admin/functions.php:676
711
  msgid "Failure in database, no gallery path set !"
712
  msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
713
 
714
+ #: ../admin/functions.php:588
715
+ #: ../admin/functions.php:670
716
  msgid "is no valid image file!"
717
  msgstr "ist keine zulässige Bilddatei !"
718
 
719
+ #: ../admin/functions.php:602
720
+ #: ../admin/functions.php:778
721
+ #: ../admin/functions.php:846
722
  #, php-format
723
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
724
  msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
725
 
726
+ #: ../admin/functions.php:609
727
+ #: ../admin/functions.php:693
728
  msgid "Error, the file could not moved to : "
729
  msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
730
 
731
+ #: ../admin/functions.php:614
732
+ #: ../admin/functions.php:697
733
  msgid "Error, the file permissions could not set"
734
  msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
735
 
736
+ #: ../admin/functions.php:635
737
  msgid " Image(s) successfully added"
738
  msgstr " Bild(er) erfolgreich hinzugefügt"
739
 
740
+ #: ../admin/functions.php:658
741
  msgid "Invalid upload. Error Code : "
742
  msgstr "Ungültiger Upload. Fehler Code :"
743
 
744
+ #: ../admin/functions.php:707
745
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
746
  msgstr "Schade, dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder."
747
 
748
+ #: ../admin/functions.php:734
749
  #, php-format
750
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
751
  msgstr "SAFE MODE Einschränkungen ist aktiv. Du must das Verzeichnis <strong>%s</strong> manuell anlegen."
752
 
753
+ #: ../admin/functions.php:735
754
  #, php-format
755
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
756
  msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt."
757
 
758
+ #: ../admin/functions.php:772
759
+ #: ../admin/functions.php:840
760
  msgid "The destination gallery does not exist"
761
  msgstr "Die ausgewählte Galerie existiert nicht"
762
 
763
+ #: ../admin/functions.php:803
764
  #, php-format
765
  msgid "Failed to move image %1$s to %2$s"
766
  msgstr "Konte das Bild %1$s nicht nach %2$s verschieben"
767
 
768
+ #: ../admin/functions.php:821
769
  #, php-format
770
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
771
  msgstr " %1$s Bild(er) in Galerie : %2$s verschoben."
772
 
773
+ #: ../admin/functions.php:873
774
  #, php-format
775
  msgid "Failed to copy image %1$s to %2$s"
776
  msgstr "Konnte das Bild %1$s nicht nach %2$s kopieren"
777
 
778
+ #: ../admin/functions.php:885
779
  #, php-format
780
  msgid "Failed to copy database row for picture %s"
781
  msgstr "Fehler bei der Datenbank-Operation für Bild %s"
782
 
783
+ #: ../admin/functions.php:893
784
  #, php-format
785
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
786
  msgstr "Bild %1$s (%2$s) als Bild %3$s (%4$s) kopiert &raquo; Die Datei existierte bereits."
787
 
788
+ #: ../admin/functions.php:896
789
  #, php-format
790
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
791
  msgstr "Bild %1$s (%2$s) kopiert als Bild %3$s (%4$s)"
792
 
793
+ #: ../admin/functions.php:905
794
  #, php-format
795
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
796
  msgstr "Kopiere %1$s Bild(er) in die Galerie : %2$s ."
812
  msgstr "[Zeige Bilder-Liste]"
813
 
814
  #: ../admin/manage-galleries.php:19
815
+ #: ../admin/manage-images.php:33
816
  msgid "&laquo;"
817
  msgstr "&laquo;"
818
 
819
  #: ../admin/manage-galleries.php:20
820
+ #: ../admin/manage-images.php:34
821
  msgid "&raquo;"
822
  msgstr "&raquo;"
823
 
826
  msgstr "Galerie Übersicht"
827
 
828
  #: ../admin/manage-galleries.php:30
829
+ #: ../admin/manage-images.php:226
830
  #, php-format
831
  msgid "Displaying %s&#8211;%s of %s"
832
  msgstr "Zeige %s&#8211;%s von %s"
833
 
834
  #: ../admin/manage-galleries.php:44
835
+ #: ../admin/manage-images.php:170
836
+ #: ../admin/manage-images.php:470
837
  msgid "Description"
838
  msgstr "Beschreibung"
839
 
840
  #: ../admin/manage-galleries.php:45
841
+ #: ../admin/manage-images.php:190
842
  msgid "Author"
843
  msgstr "Autor"
844
 
863
  msgstr "Diese Galerie löschen ?"
864
 
865
  #: ../admin/manage-galleries.php:85
866
+ #: ../admin/manage-images.php:382
867
  msgid "No entries found"
868
  msgstr "Keine Einträge gefunden"
869
 
870
+ #: ../admin/manage-images.php:16
871
  msgid "Gallery not found."
872
  msgstr "Galerie nicht gefunden"
873
 
874
+ #: ../admin/manage-images.php:106
875
  msgid "No images selected"
876
  msgstr "Keine Bilder ausgewählt"
877
 
878
+ #: ../admin/manage-images.php:126
879
  #, php-format
880
  msgid ""
881
  "You are about to start the bulk edit for %s images \n"
886
  " \n"
887
  " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
888
 
889
+ #: ../admin/manage-images.php:155
890
  msgid "Gallery settings"
891
  msgstr "Galerie Einstellungen"
892
 
893
+ #: ../admin/manage-images.php:155
894
  msgid "Click here for more settings"
895
  msgstr "Hier klicken für weitere Einstellungen"
896
 
897
+ #: ../admin/manage-images.php:161
898
  msgid "Page Link to"
899
  msgstr "Seite verlinkt zu"
900
 
901
+ #: ../admin/manage-images.php:164
902
  msgid "Not linked"
903
  msgstr "Nicht verlinkt"
904
 
905
+ #: ../admin/manage-images.php:172
906
  msgid "Preview image"
907
  msgstr "Vorschau-Bild"
908
 
909
+ #: ../admin/manage-images.php:175
910
  msgid "No Picture"
911
  msgstr "Kein Bild"
912
 
913
+ #: ../admin/manage-images.php:188
914
  msgid "Path"
915
  msgstr "Pfad"
916
 
917
+ #: ../admin/manage-images.php:204
918
  msgid "Create new page"
919
  msgstr "Neue Seite erstellen"
920
 
921
+ #: ../admin/manage-images.php:207
922
  msgid "Main page (No parent)"
923
  msgstr "Haupseite (keine Unterseite)"
924
 
925
+ #: ../admin/manage-images.php:210
926
  msgid "Add page"
927
  msgstr "Seite hinzufügen"
928
 
929
+ #: ../admin/manage-images.php:216
930
  msgid "Scan Folder for new images"
931
  msgstr "Überprüfe Verzeichnis nach neuen Bildern"
932
 
933
+ #: ../admin/manage-images.php:217
934
+ #: ../admin/manage-images.php:253
935
+ #: ../admin/manage-images.php:388
936
  msgid "Save Changes"
937
  msgstr "Änderungen speichern"
938
 
939
+ #: ../admin/manage-images.php:235
940
  msgid "No action"
941
  msgstr "Keine Aktion"
942
 
943
+ #: ../admin/manage-images.php:236
944
  #: ../admin/manage.php:126
945
  msgid "Set watermark"
946
  msgstr "Wasserzeichen setzen"
947
 
948
+ #: ../admin/manage-images.php:238
949
  #: ../admin/manage.php:134
950
  msgid "Resize images"
951
  msgstr "Bilder verkleinern"
952
 
953
+ #: ../admin/manage-images.php:239
954
  msgid "Delete images"
955
  msgstr "Bilder löschen"
956
 
957
+ #: ../admin/manage-images.php:240
958
  msgid "Import metadata"
959
  msgstr "Metadaten importieren"
960
 
961
+ #: ../admin/manage-images.php:241
962
  msgid "Copy to..."
963
  msgstr "Kopiere nach..."
964
 
965
+ #: ../admin/manage-images.php:242
966
  msgid "Move to..."
967
  msgstr "Verschiebe nach..."
968
 
969
+ #: ../admin/manage-images.php:243
970
  msgid "Add tags"
971
  msgstr "Stichwörter hinzufügen"
972
 
973
+ #: ../admin/manage-images.php:244
974
  msgid "Delete tags"
975
  msgstr "Stichwörter löschen"
976
 
977
+ #: ../admin/manage-images.php:245
978
  msgid "Overwrite tags"
979
  msgstr "Stichwörter überschreiben"
980
 
981
+ #: ../admin/manage-images.php:247
982
+ #: ../admin/manage-images.php:405
983
+ #: ../admin/manage-images.php:440
984
  msgid "OK"
985
  msgstr "OK"
986
 
987
+ #: ../admin/manage-images.php:250
988
  msgid "Sort gallery"
989
  msgstr "Sortiere Bilder"
990
 
991
+ #: ../admin/manage-images.php:325
992
  #, php-format
993
  msgid "View \"%s\""
994
  msgstr "Anzeigen \"%s\""
995
 
996
+ #: ../admin/manage-images.php:325
997
  msgid "View"
998
  msgstr "Ansehen"
999
 
1000
+ #: ../admin/manage-images.php:326
1001
  msgid "Show Meta data"
1002
  msgstr "Zeige Metadaten"
1003
 
1004
+ #: ../admin/manage-images.php:326
1005
  msgid "Meta"
1006
  msgstr "Meta"
1007
 
1008
+ #: ../admin/manage-images.php:327
1009
+ msgid "Customize thumbnail"
1010
+ msgstr "Thumbnails anpassen"
1011
+
1012
+ #: ../admin/manage-images.php:327
1013
+ msgid "Edit thumb"
1014
+ msgstr "Thumbnail ändern"
1015
+
1016
+ #: ../admin/manage-images.php:328
1017
  #, php-format
1018
  msgid "Delete \"%s\""
1019
  msgstr "Lösche \"%s\""
1020
 
1021
+ #: ../admin/manage-images.php:401
1022
  msgid "Enter the tags"
1023
  msgstr "Stichwörter angeben"
1024
 
1025
+ #: ../admin/manage-images.php:407
1026
+ #: ../admin/manage-images.php:442
1027
  msgid "Cancel"
1028
  msgstr "Abbrechen"
1029
 
1030
+ #: ../admin/manage-images.php:424
1031
  msgid "Select the destination gallery:"
1032
  msgstr "Galerie auswählen:"
1033
 
1034
+ #: ../admin/manage-images.php:466
1035
  msgid "Thumbnail"
1036
  msgstr "Thumbnail"
1037
 
1038
+ #: ../admin/manage-images.php:468
1039
  #: ../admin/manage-sort.php:80
1040
  msgid "Filename"
1041
  msgstr "Dateiname"
1042
 
1043
+ #: ../admin/manage-images.php:470
1044
  msgid "Alt &amp; Title Text"
1045
  msgstr "Alt &amp; Titel Text"
1046
 
1047
+ #: ../admin/manage-images.php:471
1048
  msgid "Tags (comma separated list)"
1049
  msgstr "Stichwörter (Tags)"
1050
 
1051
+ #: ../admin/manage-images.php:473
1052
  msgid "exclude"
1053
  msgstr "ausschließen"
1054
 
1114
  msgstr "Import der Metadaten beendet"
1115
 
1116
  #: ../admin/manage.php:165
1117
+ msgid "Operation successful. Please clear your browser cache."
1118
  msgstr "Thumbnails erfolgreich erstellt. Bitte Browser-Cache aktualisieren."
1119
 
1120
  #: ../admin/manage.php:228
1125
  msgid "Update successful"
1126
  msgstr "Aktualisierung erfolgreich"
1127
 
1128
+ #: ../admin/manage.php:289
1129
  msgid "New gallery page ID"
1130
  msgstr "Neue Galerie Seiten ID"
1131
 
1132
+ #: ../admin/manage.php:289
1133
  msgid "created"
1134
  msgstr "erstellt"
1135
 
1136
+ #: ../admin/manage_thumbnail.php:19
1137
+ #: ../admin/manage_thumbnail.php:22
1138
+ #: ../admin/showmeta.php:10
1139
+ #: ../admin/showmeta.php:13
1140
+ msgid "Cheatin&#8217; uh?"
1141
+ msgstr "Cheatin&#8217; uh?"
1142
+
1143
+ #: ../admin/manage_thumbnail.php:116
1144
+ msgid "Select with the mouse the area for the new thumbnail."
1145
+ msgstr "Wähle mit der Maus den Bereich für das neue Thumbnail"
1146
+
1147
+ #: ../admin/manage_thumbnail.php:130
1148
+ msgid "Thumbnail updated"
1149
+ msgstr "Thumbnail geändert"
1150
+
1151
+ #: ../admin/manage_thumbnail.php:135
1152
+ msgid "Error updating thumbnail."
1153
+ msgstr "Fehler : Thumbnails konnte nicht geändert werden"
1154
+
1155
+ #: ../admin/manage_thumbnail.php:152
1156
+ msgid "Select the area for the thumbnail from the picture on the left."
1157
+ msgstr "Wähle den Auschnitt für das Thumbanil innerhalb des Bildes"
1158
+
1159
  #: ../admin/media-upload.php:132
1160
  #: ../admin/tinymce/window.php:43
1161
  msgid "No gallery"
1528
  msgstr "Aktiviere Media RSS Feed"
1529
 
1530
  #: ../admin/settings.php:151
1531
+ msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1532
  msgstr "Ein Bilder-RSS Feed wird zum Blog hinzugefügt"
1533
 
1534
  #: ../admin/settings.php:154
1973
  msgstr "Stelle alle Einstellungen auf Anfangswerte zurück"
1974
 
1975
  #: ../admin/setup.php:26
1976
+ msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !"
1977
  msgstr "Deinstallation erfolgreich ! Nun kannst Du das Plugin löschen und Dein Leben weiterhin genießen ! Stay geeky ! Viel Glück !"
1978
 
1979
  #: ../admin/setup.php:30
2038
  "\\n"
2039
  "Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
2040
 
 
 
 
 
 
2041
  #: ../admin/showmeta.php:46
2042
  msgid "EXIF Data"
2043
  msgstr "EXIF Daten"
2106
 
2107
  #: ../admin/style.php:120
2108
  msgid "Tip : Copy your stylesheet (nggallery.css) to your theme folder, so it will be not lost during a upgrade"
2109
+ msgstr "Keiner Tip : Kopiere das Stylesheet (nggallery.css) in dein Theme-Verzeichnis, dadurch wird es beim nächsten Update nicht überschrieben."
2110
 
2111
  #: ../admin/style.php:122
2112
  msgid "Your theme contain a NextGEN Gallery stylesheet (nggallery.css), this file will be used"
2285
  msgstr "Aktualisierung starten"
2286
 
2287
  #: ../admin/upgrade.php:289
2288
+ msgid "Upgrade sucessful"
2289
  msgstr "Aktualisierung erfolgreich"
2290
 
2291
  #: ../admin/upgrade.php:290
2413
  msgid "Insert"
2414
  msgstr "Einfügen"
2415
 
2416
+ #: ../lib/core.php:419
2417
+ #, php-format
2418
+ msgid "Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel"
2419
+ msgstr "Hinweis : Basierend auf der Speicherbegrenzung auf dem Server, solltest du keine Bilder grösser als <strong>%d x %d</strong> Pixel hochladen"
2420
+
2421
  #: ../lib/meta.php:87
2422
  msgid " mm"
2423
  msgstr " mm"
2545
  msgid "Album overview"
2546
  msgstr "Album Übersicht"
2547
 
2548
+ #: ../lib/shortcodes.php:275
2549
  msgid "[Pictures not found]"
2550
  msgstr "[Bilder nicht gefunden]"
2551
 
2624
 
2625
  #: ../view/gallery-caption.php:32
2626
  #: ../view/gallery.php:32
 
2627
  msgid "[View with PicLens]"
2628
  msgstr "[Mit PicLens anzeigen]"
2629
 
2674
  msgstr "Link zum Bilder-Feed"
2675
 
2676
  #: ../widgets/media-rss-widget.php:153
2677
+ #: ../widgets/widgets.php:133
2678
  msgid "Title:"
2679
  msgstr "Titel:"
2680
 
2740
  msgstr "Zeige als :"
2741
 
2742
  #: ../widgets/widgets.php:296
2743
+ msgid "Original images"
2744
+ msgstr "Original Bilder"
2745
 
2746
  #: ../widgets/widgets.php:304
2747
  msgid "recent added "
2798
  msgid "Invalid MediaRSS command (%s)."
2799
  msgstr "Ungültiger Media RSS Befehl (%s)"
2800
 
2801
+ #~ msgid "Import a folder with all images."
2802
+ #~ msgstr "Importiere ein Verzeichnis mit Bildern."
2803
  #~ msgid "Show tags"
2804
  #~ msgstr "Zeige Tags"
2805
  #~ msgid "Hide tags"
2816
  #~ " 'Abbrechen' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
2817
  #~ msgid "Date"
2818
  #~ msgstr "Datum"
 
 
2819
  #~ msgid "Show thumbnails "
2820
  #~ msgstr "Thumbnails zeigen"
2821
  #~ msgid "Add Gallery"
lang/nggallery.po CHANGED
@@ -2,9 +2,9 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2009-01-04 12:18+0100\n"
6
- "PO-Revision-Date: 2009-01-04 12:18+0100\n"
7
- "Last-Translator: Alex Rabe <no@email.com>\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,9 +17,9 @@ msgstr ""
17
  "X-Poedit-SearchPath-0: .\n"
18
  "X-Poedit-SearchPath-1: ..\n"
19
 
20
- #: ../nggallery.php:154
21
  msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
22
- msgstr ""
23
 
24
  #: ../nggallery.php:181
25
  msgid "Picture tag"
@@ -33,36 +33,36 @@ msgstr ""
33
  msgid "Separate picture tags with commas."
34
  msgstr ""
35
 
36
- #: ../nggallery.php:278
37
  msgid "L O A D I N G"
38
  msgstr ""
39
 
40
- #: ../nggallery.php:279
41
  msgid "Click to Close"
42
  msgstr ""
43
 
44
- #: ../nggfunctions.php:36
45
  msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
46
- msgstr ""
47
 
48
- #: ../nggfunctions.php:100
49
- #: ../nggfunctions.php:435
50
  msgid "[Gallery not found]"
51
  msgstr ""
52
 
53
- #: ../nggfunctions.php:290
54
  msgid "[Album not found]"
55
  msgstr ""
56
 
57
- #: ../nggfunctions.php:537
58
  msgid "[SinglePic not found]"
59
  msgstr ""
60
 
61
- #: ../nggfunctions.php:662
62
  msgid "Related images for"
63
  msgstr ""
64
 
65
- #: ../nggfunctions.php:697
66
  #: ../admin/admin.php:32
67
  msgid "Overview"
68
  msgstr ""
@@ -183,143 +183,142 @@ msgstr ""
183
  msgid "We would like to thank this people which support us in the work :"
184
  msgstr ""
185
 
186
- #: ../admin/addgallery.php:34
187
- #: ../admin/addgallery.php:50
 
 
 
 
188
  msgid "Upload failed!"
189
  msgstr ""
190
 
191
- #: ../admin/addgallery.php:55
192
- #: ../admin/functions.php:550
193
- #: ../admin/functions.php:640
194
  msgid "No gallery selected !"
195
  msgstr ""
196
 
197
- #: ../admin/addgallery.php:102
198
  msgid "Image Files"
199
  msgstr ""
200
 
201
- #: ../admin/addgallery.php:121
202
- #: ../admin/addgallery.php:151
203
  msgid "remove"
204
  msgstr ""
205
 
206
- #: ../admin/addgallery.php:122
207
  msgid "Browse..."
208
  msgstr ""
209
 
210
- #: ../admin/addgallery.php:123
211
- #: ../admin/addgallery.php:274
212
  msgid "Upload images"
213
  msgstr ""
214
 
215
- #: ../admin/addgallery.php:167
216
- #: ../admin/addgallery.php:179
217
  msgid "Add new gallery"
218
  msgstr ""
219
 
220
- #: ../admin/addgallery.php:169
221
- #: ../admin/addgallery.php:198
222
  msgid "Upload a Zip-File"
223
  msgstr ""
224
 
225
- #: ../admin/addgallery.php:172
226
- #: ../admin/addgallery.php:229
227
  msgid "Import image folder"
228
  msgstr ""
229
 
230
- #: ../admin/addgallery.php:174
231
- #: ../admin/addgallery.php:246
232
  msgid "Upload Images"
233
  msgstr ""
234
 
235
- #: ../admin/addgallery.php:184
236
  msgid "New Gallery"
237
  msgstr ""
238
 
239
- #: ../admin/addgallery.php:187
240
  msgid "Create a new , empty gallery below the folder"
241
  msgstr ""
242
 
243
- #: ../admin/addgallery.php:189
244
  msgid "Allowed characters for file and folder names are"
245
  msgstr ""
246
 
247
- #: ../admin/addgallery.php:192
248
  msgid "Add gallery"
249
  msgstr ""
250
 
251
- #: ../admin/addgallery.php:203
252
  msgid "Select Zip-File"
253
  msgstr ""
254
 
255
- #: ../admin/addgallery.php:205
256
  msgid "Upload a zip file with images"
257
  msgstr ""
258
 
259
- #: ../admin/addgallery.php:208
260
- #: ../admin/addgallery.php:255
261
  msgid "in to"
262
  msgstr ""
263
 
264
- #: ../admin/addgallery.php:210
265
  msgid "a new gallery"
266
  msgstr ""
267
 
268
- #: ../admin/addgallery.php:218
269
- #: ../admin/addgallery.php:264
270
  msgid "Note : The upload limit on your server is "
271
  msgstr ""
272
 
273
- #: ../admin/addgallery.php:222
274
  msgid "Start upload"
275
  msgstr ""
276
 
277
- #: ../admin/addgallery.php:234
278
  msgid "Import from Server path:"
279
  msgstr ""
280
 
281
- #: ../admin/addgallery.php:236
282
- msgid "Import a folder with all images."
283
- msgstr ""
284
-
285
- #: ../admin/addgallery.php:237
286
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
287
  msgstr ""
288
 
289
- #: ../admin/addgallery.php:240
290
  msgid "Import folder"
291
  msgstr ""
292
 
293
- #: ../admin/addgallery.php:251
294
  msgid "Upload image"
295
  msgstr ""
296
 
297
- #: ../admin/addgallery.php:257
298
  msgid "Choose gallery"
299
  msgstr ""
300
 
301
- #: ../admin/addgallery.php:270
302
- msgid "The batch upload requires Adobe Flash 9, disable it if you have problems"
303
  msgstr ""
304
 
305
- #: ../admin/addgallery.php:270
306
  msgid "Disable flash upload"
307
  msgstr ""
308
 
309
- #: ../admin/addgallery.php:272
310
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
311
  msgstr ""
312
 
313
- #: ../admin/addgallery.php:272
314
  msgid "Enable flash based upload"
315
  msgstr ""
316
 
317
  #: ../admin/admin.php:31
318
  #: ../admin/admin.php:204
319
- #: ../admin/admin.php:270
320
- #: ../admin/functions.php:81
321
- #: ../admin/functions.php:142
322
- #: ../admin/manage-images.php:147
323
  #: ../admin/manage.php:78
324
  msgid "Gallery"
325
  msgid_plural "Galleries"
@@ -421,7 +420,7 @@ msgid "Templates"
421
  msgstr ""
422
 
423
  #: ../admin/admin.php:224
424
- #: ../admin/admin.php:228
425
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
426
  msgstr ""
427
 
@@ -429,69 +428,69 @@ msgstr ""
429
  msgid "Gallery example"
430
  msgstr ""
431
 
432
- #: ../admin/admin.php:229
433
- #: ../admin/admin.php:239
434
  msgid "Gallery tags"
435
  msgstr ""
436
 
437
- #: ../admin/admin.php:232
438
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
439
  msgstr ""
440
 
441
- #: ../admin/admin.php:233
442
  msgid "Album example"
443
  msgstr ""
444
 
445
- #: ../admin/admin.php:234
446
- #: ../admin/admin.php:240
447
  msgid "Album tags"
448
  msgstr ""
449
 
450
- #: ../admin/admin.php:237
451
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
452
  msgstr ""
453
 
454
- #: ../admin/admin.php:238
455
  msgid "Related images"
456
  msgstr ""
457
 
458
- #: ../admin/admin.php:243
459
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
460
  msgstr ""
461
 
462
- #: ../admin/admin.php:244
463
  msgid "Custom fields"
464
  msgstr ""
465
 
466
- #: ../admin/admin.php:249
467
  msgid "Get help with NextGEN Gallery"
468
  msgstr ""
469
 
470
- #: ../admin/admin.php:253
471
  msgid "More Help & Info"
472
  msgstr ""
473
 
474
- #: ../admin/admin.php:255
475
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forums</a>"
476
  msgstr ""
477
 
478
- #: ../admin/admin.php:256
479
  msgid "FAQ"
480
  msgstr ""
481
 
482
- #: ../admin/admin.php:257
483
  msgid "Feature request"
484
  msgstr ""
485
 
486
- #: ../admin/admin.php:258
487
  msgid "Get your language pack"
488
  msgstr ""
489
 
490
- #: ../admin/admin.php:259
491
  msgid "Contribute development"
492
  msgstr ""
493
 
494
- #: ../admin/admin.php:260
495
  msgid "Download latest version"
496
  msgstr ""
497
 
@@ -522,7 +521,7 @@ msgstr ""
522
 
523
  #: ../admin/album.php:147
524
  #: ../admin/manage-galleries.php:78
525
- #: ../admin/manage-images.php:331
526
  msgid "Delete"
527
  msgstr ""
528
 
@@ -568,7 +567,7 @@ msgstr ""
568
 
569
  #: ../admin/album.php:254
570
  #: ../admin/manage-galleries.php:42
571
- #: ../admin/manage-images.php:468
572
  msgid "ID"
573
  msgstr ""
574
 
@@ -578,7 +577,7 @@ msgstr ""
578
 
579
  #: ../admin/album.php:256
580
  #: ../admin/manage-galleries.php:43
581
- #: ../admin/manage-images.php:161
582
  msgid "Title"
583
  msgstr ""
584
 
@@ -593,8 +592,8 @@ msgstr ""
593
  #: ../admin/functions.php:30
594
  #: ../admin/functions.php:39
595
  #: ../admin/functions.php:53
596
- #: ../admin/functions.php:116
597
- #: ../admin/functions.php:123
598
  msgid "Directory"
599
  msgstr ""
600
 
@@ -614,7 +613,7 @@ msgstr ""
614
 
615
  #: ../admin/functions.php:48
616
  #: ../admin/functions.php:58
617
- #: ../admin/functions.php:513
618
  msgid "Unable to create directory "
619
  msgstr ""
620
 
@@ -634,163 +633,163 @@ msgstr ""
634
  msgid "with permission 777 manually !"
635
  msgstr ""
636
 
637
- #: ../admin/functions.php:81
638
  msgid "already exists"
639
  msgstr ""
640
 
641
- #: ../admin/functions.php:86
642
  #, php-format
643
  msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
644
  msgstr ""
645
 
646
- #: ../admin/functions.php:89
647
  msgid "Edit gallery"
648
  msgstr ""
649
 
650
- #: ../admin/functions.php:116
651
  msgid "doesn&#96;t exist!"
652
  msgstr ""
653
 
654
- #: ../admin/functions.php:123
655
  msgid "contains no pictures"
656
  msgstr ""
657
 
658
- #: ../admin/functions.php:139
659
  msgid "Database error. Could not add gallery!"
660
  msgstr ""
661
 
662
- #: ../admin/functions.php:142
663
  msgid "successfully created!"
664
  msgstr ""
665
 
666
- #: ../admin/functions.php:161
667
- #: ../admin/functions.php:622
668
- #: ../admin/manage-images.php:239
669
  #: ../admin/manage.php:130
670
  msgid "Create new thumbnails"
671
  msgstr ""
672
 
673
- #: ../admin/functions.php:164
674
  msgid " picture(s) successfully added"
675
  msgstr ""
676
 
677
- #: ../admin/functions.php:203
678
- #: ../admin/functions.php:282
679
- #: ../admin/functions.php:323
680
  msgid "Object didn't contain correct data"
681
  msgstr ""
682
 
683
- #: ../admin/functions.php:208
684
  msgid " is not writeable "
685
  msgstr ""
686
 
687
- #: ../admin/functions.php:289
688
- #: ../admin/functions.php:326
689
  msgid " is not writeable"
690
  msgstr ""
691
 
692
- #: ../admin/functions.php:482
693
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
694
  msgstr ""
695
 
696
- #: ../admin/functions.php:497
697
  msgid "Could not get a valid foldername"
698
  msgstr ""
699
 
700
- #: ../admin/functions.php:508
701
  #, php-format
702
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
703
  msgstr ""
704
 
705
- #: ../admin/functions.php:523
706
  msgid "Zip-File successfully unpacked"
707
  msgstr ""
708
 
709
- #: ../admin/functions.php:558
710
- #: ../admin/functions.php:667
711
  msgid "Failure in database, no gallery path set !"
712
  msgstr ""
713
 
714
- #: ../admin/functions.php:579
715
- #: ../admin/functions.php:661
716
  msgid "is no valid image file!"
717
  msgstr ""
718
 
719
- #: ../admin/functions.php:593
720
- #: ../admin/functions.php:769
721
- #: ../admin/functions.php:837
722
  #, php-format
723
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
724
  msgstr ""
725
 
726
- #: ../admin/functions.php:600
727
- #: ../admin/functions.php:684
728
  msgid "Error, the file could not moved to : "
729
  msgstr ""
730
 
731
- #: ../admin/functions.php:605
732
- #: ../admin/functions.php:688
733
  msgid "Error, the file permissions could not set"
734
  msgstr ""
735
 
736
- #: ../admin/functions.php:626
737
  msgid " Image(s) successfully added"
738
  msgstr ""
739
 
740
- #: ../admin/functions.php:649
741
  msgid "Invalid upload. Error Code : "
742
  msgstr ""
743
 
744
- #: ../admin/functions.php:698
745
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
746
  msgstr ""
747
 
748
- #: ../admin/functions.php:725
749
  #, php-format
750
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
751
  msgstr ""
752
 
753
- #: ../admin/functions.php:726
754
  #, php-format
755
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
756
  msgstr ""
757
 
758
- #: ../admin/functions.php:763
759
- #: ../admin/functions.php:831
760
  msgid "The destination gallery does not exist"
761
  msgstr ""
762
 
763
- #: ../admin/functions.php:794
764
  #, php-format
765
  msgid "Failed to move image %1$s to %2$s"
766
  msgstr ""
767
 
768
- #: ../admin/functions.php:812
769
  #, php-format
770
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
771
  msgstr ""
772
 
773
- #: ../admin/functions.php:864
774
  #, php-format
775
  msgid "Failed to copy image %1$s to %2$s"
776
  msgstr ""
777
 
778
- #: ../admin/functions.php:876
779
  #, php-format
780
  msgid "Failed to copy database row for picture %s"
781
  msgstr ""
782
 
783
- #: ../admin/functions.php:884
784
  #, php-format
785
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
786
  msgstr ""
787
 
788
- #: ../admin/functions.php:887
789
  #, php-format
790
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
791
  msgstr ""
792
 
793
- #: ../admin/functions.php:896
794
  #, php-format
795
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
796
  msgstr ""
@@ -812,12 +811,12 @@ msgid "[Show picture list]"
812
  msgstr ""
813
 
814
  #: ../admin/manage-galleries.php:19
815
- #: ../admin/manage-images.php:35
816
  msgid "&laquo;"
817
  msgstr ""
818
 
819
  #: ../admin/manage-galleries.php:20
820
- #: ../admin/manage-images.php:36
821
  msgid "&raquo;"
822
  msgstr ""
823
 
@@ -826,19 +825,19 @@ msgid "Gallery Overview"
826
  msgstr ""
827
 
828
  #: ../admin/manage-galleries.php:30
829
- #: ../admin/manage-images.php:228
830
  #, php-format
831
  msgid "Displaying %s&#8211;%s of %s"
832
  msgstr ""
833
 
834
  #: ../admin/manage-galleries.php:44
835
- #: ../admin/manage-images.php:172
836
- #: ../admin/manage-images.php:473
837
  msgid "Description"
838
  msgstr ""
839
 
840
  #: ../admin/manage-galleries.php:45
841
- #: ../admin/manage-images.php:192
842
  msgid "Author"
843
  msgstr ""
844
 
@@ -863,19 +862,19 @@ msgid "Delete this gallery ?"
863
  msgstr ""
864
 
865
  #: ../admin/manage-galleries.php:85
866
- #: ../admin/manage-images.php:385
867
  msgid "No entries found"
868
  msgstr ""
869
 
870
- #: ../admin/manage-images.php:18
871
  msgid "Gallery not found."
872
  msgstr ""
873
 
874
- #: ../admin/manage-images.php:108
875
  msgid "No images selected"
876
  msgstr ""
877
 
878
- #: ../admin/manage-images.php:128
879
  #, php-format
880
  msgid ""
881
  "You are about to start the bulk edit for %s images \n"
@@ -883,161 +882,169 @@ msgid ""
883
  " 'Cancel' to stop, 'OK' to proceed."
884
  msgstr ""
885
 
886
- #: ../admin/manage-images.php:157
887
  msgid "Gallery settings"
888
  msgstr ""
889
 
890
- #: ../admin/manage-images.php:157
891
  msgid "Click here for more settings"
892
  msgstr ""
893
 
894
- #: ../admin/manage-images.php:163
895
  msgid "Page Link to"
896
  msgstr ""
897
 
898
- #: ../admin/manage-images.php:166
899
  msgid "Not linked"
900
  msgstr ""
901
 
902
- #: ../admin/manage-images.php:174
903
  msgid "Preview image"
904
  msgstr ""
905
 
906
- #: ../admin/manage-images.php:177
907
  msgid "No Picture"
908
  msgstr ""
909
 
910
- #: ../admin/manage-images.php:190
911
  msgid "Path"
912
  msgstr ""
913
 
914
- #: ../admin/manage-images.php:206
915
  msgid "Create new page"
916
  msgstr ""
917
 
918
- #: ../admin/manage-images.php:209
919
  msgid "Main page (No parent)"
920
  msgstr ""
921
 
922
- #: ../admin/manage-images.php:212
923
  msgid "Add page"
924
  msgstr ""
925
 
926
- #: ../admin/manage-images.php:218
927
  msgid "Scan Folder for new images"
928
  msgstr ""
929
 
930
- #: ../admin/manage-images.php:219
931
- #: ../admin/manage-images.php:255
932
- #: ../admin/manage-images.php:391
933
  msgid "Save Changes"
934
  msgstr ""
935
 
936
- #: ../admin/manage-images.php:237
937
  msgid "No action"
938
  msgstr ""
939
 
940
- #: ../admin/manage-images.php:238
941
  #: ../admin/manage.php:126
942
  msgid "Set watermark"
943
  msgstr ""
944
 
945
- #: ../admin/manage-images.php:240
946
  #: ../admin/manage.php:134
947
  msgid "Resize images"
948
  msgstr ""
949
 
950
- #: ../admin/manage-images.php:241
951
  msgid "Delete images"
952
  msgstr ""
953
 
954
- #: ../admin/manage-images.php:242
955
  msgid "Import metadata"
956
  msgstr ""
957
 
958
- #: ../admin/manage-images.php:243
959
  msgid "Copy to..."
960
  msgstr ""
961
 
962
- #: ../admin/manage-images.php:244
963
  msgid "Move to..."
964
  msgstr ""
965
 
966
- #: ../admin/manage-images.php:245
967
  msgid "Add tags"
968
  msgstr ""
969
 
970
- #: ../admin/manage-images.php:246
971
  msgid "Delete tags"
972
  msgstr ""
973
 
974
- #: ../admin/manage-images.php:247
975
  msgid "Overwrite tags"
976
  msgstr ""
977
 
978
- #: ../admin/manage-images.php:249
979
- #: ../admin/manage-images.php:408
980
- #: ../admin/manage-images.php:443
981
  msgid "OK"
982
  msgstr ""
983
 
984
- #: ../admin/manage-images.php:252
985
  msgid "Sort gallery"
986
  msgstr ""
987
 
988
- #: ../admin/manage-images.php:329
989
  #, php-format
990
  msgid "View \"%s\""
991
  msgstr ""
992
 
993
- #: ../admin/manage-images.php:329
994
  msgid "View"
995
  msgstr ""
996
 
997
- #: ../admin/manage-images.php:330
998
  msgid "Show Meta data"
999
  msgstr ""
1000
 
1001
- #: ../admin/manage-images.php:330
1002
  msgid "Meta"
1003
  msgstr ""
1004
 
1005
- #: ../admin/manage-images.php:331
 
 
 
 
 
 
 
 
1006
  #, php-format
1007
  msgid "Delete \"%s\""
1008
  msgstr ""
1009
 
1010
- #: ../admin/manage-images.php:404
1011
  msgid "Enter the tags"
1012
  msgstr ""
1013
 
1014
- #: ../admin/manage-images.php:410
1015
- #: ../admin/manage-images.php:445
1016
  msgid "Cancel"
1017
  msgstr ""
1018
 
1019
- #: ../admin/manage-images.php:427
1020
  msgid "Select the destination gallery:"
1021
  msgstr ""
1022
 
1023
- #: ../admin/manage-images.php:469
1024
  msgid "Thumbnail"
1025
  msgstr ""
1026
 
1027
- #: ../admin/manage-images.php:471
1028
  #: ../admin/manage-sort.php:80
1029
  msgid "Filename"
1030
  msgstr ""
1031
 
1032
- #: ../admin/manage-images.php:473
1033
  msgid "Alt &amp; Title Text"
1034
  msgstr ""
1035
 
1036
- #: ../admin/manage-images.php:474
1037
  msgid "Tags (comma separated list)"
1038
  msgstr ""
1039
 
1040
- #: ../admin/manage-images.php:476
1041
  msgid "exclude"
1042
  msgstr ""
1043
 
@@ -1103,7 +1110,7 @@ msgid "Import metadata finished"
1103
  msgstr ""
1104
 
1105
  #: ../admin/manage.php:165
1106
- msgid "Operation successfull. Please clear your browser cache."
1107
  msgstr ""
1108
 
1109
  #: ../admin/manage.php:228
@@ -1114,14 +1121,37 @@ msgstr ""
1114
  msgid "Update successful"
1115
  msgstr ""
1116
 
1117
- #: ../admin/manage.php:288
1118
  msgid "New gallery page ID"
1119
  msgstr ""
1120
 
1121
- #: ../admin/manage.php:288
1122
  msgid "created"
1123
  msgstr ""
1124
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1125
  #: ../admin/media-upload.php:132
1126
  #: ../admin/tinymce/window.php:43
1127
  msgid "No gallery"
@@ -1494,7 +1524,7 @@ msgid "Activate Media RSS feed"
1494
  msgstr ""
1495
 
1496
  #: ../admin/settings.php:151
1497
- msgid "A RSS feed will be added to you blog header. Usefull for CoolIris/PicLens"
1498
  msgstr ""
1499
 
1500
  #: ../admin/settings.php:154
@@ -1939,7 +1969,7 @@ msgid "Reset all settings to default parameter"
1939
  msgstr ""
1940
 
1941
  #: ../admin/setup.php:26
1942
- msgid "Uninstall sucessfull ! Now delete the plugin and enjoy your life ! Good luck !"
1943
  msgstr ""
1944
 
1945
  #: ../admin/setup.php:30
@@ -1997,11 +2027,6 @@ msgid ""
1997
  "Choose [Cancel] to Stop, [OK] to Uninstall.\\n"
1998
  msgstr ""
1999
 
2000
- #: ../admin/showmeta.php:10
2001
- #: ../admin/showmeta.php:13
2002
- msgid "Cheatin&#8217; uh?"
2003
- msgstr ""
2004
-
2005
  #: ../admin/showmeta.php:46
2006
  msgid "EXIF Data"
2007
  msgstr ""
@@ -2249,7 +2274,7 @@ msgid "Start upgrade now"
2249
  msgstr ""
2250
 
2251
  #: ../admin/upgrade.php:289
2252
- msgid "Upgrade sucessfull"
2253
  msgstr ""
2254
 
2255
  #: ../admin/upgrade.php:290
@@ -2377,6 +2402,11 @@ msgstr ""
2377
  msgid "Insert"
2378
  msgstr ""
2379
 
 
 
 
 
 
2380
  #: ../lib/meta.php:87
2381
  msgid " mm"
2382
  msgstr ""
@@ -2504,7 +2534,7 @@ msgstr ""
2504
  msgid "Album overview"
2505
  msgstr ""
2506
 
2507
- #: ../lib/shortcodes.php:272
2508
  msgid "[Pictures not found]"
2509
  msgstr ""
2510
 
@@ -2583,7 +2613,6 @@ msgstr ""
2583
 
2584
  #: ../view/gallery-caption.php:32
2585
  #: ../view/gallery.php:32
2586
- #: ../widgets/media-rss-widget.php:236
2587
  msgid "[View with PicLens]"
2588
  msgstr ""
2589
 
@@ -2634,6 +2663,7 @@ msgid "Link to the main image feed"
2634
  msgstr ""
2635
 
2636
  #: ../widgets/media-rss-widget.php:153
 
2637
  msgid "Title:"
2638
  msgstr ""
2639
 
@@ -2699,7 +2729,7 @@ msgid "Show :"
2699
  msgstr ""
2700
 
2701
  #: ../widgets/widgets.php:296
2702
- msgid "Orginal images"
2703
  msgstr ""
2704
 
2705
  #: ../widgets/widgets.php:304
2
  msgstr ""
3
  "Project-Id-Version: NextGEN Gallery\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2009-03-05 23:41+0100\n"
6
+ "PO-Revision-Date: 2009-03-05 23:41+0100\n"
7
+ "Last-Translator: Alex Rabe\n"
8
  "Language-Team: Alex Rabe\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
  "X-Poedit-SearchPath-1: ..\n"
19
 
20
+ #: ../nggallery.php:156
21
  msgid "Sorry, NextGEN Gallery works only with a Memory Limit of 16 MB higher"
22
+ msgstr "asd"
23
 
24
  #: ../nggallery.php:181
25
  msgid "Picture tag"
33
  msgid "Separate picture tags with commas."
34
  msgstr ""
35
 
36
+ #: ../nggallery.php:276
37
  msgid "L O A D I N G"
38
  msgstr ""
39
 
40
+ #: ../nggallery.php:277
41
  msgid "Click to Close"
42
  msgstr ""
43
 
44
+ #: ../nggfunctions.php:37
45
  msgid "The <a href=\"http://www.macromedia.com/go/getflashplayer\">Flash Player</a> and <a href=\"http://www.mozilla.com/firefox/\">a browser with Javascript support</a> are needed.."
46
+ msgstr "asd"
47
 
48
+ #: ../nggfunctions.php:101
49
+ #: ../nggfunctions.php:437
50
  msgid "[Gallery not found]"
51
  msgstr ""
52
 
53
+ #: ../nggfunctions.php:292
54
  msgid "[Album not found]"
55
  msgstr ""
56
 
57
+ #: ../nggfunctions.php:540
58
  msgid "[SinglePic not found]"
59
  msgstr ""
60
 
61
+ #: ../nggfunctions.php:665
62
  msgid "Related images for"
63
  msgstr ""
64
 
65
+ #: ../nggfunctions.php:700
66
  #: ../admin/admin.php:32
67
  msgid "Overview"
68
  msgstr ""
183
  msgid "We would like to thank this people which support us in the work :"
184
  msgstr ""
185
 
186
+ #: ../admin/about.php:143
187
+ msgid "and all donators..."
188
+ msgstr ""
189
+
190
+ #: ../admin/addgallery.php:37
191
+ #: ../admin/addgallery.php:53
192
  msgid "Upload failed!"
193
  msgstr ""
194
 
195
+ #: ../admin/addgallery.php:58
196
+ #: ../admin/functions.php:559
197
+ #: ../admin/functions.php:649
198
  msgid "No gallery selected !"
199
  msgstr ""
200
 
201
+ #: ../admin/addgallery.php:105
202
  msgid "Image Files"
203
  msgstr ""
204
 
205
+ #: ../admin/addgallery.php:124
206
+ #: ../admin/addgallery.php:155
207
  msgid "remove"
208
  msgstr ""
209
 
210
+ #: ../admin/addgallery.php:125
211
  msgid "Browse..."
212
  msgstr ""
213
 
214
+ #: ../admin/addgallery.php:126
215
+ #: ../admin/addgallery.php:282
216
  msgid "Upload images"
217
  msgstr ""
218
 
219
+ #: ../admin/addgallery.php:174
220
+ #: ../admin/addgallery.php:186
221
  msgid "Add new gallery"
222
  msgstr ""
223
 
224
+ #: ../admin/addgallery.php:176
225
+ #: ../admin/addgallery.php:205
226
  msgid "Upload a Zip-File"
227
  msgstr ""
228
 
229
+ #: ../admin/addgallery.php:179
230
+ #: ../admin/addgallery.php:237
231
  msgid "Import image folder"
232
  msgstr ""
233
 
234
+ #: ../admin/addgallery.php:181
235
+ #: ../admin/addgallery.php:254
236
  msgid "Upload Images"
237
  msgstr ""
238
 
239
+ #: ../admin/addgallery.php:191
240
  msgid "New Gallery"
241
  msgstr ""
242
 
243
+ #: ../admin/addgallery.php:194
244
  msgid "Create a new , empty gallery below the folder"
245
  msgstr ""
246
 
247
+ #: ../admin/addgallery.php:196
248
  msgid "Allowed characters for file and folder names are"
249
  msgstr ""
250
 
251
+ #: ../admin/addgallery.php:199
252
  msgid "Add gallery"
253
  msgstr ""
254
 
255
+ #: ../admin/addgallery.php:210
256
  msgid "Select Zip-File"
257
  msgstr ""
258
 
259
+ #: ../admin/addgallery.php:212
260
  msgid "Upload a zip file with images"
261
  msgstr ""
262
 
263
+ #: ../admin/addgallery.php:215
264
+ #: ../admin/addgallery.php:263
265
  msgid "in to"
266
  msgstr ""
267
 
268
+ #: ../admin/addgallery.php:217
269
  msgid "a new gallery"
270
  msgstr ""
271
 
272
+ #: ../admin/addgallery.php:226
 
273
  msgid "Note : The upload limit on your server is "
274
  msgstr ""
275
 
276
+ #: ../admin/addgallery.php:230
277
  msgid "Start upload"
278
  msgstr ""
279
 
280
+ #: ../admin/addgallery.php:242
281
  msgid "Import from Server path:"
282
  msgstr ""
283
 
284
+ #: ../admin/addgallery.php:245
 
 
 
 
285
  msgid " Please note : For safe-mode = ON you need to add the subfolder thumbs manually"
286
  msgstr ""
287
 
288
+ #: ../admin/addgallery.php:248
289
  msgid "Import folder"
290
  msgstr ""
291
 
292
+ #: ../admin/addgallery.php:259
293
  msgid "Upload image"
294
  msgstr ""
295
 
296
+ #: ../admin/addgallery.php:265
297
  msgid "Choose gallery"
298
  msgstr ""
299
 
300
+ #: ../admin/addgallery.php:278
301
+ msgid "The batch upload requires Adobe Flash 10, disable it if you have problems"
302
  msgstr ""
303
 
304
+ #: ../admin/addgallery.php:278
305
  msgid "Disable flash upload"
306
  msgstr ""
307
 
308
+ #: ../admin/addgallery.php:280
309
  msgid "Upload multiple files at once by ctrl/shift-selecting in dialog"
310
  msgstr ""
311
 
312
+ #: ../admin/addgallery.php:280
313
  msgid "Enable flash based upload"
314
  msgstr ""
315
 
316
  #: ../admin/admin.php:31
317
  #: ../admin/admin.php:204
318
+ #: ../admin/admin.php:272
319
+ #: ../admin/functions.php:82
320
+ #: ../admin/functions.php:145
321
+ #: ../admin/manage-images.php:145
322
  #: ../admin/manage.php:78
323
  msgid "Gallery"
324
  msgid_plural "Galleries"
420
  msgstr ""
421
 
422
  #: ../admin/admin.php:224
423
+ #: ../admin/admin.php:230
424
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery management</a>"
425
  msgstr ""
426
 
428
  msgid "Gallery example"
429
  msgstr ""
430
 
431
+ #: ../admin/admin.php:231
432
+ #: ../admin/admin.php:241
433
  msgid "Gallery tags"
434
  msgstr ""
435
 
436
+ #: ../admin/admin.php:234
437
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Album management</a>"
438
  msgstr ""
439
 
440
+ #: ../admin/admin.php:235
441
  msgid "Album example"
442
  msgstr ""
443
 
444
+ #: ../admin/admin.php:236
445
+ #: ../admin/admin.php:242
446
  msgid "Album tags"
447
  msgstr ""
448
 
449
+ #: ../admin/admin.php:239
450
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-introduction/\" target=\"_blank\">Gallery tags</a>"
451
  msgstr ""
452
 
453
+ #: ../admin/admin.php:240
454
  msgid "Related images"
455
  msgstr ""
456
 
457
+ #: ../admin/admin.php:245
458
  msgid "<a href=\"http://dpotter.net/Technical/2008/03/nextgen-gallery-review-image-management/\" target=\"_blank\">Image management</a>"
459
  msgstr ""
460
 
461
+ #: ../admin/admin.php:246
462
  msgid "Custom fields"
463
  msgstr ""
464
 
465
+ #: ../admin/admin.php:251
466
  msgid "Get help with NextGEN Gallery"
467
  msgstr ""
468
 
469
+ #: ../admin/admin.php:255
470
  msgid "More Help & Info"
471
  msgstr ""
472
 
473
+ #: ../admin/admin.php:257
474
  msgid "<a href=\"http://wordpress.org/tags/nextgen-gallery\" target=\"_blank\">Support Forums</a>"
475
  msgstr ""
476
 
477
+ #: ../admin/admin.php:258
478
  msgid "FAQ"
479
  msgstr ""
480
 
481
+ #: ../admin/admin.php:259
482
  msgid "Feature request"
483
  msgstr ""
484
 
485
+ #: ../admin/admin.php:260
486
  msgid "Get your language pack"
487
  msgstr ""
488
 
489
+ #: ../admin/admin.php:261
490
  msgid "Contribute development"
491
  msgstr ""
492
 
493
+ #: ../admin/admin.php:262
494
  msgid "Download latest version"
495
  msgstr ""
496
 
521
 
522
  #: ../admin/album.php:147
523
  #: ../admin/manage-galleries.php:78
524
+ #: ../admin/manage-images.php:328
525
  msgid "Delete"
526
  msgstr ""
527
 
567
 
568
  #: ../admin/album.php:254
569
  #: ../admin/manage-galleries.php:42
570
+ #: ../admin/manage-images.php:465
571
  msgid "ID"
572
  msgstr ""
573
 
577
 
578
  #: ../admin/album.php:256
579
  #: ../admin/manage-galleries.php:43
580
+ #: ../admin/manage-images.php:159
581
  msgid "Title"
582
  msgstr ""
583
 
592
  #: ../admin/functions.php:30
593
  #: ../admin/functions.php:39
594
  #: ../admin/functions.php:53
595
+ #: ../admin/functions.php:117
596
+ #: ../admin/functions.php:124
597
  msgid "Directory"
598
  msgstr ""
599
 
613
 
614
  #: ../admin/functions.php:48
615
  #: ../admin/functions.php:58
616
+ #: ../admin/functions.php:522
617
  msgid "Unable to create directory "
618
  msgstr ""
619
 
633
  msgid "with permission 777 manually !"
634
  msgstr ""
635
 
636
+ #: ../admin/functions.php:82
637
  msgid "already exists"
638
  msgstr ""
639
 
640
+ #: ../admin/functions.php:87
641
  #, php-format
642
  msgid "Gallery %1$s successfully created.<br/>You can show this gallery with the tag %2$s.<br/>"
643
  msgstr ""
644
 
645
+ #: ../admin/functions.php:90
646
  msgid "Edit gallery"
647
  msgstr ""
648
 
649
+ #: ../admin/functions.php:117
650
  msgid "doesn&#96;t exist!"
651
  msgstr ""
652
 
653
+ #: ../admin/functions.php:124
654
  msgid "contains no pictures"
655
  msgstr ""
656
 
657
+ #: ../admin/functions.php:142
658
  msgid "Database error. Could not add gallery!"
659
  msgstr ""
660
 
661
+ #: ../admin/functions.php:145
662
  msgid "successfully created!"
663
  msgstr ""
664
 
665
+ #: ../admin/functions.php:166
666
+ #: ../admin/functions.php:631
667
+ #: ../admin/manage-images.php:237
668
  #: ../admin/manage.php:130
669
  msgid "Create new thumbnails"
670
  msgstr ""
671
 
672
+ #: ../admin/functions.php:169
673
  msgid " picture(s) successfully added"
674
  msgstr ""
675
 
676
+ #: ../admin/functions.php:208
677
+ #: ../admin/functions.php:287
678
+ #: ../admin/functions.php:328
679
  msgid "Object didn't contain correct data"
680
  msgstr ""
681
 
682
+ #: ../admin/functions.php:213
683
  msgid " is not writeable "
684
  msgstr ""
685
 
686
+ #: ../admin/functions.php:294
687
+ #: ../admin/functions.php:331
688
  msgid " is not writeable"
689
  msgstr ""
690
 
691
+ #: ../admin/functions.php:491
692
  msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
693
  msgstr ""
694
 
695
+ #: ../admin/functions.php:506
696
  msgid "Could not get a valid foldername"
697
  msgstr ""
698
 
699
+ #: ../admin/functions.php:517
700
  #, php-format
701
  msgid "Unable to create directory %s. Is its parent directory writable by the server?"
702
  msgstr ""
703
 
704
+ #: ../admin/functions.php:532
705
  msgid "Zip-File successfully unpacked"
706
  msgstr ""
707
 
708
+ #: ../admin/functions.php:567
709
+ #: ../admin/functions.php:676
710
  msgid "Failure in database, no gallery path set !"
711
  msgstr ""
712
 
713
+ #: ../admin/functions.php:588
714
+ #: ../admin/functions.php:670
715
  msgid "is no valid image file!"
716
  msgstr ""
717
 
718
+ #: ../admin/functions.php:602
719
+ #: ../admin/functions.php:778
720
+ #: ../admin/functions.php:846
721
  #, php-format
722
  msgid "Unable to write to directory %s. Is this directory writable by the server?"
723
  msgstr ""
724
 
725
+ #: ../admin/functions.php:609
726
+ #: ../admin/functions.php:693
727
  msgid "Error, the file could not moved to : "
728
  msgstr ""
729
 
730
+ #: ../admin/functions.php:614
731
+ #: ../admin/functions.php:697
732
  msgid "Error, the file permissions could not set"
733
  msgstr ""
734
 
735
+ #: ../admin/functions.php:635
736
  msgid " Image(s) successfully added"
737
  msgstr ""
738
 
739
+ #: ../admin/functions.php:658
740
  msgid "Invalid upload. Error Code : "
741
  msgstr ""
742
 
743
+ #: ../admin/functions.php:707
744
  msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
745
  msgstr ""
746
 
747
+ #: ../admin/functions.php:734
748
  #, php-format
749
  msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
750
  msgstr ""
751
 
752
+ #: ../admin/functions.php:735
753
  #, php-format
754
  msgid "When safe_mode is on, PHP checks to see if the owner (%s) of the current script matches the owner (%s) of the file to be operated on by a file function or its directory"
755
  msgstr ""
756
 
757
+ #: ../admin/functions.php:772
758
+ #: ../admin/functions.php:840
759
  msgid "The destination gallery does not exist"
760
  msgstr ""
761
 
762
+ #: ../admin/functions.php:803
763
  #, php-format
764
  msgid "Failed to move image %1$s to %2$s"
765
  msgstr ""
766
 
767
+ #: ../admin/functions.php:821
768
  #, php-format
769
  msgid "Moved %1$s picture(s) to gallery : %2$s ."
770
  msgstr ""
771
 
772
+ #: ../admin/functions.php:873
773
  #, php-format
774
  msgid "Failed to copy image %1$s to %2$s"
775
  msgstr ""
776
 
777
+ #: ../admin/functions.php:885
778
  #, php-format
779
  msgid "Failed to copy database row for picture %s"
780
  msgstr ""
781
 
782
+ #: ../admin/functions.php:893
783
  #, php-format
784
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s) &raquo; The file already existed in the destination gallery."
785
  msgstr ""
786
 
787
+ #: ../admin/functions.php:896
788
  #, php-format
789
  msgid "Image %1$s (%2$s) copied as image %3$s (%4$s)"
790
  msgstr ""
791
 
792
+ #: ../admin/functions.php:905
793
  #, php-format
794
  msgid "Copied %1$s picture(s) to gallery: %2$s ."
795
  msgstr ""
811
  msgstr ""
812
 
813
  #: ../admin/manage-galleries.php:19
814
+ #: ../admin/manage-images.php:33
815
  msgid "&laquo;"
816
  msgstr ""
817
 
818
  #: ../admin/manage-galleries.php:20
819
+ #: ../admin/manage-images.php:34
820
  msgid "&raquo;"
821
  msgstr ""
822
 
825
  msgstr ""
826
 
827
  #: ../admin/manage-galleries.php:30
828
+ #: ../admin/manage-images.php:226
829
  #, php-format
830
  msgid "Displaying %s&#8211;%s of %s"
831
  msgstr ""
832
 
833
  #: ../admin/manage-galleries.php:44
834
+ #: ../admin/manage-images.php:170
835
+ #: ../admin/manage-images.php:470
836
  msgid "Description"
837
  msgstr ""
838
 
839
  #: ../admin/manage-galleries.php:45
840
+ #: ../admin/manage-images.php:190
841
  msgid "Author"
842
  msgstr ""
843
 
862
  msgstr ""
863
 
864
  #: ../admin/manage-galleries.php:85
865
+ #: ../admin/manage-images.php:382
866
  msgid "No entries found"
867
  msgstr ""
868
 
869
+ #: ../admin/manage-images.php:16
870
  msgid "Gallery not found."
871
  msgstr ""
872
 
873
+ #: ../admin/manage-images.php:106
874
  msgid "No images selected"
875
  msgstr ""
876
 
877
+ #: ../admin/manage-images.php:126
878
  #, php-format
879
  msgid ""
880
  "You are about to start the bulk edit for %s images \n"
882
  " 'Cancel' to stop, 'OK' to proceed."
883
  msgstr ""
884
 
885
+ #: ../admin/manage-images.php:155
886
  msgid "Gallery settings"
887
  msgstr ""
888
 
889
+ #: ../admin/manage-images.php:155
890
  msgid "Click here for more settings"
891
  msgstr ""
892
 
893
+ #: ../admin/manage-images.php:161
894
  msgid "Page Link to"
895
  msgstr ""
896
 
897
+ #: ../admin/manage-images.php:164
898
  msgid "Not linked"
899
  msgstr ""
900
 
901
+ #: ../admin/manage-images.php:172
902
  msgid "Preview image"
903
  msgstr ""
904
 
905
+ #: ../admin/manage-images.php:175
906
  msgid "No Picture"
907
  msgstr ""
908
 
909
+ #: ../admin/manage-images.php:188
910
  msgid "Path"
911
  msgstr ""
912
 
913
+ #: ../admin/manage-images.php:204
914
  msgid "Create new page"
915
  msgstr ""
916
 
917
+ #: ../admin/manage-images.php:207
918
  msgid "Main page (No parent)"
919
  msgstr ""
920
 
921
+ #: ../admin/manage-images.php:210
922
  msgid "Add page"
923
  msgstr ""
924
 
925
+ #: ../admin/manage-images.php:216
926
  msgid "Scan Folder for new images"
927
  msgstr ""
928
 
929
+ #: ../admin/manage-images.php:217
930
+ #: ../admin/manage-images.php:253
931
+ #: ../admin/manage-images.php:388
932
  msgid "Save Changes"
933
  msgstr ""
934
 
935
+ #: ../admin/manage-images.php:235
936
  msgid "No action"
937
  msgstr ""
938
 
939
+ #: ../admin/manage-images.php:236
940
  #: ../admin/manage.php:126
941
  msgid "Set watermark"
942
  msgstr ""
943
 
944
+ #: ../admin/manage-images.php:238
945
  #: ../admin/manage.php:134
946
  msgid "Resize images"
947
  msgstr ""
948
 
949
+ #: ../admin/manage-images.php:239
950
  msgid "Delete images"
951
  msgstr ""
952
 
953
+ #: ../admin/manage-images.php:240
954
  msgid "Import metadata"
955
  msgstr ""
956
 
957
+ #: ../admin/manage-images.php:241
958
  msgid "Copy to..."
959
  msgstr ""
960
 
961
+ #: ../admin/manage-images.php:242
962
  msgid "Move to..."
963
  msgstr ""
964
 
965
+ #: ../admin/manage-images.php:243
966
  msgid "Add tags"
967
  msgstr ""
968
 
969
+ #: ../admin/manage-images.php:244
970
  msgid "Delete tags"
971
  msgstr ""
972
 
973
+ #: ../admin/manage-images.php:245
974
  msgid "Overwrite tags"
975
  msgstr ""
976
 
977
+ #: ../admin/manage-images.php:247
978
+ #: ../admin/manage-images.php:405
979
+ #: ../admin/manage-images.php:440
980
  msgid "OK"
981
  msgstr ""
982
 
983
+ #: ../admin/manage-images.php:250
984
  msgid "Sort gallery"
985
  msgstr ""
986
 
987
+ #: ../admin/manage-images.php:325
988
  #, php-format
989
  msgid "View \"%s\""
990
  msgstr ""
991
 
992
+ #: ../admin/manage-images.php:325
993
  msgid "View"
994
  msgstr ""
995
 
996
+ #: ../admin/manage-images.php:326
997
  msgid "Show Meta data"
998
  msgstr ""
999
 
1000
+ #: ../admin/manage-images.php:326
1001
  msgid "Meta"
1002
  msgstr ""
1003
 
1004
+ #: ../admin/manage-images.php:327
1005
+ msgid "Customize thumbnail"
1006
+ msgstr ""
1007
+
1008
+ #: ../admin/manage-images.php:327
1009
+ msgid "Edit thumb"
1010
+ msgstr ""
1011
+
1012
+ #: ../admin/manage-images.php:328
1013
  #, php-format
1014
  msgid "Delete \"%s\""
1015
  msgstr ""
1016
 
1017
+ #: ../admin/manage-images.php:401
1018
  msgid "Enter the tags"
1019
  msgstr ""
1020
 
1021
+ #: ../admin/manage-images.php:407
1022
+ #: ../admin/manage-images.php:442
1023
  msgid "Cancel"
1024
  msgstr ""
1025
 
1026
+ #: ../admin/manage-images.php:424
1027
  msgid "Select the destination gallery:"
1028
  msgstr ""
1029
 
1030
+ #: ../admin/manage-images.php:466
1031
  msgid "Thumbnail"
1032
  msgstr ""
1033
 
1034
+ #: ../admin/manage-images.php:468
1035
  #: ../admin/manage-sort.php:80
1036
  msgid "Filename"
1037
  msgstr ""
1038
 
1039
+ #: ../admin/manage-images.php:470
1040
  msgid "Alt &amp; Title Text"
1041
  msgstr ""
1042
 
1043
+ #: ../admin/manage-images.php:471
1044
  msgid "Tags (comma separated list)"
1045
  msgstr ""
1046
 
1047
+ #: ../admin/manage-images.php:473
1048
  msgid "exclude"
1049
  msgstr ""
1050
 
1110
  msgstr ""
1111
 
1112
  #: ../admin/manage.php:165
1113
+ msgid "Operation successful. Please clear your browser cache."
1114
  msgstr ""
1115
 
1116
  #: ../admin/manage.php:228
1121
  msgid "Update successful"
1122
  msgstr ""
1123
 
1124
+ #: ../admin/manage.php:289
1125
  msgid "New gallery page ID"
1126
  msgstr ""
1127
 
1128
+ #: ../admin/manage.php:289
1129
  msgid "created"
1130
  msgstr ""
1131
 
1132
+ #: ../admin/manage_thumbnail.php:19
1133
+ #: ../admin/manage_thumbnail.php:22
1134
+ #: ../admin/showmeta.php:10
1135
+ #: ../admin/showmeta.php:13
1136
+ msgid "Cheatin&#8217; uh?"
1137
+ msgstr ""
1138
+
1139
+ #: ../admin/manage_thumbnail.php:116
1140
+ msgid "Select with the mouse the area for the new thumbnail."
1141
+ msgstr ""
1142
+
1143
+ #: ../admin/manage_thumbnail.php:130
1144
+ msgid "Thumbnail updated"
1145
+ msgstr ""
1146
+
1147
+ #: ../admin/manage_thumbnail.php:135
1148
+ msgid "Error updating thumbnail."
1149
+ msgstr ""
1150
+
1151
+ #: ../admin/manage_thumbnail.php:152
1152
+ msgid "Select the area for the thumbnail from the picture on the left."
1153
+ msgstr ""
1154
+
1155
  #: ../admin/media-upload.php:132
1156
  #: ../admin/tinymce/window.php:43
1157
  msgid "No gallery"
1524
  msgstr ""
1525
 
1526
  #: ../admin/settings.php:151
1527
+ msgid "A RSS feed will be added to you blog header. Useful for CoolIris/PicLens"
1528
  msgstr ""
1529
 
1530
  #: ../admin/settings.php:154
1969
  msgstr ""
1970
 
1971
  #: ../admin/setup.php:26
1972
+ msgid "Uninstall sucessful ! Now delete the plugin and enjoy your life ! Good luck !"
1973
  msgstr ""
1974
 
1975
  #: ../admin/setup.php:30
2027
  "Choose [Cancel] to Stop, [OK] to Uninstall.\\n"
2028
  msgstr ""
2029
 
 
 
 
 
 
2030
  #: ../admin/showmeta.php:46
2031
  msgid "EXIF Data"
2032
  msgstr ""
2274
  msgstr ""
2275
 
2276
  #: ../admin/upgrade.php:289
2277
+ msgid "Upgrade sucessful"
2278
  msgstr ""
2279
 
2280
  #: ../admin/upgrade.php:290
2402
  msgid "Insert"
2403
  msgstr ""
2404
 
2405
+ #: ../lib/core.php:419
2406
+ #, php-format
2407
+ msgid "Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel"
2408
+ msgstr ""
2409
+
2410
  #: ../lib/meta.php:87
2411
  msgid " mm"
2412
  msgstr ""
2534
  msgid "Album overview"
2535
  msgstr ""
2536
 
2537
+ #: ../lib/shortcodes.php:275
2538
  msgid "[Pictures not found]"
2539
  msgstr ""
2540
 
2613
 
2614
  #: ../view/gallery-caption.php:32
2615
  #: ../view/gallery.php:32
 
2616
  msgid "[View with PicLens]"
2617
  msgstr ""
2618
 
2663
  msgstr ""
2664
 
2665
  #: ../widgets/media-rss-widget.php:153
2666
+ #: ../widgets/widgets.php:133
2667
  msgid "Title:"
2668
  msgstr ""
2669
 
2729
  msgstr ""
2730
 
2731
  #: ../widgets/widgets.php:296
2732
+ msgid "Original images"
2733
  msgstr ""
2734
 
2735
  #: ../widgets/widgets.php:304
lib/core.php CHANGED
@@ -3,7 +3,7 @@
3
  * Main PHP class for the WordPress plugin NextGEN Gallery
4
  *
5
  * @author Alex Rabe
6
- * @copyright Copyright 2007 - 2008
7
  *
8
  */
9
  class nggGallery {
@@ -356,11 +356,73 @@ class nggGallery {
356
  }
357
 
358
  function get_theme_css_file() {
359
- if ( file_exists (TEMPLATEPATH . '/nggallery.css') )
360
- return get_template_directory_uri() . '/nggallery.css';
361
  else
362
  return false;
363
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
 
365
  }
366
 
3
  * Main PHP class for the WordPress plugin NextGEN Gallery
4
  *
5
  * @author Alex Rabe
6
+ * @copyright Copyright 2007 - 2009
7
  *
8
  */
9
  class nggGallery {
356
  }
357
 
358
  function get_theme_css_file() {
359
+ if ( file_exists (STYLESHEETPATH . '/nggallery.css') )
360
+ return get_stylesheet_directory_uri() . '/nggallery.css';
361
  else
362
  return false;
363
  }
364
+
365
+ /**
366
+ * Support for i18n with polyglot or qtrans
367
+ *
368
+ * @param string $in
369
+ * @return string $in localized
370
+ */
371
+ function i18n($in) {
372
+
373
+ if ( function_exists( 'langswitch_filter_langs_with_message' ) )
374
+ $in = langswitch_filter_langs_with_message($in);
375
+
376
+ if ( function_exists( 'polyglot_filter' ))
377
+ $in = polyglot_filter($in);
378
+
379
+ if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ))
380
+ $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($in);
381
+
382
+ $in = apply_filters('localization', $in);
383
+
384
+ return $in;
385
+ }
386
+
387
+ /**
388
+ * Check the memory_limit and calculate a recommended memory size
389
+ *
390
+ * @since V1.2.0
391
+ * @return string message about recommended image size
392
+ */
393
+ function check_memory_limit() {
394
+
395
+ if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) {
396
+
397
+ // get memory limit
398
+ $memory_limit = ini_get('memory_limit');
399
+ if ($memory_limit != '')
400
+ $memory_limit = substr($memory_limit, 0, -1) * 1024 * 1024;
401
+
402
+ // calculate the free memory
403
+ $freeMemory = $memory_limit - memory_get_usage();
404
+
405
+ // build the test sizes
406
+ $sizes = array();
407
+ $sizes[] = array ( 'width' => 800, 'height' => 600);
408
+ $sizes[] = array ( 'width' => 1024, 'height' => 768);
409
+ $sizes[] = array ( 'width' => 1280, 'height' => 960); // 1MP
410
+ $sizes[] = array ( 'width' => 1600, 'height' => 1200); // 2MP
411
+ $sizes[] = array ( 'width' => 2016, 'height' => 1512); // 3MP
412
+ $sizes[] = array ( 'width' => 2272, 'height' => 1704); // 4MP
413
+ $sizes[] = array ( 'width' => 2560, 'height' => 1920); // 5MP
414
+
415
+ // test the classic sizes
416
+ foreach ($sizes as $size){
417
+ // very, very rough estimation
418
+ if ($freeMemory < round( $size['width'] * $size['height'] * 5.09 )) {
419
+ $result = sprintf( __( 'Note : Based on your server memory limit you should not upload larger images then <strong>%d x %d</strong> pixel' ), $size['width'], $size['height']);
420
+ return $result;
421
+ }
422
+ }
423
+ }
424
+ return;
425
+ }
426
 
427
  }
428
 
lib/image.php CHANGED
@@ -98,7 +98,7 @@ class nggImage{
98
 
99
  function get_href_link() {
100
  // create the a href link from the picture
101
- $this->href = "\n".'<a href="'.$this->imageURL.'" title="'.stripslashes($this->description).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
102
  $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->imageURL.'"/>'."\n".'</a>'."\n";
103
 
104
  return $this->href;
@@ -106,7 +106,7 @@ class nggImage{
106
 
107
  function get_href_thumb_link() {
108
  // create the a href link with the thumbanil
109
- $this->href = "\n".'<a href="'.$this->imageURL.'" title="'.stripslashes($this->description).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
110
  $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->thumbURL.'"/>'."\n".'</a>'."\n";
111
 
112
  return $this->href;
98
 
99
  function get_href_link() {
100
  // create the a href link from the picture
101
+ $this->href = "\n".'<a href="'.$this->imageURL.'" title="'.htmlspecialchars( stripslashes($this->description) ).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
102
  $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->imageURL.'"/>'."\n".'</a>'."\n";
103
 
104
  return $this->href;
106
 
107
  function get_href_thumb_link() {
108
  // create the a href link with the thumbanil
109
+ $this->href = "\n".'<a href="'.$this->imageURL.'" title="'.htmlspecialchars( stripslashes($this->description) ).'" '.$this->get_thumbcode($this->name).'>'."\n\t";
110
  $this->href .= '<img alt="'.$this->alttext.'" src="'.$this->thumbURL.'"/>'."\n".'</a>'."\n";
111
 
112
  return $this->href;
lib/media-rss.php CHANGED
@@ -83,8 +83,8 @@ class nggMediaRss {
83
  $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : 'pid';
84
  $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC';
85
 
86
- $title = stripslashes($gallery->title);
87
- $description = stripslashes($gallery->galdesc);
88
  $link = nggMediaRss::get_permalink($gallery->pageid);
89
  $prev_link = ( $prev_gallery != null) ? nggMediaRss::get_gallery_mrss_url($prev_gallery->gid, true) : '';
90
  $next_link = ( $next_gallery != null) ? nggMediaRss::get_gallery_mrss_url($next_gallery->gid, true) : '';
@@ -100,7 +100,7 @@ class nggMediaRss {
100
  */
101
  function get_album_mrss($album) {
102
 
103
- $title = stripslashes($album->name);
104
  $description = '';
105
  $link = nggMediaRss::get_permalink(0);
106
  $prev_link = '';
@@ -207,14 +207,14 @@ class nggMediaRss {
207
  $thumbheight = ($ngg_options['thumbfix'] ? $ngg_options['thumbheight'] : $thumbwidth);
208
 
209
  $out = $indent . "<item>\n";
210
- $out .= $indent . "\t<title><![CDATA[" . $title . "]]></title>\n";
211
- $out .= $indent . "\t<description><![CDATA[" . $desc . "]]></description>\n";
212
  $out .= $indent . "\t<link><![CDATA[" . $image->get_permalink() . "]]></link>\n";
213
  $out .= $indent . "\t<media:content url='" . $image->imageURL . "' medium='image' />\n";
214
- $out .= $indent . "\t<media:title><![CDATA[" . $title . "]]></media:title>\n";
215
- $out .= $indent . "\t<media:description><![CDATA[" . $desc . "]]></media:description>\n";
216
  $out .= $indent . "\t<media:thumbnail url='" . $image->thumbURL . "' width='" . $thumbwidth . "' height='" . $thumbheight . "' />\n";
217
- $out .= $indent . "\t<media:keywords><![CDATA[" . $tag_names . "]]></media:keywords>\n";
218
  $out .= $indent . "\t<media:copyright><![CDATA[Copyright (c) " . get_option("blogname") . " (" . get_option("siteurl") . ")]]></media:copyright>\n";
219
  $out .= $indent . "</item>\n";
220
 
83
  $ngg_options['galSort'] = ($ngg_options['galSort']) ? $ngg_options['galSort'] : 'pid';
84
  $ngg_options['galSortDir'] = ($ngg_options['galSortDir'] == 'DESC') ? 'DESC' : 'ASC';
85
 
86
+ $title = stripslashes(nggGallery::i18n($gallery->title));
87
+ $description = stripslashes(nggGallery::i18n($gallery->galdesc));
88
  $link = nggMediaRss::get_permalink($gallery->pageid);
89
  $prev_link = ( $prev_gallery != null) ? nggMediaRss::get_gallery_mrss_url($prev_gallery->gid, true) : '';
90
  $next_link = ( $next_gallery != null) ? nggMediaRss::get_gallery_mrss_url($next_gallery->gid, true) : '';
100
  */
101
  function get_album_mrss($album) {
102
 
103
+ $title = stripslashes(nggGallery::i18n($album->name));
104
  $description = '';
105
  $link = nggMediaRss::get_permalink(0);
106
  $prev_link = '';
207
  $thumbheight = ($ngg_options['thumbfix'] ? $ngg_options['thumbheight'] : $thumbwidth);
208
 
209
  $out = $indent . "<item>\n";
210
+ $out .= $indent . "\t<title><![CDATA[" . nggGallery::i18n($title) . "]]></title>\n";
211
+ $out .= $indent . "\t<description><![CDATA[" . nggGallery::i18n($desc) . "]]></description>\n";
212
  $out .= $indent . "\t<link><![CDATA[" . $image->get_permalink() . "]]></link>\n";
213
  $out .= $indent . "\t<media:content url='" . $image->imageURL . "' medium='image' />\n";
214
+ $out .= $indent . "\t<media:title><![CDATA[" . nggGallery::i18n($title) . "]]></media:title>\n";
215
+ $out .= $indent . "\t<media:description><![CDATA[" . nggGallery::i18n($desc) . "]]></media:description>\n";
216
  $out .= $indent . "\t<media:thumbnail url='" . $image->thumbURL . "' width='" . $thumbwidth . "' height='" . $thumbheight . "' />\n";
217
+ $out .= $indent . "\t<media:keywords><![CDATA[" . nggGallery::i18n($tag_names) . "]]></media:keywords>\n";
218
  $out .= $indent . "\t<media:copyright><![CDATA[Copyright (c) " . get_option("blogname") . " (" . get_option("siteurl") . ")]]></media:copyright>\n";
219
  $out .= $indent . "</item>\n";
220
 
lib/ngg-db.php CHANGED
@@ -167,7 +167,7 @@ class nggdb {
167
  // Count the number of images and calculate the pagination
168
  if ($limit > 0) {
169
  $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) );
170
- $this->paged['objects_per_page'] = count( $result );
171
  $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1;
172
  }
173
 
167
  // Count the number of images and calculate the pagination
168
  if ($limit > 0) {
169
  $this->paged['total_objects'] = intval ( $wpdb->get_var( "SELECT FOUND_ROWS()" ) );
170
+ $this->paged['objects_per_page'] = max ( count( $result ), $limit );
171
  $this->paged['max_objects_per_page'] = ( $limit > 0 ) ? ceil( $this->paged['total_objects'] / intval($limit)) : 1;
172
  }
173
 
lib/rewrite.php CHANGED
@@ -113,9 +113,8 @@ class nggRewrite {
113
  $show_on_front = get_option('show_on_front');
114
  $page_on_front = get_option('page_on_front');
115
 
116
- if (($show_on_front == 'page') && ($page_on_front == get_the_ID())) {
117
  $args['page_id'] = get_the_ID();
118
- }
119
 
120
  $query = htmlspecialchars(add_query_arg( $args));
121
 
@@ -194,11 +193,31 @@ class nggRewrite {
194
  if ( !empty($tag) )
195
  $new_title .= $tag . $sep;
196
 
 
 
 
 
197
  //prepend the data
198
  $title = $new_title . $title;
199
 
200
  return $title;
201
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
 
203
  /**
204
  * The actual rewrite rules
113
  $show_on_front = get_option('show_on_front');
114
  $page_on_front = get_option('page_on_front');
115
 
116
+ if (($show_on_front == 'page') && ($page_on_front == get_the_ID()))
117
  $args['page_id'] = get_the_ID();
 
118
 
119
  $query = htmlspecialchars(add_query_arg( $args));
120
 
193
  if ( !empty($tag) )
194
  $new_title .= $tag . $sep;
195
 
196
+ // for all sub pages we add the canonical tag
197
+ if ( !empty($new_title) )
198
+ add_action('wp_head', array(&$this, 'add_canonical_meta'));
199
+
200
  //prepend the data
201
  $title = $new_title . $title;
202
 
203
  return $title;
204
  }
205
+
206
+ /**
207
+ * Canonical support for a better SEO (Dupilcat content)
208
+ * See : http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
209
+ *
210
+ * @return string $meta
211
+ */
212
+ function add_canonical_meta()
213
+ {
214
+ // create the meta link
215
+ $meta = "\n<link rel='canonical' href='" . get_permalink() ."' />";
216
+ // add a filter for SEO plugins, so they can remove it
217
+ echo apply_filters('ngg_add_canonical_meta', $meta);
218
+
219
+ return;
220
+ }
221
 
222
  /**
223
  * The actual rewrite rules
lib/shortcodes.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * @author Alex Rabe, Vincent Prat
4
- * @copyright 2008
5
  * @since 1.0.0
6
  * @description Use WordPress Shortcode API for more features
7
  * @Docs http://codex.wordpress.org/Shortcode_API
@@ -25,7 +25,10 @@ class NextGEN_shortcodes {
25
  add_shortcode( 'imagebrowser', array(&$this, 'show_imagebrowser' ) );
26
  add_shortcode( 'slideshow', array(&$this, 'show_slideshow' ) );
27
  add_shortcode( 'nggtags', array(&$this, 'show_tags' ) );
28
- add_shortcode( 'thumb', array(&$this, 'show_thumbs' ));
 
 
 
29
  }
30
 
31
  /**
@@ -130,7 +133,7 @@ class NextGEN_shortcodes {
130
  // attach related images based on category or tags
131
  if ($ngg_options['activateTags'])
132
  $content .= nggShowRelatedImages();
133
-
134
  return $content;
135
  }
136
 
@@ -280,9 +283,63 @@ class NextGEN_shortcodes {
280
  return $out;
281
  }
282
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  }
284
 
285
  // let's use it
286
  $nggShortcodes = new NextGEN_Shortcodes;
287
 
288
- ?>
1
  <?php
2
  /**
3
  * @author Alex Rabe, Vincent Prat
4
+ * @copyright 2008 - 2009
5
  * @since 1.0.0
6
  * @description Use WordPress Shortcode API for more features
7
  * @Docs http://codex.wordpress.org/Shortcode_API
25
  add_shortcode( 'imagebrowser', array(&$this, 'show_imagebrowser' ) );
26
  add_shortcode( 'slideshow', array(&$this, 'show_slideshow' ) );
27
  add_shortcode( 'nggtags', array(&$this, 'show_tags' ) );
28
+ add_shortcode( 'thumb', array(&$this, 'show_thumbs' ) );
29
+ add_shortcode( 'random', array(&$this, 'show_random' ) );
30
+ add_shortcode( 'recent', array(&$this, 'show_recent' ) );
31
+ add_shortcode( 'tagcloud', array(&$this, 'show_tagcloud' ) );
32
  }
33
 
34
  /**
133
  // attach related images based on category or tags
134
  if ($ngg_options['activateTags'])
135
  $content .= nggShowRelatedImages();
136
+
137
  return $content;
138
  }
139
 
283
  return $out;
284
  }
285
 
286
+ /**
287
+ * Function to show a gallery of random or the most recent images with shortcode of type:
288
+ *
289
+ * [random max="7" template="filename" /]
290
+ * [recent max="7" template="filename" /]
291
+ * where
292
+ * - max is the maximum number of random or recent images to show
293
+ * - template is a name for a gallery template, which is located in themefolder/nggallery or plugins/nextgen-gallery/view
294
+ *
295
+ * @param array $atts
296
+ * @return the_content
297
+ */
298
+ function show_random( $atts ) {
299
+
300
+ extract(shortcode_atts(array(
301
+ 'max' => '',
302
+ 'template' => ''
303
+ ), $atts));
304
+
305
+ $out = nggShowRandomRecent('random', $max, $template);
306
+
307
+ return $out;
308
+ }
309
+
310
+ function show_recent( $atts ) {
311
+
312
+ extract(shortcode_atts(array(
313
+ 'max' => '',
314
+ 'template' => ''
315
+ ), $atts));
316
+
317
+ $out = nggShowRandomRecent('recent', $max, $template);
318
+
319
+ return $out;
320
+ }
321
+
322
+ /**
323
+ * Shortcode for the Image tag cloud
324
+ * Usage : [tagcloud template="filename" /]
325
+ *
326
+ * @param array $atts
327
+ * @return the content
328
+ */
329
+ function show_tagcloud( $atts ) {
330
+
331
+ extract(shortcode_atts(array(
332
+ 'template' => ''
333
+ ), $atts));
334
+
335
+ $out = nggTagCloud( '', $template );
336
+
337
+ return $out;
338
+ }
339
+
340
  }
341
 
342
  // let's use it
343
  $nggShortcodes = new NextGEN_Shortcodes;
344
 
345
+ ?>
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 Web 2.0.
6
  Author: Alex Rabe
7
- Version: 1.1.0
8
 
9
  Author URI: http://alexrabe.boelinger.com/
10
 
@@ -24,7 +24,7 @@ GNU General Public License for more details.
24
 
25
  You should have received a copy of the GNU General Public License
26
  along with this program; if not, write to the Free Software
27
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
 
29
  Please note :
30
 
@@ -44,7 +44,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
44
  if (!class_exists('nggLoader')) {
45
  class nggLoader {
46
 
47
- var $version = '1.1.0';
48
  var $dbversion = '1.1.0';
49
  var $minium_WP = '2.7';
50
  var $minium_WPMU = '2.7';
@@ -66,7 +66,6 @@ class nggLoader {
66
  $this->load_options();
67
  $this->define_constant();
68
  $this->define_tables();
69
- $this->register_taxonomy();
70
  $this->load_dependencies();
71
  $this->start_rewrite_module();
72
 
@@ -80,7 +79,9 @@ class nggLoader {
80
 
81
  // Start this plugin once all other plugins are fully loaded
82
  add_action( 'plugins_loaded', array(&$this, 'start_plugin') );
83
-
 
 
84
  }
85
 
86
  function start_plugin() {
@@ -172,25 +173,21 @@ class nggLoader {
172
 
173
  }
174
 
175
- function register_taxonomy() {
 
176
 
177
- // Register the NextGEN taxonomy
178
- register_taxonomy(
179
- 'ngg_tag',
180
- 'nggallery',
181
- array(
182
  'label' => __('Picture tag', 'nggallery'),
183
  'template' => __('Picture tag: %2$l.', 'nggallery'),
184
  'helps' => __('Separate picture tags with commas.', 'nggallery'),
185
  'sort' => true,
186
- 'args' => array('orderby' => 'term_order'),
187
- 'rewrite' => array('slug' => 'picture-tag'),
188
- 'query_var' => 'picture-tag'
189
- )
190
- );
191
-
192
  }
193
-
194
  function define_constant() {
195
 
196
  //TODO:SHOULD BE REMOVED LATER
@@ -319,12 +316,10 @@ class nggLoader {
319
 
320
  // Add rewrite rules
321
  function start_rewrite_module() {
322
-
323
- global $nggRewrite;
324
-
325
- if ( class_exists(nggRewrite) )
326
- $nggRewrite = new nggRewrite();
327
-
328
  }
329
 
330
  function activate() {
4
  Plugin URI: http://alexrabe.boelinger.com/?page_id=80
5
  Description: A NextGENeration Photo gallery for the Web 2.0.
6
  Author: Alex Rabe
7
+ Version: 1.2.0
8
 
9
  Author URI: http://alexrabe.boelinger.com/
10
 
24
 
25
  You should have received a copy of the GNU General Public License
26
  along with this program; if not, write to the Free Software
27
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
 
29
  Please note :
30
 
44
  if (!class_exists('nggLoader')) {
45
  class nggLoader {
46
 
47
+ var $version = '1.2.0';
48
  var $dbversion = '1.1.0';
49
  var $minium_WP = '2.7';
50
  var $minium_WPMU = '2.7';
66
  $this->load_options();
67
  $this->define_constant();
68
  $this->define_tables();
 
69
  $this->load_dependencies();
70
  $this->start_rewrite_module();
71
 
79
 
80
  // Start this plugin once all other plugins are fully loaded
81
  add_action( 'plugins_loaded', array(&$this, 'start_plugin') );
82
+
83
+ // Register_taxonomy must be used during wo init
84
+ add_action( 'init', array(&$this, 'register_taxonomy') );
85
  }
86
 
87
  function start_plugin() {
173
 
174
  }
175
 
176
+ function register_taxonomy() {
177
+ global $wp_rewrite;
178
 
179
+ // Register the NextGEN taxonomy
180
+ $args = array(
 
 
 
181
  'label' => __('Picture tag', 'nggallery'),
182
  'template' => __('Picture tag: %2$l.', 'nggallery'),
183
  'helps' => __('Separate picture tags with commas.', 'nggallery'),
184
  'sort' => true,
185
+ 'args' => array('orderby' => 'term_order')
186
+ );
187
+
188
+ register_taxonomy( 'ngg_tag', 'nggallery', $args );
 
 
189
  }
190
+
191
  function define_constant() {
192
 
193
  //TODO:SHOULD BE REMOVED LATER
316
 
317
  // Add rewrite rules
318
  function start_rewrite_module() {
319
+ global $nggRewrite;
320
+
321
+ if ( class_exists(nggRewrite) )
322
+ $nggRewrite = new nggRewrite();
 
 
323
  }
324
 
325
  function activate() {
nggfunctions.php CHANGED
@@ -3,12 +3,13 @@
3
  if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
4
 
5
  /**
6
- * nggShowSlideshow()
 
7
  *
8
  * @access public
9
- * @param integer $galleryID
10
- * @param integer $irWidth
11
- * @param integer $irHeight
12
  * @return the content
13
  */
14
  function nggShowSlideshow($galleryID, $width, $height) {
@@ -19,7 +20,7 @@ function nggShowSlideshow($galleryID, $width, $height) {
19
 
20
  // remove media file from RSS feed
21
  if ( is_feed() ) {
22
- $out = '[' . $ngg_options['galTextSlide'] . ']';
23
  return $out;
24
  }
25
 
@@ -125,7 +126,7 @@ function nggShowGallery( $galleryID, $template = '' ) {
125
  if ( $show == 'slide' ) {
126
  $args['show'] = "gallery";
127
  $out = '<div class="ngg-galleryoverview">';
128
- $out .= '<div class="slideshowlink"><a class="slideshowlink" href="' . $nggRewrite->get_permalink($args) . '">'.$ngg_options['galTextGallery'].'</a></div>';
129
  $out .= nggShowSlideshow($galleryID, $ngg_options['irWidth'], $ngg_options['irHeight']);
130
  $out .= '</div>'."\n";
131
  $out .= '<div class="ngg-clear"></div>'."\n";
@@ -191,7 +192,7 @@ function nggCreateGallery($picturelist, $galleryID = false, $template = '') {
191
  if (($ngg_options['galShowSlide']) AND (NGGALLERY_IREXIST)) {
192
  $gallery->show_slideshow = true;
193
  $gallery->slideshow_link = $nggRewrite->get_permalink(array ('show' => "slide"));
194
- $gallery->slideshow_link_text = $ngg_options['galTextSlide'];
195
  }
196
 
197
  if ($ngg_options['usePicLens']) {
@@ -237,9 +238,9 @@ function nggCreateGallery($picturelist, $galleryID = false, $template = '') {
237
  $picturelist[$key]->thumbnailURL = $picture->thumbURL;
238
  $picturelist[$key]->size = $thumbsize;
239
  $picturelist[$key]->thumbcode = $thumbcode;
 
240
  $picturelist[$key]->description = ( empty($picture->description) ) ? ' ' : htmlspecialchars ( stripslashes($picture->description) );
241
  $picturelist[$key]->alttext = ( empty($picture->alttext) ) ? ' ' : htmlspecialchars ( stripslashes($picture->alttext) );
242
- $picturelist[$key]->caption = ( empty($picture->description) ) ? '&nbsp;' : html_entity_decode( stripslashes($picture->description) );
243
  }
244
 
245
  // look for gallery-$template.php or pure gallery.php
@@ -305,7 +306,7 @@ function nggShowAlbum($albumID, $template = 'extend') {
305
  *
306
  * @access internal
307
  * @param array $galleriesID
308
- * @param string (optional) $template
309
  * @param object (optional) $album result from the db
310
  * @return the content
311
  */
@@ -493,9 +494,9 @@ function nggCreateImageBrowser($picarray, $template = '') {
493
  $picture->next_image_link = $nggRewrite->get_permalink(array ('pid' => $next_pid));
494
  $picture->number = $key + 1;
495
  $picture->total = $total;
496
- $picture->linktitle = htmlentities(stripslashes($picture->description));
497
- $picture->alttext = html_entity_decode(stripslashes($picture->alttext));
498
- $picture->description = html_entity_decode(stripslashes($picture->description));
499
 
500
  // let's get the meta data
501
  $meta = new nggMeta($picture->imagePath);
@@ -569,9 +570,9 @@ function nggSinglePicture($imageID, $width = 250, $height = 250, $mode = '', $fl
569
 
570
  // add more variables for render output
571
  $picture->href_link = $picture->get_href_link();
572
- $picture->alttext = html_entity_decode(stripslashes($picture->alttext));
573
- $picture->description = html_entity_decode(stripslashes($picture->description));
574
- $picture->linktitle = htmlentities(stripslashes($picture->description));
575
  $picture->classname = 'ngg-singlepic'. $float;
576
  $picture->thumbcode = $picture->get_thumbcode( 'singlepic' . $imageID);
577
  $picture->height = (int) $height;
@@ -663,8 +664,8 @@ function nggShowRelatedGallery($taglist, $maxImages = 0) {
663
  // get the effect code
664
  $thumbcode = $picture->get_thumbcode( __('Related images for', 'nggallery') . ' ' . get_the_title());
665
 
666
- $out .= '<a href="' . $picture->imageURL . '" title="' . stripslashes($picture->description) . '" ' . $thumbcode . ' >';
667
- $out .= '<img title="' . stripslashes($picture->alttext) . '" alt="' . stripslashes($picture->alttext) . '" src="' . $picture->thumbURL . '" />';
668
  $out .= '</a>' . "\n";
669
  }
670
  $out .= '</div>' . "\n";
@@ -791,4 +792,91 @@ function the_related_images($type = 'tags', $maxNumbers = 7) {
791
  echo nggShowRelatedImages($type, $maxNumbers);
792
  }
793
 
794
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
4
 
5
  /**
6
+ * Return a script for the Imagerotator flash slideshow. Can be used in any tmeplate with <?php echo nggShowSlideshow($galleryID, $width, $height) ?>
7
+ * Require the script swfobject.js in the header or footer
8
  *
9
  * @access public
10
+ * @param integer $galleryID ID of the gallery
11
+ * @param integer $irWidth Width of the flash container
12
+ * @param integer $irHeight Height of the flash container
13
  * @return the content
14
  */
15
  function nggShowSlideshow($galleryID, $width, $height) {
20
 
21
  // remove media file from RSS feed
22
  if ( is_feed() ) {
23
+ $out = '[' . nggGallery::i18n($ngg_options['galTextSlide']) . ']';
24
  return $out;
25
  }
26
 
126
  if ( $show == 'slide' ) {
127
  $args['show'] = "gallery";
128
  $out = '<div class="ngg-galleryoverview">';
129
+ $out .= '<div class="slideshowlink"><a class="slideshowlink" href="' . $nggRewrite->get_permalink($args) . '">'.nggGallery::i18n($ngg_options['galTextGallery']).'</a></div>';
130
  $out .= nggShowSlideshow($galleryID, $ngg_options['irWidth'], $ngg_options['irHeight']);
131
  $out .= '</div>'."\n";
132
  $out .= '<div class="ngg-clear"></div>'."\n";
192
  if (($ngg_options['galShowSlide']) AND (NGGALLERY_IREXIST)) {
193
  $gallery->show_slideshow = true;
194
  $gallery->slideshow_link = $nggRewrite->get_permalink(array ('show' => "slide"));
195
+ $gallery->slideshow_link_text = nggGallery::i18n($ngg_options['galTextSlide']);
196
  }
197
 
198
  if ($ngg_options['usePicLens']) {
238
  $picturelist[$key]->thumbnailURL = $picture->thumbURL;
239
  $picturelist[$key]->size = $thumbsize;
240
  $picturelist[$key]->thumbcode = $thumbcode;
241
+ $picturelist[$key]->caption = ( empty($picture->description) ) ? '&nbsp;' : html_entity_decode ( stripslashes($picture->description) );
242
  $picturelist[$key]->description = ( empty($picture->description) ) ? ' ' : htmlspecialchars ( stripslashes($picture->description) );
243
  $picturelist[$key]->alttext = ( empty($picture->alttext) ) ? ' ' : htmlspecialchars ( stripslashes($picture->alttext) );
 
244
  }
245
 
246
  // look for gallery-$template.php or pure gallery.php
306
  *
307
  * @access internal
308
  * @param array $galleriesID
309
+ * @param string (optional) $template name for a template file, look for album-$template
310
  * @param object (optional) $album result from the db
311
  * @return the content
312
  */
494
  $picture->next_image_link = $nggRewrite->get_permalink(array ('pid' => $next_pid));
495
  $picture->number = $key + 1;
496
  $picture->total = $total;
497
+ $picture->linktitle = htmlspecialchars( stripslashes($picture->description) );
498
+ $picture->alttext = html_entity_decode( stripslashes($picture->alttext) );
499
+ $picture->description = html_entity_decode( stripslashes($picture->description) );
500
 
501
  // let's get the meta data
502
  $meta = new nggMeta($picture->imagePath);
570
 
571
  // add more variables for render output
572
  $picture->href_link = $picture->get_href_link();
573
+ $picture->alttext = html_entity_decode( stripslashes($picture->alttext) );
574
+ $picture->linktitle = htmlspecialchars( stripslashes($picture->description) );
575
+ $picture->description = html_entity_decode( stripslashes($picture->description) );
576
  $picture->classname = 'ngg-singlepic'. $float;
577
  $picture->thumbcode = $picture->get_thumbcode( 'singlepic' . $imageID);
578
  $picture->height = (int) $height;
664
  // get the effect code
665
  $thumbcode = $picture->get_thumbcode( __('Related images for', 'nggallery') . ' ' . get_the_title());
666
 
667
+ $out .= '<a href="' . $picture->imageURL . '" title="' . stripslashes(nggGallery::i18n($picture->description)) . '" ' . $thumbcode . ' >';
668
+ $out .= '<img title="' . stripslashes(nggGallery::i18n($picture->alttext)) . '" alt="' . stripslashes(nggGallery::i18n($picture->alttext)) . '" src="' . $picture->thumbURL . '" />';
669
  $out .= '</a>' . "\n";
670
  }
671
  $out .= '</div>' . "\n";
792
  echo nggShowRelatedImages($type, $maxNumbers);
793
  }
794
 
795
+ /**
796
+ * nggShowRandomRecent($type, $maxImages,$template) - return recent or random images
797
+ *
798
+ * @access public
799
+ * @param string $type 'recent' or 'random'
800
+ * @param integer $maxImages of images
801
+ * @param string $template (optional) name for a template file, look for gallery-$template
802
+ * @return the content
803
+ */
804
+ function nggShowRandomRecent($type, $maxImages, $template = '') {
805
+
806
+ // $_GET from wp_query
807
+ $pid = get_query_var('pid');
808
+ $pageid = get_query_var('pageid');
809
+
810
+ // get now the recent or random images
811
+ if ($type == 'random')
812
+ $picturelist = nggdb::get_random_images($maxImages);
813
+ else
814
+ $picturelist = nggdb::find_last_images(0, $maxImages, true);
815
+
816
+ // look for ImageBrowser if we have a $_GET('pid')
817
+ if ( $pageid == get_the_ID() || !is_home() )
818
+ if (!empty( $pid )) {
819
+ foreach ($picturelist as $picture) {
820
+ $picarray[] = $picture->pid;
821
+ }
822
+ $out = nggCreateImageBrowser($picarray);
823
+ return $out;
824
+ }
825
+
826
+ // go on if not empty
827
+ if ( empty($picturelist) )
828
+ return;
829
+
830
+ // show gallery
831
+ if ( is_array($picturelist) )
832
+ $out = nggCreateGallery($picturelist, false, $template);
833
+
834
+ $out = apply_filters('ngg_show_images_content', $out, $taglist);
835
+
836
+ return $out;
837
+ }
838
+
839
+ /**
840
+ * nggTagCloud() - return a tag cloud based on the wp core tag cloud system
841
+ *
842
+ * @param array $args
843
+ * @param string $template (optional) name for a template file, look for gallery-$template
844
+ * @return the content
845
+ */
846
+ function nggTagCloud($args ='', $template = '') {
847
+ global $nggRewrite;
848
+
849
+ // $_GET from wp_query
850
+ $tag = get_query_var('gallerytag');
851
+ $pageid = get_query_var('pageid');
852
+
853
+ // look for gallerytag variable
854
+ if ( $pageid == get_the_ID() || !is_home() ) {
855
+ if (!empty( $tag )) {
856
+
857
+ $slug = attribute_escape( $tag );
858
+ $out = nggShowGalleryTags( $slug );
859
+ return $out;
860
+ }
861
+ }
862
+
863
+ $defaults = array(
864
+ 'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
865
+ 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
866
+ 'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'ngg_tag'
867
+ );
868
+ $args = wp_parse_args( $args, $defaults );
869
+
870
+ $tags = get_terms( $args['taxonomy'], array_merge( $args, array( 'orderby' => 'count', 'order' => 'DESC' ) ) ); // Always query top tags
871
+
872
+ foreach ($tags as $key => $tag ) {
873
+
874
+ $tags[ $key ]->link = $nggRewrite->get_permalink(array ('gallerytag' => $tag->slug));
875
+ $tags[ $key ]->id = $tag->term_id;
876
+ }
877
+
878
+ $out = '<div class="ngg-tagcloud">' . wp_generate_tag_cloud( $tags, $args ) . '</div>';
879
+
880
+ return $out;
881
+ }
882
+ ?>
readme.txt CHANGED
@@ -1,17 +1,16 @@
1
  === NextGEN Gallery ===
2
  Contributors: Alex Rabe
3
  Donate link: http://alexrabe.boelinger.com/donation/
4
- Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets, photo, picture
5
  Requires at least: 2.7
6
- Tested up to: 2.7
7
  Stable tag: trunk
8
 
9
  NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
10
 
11
  == Description ==
12
 
13
- NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option. Before I start writing the plugin I study all image and gallery plugins for WordPress,
14
- I figure out that some of them are really good and well designed, but I missed a simple and easy administration back end to handle multiple galleries and albums.
15
 
16
  Important Links:
17
 
@@ -21,19 +20,15 @@ Important Links:
21
  * <a href="http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/faq/" title="NextGEN Gallery FAQ">NextGEN Gallery FAQ</a>
22
  * <a href="http://wordpress.org/tags/nextgen-gallery" title="Wordpress Support Forum">Support Forum</a>
23
 
24
- = NEW in VERSION 1.0 for WordPress 2.7 =
25
 
26
- * Templates : You can add custom templates for your theme. See here for some example
27
  * Media RSS feed : Add the Cooliris Effect to your gallery
28
- * More role settings : Each gallery has now a author
29
  * AJAX based thumbnail generator : No more server limitation during the batch process
30
- * New Shortcodes : You can now insert thumbnails for one or more images (that are not necessarly inside the same gallery).
31
- * Copy/Move : Now you can copy or move images between galleries
32
-
33
- Other features:
34
-
35
  * Sortable Albums : Create your own sets of images
36
- * Upload a Zip-File with pictures : Upload pictures in a zip-file (Not in Safe-mode)
37
  * Watermark function : You can add a watermark image or text
38
  * JavaScript Effect : Use any available popular image effect : Shutter, Thickbox, Lightbox or Highslide
39
  * Multiple CSS Stylesheet : Use a nice shadow effect for your thumbnails with your own CSS file
@@ -42,7 +37,7 @@ Other features:
42
  * Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
43
  * Language support : Translated in more than 30 languages
44
  * Upload tab integration : You have access to all pictures via the upload tab
45
- * Tag support for images : Append related images to your post
46
  * Meta data support : Import EXIF, IPTC or XMP meta data
47
  * Sort images feature
48
  * Cool flash addons here : http://wordpress.org/extend/plugins/nextgen-flashviewer/
1
  === NextGEN Gallery ===
2
  Contributors: Alex Rabe
3
  Donate link: http://alexrabe.boelinger.com/donation/
4
+ Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets, photo, picture, image
5
  Requires at least: 2.7
 
6
  Stable tag: trunk
7
 
8
  NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
9
 
10
  == Description ==
11
 
12
+ NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option. Before I start writing the plugin I study all photo and picture plugins for WordPress,
13
+ I figure out that some of them are really good and well designed, but I missed a simple and easy administration back end to handle multiple photos, galleries and albums.
14
 
15
  Important Links:
16
 
20
  * <a href="http://alexrabe.boelinger.com/wordpress-plugins/nextgen-gallery/faq/" title="NextGEN Gallery FAQ">NextGEN Gallery FAQ</a>
21
  * <a href="http://wordpress.org/tags/nextgen-gallery" title="Wordpress Support Forum">Support Forum</a>
22
 
23
+ = NFeatures =
24
 
25
+ * Templates : You can add custom templates for your theme.
26
  * Media RSS feed : Add the Cooliris Effect to your gallery
27
+ * Role settings : Each gallery has a author
28
  * AJAX based thumbnail generator : No more server limitation during the batch process
29
+ * Copy/Move : Copy or move images between galleries
 
 
 
 
30
  * Sortable Albums : Create your own sets of images
31
+ * Upload or pictures via a zip-file (Not in Safe-mode)
32
  * Watermark function : You can add a watermark image or text
33
  * JavaScript Effect : Use any available popular image effect : Shutter, Thickbox, Lightbox or Highslide
34
  * Multiple CSS Stylesheet : Use a nice shadow effect for your thumbnails with your own CSS file
37
  * Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
38
  * Language support : Translated in more than 30 languages
39
  * Upload tab integration : You have access to all pictures via the upload tab
40
+ * Tag support for images : Append related images to your post, create a image tag-cloud
41
  * Meta data support : Import EXIF, IPTC or XMP meta data
42
  * Sort images feature
43
  * Cool flash addons here : http://wordpress.org/extend/plugins/nextgen-flashviewer/
widgets/widgets.php CHANGED
@@ -293,7 +293,7 @@ function ngg_widget_control($widget_args = 1) {
293
  </select>
294
  <select id="ngg_images-show-<?php echo $number; ?>" name="widget_ngg_images[<?php echo $number; ?>][show]" >
295
  <option <?php selected("thumbnail" , $show); ?> value="thumbnail"><?php _e('Thumbnails','nggallery'); ?></option>
296
- <option <?php selected("original" , $show); ?> value="orginal"><?php _e('Original images','nggallery'); ?></option>
297
  </select>
298
  </label>
299
  </p>
@@ -368,7 +368,7 @@ function ngg_widget_control($widget_args = 1) {
368
  $list = "'" . implode("', '", $list ) . "'";
369
 
370
  if ($exclude == 'denied')
371
- $exclude_list = "AND NOT t.gid IN ($list)";
372
 
373
  if ($exclude == 'allow')
374
  $exclude_list = "AND t.gid IN ($list)";
@@ -390,15 +390,19 @@ function ngg_widget_control($widget_args = 1) {
390
  // get the effect code
391
  $thumbcode = $image->get_thumbcode("sidebar_".$number);
392
 
 
 
 
 
393
  //TODO:For mixed portrait/landscape it's better to use only the height setting, if widht is 0 or vice versa
394
- $out = '<a href="'.$image->imageURL.'" title="'.stripslashes($image->description).'" '.$thumbcode.'>';
395
  // Typo fix for the next updates (happend until 1.0.2)
396
  $options[$number]['show'] = ( $options[$number]['show'] == 'orginal' ) ? 'original' : $options[$number]['show'];
397
 
398
  if ( $options[$number]['show'] == 'original' )
399
- $out .= '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$image->pid.'&amp;width='.$options[$number]['width'].'&amp;height='.$options[$number]['height']. '" width="'.$options[$number]['width'].'" height="'.$options[$number]['height'].'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
400
  else
401
- $out .= '<img src="'.$image->thumbURL.'" width="'.$options[$number]['width'].'" height="'.$options[$number]['height'].'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
402
 
403
  echo $out . '</a>'."\n";
404
 
293
  </select>
294
  <select id="ngg_images-show-<?php echo $number; ?>" name="widget_ngg_images[<?php echo $number; ?>][show]" >
295
  <option <?php selected("thumbnail" , $show); ?> value="thumbnail"><?php _e('Thumbnails','nggallery'); ?></option>
296
+ <option <?php selected("original" , $show); ?> value="original"><?php _e('Original images','nggallery'); ?></option>
297
  </select>
298
  </label>
299
  </p>
368
  $list = "'" . implode("', '", $list ) . "'";
369
 
370
  if ($exclude == 'denied')
371
+ $exclude_list = "AND NOT (t.gid IN ($list))";
372
 
373
  if ($exclude == 'allow')
374
  $exclude_list = "AND t.gid IN ($list)";
390
  // get the effect code
391
  $thumbcode = $image->get_thumbcode("sidebar_".$number);
392
 
393
+ // enable i18n support for alttext and description
394
+ $alttext = htmlspecialchars( stripslashes( nggGallery::i18n($image->alttext) ));
395
+ $description = htmlspecialchars( stripslashes( nggGallery::i18n($image->description) ));
396
+
397
  //TODO:For mixed portrait/landscape it's better to use only the height setting, if widht is 0 or vice versa
398
+ $out = '<a href="' . $image->imageURL . '" title="' . $description . '" ' . $thumbcode .'>';
399
  // Typo fix for the next updates (happend until 1.0.2)
400
  $options[$number]['show'] = ( $options[$number]['show'] == 'orginal' ) ? 'original' : $options[$number]['show'];
401
 
402
  if ( $options[$number]['show'] == 'original' )
403
+ $out .= '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$image->pid.'&amp;width='.$options[$number]['width'].'&amp;height='.$options[$number]['height']. '" title="'.$alttext.'" alt="'.$alttext.'" />';
404
  else
405
+ $out .= '<img src="'.$image->thumbURL.'" width="'.$options[$number]['width'].'" height="'.$options[$number]['height'].'" title="'.$alttext.'" alt="'.$alttext.'" />';
406
 
407
  echo $out . '</a>'."\n";
408
 
xml/imagerotator.php CHANGED
@@ -30,16 +30,16 @@ if ($galleryID == 0) {
30
  header("content-type:text/xml;charset=utf-8");
31
 
32
  echo "<playlist version='1' xmlns='http://xspf.org/ns/0/'>\n";
33
- echo " <title>".stripslashes($thepictures[0]->name)."</title>\n";
34
  echo " <trackList>\n";
35
 
36
  if (is_array ($thepictures)){
37
  foreach ($thepictures as $picture) {
38
  echo " <track>\n";
39
  if (!empty($picture->description))
40
- echo " <title>".strip_tags(stripslashes(html_entity_decode($picture->description)))."</title>\n";
41
  else if (!empty($picture->alttext))
42
- echo " <title>".stripslashes($picture->alttext)."</title>\n";
43
  else
44
  echo " <title>".$picture->filename."</title>\n";
45
  echo " <location>".$siteurl."/".$picture->path."/".$picture->filename."</location>\n";
30
  header("content-type:text/xml;charset=utf-8");
31
 
32
  echo "<playlist version='1' xmlns='http://xspf.org/ns/0/'>\n";
33
+ echo " <title>".stripslashes(nggGallery::i18n($thepictures[0]->name))."</title>\n";
34
  echo " <trackList>\n";
35
 
36
  if (is_array ($thepictures)){
37
  foreach ($thepictures as $picture) {
38
  echo " <track>\n";
39
  if (!empty($picture->description))
40
+ echo " <title>".strip_tags(stripslashes(html_entity_decode(nggGallery::i18n($picture->description))))."</title>\n";
41
  else if (!empty($picture->alttext))
42
+ echo " <title>".stripslashes(nggGallery::i18n($picture->alttext))."</title>\n";
43
  else
44
  echo " <title>".$picture->filename."</title>\n";
45
  echo " <location>".$siteurl."/".$picture->path."/".$picture->filename."</location>\n";