Version Description
Download this release
Release Info
Developer | alexrabe |
Plugin | NextGEN Gallery – WordPress Gallery Plugin |
Version | 0.80 |
Comparing to | |
See all releases |
Code changes from version 0.74 to 0.80
- admin/about.php +75 -38
- admin/addgallery.php +151 -476
- admin/admin.php +41 -6
- admin/album.php +62 -25
- admin/{js → css}/jquery.tabs-ie.css +0 -0
- admin/{js → css}/jquery.tabs.css +0 -0
- admin/{js/portlets.css → css/nggadmin.css} +38 -4
- admin/functions.php +918 -0
- admin/js/jquery.js +5 -4
- {js → admin/js}/swfobject.js +0 -0
- admin/js/swfupload.handler.js +147 -0
- admin/js/swfupload.js +1049 -0
- admin/js/swfupload_f9.swf +0 -0
- js/nggadmintab-js.php → admin/js/uploadtab.js.php +270 -265
- admin/manage.php +28 -39
- admin/overview.php +145 -4
- admin/settings.php +149 -102
- admin/setup.php +4 -1
- admin/style.php +4 -1
- admin/upload.php +33 -0
- nggadmintab.php → admin/uploadtab.php +45 -2
- admin/wpmu.php +107 -0
- changelog.txt +40 -0
- css/Black_Minimalism .css +12 -1
- css/hovereffect.css +11 -0
- css/ngg_dkret3.css +2 -0
- css/ngg_k2.css +12 -1
- css/ngg_shadow.css +12 -1
- css/ngg_shadow2.css +13 -3
- css/nggallery.css +18 -1
- lang/nggallery-de_DE.mo +0 -0
- lang/nggallery-de_DE.po +1170 -836
- lang/nggallery.po +971 -776
- lib/nggallery.lib.php +326 -25
- lib/nggmeta.lib.php +205 -147
- lib/pclzip.lib.php +206 -81
- lib/thumbnail.inc.php +27 -12
- nggallery.php +49 -139
- nggfunctions.php +226 -174
- ngginstall.php +52 -9
- nggshow.php +8 -7
- nggwidget.php +336 -445
- readme.txt +4 -3
- {js → tinymce}/editor_plugin.js +0 -0
- js/langs/de_DE.js → tinymce/langs/de_de.js +0 -0
- {js → tinymce}/langs/en.js +0 -0
- {js → tinymce}/langs/en_US.js +0 -0
- {js → tinymce}/nextgen.gif +0 -0
- {js → tinymce}/tinymce.js +0 -0
- tinymce/tinymce.php +85 -0
- nggbutton.php → tinymce/window.php +3 -4
admin/about.php
CHANGED
@@ -9,14 +9,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
9 |
<h2><?php _e('Copyright notes / Credits', 'nggallery') ;?></h2>
|
10 |
<fieldset class="options">
|
11 |
<legend><?php _e("NextGEN DEV Team", 'nggallery'); ?></legend>
|
12 |
-
<p><?php _e('This plugin is
|
13 |
-
<
|
14 |
-
<li><a href="http://alexrabe.boelinger.com" target="_blank">Alex Rabe</a> <?php _e('(Lead developer)', 'nggallery') ;?></li>
|
15 |
-
<li><a href="http://li.deranter.com" target="_blank">Frederic De Ranter</a> <?php _e('(Core AJAX developer)', 'nggallery') ;?></li>
|
16 |
-
<li><a href="http://blog.arctic-media.de" target="_blank">Christian Arnold</a> <?php _e('(Core developer)', 'nggallery') ;?></li>
|
17 |
-
<li><a href="http://mufuschnu.mu.funpic.de" target="_blank">Thomas Matzke</a> <?php _e('(Core developer)', 'nggallery') ;?></li>
|
18 |
-
<li><a href="http://www.kev.hu" target="_blank">KeViN</a> <?php _e('(Sidebar Widget developer)', 'nggallery') ;?></li>
|
19 |
-
</ul>
|
20 |
<legend><?php _e("Contributors / Tribute to", 'nggallery'); ?></legend>
|
21 |
<p><?php _e('If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together.', 'nggallery') ;?>
|
22 |
<?php _e('So, we would like to thank the following people for their pioneer work (without this work it\'s impossible to create such a plugin so fast)', 'nggallery') ;?></p>
|
@@ -60,6 +54,64 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
60 |
<?php
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
function ngg_list_support() {
|
64 |
/* The list of my supporters. Thanks to all of them !*/
|
65 |
|
@@ -82,60 +134,45 @@ function ngg_list_support() {
|
|
82 |
"Mike" => "http://www.mikemuscroft.com/",
|
83 |
"Sabine (Haselina)" => "http://www.haselina.de/",
|
84 |
"Milemann" => "",
|
85 |
-
"Lazy (German Translation)" => "http://www.lazychris.de/",
|
86 |
-
"Lise (French Translation)" => "http://liseweb.fr/",
|
87 |
-
"Anja (Dutch Translation)" => "http://www.werkgroepen.net/wordpress",
|
88 |
-
"Adrian (Indonesian Translation)" => "http://adrian.web.id/",
|
89 |
"Kees de Bruin" => "http://www.kdbruin.net/fotoalbum/",
|
90 |
-
"Gaspard Tseng / SillyCCSmile (Chinese Translation)" => "",
|
91 |
-
"Mika Pennanen (Finnish Translation)" => "http://kapsi.fi/~penni",
|
92 |
-
"Wojciech Owczarek (Polish Translation)" => "http://www.owczi.net",
|
93 |
-
"Dilip Ramirez (Spanish Translation)" => "http://jmtd.110mb.com/blog",
|
94 |
-
"Oleinikov Vedmak Evgeny (Russian Translation)" => "http://ka-2-03.mirea.org/",
|
95 |
"Helene D." => "http://supernatural.hellioness.com/imagegallery/",
|
96 |
-
"Sebastien MALHERBE (Logo design)" => "http://www.7vision.com/",
|
97 |
-
"Claudia (German documentation)" => "http://www.blog-werkstatt.de/",
|
98 |
-
"Robert (German documentation)" => "http://www.curlyrob.de/",
|
99 |
-
"Pierpaolo Mannone (Italian Translation)" => "http://www.interscambiocasa.com/",
|
100 |
-
"Mattias Tengblad (Swedish Translation)" => "http://wp-support.se/",
|
101 |
-
"Müfit Kiper (Swedish Translation)" => "http://www.kiper.se/",
|
102 |
"Ghettomaster" => "http://www.ghettoworld.de/",
|
103 |
"Joe Pharis" => "http://www.southernstylecruisers.com/",
|
104 |
"Charlie (Jump Media)" => "",
|
105 |
-
"Gil Yaker (Documentation)" => "http://bamboosoup.com/",
|
106 |
"Simon Paarlberg" => "http://www.paarlberg.dk/",
|
107 |
-
"Morten Johansen (Danish Translation)" => "http://www.fr3ak.dk/",
|
108 |
"Clive Loseby" => "http://www.access-bydesign.com/",
|
109 |
-
"Vidar Seland (Norwegian Translation)" => "http://www.viidar.net/",
|
110 |
-
"Emre Guler (Turkish Translation)" => "http://www.emreguler.com/",
|
111 |
"Tonny Kluften" => "http://www.tinnitus-behandling.info/",
|
112 |
"Andreas Oeye" => "http://www.andreasoye.com/",
|
113 |
"Laurent Momy" => "",
|
114 |
-
"Emilio Lauretti (Italian Translation)" => "",
|
115 |
-
"Jan Angelovic (Czech Translation)" => "http://www.angelovic.cz/",
|
116 |
"Patrick Hennessey" => "http://www.digitalvagabonding.com/",
|
117 |
"Hans Kiesouw" => "http://www.digitalvagabonding.com/",
|
118 |
-
"Laki (Slovak Translation)" => "http://www.laki.sk/",
|
119 |
"Thomas Bradley" => "http://www.tobeon.co.uk/wordpress/",
|
120 |
"Frederic Deghetto" => "",
|
121 |
"Christopher Weddell" => "",
|
122 |
"Martin Scholz" => "",
|
123 |
"Non Eric" => "http://www.lunatec.de/",
|
124 |
-
"Rowan Crane (WPMU support)" => "http://blog.rowancrane.com/",
|
125 |
"Ronen Hirsch" => "http://www.stillcreation.com/",
|
126 |
-
"Kuba Zwolinski (Polish Translation)" => "http://kubazwolinski.com/",
|
127 |
-
"Rina Jiang (Chinese Translation)" => "http://http://mysticecho.net/",
|
128 |
"Michael Erhart" => "",
|
129 |
"Luc Saint-Elie" => "http://luc.saint-elie.com/",
|
130 |
"Matthew Barker" => "",
|
131 |
-
"Anthony (Chinese Translation)" => "http://www.angryouth.com/",
|
132 |
-
"Milan Va��cek (Czech Translation)" => "http://www.NoWorkTeam.cz/",
|
133 |
-
"Joo Gi-young (Korean Translation)" => "http://lombric.linuxstudy.pe.kr/wp/",
|
134 |
"Emanuel Kluge" => "",
|
135 |
"Alba Bentos Pereira" => "",
|
136 |
-
"Oleg A. Safonov (Russian Translation)" => "http://blog.olart.ru",
|
137 |
"Bill Babcock" => "http://www.bnj.com",
|
138 |
-
"Jesper Haug Karsrud" => "http://www.beyond-sanity.com"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
);
|
140 |
|
141 |
|
9 |
<h2><?php _e('Copyright notes / Credits', 'nggallery') ;?></h2>
|
10 |
<fieldset class="options">
|
11 |
<legend><?php _e("NextGEN DEV Team", 'nggallery'); ?></legend>
|
12 |
+
<p><?php _e('This plugin is primarily developed, maintained, supported, documented by', 'nggallery'); ?> <a href="http://alexrabe.boelinger.com" target="_blank">Alex Rabe</a>. <?php _e('There are many other folks who have made contributions to this project :', 'nggallery') ;?></p>
|
13 |
+
<p><?php ngg_list_contributors(); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
<legend><?php _e("Contributors / Tribute to", 'nggallery'); ?></legend>
|
15 |
<p><?php _e('If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together.', 'nggallery') ;?>
|
16 |
<?php _e('So, we would like to thank the following people for their pioneer work (without this work it\'s impossible to create such a plugin so fast)', 'nggallery') ;?></p>
|
54 |
<?php
|
55 |
}
|
56 |
|
57 |
+
function ngg_list_contributors() {
|
58 |
+
/* The list of my contributors. Thanks to all of them !*/
|
59 |
+
|
60 |
+
$contributors = array(
|
61 |
+
"Frederic De Ranter (AJAX code contributor)" => "http://li.deranter.com/",
|
62 |
+
"Christian Arnold (Code contributor)" => "http://blog.arctic-media.de/",
|
63 |
+
"Thomas Matzke (Album code contributor)" => "http://mufuschnu.mu.funpic.de/",
|
64 |
+
"KeViN (Sidebar Widget developer)" => "http://www.kev.hu/",
|
65 |
+
"Lazy (German Translation)" => "http://www.lazychris.de/",
|
66 |
+
"Lise (French Translation)" => "http://liseweb.fr/",
|
67 |
+
"Anja (Dutch Translation)" => "http://www.werkgroepen.net/wordpress",
|
68 |
+
"Adrian (Indonesian Translation)" => "http://adrian.web.id/",
|
69 |
+
"Gaspard Tseng / SillyCCSmile (Chinese Translation)" => "",
|
70 |
+
"Mika Pennanen (Finnish Translation)" => "http://kapsi.fi/~penni",
|
71 |
+
"Wojciech Owczarek (Polish Translation)" => "http://www.owczi.net",
|
72 |
+
"Dilip Ramirez (Spanish Translation)" => "http://jmtd.110mb.com/blog",
|
73 |
+
"Oleinikov Vedmak Evgeny (Russian Translation)" => "http://ka-2-03.mirea.org/",
|
74 |
+
"Sebastien MALHERBE (Logo design)" => "http://www.7vision.com/",
|
75 |
+
"Claudia (German documentation)" => "http://www.blog-werkstatt.de/",
|
76 |
+
"Robert (German documentation)" => "http://www.curlyrob.de/",
|
77 |
+
"Pierpaolo Mannone (Italian Translation)" => "http://www.interscambiocasa.com/",
|
78 |
+
"Mattias Tengblad (Swedish Translation)" => "http://wp-support.se/",
|
79 |
+
"Müfit Kiper (Swedish Translation)" => "http://www.kiper.se/",
|
80 |
+
"Gil Yaker (Documentation)" => "http://bamboosoup.com/",
|
81 |
+
"Morten Johansen (Danish Translation)" => "http://www.fr3ak.dk/",
|
82 |
+
"Vidar Seland (Norwegian Translation)" => "http://www.viidar.net/",
|
83 |
+
"Emre Güler (Turkish Translation)" => "http://www.emreguler.com/",
|
84 |
+
"Emilio Lauretti (Italian Translation)" => "",
|
85 |
+
"Jan Angelovic (Czech Translation)" => "http://www.angelovic.cz/",
|
86 |
+
"Laki (Slovak Translation)" => "http://www.laki.sk/",
|
87 |
+
"Rowan Crane (WPMU support)" => "http://blog.rowancrane.com/",
|
88 |
+
"Kuba Zwolinski (Polish Translation)" => "http://kubazwolinski.com/",
|
89 |
+
"Rina Jiang (Chinese Translation)" => "http://http://mysticecho.net/",
|
90 |
+
"Anthony (Chinese Translation)" => "http://www.angryouth.com/",
|
91 |
+
"Milan Vasicek (Czech Translation)" => "http://www.NoWorkTeam.cz/",
|
92 |
+
"Joo Gi-young (Korean Translation)" => "http://lombric.linuxstudy.pe.kr/wp/",
|
93 |
+
"Oleg A. Safonov (Russian Translation)" => "http://blog.olart.ru",
|
94 |
+
"AleXander Kirichev (Bulgarian Translation)" => "http://xsakex.art-bg.org/",
|
95 |
+
"Richer Yang (Chinese Translation)" => "http://fantasyworld.idv.tw/"
|
96 |
+
);
|
97 |
+
|
98 |
+
|
99 |
+
ksort($contributors);
|
100 |
+
$i = count($contributors);
|
101 |
+
foreach ($contributors as $name => $url)
|
102 |
+
{
|
103 |
+
if ($url)
|
104 |
+
echo "<a href=\"$url\">$name</a>";
|
105 |
+
else
|
106 |
+
echo $name;
|
107 |
+
$i--;
|
108 |
+
if ($i == 1)
|
109 |
+
echo " & ";
|
110 |
+
elseif ($i)
|
111 |
+
echo ", ";
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
function ngg_list_support() {
|
116 |
/* The list of my supporters. Thanks to all of them !*/
|
117 |
|
134 |
"Mike" => "http://www.mikemuscroft.com/",
|
135 |
"Sabine (Haselina)" => "http://www.haselina.de/",
|
136 |
"Milemann" => "",
|
|
|
|
|
|
|
|
|
137 |
"Kees de Bruin" => "http://www.kdbruin.net/fotoalbum/",
|
|
|
|
|
|
|
|
|
|
|
138 |
"Helene D." => "http://supernatural.hellioness.com/imagegallery/",
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
"Ghettomaster" => "http://www.ghettoworld.de/",
|
140 |
"Joe Pharis" => "http://www.southernstylecruisers.com/",
|
141 |
"Charlie (Jump Media)" => "",
|
|
|
142 |
"Simon Paarlberg" => "http://www.paarlberg.dk/",
|
|
|
143 |
"Clive Loseby" => "http://www.access-bydesign.com/",
|
|
|
|
|
144 |
"Tonny Kluften" => "http://www.tinnitus-behandling.info/",
|
145 |
"Andreas Oeye" => "http://www.andreasoye.com/",
|
146 |
"Laurent Momy" => "",
|
|
|
|
|
147 |
"Patrick Hennessey" => "http://www.digitalvagabonding.com/",
|
148 |
"Hans Kiesouw" => "http://www.digitalvagabonding.com/",
|
|
|
149 |
"Thomas Bradley" => "http://www.tobeon.co.uk/wordpress/",
|
150 |
"Frederic Deghetto" => "",
|
151 |
"Christopher Weddell" => "",
|
152 |
"Martin Scholz" => "",
|
153 |
"Non Eric" => "http://www.lunatec.de/",
|
|
|
154 |
"Ronen Hirsch" => "http://www.stillcreation.com/",
|
|
|
|
|
155 |
"Michael Erhart" => "",
|
156 |
"Luc Saint-Elie" => "http://luc.saint-elie.com/",
|
157 |
"Matthew Barker" => "",
|
|
|
|
|
|
|
158 |
"Emanuel Kluge" => "",
|
159 |
"Alba Bentos Pereira" => "",
|
|
|
160 |
"Bill Babcock" => "http://www.bnj.com",
|
161 |
+
"Jesper Haug Karsrud" => "http://www.beyond-sanity.com",
|
162 |
+
"Marco van de Ven" => "http://www.mvdven.nl",
|
163 |
+
"Peter Krabshuis" => "http://www.dragoneye.nl",
|
164 |
+
"Teresa Lo" => "http://www.invivoanalytics.com",
|
165 |
+
"Jes Carlskov" => "",
|
166 |
+
"John Statler" => "http://www.systemsolver.com",
|
167 |
+
"Joshua Katinger" => "http://www.accessionmedia.com",
|
168 |
+
"iSight Technologies" => "http://www.isighttech.com",
|
169 |
+
"Kay Germer" => "http://highkay.de/",
|
170 |
+
"Ramon Cutanda Lopez" => "",
|
171 |
+
"Luc Dubois" => "http://www.oriste.com/",
|
172 |
+
"Dixie Reid" => "http://www.thereids.co.nz/",
|
173 |
+
"Gareth Bridger" => "",
|
174 |
+
"McGillveray Studios" => "http://www.mcgillveraystudios.ca/",
|
175 |
+
"Paul Rogers" => "http://www.swarfworks.com"
|
176 |
);
|
177 |
|
178 |
|
admin/addgallery.php
CHANGED
@@ -1,31 +1,36 @@
|
|
1 |
<?php
|
2 |
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
3 |
-
|
4 |
-
include_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
|
5 |
-
|
6 |
-
//TODO: Check better upload form like http://digitarald.de/project/fancyupload/
|
7 |
|
|
|
|
|
|
|
8 |
function nggallery_admin_add_gallery() {
|
9 |
|
10 |
global $wpdb;
|
11 |
$ngg_options = get_option('ngg_options');
|
12 |
|
13 |
// same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
|
14 |
-
$filepath = get_option('siteurl'). '/wp-admin/admin.php?page='.$_GET['page'];
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
$defaultpath = $ngg_options['gallerypath'];
|
17 |
-
|
18 |
if ($_POST['addgallery']){
|
19 |
check_admin_referer('ngg_addgallery');
|
20 |
$newgallery = attribute_escape($_POST['galleryname']);
|
21 |
if (!empty($newgallery))
|
22 |
-
|
23 |
}
|
24 |
|
25 |
if ($_POST['zipupload']){
|
26 |
check_admin_referer('ngg_addgallery');
|
27 |
if ($_FILES['zipfile']['error'] == 0)
|
28 |
-
$messagetext =
|
29 |
else
|
30 |
nggallery::show_error(__('Upload failed!','nggallery'));
|
31 |
}
|
@@ -34,34 +39,112 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
34 |
check_admin_referer('ngg_addgallery');
|
35 |
$galleryfolder = $_POST['galleryfolder'];
|
36 |
if ((!empty($galleryfolder)) AND ($defaultpath != $galleryfolder))
|
37 |
-
$messagetext =
|
38 |
}
|
39 |
|
40 |
if ($_POST['uploadimage']){
|
41 |
check_admin_referer('ngg_addgallery');
|
42 |
if ($_FILES['MF__F_0_0']['error'] == 0) {
|
43 |
-
$messagetext =
|
44 |
}
|
45 |
else
|
46 |
nggallery::show_error(__('Upload failed!','nggallery'));
|
47 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
// message windows
|
50 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
51 |
-
|
52 |
?>
|
53 |
|
54 |
-
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/
|
55 |
-
|
|
|
|
|
56 |
<!--[if lte IE 7]>
|
57 |
-
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/
|
58 |
<![endif]-->
|
59 |
-
|
|
|
|
|
|
|
60 |
<script type="text/javascript">
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
jQuery(function(){
|
66 |
jQuery('#imagefiles').MultiFile({
|
67 |
STRING: {
|
@@ -69,31 +152,41 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
69 |
}
|
70 |
});
|
71 |
});
|
72 |
-
|
73 |
</script>
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
<div id="slider" class="wrap">
|
76 |
|
77 |
<ul id="tabs">
|
78 |
<li><a href="#addgallery"><?php _e('Add new gallery', 'nggallery') ;?></a></li>
|
79 |
-
<?php if (
|
80 |
<li><a href="#zipupload"><?php _e('Upload a Zip-File', 'nggallery') ;?></a></li>
|
81 |
-
<?php }
|
|
|
82 |
<li><a href="#importfolder"><?php _e('Import image folder', 'nggallery') ;?></a></li>
|
|
|
83 |
<li><a href="#uploadimage"><?php _e('Upload Images', 'nggallery') ;?></a></li>
|
84 |
</ul>
|
85 |
|
86 |
<!-- create gallery -->
|
87 |
<div id="addgallery">
|
88 |
<h2><?php _e('Add new gallery', 'nggallery') ;?></h2>
|
89 |
-
<form name="addgallery" id="
|
90 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
91 |
<fieldset class="options">
|
92 |
<table class="optiontable">
|
93 |
<tr valign="top">
|
94 |
<th scope="row"><?php _e('New Gallery', 'nggallery') ;?>:</th>
|
95 |
<td><input type="text" size="35" name="galleryname" value="" /><br />
|
|
|
96 |
<?php _e('Create a new , empty gallery below the folder', 'nggallery') ;?> <strong><?php echo $defaultpath ?></strong><br />
|
|
|
97 |
<i>( <?php _e('Allowed characters for file and folder names are', 'nggallery') ;?>: a-z, A-Z, 0-9, -, _ )</i></td>
|
98 |
</tr>
|
99 |
</table>
|
@@ -101,10 +194,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
101 |
</fieldset>
|
102 |
</form>
|
103 |
</div>
|
|
|
104 |
<!-- zip-file operation -->
|
105 |
<div id="zipupload">
|
106 |
<h2><?php _e('Upload a Zip-File', 'nggallery') ;?></h2>
|
107 |
-
<form name="zipupload" id="
|
108 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
109 |
<fieldset class="options">
|
110 |
<table class="optiontable">
|
@@ -126,17 +220,25 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
126 |
}
|
127 |
?>
|
128 |
</select>
|
129 |
-
<br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n";
|
|
|
130 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
131 |
</table>
|
132 |
<div class="submit"> <input type="submit" name= "zipupload" value="<?php _e('Start upload', 'nggallery') ;?>"/></div>
|
133 |
</fieldset>
|
134 |
</form>
|
135 |
</div>
|
|
|
|
|
136 |
<!-- import folder -->
|
137 |
<div id="importfolder">
|
138 |
<h2><?php _e('Import image folder', 'nggallery') ;?></h2>
|
139 |
-
<form name="importfolder" id="
|
140 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
141 |
<fieldset class="options">
|
142 |
<table class="optiontable">
|
@@ -144,27 +246,33 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
144 |
<th scope="row"><?php _e('Import from Server path:', 'nggallery') ;?><br /><code><?php echo WINABSPATH; ?></code></th>
|
145 |
<td><br /><input type="text" size="35" name="galleryfolder" value="<?php echo$defaultpath; ?>" /><br />
|
146 |
<?php _e('Import a folder with images. Please note :', 'nggallery') ;?><br />
|
147 |
-
<?php _e('For
|
|
|
|
|
|
|
|
|
|
|
148 |
</tr>
|
149 |
</table>
|
150 |
<div class="submit"> <input type="submit" name= "importfolder" value="<?php _e('Import folder', 'nggallery') ;?>"/></div>
|
151 |
</fieldset>
|
152 |
</form>
|
153 |
-
</div>
|
|
|
154 |
<!-- upload images -->
|
155 |
<div id="uploadimage">
|
156 |
<h2><?php _e('Upload Images', 'nggallery') ;?></h2>
|
157 |
-
<form name="uploadimage" id="
|
158 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
159 |
<fieldset class="options">
|
160 |
<table class="optiontable">
|
161 |
<tr valign="top">
|
162 |
-
<th scope="row"><?php _e('Upload image', 'nggallery') ;?></th>
|
163 |
-
<td><input type="file" name="imagefiles" id="imagefiles" size="35" class="imagefiles"/></td>
|
164 |
</tr>
|
165 |
<tr valign="top">
|
166 |
<th scope="row"><?php _e('in to', 'nggallery') ;?></th>
|
167 |
-
<td><select name="galleryselect">
|
168 |
<option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option>
|
169 |
<?php
|
170 |
$gallerylist = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC");
|
@@ -175,10 +283,18 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
175 |
}
|
176 |
?>
|
177 |
</select>
|
178 |
-
<br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n";
|
|
|
179 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
180 |
</table>
|
181 |
-
<div class="submit"
|
|
|
|
|
182 |
</fieldset>
|
183 |
</form>
|
184 |
</div>
|
@@ -187,446 +303,5 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
187 |
<?php
|
188 |
}
|
189 |
|
190 |
-
// **************************************************************
|
191 |
-
function ngg_create_gallery($gallerytitle, $defaultpath) {
|
192 |
-
// create a new gallery & folder
|
193 |
-
global $wpdb;
|
194 |
-
|
195 |
-
$myabspath = str_replace("\\","/",ABSPATH); // required for windows
|
196 |
-
|
197 |
-
//cleanup pathname
|
198 |
-
$galleryname = sanitize_title($gallerytitle);
|
199 |
-
$nggpath = $defaultpath.$galleryname;
|
200 |
-
|
201 |
-
if (empty($galleryname)) return '<font color="red">'.__('No valid gallery name!', 'nggallery'). '</font>';
|
202 |
-
|
203 |
-
// check for main folder
|
204 |
-
if ( !file_exists(($myabspath.$defaultpath)) ) {
|
205 |
-
$txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />';
|
206 |
-
$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> ';
|
207 |
-
nggallery::show_error($txt);
|
208 |
-
return;
|
209 |
-
}
|
210 |
-
|
211 |
-
// check for permission settings
|
212 |
-
if ( substr(decoct(@fileperms($myabspath.$defaultpath)),1) != decoct(NGGFOLDER_PERMISSION) ) {
|
213 |
-
$txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t have the permissions ', 'nggallery').decoct(NGGFOLDER_PERMISSION).'!<br />';
|
214 |
-
$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> ';
|
215 |
-
nggallery::show_error($txt);
|
216 |
-
return;
|
217 |
-
}
|
218 |
-
|
219 |
-
// avoid double creation
|
220 |
-
if (is_dir($myabspath.$nggpath)) {
|
221 |
-
nggallery::show_error(__('Directory', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('already exists!', 'nggallery'));
|
222 |
-
return;
|
223 |
-
}
|
224 |
-
|
225 |
-
// create new directories
|
226 |
-
if (!SAFE_MODE) {
|
227 |
-
if (!@mkdir ($myabspath.$nggpath,NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'!</font>');
|
228 |
-
if (!@chmod ($myabspath.$nggpath,NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions ', 'nggallery').$nggpath.'!</font>');
|
229 |
-
if (!@mkdir ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$nggpath.'/thumbs !</font>');
|
230 |
-
if (!@chmod ($myabspath.$nggpath.'/thumbs',NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions', 'nggallery').$nggpath.'/thumbs !</font>');
|
231 |
-
} else {
|
232 |
-
$safemode = '<br /><font color="green">'.__('The server setting Safe-Mode is on !', 'nggallery');
|
233 |
-
$safemode .= '<br />'.__('Please create directory', 'nggallery').' <strong>'.$nggpath.'</strong> ';
|
234 |
-
$safemode .= __('and the thumbnails directory', 'nggallery').' <strong>'.$nggpath.'/thumbs</strong> '.__('with permission 777 manually !', 'nggallery').'</font>';
|
235 |
-
}
|
236 |
-
$result=$wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
|
237 |
-
if ($result) {
|
238 |
-
nggallery::show_error(__('Gallery', 'nggallery').' <strong>'.$galleryname.'</strong> '.__('already exists', 'nggallery'));
|
239 |
-
return;
|
240 |
-
} else {
|
241 |
-
$result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title) VALUES ('$galleryname', '$nggpath', '$gallerytitle') ");
|
242 |
-
if ($result) nggallery::show_message(__('Gallery', 'nggallery').' <strong>'.$wpdb->insert_id." : ".$galleryname.'</strong> '.__('successfully created!','nggallery')."<br />".__('You can show this gallery with the tag','nggallery').'<strong> [gallery='.$wpdb->insert_id.']</strong>'.$safemode);
|
243 |
-
return;
|
244 |
-
}
|
245 |
-
}
|
246 |
-
|
247 |
-
// **************************************************************
|
248 |
-
function ngg_import_gallery($galleryfolder) {
|
249 |
-
// ** $galleryfolder contains relative path
|
250 |
-
|
251 |
-
//TODO: Check permission of existing thumb folder & images
|
252 |
-
|
253 |
-
// import a existing folder
|
254 |
-
global $wpdb;
|
255 |
-
|
256 |
-
// remove trailing slash at the end, if somebody use it
|
257 |
-
if (substr($galleryfolder, -1) == '/') $galleryfolder = substr($galleryfolder, 0, -1);
|
258 |
-
$gallerypath = WINABSPATH.$galleryfolder;
|
259 |
-
|
260 |
-
if (!is_dir($gallerypath)) return '<font color="red">'.__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('doesn`t exist', 'nggallery').'!</font>';
|
261 |
-
|
262 |
-
// read list of images
|
263 |
-
$new_imageslist = ngg_scandir($gallerypath);
|
264 |
-
if (empty($new_imageslist)) return '<font color="blue">'.__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery').'!</font>';
|
265 |
-
|
266 |
-
// create thumbnail folder
|
267 |
-
$check_thumbnail_folder = nggallery::get_thumbnail_folder($gallerypath);
|
268 |
-
if (!$check_thumbnail_folder) {
|
269 |
-
if (SAFE_MODE) return '<font color="red">'.__('Thumbnail Directory', 'nggallery').' <strong>'.$gallerypath.'/thumbs</strong> '.__('doesn`t exist', 'nggallery').'!<br />'.__('Please create the folder <i>thumbs</i> in your gallery folder.', 'nggallery').'</font>';
|
270 |
-
else @mkdir ($gallerypath.'/thumbs',NGGFOLDER_PERMISSION) or die ('<font color="red">'.__('Unable to create directory ', 'nggallery').$gallerypath.'/thumbs !</font>');
|
271 |
-
}
|
272 |
-
|
273 |
-
// take folder name as gallery name
|
274 |
-
$galleryname = basename($galleryfolder);
|
275 |
-
|
276 |
-
// check for existing gallery
|
277 |
-
$gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE name = '$galleryname' ");
|
278 |
-
|
279 |
-
if (!$gallery_id) {
|
280 |
-
$result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path) VALUES ('$galleryname', '$galleryfolder') ");
|
281 |
-
if (!$result) {
|
282 |
-
nggallery::show_error(__('Database error. Could not add gallery!','nggallery'));
|
283 |
-
return;
|
284 |
-
}
|
285 |
-
$gallery_id = $wpdb->insert_id; // get index_id
|
286 |
-
}
|
287 |
-
|
288 |
-
// Look for existing image list
|
289 |
-
$old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' ");
|
290 |
-
// if no images are there, create empty array
|
291 |
-
if ($old_imageslist == NULL) $old_imageslist = array();
|
292 |
-
// check difference
|
293 |
-
$new_images = array_diff($new_imageslist, $old_imageslist);
|
294 |
-
// now create thumbnails
|
295 |
-
ngg_generatethumbnail($gallerypath,$new_images);
|
296 |
-
|
297 |
-
// add images to database
|
298 |
-
$count_pic = 0;
|
299 |
-
if (is_array($new_images)) {
|
300 |
-
foreach($new_images as $picture) {
|
301 |
-
$result = $wpdb->query("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES ('$gallery_id', '$picture', '$picture' , 0) ");
|
302 |
-
if ($result) $count_pic++;
|
303 |
-
}
|
304 |
-
}
|
305 |
-
|
306 |
-
nggallery::show_message(__('Gallery','nggallery').' <strong>'.$galleryname.'</strong> '.__('successfully created!','nggallery').'<br />'.$count_pic.__(' pictures added.','nggallery'));
|
307 |
-
return;
|
308 |
-
|
309 |
-
}
|
310 |
-
// **************************************************************
|
311 |
-
function ngg_scandir($dirname=".") {
|
312 |
-
// thx to php.net :-)
|
313 |
-
$ext = array("jpeg", "jpg", "png", "gif");
|
314 |
-
$files = array();
|
315 |
-
if($handle = opendir($dirname)) {
|
316 |
-
while(false !== ($file = readdir($handle)))
|
317 |
-
for($i=0;$i<sizeof($ext);$i++)
|
318 |
-
if(stristr($file, ".".$ext[$i]))
|
319 |
-
$files[] = utf8_encode($file);
|
320 |
-
closedir($handle);
|
321 |
-
}
|
322 |
-
return($files);
|
323 |
-
}
|
324 |
-
|
325 |
-
// **************************************************************
|
326 |
-
function ngg_resizeImages($gallery_absfolder, $pictures) {
|
327 |
-
// ** $gallery_absfolder must contain abspath !!
|
328 |
-
|
329 |
-
$ngg_options = get_option('ngg_options');
|
330 |
-
|
331 |
-
if (is_array($pictures)) {
|
332 |
-
foreach($pictures as $picture) {
|
333 |
-
|
334 |
-
if (!is_writable($gallery_absfolder."/".$picture)) {
|
335 |
-
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
336 |
-
continue;
|
337 |
-
}
|
338 |
-
|
339 |
-
$thumb = new ngg_Thumbnail($gallery_absfolder."/".$picture, TRUE);
|
340 |
-
// echo $thumb->errmsg;
|
341 |
-
// skip if file is not there
|
342 |
-
if (!$thumb->error) {
|
343 |
-
$thumb->resize($ngg_options[imgWidth],$ngg_options[imgHeight],$ngg_options[imgResampleMode]);
|
344 |
-
$thumb->save($gallery_absfolder."/".$picture,$ngg_options[imgQuality]);
|
345 |
-
}
|
346 |
-
$thumb->destruct();
|
347 |
-
}
|
348 |
-
}
|
349 |
-
|
350 |
-
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
351 |
-
return;
|
352 |
-
}
|
353 |
-
|
354 |
-
// **************************************************************
|
355 |
-
function ngg_generateWatermark($gallery_absfolder, $pictures) {
|
356 |
-
// ** $gallery_absfolder must contain abspath !!
|
357 |
-
|
358 |
-
$ngg_options = get_option('ngg_options');
|
359 |
-
|
360 |
-
if (is_array($pictures)) {
|
361 |
-
foreach($pictures as $picture) {
|
362 |
-
|
363 |
-
if (!is_writable($gallery_absfolder."/".$picture)) {
|
364 |
-
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
365 |
-
continue;
|
366 |
-
}
|
367 |
-
|
368 |
-
$thumb = new ngg_Thumbnail($gallery_absfolder."/".$picture, TRUE);
|
369 |
-
// echo $thumb->errmsg;
|
370 |
-
// skip if file is not there
|
371 |
-
if (!$thumb->error) {
|
372 |
-
if ($ngg_options[wmType] == 'image') {
|
373 |
-
$thumb->watermarkImgPath = $ngg_options[wmPath];
|
374 |
-
$thumb->watermarkImage($ngg_options[wmPos], $ngg_options[wmXpos], $ngg_options[wmYpos]);
|
375 |
-
}
|
376 |
-
if ($ngg_options[wmType] == 'text') {
|
377 |
-
$thumb->watermarkText = $ngg_options[wmText];
|
378 |
-
$thumb->watermarkCreateText($ngg_options[wmColor], $ngg_options[wmFont], $ngg_options[wmSize], $ngg_options[wmOpaque]);
|
379 |
-
$thumb->watermarkImage($ngg_options[wmPos], $ngg_options[wmXpos], $ngg_options[wmYpos]);
|
380 |
-
}
|
381 |
-
$thumb->save($gallery_absfolder."/".$picture,$ngg_options[imgQuality]);
|
382 |
-
}
|
383 |
-
$thumb->destruct();
|
384 |
-
}
|
385 |
-
}
|
386 |
-
|
387 |
-
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
388 |
-
return;
|
389 |
-
}
|
390 |
-
|
391 |
-
// **************************************************************
|
392 |
-
function ngg_generatethumbnail($gallery_absfolder, $pictures) {
|
393 |
-
// ** $gallery_absfolder must contain abspath !!
|
394 |
-
|
395 |
-
$ngg_options = get_option('ngg_options');
|
396 |
-
|
397 |
-
$prefix = nggallery::get_thumbnail_prefix($gallery_absfolder);
|
398 |
-
$thumbfolder = nggallery::get_thumbnail_folder($gallery_absfolder);
|
399 |
-
|
400 |
-
if (is_array($pictures)) {
|
401 |
-
foreach($pictures as $picture) {
|
402 |
-
|
403 |
-
// check for existing thumbnail
|
404 |
-
if (file_exists($gallery_absfolder.$thumbfolder.$prefix.$picture)) {
|
405 |
-
if (!is_writable($gallery_absfolder.$thumbfolder.$prefix.$picture)) {
|
406 |
-
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
407 |
-
continue;
|
408 |
-
}
|
409 |
-
}
|
410 |
-
|
411 |
-
$thumb = new ngg_Thumbnail($gallery_absfolder."/".utf8_decode($picture), TRUE);
|
412 |
-
|
413 |
-
// skip if file is not there
|
414 |
-
if (!$thumb->error) {
|
415 |
-
if ($ngg_options[thumbcrop]) {
|
416 |
-
|
417 |
-
// THX to Kees de Bruin, better thumbnails if portrait format
|
418 |
-
$width = $ngg_options[thumbwidth];
|
419 |
-
$height = $ngg_options[thumbheight];
|
420 |
-
$curwidth = $thumb->currentDimensions['width'];
|
421 |
-
$curheight = $thumb->currentDimensions['height'];
|
422 |
-
if ($curwidth > $curheight) {
|
423 |
-
$aspect = (100 * $curwidth) / $curheight;
|
424 |
-
} else {
|
425 |
-
$aspect = (100 * $curheight) / $curwidth;
|
426 |
-
}
|
427 |
-
$width = intval(($width * $aspect) / 100);
|
428 |
-
$height = intval(($height * $aspect) / 100);
|
429 |
-
$thumb->resize($width,$height,$ngg_options[thumbResampleMode]);
|
430 |
-
$thumb->cropFromCenter($width,$ngg_options[thumbResampleMode]);
|
431 |
-
}
|
432 |
-
elseif ($ngg_options[thumbfix]) {
|
433 |
-
// check for portrait format
|
434 |
-
if ($thumb->currentDimensions['height'] > $thumb->currentDimensions['width']) {
|
435 |
-
$thumb->resize($ngg_options[thumbwidth], 0,$ngg_options[thumbResampleMode]);
|
436 |
-
// get optimal y startpos
|
437 |
-
$ypos = ($thumb->currentDimensions['height'] - $ngg_options[thumbheight]) / 2;
|
438 |
-
$thumb->crop(0, $ypos, $ngg_options[thumbwidth],$ngg_options[thumbheight],$ngg_options[thumbResampleMode]);
|
439 |
-
} else {
|
440 |
-
$thumb->resize(0,$ngg_options[thumbheight],$ngg_options[thumbResampleMode]);
|
441 |
-
// get optimal x startpos
|
442 |
-
$xpos = ($thumb->currentDimensions['width'] - $ngg_options[thumbwidth]) / 2;
|
443 |
-
$thumb->crop($xpos, 0, $ngg_options[thumbwidth],$ngg_options[thumbheight],$ngg_options[thumbResampleMode]);
|
444 |
-
}
|
445 |
-
} else {
|
446 |
-
$thumb->resize($ngg_options[thumbwidth],$ngg_options[thumbheight],$ngg_options[thumbResampleMode]);
|
447 |
-
}
|
448 |
-
$thumb->save($gallery_absfolder.$thumbfolder.$prefix.$picture,$ngg_options[thumbquality]);
|
449 |
-
// didn't work under safe mode, but I want to set it if possible
|
450 |
-
@chmod ($gallery_absfolder.$thumbfolder.$prefix.$picture, NGGFILE_PERMISSION);
|
451 |
-
} else {
|
452 |
-
$errortext .= $picture." <strong>(Error : ".$thumb->errmsg .")</strong><br />";
|
453 |
-
}
|
454 |
-
$thumb->destruct();
|
455 |
-
}
|
456 |
-
}
|
457 |
-
|
458 |
-
if(!empty($errortext)) nggallery::show_error('<strong>'.__('Follow thumbnails could not created.','nggallery').'</strong><br /><ul>'.$errortext.'</ul>');
|
459 |
-
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some thumbnails are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
460 |
-
|
461 |
-
return;
|
462 |
-
}
|
463 |
-
|
464 |
-
// **************************************************************
|
465 |
-
function ngg_unzip($dir, $file) {
|
466 |
-
// thx to Gregor at http://blog.scoutpress.de/forum/topic/45
|
467 |
-
|
468 |
-
require_once(NGGALLERY_ABSPATH.'/lib/pclzip.lib.php');
|
469 |
-
|
470 |
-
$archive = new PclZip($file);
|
471 |
-
|
472 |
-
// extract all files in one folder
|
473 |
-
if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_CB_PRE_EXTRACT, 'ngg_getonlyimages') == 0) {
|
474 |
-
if ($archive->error_code == -22)
|
475 |
-
nggallery::show_error(__('The Zip-file is too large. Exceed Memory limit !','nggallery'));
|
476 |
-
else
|
477 |
-
nggallery::show_error("Error : ".$archive->errorInfo(true));
|
478 |
-
return false;
|
479 |
-
}
|
480 |
-
|
481 |
-
return true;
|
482 |
-
}
|
483 |
-
|
484 |
-
// **************************************************************
|
485 |
-
function ngg_getonlyimages($p_event, &$p_header) {
|
486 |
-
$info = pathinfo($p_header['filename']);
|
487 |
-
// check for extension
|
488 |
-
$ext = array("jpeg", "jpg", "png", "gif");
|
489 |
-
if (in_array( strtolower($info['extension']), $ext)) {
|
490 |
-
// For MAC skip the ".image" files
|
491 |
-
if ($info['basename']{0} == "." )
|
492 |
-
return 0;
|
493 |
-
else
|
494 |
-
return 1;
|
495 |
-
}
|
496 |
-
// ----- all other files are skipped
|
497 |
-
else {
|
498 |
-
return 0;
|
499 |
-
}
|
500 |
-
}
|
501 |
-
|
502 |
-
// **************************************************************
|
503 |
-
function ngg_import_zipfile($defaultpath) {
|
504 |
-
|
505 |
-
$temp_zipfile = $_FILES['zipfile']['tmp_name'];
|
506 |
-
$filename = $_FILES['zipfile']['name'];
|
507 |
-
|
508 |
-
// check if file is a zip file
|
509 |
-
if (!eregi('zip', $_FILES['zipfile']['type']))
|
510 |
-
// on whatever reason MAC shows "application/download"
|
511 |
-
if (!eregi('download', $_FILES['zipfile']['type'])) {
|
512 |
-
@unlink($temp_zipfile); // del temp file
|
513 |
-
nggallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognize : ','nggallery').$_FILES['zipfile']['type']);
|
514 |
-
return;
|
515 |
-
}
|
516 |
-
|
517 |
-
// get foldername if selected
|
518 |
-
$foldername = $_POST['zipgalselect'];
|
519 |
-
if ($foldername == "0") {
|
520 |
-
//cleanup and take the zipfile name as folder name
|
521 |
-
$foldername = sanitize_title(strtok ($filename,'.'));
|
522 |
-
//$foldername = preg_replace ("/(\s+)/", '-', strtolower(strtok ($filename,'.')));
|
523 |
-
}
|
524 |
-
|
525 |
-
// set complete folder path
|
526 |
-
$newfolder = WINABSPATH.$defaultpath.$foldername;
|
527 |
-
|
528 |
-
if (!is_dir($newfolder)) {
|
529 |
-
// create new directories
|
530 |
-
if (!@mkdir ($newfolder, NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$newfolder.'!</font>');
|
531 |
-
if (!@chmod ($newfolder, NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions ', 'nggallery').$newfolder.'!</font>');
|
532 |
-
if (!@mkdir ($newfolder.'/thumbs', NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to create directory ', 'nggallery').$newfolder.'/thumbs !</font>');
|
533 |
-
if (!@chmod ($newfolder.'/thumbs', NGGFOLDER_PERMISSION)) return ('<font color="red">'.__('Unable to set directory permissions ', 'nggallery').$newfolder.'/thumbs !</font>');
|
534 |
-
}
|
535 |
-
|
536 |
-
// unzip and del temp file
|
537 |
-
$result = ngg_unzip($newfolder, $temp_zipfile);
|
538 |
-
@unlink($temp_zipfile) or die ('<div class="updated"><p><strong>'.__('Unable to unlink zip file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
|
539 |
-
|
540 |
-
if ($result) {
|
541 |
-
$messagetext = __('Zip-File successfully unpacked','nggallery').'<br />';
|
542 |
-
|
543 |
-
// parse now the folder and add to database
|
544 |
-
$messagetext .= ngg_import_gallery($defaultpath.$foldername);
|
545 |
-
|
546 |
-
nggallery::show_message($messagetext);
|
547 |
-
}
|
548 |
-
|
549 |
-
return;
|
550 |
-
}
|
551 |
-
|
552 |
-
// **************************************************************
|
553 |
-
function ngg_upload_images($defaultpath) {
|
554 |
-
// upload of pictures
|
555 |
-
|
556 |
-
global $wpdb;
|
557 |
-
|
558 |
-
// Images must be an array
|
559 |
-
$imageslist = array();
|
560 |
-
$i = 1;
|
561 |
-
|
562 |
-
foreach ($_FILES as $key => $value) {
|
563 |
-
|
564 |
-
// look only for uploded files
|
565 |
-
if ($_FILES[$key]['error'] == 0) {
|
566 |
-
$temp_file = $_FILES[$key]['tmp_name'];
|
567 |
-
$filepart = pathinfo ( strtolower($_FILES[$key]['name']) );
|
568 |
-
// required until PHP 5.2.0
|
569 |
-
$filepart['filename'] = substr($filepart["basename"],0 ,strlen($filepart["basename"]) - (strlen($filepart["extension"]) + 1) );
|
570 |
-
$filename = sanitize_title($filepart['filename']).".".$filepart['extension'];
|
571 |
-
// check if this filename already exist
|
572 |
-
if (in_array($filename,$imageslist))
|
573 |
-
$filename = sanitize_title($filepart['filename']) . "_" . $i++ . "." .$filepart['extension'];
|
574 |
-
|
575 |
-
$dest_gallery = $_POST['galleryselect'];
|
576 |
-
if ($dest_gallery == 0) {
|
577 |
-
@unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
|
578 |
-
nggallery::show_error(__('No gallery selected !','nggallery'));
|
579 |
-
return;
|
580 |
-
}
|
581 |
-
|
582 |
-
// get the path to the gallery
|
583 |
-
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$dest_gallery' ");
|
584 |
-
if (!$gallerypath){
|
585 |
-
@unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
|
586 |
-
nggallery::show_error(__('Failure in database, no gallery path set !','nggallery'));
|
587 |
-
return;
|
588 |
-
}
|
589 |
-
|
590 |
-
// check for allowed extension
|
591 |
-
$ext = array("jpeg", "jpg", "png", "gif");
|
592 |
-
if (!in_array($filepart['extension'],$ext)){
|
593 |
-
nggallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is no valid image file!','nggallery'));
|
594 |
-
continue;
|
595 |
-
}
|
596 |
-
|
597 |
-
$dest_file = WINABSPATH.$gallerypath."/".$filename;
|
598 |
-
|
599 |
-
// save temp file to gallery
|
600 |
-
if (!@move_uploaded_file($_FILES[$key]['tmp_name'], $dest_file)){
|
601 |
-
nggallery::show_error(__('Error, the file could not moved to : ','nggallery').$dest_file);
|
602 |
-
continue;
|
603 |
-
}
|
604 |
-
if (!@chmod ($dest_file, NGGFILE_PERMISSION)) {
|
605 |
-
nggallery::show_error(__('Error, the file permissions could not set','nggallery'));
|
606 |
-
continue;
|
607 |
-
}
|
608 |
-
|
609 |
-
// add to imagelist
|
610 |
-
$imageslist[] = $filename;
|
611 |
-
|
612 |
-
}
|
613 |
-
}
|
614 |
-
|
615 |
-
//create thumbnails
|
616 |
-
ngg_generatethumbnail(WINABSPATH.$gallerypath,$imageslist);
|
617 |
-
|
618 |
-
// add images to database
|
619 |
-
$count_pic = 0;
|
620 |
-
if (is_array($imageslist)) {
|
621 |
-
foreach($imageslist as $picture) {
|
622 |
-
$result = $wpdb->query("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES ('$dest_gallery', '$picture', '$picture', 0) ");
|
623 |
-
if ($result) $count_pic++;
|
624 |
-
}
|
625 |
-
}
|
626 |
-
|
627 |
-
nggallery::show_message($count_pic.__(' Image(s) successfully added','nggallery'));
|
628 |
-
return;
|
629 |
-
|
630 |
-
} // end function
|
631 |
|
632 |
?>
|
1 |
<?php
|
2 |
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
|
|
|
|
|
|
|
|
3 |
|
4 |
+
// sometimes a error feedback is better than a white screen
|
5 |
+
ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
6 |
+
|
7 |
function nggallery_admin_add_gallery() {
|
8 |
|
9 |
global $wpdb;
|
10 |
$ngg_options = get_option('ngg_options');
|
11 |
|
12 |
// same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
|
13 |
+
$filepath = get_option('siteurl') . '/wp-admin/admin.php?page='.$_GET['page'];
|
14 |
+
|
15 |
+
// link for the flash file
|
16 |
+
$swf_upload_link = NGGALLERY_URLPATH . 'admin/upload.php';
|
17 |
+
$swf_upload_link = wp_nonce_url($swf_upload_link, 'ngg_swfupload');
|
18 |
+
//flash doesn't seem to like encoded ampersands, so convert them back here
|
19 |
+
$swf_upload_link = str_replace('&', '&', $swf_upload_link);
|
20 |
|
21 |
$defaultpath = $ngg_options['gallerypath'];
|
22 |
+
|
23 |
if ($_POST['addgallery']){
|
24 |
check_admin_referer('ngg_addgallery');
|
25 |
$newgallery = attribute_escape($_POST['galleryname']);
|
26 |
if (!empty($newgallery))
|
27 |
+
nggAdmin::create_gallery($newgallery, $defaultpath);
|
28 |
}
|
29 |
|
30 |
if ($_POST['zipupload']){
|
31 |
check_admin_referer('ngg_addgallery');
|
32 |
if ($_FILES['zipfile']['error'] == 0)
|
33 |
+
$messagetext = nggAdmin::import_zipfile($defaultpath);
|
34 |
else
|
35 |
nggallery::show_error(__('Upload failed!','nggallery'));
|
36 |
}
|
39 |
check_admin_referer('ngg_addgallery');
|
40 |
$galleryfolder = $_POST['galleryfolder'];
|
41 |
if ((!empty($galleryfolder)) AND ($defaultpath != $galleryfolder))
|
42 |
+
$messagetext = nggAdmin::import_gallery($galleryfolder);
|
43 |
}
|
44 |
|
45 |
if ($_POST['uploadimage']){
|
46 |
check_admin_referer('ngg_addgallery');
|
47 |
if ($_FILES['MF__F_0_0']['error'] == 0) {
|
48 |
+
$messagetext = nggAdmin::upload_images();
|
49 |
}
|
50 |
else
|
51 |
nggallery::show_error(__('Upload failed!','nggallery'));
|
52 |
}
|
53 |
+
|
54 |
+
if (isset($_POST['swf_callback'])){
|
55 |
+
if ($_POST['galleryselect'] == "0" )
|
56 |
+
nggallery::show_error(__('No gallery selected !','nggallery'));
|
57 |
+
else {
|
58 |
+
// get the path to the gallery
|
59 |
+
$galleryID = (int) $_POST['galleryselect'];
|
60 |
+
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
|
61 |
+
$messagetext = nggAdmin::import_gallery($gallerypath);
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
//get maximum allowable size from php.ini
|
66 |
+
//thx to Whoismanu PhotoQ / M.Flury
|
67 |
+
$max_upl_size = strtolower( ini_get( 'upload_max_filesize' ) );
|
68 |
+
$max_upl_kbytes = 0;
|
69 |
+
if (strpos($max_upl_size, 'k') !== false)
|
70 |
+
$max_upl_kbytes = $max_upl_size;
|
71 |
+
if (strpos($max_upl_size, 'm') !== false)
|
72 |
+
$max_upl_kbytes = $max_upl_size * 1024;
|
73 |
+
if (strpos($max_upl_size, 'g') !== false)
|
74 |
+
$max_upl_kbytes = $max_upl_size * 1024 * 1024;
|
75 |
|
76 |
// message windows
|
77 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
|
|
78 |
?>
|
79 |
|
80 |
+
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/css/nggadmin.css" type="text/css" media="print, projection, screen"/>
|
81 |
+
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/css/jquery.tabs.css" type="text/css" media="print, projection, screen"/>
|
82 |
+
|
83 |
+
<!-- Additional IE/Win specific style sheet (Conditional Comments) -->
|
84 |
<!--[if lte IE 7]>
|
85 |
+
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/css/jquery.tabs-ie.css" type="text/css" media="projection, screen"/>
|
86 |
<![endif]-->
|
87 |
+
|
88 |
+
<?php if($ngg_options['swfUpload']) { ?>
|
89 |
+
|
90 |
+
<!-- SWFUpload script -->
|
91 |
<script type="text/javascript">
|
92 |
+
var ngg_swf_upload;
|
93 |
+
|
94 |
+
window.onload = function () {
|
95 |
+
ngg_swf_upload = new SWFUpload({
|
96 |
+
// Backend settings
|
97 |
+
upload_url : "<?php echo $swf_upload_link; ?>",
|
98 |
+
flash_url : "<?php echo NGGALLERY_URLPATH; ?>admin/js/swfupload_f9.swf",
|
99 |
+
|
100 |
+
// File Upload Settings
|
101 |
+
file_size_limit : <?php echo $max_upl_kbytes;?>, // 200 kb
|
102 |
+
file_types : "*.jpg;*.gif;*.png",
|
103 |
+
file_types_description : "<?php _e('Image Files', 'nggallery') ;?>",
|
104 |
+
|
105 |
+
// Queue handler
|
106 |
+
file_queued_handler : fileQueued,
|
107 |
+
|
108 |
+
// Upload handler
|
109 |
+
upload_start_handler : uploadStart,
|
110 |
+
upload_progress_handler : uploadProgress,
|
111 |
+
upload_error_handler : uploadError,
|
112 |
+
upload_success_handler : uploadSuccess,
|
113 |
+
upload_complete_handler : uploadComplete,
|
114 |
+
|
115 |
+
post_params : {
|
116 |
+
galleryselect : "0"
|
117 |
+
},
|
118 |
+
|
119 |
+
// i18names
|
120 |
+
custom_settings : {
|
121 |
+
remove : "<?php _e('remove', 'nggallery') ;?>",
|
122 |
+
browse : "<?php _e('Browse...', 'nggallery') ;?>",
|
123 |
+
upload : "<?php _e('Upload images', 'nggallery') ;?>"
|
124 |
+
},
|
125 |
+
|
126 |
+
// Debug settings
|
127 |
+
debug: false
|
128 |
+
|
129 |
+
});
|
130 |
+
|
131 |
+
// on load change the upload to swfupload
|
132 |
+
initSWFUpload();
|
133 |
+
|
134 |
+
};
|
135 |
+
</script>
|
136 |
+
|
137 |
+
<div class="wrap" id="progressbar-wrap">
|
138 |
+
<div class="progressborder">
|
139 |
+
<div class="progressbar" id="progressbar">
|
140 |
+
<span>0%</span>
|
141 |
+
</div>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
|
145 |
+
<?php } else { ?>
|
146 |
+
<!-- MultiFile script -->
|
147 |
+
<script type="text/javascript">
|
148 |
jQuery(function(){
|
149 |
jQuery('#imagefiles').MultiFile({
|
150 |
STRING: {
|
152 |
}
|
153 |
});
|
154 |
});
|
|
|
155 |
</script>
|
156 |
+
<?php } ?>
|
157 |
+
<!-- jQuery Tabs script -->
|
158 |
+
<script type="text/javascript">
|
159 |
+
jQuery(function() {
|
160 |
+
jQuery('#slider').tabs({ fxFade: true, fxSpeed: 'fast' });
|
161 |
+
});
|
162 |
+
</script>
|
163 |
+
|
164 |
<div id="slider" class="wrap">
|
165 |
|
166 |
<ul id="tabs">
|
167 |
<li><a href="#addgallery"><?php _e('Add new gallery', 'nggallery') ;?></a></li>
|
168 |
+
<?php if ( wpmu_enable_function('wpmuZipUpload') ) { ?>
|
169 |
<li><a href="#zipupload"><?php _e('Upload a Zip-File', 'nggallery') ;?></a></li>
|
170 |
+
<?php }
|
171 |
+
if (!IS_WPMU) {?>
|
172 |
<li><a href="#importfolder"><?php _e('Import image folder', 'nggallery') ;?></a></li>
|
173 |
+
<?php } ?>
|
174 |
<li><a href="#uploadimage"><?php _e('Upload Images', 'nggallery') ;?></a></li>
|
175 |
</ul>
|
176 |
|
177 |
<!-- create gallery -->
|
178 |
<div id="addgallery">
|
179 |
<h2><?php _e('Add new gallery', 'nggallery') ;?></h2>
|
180 |
+
<form name="addgallery" id="addgallery_form" method="POST" action="<?php echo $filepath; ?>" accept-charset="utf-8" >
|
181 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
182 |
<fieldset class="options">
|
183 |
<table class="optiontable">
|
184 |
<tr valign="top">
|
185 |
<th scope="row"><?php _e('New Gallery', 'nggallery') ;?>:</th>
|
186 |
<td><input type="text" size="35" name="galleryname" value="" /><br />
|
187 |
+
<?php if(!IS_WPMU) { ?>
|
188 |
<?php _e('Create a new , empty gallery below the folder', 'nggallery') ;?> <strong><?php echo $defaultpath ?></strong><br />
|
189 |
+
<?php } ?>
|
190 |
<i>( <?php _e('Allowed characters for file and folder names are', 'nggallery') ;?>: a-z, A-Z, 0-9, -, _ )</i></td>
|
191 |
</tr>
|
192 |
</table>
|
194 |
</fieldset>
|
195 |
</form>
|
196 |
</div>
|
197 |
+
<?php if ( wpmu_enable_function('wpmuZipUpload')) { ?>
|
198 |
<!-- zip-file operation -->
|
199 |
<div id="zipupload">
|
200 |
<h2><?php _e('Upload a Zip-File', 'nggallery') ;?></h2>
|
201 |
+
<form name="zipupload" id="zipupload_form" method="POST" enctype="multipart/form-data" action="<?php echo $filepath.'#zipupload'; ?>" accept-charset="utf-8" >
|
202 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
203 |
<fieldset class="options">
|
204 |
<table class="optiontable">
|
220 |
}
|
221 |
?>
|
222 |
</select>
|
223 |
+
<br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n"; ?>
|
224 |
+
<br /><?php if ( (IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck') ) display_space_usage(); ?></td>
|
225 |
</tr>
|
226 |
+
<tr>
|
227 |
+
<th><?php _e('Add Metadata :', 'nggallery') ;?></th>
|
228 |
+
<td><input type="checkbox" name="addmetadata" value="1" />
|
229 |
+
<?php _e('Import EXIF, IPTC or XMP data (if available)', 'nggallery') ;?></td>
|
230 |
+
</tr>
|
231 |
</table>
|
232 |
<div class="submit"> <input type="submit" name= "zipupload" value="<?php _e('Start upload', 'nggallery') ;?>"/></div>
|
233 |
</fieldset>
|
234 |
</form>
|
235 |
</div>
|
236 |
+
<?php }
|
237 |
+
if (!IS_WPMU) {?>
|
238 |
<!-- import folder -->
|
239 |
<div id="importfolder">
|
240 |
<h2><?php _e('Import image folder', 'nggallery') ;?></h2>
|
241 |
+
<form name="importfolder" id="importfolder_form" method="POST" action="<?php echo $filepath.'#importfolder'; ?>" accept-charset="utf-8" >
|
242 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
243 |
<fieldset class="options">
|
244 |
<table class="optiontable">
|
246 |
<th scope="row"><?php _e('Import from Server path:', 'nggallery') ;?><br /><code><?php echo WINABSPATH; ?></code></th>
|
247 |
<td><br /><input type="text" size="35" name="galleryfolder" value="<?php echo$defaultpath; ?>" /><br />
|
248 |
<?php _e('Import a folder with images. Please note :', 'nggallery') ;?><br />
|
249 |
+
<?php _e('For safe-mode = ON you need to add the subfolder thumbs manually', 'nggallery') ;?></td>
|
250 |
+
</tr>
|
251 |
+
<tr>
|
252 |
+
<th><?php _e('Add Metadata :', 'nggallery') ;?></th>
|
253 |
+
<td><input type="checkbox" name="addmetadata" value="1" />
|
254 |
+
<?php _e('Import EXIF, IPTC or XMP data (if available)', 'nggallery') ;?></td>
|
255 |
</tr>
|
256 |
</table>
|
257 |
<div class="submit"> <input type="submit" name= "importfolder" value="<?php _e('Import folder', 'nggallery') ;?>"/></div>
|
258 |
</fieldset>
|
259 |
</form>
|
260 |
+
</div>
|
261 |
+
<?php } ?>
|
262 |
<!-- upload images -->
|
263 |
<div id="uploadimage">
|
264 |
<h2><?php _e('Upload Images', 'nggallery') ;?></h2>
|
265 |
+
<form name="uploadimage" id="uploadimage_form" method="POST" enctype="multipart/form-data" action="<?php echo $filepath.'#uploadimage'; ?>" accept-charset="utf-8" >
|
266 |
<?php wp_nonce_field('ngg_addgallery') ?>
|
267 |
<fieldset class="options">
|
268 |
<table class="optiontable">
|
269 |
<tr valign="top">
|
270 |
+
<th scope="row"><?php _e('Upload image', 'nggallery') ;?></th>
|
271 |
+
<td><input type="file" name="imagefiles" id="imagefiles" size="35" class="imagefiles"/></td>
|
272 |
</tr>
|
273 |
<tr valign="top">
|
274 |
<th scope="row"><?php _e('in to', 'nggallery') ;?></th>
|
275 |
+
<td><select name="galleryselect" id="galleryselect">
|
276 |
<option value="0" ><?php _e('Choose gallery', 'nggallery') ?></option>
|
277 |
<?php
|
278 |
$gallerylist = $wpdb->get_results("SELECT * FROM $wpdb->nggallery ORDER BY gid ASC");
|
283 |
}
|
284 |
?>
|
285 |
</select>
|
286 |
+
<br /><?php echo _e('Note : The upload limit on your server is ','nggallery') . "<strong>" . ini_get('upload_max_filesize') . "Byte</strong>\n"; ?>
|
287 |
+
<br /><?php if ((IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck')) display_space_usage(); ?></td>
|
288 |
</tr>
|
289 |
+
<tr>
|
290 |
+
<th><?php _e('Add Metadata :', 'nggallery') ;?></th>
|
291 |
+
<td><input type="checkbox" name="addmetadata" value="1" />
|
292 |
+
<?php _e('Import EXIF, IPTC or XMP data (if available)', 'nggallery') ;?></td>
|
293 |
+
</tr>
|
294 |
</table>
|
295 |
+
<div class="submit">
|
296 |
+
<input type="submit" name="uploadimage" id="uploadimage_btn" value="<?php _e('Upload images', 'nggallery') ;?>" />
|
297 |
+
</div>
|
298 |
</fieldset>
|
299 |
</form>
|
300 |
</div>
|
303 |
<?php
|
304 |
}
|
305 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
?>
|
admin/admin.php
CHANGED
@@ -11,12 +11,17 @@ function ngg_nocache() {
|
|
11 |
echo "\n".'<meta http-equiv="pragma" content="no-cache" />'."\n";
|
12 |
}
|
13 |
|
|
|
|
|
14 |
// load script files depend on page
|
15 |
add_action('init', 'ngg_add_admin_js',1);
|
16 |
function ngg_add_admin_js() {
|
|
|
|
|
17 |
if ($wp_version < "2.3") {
|
18 |
-
|
19 |
-
|
|
|
20 |
}
|
21 |
switch ($_GET['page']) {
|
22 |
case "nggallery-manage-gallery" :
|
@@ -32,6 +37,8 @@ function ngg_add_admin_js() {
|
|
32 |
case "nggallery-add-gallery" :
|
33 |
wp_enqueue_script('tabs', NGGALLERY_URLPATH .'admin/js/jquery.tabs.pack.js', array('jquery'), '2.7.4');
|
34 |
wp_enqueue_script('mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1');
|
|
|
|
|
35 |
break;
|
36 |
}
|
37 |
// required for upload tab
|
@@ -49,12 +56,17 @@ add_action('admin_menu', 'add_nextgen_gallery_menu');
|
|
49 |
add_submenu_page( NGGFOLDER , __('Manage Gallery', 'nggallery'), __('Manage Gallery', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', 'show_menu');
|
50 |
add_submenu_page( NGGFOLDER , __('Album', 'nggallery'), __('Album', 'nggallery'), 'NextGEN Edit album', 'nggallery-manage-album', 'show_menu');
|
51 |
add_submenu_page( NGGFOLDER , __('Options', 'nggallery'), __('Options', 'nggallery'), 'NextGEN Change options', 'nggallery-options', 'show_menu');
|
52 |
-
|
|
|
53 |
add_submenu_page( NGGFOLDER , __('Setup Gallery', 'nggallery'), __('Setup', 'nggallery'), 'activate_plugins', 'nggallery-setup', 'show_menu');
|
54 |
-
|
|
|
55 |
if (check_for_myGallery())
|
56 |
add_submenu_page( NGGFOLDER , __('Import', 'nggallery'), __('Import', 'nggallery'), 'activate_plugins', 'nggallery-import', 'show_menu');
|
57 |
add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'NextGEN Gallery overview', 'nggallery-about', 'show_menu');
|
|
|
|
|
|
|
58 |
}
|
59 |
|
60 |
/************************************************************************/
|
@@ -65,11 +77,12 @@ add_action('admin_menu', 'add_nextgen_gallery_menu');
|
|
65 |
function show_menu() {
|
66 |
switch ($_GET["page"]){
|
67 |
case "nggallery-add-gallery" :
|
|
|
68 |
include_once (dirname (__FILE__). '/addgallery.php'); // nggallery_admin_add_gallery
|
69 |
nggallery_admin_add_gallery();
|
70 |
break;
|
71 |
case "nggallery-manage-gallery" :
|
72 |
-
include_once (dirname (__FILE__). '/
|
73 |
include_once (dirname (__FILE__). '/manage.php'); // nggallery_admin_manage_gallery
|
74 |
nggallery_admin_manage_gallery();
|
75 |
break;
|
@@ -101,6 +114,11 @@ add_action('admin_menu', 'add_nextgen_gallery_menu');
|
|
101 |
include_once (dirname (__FILE__). '/about.php'); // nggallery_admin_about
|
102 |
nggallery_admin_about();
|
103 |
break;
|
|
|
|
|
|
|
|
|
|
|
104 |
case "nggallery" :
|
105 |
default :
|
106 |
include_once (dirname (__FILE__). '/overview.php'); // nggallery_admin_overview
|
@@ -136,5 +154,22 @@ add_action('admin_menu', 'add_nextgen_gallery_menu');
|
|
136 |
return true;
|
137 |
|
138 |
}
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
?>
|
11 |
echo "\n".'<meta http-equiv="pragma" content="no-cache" />'."\n";
|
12 |
}
|
13 |
|
14 |
+
include_once (dirname (__FILE__)."/uploadtab.php");
|
15 |
+
|
16 |
// load script files depend on page
|
17 |
add_action('init', 'ngg_add_admin_js',1);
|
18 |
function ngg_add_admin_js() {
|
19 |
+
global $wp_version;
|
20 |
+
|
21 |
if ($wp_version < "2.3") {
|
22 |
+
wp_deregister_script('jquery');
|
23 |
+
//TODO:jQuery 1.2.1 causes problems in IE7
|
24 |
+
wp_register_script('jquery', NGGALLERY_URLPATH .'admin/js/jquery.js', FALSE, '1.1.4');
|
25 |
}
|
26 |
switch ($_GET['page']) {
|
27 |
case "nggallery-manage-gallery" :
|
37 |
case "nggallery-add-gallery" :
|
38 |
wp_enqueue_script('tabs', NGGALLERY_URLPATH .'admin/js/jquery.tabs.pack.js', array('jquery'), '2.7.4');
|
39 |
wp_enqueue_script('mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1');
|
40 |
+
wp_enqueue_script('swfupload', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.0.1');
|
41 |
+
wp_enqueue_script('swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload'), '1.0.0');
|
42 |
break;
|
43 |
}
|
44 |
// required for upload tab
|
56 |
add_submenu_page( NGGFOLDER , __('Manage Gallery', 'nggallery'), __('Manage Gallery', 'nggallery'), 'NextGEN Manage gallery', 'nggallery-manage-gallery', 'show_menu');
|
57 |
add_submenu_page( NGGFOLDER , __('Album', 'nggallery'), __('Album', 'nggallery'), 'NextGEN Edit album', 'nggallery-manage-album', 'show_menu');
|
58 |
add_submenu_page( NGGFOLDER , __('Options', 'nggallery'), __('Options', 'nggallery'), 'NextGEN Change options', 'nggallery-options', 'show_menu');
|
59 |
+
if (wpmu_enable_function('wpmuStyle'))
|
60 |
+
add_submenu_page( NGGFOLDER , __('Style', 'nggallery'), __('Style', 'nggallery'), 'NextGEN Change style', 'nggallery-style', 'show_menu');
|
61 |
add_submenu_page( NGGFOLDER , __('Setup Gallery', 'nggallery'), __('Setup', 'nggallery'), 'activate_plugins', 'nggallery-setup', 'show_menu');
|
62 |
+
if (wpmu_enable_function('wpmuRoles'))
|
63 |
+
add_submenu_page( NGGFOLDER , __('Roles', 'nggallery'), __('Roles', 'nggallery'), 'activate_plugins', 'nggallery-roles', 'show_menu');
|
64 |
if (check_for_myGallery())
|
65 |
add_submenu_page( NGGFOLDER , __('Import', 'nggallery'), __('Import', 'nggallery'), 'activate_plugins', 'nggallery-import', 'show_menu');
|
66 |
add_submenu_page( NGGFOLDER , __('About this Gallery', 'nggallery'), __('About', 'nggallery'), 'NextGEN Gallery overview', 'nggallery-about', 'show_menu');
|
67 |
+
if (wpmu_site_admin())
|
68 |
+
add_submenu_page( 'wpmu-admin.php' , __('NextGEN Gallery', 'nggallery'), __('NextGEN Gallery', 'nggallery'), 'activate_plugins', 'nggallery-wpmu', 'show_menu');
|
69 |
+
|
70 |
}
|
71 |
|
72 |
/************************************************************************/
|
77 |
function show_menu() {
|
78 |
switch ($_GET["page"]){
|
79 |
case "nggallery-add-gallery" :
|
80 |
+
include_once (dirname (__FILE__). '/functions.php'); // admin functions
|
81 |
include_once (dirname (__FILE__). '/addgallery.php'); // nggallery_admin_add_gallery
|
82 |
nggallery_admin_add_gallery();
|
83 |
break;
|
84 |
case "nggallery-manage-gallery" :
|
85 |
+
include_once (dirname (__FILE__). '/functions.php'); // admin functions
|
86 |
include_once (dirname (__FILE__). '/manage.php'); // nggallery_admin_manage_gallery
|
87 |
nggallery_admin_manage_gallery();
|
88 |
break;
|
114 |
include_once (dirname (__FILE__). '/about.php'); // nggallery_admin_about
|
115 |
nggallery_admin_about();
|
116 |
break;
|
117 |
+
case "nggallery-wpmu" :
|
118 |
+
include_once (dirname (__FILE__). '/style.php');
|
119 |
+
include_once (dirname (__FILE__). '/wpmu.php'); // nggallery_wpmu_admin
|
120 |
+
nggallery_wpmu_setup();
|
121 |
+
break;
|
122 |
case "nggallery" :
|
123 |
default :
|
124 |
include_once (dirname (__FILE__). '/overview.php'); // nggallery_admin_overview
|
154 |
return true;
|
155 |
|
156 |
}
|
157 |
+
/**************************************************************************/
|
158 |
+
function wpmu_site_admin() {
|
159 |
+
// Check for site admin
|
160 |
+
if (function_exists(is_site_admin))
|
161 |
+
if (is_site_admin())
|
162 |
+
return true;
|
163 |
+
|
164 |
+
return false;
|
165 |
+
}
|
166 |
+
|
167 |
+
function wpmu_enable_function($value) {
|
168 |
+
if (IS_WPMU) {
|
169 |
+
$ngg_options = get_site_option('ngg_options');
|
170 |
+
return $ngg_options[$value];
|
171 |
+
}
|
172 |
+
// if this is not WPMU, enable it !
|
173 |
+
return true;
|
174 |
+
}
|
175 |
?>
|
admin/album.php
CHANGED
@@ -48,17 +48,14 @@ function nggallery_admin_manage_album() {
|
|
48 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
49 |
?>
|
50 |
<style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>css/nggallery.css";</style>
|
51 |
-
<style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>admin/
|
52 |
<script type="text/javascript">
|
53 |
|
54 |
|
55 |
jQuery(document).ready(
|
56 |
function()
|
57 |
{
|
58 |
-
|
59 |
-
var hei = jQuery('.wrap').height();
|
60 |
-
jQuery('.wrap').height(hei);
|
61 |
-
|
62 |
jQuery('div.groupWrapper').Sortable(
|
63 |
{
|
64 |
accept: 'groupItem',
|
@@ -66,10 +63,18 @@ jQuery(document).ready(
|
|
66 |
opacity: 0.7,
|
67 |
tolerance: 'intersect'
|
68 |
}
|
69 |
-
)
|
70 |
-
jQuery('a.min').bind('click', toggleContent);
|
71 |
-
jQuery('.textarea1').Autoexpand([230,400]);
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
// Maximize All Portlets (whole site, no differentiation)
|
74 |
jQuery('a#all_max').click(function()
|
75 |
{
|
@@ -90,7 +95,8 @@ jQuery(document).ready(
|
|
90 |
{
|
91 |
jQuery('a.min').html('[+]');
|
92 |
jQuery('div.itemContent:visible').hide();
|
93 |
-
|
|
|
94 |
}
|
95 |
);
|
96 |
|
@@ -113,8 +119,8 @@ function ngg_serialize(s)
|
|
113 |
jQuery('input[@name=sortorder]').val(serial.hash);
|
114 |
}
|
115 |
</script>
|
116 |
-
<div class="wrap" id="wrap" >
|
117 |
-
<
|
118 |
<form id="selectalbum" method="POST" onsubmit="ngg_serialize('galleryContainer')" accept-charset="utf-8">
|
119 |
<?php wp_nonce_field('ngg_album') ?>
|
120 |
<input name="sortorder" type="hidden" />
|
@@ -150,7 +156,8 @@ function ngg_serialize(s)
|
|
150 |
</form>
|
151 |
<p>
|
152 |
<div style="float:right;">
|
153 |
-
<a href="#" id="
|
|
|
154 |
| <a href="#" id="all_min"><?php _e('[Minimize]', 'nggallery') ?></a>
|
155 |
</div>
|
156 |
<?php _e('After you create and select a album, you can drag and drop a gallery into your album below','nggallery'); ?>
|
@@ -164,23 +171,29 @@ function ngg_serialize(s)
|
|
164 |
<?php
|
165 |
$gallerylist = $wpdb->get_results("SELECT gid FROM $wpdb->nggallery");
|
166 |
|
|
|
|
|
|
|
167 |
if(is_array($gallerylist)) {
|
168 |
if ( ($_POST['act_album'] == 0) or (!isset($_POST['act_album'])) ) {
|
169 |
foreach($gallerylist as $gallery) {
|
170 |
-
|
|
|
|
|
|
|
171 |
}
|
172 |
} else {
|
173 |
$act_album = $_POST['act_album'];
|
174 |
$sortorder = $wpdb->get_var("SELECT sortorder FROM $wpdb->nggalbum WHERE id = '$act_album'");
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
}
|
185 |
}
|
186 |
}
|
@@ -198,7 +211,7 @@ function ngg_serialize(s)
|
|
198 |
$sort_array = unserialize($album->sortorder);
|
199 |
if (is_array($sort_array)) {
|
200 |
foreach($sort_array as $galleryid) {
|
201 |
-
getgallerycontainer($galleryid);
|
202 |
}
|
203 |
}
|
204 |
}
|
@@ -215,7 +228,7 @@ function ngg_serialize(s)
|
|
215 |
|
216 |
<?php
|
217 |
}
|
218 |
-
function getgallerycontainer($galleryid = 0) {
|
219 |
global $wpdb;
|
220 |
|
221 |
$gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryid'");
|
@@ -231,7 +244,9 @@ function getgallerycontainer($galleryid = 0) {
|
|
231 |
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$gallery->previewpic'");
|
232 |
if ($filename) $img = '<img src="'.$act_thumbnail_url.$act_thumb_prefix.$filename.'" />';
|
233 |
else $img = '';
|
234 |
-
|
|
|
|
|
235 |
<div class="innerhandle">
|
236 |
<div class="item_top">
|
237 |
<a href="#" class="min" title="close">[-]</a>
|
@@ -248,4 +263,26 @@ function getgallerycontainer($galleryid = 0) {
|
|
248 |
</div>';
|
249 |
}
|
250 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
?>
|
48 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
49 |
?>
|
50 |
<style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>css/nggallery.css";</style>
|
51 |
+
<style type="text/css" media="all">@import "<?php echo NGGALLERY_URLPATH ?>admin/css/nggadmin.css";</style>
|
52 |
<script type="text/javascript">
|
53 |
|
54 |
|
55 |
jQuery(document).ready(
|
56 |
function()
|
57 |
{
|
58 |
+
|
|
|
|
|
|
|
59 |
jQuery('div.groupWrapper').Sortable(
|
60 |
{
|
61 |
accept: 'groupItem',
|
63 |
opacity: 0.7,
|
64 |
tolerance: 'intersect'
|
65 |
}
|
66 |
+
);
|
|
|
|
|
67 |
|
68 |
+
jQuery('a.min').bind('click', toggleContent);
|
69 |
+
|
70 |
+
// Hide used galleries
|
71 |
+
jQuery('a#toggle_used').click(function()
|
72 |
+
{
|
73 |
+
jQuery('#selectContainer div.inUse').toggle();
|
74 |
+
return false;
|
75 |
+
}
|
76 |
+
);
|
77 |
+
|
78 |
// Maximize All Portlets (whole site, no differentiation)
|
79 |
jQuery('a#all_max').click(function()
|
80 |
{
|
95 |
{
|
96 |
jQuery('a.min').html('[+]');
|
97 |
jQuery('div.itemContent:visible').hide();
|
98 |
+
jQuery('#selectContainer div.inUse').toggle();
|
99 |
+
};
|
100 |
}
|
101 |
);
|
102 |
|
119 |
jQuery('input[@name=sortorder]').val(serial.hash);
|
120 |
}
|
121 |
</script>
|
122 |
+
<div class="wrap album" id="wrap" >
|
123 |
+
<h2><?php _e('Manage Albums', 'nggallery') ?></h2>
|
124 |
<form id="selectalbum" method="POST" onsubmit="ngg_serialize('galleryContainer')" accept-charset="utf-8">
|
125 |
<?php wp_nonce_field('ngg_album') ?>
|
126 |
<input name="sortorder" type="hidden" />
|
156 |
</form>
|
157 |
<p>
|
158 |
<div style="float:right;">
|
159 |
+
<a href="#" id="toggle_used"><?php _e('[Show all]', 'nggallery') ?></a>
|
160 |
+
| <a href="#" id="all_max"><?php _e('[Maximize]', 'nggallery') ?></a>
|
161 |
| <a href="#" id="all_min"><?php _e('[Minimize]', 'nggallery') ?></a>
|
162 |
</div>
|
163 |
<?php _e('After you create and select a album, you can drag and drop a gallery into your album below','nggallery'); ?>
|
171 |
<?php
|
172 |
$gallerylist = $wpdb->get_results("SELECT gid FROM $wpdb->nggallery");
|
173 |
|
174 |
+
//TODO:Code MUST be optimized, how to flag a used galley better ?
|
175 |
+
$used_list = getallusedgalleries();
|
176 |
+
|
177 |
if(is_array($gallerylist)) {
|
178 |
if ( ($_POST['act_album'] == 0) or (!isset($_POST['act_album'])) ) {
|
179 |
foreach($gallerylist as $gallery) {
|
180 |
+
if (in_array($gallery->gid,$used_list))
|
181 |
+
getgallerycontainer($gallery->gid,true);
|
182 |
+
else
|
183 |
+
getgallerycontainer($gallery->gid,false);
|
184 |
}
|
185 |
} else {
|
186 |
$act_album = $_POST['act_album'];
|
187 |
$sortorder = $wpdb->get_var("SELECT sortorder FROM $wpdb->nggalbum WHERE id = '$act_album'");
|
188 |
+
$sort_array = unserialize($sortorder);
|
189 |
+
// if something went wrong, initialize to empty array
|
190 |
+
if (!is_array($sort_array)) $sort_array = array();
|
191 |
+
foreach($gallerylist as $gallery) {
|
192 |
+
if (!in_array($gallery->gid, $sort_array)) {
|
193 |
+
if (in_array($gallery->gid,$used_list))
|
194 |
+
getgallerycontainer($gallery->gid,true);
|
195 |
+
else
|
196 |
+
getgallerycontainer($gallery->gid,false);
|
197 |
}
|
198 |
}
|
199 |
}
|
211 |
$sort_array = unserialize($album->sortorder);
|
212 |
if (is_array($sort_array)) {
|
213 |
foreach($sort_array as $galleryid) {
|
214 |
+
getgallerycontainer($galleryid,false);
|
215 |
}
|
216 |
}
|
217 |
}
|
228 |
|
229 |
<?php
|
230 |
}
|
231 |
+
function getgallerycontainer($galleryid = 0, $used = false) {
|
232 |
global $wpdb;
|
233 |
|
234 |
$gallery = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryid'");
|
244 |
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$gallery->previewpic'");
|
245 |
if ($filename) $img = '<img src="'.$act_thumbnail_url.$act_thumb_prefix.$filename.'" />';
|
246 |
else $img = '';
|
247 |
+
// add class if it's in use in other albums
|
248 |
+
$used = $used ? " inUse" : "";
|
249 |
+
echo '<div id="gid-'.$gallery->gid.'" class="groupItem'. $used .'">
|
250 |
<div class="innerhandle">
|
251 |
<div class="item_top">
|
252 |
<a href="#" class="min" title="close">[-]</a>
|
263 |
</div>';
|
264 |
}
|
265 |
}
|
266 |
+
|
267 |
+
//get all used galleries form all albums
|
268 |
+
function getallusedgalleries() {
|
269 |
+
global $wpdb;
|
270 |
+
|
271 |
+
$albumids = $wpdb->get_col("SELECT id FROM $wpdb->nggalbum");
|
272 |
+
$used = array();
|
273 |
+
|
274 |
+
if ($albumids) {
|
275 |
+
foreach($albumids as $albumid) {
|
276 |
+
$sortorder = $wpdb->get_var("SELECT sortorder FROM $wpdb->nggalbum WHERE id = '$albumid'");
|
277 |
+
if (!empty($sortorder)) {
|
278 |
+
$sort_array = unserialize($sortorder);
|
279 |
+
foreach($sort_array as $galleryid) {
|
280 |
+
if (!in_array($galleryid,$used))
|
281 |
+
$used[] = $galleryid;
|
282 |
+
}
|
283 |
+
}
|
284 |
+
}
|
285 |
+
}
|
286 |
+
return $used;
|
287 |
+
}
|
288 |
?>
|
admin/{js → css}/jquery.tabs-ie.css
RENAMED
File without changes
|
admin/{js → css}/jquery.tabs.css
RENAMED
File without changes
|
admin/{js/portlets.css → css/nggadmin.css}
RENAMED
@@ -1,6 +1,35 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
}
|
5 |
|
6 |
.groupItem
|
@@ -60,6 +89,11 @@ html
|
|
60 |
padding:0pt 3px 1px;
|
61 |
}
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
.sort_placeholder
|
64 |
{
|
65 |
border:1px dashed #bba !important;
|
@@ -86,4 +120,4 @@ html
|
|
86 |
color:#333333;
|
87 |
text-align:center;
|
88 |
line-height:25px;
|
89 |
-
}
|
1 |
+
/* SETTINGS FOR PROGRESS BAR */
|
2 |
+
|
3 |
+
div .progressborder {
|
4 |
+
border: 1px inset ;
|
5 |
+
display: block;
|
6 |
+
height: 20px;
|
7 |
+
background-color: rgb(160, 160, 160);
|
8 |
+
width: 100%;
|
9 |
+
margin-top:5px;
|
10 |
+
}
|
11 |
+
|
12 |
+
div .progressbar {
|
13 |
+
border: medium none ;
|
14 |
+
display: block;
|
15 |
+
height: 20px;
|
16 |
+
background-color: rgb(13, 50, 79);
|
17 |
+
width: 0%;
|
18 |
+
}
|
19 |
+
|
20 |
+
div .progressbar span {
|
21 |
+
display: inline;
|
22 |
+
position: relative;
|
23 |
+
color: white;
|
24 |
+
font-weight: bold;
|
25 |
+
padding-bottom: 2px;
|
26 |
+
padding-left: 5px;
|
27 |
+
}
|
28 |
+
|
29 |
+
/* SETTINGS FOR ALBUM PAGE */
|
30 |
+
|
31 |
+
.album {
|
32 |
+
overflow: hidden;
|
33 |
}
|
34 |
|
35 |
.groupItem
|
89 |
padding:0pt 3px 1px;
|
90 |
}
|
91 |
|
92 |
+
.inlinepicture img
|
93 |
+
{
|
94 |
+
max-height:75px;
|
95 |
+
}
|
96 |
+
|
97 |
.sort_placeholder
|
98 |
{
|
99 |
border:1px dashed #bba !important;
|
120 |
color:#333333;
|
121 |
text-align:center;
|
122 |
line-height:25px;
|
123 |
+
}
|
admin/functions.php
ADDED
@@ -0,0 +1,918 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
4 |
+
|
5 |
+
class nggAdmin{
|
6 |
+
|
7 |
+
// **************************************************************
|
8 |
+
function create_gallery($gallerytitle, $defaultpath) {
|
9 |
+
// create a new gallery & folder
|
10 |
+
global $wpdb;
|
11 |
+
|
12 |
+
$myabspath = str_replace("\\","/",ABSPATH); // required for windows
|
13 |
+
|
14 |
+
//cleanup pathname
|
15 |
+
$galleryname = apply_filters('ngg_gallery_name', $gallerytitle);
|
16 |
+
$nggpath = $defaultpath.$galleryname;
|
17 |
+
$nggRoot = $myabspath.$defaultpath;
|
18 |
+
$txt = "";
|
19 |
+
|
20 |
+
// No gallery name ?
|
21 |
+
if (empty($galleryname)) {
|
22 |
+
nggallery::show_error( __('No valid gallery name!', 'nggallery') );
|
23 |
+
return false;
|
24 |
+
}
|
25 |
+
|
26 |
+
// check for main folder
|
27 |
+
if ( !is_dir($nggRoot) ) {
|
28 |
+
if ( !wp_mkdir_p($nggRoot) ) {
|
29 |
+
$txt = __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('didn\'t exist. Please create first the main gallery folder ', 'nggallery').'!<br />';
|
30 |
+
$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> ';
|
31 |
+
nggallery::show_error($txt);
|
32 |
+
return false;
|
33 |
+
}
|
34 |
+
}
|
35 |
+
|
36 |
+
// check for permission settings, Safe mode limitations are not taken into account.
|
37 |
+
// if ( substr(decoct(@fileperms($myabspath.$defaultpath)),1) != decoct(NGGFOLDER_PERMISSION) ) {
|
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 |
+
nggallery::show_error($txt);
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
|
45 |
+
// avoid double creation
|
46 |
+
if ( is_dir($myabspath.$nggpath) ) {
|
47 |
+
nggallery::show_error(__('Directory ', 'nggallery').' <strong>'.$nggpath.'</strong> '.__('already exists!', 'nggallery'));
|
48 |
+
} else {
|
49 |
+
// create new directories
|
50 |
+
if ( !wp_mkdir_p ($myabspath.$nggpath) )
|
51 |
+
$txt = __('Unable to create directory ', 'nggallery').$nggpath.'!<br />';
|
52 |
+
if ( !is_writeable($nggRoot ) )
|
53 |
+
$txt .= __('Directory', 'nggallery').' <strong>'.$defaultpath.'</strong> '.__('is not writeable !', 'nggallery').'<br />';
|
54 |
+
if ( !wp_mkdir_p ( $myabspath.$nggpath.'/thumbs') )
|
55 |
+
$txt .= __('Unable to create directory ', 'nggallery').$nggpath.'/thumbs !<br />';
|
56 |
+
|
57 |
+
if (SAFE_MODE) {
|
58 |
+
$help = __('The server setting Safe-Mode is on !', 'nggallery');
|
59 |
+
$help .= '<br />'.__('If you have problems, please create directory', 'nggallery').' <strong>'.$nggpath.'</strong> ';
|
60 |
+
$help .= __('and the thumbnails directory', 'nggallery').' <strong>'.$nggpath.'/thumbs</strong> '.__('with permission 777 manually !', 'nggallery');
|
61 |
+
nggallery::show_message($help);
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( !empty($txt) ) {
|
65 |
+
nggallery::show_error($txt);
|
66 |
+
return false;
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
$result=$wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE name = '$galleryname' ");
|
71 |
+
if ($result) {
|
72 |
+
nggallery::show_error(__('Gallery', 'nggallery').' <strong>'.$galleryname.'</strong> '.__('already exists', 'nggallery'));
|
73 |
+
return false;
|
74 |
+
} else {
|
75 |
+
$result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path, title) VALUES ('$galleryname', '$nggpath', '$gallerytitle') ");
|
76 |
+
if ($result) nggallery::show_message(__('Gallery', 'nggallery').' <strong>'.$wpdb->insert_id." : ".$galleryname.'</strong> '.__('successfully created!','nggallery')."<br />".__('You can show this gallery with the tag','nggallery').'<strong> [gallery='.$wpdb->insert_id.']</strong>'.$safemode);
|
77 |
+
return true;;
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
+
// **************************************************************
|
82 |
+
function import_gallery($galleryfolder) {
|
83 |
+
// ** $galleryfolder contains relative path
|
84 |
+
|
85 |
+
//TODO: Check permission of existing thumb folder & images
|
86 |
+
|
87 |
+
global $wpdb;
|
88 |
+
|
89 |
+
$created_msg = "";
|
90 |
+
|
91 |
+
// remove trailing slash at the end, if somebody use it
|
92 |
+
if (substr($galleryfolder, -1) == '/') $galleryfolder = substr($galleryfolder, 0, -1);
|
93 |
+
$gallerypath = WINABSPATH.$galleryfolder;
|
94 |
+
|
95 |
+
if (!is_dir($gallerypath)) {
|
96 |
+
nggallery::show_error(__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('doesn`t exist!', 'nggallery'));
|
97 |
+
return ;
|
98 |
+
}
|
99 |
+
|
100 |
+
// read list of images
|
101 |
+
$new_imageslist = nggAdmin::scandir($gallerypath);
|
102 |
+
if (empty($new_imageslist)) {
|
103 |
+
nggallery::show_message(__('Directory', 'nggallery').' <strong>'.$gallerypath.'</strong> '.__('contains no pictures', 'nggallery'));
|
104 |
+
return;
|
105 |
+
}
|
106 |
+
|
107 |
+
// check & create thumbnail folder
|
108 |
+
if ( !nggallery::get_thumbnail_folder($gallerypath) )
|
109 |
+
return;
|
110 |
+
|
111 |
+
// take folder name as gallery name
|
112 |
+
$galleryname = basename($galleryfolder);
|
113 |
+
|
114 |
+
// check for existing galleryfolder
|
115 |
+
$gallery_id = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE path = '$galleryfolder' ");
|
116 |
+
|
117 |
+
if (!$gallery_id) {
|
118 |
+
$result = $wpdb->query("INSERT INTO $wpdb->nggallery (name, path) VALUES ('$galleryname', '$galleryfolder') ");
|
119 |
+
if (!$result) {
|
120 |
+
nggallery::show_error(__('Database error. Could not add gallery!','nggallery'));
|
121 |
+
return;
|
122 |
+
}
|
123 |
+
$created_msg =__('Gallery','nggallery').' <strong>'.$galleryname.'</strong> '.__('successfully created!','nggallery').'<br />';
|
124 |
+
$gallery_id = $wpdb->insert_id; // get index_id
|
125 |
+
}
|
126 |
+
|
127 |
+
// Look for existing image list
|
128 |
+
$old_imageslist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$gallery_id' ");
|
129 |
+
// if no images are there, create empty array
|
130 |
+
if ($old_imageslist == NULL) $old_imageslist = array();
|
131 |
+
// check difference
|
132 |
+
$new_images = array_diff($new_imageslist, $old_imageslist);
|
133 |
+
// now create thumbnails
|
134 |
+
nggAdmin::generateThumbnail($gallerypath,$new_images);
|
135 |
+
|
136 |
+
// add images to database
|
137 |
+
$count_pic = nggAdmin::add_Images($gallery_id, $gallerypath, $new_images);
|
138 |
+
|
139 |
+
nggallery::show_message($created_msg.$count_pic.__(' picture(s) successfully added','nggallery'));
|
140 |
+
return;
|
141 |
+
|
142 |
+
}
|
143 |
+
// **************************************************************
|
144 |
+
function scandir($dirname = ".") {
|
145 |
+
// thx to php.net :-)
|
146 |
+
$ext = array("jpeg", "jpg", "png", "gif");
|
147 |
+
$files = array();
|
148 |
+
if($handle = opendir($dirname)) {
|
149 |
+
while(false !== ($file = readdir($handle)))
|
150 |
+
for($i=0;$i<sizeof($ext);$i++)
|
151 |
+
if(stristr($file, ".".$ext[$i]))
|
152 |
+
$files[] = utf8_encode($file);
|
153 |
+
closedir($handle);
|
154 |
+
}
|
155 |
+
return($files);
|
156 |
+
}
|
157 |
+
|
158 |
+
// **************************************************************
|
159 |
+
function resizeImages($gallery_absfolder, $pictures) {
|
160 |
+
// ** $gallery_absfolder must contain abspath !!
|
161 |
+
|
162 |
+
if(! class_exists('ngg_Thumbnail'))
|
163 |
+
require_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
|
164 |
+
|
165 |
+
$ngg_options = get_option('ngg_options');
|
166 |
+
|
167 |
+
if (is_array($pictures)) {
|
168 |
+
|
169 |
+
$bar = new wpProgressBar(__('Running... Please wait','nggallery'));
|
170 |
+
$bar->setHeader(__('Resize images','nggallery'));
|
171 |
+
//total number of elements to process
|
172 |
+
$elements = count($pictures);
|
173 |
+
// wait a little bit after finished
|
174 |
+
if ($elements > 5) $bar->setSleepOnFinish(2);
|
175 |
+
//print the empty bar
|
176 |
+
$bar->initialize($elements);
|
177 |
+
|
178 |
+
foreach($pictures as $picture) {
|
179 |
+
|
180 |
+
if (!is_writable($gallery_absfolder."/".$picture)) {
|
181 |
+
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
182 |
+
$bar->increase();
|
183 |
+
continue;
|
184 |
+
}
|
185 |
+
|
186 |
+
$thumb = new ngg_Thumbnail($gallery_absfolder."/".$picture, TRUE);
|
187 |
+
// echo $thumb->errmsg;
|
188 |
+
// skip if file is not there
|
189 |
+
if (!$thumb->error) {
|
190 |
+
$thumb->resize($ngg_options['imgWidth'],$ngg_options['imgHeight'],$ngg_options['imgResampleMode']);
|
191 |
+
if ( $thumb->save($gallery_absfolder."/".$picture,$ngg_options['imgQuality']) )
|
192 |
+
$bar->addNote($picture. __(' : Image resized...','nggallery'));
|
193 |
+
else
|
194 |
+
$bar->addNote($picture . " : Error : <strong>".$thumb->errmsg."</strong>");
|
195 |
+
$bar->increase();
|
196 |
+
}
|
197 |
+
$thumb->destruct();
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
202 |
+
return;
|
203 |
+
}
|
204 |
+
|
205 |
+
// **************************************************************
|
206 |
+
function generateWatermark($gallery_absfolder, $pictures) {
|
207 |
+
// ** $gallery_absfolder must contain abspath !!
|
208 |
+
|
209 |
+
if(! class_exists('ngg_Thumbnail'))
|
210 |
+
require_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
|
211 |
+
|
212 |
+
$ngg_options = get_option('ngg_options');
|
213 |
+
|
214 |
+
if (is_array($pictures)) {
|
215 |
+
|
216 |
+
$bar = new wpProgressBar(__('Running... Please wait','nggallery'));
|
217 |
+
$bar->setHeader(__('Set watermark','nggallery'));
|
218 |
+
//total number of elements to process
|
219 |
+
$elements = count($pictures);
|
220 |
+
// wait a little bit after finished
|
221 |
+
if ($elements > 5) $bar->setSleepOnFinish(2);
|
222 |
+
//print the empty bar
|
223 |
+
$bar->initialize($elements);
|
224 |
+
|
225 |
+
foreach($pictures as $picture) {
|
226 |
+
|
227 |
+
if (!is_writable($gallery_absfolder."/".$picture)) {
|
228 |
+
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
229 |
+
$bar->increase();
|
230 |
+
continue;
|
231 |
+
}
|
232 |
+
|
233 |
+
$thumb = new ngg_Thumbnail($gallery_absfolder."/".$picture, TRUE);
|
234 |
+
// echo $thumb->errmsg;
|
235 |
+
// skip if file is not there
|
236 |
+
if (!$thumb->error) {
|
237 |
+
if ($ngg_options['wmType'] == 'image') {
|
238 |
+
$thumb->watermarkImgPath = $ngg_options['wmPath'];
|
239 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
240 |
+
}
|
241 |
+
if ($ngg_options['wmType'] == 'text') {
|
242 |
+
$thumb->watermarkText = $ngg_options['wmText'];
|
243 |
+
$thumb->watermarkCreateText($ngg_options['wmColor'], $ngg_options['wmFont'], $ngg_options['wmSize'], $ngg_options['wmOpaque']);
|
244 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
245 |
+
}
|
246 |
+
if ( $thumb->save($gallery_absfolder."/".$picture,$ngg_options['imgQuality']) )
|
247 |
+
$bar->addNote($picture. __(' : Watermark created...','nggallery'));
|
248 |
+
else
|
249 |
+
$bar->addNote($picture . " : Error : <strong>".$thumb->errmsg."</strong>");
|
250 |
+
$bar->increase();
|
251 |
+
}
|
252 |
+
$thumb->destruct();
|
253 |
+
}
|
254 |
+
}
|
255 |
+
|
256 |
+
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some pictures are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
257 |
+
return;
|
258 |
+
}
|
259 |
+
|
260 |
+
// **************************************************************
|
261 |
+
function generateThumbnail($gallery_absfolder, $pictures) {
|
262 |
+
// ** $gallery_absfolder must contain abspath !!
|
263 |
+
|
264 |
+
if(! class_exists('ngg_Thumbnail'))
|
265 |
+
require_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
|
266 |
+
|
267 |
+
$ngg_options = get_option('ngg_options');
|
268 |
+
|
269 |
+
$thumbfolder = nggallery::get_thumbnail_folder($gallery_absfolder);
|
270 |
+
$prefix = nggallery::get_thumbnail_prefix($gallery_absfolder);
|
271 |
+
|
272 |
+
if (!$thumbfolder)
|
273 |
+
return;
|
274 |
+
|
275 |
+
if (is_array($pictures)) {
|
276 |
+
|
277 |
+
$bar = new wpProgressBar(__('Running... Please wait','nggallery'));
|
278 |
+
$bar->setHeader(__('Create new thumbnails','nggallery'));
|
279 |
+
//total number of elements to process
|
280 |
+
$elements = count($pictures);
|
281 |
+
// wait a little bit after finished
|
282 |
+
if ($elements > 10) $bar->setSleepOnFinish(2);
|
283 |
+
//print the empty bar
|
284 |
+
$bar->initialize($elements);
|
285 |
+
|
286 |
+
foreach($pictures as $picture) {
|
287 |
+
// check for existing thumbnail
|
288 |
+
if (file_exists($gallery_absfolder.$thumbfolder.$prefix.$picture)) {
|
289 |
+
if (!is_writable($gallery_absfolder.$thumbfolder.$prefix.$picture)) {
|
290 |
+
$messagetext .= $gallery_absfolder."/".$picture."<br />";
|
291 |
+
$bar->increase();
|
292 |
+
continue;
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
+
$thumb = new ngg_Thumbnail($gallery_absfolder."/".utf8_decode($picture), TRUE);
|
297 |
+
|
298 |
+
// skip if file is not there
|
299 |
+
if (!$thumb->error) {
|
300 |
+
if ($ngg_options['thumbcrop']) {
|
301 |
+
|
302 |
+
// THX to Kees de Bruin, better thumbnails if portrait format
|
303 |
+
$width = $ngg_options['thumbwidth'];
|
304 |
+
$height = $ngg_options['thumbheight'];
|
305 |
+
$curwidth = $thumb->currentDimensions['width'];
|
306 |
+
$curheight = $thumb->currentDimensions['height'];
|
307 |
+
if ($curwidth > $curheight) {
|
308 |
+
$aspect = (100 * $curwidth) / $curheight;
|
309 |
+
} else {
|
310 |
+
$aspect = (100 * $curheight) / $curwidth;
|
311 |
+
}
|
312 |
+
$width = intval(($width * $aspect) / 100);
|
313 |
+
$height = intval(($height * $aspect) / 100);
|
314 |
+
$thumb->resize($width,$height,$ngg_options['thumbResampleMode']);
|
315 |
+
$thumb->cropFromCenter($width,$ngg_options['thumbResampleMode']);
|
316 |
+
}
|
317 |
+
elseif ($ngg_options['thumbfix']) {
|
318 |
+
// check for portrait format
|
319 |
+
if ($thumb->currentDimensions['height'] > $thumb->currentDimensions['width']) {
|
320 |
+
$thumb->resize($ngg_options['thumbwidth'], 0,$ngg_options['thumbResampleMode']);
|
321 |
+
// get optimal y startpos
|
322 |
+
$ypos = ($thumb->currentDimensions['height'] - $ngg_options['thumbheight']) / 2;
|
323 |
+
$thumb->crop(0, $ypos, $ngg_options['thumbwidth'],$ngg_options['thumbheight'],$ngg_options['thumbResampleMode']);
|
324 |
+
} else {
|
325 |
+
$thumb->resize(0,$ngg_options['thumbheight'],$ngg_options['thumbResampleMode']);
|
326 |
+
// get optimal x startpos
|
327 |
+
$xpos = ($thumb->currentDimensions['width'] - $ngg_options['thumbwidth']) / 2;
|
328 |
+
$thumb->crop($xpos, 0, $ngg_options['thumbwidth'],$ngg_options['thumbheight'],$ngg_options['thumbResampleMode']);
|
329 |
+
}
|
330 |
+
} else {
|
331 |
+
$thumb->resize($ngg_options['thumbwidth'],$ngg_options['thumbheight'],$ngg_options['thumbResampleMode']);
|
332 |
+
}
|
333 |
+
if ( !$thumb->save($gallery_absfolder.$thumbfolder.$prefix.$picture,$ngg_options['thumbquality'])) {
|
334 |
+
$errortext .= $picture . " <strong>(Error : ".$thumb->errmsg .")</strong><br />";
|
335 |
+
$bar->addNote($picture . " : Error : <strong>".$thumb->errmsg)."</strong>";
|
336 |
+
}
|
337 |
+
nggAdmin::chmod ($gallery_absfolder.$thumbfolder.$prefix.$picture);
|
338 |
+
} else {
|
339 |
+
$errortext .= $picture . " <strong>(Error : ".$thumb->errmsg .")</strong><br />";
|
340 |
+
$bar->addNote($picture . " : Error : <strong>".$thumb->errmsg."</strong>");
|
341 |
+
}
|
342 |
+
$thumb->destruct();
|
343 |
+
$bar->addNote($picture. __(' : Thumbnail created...','nggallery'));
|
344 |
+
$bar->increase();
|
345 |
+
}
|
346 |
+
}
|
347 |
+
|
348 |
+
if(!empty($errortext)) nggallery::show_error('<strong>'.__('Follow thumbnails could not created.','nggallery').'</strong><br /><ul>'.$errortext.'</ul>');
|
349 |
+
if(!empty($messagetext)) nggallery::show_error('<strong>'.__('Some thumbnails are not writeable :','nggallery').'</strong><br /><ul>'.$messagetext.'</ul>');
|
350 |
+
|
351 |
+
return;
|
352 |
+
}
|
353 |
+
|
354 |
+
// **************************************************************
|
355 |
+
function add_Images($galleryID, $gallerypath, $imageslist) {
|
356 |
+
// add images to database
|
357 |
+
global $wpdb;
|
358 |
+
|
359 |
+
$count_pic = 0;
|
360 |
+
if (is_array($imageslist)) {
|
361 |
+
foreach($imageslist as $picture) {
|
362 |
+
|
363 |
+
$result = $wpdb->query("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES ('$galleryID', '$picture', '$picture', 0) ");
|
364 |
+
$pic_id = (int) $wpdb->insert_id;
|
365 |
+
if ($result) $count_pic++;
|
366 |
+
|
367 |
+
// add the metadata
|
368 |
+
if ($_POST['addmetadata'])
|
369 |
+
nggAdmin::import_MetaData($pic_id);
|
370 |
+
|
371 |
+
}
|
372 |
+
} // is_array
|
373 |
+
|
374 |
+
return $count_pic;
|
375 |
+
|
376 |
+
}
|
377 |
+
|
378 |
+
// **************************************************************
|
379 |
+
function import_MetaData($imagesIds) {
|
380 |
+
// add images to database
|
381 |
+
global $wpdb;
|
382 |
+
|
383 |
+
if (!is_array($imagesIds))
|
384 |
+
$imagesIds = array($imagesIds);
|
385 |
+
|
386 |
+
foreach($imagesIds as $pic_id) {
|
387 |
+
|
388 |
+
$picture = new nggImage($pic_id );
|
389 |
+
if (!$picture->error) {
|
390 |
+
|
391 |
+
$meta = nggAdmin::get_MetaData($picture->absPath);
|
392 |
+
|
393 |
+
// get the title
|
394 |
+
if (!$alttext = $meta['title'])
|
395 |
+
$alttext = $picture->alttext;
|
396 |
+
// get the caption / description field
|
397 |
+
if (!$description = $meta['caption'])
|
398 |
+
$description = $picture->description;
|
399 |
+
// update database
|
400 |
+
$result=$wpdb->query( "UPDATE $wpdb->nggpictures SET alttext = '$alttext', description = '$description' WHERE pid = $pic_id");
|
401 |
+
// add the tags
|
402 |
+
if ($meta['keywords']) {
|
403 |
+
$taglist = explode(",", $meta['keywords']);
|
404 |
+
$taglist = array_map('trim', $taglist);
|
405 |
+
// load tag list
|
406 |
+
$nggTags = new ngg_Tags();
|
407 |
+
foreach($taglist as $tag) {
|
408 |
+
// get the tag id
|
409 |
+
$tagid = $nggTags->add_tag($tag);
|
410 |
+
if ( $tagid )
|
411 |
+
$nggTags->add_relationship($pic_id, $tagid);
|
412 |
+
}
|
413 |
+
} // add tags
|
414 |
+
}// error check
|
415 |
+
} // foreach
|
416 |
+
|
417 |
+
return true;
|
418 |
+
|
419 |
+
}
|
420 |
+
|
421 |
+
// **************************************************************
|
422 |
+
function get_MetaData($picPath) {
|
423 |
+
// must be Gallery absPath + filename
|
424 |
+
|
425 |
+
require_once(NGGALLERY_ABSPATH.'/lib/nggmeta.lib.php');
|
426 |
+
|
427 |
+
$meta = array();
|
428 |
+
|
429 |
+
$pdata = new nggMeta($picPath);
|
430 |
+
$meta['title'] = $pdata->get_META('title');
|
431 |
+
$meta['caption'] = $pdata->get_META('caption');
|
432 |
+
$meta['keywords'] = $pdata->get_META('keywords');
|
433 |
+
|
434 |
+
return $meta;
|
435 |
+
|
436 |
+
}
|
437 |
+
|
438 |
+
// **************************************************************
|
439 |
+
function unzip($dir, $file) {
|
440 |
+
// thx to Gregor at http://blog.scoutpress.de/forum/topic/45
|
441 |
+
|
442 |
+
if(! class_exists('PclZip'))
|
443 |
+
require_once(NGGALLERY_ABSPATH.'/lib/pclzip.lib.php');
|
444 |
+
|
445 |
+
$archive = new PclZip($file);
|
446 |
+
|
447 |
+
// extract all files in one folder
|
448 |
+
if ($archive->extract(PCLZIP_OPT_PATH, $dir, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_CB_PRE_EXTRACT, 'ngg_getOnlyImages') == 0) {
|
449 |
+
if ($archive->error_code == -22)
|
450 |
+
nggallery::show_error(__('The Zip-file is too large. Exceed Memory limit !','nggallery'));
|
451 |
+
else
|
452 |
+
nggallery::show_error("Error : ".$archive->errorInfo(true));
|
453 |
+
return false;
|
454 |
+
}
|
455 |
+
|
456 |
+
return true;
|
457 |
+
}
|
458 |
+
|
459 |
+
// **************************************************************
|
460 |
+
function getOnlyImages($p_event, &$p_header) {
|
461 |
+
$info = pathinfo($p_header['filename']);
|
462 |
+
// check for extension
|
463 |
+
$ext = array("jpeg", "jpg", "png", "gif");
|
464 |
+
if (in_array( strtolower($info['extension']), $ext)) {
|
465 |
+
// For MAC skip the ".image" files
|
466 |
+
if ($info['basename']{0} == "." )
|
467 |
+
return 0;
|
468 |
+
else
|
469 |
+
return 1;
|
470 |
+
}
|
471 |
+
// ----- all other files are skipped
|
472 |
+
else {
|
473 |
+
return 0;
|
474 |
+
}
|
475 |
+
}
|
476 |
+
|
477 |
+
// **************************************************************
|
478 |
+
function import_zipfile($defaultpath) {
|
479 |
+
|
480 |
+
if (nggAdmin::check_quota())
|
481 |
+
return;
|
482 |
+
|
483 |
+
$temp_zipfile = $_FILES['zipfile']['tmp_name'];
|
484 |
+
$filename = $_FILES['zipfile']['name'];
|
485 |
+
|
486 |
+
// check if file is a zip file
|
487 |
+
if (!eregi('zip', $_FILES['zipfile']['type']))
|
488 |
+
// on whatever reason MAC shows "application/download"
|
489 |
+
if (!eregi('download', $_FILES['zipfile']['type'])) {
|
490 |
+
@unlink($temp_zipfile); // del temp file
|
491 |
+
nggallery::show_error(__('Uploaded file was no or a faulty zip file ! The server recognize : ','nggallery').$_FILES['zipfile']['type']);
|
492 |
+
return;
|
493 |
+
}
|
494 |
+
|
495 |
+
// get foldername if selected
|
496 |
+
$foldername = $_POST['zipgalselect'];
|
497 |
+
if ($foldername == "0") {
|
498 |
+
//cleanup and take the zipfile name as folder name
|
499 |
+
$foldername = sanitize_title(strtok ($filename,'.'));
|
500 |
+
//$foldername = preg_replace ("/(\s+)/", '-', strtolower(strtok ($filename,'.')));
|
501 |
+
}
|
502 |
+
|
503 |
+
//TODO:FORM must get the path from the tables not from defaultpath !!!
|
504 |
+
// set complete folder path
|
505 |
+
$newfolder = WINABSPATH.$defaultpath.$foldername;
|
506 |
+
|
507 |
+
if (!is_dir($newfolder)) {
|
508 |
+
// create new directories
|
509 |
+
if (!wp_mkdir_p ($newfolder)) {
|
510 |
+
$message = sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'nggallery'), $newfolder);
|
511 |
+
nggallery::show_error($message);
|
512 |
+
return false;
|
513 |
+
}
|
514 |
+
if (!wp_mkdir_p ($newfolder.'/thumbs')) {
|
515 |
+
nggallery::show_error(__('Unable to create directory ', 'nggallery').$newfolder.'/thumbs !');
|
516 |
+
return false;
|
517 |
+
}
|
518 |
+
}
|
519 |
+
|
520 |
+
// unzip and del temp file
|
521 |
+
$result = nggAdmin::unzip($newfolder, $temp_zipfile);
|
522 |
+
@unlink($temp_zipfile);
|
523 |
+
|
524 |
+
if ($result) {
|
525 |
+
$message = __('Zip-File successfully unpacked','nggallery').'<br />';
|
526 |
+
|
527 |
+
// parse now the folder and add to database
|
528 |
+
$message .= nggAdmin::import_gallery($defaultpath.$foldername);
|
529 |
+
|
530 |
+
nggallery::show_message($message);
|
531 |
+
}
|
532 |
+
|
533 |
+
return;
|
534 |
+
}
|
535 |
+
|
536 |
+
// **************************************************************
|
537 |
+
function upload_images() {
|
538 |
+
// upload of pictures
|
539 |
+
|
540 |
+
global $wpdb;
|
541 |
+
|
542 |
+
// WPMU action
|
543 |
+
if (nggAdmin::check_quota())
|
544 |
+
return;
|
545 |
+
|
546 |
+
// Images must be an array
|
547 |
+
$imageslist = array();
|
548 |
+
$i = 1;
|
549 |
+
|
550 |
+
foreach ($_FILES as $key => $value) {
|
551 |
+
|
552 |
+
// look only for uploded files
|
553 |
+
if ($_FILES[$key]['error'] == 0) {
|
554 |
+
$temp_file = $_FILES[$key]['tmp_name'];
|
555 |
+
$filepart = pathinfo ( strtolower($_FILES[$key]['name']) );
|
556 |
+
// required until PHP 5.2.0
|
557 |
+
$filepart['filename'] = substr($filepart["basename"],0 ,strlen($filepart["basename"]) - (strlen($filepart["extension"]) + 1) );
|
558 |
+
$filename = sanitize_title($filepart['filename']).".".$filepart['extension'];
|
559 |
+
// check if this filename already exist
|
560 |
+
if (in_array($filename,$imageslist))
|
561 |
+
$filename = sanitize_title($filepart['filename']) . "_" . $i++ . "." .$filepart['extension'];
|
562 |
+
|
563 |
+
$galleryID = (int) $_POST['galleryselect'];
|
564 |
+
|
565 |
+
if ($galleryID == 0) {
|
566 |
+
@unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
|
567 |
+
nggallery::show_error(__('No gallery selected !','nggallery'));
|
568 |
+
return;
|
569 |
+
}
|
570 |
+
|
571 |
+
// get the path to the gallery
|
572 |
+
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
|
573 |
+
if (!$gallerypath){
|
574 |
+
@unlink($temp_file) or die ('<div class="updated"><p><strong>'.__('Unable to unlink file ', 'nggallery').$temp_zipfile.'!</strong></p></div>');
|
575 |
+
nggallery::show_error(__('Failure in database, no gallery path set !','nggallery'));
|
576 |
+
return;
|
577 |
+
}
|
578 |
+
|
579 |
+
// check for allowed extension
|
580 |
+
$ext = array("jpeg", "jpg", "png", "gif");
|
581 |
+
if (!in_array($filepart['extension'],$ext)){
|
582 |
+
nggallery::show_error('<strong>'.$_FILES[$key]['name'].' </strong>'.__('is no valid image file!','nggallery'));
|
583 |
+
continue;
|
584 |
+
}
|
585 |
+
|
586 |
+
$dest_file = WINABSPATH.$gallerypath."/".$filename;
|
587 |
+
|
588 |
+
//check for folder permission
|
589 |
+
if (!is_writeable(WINABSPATH.$gallerypath)) {
|
590 |
+
$message = sprintf(__('Unable to write to directory %s. Is this directory writable by the server?', 'nggallery'), WINABSPATH.$gallerypath);
|
591 |
+
nggallery::show_error($message);
|
592 |
+
return;
|
593 |
+
}
|
594 |
+
|
595 |
+
// save temp file to gallery
|
596 |
+
if (!@move_uploaded_file($_FILES[$key]['tmp_name'], $dest_file)){
|
597 |
+
nggallery::show_error(__('Error, the file could not moved to : ','nggallery').$dest_file);
|
598 |
+
nggAdmin::check_safemode(WINABSPATH.$gallerypath);
|
599 |
+
continue;
|
600 |
+
}
|
601 |
+
if (!nggAdmin::chmod ($dest_file)) {
|
602 |
+
nggallery::show_error(__('Error, the file permissions could not set','nggallery'));
|
603 |
+
continue;
|
604 |
+
}
|
605 |
+
|
606 |
+
// add to imagelist
|
607 |
+
$imageslist[] = $filename;
|
608 |
+
|
609 |
+
}
|
610 |
+
}
|
611 |
+
|
612 |
+
if (count($imageslist) > 0) {
|
613 |
+
|
614 |
+
//create thumbnails
|
615 |
+
nggAdmin::generatethumbnail(WINABSPATH.$gallerypath,$imageslist);
|
616 |
+
|
617 |
+
// add images to database
|
618 |
+
$count_pic = nggAdmin::add_Images($galleryID, $gallerypath, $imageslist);
|
619 |
+
|
620 |
+
nggallery::show_message($count_pic.__(' Image(s) successfully added','nggallery'));
|
621 |
+
}
|
622 |
+
|
623 |
+
return;
|
624 |
+
|
625 |
+
} // end function
|
626 |
+
|
627 |
+
// **************************************************************
|
628 |
+
function swfupload_image($galleryID = 0) {
|
629 |
+
// This function is called by the swfupload
|
630 |
+
global $wpdb;
|
631 |
+
$ngg_options = get_option('ngg_options');
|
632 |
+
|
633 |
+
if ($galleryID == 0) {
|
634 |
+
@unlink($temp_file);
|
635 |
+
return __('No gallery selected !','nggallery');;
|
636 |
+
}
|
637 |
+
|
638 |
+
// Check the upload
|
639 |
+
if (!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0) {
|
640 |
+
return __('Invalid upload. Error Code : ','nggallery').$_FILES["Filedata"]["error"];
|
641 |
+
}
|
642 |
+
|
643 |
+
// get the filename and extension
|
644 |
+
$temp_file = $_FILES["Filedata"]['tmp_name'];
|
645 |
+
$filepart = pathinfo ( strtolower($_FILES["Filedata"]['name']) );
|
646 |
+
// required until PHP 5.2.0
|
647 |
+
$filepart['filename'] = substr($filepart["basename"],0 ,strlen($filepart["basename"]) - (strlen($filepart["extension"]) + 1) );
|
648 |
+
$filename = sanitize_title($filepart['filename']).".".$filepart['extension'];
|
649 |
+
|
650 |
+
// check for allowed extension
|
651 |
+
$ext = array("jpeg", "jpg", "png", "gif");
|
652 |
+
if (!in_array($filepart['extension'],$ext)){
|
653 |
+
return $_FILES[$key]['name'].__('is no valid image file!','nggallery');
|
654 |
+
}
|
655 |
+
|
656 |
+
// get the path to the gallery
|
657 |
+
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
|
658 |
+
if (!$gallerypath){
|
659 |
+
@unlink($temp_file);
|
660 |
+
return __('Failure in database, no gallery path set !','nggallery');
|
661 |
+
}
|
662 |
+
|
663 |
+
// read list of images
|
664 |
+
$imageslist = nggAdmin::scandir(WINABSPATH.$gallerypath);
|
665 |
+
|
666 |
+
// check if this filename already exist
|
667 |
+
$i = 0;
|
668 |
+
while (in_array($filename,$imageslist)) {
|
669 |
+
$filename = sanitize_title($filepart['filename']) . "_" . $i++ . "." .$filepart['extension'];
|
670 |
+
}
|
671 |
+
|
672 |
+
$dest_file = WINABSPATH.$gallerypath."/".$filename;
|
673 |
+
|
674 |
+
// save temp file to gallery
|
675 |
+
if ( !@move_uploaded_file($_FILES["Filedata"]['tmp_name'], $dest_file) ){
|
676 |
+
nggAdmin::check_safemode(WINABSPATH.$gallerypath);
|
677 |
+
return __('Error, the file could not moved to : ','nggallery').$dest_file;
|
678 |
+
}
|
679 |
+
|
680 |
+
if ( !nggAdmin::chmod($dest_file) ) {
|
681 |
+
return __('Error, the file permissions could not set','nggallery');
|
682 |
+
}
|
683 |
+
|
684 |
+
return "0";
|
685 |
+
}
|
686 |
+
|
687 |
+
// **************************************************************
|
688 |
+
function check_quota() {
|
689 |
+
// Only for WPMU
|
690 |
+
if ( (IS_WPMU) && wpmu_enable_function('wpmuQuotaCheck'))
|
691 |
+
if( $error = upload_is_user_over_quota( false ) ) {
|
692 |
+
nggallery::show_error( __( 'Sorry, you have used your space allocation. Please delete some files to upload more files.','nggallery' ) );
|
693 |
+
return true;
|
694 |
+
}
|
695 |
+
return false;
|
696 |
+
}
|
697 |
+
|
698 |
+
// **************************************************************
|
699 |
+
function chmod($filename = "") {
|
700 |
+
// Set correct file permissions (taken from wp core)
|
701 |
+
$stat = @ stat(dirname($filename));
|
702 |
+
$perms = $stat['mode'] & 0007777;
|
703 |
+
$perms = $perms & 0000666;
|
704 |
+
if ( @chmod($filename, $perms) )
|
705 |
+
return true;
|
706 |
+
|
707 |
+
return false;
|
708 |
+
}
|
709 |
+
|
710 |
+
function check_safemode($foldername) {
|
711 |
+
// Check UID in folder and Script
|
712 |
+
// Read http://www.php.net/manual/en/features.safe-mode.php to understand safe_mode
|
713 |
+
if ( SAFE_MODE ) {
|
714 |
+
|
715 |
+
$script_uid = ( ini_get('safe_mode_gid') ) ? getmygid() : getmyuid();
|
716 |
+
$folder_uid = fileowner($foldername);
|
717 |
+
|
718 |
+
if ($script_uid != $folder_uid) {
|
719 |
+
$message = sprintf(__('SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually','nggallery'), WINABSPATH.$gallerypath);
|
720 |
+
$message .= '<br />' . sprintf(__('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','nggallery'), $script_uid, $folder_uid );
|
721 |
+
nggallery::show_error($message);
|
722 |
+
return false;
|
723 |
+
}
|
724 |
+
}
|
725 |
+
|
726 |
+
return true;
|
727 |
+
}
|
728 |
+
|
729 |
+
} // END class nggAdmin
|
730 |
+
|
731 |
+
/**
|
732 |
+
* Class wpProgressBar for WordPress & NextGEN Gallery
|
733 |
+
* Easy to use progress bar in html and css.
|
734 |
+
*
|
735 |
+
* @author Based on ProgressBar from David Bongard (mail@bongard.net | www.bongard.net)
|
736 |
+
* and Phillip Berndt (standards.webmasterpro.de)
|
737 |
+
* @mixed by Alex Rabe
|
738 |
+
* @version 1.0 - 20071201
|
739 |
+
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
740 |
+
* @copyright Copyright © 2007, David Bongard , Phillip Berndt
|
741 |
+
*
|
742 |
+
*/
|
743 |
+
class wpProgressBar {
|
744 |
+
|
745 |
+
/**
|
746 |
+
* Constructor
|
747 |
+
*
|
748 |
+
* @param str $message Message shown above the bar eg. "Please wait...". Default: ''
|
749 |
+
* @param bool $hide Hide the bar after completion (with JavaScript). Default: true
|
750 |
+
* @param int $sleepOnFinish Seconds to sleep after bar completion. Default: 0
|
751 |
+
* @param int $barLength Length in percent. Default: 100
|
752 |
+
* @param str $domID Html-Attribute "id" for the bar
|
753 |
+
* @param str $header the header title
|
754 |
+
*/
|
755 |
+
function wpProgressBar($message='', $hide=true, $sleepOnFinish=0, $barLength=100, $domID='progressbar', $header='')
|
756 |
+
{
|
757 |
+
global $pb_instance;
|
758 |
+
$this->instance = $pb_instance++;
|
759 |
+
$this->setAutohide($hide);
|
760 |
+
$this->setSleepOnFinish($sleepOnFinish);
|
761 |
+
$this->setDomIDs($domID);
|
762 |
+
$this->setMessage($message);
|
763 |
+
$this->setheader($header);
|
764 |
+
$this->barLength = (int) $barLength;
|
765 |
+
}
|
766 |
+
|
767 |
+
|
768 |
+
/**
|
769 |
+
* Print the empty progress bar
|
770 |
+
* @param int $numElements Number of Elements to be processed and number of times $bar->initialize() will be called while processing
|
771 |
+
*/
|
772 |
+
function initialize($numElements)
|
773 |
+
{
|
774 |
+
$this->StepCount = 0;
|
775 |
+
$this->ListCount = 0;
|
776 |
+
|
777 |
+
$numElements = (int) $numElements ;
|
778 |
+
|
779 |
+
if($numElements == 0)
|
780 |
+
return;
|
781 |
+
|
782 |
+
$this->numSteps = $numElements;
|
783 |
+
|
784 |
+
//calculate the % per Step
|
785 |
+
$this->percentPerStep = round (100 / $numElements, 2);
|
786 |
+
|
787 |
+
//stop buffering
|
788 |
+
ob_end_flush();
|
789 |
+
//start buffering
|
790 |
+
ob_start();
|
791 |
+
|
792 |
+
echo '<div id="'.$this->domID.'_container" class="wrap">
|
793 |
+
<h2>'.$this->header.'</h2>
|
794 |
+
<div id="'.$this->domID.'" class="progressbar" style="border: 1px inset ; display: block; height: 20px; background-color: rgb(160, 160, 160); width: '.$this->barLength.'%;"><div style="border: medium none ; display: block; height: 20px; background-color: rgb(13, 50, 79); width: 2%;"><span style="display: inline; position: relative; color: white; font-weight: bold; padding-bottom: 2px; padding-left: 5px;">0%</span></div></div>
|
795 |
+
<div class="progressbar_message"><span style="display:block" id="'.$this->domIDMessage.'">'.$this->message.'</span></div>
|
796 |
+
<ul id="'.$this->domIDProgressNote.'"> </ul>
|
797 |
+
</div>
|
798 |
+
|
799 |
+
<script type="text/javascript">
|
800 |
+
<!--
|
801 |
+
oProgressbar = document.getElementById("'.$this->domID.'").firstChild;
|
802 |
+
function progress(value)
|
803 |
+
{
|
804 |
+
oProgressbar.firstChild.firstChild.nodeValue = oProgressbar.style.width = value + "%";
|
805 |
+
}
|
806 |
+
// -->
|
807 |
+
</script>';
|
808 |
+
|
809 |
+
ob_flush();
|
810 |
+
flush();
|
811 |
+
|
812 |
+
$this->initialized = true;
|
813 |
+
}
|
814 |
+
|
815 |
+
/**
|
816 |
+
* Count steps and increase bar length
|
817 |
+
*
|
818 |
+
*/
|
819 |
+
function increase()
|
820 |
+
{
|
821 |
+
if($this->StepCount < $this->numSteps) {
|
822 |
+
//add a step
|
823 |
+
$this->StepCount++;
|
824 |
+
|
825 |
+
$value = $this->StepCount * $this->percentPerStep;
|
826 |
+
echo('<script type="text/javascript">progress('.intval($value).');</script>');
|
827 |
+
|
828 |
+
ob_flush();
|
829 |
+
flush();
|
830 |
+
}
|
831 |
+
|
832 |
+
if(!$this->finished && $this->StepCount == $this->numSteps){
|
833 |
+
// to be sure that based on round we reached 100%
|
834 |
+
if ($value != 100){
|
835 |
+
echo('<script type="text/javascript">progress('.intval(100).');</script>');
|
836 |
+
ob_flush();
|
837 |
+
flush();
|
838 |
+
}
|
839 |
+
$this->stop();
|
840 |
+
}
|
841 |
+
}
|
842 |
+
|
843 |
+
function stop($error=false)
|
844 |
+
{
|
845 |
+
|
846 |
+
//sleep x seconds before ending the script
|
847 |
+
if(!$error){
|
848 |
+
if($this->sleepOnFinish > 0){
|
849 |
+
sleep($this->sleepOnFinish);
|
850 |
+
}
|
851 |
+
|
852 |
+
//hide the bar
|
853 |
+
if($this->hide){
|
854 |
+
echo '<script type="text/javascript">document.getElementById("'.$this->domID.'_container").style.display = "none";</script>';
|
855 |
+
ob_flush();
|
856 |
+
flush();
|
857 |
+
}
|
858 |
+
}
|
859 |
+
$this->finished = true;
|
860 |
+
}
|
861 |
+
|
862 |
+
function setMessage($text)
|
863 |
+
{
|
864 |
+
if($this->initialized){
|
865 |
+
echo '<script type="text/javascript">document.getElementById("'.$this->domIDMessage.'").innerHTML = "'.$text.'";</script>';
|
866 |
+
ob_flush();flush();
|
867 |
+
}else{
|
868 |
+
$this->message = $text;
|
869 |
+
}
|
870 |
+
}
|
871 |
+
|
872 |
+
function addNote($text)
|
873 |
+
{
|
874 |
+
if($this->initialized){
|
875 |
+
echo '<script type="text/javascript">
|
876 |
+
var newLI = document.createElement("li");
|
877 |
+
var note = document.createTextNode("'.$text.'");
|
878 |
+
document.getElementById("'.$this->domIDProgressNote.'").appendChild(newLI);
|
879 |
+
document.getElementById("'.$this->domIDProgressNote.'").getElementsByTagName("li")['.$this->ListCount.'].appendChild(note);
|
880 |
+
</script>';
|
881 |
+
$this->ListCount++;
|
882 |
+
ob_flush();flush();
|
883 |
+
}
|
884 |
+
}
|
885 |
+
|
886 |
+
function setAutohide($hide)
|
887 |
+
{
|
888 |
+
$this->hide = (bool) $hide;
|
889 |
+
}
|
890 |
+
|
891 |
+
function setHeader($header)
|
892 |
+
{
|
893 |
+
$this->header = $header;
|
894 |
+
}
|
895 |
+
|
896 |
+
function setSleepOnFinish($sleepOnFinish)
|
897 |
+
{
|
898 |
+
$this->sleepOnFinish = (int) $sleepOnFinish;
|
899 |
+
}
|
900 |
+
|
901 |
+
function setDomIDs($domID)
|
902 |
+
{
|
903 |
+
$this->domID = strip_tags($domID).$this->instance;
|
904 |
+
$this->domIDMessage = $this->domID.'_message';
|
905 |
+
$this->domIDProgressNote = $this->domID.'_note';
|
906 |
+
}
|
907 |
+
|
908 |
+
}
|
909 |
+
|
910 |
+
// **************************************************************
|
911 |
+
//TODO: Cannot be member of a class ? Check PCLZIP later...
|
912 |
+
function ngg_getOnlyImages($p_event, &$p_header) {
|
913 |
+
|
914 |
+
return nggAdmin::getOnlyImages($p_event, &$p_header);
|
915 |
+
|
916 |
+
}
|
917 |
+
|
918 |
+
?>
|
admin/js/jquery.js
CHANGED
@@ -1,11 +1,12 @@
|
|
1 |
/*
|
2 |
-
* jQuery 1.1.
|
3 |
*
|
4 |
* Copyright (c) 2007 John Resig (jquery.com)
|
5 |
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6 |
* and GPL (GPL-LICENSE.txt) licenses.
|
7 |
*
|
8 |
-
* $Date: 2007-
|
9 |
-
* $Rev:
|
10 |
*/
|
11 |
-
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i]);B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}});6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G",4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1];E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}});6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U="2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|text|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easing|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execScript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Thu|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlencoded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
|
|
1 |
/*
|
2 |
+
* jQuery 1.1.4 - New Wave Javascript
|
3 |
*
|
4 |
* Copyright (c) 2007 John Resig (jquery.com)
|
5 |
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6 |
* and GPL (GPL-LICENSE.txt) licenses.
|
7 |
*
|
8 |
+
* $Date: 2007-08-23 21:49:27 -0400 (Thu, 23 Aug 2007) $
|
9 |
+
* $Rev: 2862 $
|
10 |
*/
|
11 |
+
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(9(){6(1f C!="Q")E v=C;E C=19.16=9(a,c){6(19==7||!7.4a)F 1s C(a,c);F 7.4a(a,c)};6(1f $!="Q")E B=$;19.$=C;E q=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;C.15=C.3v={4a:9(a,c){a=a||R;6(1f a=="1E"){E m=q.2d(a);6(m&&(m[1]||!c)){6(m[1])a=C.3c([m[1]]);G{E b=R.37(m[3]);6(b)6(b.2j!=m[3])F C().1F(a);G{7[0]=b;7.H=1;F 7}G a=[]}}G F 1s C(c).1F(a)}G 6(C.1g(a))F 1s C(R)[C.15.1L?"1L":"2f"](a);F 7.5J(a.1b==1K&&a||(a.3w||a.H&&a!=19&&!a.1t&&a[0]!=Q&&a[0].1t)&&C.2V(a)||[a])},3w:"1.1.4",7K:9(){F 7.H},H:0,21:9(a){F a==Q?C.2V(7):7[a]},1O:9(a){E b=C(a);b.5c=7;F b},5J:9(a){7.H=0;1K.3v.Y.T(7,a);F 7},J:9(a,b){F C.J(7,a,b)},45:9(a){E b=-1;7.J(9(i){6(7==a)b=i});F b},1j:9(f,d,e){E c=f;6(f.1b==3n)6(d==Q)F 7.H&&C[e||"1j"](7[0],f)||Q;G{c={};c[f]=d}F 7.J(9(a){I(E b 17 c)C.1j(e?7.S:7,b,C.4Q(7,c[b],e,a,b))})},1h:9(b,a){F 7.1j(b,a,"34")},2Q:9(e){6(1f e!="4P"&&e!=K)F 7.3K().3H(R.60(e));E t="";C.J(e||7,9(){C.J(7.2Z,9(){6(7.1t!=8)t+=7.1t!=1?7.5S:C.15.2Q([7])})});F t},82:9(){E a,2e=1a;F 7.J(9(){6(!a)a=C.3c(2e,7.2I);E b=a[0].3B(O);7.P.2p(b,7);20(b.1k)b=b.1k;b.4p(7)})},3H:9(){F 7.2J(1a,O,1,9(a){7.4p(a)})},5v:9(){F 7.2J(1a,O,-1,9(a){7.2p(a,7.1k)})},5u:9(){F 7.2J(1a,M,1,9(a){7.P.2p(a,7)})},5t:9(){F 7.2J(1a,M,-1,9(a){7.P.2p(a,7.2a)})},3L:9(){F 7.5c||C([])},1F:9(t){E b=C.3M(7,9(a){F C.1F(t,a)});F 7.1O(/[^+>] [^+>]/.1d(t)||t.U("..")>-1?C.4d(b):b)},7o:9(e){e=e!=Q?e:O;E d=7.1r(7.1F("*"));6(C.N.12){d.J(9(){7.2l$1i={};I(E a 17 7.$1i)7.2l$1i[a]=C.14({},7.$1i[a])}).49()}E r=7.1O(C.3M(7,9(a){F a.3B(e)}));6(C.N.12){d.J(9(){E c=7.2l$1i;I(E a 17 c)I(E b 17 c[a])C.1c.1r(7,a,c[a][b],c[a][b].V);7.2l$1i=K})}6(e){E f=r.1r(r.1F(\'*\')).1l(\'2b,39[@L=3i]\');d.1l(\'2b,39[@L=3i]\').J(9(i){6(7.3j)f[i].3j=7.3j;6(7.27)f[i].27=O})}F r},1l:9(t){F 7.1O(C.1g(t)&&C.2B(7,9(b,a){F t.T(b,[a])})||C.2R(t,7))},5l:9(t){F 7.1O(t.1b==3n&&C.2R(t,7,O)||C.2B(7,9(a){F(t.1b==1K||t.3w)?C.4K(a,t)<0:a!=t}))},1r:9(t){F 7.1O(C.29(7.21(),t.1b==3n?C(t).21():t.H!=Q&&(!t.W||t.W=="6s")?t:[t]))},3y:9(a){F a?C.2R(a,7).H>0:M},2G:9(a){F a==Q?(7.H?7[0].2A:K):7.1j("2A",a)},5W:9(a){F a==Q?(7.H?7[0].2W:K):7.3K().3H(a)},3S:9(){F 7.1O(1K.3v.3S.T(7,1a))},2J:9(f,d,g,e){E c=7.H>1,a;F 7.J(9(){6(!a){a=C.3c(f,7.2I);6(g<0)a.8E()}E b=7;6(d&&C.W(7,"1A")&&C.W(a[0],"3O"))b=7.4L("1w")[0]||7.4p(R.6a("1w"));C.J(a,9(){6(C.W(7,"33")){6(7.32)C.31({1G:7.32,2w:M,3G:"33"});G C.4E(7.2Q||7.5Z||7.2W||"")}G e.T(b,[c?7.3B(O):7])})})}};C.14=C.15.14=9(){E c=1a[0]||{},a=1,1M=1a.H,4D=M;6(c.1b==8d){4D=c;c=1a[1]||{}}6(1M==1){c=7;a=0}E b;I(;a<1M;a++)6((b=1a[a])!=K)I(E i 17 b){6(c==b[i])5X;6(4D&&1f b[i]==\'4P\'&&c[i])C.14(c[i],b[i]);G 6(b[i]!=Q)c[i]=b[i]}F c};C.14({8a:9(a){19.$=B;6(a)19.16=v;F C},1g:9(a){F!!a&&1f a!="1E"&&!a.W&&a.1b!=1K&&/9/i.1d(a+"")},3E:9(a){F a.3D&&!a.4z||a.4y&&a.2I&&!a.2I.4z},4E:9(a){a=C.2s(a);6(a){6(19.5N)19.5N(a);G 6(C.N.1H)19.4x(a,0);G 2T.2S(19,a)}},W:9(b,a){F b.W&&b.W.1I()==a.1I()},J:9(a,b,c){6(c){6(a.H==Q)I(E i 17 a)b.T(a[i],c);G I(E i=0,3A=a.H;i<3A;i++)6(b.T(a[i],c)===M)1J}G{6(a.H==Q)I(E i 17 a)b.2S(a[i],i,a[i]);G I(E i=0,3A=a.H,2G=a[0];i<3A&&b.2S(2G,i,2G)!==M;2G=a[++i]){}}F a},4Q:9(c,b,d,e,a){6(C.1g(b))b=b.2S(c,[e]);E f=/z-?45|7S-?7Q|1e|5y|7O-?1u/i;F b&&b.1b==3x&&d=="34"&&!f.1d(a)?b+"4t":b},18:{1r:9(b,c){C.J((c||"").2M(/\\s+/),9(i,a){6(!C.18.2N(b.18,a))b.18+=(b.18?" ":"")+a})},23:9(b,c){b.18=c!=Q?C.2B(b.18.2M(/\\s+/),9(a){F!C.18.2N(c,a)}).5w(" "):""},2N:9(t,c){F C.4K(c,(t.18||t).3s().2M(/\\s+/))>-1}},1V:9(e,o,f){I(E i 17 o){e.S["2U"+i]=e.S[i];e.S[i]=o[i]}f.T(e,[]);I(E i 17 o)e.S[i]=e.S["2U"+i]},1h:9(e,p){6(p=="1u"||p=="24"){E b={},3p,3o,d=["7J","7G","7F","7B"];C.J(d,9(){b["7A"+7]=0;b["7x"+7+"7u"]=0});C.1V(e,b,9(){6(C(e).3y(\':4N\')){3p=e.7t;3o=e.7q}G{e=C(e.3B(O)).1F(":4e").5d("27").3L().1h({3V:"1C",3k:"7n",11:"2m",7h:"0",7e:"0"}).57(e.P)[0];E a=C.1h(e.P,"3k")||"3g";6(a=="3g")e.P.S.3k="76";3p=e.74;3o=e.71;6(a=="3g")e.P.S.3k="3g";e.P.3e(e)}});F p=="1u"?3p:3o}F C.34(e,p)},34:9(h,d,g){E i,1R=[],1V=[];9 2E(a){6(!C.N.1H)F M;E b=R.2L.3b(a,K);F!b||b.44("2E")==""}6(d=="1e"&&C.N.12){i=C.1j(h.S,"1e");F i==""?"1":i}6(d.2k(/3a/i))d=x;6(!g&&h.S[d])i=h.S[d];G 6(R.2L&&R.2L.3b){6(d.2k(/3a/i))d="3a";d=d.1v(/([A-Z])/g,"-$1").2D();E e=R.2L.3b(h,K);6(e&&!2E(h))i=e.44(d);G{I(E a=h;a&&2E(a);a=a.P)1R.42(a);I(a=0;a<1R.H;a++)6(2E(1R[a])){1V[a]=1R[a].S.11;1R[a].S.11="2m"}i=d=="11"&&1V[1R.H-1]!=K?"1T":R.2L.3b(h,K).44(d)||"";I(a=0;a<1V.H;a++)6(1V[a]!=K)1R[a].S.11=1V[a]}6(d=="1e"&&i=="")i="1"}G 6(h.41){E f=d.1v(/\\-(\\w)/g,9(m,c){F c.1I()});i=h.41[d]||h.41[f]}F i},3c:9(a,c){E r=[];c=c||R;C.J(a,9(i,b){6(!b)F;6(b.1b==3x)b=b.3s();6(1f b=="1E"){E s=C.2s(b).2D(),1m=c.6a("1m"),1P=[];E a=!s.U("<1Z")&&[1,"<2b>","</2b>"]||!s.U("<6L")&&[1,"<4V>","</4V>"]||s.2k(/^<(6I|1w|6H|6F|6D)/)&&[1,"<1A>","</1A>"]||!s.U("<3O")&&[2,"<1A><1w>","</1w></1A>"]||(!s.U("<6A")||!s.U("<6y"))&&[3,"<1A><1w><3O>","</3O></1w></1A>"]||!s.U("<6x")&&[2,"<1A><1w></1w><4T>","</4T></1A>"]||C.N.12&&[1,"1m<1m>","</1m>"]||[0,"",""];1m.2W=a[1]+b+a[2];20(a[0]--)1m=1m.3Y;6(C.N.12){6(!s.U("<1A")&&s.U("<1w")<0)1P=1m.1k&&1m.1k.2Z;G 6(a[1]=="<1A>"&&s.U("<1w")<0)1P=1m.2Z;I(E n=1P.H-1;n>=0;--n)6(C.W(1P[n],"1w")&&!1P[n].2Z.H)1P[n].P.3e(1P[n]);6(/^\\s/.1d(b))1m.2p(c.60(b.2k(/^\\s*/)[0]),1m.1k)}b=C.2V(1m.2Z)}6(0===b.H&&(!C.W(b,"38")&&!C.W(b,"2b")))F;6(b[0]==Q||C.W(b,"38")||b.6u)r.Y(b);G r=C.29(r,b)});F r},1j:9(c,d,a){E e=C.3E(c)?{}:C.4q;6(d=="28"&&C.N.1H)c.P.3j;6(e[d]){6(a!=Q)c[e[d]]=a;F c[e[d]]}G 6(C.N.12&&d=="S")F C.1j(c.S,"6p",a);G 6(a==Q&&C.N.12&&C.W(c,"38")&&(d=="6n"||d=="6m"))F c.6k(d).5S;G 6(c.4y){6(a!=Q)c.6j(d,a);6(C.N.12&&/5R|32/.1d(d)&&!C.3E(c))F c.3F(d,2);F c.3F(d)}G{6(d=="1e"&&C.N.12){6(a!=Q){c.5y=1;c.1l=(c.1l||"").1v(/5T\\([^)]*\\)/,"")+(3m(a).3s()=="6d"?"":"5T(1e="+a*6c+")")}F c.1l?(3m(c.1l.2k(/1e=([^)]*)/)[1])/6c).3s():""}d=d.1v(/-([a-z])/8I,9(z,b){F b.1I()});6(a!=Q)c[d]=a;F c[d]}},2s:9(t){F(t||"").1v(/^\\s+|\\s+$/g,"")},2V:9(a){E r=[];6(1f a!="8H")I(E i=0,1M=a.H;i<1M;i++)r.Y(a[i]);G r=a.3S(0);F r},4K:9(b,a){I(E i=0,1M=a.H;i<1M;i++)6(a[i]==b)F i;F-1},29:9(a,b){6(C.N.12){I(E i=0;b[i];i++)6(b[i].1t!=8)a.Y(b[i])}G I(E i=0;b[i];i++)a.Y(b[i]);F a},4d:9(a){E r=[],4O=C.1q++;2g{I(E i=0,69=a.H;i<69;i++)6(4O!=a[i].1q){a[i].1q=4O;r.Y(a[i])}}2h(e){r=a}F r},1q:0,2B:9(b,a,c){6(1f a=="1E")a=2T("M||9(a,i){F "+a+"}");E d=[];I(E i=0,3P=b.H;i<3P;i++)6(!c&&a(b[i],i)||c&&!a(b[i],i))d.Y(b[i]);F d},3M:9(c,b){6(1f b=="1E")b=2T("M||9(a){F "+b+"}");E d=[];I(E i=0,3P=c.H;i<3P;i++){E a=b(c[i],i);6(a!==K&&a!=Q){6(a.1b!=1K)a=[a];d=d.8x(a)}}F d}});E u=8w.8u.2D();C.N={6b:(u.2k(/.+(?:8s|8q|8p|8o)[\\/: ]([\\d.]+)/)||[])[1],1H:/61/.1d(u),2t:/2t/.1d(u),12:/12/.1d(u)&&!/2t/.1d(u),3J:/3J/.1d(u)&&!/(8n|61)/.1d(u)};E x=C.N.12?"3I":"4G";C.14({8m:!C.N.12||R.8l=="8k",3I:C.N.12?"3I":"4G",4q:{"I":"8j","8i":"18","3a":x,4G:x,3I:x,2W:"2W",18:"18",2A:"2A",30:"30",27:"27",8h:"8g",28:"28",8f:"8e"}});C.J({5Y:"a.P",4C:"16.4C(a)",8c:"16.25(a,2,\'2a\')",8b:"16.25(a,2,\'4B\')",88:"16.4A(a.P.1k,a)",87:"16.4A(a.1k)"},9(i,n){C.15[i]=9(a){E b=C.3M(7,n);6(a&&1f a=="1E")b=C.2R(a,b);F 7.1O(C.4d(b))}});C.J({57:"3H",86:"5v",2p:"5u",85:"5t"},9(i,n){C.15[i]=9(){E a=1a;F 7.J(9(){I(E j=0,1M=a.H;j<1M;j++)C(a[j])[n](7)})}});C.J({5d:9(a){C.1j(7,a,"");7.84(a)},83:9(c){C.18.1r(7,c)},81:9(c){C.18.23(7,c)},80:9(c){C.18[C.18.2N(7,c)?"23":"1r"](7,c)},23:9(a){6(!a||C.1l(a,[7]).r.H)7.P.3e(7)},3K:9(){20(7.1k)7.3e(7.1k)}},9(i,n){C.15[i]=9(){F 7.J(n,1a)}});C.J(["5Q","5P","5M","5L"],9(i,n){C.15[n]=9(a,b){F 7.1l(":"+n+"("+a+")",b)}});C.J(["1u","24"],9(i,n){C.15[n]=9(h){F h==Q?(7.H?C.1h(7[0],n):K):7.1h(n,h.1b==3n?h:h+"4t")}});E A=C.N.1H&&5K(C.N.6b)<7Z?"(?:[\\\\w*2l-]|\\\\\\\\.)":"(?:[\\\\w\\7Y-\\7V*2l-]|\\\\\\\\.)",5I=1s 3C("^[/>]\\\\s*("+A+"+)"),5H=1s 3C("^("+A+"+)(#)("+A+"+)"),5G=1s 3C("^([#.]?)("+A+"*)");C.14({4w:{"":"m[2]==\'*\'||16.W(a,m[2])","#":"a.3F(\'2j\')==m[2]",":":{5P:"i<m[3]-0",5M:"i>m[3]-0",25:"m[3]-0==i",5Q:"m[3]-0==i",2H:"i==0",2P:"i==r.H-1",5E:"i%2==0",5D:"i%2","2H-3z":"a.P.4L(\'*\')[0]==a","2P-3z":"16.25(a.P.3Y,1,\'4B\')==a","7U-3z":"!16.25(a.P.3Y,2,\'4B\')",5Y:"a.1k",3K:"!a.1k",5L:"(a.5Z||a.7T||\'\').U(m[3])>=0",4N:\'"1C"!=a.L&&16.1h(a,"11")!="1T"&&16.1h(a,"3V")!="1C"\',1C:\'"1C"==a.L||16.1h(a,"11")=="1T"||16.1h(a,"3V")=="1C"\',7R:"!a.30",30:"a.30",27:"a.27",28:"a.28||16.1j(a,\'28\')",2Q:"\'2Q\'==a.L",4e:"\'4e\'==a.L",3i:"\'3i\'==a.L",4v:"\'4v\'==a.L",5C:"\'5C\'==a.L",4u:"\'4u\'==a.L",5B:"\'5B\'==a.L",5A:"\'5A\'==a.L",1X:\'"1X"==a.L||16.W(a,"1X")\',39:"/39|2b|7P|1X/i.1d(a.W)",2N:"16.1F(m[3],a).H"},"[":"16.1F(m[2],a).H"},5x:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1s 3C("^([:.#]*)("+A+"+)")],2R:9(a,c,b){E d,1Y=[];20(a&&a!=d){d=a;E f=C.1l(a,c,b);a=f.t.1v(/^\\s*,\\s*/,"");1Y=b?c=f.r:C.29(1Y,f.r)}F 1Y},1F:9(t,l){6(1f t!="1E")F[t];6(l&&!l.1t)l=K;l=l||R;6(!t.U("//")){t=t.2K(2,t.H)}G 6(!t.U("/")&&!l.2I){l=l.3D;t=t.2K(1,t.H);6(t.U("/")>=1)t=t.2K(t.U("/"),t.H)}E d=[l],2q=[],2P;20(t&&2P!=t){E r=[];2P=t;t=C.2s(t).1v(/^\\/\\//,"");E k=M;E g=5I;E m=g.2d(t);6(m){E o=m[1].1I();I(E i=0;d[i];i++)I(E c=d[i].1k;c;c=c.2a)6(c.1t==1&&(o=="*"||c.W.1I()==o.1I()))r.Y(c);d=r;t=t.1v(g,"");6(t.U(" ")==0)5X;k=O}G{g=/^((\\/?\\.\\.)|([>\\/+~]))\\s*(\\w*)/i;6((m=g.2d(t))!=K){r=[];E o=m[4],1q=C.1q++;m=m[1];I(E j=0,2o=d.H;j<2o;j++)6(m.U("..")<0){E n=m=="~"||m=="+"?d[j].2a:d[j].1k;I(;n;n=n.2a)6(n.1t==1){6(m=="~"&&n.1q==1q)1J;6(!o||n.W.1I()==o.1I()){6(m=="~")n.1q=1q;r.Y(n)}6(m=="+")1J}}G r.Y(d[j].P);d=r;t=C.2s(t.1v(g,""));k=O}}6(t&&!k){6(!t.U(",")){6(l==d[0])d.4s();2q=C.29(2q,d);r=d=[l];t=" "+t.2K(1,t.H)}G{E h=5H;E m=h.2d(t);6(m){m=[0,m[2],m[3],m[1]]}G{h=5G;m=h.2d(t)}m[2]=m[2].1v(/\\\\/g,"");E f=d[d.H-1];6(m[1]=="#"&&f&&f.37&&!C.3E(f)){E p=f.37(m[2]);6((C.N.12||C.N.2t)&&p&&1f p.2j=="1E"&&p.2j!=m[2])p=C(\'[@2j="\'+m[2]+\'"]\',f)[0];d=r=p&&(!m[3]||C.W(p,m[3]))?[p]:[]}G{I(E i=0;d[i];i++){E a=m[1]!=""||m[0]==""?"*":m[2];6(a=="*"&&d[i].W.2D()=="4P")a="2O";r=C.29(r,d[i].4L(a))}6(m[1]==".")r=C.4r(r,m[2]);6(m[1]=="#"){E e=[];I(E i=0;r[i];i++)6(r[i].3F("2j")==m[2]){e=[r[i]];1J}r=e}d=r}t=t.1v(h,"")}}6(t){E b=C.1l(t,r);d=r=b.r;t=C.2s(b.t)}}6(t)d=[];6(d&&l==d[0])d.4s();2q=C.29(2q,d);F 2q},4r:9(r,m,a){m=" "+m+" ";E c=[];I(E i=0;r[i];i++){E b=(" "+r[i].18+" ").U(m)>=0;6(!a&&b||a&&!b)c.Y(r[i])}F c},1l:9(t,r,h){E d;20(t&&t!=d){d=t;E p=C.5x,m;I(E i=0;p[i];i++){m=p[i].2d(t);6(m){t=t.7N(m[0].H);m[2]=m[2].1v(/\\\\/g,"");1J}}6(!m)1J;6(m[1]==":"&&m[2]=="5l")r=C.1l(m[3],r,O).r;G 6(m[1]==".")r=C.4r(r,m[2],h);G 6(m[1]=="@"){E g=[],L=m[3];I(E i=0,2o=r.H;i<2o;i++){E a=r[i],z=a[C.4q[m[2]]||m[2]];6(z==K||/5R|32|28/.1d(m[2]))z=C.1j(a,m[2])||\'\';6((L==""&&!!z||L=="="&&z==m[5]||L=="!="&&z!=m[5]||L=="^="&&z&&!z.U(m[5])||L=="$="&&z.2K(z.H-m[5].H)==m[5]||(L=="*="||L=="~=")&&z.U(m[5])>=0)^h)g.Y(a)}r=g}G 6(m[1]==":"&&m[2]=="25-3z"){E e=C.1q++,g=[],1d=/(\\d*)n\\+?(\\d*)/.2d(m[3]=="5E"&&"2n"||m[3]=="5D"&&"2n+1"||!/\\D/.1d(m[3])&&"n+"+m[3]||m[3]),2H=(1d[1]||1)-0,d=1d[2]-0;I(E i=0,2o=r.H;i<2o;i++){E j=r[i],P=j.P;6(e!=P.1q){E c=1;I(E n=P.1k;n;n=n.2a)6(n.1t==1)n.4o=c++;P.1q=e}E b=M;6(2H==1){6(d==0||j.4o==d)b=O}G 6((j.4o+d)%2H==0)b=O;6(b^h)g.Y(j)}r=g}G{E f=C.4w[m[1]];6(1f f!="1E")f=C.4w[m[1]][m[2]];f=2T("M||9(a,i){F "+f+"}");r=C.2B(r,f,h)}}F{r:r,t:t}},4C:9(c){E b=[];E a=c.P;20(a&&a!=R){b.Y(a);a=a.P}F b},25:9(a,e,c,b){e=e||1;E d=0;I(;a;a=a[c])6(a.1t==1&&++d==e)1J;F a},4A:9(n,a){E r=[];I(;n;n=n.2a){6(n.1t==1&&(!a||n!=a))r.Y(n)}F r}});C.1c={1r:9(f,d,c,b){6(C.N.12&&f.3t!=Q)f=19;6(!c.22)c.22=7.22++;6(b!=Q){E e=c;c=9(){F e.T(7,1a)};c.V=b;c.22=e.22}6(!f.$1i)f.$1i={};6(!f.$1y)f.$1y=9(){E a;6(1f C=="Q"||C.1c.4n)F a;a=C.1c.1y.T(f,1a);F a};E g=f.$1i[d];6(!g){g=f.$1i[d]={};6(f.4m)f.4m(d,f.$1y,M);G f.7M("3r"+d,f.$1y)}g[c.22]=c;7.1D[d]=O},22:1,1D:{},23:9(c,b,a){E d=c.$1i,2c,45;6(d){6(b&&b.L){a=b.4l;b=b.L}6(!b){I(b 17 d)7.23(c,b)}G 6(d[b]){6(a)4k d[b][a.22];G I(a 17 c.$1i[b])4k d[b][a];I(2c 17 d[b])1J;6(!2c){6(c.4j)c.4j(b,c.$1y,M);G c.7L("3r"+b,c.$1y);2c=K;4k d[b]}}I(2c 17 d)1J;6(!2c)c.$1y=c.$1i=K}},1z:9(c,b,d){b=C.2V(b||[]);6(!d){6(7.1D[c])C("*").1r([19,R]).1z(c,b)}G{E a,2c,15=C.1g(d[c]||K);b.42(7.4i({L:c,1S:d}));6(C.1g(d.$1y))a=d.$1y.T(d,b);6(!15&&d["3r"+c]&&d["3r"+c].T(d,b)===M)a=M;6(15&&a!==M&&!(C.W(d,\'a\')&&c=="4h")){7.4n=O;d[c]()}7.4n=M}},1y:9(b){E a;b=C.1c.4i(b||19.1c||{});E c=7.$1i&&7.$1i[b.L],2e=1K.3v.3S.2S(1a,1);2e.42(b);I(E j 17 c){2e[0].4l=c[j];2e[0].V=c[j].V;6(c[j].T(7,2e)===M){b.2u();b.2X();a=M}}6(C.N.12)b.1S=b.2u=b.2X=b.4l=b.V=K;F a},4i:9(c){E a=c;c=C.14({},a);c.2u=9(){6(a.2u)a.2u();a.7I=M};c.2X=9(){6(a.2X)a.2X();a.7H=O};6(!c.1S&&c.5r)c.1S=c.5r;6(C.N.1H&&c.1S.1t==3)c.1S=a.1S.P;6(!c.4g&&c.4F)c.4g=c.4F==c.1S?c.7C:c.4F;6(c.5p==K&&c.66!=K){E e=R.3D,b=R.4z;c.5p=c.66+(e&&e.5o||b.5o||0);c.7z=c.7v+(e&&e.5m||b.5m||0)}6(!c.3Q&&(c.5k||c.5j))c.3Q=c.5k||c.5j;6(!c.5i&&c.5g)c.5i=c.5g;6(!c.3Q&&c.1X)c.3Q=(c.1X&1?1:(c.1X&2?3:(c.1X&4?2:0)));F c}};C.15.14({3l:9(c,a,b){F c=="5f"?7.5e(c,a,b):7.J(9(){C.1c.1r(7,c,b||a,b&&a)})},5e:9(d,b,c){F 7.J(9(){C.1c.1r(7,d,9(a){C(7).49(a);F(c||b).T(7,1a)},c&&b)})},49:9(a,b){F 7.J(9(){C.1c.23(7,a,b)})},1z:9(a,b){F 7.J(9(){C.1c.1z(a,b,7)})},1W:9(){E a=1a;F 7.4h(9(e){7.3T=0==7.3T?1:0;e.2u();F a[7.3T].T(7,[e])||M})},7p:9(f,g){9 3U(e){E p=e.4g;20(p&&p!=7)2g{p=p.P}2h(e){p=7};6(p==7)F M;F(e.L=="3W"?f:g).T(7,[e])}F 7.3W(3U).5b(3U)},1L:9(f){5a();6(C.36)f.T(R,[C]);G C.2C.Y(9(){F f.T(7,[C])});F 7}});C.14({36:M,2C:[],1L:9(){6(!C.36){C.36=O;6(C.2C){C.J(C.2C,9(){7.T(R)});C.2C=K}6(C.N.3J||C.N.2t)R.4j("59",C.1L,M);6(!19.7m.H)C(19).2f(9(){C("#4b").23()})}}});C.J(("7l,7k,2f,7j,7i,5f,4h,7g,"+"7f,7d,7c,3W,5b,7b,2b,"+"4u,7a,79,78,3f").2M(","),9(i,o){C.15[o]=9(f){F f?7.3l(o,f):7.1z(o)}});E w=M;9 5a(){6(w)F;w=O;6(C.N.3J||C.N.2t)R.4m("59",C.1L,M);G 6(C.N.12){R.75("<73"+"72 2j=4b 70=O "+"32=//:><\\/33>");E a=R.37("4b");6(a)a.6Z=9(){6(R.3d!="1x")F;C.1L()};a=K}G 6(C.N.1H)C.48=3t(9(){6(R.3d=="6Y"||R.3d=="1x"){47(C.48);C.48=K;C.1L()}},10);C.1c.1r(19,"2f",C.1L)}C.15.14({6X:9(c,b,a){7.2f(c,b,a,1)},2f:9(g,e,c,d){6(C.1g(g))F 7.3l("2f",g);c=c||9(){};E f="46";6(e)6(C.1g(e)){c=e;e=K}G{e=C.2O(e);f="55"}E h=7;C.31({1G:g,L:f,V:e,2F:d,1x:9(a,b){6(b=="1U"||!d&&b=="54")h.5W(a.43);4x(9(){h.J(c,[a.43,b,a])},13)}});F 7},6W:9(){F C.2O(7)},6V:9(){}});C.J("53,52,51,50,4Z,5h".2M(","),9(i,o){C.15[o]=9(f){F 7.3l(o,f)}});C.14({21:9(e,c,a,d,b){6(C.1g(c)){a=c;c=K}F C.31({L:"46",1G:e,V:c,1U:a,3G:d,2F:b})},6U:9(d,b,a,c){F C.21(d,b,a,c,1)},6T:9(b,a){F C.21(b,K,a,"33")},77:9(c,b,a){F C.21(c,b,a,"56")},6S:9(d,b,a,c){6(C.1g(b)){a=b;b={}}F C.31({L:"55",1G:d,V:b,1U:a,3G:c})},6R:9(a){C.3u.1Q=a},6Q:9(a){C.14(C.3u,a)},3u:{1D:O,L:"46",1Q:0,4Y:"6P/x-6O-38-6N",4X:O,2w:O,V:K},3h:{},31:9(s){s=C.14(O,s,C.14(O,{},C.3u,s));6(s.V){6(s.4X&&1f s.V!="1E")s.V=C.2O(s.V);6(s.L.2D()=="21"){s.1G+=(s.1G.U("?")>-1?"&":"?")+s.V;s.V=K}}6(s.1D&&!C.40++)C.1c.1z("53");E f=M;E h=19.4W?1s 4W("6M.6K"):1s 58();h.6J(s.L,s.1G,s.2w);6(s.V)h.4c("7r-7s",s.4Y);6(s.2F)h.4c("6G-3Z-6E",C.3h[s.1G]||"7w, 6C 7y 6B 4J:4J:4J 6z");h.4c("X-7D-7E","58");6(s.4U)s.4U(h);6(s.1D)C.1c.1z("5h",[h,s]);E g=9(d){6(!f&&h&&(h.3d==4||d=="1Q")){f=O;6(i){47(i);i=K}E c=d=="1Q"&&"1Q"||!C.5n(h)&&"3f"||s.2F&&C.5s(h,s.1G)&&"54"||"1U";6(c=="1U"){2g{E a=C.5q(h,s.3G)}2h(e){c="4I"}}6(c=="1U"){E b;2g{b=h.4f("4S-3Z")}2h(e){}6(s.2F&&b)C.3h[s.1G]=b;6(s.1U)s.1U(a,c);6(s.1D)C.1c.1z("4Z",[h,s])}G C.3X(s,h,c);6(s.1D)C.1c.1z("51",[h,s]);6(s.1D&&!--C.40)C.1c.1z("52");6(s.1x)s.1x(h,c);6(s.2w)h=K}};6(s.2w){E i=3t(g,13);6(s.1Q>0)4x(9(){6(h){h.6w();6(!f)g("1Q")}},s.1Q)}2g{h.6v(s.V)}2h(e){C.3X(s,h,K,e)}6(!s.2w)g();F h},3X:9(s,a,b,e){6(s.3f)s.3f(a,b,e);6(s.1D)C.1c.1z("50",[a,s,e])},40:0,5n:9(r){2g{F!r.26&&6t.6r=="4v:"||(r.26>=4R&&r.26<6q)||r.26==5z||C.N.1H&&r.26==Q}2h(e){}F M},5s:9(a,c){2g{E b=a.4f("4S-3Z");F a.26==5z||b==C.3h[c]||C.N.1H&&a.26==Q}2h(e){}F M},5q:9(r,a){E b=r.4f("6o-L");E c=a=="5F"||!a&&b&&b.U("5F")>=0;V=c?r.7W:r.43;6(c&&V.3D.4y=="4I")7X"4I";6(a=="33")C.4E(V);6(a=="56")V=2T("("+V+")");F V},2O:9(a){E s=[];6(a.1b==1K||a.3w)C.J(a,9(){s.Y(2y(7.6l)+"="+2y(7.2A))});G I(E j 17 a)6(a[j]&&a[j].1b==1K)C.J(a[j],9(){s.Y(2y(j)+"="+2y(7))});G s.Y(2y(j)+"="+2y(a[j]));F s.5w("&")}});C.15.14({1o:9(b,a){F b?7.1B({1u:"1o",24:"1o",1e:"1o"},b,a):7.1l(":1C").J(9(){7.S.11=7.2r?7.2r:"";6(C.1h(7,"11")=="1T")7.S.11="2m"}).3L()},1p:9(b,a){F b?7.1B({1u:"1p",24:"1p",1e:"1p"},b,a):7.1l(":4N").J(9(){7.2r=7.2r||C.1h(7,"11");6(7.2r=="1T")7.2r="2m";7.S.11="1T"}).3L()},5O:C.15.1W,1W:9(a,b){F C.1g(a)&&C.1g(b)?7.5O(a,b):a?7.1B({1u:"1W",24:"1W",1e:"1W"},a,b):7.J(9(){C(7)[C(7).3y(":1C")?"1o":"1p"]()})},6i:9(b,a){F 7.1B({1u:"1o"},b,a)},6h:9(b,a){F 7.1B({1u:"1p"},b,a)},6g:9(b,a){F 7.1B({1u:"1W"},b,a)},6f:9(b,a){F 7.1B({1e:"1o"},b,a)},89:9(b,a){F 7.1B({1e:"1p"},b,a)},6e:9(c,a,b){F 7.1B({1e:a},c,b)},1B:9(d,h,f,g){F 7.1n(9(){E c=C(7).3y(":1C"),1Z=C.5V(h,f,g),5U=7;I(E p 17 d){6(d[p]=="1p"&&c||d[p]=="1o"&&!c)F C.1g(1Z.1x)&&1Z.1x.T(7);6(p=="1u"||p=="24"){1Z.11=C.1h(7,"11");1Z.2z=7.S.2z}}6(1Z.2z!=K)7.S.2z="1C";7.2v=C.14({},d);C.J(d,9(a,b){E e=1s C.2Y(5U,1Z,a);6(b.1b==3x)e.3R(e.1Y()||0,b);G e[b=="1W"?c?"1o":"1p":b](d)});F O})},1n:9(a,b){6(!b){b=a;a="2Y"}F 7.J(9(){6(!7.1n)7.1n={};6(!7.1n[a])7.1n[a]=[];7.1n[a].Y(b);6(7.1n[a].H==1)b.T(7)})}});C.14({5V:9(b,a,c){E d=b&&b.1b==8G?b:{1x:c||!c&&a||C.1g(b)&&b,1N:b,35:c&&a||a&&a.1b!=8F&&a};d.1N=(d.1N&&d.1N.1b==3x?d.1N:{8D:8C,8B:4R}[d.1N])||8A;d.2U=d.1x;d.1x=9(){C.68(7,"2Y");6(C.1g(d.2U))d.2U.T(7)};F d},35:{62:9(p,n,b,a){F b+a*p},4H:9(p,n,b,a){F((-67.8z(p*67.8y)/2)+0.5)*a+b}},1n:{},68:9(b,a){a=a||"2Y";6(b.1n&&b.1n[a]){b.1n[a].4s();E f=b.1n[a][0];6(f)f.T(b)}},3N:[],2Y:9(f,e,g){E z=7;E y=f.S;z.a=9(){6(e.3q)e.3q.T(f,[z.2x]);6(g=="1e")C.1j(y,"1e",z.2x);G{y[g]=5K(z.2x)+"4t";6(g=="1u"||g=="24")y.11="2m"}};z.65=9(){F 3m(C.1h(f,g))};z.1Y=9(){E r=3m(C.34(f,g));F r&&r>-8v?r:z.65()};z.3R=9(c,b){z.4M=(1s 64()).63();z.2x=c;z.a();C.3N.Y(9(){F z.3q(c,b)});6(C.3N.H==1){E d=3t(9(){E a=C.3N;I(E i=0;i<a.H;i++)6(!a[i]())a.8t(i--,1);6(!a.H)47(d)},13)}};z.1o=9(){6(!f.2i)f.2i={};f.2i[g]=C.1j(f.S,g);e.1o=O;z.3R(0,7.1Y());6(g!="1e")y[g]="8r";C(f).1o()};z.1p=9(){6(!f.2i)f.2i={};f.2i[g]=C.1j(f.S,g);e.1p=O;z.3R(7.1Y(),0)};z.3q=9(a,c){E t=(1s 64()).63();6(t>e.1N+z.4M){z.2x=c;z.a();6(f.2v)f.2v[g]=O;E b=O;I(E i 17 f.2v)6(f.2v[i]!==O)b=M;6(b){6(e.11!=K){y.2z=e.2z;y.11=e.11;6(C.1h(f,"11")=="1T")y.11="2m"}6(e.1p)y.11="1T";6(e.1p||e.1o)I(E p 17 f.2v)C.1j(y,p,f.2i[p])}6(b&&C.1g(e.1x))e.1x.T(f);F M}G{E n=t-7.4M;E p=n/e.1N;z.2x=C.35[e.35||(C.35.4H?"4H":"62")](p,n,a,(c-a),e.1N);z.a()}F O}}})})();',62,541,'||||||if|this||function|||||||||||||||||||||||||||||||var|return|else|length|for|each|null|type|false|browser|true|parentNode|undefined|document|style|apply|indexOf|data|nodeName||push|||display|msie||extend|fn|jQuery|in|className|window|arguments|constructor|event|test|opacity|typeof|isFunction|css|events|attr|firstChild|filter|div|queue|show|hide|mergeNum|add|new|nodeType|height|replace|tbody|complete|handle|trigger|table|animate|hidden|global|string|find|url|safari|toUpperCase|break|Array|ready|al|duration|pushStack|tb|timeout|stack|target|none|success|swap|toggle|button|cur|opt|while|get|guid|remove|width|nth|status|checked|selected|merge|nextSibling|select|ret|exec|args|load|try|catch|orig|id|match|_|block||rl|insertBefore|done|oldblock|trim|opera|preventDefault|curAnim|async|now|encodeURIComponent|overflow|value|grep|readyList|toLowerCase|color|ifModified|val|first|ownerDocument|domManip|substr|defaultView|split|has|param|last|text|multiFilter|call|eval|old|makeArray|innerHTML|stopPropagation|fx|childNodes|disabled|ajax|src|script|curCSS|easing|isReady|getElementById|form|input|float|getComputedStyle|clean|readyState|removeChild|error|static|lastModified|checkbox|selectedIndex|position|bind|parseFloat|String|oWidth|oHeight|step|on|toString|setInterval|ajaxSettings|prototype|jquery|Number|is|child|ol|cloneNode|RegExp|documentElement|isXMLDoc|getAttribute|dataType|append|styleFloat|mozilla|empty|end|map|timers|tr|el|which|custom|slice|lastToggle|handleHover|visibility|mouseover|handleError|lastChild|Modified|active|currentStyle|unshift|responseText|getPropertyValue|index|GET|clearInterval|safariTimer|unbind|init|__ie_init|setRequestHeader|unique|radio|getResponseHeader|relatedTarget|click|fix|removeEventListener|delete|handler|addEventListener|triggered|nodeIndex|appendChild|props|classFilter|shift|px|submit|file|expr|setTimeout|tagName|body|sibling|previousSibling|parents|deep|globalEval|fromElement|cssFloat|swing|parsererror|00|inArray|getElementsByTagName|startTime|visible|num|object|prop|200|Last|colgroup|beforeSend|fieldset|ActiveXObject|processData|contentType|ajaxSuccess|ajaxError|ajaxComplete|ajaxStop|ajaxStart|notmodified|POST|json|appendTo|XMLHttpRequest|DOMContentLoaded|bindReady|mouseout|prevObject|removeAttr|one|unload|ctrlKey|ajaxSend|metaKey|keyCode|charCode|not|scrollTop|httpSuccess|scrollLeft|pageX|httpData|srcElement|httpNotModified|after|before|prepend|join|parse|zoom|304|reset|image|password|odd|even|xml|quickClass|quickID|quickChild|setArray|parseInt|contains|gt|execScript|_toggle|lt|eq|href|nodeValue|alpha|self|speed|html|continue|parent|textContent|createTextNode|webkit|linear|getTime|Date|max|clientX|Math|dequeue|fl|createElement|version|100|NaN|fadeTo|fadeIn|slideToggle|slideUp|slideDown|setAttribute|getAttributeNode|name|method|action|content|cssText|300|protocol|FORM|location|options|send|abort|col|th|GMT|td|1970|01|cap|Since|colg|If|tfoot|thead|open|XMLHTTP|leg|Microsoft|urlencoded|www|application|ajaxSetup|ajaxTimeout|post|getScript|getIfModified|evalScripts|serialize|loadIfModified|loaded|onreadystatechange|defer|clientWidth|ipt|scr|clientHeight|write|relative|getJSON|keyup|keypress|keydown|change|mousemove|mouseup|left|mousedown|dblclick|right|scroll|resize|focus|blur|frames|absolute|clone|hover|offsetWidth|Content|Type|offsetHeight|Width|clientY|Thu|border|Jan|pageY|padding|Left|toElement|Requested|With|Right|Bottom|cancelBubble|returnValue|Top|size|detachEvent|attachEvent|substring|line|textarea|weight|enabled|font|innerText|only|uFFFF|responseXML|throw|u0128|417|toggleClass|removeClass|wrap|addClass|removeAttribute|insertAfter|prependTo|children|siblings|fadeOut|noConflict|prev|next|Boolean|maxLength|maxlength|readOnly|readonly|class|htmlFor|CSS1Compat|compatMode|boxModel|compatible|ie|ra|it|1px|rv|splice|userAgent|10000|navigator|concat|PI|cos|400|fast|600|slow|reverse|Function|Object|array|ig'.split('|'),0,{}));
|
12 |
+
jQuery.noConflict();
|
{js → admin/js}/swfobject.js
RENAMED
File without changes
|
admin/js/swfupload.handler.js
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* NextGEN Gallery - SWFUpload Handler
|
3 |
+
* http://alexrabe.boelinger.com/
|
4 |
+
*
|
5 |
+
* Built on top of the swfupload library
|
6 |
+
* http://swfupload.org
|
7 |
+
*
|
8 |
+
* version 1.0.0
|
9 |
+
*/
|
10 |
+
|
11 |
+
// on load change the upload to swfupload
|
12 |
+
function initSWFUpload() {
|
13 |
+
jQuery(function() {
|
14 |
+
jQuery("#uploadimage_btn").after("<input type='button' name='uploadimage' id='swfupload_btn' value='" + ngg_swf_upload.customSettings.upload + "' />")
|
15 |
+
.remove();
|
16 |
+
jQuery("#swfupload_btn").click( function() { submitFiles(); } );
|
17 |
+
jQuery("#imagefiles")
|
18 |
+
.after("<div id='uploadQueue'></div>")
|
19 |
+
.after("<input id='imagefiles' type='button' class='uploadform' value='" + ngg_swf_upload.customSettings.browse + "' />")
|
20 |
+
.after("<input type='text' id='txtFileName' readonly='readonly' />")
|
21 |
+
.remove();
|
22 |
+
jQuery("#imagefiles").click( function() { fileBrowse(); } );
|
23 |
+
jQuery("#progressbar-wrap").hide();
|
24 |
+
});
|
25 |
+
}
|
26 |
+
|
27 |
+
// call the upload dialog
|
28 |
+
function fileBrowse() {
|
29 |
+
jQuery("#txtFileName").val("");
|
30 |
+
ngg_swf_upload.cancelUpload();
|
31 |
+
ngg_swf_upload.selectFiles();
|
32 |
+
}
|
33 |
+
|
34 |
+
// called when a file is added
|
35 |
+
function fileQueued(fileObj) {
|
36 |
+
filesize = " (" + Math.round(fileObj.size/1024) + " kB) ";;
|
37 |
+
jQuery("#txtFileName").val(fileObj.name);
|
38 |
+
jQuery("#uploadQueue")
|
39 |
+
.append("<div id='" + fileObj.id + "' class='nggUploadItem'> [<a href='javascript:removeFile(\"" + fileObj.id + "\");'>" + ngg_swf_upload.customSettings.remove + "</a>] " + fileObj.name + filesize + "</div>")
|
40 |
+
.children("div:last").slideDown("slow")
|
41 |
+
.end();
|
42 |
+
}
|
43 |
+
|
44 |
+
// start the upload
|
45 |
+
function submitFiles() {
|
46 |
+
// check if a gallery is selected
|
47 |
+
if (jQuery('#galleryselect').val() > "0") {
|
48 |
+
jQuery("#progressbar-wrap").show();
|
49 |
+
ngg_swf_upload.setPostParams({galleryselect:jQuery('#galleryselect').val()});
|
50 |
+
ngg_swf_upload.startUpload();
|
51 |
+
} else {
|
52 |
+
jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"-1\">");
|
53 |
+
jQuery("#uploadimage_form").submit();
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
// called when a file will be removed
|
58 |
+
function removeFile(fileID) {
|
59 |
+
ngg_swf_upload.cancelUpload(fileID);
|
60 |
+
jQuery("#" + fileID).hide("slow");
|
61 |
+
jQuery("#" + fileID).remove();
|
62 |
+
}
|
63 |
+
|
64 |
+
// called before the uploads start
|
65 |
+
function uploadStart(fileObj) {
|
66 |
+
jQuery("#progressbar span").text("0% - " + fileObj.name);
|
67 |
+
return true;
|
68 |
+
}
|
69 |
+
|
70 |
+
// called during the upload progress
|
71 |
+
function uploadProgress(fileObj, bytesLoaded) {
|
72 |
+
var percent = Math.ceil((bytesLoaded / fileObj.size) * 100);
|
73 |
+
jQuery("#progressbar").css("width", percent + "%");
|
74 |
+
jQuery("#progressbar span").text(percent + "% - " + fileObj.name);
|
75 |
+
}
|
76 |
+
|
77 |
+
// called when the file is uploaded
|
78 |
+
function uploadComplete(fileObj) {
|
79 |
+
jQuery("#" + fileObj.id).hide("slow");
|
80 |
+
jQuery("#" + fileObj.id).remove();
|
81 |
+
if ( ngg_swf_upload.getStats().files_queued == 0) {
|
82 |
+
jQuery("#progressbar-wrap").hide()
|
83 |
+
jQuery("#uploadimage_form").submit();
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
// called when all files are uploaded
|
88 |
+
function uploadSuccess(fileObj, server_data) {
|
89 |
+
// Upload the next file until queue is empty
|
90 |
+
if ( ngg_swf_upload.getStats().files_queued > 0) {
|
91 |
+
ngg_swf_upload.startUpload();
|
92 |
+
} else {
|
93 |
+
// server_data could be add as hidden field
|
94 |
+
jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"" + server_data + "\">");
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
// called on error
|
99 |
+
function uploadError(fileObj, error_code, message) {
|
100 |
+
var error_name = "";
|
101 |
+
switch(error_code) {
|
102 |
+
case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
|
103 |
+
error_name = "HTTP ERROR";
|
104 |
+
break;
|
105 |
+
case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
|
106 |
+
error_name = "MISSING UPLOAD URL";
|
107 |
+
break;
|
108 |
+
case SWFUpload.UPLOAD_ERROR.IO_ERROR:
|
109 |
+
error_name = "IO FAILURE";
|
110 |
+
break;
|
111 |
+
case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
|
112 |
+
error_name = "SECURITY ERROR";
|
113 |
+
break;
|
114 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
|
115 |
+
error_name = "UPLOAD LIMIT EXCEEDED";
|
116 |
+
break;
|
117 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
|
118 |
+
error_name = "UPLOAD FAILED";
|
119 |
+
break;
|
120 |
+
case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
|
121 |
+
error_name = "SPECIFIED FILE ID NOT FOUND";
|
122 |
+
break;
|
123 |
+
case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
|
124 |
+
error_name = "FILE VALIDATION FAILED";
|
125 |
+
break;
|
126 |
+
case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
|
127 |
+
error_name = "FILE CANCELLED";
|
128 |
+
return;
|
129 |
+
break;
|
130 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
|
131 |
+
error_name = "FILE STOPPED";
|
132 |
+
break;
|
133 |
+
default:
|
134 |
+
error_name = "UNKNOWN";
|
135 |
+
break;
|
136 |
+
}
|
137 |
+
jQuery("#progressbar-wrap").append("<div><strong>ERROR " + error_name + " </strong>: " + fileObj.name + " : " + message + "</div>");
|
138 |
+
jQuery("#" + fileObj.id).hide("slow");
|
139 |
+
jQuery("#" + fileObj.id).remove();
|
140 |
+
if ( ngg_swf_upload.getStats().files_queued > 0) {
|
141 |
+
ngg_swf_upload.startUpload();
|
142 |
+
} else {
|
143 |
+
jQuery("#progressbar-wrap").hide()
|
144 |
+
jQuery('#uploadimage_form').prepend("<input type=\"hidden\" name=\"swf_callback\" value=\"" + error_name + "\">");
|
145 |
+
jQuery("#uploadimage_form").submit();
|
146 |
+
}
|
147 |
+
}
|
admin/js/swfupload.js
ADDED
@@ -0,0 +1,1049 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* SWFUpload v2.0 by Jacob Roberts, Nov 2007, http://www.swfupload.org, http://linebyline.blogspot.com
|
3 |
+
* -------- -------- -------- -------- -------- -------- -------- --------
|
4 |
+
* SWFUpload is (c) 2006 Lars Huring and Mammon Media and is released under the MIT License:
|
5 |
+
* http://www.opensource.org/licenses/mit-license.php
|
6 |
+
*
|
7 |
+
* See Changelog.txt for version history
|
8 |
+
*
|
9 |
+
* Development Notes:
|
10 |
+
* * This version of SWFUpload requires Flash Player 9.0.28 and should autodetect the correct flash version.
|
11 |
+
* * In Linux Flash Player 9 setting the post file variable name does not work. It is always set to "Filedata".
|
12 |
+
* * There is a lot of repeated code that could be refactored to single functions. Feel free.
|
13 |
+
* * It's dangerous to do "circular calls" between Flash and JavaScript. I've taken steps to try to work around issues
|
14 |
+
* by having the event calls pipe through setTimeout. However you should still avoid calling in to Flash from
|
15 |
+
* within the event handler methods. Especially the "startUpload" event since it cannot use the setTimeout hack.
|
16 |
+
*/
|
17 |
+
|
18 |
+
|
19 |
+
/* *********** */
|
20 |
+
/* Constructor */
|
21 |
+
/* *********** */
|
22 |
+
|
23 |
+
var SWFUpload = function (init_settings) {
|
24 |
+
this.initSWFUpload(init_settings);
|
25 |
+
};
|
26 |
+
|
27 |
+
SWFUpload.prototype.initSWFUpload = function (init_settings) {
|
28 |
+
// Remove background flicker in IE (read this: http://misterpixel.blogspot.com/2006/09/forensic-analysis-of-ie6.html)
|
29 |
+
// This doesn't have anything to do with SWFUpload but can help your UI behave better in IE.
|
30 |
+
try {
|
31 |
+
document.execCommand('BackgroundImageCache', false, true);
|
32 |
+
} catch (ex1) {
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
try {
|
37 |
+
this.customSettings = {}; // A container where developers can place their own settings associated with this instance.
|
38 |
+
this.settings = {};
|
39 |
+
this.eventQueue = [];
|
40 |
+
this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
|
41 |
+
this.movieElement = null;
|
42 |
+
|
43 |
+
// Setup global control tracking
|
44 |
+
SWFUpload.instances[this.movieName] = this;
|
45 |
+
|
46 |
+
// Load the settings. Load the Flash movie.
|
47 |
+
this.initSettings(init_settings);
|
48 |
+
this.loadFlash();
|
49 |
+
|
50 |
+
this.displayDebugInfo();
|
51 |
+
|
52 |
+
} catch (ex2) {
|
53 |
+
this.debug(ex2);
|
54 |
+
}
|
55 |
+
}
|
56 |
+
|
57 |
+
/* *************** */
|
58 |
+
/* Static thingies */
|
59 |
+
/* *************** */
|
60 |
+
SWFUpload.instances = {};
|
61 |
+
SWFUpload.movieCount = 0;
|
62 |
+
SWFUpload.QUEUE_ERROR = {
|
63 |
+
QUEUE_LIMIT_EXCEEDED : -100,
|
64 |
+
FILE_EXCEEDS_SIZE_LIMIT : -110,
|
65 |
+
ZERO_BYTE_FILE : -120,
|
66 |
+
INVALID_FILETYPE : -130
|
67 |
+
};
|
68 |
+
SWFUpload.UPLOAD_ERROR = {
|
69 |
+
HTTP_ERROR : -200,
|
70 |
+
MISSING_UPLOAD_URL : -210,
|
71 |
+
IO_ERROR : -220,
|
72 |
+
SECURITY_ERROR : -230,
|
73 |
+
UPLOAD_LIMIT_EXCEEDED : -240,
|
74 |
+
UPLOAD_FAILED : -250,
|
75 |
+
SPECIFIED_FILE_ID_NOT_FOUND : -260,
|
76 |
+
FILE_VALIDATION_FAILED : -270,
|
77 |
+
FILE_CANCELLED : -280,
|
78 |
+
UPLOAD_STOPPED : -290
|
79 |
+
};
|
80 |
+
SWFUpload.FILE_STATUS = {
|
81 |
+
QUEUED : -1,
|
82 |
+
IN_PROGRESS : -2,
|
83 |
+
ERROR : -3,
|
84 |
+
COMPLETE : -4,
|
85 |
+
CANCELLED : -5
|
86 |
+
};
|
87 |
+
|
88 |
+
|
89 |
+
/* ***************** */
|
90 |
+
/* Instance Thingies */
|
91 |
+
/* ***************** */
|
92 |
+
// init is a private method that ensures that all the object settings are set, getting a default value if one was not assigned.
|
93 |
+
|
94 |
+
SWFUpload.prototype.initSettings = function (init_settings) {
|
95 |
+
// Upload backend settings
|
96 |
+
this.addSetting("upload_url", init_settings.upload_url, "");
|
97 |
+
this.addSetting("file_post_name", init_settings.file_post_name, "Filedata");
|
98 |
+
this.addSetting("post_params", init_settings.post_params, {});
|
99 |
+
|
100 |
+
// File Settings
|
101 |
+
this.addSetting("file_types", init_settings.file_types, "*.*");
|
102 |
+
this.addSetting("file_types_description", init_settings.file_types_description, "All Files");
|
103 |
+
this.addSetting("file_size_limit", init_settings.file_size_limit, "1024");
|
104 |
+
this.addSetting("file_upload_limit", init_settings.file_upload_limit, "0");
|
105 |
+
this.addSetting("file_queue_limit", init_settings.file_queue_limit, "0");
|
106 |
+
|
107 |
+
// Flash Settings
|
108 |
+
this.addSetting("flash_url", init_settings.flash_url, "swfupload.swf");
|
109 |
+
this.addSetting("flash_width", init_settings.flash_width, "1px");
|
110 |
+
this.addSetting("flash_height", init_settings.flash_height, "1px");
|
111 |
+
this.addSetting("flash_color", init_settings.flash_color, "#FFFFFF");
|
112 |
+
|
113 |
+
// Debug Settings
|
114 |
+
this.addSetting("debug_enabled", init_settings.debug, false);
|
115 |
+
|
116 |
+
// Event Handlers
|
117 |
+
this.flashReady_handler = SWFUpload.flashReady; // This is a non-overrideable event handler
|
118 |
+
this.swfUploadLoaded_handler = this.retrieveSetting(init_settings.swfupload_loaded_handler, SWFUpload.swfUploadLoaded);
|
119 |
+
|
120 |
+
this.fileDialogStart_handler = this.retrieveSetting(init_settings.file_dialog_start_handler, SWFUpload.fileDialogStart);
|
121 |
+
this.fileQueued_handler = this.retrieveSetting(init_settings.file_queued_handler, SWFUpload.fileQueued);
|
122 |
+
this.fileQueueError_handler = this.retrieveSetting(init_settings.file_queue_error_handler, SWFUpload.fileQueueError);
|
123 |
+
this.fileDialogComplete_handler = this.retrieveSetting(init_settings.file_dialog_complete_handler, SWFUpload.fileDialogComplete);
|
124 |
+
|
125 |
+
this.uploadStart_handler = this.retrieveSetting(init_settings.upload_start_handler, SWFUpload.uploadStart);
|
126 |
+
this.uploadProgress_handler = this.retrieveSetting(init_settings.upload_progress_handler, SWFUpload.uploadProgress);
|
127 |
+
this.uploadError_handler = this.retrieveSetting(init_settings.upload_error_handler, SWFUpload.uploadError);
|
128 |
+
this.uploadSuccess_handler = this.retrieveSetting(init_settings.upload_success_handler, SWFUpload.uploadSuccess);
|
129 |
+
this.uploadComplete_handler = this.retrieveSetting(init_settings.upload_complete_handler, SWFUpload.uploadComplete);
|
130 |
+
|
131 |
+
this.debug_handler = this.retrieveSetting(init_settings.debug_handler, SWFUpload.debug);
|
132 |
+
|
133 |
+
// Other settings
|
134 |
+
this.customSettings = this.retrieveSetting(init_settings.custom_settings, {});
|
135 |
+
};
|
136 |
+
|
137 |
+
// loadFlash is a private method that generates the HTML tag for the Flash
|
138 |
+
// It then adds the flash to the "target" or to the body and stores a
|
139 |
+
// reference to the flash element in "movieElement".
|
140 |
+
SWFUpload.prototype.loadFlash = function () {
|
141 |
+
var html, target_element, container;
|
142 |
+
|
143 |
+
// Make sure an element with the ID we are going to use doesn't already exist
|
144 |
+
if (document.getElementById(this.movieName) !== null) {
|
145 |
+
return false;
|
146 |
+
}
|
147 |
+
|
148 |
+
// Get the body tag where we will be adding the flash movie
|
149 |
+
try {
|
150 |
+
target_element = document.getElementsByTagName("body")[0];
|
151 |
+
if (typeof(target_element) === "undefined" || target_element === null) {
|
152 |
+
this.debug('Could not find the BODY element. SWFUpload failed to load.');
|
153 |
+
return false;
|
154 |
+
}
|
155 |
+
} catch (ex) {
|
156 |
+
return false;
|
157 |
+
}
|
158 |
+
|
159 |
+
// Append the container and load the flash
|
160 |
+
container = document.createElement("div");
|
161 |
+
container.style.width = this.getSetting("flash_width");
|
162 |
+
container.style.height = this.getSetting("flash_height");
|
163 |
+
|
164 |
+
target_element.appendChild(container);
|
165 |
+
container.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
|
166 |
+
};
|
167 |
+
|
168 |
+
// Generates the embed/object tags needed to embed the flash in to the document
|
169 |
+
SWFUpload.prototype.getFlashHTML = function () {
|
170 |
+
var html = "";
|
171 |
+
|
172 |
+
// Create Mozilla Embed HTML
|
173 |
+
if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
|
174 |
+
// Build the basic embed html
|
175 |
+
html = '<embed type="application/x-shockwave-flash" src="' + this.getSetting("flash_url") + '" width="' + this.getSetting("flash_width") + '" height="' + this.getSetting("flash_height") + '"';
|
176 |
+
html += ' id="' + this.movieName + '" name="' + this.movieName + '" ';
|
177 |
+
html += 'bgcolor="' + this.getSetting("flash_color") + '" quality="high" menu="false" flashvars="';
|
178 |
+
|
179 |
+
html += this.getFlashVars();
|
180 |
+
|
181 |
+
html += '" />';
|
182 |
+
|
183 |
+
// Create IE Object HTML
|
184 |
+
} else {
|
185 |
+
|
186 |
+
// Build the basic Object tag
|
187 |
+
html = '<object id="' + this.movieName + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + this.getSetting("flash_width") + '" height="' + this.getSetting("flash_height") + '">';
|
188 |
+
html += '<param name="movie" value="' + this.getSetting("flash_url") + '">';
|
189 |
+
|
190 |
+
html += '<param name="bgcolor" value="' + this.getSetting("flash_color") + '" />';
|
191 |
+
html += '<param name="quality" value="high" />';
|
192 |
+
html += '<param name="menu" value="false" />';
|
193 |
+
|
194 |
+
html += '<param name="flashvars" value="' + this.getFlashVars() + '" />';
|
195 |
+
html += '</object>';
|
196 |
+
}
|
197 |
+
|
198 |
+
return html;
|
199 |
+
};
|
200 |
+
|
201 |
+
// This private method builds the parameter string that will be passed
|
202 |
+
// to flash.
|
203 |
+
SWFUpload.prototype.getFlashVars = function () {
|
204 |
+
// Build a string from the post param object
|
205 |
+
var param_string = this.buildParamString();
|
206 |
+
|
207 |
+
// Build the parameter string
|
208 |
+
var html = "";
|
209 |
+
html += "movieName=" + encodeURIComponent(this.movieName);
|
210 |
+
html += "&uploadURL=" + encodeURIComponent(this.getSetting("upload_url"));
|
211 |
+
html += "¶ms=" + encodeURIComponent(param_string);
|
212 |
+
html += "&filePostName=" + encodeURIComponent(this.getSetting("file_post_name"));
|
213 |
+
html += "&fileTypes=" + encodeURIComponent(this.getSetting("file_types"));
|
214 |
+
html += "&fileTypesDescription=" + encodeURIComponent(this.getSetting("file_types_description"));
|
215 |
+
html += "&fileSizeLimit=" + encodeURIComponent(this.getSetting("file_size_limit"));
|
216 |
+
html += "&fileUploadLimit=" + encodeURIComponent(this.getSetting("file_upload_limit"));
|
217 |
+
html += "&fileQueueLimit=" + encodeURIComponent(this.getSetting("file_queue_limit"));
|
218 |
+
html += "&debugEnabled=" + encodeURIComponent(this.getSetting("debug_enabled"));
|
219 |
+
|
220 |
+
return html;
|
221 |
+
};
|
222 |
+
|
223 |
+
SWFUpload.prototype.getMovieElement = function () {
|
224 |
+
if (typeof(this.movieElement) === "undefined" || this.movieElement === null) {
|
225 |
+
this.movieElement = document.getElementById(this.movieName);
|
226 |
+
|
227 |
+
// Fix IEs "Flash can't callback when in a form" issue (http://www.extremefx.com.ar/blog/fixing-flash-external-interface-inside-form-on-internet-explorer)
|
228 |
+
// Removed because Revision 6 always adds the flash to the body (inside a containing div)
|
229 |
+
// If you insist on adding the Flash file inside a Form then in IE you have to make you wait until the DOM is ready
|
230 |
+
// and run this code to make the form's ID available from the window object so Flash and JavaScript can communicate.
|
231 |
+
//if (typeof(window[this.movieName]) === "undefined" || window[this.moveName] !== this.movieElement) {
|
232 |
+
// window[this.movieName] = this.movieElement;
|
233 |
+
//}
|
234 |
+
}
|
235 |
+
|
236 |
+
return this.movieElement;
|
237 |
+
};
|
238 |
+
|
239 |
+
SWFUpload.prototype.buildParamString = function () {
|
240 |
+
var post_params = this.getSetting("post_params");
|
241 |
+
var param_string_pairs = [];
|
242 |
+
var i, value, name;
|
243 |
+
|
244 |
+
// Retrieve the user defined parameters
|
245 |
+
if (typeof(post_params) === "object") {
|
246 |
+
for (name in post_params) {
|
247 |
+
if (post_params.hasOwnProperty(name)) {
|
248 |
+
if (typeof(post_params[name]) === "string") {
|
249 |
+
param_string_pairs.push(encodeURIComponent(name) + "=" + encodeURIComponent(post_params[name]));
|
250 |
+
}
|
251 |
+
}
|
252 |
+
}
|
253 |
+
}
|
254 |
+
|
255 |
+
return param_string_pairs.join("&");
|
256 |
+
};
|
257 |
+
|
258 |
+
// Saves a setting. If the value given is undefined or null then the default_value is used.
|
259 |
+
SWFUpload.prototype.addSetting = function (name, value, default_value) {
|
260 |
+
if (typeof(value) === "undefined" || value === null) {
|
261 |
+
this.settings[name] = default_value;
|
262 |
+
} else {
|
263 |
+
this.settings[name] = value;
|
264 |
+
}
|
265 |
+
|
266 |
+
return this.settings[name];
|
267 |
+
};
|
268 |
+
|
269 |
+
// Gets a setting. Returns empty string if not found.
|
270 |
+
SWFUpload.prototype.getSetting = function (name) {
|
271 |
+
if (typeof(this.settings[name]) === "undefined") {
|
272 |
+
return "";
|
273 |
+
} else {
|
274 |
+
return this.settings[name];
|
275 |
+
}
|
276 |
+
};
|
277 |
+
|
278 |
+
// Gets a setting, if the setting is undefined then return the default value
|
279 |
+
// This does not affect or use the interal setting object.
|
280 |
+
SWFUpload.prototype.retrieveSetting = function (value, default_value) {
|
281 |
+
if (typeof(value) === "undefined" || value === null) {
|
282 |
+
return default_value;
|
283 |
+
} else {
|
284 |
+
return value;
|
285 |
+
}
|
286 |
+
};
|
287 |
+
|
288 |
+
|
289 |
+
// It loops through all the settings and displays
|
290 |
+
// them in the debug Console.
|
291 |
+
SWFUpload.prototype.displayDebugInfo = function () {
|
292 |
+
var key, debug_message = "";
|
293 |
+
|
294 |
+
debug_message += "----- SWFUPLOAD SETTINGS ----\nID: " + this.moveName + "\n";
|
295 |
+
|
296 |
+
debug_message += this.outputObject(this.settings);
|
297 |
+
|
298 |
+
debug_message += "----- SWFUPLOAD SETTINGS END ----\n";
|
299 |
+
debug_message += "\n";
|
300 |
+
|
301 |
+
this.debug(debug_message);
|
302 |
+
};
|
303 |
+
SWFUpload.prototype.outputObject = function (object, prefix) {
|
304 |
+
var output = "", key;
|
305 |
+
|
306 |
+
if (typeof(prefix) !== "string") {
|
307 |
+
prefix = "";
|
308 |
+
}
|
309 |
+
if (typeof(object) !== "object") {
|
310 |
+
return "";
|
311 |
+
}
|
312 |
+
|
313 |
+
for (key in object) {
|
314 |
+
if (object.hasOwnProperty(key)) {
|
315 |
+
if (typeof(object[key]) === "object") {
|
316 |
+
output += (prefix + key + ": { \n" + this.outputObject(object[key], "\t" + prefix) + prefix + "}" + "\n");
|
317 |
+
} else {
|
318 |
+
output += (prefix + key + ": " + object[key] + "\n");
|
319 |
+
}
|
320 |
+
}
|
321 |
+
}
|
322 |
+
|
323 |
+
return output;
|
324 |
+
};
|
325 |
+
|
326 |
+
/* *****************************
|
327 |
+
-- Flash control methods --
|
328 |
+
Your UI should use these
|
329 |
+
to operate SWFUpload
|
330 |
+
***************************** */
|
331 |
+
|
332 |
+
SWFUpload.prototype.selectFile = function () {
|
333 |
+
var movie_element = this.getMovieElement();
|
334 |
+
if (movie_element !== null && typeof(movie_element.SelectFile) === "function") {
|
335 |
+
try {
|
336 |
+
movie_element.SelectFile();
|
337 |
+
}
|
338 |
+
catch (ex) {
|
339 |
+
this.debug("Could not call SelectFile: " + ex);
|
340 |
+
}
|
341 |
+
} else {
|
342 |
+
this.debug("Could not find Flash element");
|
343 |
+
}
|
344 |
+
|
345 |
+
};
|
346 |
+
|
347 |
+
SWFUpload.prototype.selectFiles = function () {
|
348 |
+
var movie_element = this.getMovieElement();
|
349 |
+
if (movie_element !== null && typeof(movie_element.SelectFiles) === "function") {
|
350 |
+
try {
|
351 |
+
movie_element.SelectFiles();
|
352 |
+
}
|
353 |
+
catch (ex) {
|
354 |
+
this.debug("Could not call SelectFiles: " + ex);
|
355 |
+
}
|
356 |
+
} else {
|
357 |
+
this.debug("Could not find Flash element");
|
358 |
+
}
|
359 |
+
|
360 |
+
};
|
361 |
+
|
362 |
+
|
363 |
+
/* Start the upload. If a file_id is specified that file is uploaded. Otherwise the first
|
364 |
+
* file in the queue is uploaded. If no files are in the queue then nothing happens.
|
365 |
+
* This call uses setTimeout since Flash will be calling back in to JavaScript
|
366 |
+
*/
|
367 |
+
SWFUpload.prototype.startUpload = function (file_id) {
|
368 |
+
var self = this;
|
369 |
+
var movie_element = this.getMovieElement();
|
370 |
+
if (movie_element !== null && typeof(movie_element.StartUpload) === "function") {
|
371 |
+
setTimeout(
|
372 |
+
function () {
|
373 |
+
try {
|
374 |
+
movie_element.StartUpload(file_id);
|
375 |
+
}
|
376 |
+
catch (ex) {
|
377 |
+
self.debug("Could not call StartUpload: " + ex);
|
378 |
+
}
|
379 |
+
}, 0
|
380 |
+
);
|
381 |
+
} else {
|
382 |
+
this.debug("Could not find Flash element");
|
383 |
+
}
|
384 |
+
|
385 |
+
};
|
386 |
+
|
387 |
+
/* Cancels a the file upload. You must specify a file_id */
|
388 |
+
SWFUpload.prototype.cancelUpload = function (file_id) {
|
389 |
+
var movie_element = this.getMovieElement();
|
390 |
+
if (movie_element !== null && typeof(movie_element.CancelUpload) === "function") {
|
391 |
+
try {
|
392 |
+
movie_element.CancelUpload(file_id);
|
393 |
+
}
|
394 |
+
catch (ex) {
|
395 |
+
this.debug("Could not call CancelUpload: " + ex);
|
396 |
+
}
|
397 |
+
} else {
|
398 |
+
this.debug("Could not find Flash element");
|
399 |
+
}
|
400 |
+
|
401 |
+
};
|
402 |
+
|
403 |
+
// Stops the current upload. The file is re-queued. If nothing is currently uploading then nothing happens.
|
404 |
+
SWFUpload.prototype.stopUpload = function () {
|
405 |
+
var movie_element = this.getMovieElement();
|
406 |
+
if (movie_element !== null && typeof(movie_element.StopUpload) === "function") {
|
407 |
+
try {
|
408 |
+
movie_element.StopUpload();
|
409 |
+
}
|
410 |
+
catch (ex) {
|
411 |
+
this.debug("Could not call StopUpload: " + ex);
|
412 |
+
}
|
413 |
+
} else {
|
414 |
+
this.debug("Could not find Flash element");
|
415 |
+
}
|
416 |
+
|
417 |
+
};
|
418 |
+
|
419 |
+
/* ************************
|
420 |
+
* Settings methods
|
421 |
+
* These methods change the settings inside SWFUpload
|
422 |
+
* They shouldn't need to be called in a setTimeout since they
|
423 |
+
* should not call back from Flash to JavaScript (except perhaps in a Debug call)
|
424 |
+
* and some need to return data so setTimeout won't work.
|
425 |
+
*/
|
426 |
+
|
427 |
+
/* Gets the file statistics object. It looks like this (where n = number):
|
428 |
+
{
|
429 |
+
files_queued: n,
|
430 |
+
complete_uploads: n,
|
431 |
+
upload_errors: n,
|
432 |
+
uploads_cancelled: n,
|
433 |
+
queue_errors: n
|
434 |
+
}
|
435 |
+
*/
|
436 |
+
SWFUpload.prototype.getStats = function () {
|
437 |
+
var movie_element = this.getMovieElement();
|
438 |
+
if (movie_element !== null && typeof(movie_element.GetStats) === "function") {
|
439 |
+
try {
|
440 |
+
return movie_element.GetStats();
|
441 |
+
}
|
442 |
+
catch (ex) {
|
443 |
+
this.debug("Could not call GetStats");
|
444 |
+
}
|
445 |
+
} else {
|
446 |
+
this.debug("Could not find Flash element");
|
447 |
+
}
|
448 |
+
};
|
449 |
+
SWFUpload.prototype.setStats = function (stats_object) {
|
450 |
+
var movie_element = this.getMovieElement();
|
451 |
+
if (movie_element !== null && typeof(movie_element.SetStats) === "function") {
|
452 |
+
try {
|
453 |
+
movie_element.SetStats(stats_object);
|
454 |
+
}
|
455 |
+
catch (ex) {
|
456 |
+
this.debug("Could not call SetStats");
|
457 |
+
}
|
458 |
+
} else {
|
459 |
+
this.debug("Could not find Flash element");
|
460 |
+
}
|
461 |
+
};
|
462 |
+
|
463 |
+
SWFUpload.prototype.setCredentials = function(name, password) {
|
464 |
+
var movie_element = this.getMovieElement();
|
465 |
+
if (movie_element !== null && typeof(movie_element.SetCredentials) === "function") {
|
466 |
+
try {
|
467 |
+
return movie_element.SetCredentials(name, password);
|
468 |
+
}
|
469 |
+
catch (ex) {
|
470 |
+
this.debug("Could not call SetCredentials");
|
471 |
+
}
|
472 |
+
} else {
|
473 |
+
this.debug("Could not find Flash element");
|
474 |
+
}
|
475 |
+
};
|
476 |
+
|
477 |
+
SWFUpload.prototype.getFile = function (file_id) {
|
478 |
+
var movie_element = this.getMovieElement();
|
479 |
+
if (typeof(file_id) === "number") {
|
480 |
+
if (movie_element !== null && typeof(movie_element.GetFileByIndex) === "function") {
|
481 |
+
try {
|
482 |
+
return movie_element.GetFileByIndex(file_id);
|
483 |
+
}
|
484 |
+
catch (ex) {
|
485 |
+
this.debug("Could not call GetFileByIndex");
|
486 |
+
}
|
487 |
+
} else {
|
488 |
+
this.debug("Could not find Flash element");
|
489 |
+
}
|
490 |
+
} else {
|
491 |
+
if (movie_element !== null && typeof(movie_element.GetFile) === "function") {
|
492 |
+
try {
|
493 |
+
return movie_element.GetFile(file_id);
|
494 |
+
}
|
495 |
+
catch (ex) {
|
496 |
+
this.debug("Could not call GetFile");
|
497 |
+
}
|
498 |
+
} else {
|
499 |
+
this.debug("Could not find Flash element");
|
500 |
+
}
|
501 |
+
}
|
502 |
+
};
|
503 |
+
|
504 |
+
SWFUpload.prototype.addFileParam = function (file_id, name, value) {
|
505 |
+
var movie_element = this.getMovieElement();
|
506 |
+
if (movie_element !== null && typeof(movie_element.AddFileParam) === "function") {
|
507 |
+
try {
|
508 |
+
return movie_element.AddFileParam(file_id, name, value);
|
509 |
+
}
|
510 |
+
catch (ex) {
|
511 |
+
this.debug("Could not call AddFileParam");
|
512 |
+
}
|
513 |
+
} else {
|
514 |
+
this.debug("Could not find Flash element");
|
515 |
+
}
|
516 |
+
};
|
517 |
+
|
518 |
+
SWFUpload.prototype.removeFileParam = function (file_id, name) {
|
519 |
+
var movie_element = this.getMovieElement();
|
520 |
+
if (movie_element !== null && typeof(movie_element.RemoveFileParam) === "function") {
|
521 |
+
try {
|
522 |
+
return movie_element.RemoveFileParam(file_id, name);
|
523 |
+
}
|
524 |
+
catch (ex) {
|
525 |
+
this.debug("Could not call AddFileParam");
|
526 |
+
}
|
527 |
+
} else {
|
528 |
+
this.debug("Could not find Flash element");
|
529 |
+
}
|
530 |
+
|
531 |
+
};
|
532 |
+
|
533 |
+
SWFUpload.prototype.setUploadURL = function (url) {
|
534 |
+
var movie_element = this.getMovieElement();
|
535 |
+
if (movie_element !== null && typeof(movie_element.SetUploadURL) === "function") {
|
536 |
+
try {
|
537 |
+
this.addSetting("upload_url", url);
|
538 |
+
movie_element.SetUploadURL(this.getSetting("upload_url"));
|
539 |
+
}
|
540 |
+
catch (ex) {
|
541 |
+
this.debug("Could not call SetUploadURL");
|
542 |
+
}
|
543 |
+
} else {
|
544 |
+
this.debug("Could not find Flash element in setUploadURL");
|
545 |
+
}
|
546 |
+
};
|
547 |
+
|
548 |
+
SWFUpload.prototype.setPostParams = function (param_object) {
|
549 |
+
var movie_element = this.getMovieElement();
|
550 |
+
if (movie_element !== null && typeof(movie_element.SetPostParams) === "function") {
|
551 |
+
try {
|
552 |
+
this.addSetting("post_params", param_object);
|
553 |
+
movie_element.SetPostParams(this.getSetting("post_params"));
|
554 |
+
}
|
555 |
+
catch (ex) {
|
556 |
+
this.debug("Could not call SetPostParams");
|
557 |
+
}
|
558 |
+
} else {
|
559 |
+
this.debug("Could not find Flash element in SetPostParams");
|
560 |
+
}
|
561 |
+
};
|
562 |
+
|
563 |
+
SWFUpload.prototype.setFileTypes = function (types, description) {
|
564 |
+
var movie_element = this.getMovieElement();
|
565 |
+
if (movie_element !== null && typeof(movie_element.SetFileTypes) === "function") {
|
566 |
+
try {
|
567 |
+
this.addSetting("file_types", types);
|
568 |
+
this.addSetting("file_types_description", description);
|
569 |
+
movie_element.SetFileTypes(this.getSetting("file_types"), this.getSetting("file_types_description"));
|
570 |
+
}
|
571 |
+
catch (ex) {
|
572 |
+
this.debug("Could not call SetFileTypes");
|
573 |
+
}
|
574 |
+
} else {
|
575 |
+
this.debug("Could not find Flash element in SetFileTypes");
|
576 |
+
}
|
577 |
+
};
|
578 |
+
|
579 |
+
SWFUpload.prototype.setFileSizeLimit = function (file_size_limit) {
|
580 |
+
var movie_element = this.getMovieElement();
|
581 |
+
if (movie_element !== null && typeof(movie_element.SetFileSizeLimit) === "function") {
|
582 |
+
try {
|
583 |
+
this.addSetting("file_size_limit", file_size_limit);
|
584 |
+
movie_element.SetFileSizeLimit(this.getSetting("file_size_limit"));
|
585 |
+
}
|
586 |
+
catch (ex) {
|
587 |
+
this.debug("Could not call SetFileSizeLimit");
|
588 |
+
}
|
589 |
+
} else {
|
590 |
+
this.debug("Could not find Flash element in SetFileSizeLimit");
|
591 |
+
}
|
592 |
+
};
|
593 |
+
|
594 |
+
SWFUpload.prototype.setFileUploadLimit = function (file_upload_limit) {
|
595 |
+
var movie_element = this.getMovieElement();
|
596 |
+
if (movie_element !== null && typeof(movie_element.SetFileUploadLimit) === "function") {
|
597 |
+
try {
|
598 |
+
this.addSetting("file_upload_limit", file_upload_limit);
|
599 |
+
movie_element.SetFileUploadLimit(this.getSetting("file_upload_limit"));
|
600 |
+
}
|
601 |
+
catch (ex) {
|
602 |
+
this.debug("Could not call SetFileUploadLimit");
|
603 |
+
}
|
604 |
+
} else {
|
605 |
+
this.debug("Could not find Flash element in SetFileUploadLimit");
|
606 |
+
}
|
607 |
+
};
|
608 |
+
|
609 |
+
SWFUpload.prototype.setFileQueueLimit = function (file_queue_limit) {
|
610 |
+
var movie_element = this.getMovieElement();
|
611 |
+
if (movie_element !== null && typeof(movie_element.SetFileQueueLimit) === "function") {
|
612 |
+
try {
|
613 |
+
this.addSetting("file_queue_limit", file_queue_limit);
|
614 |
+
movie_element.SetFileQueueLimit(this.getSetting("file_queue_limit"));
|
615 |
+
}
|
616 |
+
catch (ex) {
|
617 |
+
this.debug("Could not call SetFileQueueLimit");
|
618 |
+
}
|
619 |
+
} else {
|
620 |
+
this.debug("Could not find Flash element in SetFileQueueLimit");
|
621 |
+
}
|
622 |
+
};
|
623 |
+
|
624 |
+
SWFUpload.prototype.setFilePostName = function (file_post_name) {
|
625 |
+
var movie_element = this.getMovieElement();
|
626 |
+
if (movie_element !== null && typeof(movie_element.SetFilePostName) === "function") {
|
627 |
+
try {
|
628 |
+
this.addSetting("file_post_name", file_post_name);
|
629 |
+
movie_element.SetFilePostName(this.getSetting("file_post_name"));
|
630 |
+
}
|
631 |
+
catch (ex) {
|
632 |
+
this.debug("Could not call SetFilePostName");
|
633 |
+
}
|
634 |
+
} else {
|
635 |
+
this.debug("Could not find Flash element in SetFilePostName");
|
636 |
+
}
|
637 |
+
};
|
638 |
+
|
639 |
+
SWFUpload.prototype.setDebugEnabled = function (debug_enabled) {
|
640 |
+
var movie_element = this.getMovieElement();
|
641 |
+
if (movie_element !== null && typeof(movie_element.SetDebugEnabled) === "function") {
|
642 |
+
try {
|
643 |
+
this.addSetting("debug_enabled", debug_enabled);
|
644 |
+
movie_element.SetDebugEnabled(this.getSetting("debug_enabled"));
|
645 |
+
}
|
646 |
+
catch (ex) {
|
647 |
+
this.debug("Could not call SetDebugEnabled");
|
648 |
+
}
|
649 |
+
} else {
|
650 |
+
this.debug("Could not find Flash element in SetDebugEnabled");
|
651 |
+
}
|
652 |
+
};
|
653 |
+
|
654 |
+
/* *******************************
|
655 |
+
Internal Event Callers
|
656 |
+
Don't override these! These event callers ensure that your custom event handlers
|
657 |
+
are called safely and in order.
|
658 |
+
******************************* */
|
659 |
+
|
660 |
+
/* This is the callback method that the Flash movie will call when it has been loaded and is ready to go.
|
661 |
+
Calling this or showUI() "manually" will bypass the Flash Detection built in to SWFUpload.
|
662 |
+
Use a ui_function setting if you want to control the UI loading after the flash has loaded.
|
663 |
+
*/
|
664 |
+
SWFUpload.prototype.flashReady = function () {
|
665 |
+
// Check that the movie element is loaded correctly with its ExternalInterface methods defined
|
666 |
+
var movie_element = this.getMovieElement();
|
667 |
+
if (movie_element === null || typeof(movie_element.StartUpload) !== "function") {
|
668 |
+
this.debug("ExternalInterface methods failed to initialize.");
|
669 |
+
return;
|
670 |
+
}
|
671 |
+
|
672 |
+
var self = this;
|
673 |
+
if (typeof(self.flashReady_handler) === "function") {
|
674 |
+
this.eventQueue[this.eventQueue.length] = function() { self.flashReady_handler(); };
|
675 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
676 |
+
} else {
|
677 |
+
this.debug("flashReady_handler event not defined");
|
678 |
+
}
|
679 |
+
};
|
680 |
+
|
681 |
+
/*
|
682 |
+
Event Queue. Rather can call events directly from Flash they events are
|
683 |
+
are placed in a queue and then executed. This ensures that each event is
|
684 |
+
executed in the order it was called which is not guarenteed when calling
|
685 |
+
setTimeout. Out of order events was especially problematic in Safari.
|
686 |
+
*/
|
687 |
+
SWFUpload.prototype.executeNextEvent = function () {
|
688 |
+
var f = this.eventQueue.shift();
|
689 |
+
if (typeof(f) === "function") {
|
690 |
+
f();
|
691 |
+
}
|
692 |
+
}
|
693 |
+
|
694 |
+
/* This is a chance to do something before the browse window opens */
|
695 |
+
SWFUpload.prototype.fileDialogStart = function () {
|
696 |
+
var self = this;
|
697 |
+
if (typeof(self.fileDialogStart_handler) === "function") {
|
698 |
+
this.eventQueue[this.eventQueue.length] = function() { self.fileDialogStart_handler(); };
|
699 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
700 |
+
} else {
|
701 |
+
this.debug("fileDialogStart event not defined");
|
702 |
+
}
|
703 |
+
};
|
704 |
+
|
705 |
+
|
706 |
+
/* Called when a file is successfully added to the queue. */
|
707 |
+
SWFUpload.prototype.fileQueued = function (file) {
|
708 |
+
var self = this;
|
709 |
+
if (typeof(self.fileQueued_handler) === "function") {
|
710 |
+
this.eventQueue[this.eventQueue.length] = function() { self.fileQueued_handler(file); };
|
711 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
712 |
+
} else {
|
713 |
+
this.debug("fileQueued event not defined");
|
714 |
+
}
|
715 |
+
};
|
716 |
+
|
717 |
+
|
718 |
+
/* Handle errors that occur when an attempt to queue a file fails. */
|
719 |
+
SWFUpload.prototype.fileQueueError = function (file, error_code, message) {
|
720 |
+
var self = this;
|
721 |
+
if (typeof(self.fileQueueError_handler) === "function") {
|
722 |
+
this.eventQueue[this.eventQueue.length] = function() { self.fileQueueError_handler(file, error_code, message); };
|
723 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
724 |
+
} else {
|
725 |
+
this.debug("fileQueueError event not defined");
|
726 |
+
}
|
727 |
+
};
|
728 |
+
|
729 |
+
/* Called after the file dialog has closed and the selected files have been queued.
|
730 |
+
You could call startUpload here if you want the queued files to begin uploading immediately. */
|
731 |
+
SWFUpload.prototype.fileDialogComplete = function (num_files_selected) {
|
732 |
+
var self = this;
|
733 |
+
if (typeof(self.fileDialogComplete_handler) === "function") {
|
734 |
+
this.eventQueue[this.eventQueue.length] = function() { self.fileDialogComplete_handler(num_files_selected); };
|
735 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
736 |
+
} else {
|
737 |
+
this.debug("fileDialogComplete event not defined");
|
738 |
+
}
|
739 |
+
};
|
740 |
+
|
741 |
+
/* Gets called when a file upload is about to be started. Return true to continue the upload. Return false to stop the upload.
|
742 |
+
If you return false then uploadError and uploadComplete are called (like normal).
|
743 |
+
|
744 |
+
This is a good place to do any file validation you need.
|
745 |
+
*/
|
746 |
+
SWFUpload.prototype.uploadStart = function (file) {
|
747 |
+
var self = this;
|
748 |
+
if (typeof(self.fileDialogComplete_handler) === "function") {
|
749 |
+
this.eventQueue[this.eventQueue.length] = function() { self.returnUploadStart(self.uploadStart_handler(file)); };
|
750 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
751 |
+
} else {
|
752 |
+
this.debug("uploadStart event not defined");
|
753 |
+
}
|
754 |
+
};
|
755 |
+
|
756 |
+
/* Note: Internal use only. This function returns the result of uploadStart to
|
757 |
+
flash. Since returning values in the normal way can result in Flash/JS circular
|
758 |
+
call issues we split up the call in a Timeout. This is transparent from the API
|
759 |
+
point of view.
|
760 |
+
*/
|
761 |
+
SWFUpload.prototype.returnUploadStart = function (return_value) {
|
762 |
+
var movie_element = this.getMovieElement();
|
763 |
+
if (movie_element !== null && typeof(movie_element.ReturnUploadStart) === "function") {
|
764 |
+
try {
|
765 |
+
movie_element.ReturnUploadStart(return_value);
|
766 |
+
}
|
767 |
+
catch (ex) {
|
768 |
+
this.debug("Could not call ReturnUploadStart");
|
769 |
+
}
|
770 |
+
} else {
|
771 |
+
this.debug("Could not find Flash element in returnUploadStart");
|
772 |
+
}
|
773 |
+
};
|
774 |
+
|
775 |
+
|
776 |
+
|
777 |
+
/* Called during upload as the file progresses. Use this event to update your UI. */
|
778 |
+
SWFUpload.prototype.uploadProgress = function (file, bytes_complete, bytes_total) {
|
779 |
+
var self = this;
|
780 |
+
if (typeof(self.uploadProgress_handler) === "function") {
|
781 |
+
this.eventQueue[this.eventQueue.length] = function() { self.uploadProgress_handler(file, bytes_complete, bytes_total); };
|
782 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
783 |
+
} else {
|
784 |
+
this.debug("uploadProgress event not defined");
|
785 |
+
}
|
786 |
+
};
|
787 |
+
|
788 |
+
/* Called when an error occurs during an upload. Use error_code and the SWFUpload.UPLOAD_ERROR constants to determine
|
789 |
+
which error occurred. The uploadComplete event is called after an error code indicating that the next file is
|
790 |
+
ready for upload. For files cancelled out of order the uploadComplete event will not be called. */
|
791 |
+
SWFUpload.prototype.uploadError = function (file, error_code, message) {
|
792 |
+
var self = this;
|
793 |
+
if (typeof(this.uploadError_handler) === "function") {
|
794 |
+
this.eventQueue[this.eventQueue.length] = function() { self.uploadError_handler(file, error_code, message); };
|
795 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
796 |
+
} else {
|
797 |
+
this.debug("uploadError event not defined");
|
798 |
+
}
|
799 |
+
};
|
800 |
+
|
801 |
+
/* This gets called when a file finishes uploading and the server-side upload script has completed and returned a 200
|
802 |
+
status code. Any text returned by the server is available in server_data.
|
803 |
+
**NOTE: The upload script MUST return some text or the uploadSuccess and uploadComplete events will not fire and the
|
804 |
+
upload will become 'stuck'. */
|
805 |
+
SWFUpload.prototype.uploadSuccess = function (file, server_data) {
|
806 |
+
var self = this;
|
807 |
+
if (typeof(self.uploadSuccess_handler) === "function") {
|
808 |
+
this.eventQueue[this.eventQueue.length] = function() { self.uploadSuccess_handler(file, server_data); };
|
809 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
810 |
+
} else {
|
811 |
+
this.debug("uploadSuccess event not defined");
|
812 |
+
}
|
813 |
+
};
|
814 |
+
|
815 |
+
/* uploadComplete is called when the file is uploaded or an error occurred and SWFUpload is ready to make the next upload.
|
816 |
+
If you want the next upload to start to automatically you can call startUpload() from this event. */
|
817 |
+
SWFUpload.prototype.uploadComplete = function (file) {
|
818 |
+
var self = this;
|
819 |
+
if (typeof(self.uploadComplete_handler) === "function") {
|
820 |
+
this.eventQueue[this.eventQueue.length] = function() { self.uploadComplete_handler(file); };
|
821 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
822 |
+
} else {
|
823 |
+
this.debug("uploadComplete event not defined");
|
824 |
+
}
|
825 |
+
};
|
826 |
+
|
827 |
+
/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
|
828 |
+
internal debug console. You can override this event and have messages written where you want. */
|
829 |
+
SWFUpload.prototype.debug = function (message) {
|
830 |
+
var self = this;
|
831 |
+
if (typeof(self.debug_handler) === "function") {
|
832 |
+
this.eventQueue[this.eventQueue.length] = function() { self.debug_handler(message); };
|
833 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
834 |
+
} else {
|
835 |
+
this.eventQueue[this.eventQueue.length] = function() { self.debugMessage(message); };
|
836 |
+
setTimeout(function () { self.executeNextEvent();}, 0);
|
837 |
+
}
|
838 |
+
};
|
839 |
+
|
840 |
+
|
841 |
+
/* **********************************
|
842 |
+
Default Event Handlers.
|
843 |
+
These event handlers are used by default if an overriding handler is
|
844 |
+
not defined in the SWFUpload settings object.
|
845 |
+
|
846 |
+
JS Note: even though these are defined on the SWFUpload object (rather than the prototype) they
|
847 |
+
are attached (read: copied) to a SWFUpload instance and 'this' is given the proper context.
|
848 |
+
********************************** */
|
849 |
+
|
850 |
+
/* This is a special event handler that has no override in the settings. Flash calls this when it has
|
851 |
+
been loaded by the browser and is ready for interaction. You should not override it. If you need
|
852 |
+
to do something with SWFUpload has loaded then use the swfupload_loaded_handler setting.
|
853 |
+
*/
|
854 |
+
SWFUpload.flashReady = function () {
|
855 |
+
try {
|
856 |
+
this.debug("Flash called back and is ready.");
|
857 |
+
|
858 |
+
if (typeof(this.swfUploadLoaded_handler) === "function") {
|
859 |
+
this.swfUploadLoaded_handler();
|
860 |
+
}
|
861 |
+
} catch (ex) {
|
862 |
+
this.debug(ex);
|
863 |
+
}
|
864 |
+
};
|
865 |
+
|
866 |
+
/* This is a chance to something immediately after SWFUpload has loaded.
|
867 |
+
Like, hide the default/degraded upload form and display the SWFUpload form. */
|
868 |
+
SWFUpload.swfUploadLoaded = function () {
|
869 |
+
};
|
870 |
+
|
871 |
+
/* This is a chance to do something before the browse window opens */
|
872 |
+
SWFUpload.fileDialogStart = function () {
|
873 |
+
};
|
874 |
+
|
875 |
+
|
876 |
+
/* Called when a file is successfully added to the queue. */
|
877 |
+
SWFUpload.fileQueued = function (file) {
|
878 |
+
};
|
879 |
+
|
880 |
+
|
881 |
+
/* Handle errors that occur when an attempt to queue a file fails. */
|
882 |
+
SWFUpload.fileQueueError = function (file, error_code, message) {
|
883 |
+
try {
|
884 |
+
switch (error_code) {
|
885 |
+
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
|
886 |
+
this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
|
887 |
+
break;
|
888 |
+
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
|
889 |
+
this.debug("Error Code: Zero Byte File, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
|
890 |
+
break;
|
891 |
+
case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
|
892 |
+
this.debug("Error Code: Upload limit reached, File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
|
893 |
+
break;
|
894 |
+
case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
|
895 |
+
this.debug("Error Code: File extension is not allowed, Message: " + message);
|
896 |
+
break;
|
897 |
+
default:
|
898 |
+
this.debug("Error Code: Unhandled error occured. Errorcode: " + error_code);
|
899 |
+
}
|
900 |
+
} catch (ex) {
|
901 |
+
this.debug(ex);
|
902 |
+
}
|
903 |
+
};
|
904 |
+
|
905 |
+
/* Called after the file dialog has closed and the selected files have been queued.
|
906 |
+
You could call startUpload here if you want the queued files to begin uploading immediately. */
|
907 |
+
SWFUpload.fileDialogComplete = function (num_files_selected) {
|
908 |
+
};
|
909 |
+
|
910 |
+
/* Gets called when a file upload is about to be started. Return true to continue the upload. Return false to stop the upload.
|
911 |
+
If you return false then the uploadError callback is called and then uploadComplete (like normal).
|
912 |
+
|
913 |
+
This is a good place to do any file validation you need.
|
914 |
+
|
915 |
+
This is the only function that cannot be called on a setTimeout because it must return a value to Flash.
|
916 |
+
You SHOULD NOT make any calls in to Flash (e.i, changing settings, getting stats, etc). Flash Player bugs prevent
|
917 |
+
calls in to Flash from working reliably.
|
918 |
+
*/
|
919 |
+
SWFUpload.uploadStart = function (file) {
|
920 |
+
return true;
|
921 |
+
};
|
922 |
+
|
923 |
+
// Called during upload as the file progresses
|
924 |
+
SWFUpload.uploadProgress = function (file, bytes_complete, bytes_total) {
|
925 |
+
this.debug("File Progress: " + file.id + ", Bytes: " + bytes_complete + ". Total: " + bytes_total);
|
926 |
+
};
|
927 |
+
|
928 |
+
/* This gets called when a file finishes uploading and the upload script has completed and returned a 200 status code. Any text returned by the
|
929 |
+
server is available in server_data. The upload script must return some text or uploadSuccess will not fire (neither will uploadComplete). */
|
930 |
+
SWFUpload.uploadSuccess = function (file, server_data) {
|
931 |
+
};
|
932 |
+
|
933 |
+
/* This is called last. The file is uploaded or an error occurred and SWFUpload is ready to make the next upload.
|
934 |
+
If you want to automatically start the next file just call startUpload from here.
|
935 |
+
*/
|
936 |
+
SWFUpload.uploadComplete = function (file) {
|
937 |
+
};
|
938 |
+
|
939 |
+
// Called by SWFUpload JavaScript and Flash functions when debug is enabled.
|
940 |
+
// Override this method in your settings to call your own debug message handler
|
941 |
+
SWFUpload.debug = function (message) {
|
942 |
+
if (this.getSetting("debug_enabled")) {
|
943 |
+
this.debugMessage(message);
|
944 |
+
}
|
945 |
+
};
|
946 |
+
|
947 |
+
/* Called when an upload occurs during upload. For HTTP errors 'message' will contain the HTTP STATUS CODE */
|
948 |
+
SWFUpload.uploadError = function (file, error_code, message) {
|
949 |
+
try {
|
950 |
+
switch (errcode) {
|
951 |
+
case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
|
952 |
+
this.debug("Error Code: File ID specified for upload was not found, Message: " + msg);
|
953 |
+
break;
|
954 |
+
case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
|
955 |
+
this.debug("Error Code: HTTP Error, File name: " + file.name + ", Message: " + msg);
|
956 |
+
break;
|
957 |
+
case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
|
958 |
+
this.debug("Error Code: No backend file, File name: " + file.name + ", Message: " + msg);
|
959 |
+
break;
|
960 |
+
case SWFUpload.UPLOAD_ERROR.IO_ERROR:
|
961 |
+
this.debug("Error Code: IO Error, File name: " + file.name + ", Message: " + msg);
|
962 |
+
break;
|
963 |
+
case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
|
964 |
+
this.debug("Error Code: Security Error, File name: " + file.name + ", Message: " + msg);
|
965 |
+
break;
|
966 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
|
967 |
+
this.debug("Error Code: Upload limit reached, File name: " + file.name + ", File size: " + file.size + ", Message: " + msg);
|
968 |
+
break;
|
969 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
|
970 |
+
this.debug("Error Code: Upload Initialization exception, File name: " + file.name + ", File size: " + file.size + ", Message: " + msg);
|
971 |
+
break;
|
972 |
+
case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
|
973 |
+
this.debug("Error Code: uploadStart callback returned false, File name: " + file.name + ", File size: " + file.size + ", Message: " + msg);
|
974 |
+
break;
|
975 |
+
case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
|
976 |
+
this.debug("Error Code: The file upload was cancelled, File name: " + file.name + ", File size: " + file.size + ", Message: " + msg);
|
977 |
+
break;
|
978 |
+
case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
|
979 |
+
this.debug("Error Code: The file upload was stopped, File name: " + file.name + ", File size: " + file.size + ", Message: " + msg);
|
980 |
+
break;
|
981 |
+
default:
|
982 |
+
this.debug("Error Code: Unhandled error occured. Errorcode: " + errcode);
|
983 |
+
}
|
984 |
+
} catch (ex) {
|
985 |
+
this.debug(ex);
|
986 |
+
}
|
987 |
+
};
|
988 |
+
|
989 |
+
|
990 |
+
|
991 |
+
/* **********************************
|
992 |
+
Debug Console
|
993 |
+
The debug console is a self contained, in page location
|
994 |
+
for debug message to be sent. The Debug Console adds
|
995 |
+
itself to the body if necessary.
|
996 |
+
|
997 |
+
The console is automatically scrolled as messages appear.
|
998 |
+
|
999 |
+
You can override this console (to use FireBug's console for instance) by setting the debug event method to your own function
|
1000 |
+
that handles the debug message
|
1001 |
+
********************************** */
|
1002 |
+
SWFUpload.prototype.debugMessage = function (message) {
|
1003 |
+
var exception_message, exception_values;
|
1004 |
+
|
1005 |
+
if (typeof(message) === "object" && typeof(message.name) === "string" && typeof(message.message) === "string") {
|
1006 |
+
exception_message = "";
|
1007 |
+
exception_values = [];
|
1008 |
+
for (var key in message) {
|
1009 |
+
exception_values.push(key + ": " + message[key]);
|
1010 |
+
}
|
1011 |
+
exception_message = exception_values.join("\n");
|
1012 |
+
exception_values = exception_message.split("\n");
|
1013 |
+
exception_message = "EXCEPTION: " + exception_values.join("\nEXCEPTION: ");
|
1014 |
+
SWFUpload.Console.writeLine(exception_message);
|
1015 |
+
} else {
|
1016 |
+
SWFUpload.Console.writeLine(message);
|
1017 |
+
}
|
1018 |
+
};
|
1019 |
+
|
1020 |
+
SWFUpload.Console = {};
|
1021 |
+
SWFUpload.Console.writeLine = function (message) {
|
1022 |
+
var console, documentForm;
|
1023 |
+
|
1024 |
+
try {
|
1025 |
+
console = document.getElementById("SWFUpload_Console");
|
1026 |
+
|
1027 |
+
if (!console) {
|
1028 |
+
documentForm = document.createElement("form");
|
1029 |
+
document.getElementsByTagName("body")[0].appendChild(documentForm);
|
1030 |
+
|
1031 |
+
console = document.createElement("textarea");
|
1032 |
+
console.id = "SWFUpload_Console";
|
1033 |
+
console.style.fontFamily = "monospace";
|
1034 |
+
console.setAttribute("wrap", "off");
|
1035 |
+
console.wrap = "off";
|
1036 |
+
console.style.overflow = "auto";
|
1037 |
+
console.style.width = "700px";
|
1038 |
+
console.style.height = "350px";
|
1039 |
+
console.style.margin = "5px";
|
1040 |
+
documentForm.appendChild(console);
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
console.value += message + "\n";
|
1044 |
+
|
1045 |
+
console.scrollTop = console.scrollHeight - console.clientHeight;
|
1046 |
+
} catch (ex) {
|
1047 |
+
alert("Exception: " + ex.name + " Message: " + ex.message);
|
1048 |
+
}
|
1049 |
+
};
|
admin/js/swfupload_f9.swf
ADDED
Binary file
|
js/nggadmintab-js.php → admin/js/uploadtab.js.php
RENAMED
@@ -1,265 +1,270 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
this.
|
30 |
-
this.
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
if ( this.
|
37 |
-
this.
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
this.
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
h += '
|
91 |
-
h += "<
|
92 |
-
h += "
|
93 |
-
h += "<
|
94 |
-
h += "</
|
95 |
-
h +=
|
96 |
-
|
97 |
-
h += "<
|
98 |
-
h += "<
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
h += "<tr><
|
116 |
-
h += "<
|
117 |
-
h += "
|
118 |
-
h += "</
|
119 |
-
|
120 |
-
h += "
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
h += '
|
154 |
-
h += "<
|
155 |
-
h += "
|
156 |
-
h += "<
|
157 |
-
h += "</
|
158 |
-
h +=
|
159 |
-
|
160 |
-
h += "<
|
161 |
-
h += "<
|
162 |
-
h += "
|
163 |
-
h += "</
|
164 |
-
|
165 |
-
h += "<
|
166 |
-
h += "
|
167 |
-
h += "<
|
168 |
-
h += "
|
169 |
-
h += "
|
170 |
-
h += "<input type='
|
171 |
-
h += "
|
172 |
-
h += "<
|
173 |
-
h += "<
|
174 |
-
h += "
|
175 |
-
h += "<
|
176 |
-
h += "
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
if (
|
231 |
-
|
232 |
-
if (
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
if (
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
}
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @title Uplaod-tab, required for Rich text editor
|
5 |
+
* @author Alex Rabe
|
6 |
+
* @copyright 2008
|
7 |
+
*/
|
8 |
+
|
9 |
+
require_once('../../../../../wp-config.php');
|
10 |
+
require_once('../../../../../wp-admin/admin.php');
|
11 |
+
cache_javascript_headers();
|
12 |
+
$ngg_options = get_option('ngg_options');
|
13 |
+
|
14 |
+
// get the effect code
|
15 |
+
if ($ngg_options['thumbEffect'] != "none") $thumbcode = stripslashes($ngg_options['thumbCode']);
|
16 |
+
if ($ngg_options['thumbEffect'] == "highslide") $thumbcode = 'class="highslide" onclick="return hs.expand(this)"';
|
17 |
+
else $thumbcode = str_replace("%GALLERY_NAME%", "", $thumbcode);
|
18 |
+
|
19 |
+
?>
|
20 |
+
addLoadEvent( function() {
|
21 |
+
theFileList = {
|
22 |
+
currentImage: {ID: 0},
|
23 |
+
nonce: '',
|
24 |
+
tab: '',
|
25 |
+
gal: '',
|
26 |
+
postID: 0,
|
27 |
+
|
28 |
+
initializeVars: function() {
|
29 |
+
this.urlData = document.location.href.split('?');
|
30 |
+
this.params = this.urlData[1].toQueryParams();
|
31 |
+
this.postID = this.params['post_id'];
|
32 |
+
this.tab = this.params['tab'];
|
33 |
+
this.gal = this.params['select_gal'];
|
34 |
+
this.style = this.params['style'];
|
35 |
+
this.ID = this.params['ID'];
|
36 |
+
if ( !this.style )
|
37 |
+
this.style = 'default';
|
38 |
+
var nonceEl = $('nonce-value');
|
39 |
+
if ( nonceEl )
|
40 |
+
this.nonce = nonceEl.value;
|
41 |
+
if ( this.ID ) {
|
42 |
+
this.grabImageData( this.ID );
|
43 |
+
this.imageView( this.ID );
|
44 |
+
}
|
45 |
+
},
|
46 |
+
|
47 |
+
initializeLinks: function() {
|
48 |
+
if ( this.ID )
|
49 |
+
return;
|
50 |
+
$$('a.file-link').each( function(i) {
|
51 |
+
var id = i.id.split('-').pop();
|
52 |
+
i.onclick = function(e) { theFileList[ 'inline' == theFileList.style ? 'imageView' : 'editView' ](id, e); }
|
53 |
+
} );
|
54 |
+
},
|
55 |
+
|
56 |
+
grabImageData: function(id) {
|
57 |
+
if ( id == this.currentImage.ID )
|
58 |
+
return;
|
59 |
+
|
60 |
+
this.currentImage.src = ( 0 == id ? '' : $('nggimage-url-' + id).value );
|
61 |
+
this.currentImage.thumb = ( 0 == id ? '' : $('nggimage-thumb-url-' + id).value );
|
62 |
+
this.currentImage.title = ( 0 == id ? '' : $('nggimage-title-' + id).value );
|
63 |
+
this.currentImage.alttext = ( 0 == id ? '' : $('nggimage-alttext-' + id).value );
|
64 |
+
this.currentImage.description = ( 0 == id ? '' : $('nggimage-description-' + id).value );
|
65 |
+
var widthEl = $('nggimage-width-' + id);
|
66 |
+
if ( widthEl ) {
|
67 |
+
this.currentImage.width = ( 0 == id ? '' : widthEl.value );
|
68 |
+
this.currentImage.height = ( 0 == id ? '' : $('nggimage-height-' + id).value );
|
69 |
+
} else {
|
70 |
+
this.currentImage.width = false;
|
71 |
+
this.currentImage.height = false;
|
72 |
+
}
|
73 |
+
this.currentImage.isImage = 1;
|
74 |
+
this.currentImage.ID = id;
|
75 |
+
},
|
76 |
+
|
77 |
+
imageView: function(id, e) {
|
78 |
+
this.prepView(id);
|
79 |
+
var h = '';
|
80 |
+
|
81 |
+
h += "<div id='upload-file'>"
|
82 |
+
if ( this.ID ) {
|
83 |
+
var params = $H(this.params);
|
84 |
+
params.ID = '';
|
85 |
+
params.action = '';
|
86 |
+
h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "' title='<?php echo attribute_escape(__('Browse your files')); ?>' class='back'><?php echo attribute_escape(__('« Back')); ?></a>";
|
87 |
+
} else {
|
88 |
+
h += "<a href='#' onclick='return theFileList.cancelView();' title='<?php echo attribute_escape(__('Browse your files')); ?>' class='back'><?php echo attribute_escape(__('« Back')) ?></a>";
|
89 |
+
}
|
90 |
+
h += "<div id='file-title'>"
|
91 |
+
h += "<h2>" + this.currentImage.title + "</h2>";
|
92 |
+
h += " — <span>";
|
93 |
+
h += "<a href='#' onclick='return theFileList.editView(" + id + ");'><?php echo attribute_escape(__('Edit')); ?></a>"
|
94 |
+
h += "</span>";
|
95 |
+
h += '</div>'
|
96 |
+
h += "<div id='upload-file-view' class='alignleft'>";
|
97 |
+
h += "<a href='" + this.currentImage.src + "' onclick='return false;' title='<?php echo attribute_escape(__('Direct link to file')); ?>'>";
|
98 |
+
h += "<img src='" + ( this.currentImage.thumb ? this.currentImage.thumb : this.currentImage.src ) + "' alt='" + this.currentImage.title + "' width='" + this.currentImage.width + "' height='" + this.currentImage.height + "' />";
|
99 |
+
h += "</a>";
|
100 |
+
h += "</div>";
|
101 |
+
|
102 |
+
h += "<form name='uploadoptions' id='uploadoptions' class='alignleft'>";
|
103 |
+
h += "<table>";
|
104 |
+
var display = [];
|
105 |
+
var checked = 'display-thumb';
|
106 |
+
display.push("<label for='display-thumb'><input type='radio' name='display' id='display-thumb' value='thumb' /> <?php echo attribute_escape(__('Thumbnail')); ?></label><br />");
|
107 |
+
display.push("<label for='display-full'><input type='radio' name='display' id='display-full' value='full' /> <?php echo attribute_escape(__('Full size')); ?></label>");
|
108 |
+
if ( display.length ) {
|
109 |
+
display.push("<br /><label for='display-title'><input type='radio' name='display' id='display-title' value='title' /> <?php echo attribute_escape(__('Title')); ?></label>");
|
110 |
+
h += "<tr><th style='padding-bottom:.5em'><?php echo attribute_escape(__('Show:')); ?></th><td style='padding-bottom:.5em'>";
|
111 |
+
$A(display).each( function(i) { h += i; } );
|
112 |
+
h += "</td></tr>";
|
113 |
+
}
|
114 |
+
|
115 |
+
h += "<tr><th><?php echo attribute_escape(__('Link to:')); ?></th><td>";
|
116 |
+
h += "<label for='link-file'><input type='radio' name='link' id='link-file' value='file' checked='checked'/> <?php echo attribute_escape(__('File')); ?></label><br />";
|
117 |
+
h += "<label for='link-none'><input type='radio' name='link' id='link-none' value='none' /> <?php echo attribute_escape(__('None')); ?></label>";
|
118 |
+
h += "</td></tr>";
|
119 |
+
|
120 |
+
h += "<tr><td colspan='2'><p class='submit'>";
|
121 |
+
h += "<input type='button' class='button' name='send' onclick='theFileList.sendToEditor(" + id + ")' value='<?php echo attribute_escape(__('Send to editor »')); ?>' />";
|
122 |
+
h += "</p></td></tr></table>";
|
123 |
+
h += "</form>";
|
124 |
+
|
125 |
+
h += "</div>";
|
126 |
+
|
127 |
+
new Insertion.Top('upload-content', h);
|
128 |
+
var displayEl = $(checked);
|
129 |
+
if ( displayEl )
|
130 |
+
displayEl.checked = true;
|
131 |
+
|
132 |
+
if (e) Event.stop(e);
|
133 |
+
return false;
|
134 |
+
},
|
135 |
+
|
136 |
+
editView: function(id, e) {
|
137 |
+
this.prepView(id);
|
138 |
+
var h = '';
|
139 |
+
|
140 |
+
var action = 'upload.php?style=' + this.style + '&tab=' + this.tab;
|
141 |
+
if ( this.postID )
|
142 |
+
action += '&post_id=' + this.postID;
|
143 |
+
|
144 |
+
h += "<form id='upload-file' method='post' action='" + action + "'>";
|
145 |
+
if ( this.ID ) {
|
146 |
+
var params = $H(this.params);
|
147 |
+
params.ID = '';
|
148 |
+
params.action = '';
|
149 |
+
h += "<a href='" + this.urlData[0] + '?' + params.toQueryString() + "' title='<?php echo attribute_escape(__('Browse your files')); ?>' class='back'><?php echo attribute_escape(__('« Back')); ?></a>";
|
150 |
+
} else {
|
151 |
+
h += "<a href='#' onclick='return theFileList.cancelView();' title='<?php echo attribute_escape(__('Browse your files')); ?>' class='back'><?php echo attribute_escape(__('« Back')); ?></a>";
|
152 |
+
}
|
153 |
+
h += "<div id='file-title'>"
|
154 |
+
h += "<h2>" + this.currentImage.title + "</h2>";
|
155 |
+
h += " — <span>";
|
156 |
+
h += "<a href='#' onclick='return theFileList.imageView(" + id + ");'><?php echo attribute_escape(__('Insert')); ?></a>"
|
157 |
+
h += "</span>";
|
158 |
+
h += '</div>'
|
159 |
+
h += "<div id='upload-file-view' class='alignleft'>";
|
160 |
+
h += "<a href='" + this.currentImage.src + "' onclick='return false;' title='<?php echo wp_specialchars(__('Direct link to file')); ?>'>";
|
161 |
+
h += "<img src='" + ( this.currentImage.thumb ? this.currentImage.thumb : this.currentImage.src ) + "' alt='" + this.currentImage.title + "' width='" + this.currentImage.width + "' height='" + this.currentImage.height + "' />";
|
162 |
+
h += "</a>";
|
163 |
+
h += "</div>";
|
164 |
+
|
165 |
+
h += "<table><col /><col class='widefat' /><tr>"
|
166 |
+
h += "<th scope='row'><label for='url'><?php echo attribute_escape(__('URL')); ?></label></th>";
|
167 |
+
h += "<td><input type='text' id='url' class='readonly' value='" + this.currentImage.src + "' readonly='readonly' /></td>";
|
168 |
+
h += "</tr><tr>";
|
169 |
+
h += "<th scope='row'><label for='image_title'><?php echo attribute_escape(__('Alt & Title Text','nggallery')); ?></label></th>";
|
170 |
+
h += "<td><input type='text' id='image_title' name='image_title' value='" + this.currentImage.alttext + "' /></td>";
|
171 |
+
h += "</tr><tr>";
|
172 |
+
h += "<th scope='row'><label for='image_desc'><?php echo attribute_escape(__('Description')); ?></label></th>";
|
173 |
+
h += "<td><textarea name='image_desc' id='image_desc'>" + this.currentImage.description + "</textarea></td>";
|
174 |
+
h += "</tr><tr id='buttons' class='submit'><td colspan='2'><input type='button' id='delete' name='delete' class='delete alignleft' value='<?php echo attribute_escape(__('Delete File')); ?>' onclick='theFileList.deleteFile(" + id + ");' />";
|
175 |
+
h += "<input type='hidden' name='from_tab' value='" + this.tab + "' />";
|
176 |
+
h += "<input type='hidden' name='action' id='action-value' value='update' />";
|
177 |
+
h += "<input type='hidden' name='ID' value='" + id + "' />";
|
178 |
+
h += "<input type='hidden' name='from_gal' id='from_gal' value='" + this.gal + "' />";
|
179 |
+
h += "<input type='hidden' name='_wpnonce' value='" + this.nonce + "' />";
|
180 |
+
h += "<div class='submit'><input type='submit' name='save' id='save' value='<?php echo attribute_escape(__('Save »')); ?>' /></div>";
|
181 |
+
h += "</td></tr></table></form>";
|
182 |
+
|
183 |
+
new Insertion.Top('upload-content', h);
|
184 |
+
if (e) Event.stop(e);
|
185 |
+
return false;
|
186 |
+
},
|
187 |
+
|
188 |
+
prepView: function(id) {
|
189 |
+
this.cancelView( true );
|
190 |
+
var filesEl = $('upload-files');
|
191 |
+
if ( filesEl )
|
192 |
+
filesEl.hide();
|
193 |
+
var navEl = $('current-tab-nav');
|
194 |
+
if ( navEl )
|
195 |
+
navEl.hide();
|
196 |
+
var selGAL = $('select-gallery');
|
197 |
+
if ( selGAL )
|
198 |
+
selGAL.hide();
|
199 |
+
this.grabImageData(id);
|
200 |
+
},
|
201 |
+
|
202 |
+
cancelView: function( prep ) {
|
203 |
+
if ( !prep ) {
|
204 |
+
var filesEl = $('upload-files');
|
205 |
+
if ( filesEl )
|
206 |
+
Element.show(filesEl);
|
207 |
+
var navEl = $('current-tab-nav');
|
208 |
+
if ( navEl )
|
209 |
+
Element.show(navEl);
|
210 |
+
var selGAL = $('select-gallery');
|
211 |
+
if ( selGAL )
|
212 |
+
Element.show(selGAL);
|
213 |
+
}
|
214 |
+
if ( !this.ID )
|
215 |
+
this.grabImageData(0);
|
216 |
+
var div = $('upload-file');
|
217 |
+
if ( div )
|
218 |
+
Element.remove(div);
|
219 |
+
return false;
|
220 |
+
},
|
221 |
+
|
222 |
+
sendToEditor: function(id) {
|
223 |
+
this.grabImageData(id);
|
224 |
+
var link = '';
|
225 |
+
var display = '';
|
226 |
+
var h = '';
|
227 |
+
|
228 |
+
link = $A(document.forms.uploadoptions.elements.link).detect( function(i) { return i.checked; } ).value;
|
229 |
+
displayEl = $A(document.forms.uploadoptions.elements.display).detect( function(i) { return i.checked; } )
|
230 |
+
if ( displayEl )
|
231 |
+
display = displayEl.value;
|
232 |
+
else if ( 1 == this.currentImage.isImage )
|
233 |
+
display = 'full';
|
234 |
+
|
235 |
+
if ( 'none' != link )
|
236 |
+
h += '<a href="' + this.currentImage.src + '" <?php echo $thumbcode; ?> title="' + this.currentImage.alttext + '">';
|
237 |
+
if ( display && 'title' != display )
|
238 |
+
h += "<img src='" + ( 'thumb' == display ? ( this.currentImage.thumb ) : ( this.currentImage.src ) ) + "' alt='" + this.currentImage.title + "' title='" + this.currentImage.alttext + "' />";
|
239 |
+
else
|
240 |
+
h += this.currentImage.alttext;
|
241 |
+
if ( 'none' != link )
|
242 |
+
h += '</a>';
|
243 |
+
|
244 |
+
var win = window.opener ? window.opener : window.dialogArguments;
|
245 |
+
if ( !win )
|
246 |
+
win = top;
|
247 |
+
tinyMCE = win.tinyMCE;
|
248 |
+
if ( typeof tinyMCE != 'undefined' && tinyMCE.getInstanceById('content') ) {
|
249 |
+
tinyMCE.selectedInstance.getWin().focus();
|
250 |
+
tinyMCE.execCommand('mceInsertContent', false, h);
|
251 |
+
} else
|
252 |
+
win.edInsertContent(win.edCanvas, h);
|
253 |
+
if ( !this.ID )
|
254 |
+
this.cancelView();
|
255 |
+
return false;
|
256 |
+
},
|
257 |
+
|
258 |
+
deleteFile: function(id) {
|
259 |
+
if ( confirm("<?php printf(js_escape(__("Are you sure you want to delete the file '%s'?\nClick ok to delete or cancel to go back.")), '" + this.currentImage.title + "'); ?>") ) {
|
260 |
+
$('action-value').value = 'delete';
|
261 |
+
$('upload-file').submit();
|
262 |
+
return true;
|
263 |
+
}
|
264 |
+
return false;
|
265 |
+
}
|
266 |
+
|
267 |
+
};
|
268 |
+
theFileList.initializeVars();
|
269 |
+
theFileList.initializeLinks();
|
270 |
+
} );
|
admin/manage.php
CHANGED
@@ -8,8 +8,8 @@ function nggallery_admin_manage_gallery() {
|
|
8 |
//TODO:GID & Mode should the hidden post variables
|
9 |
|
10 |
// GET variables
|
11 |
-
$act_gid = trim(attribute_escape($_GET['gid']));
|
12 |
-
$act_pid = trim(attribute_escape($_GET['pid']));
|
13 |
$mode = trim(attribute_escape($_GET['mode']));
|
14 |
|
15 |
// get the options
|
@@ -44,7 +44,7 @@ function nggallery_admin_manage_gallery() {
|
|
44 |
|
45 |
// delete pictures
|
46 |
$imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
|
47 |
-
if ($ngg_options[deleteImg]) {
|
48 |
if (is_array($imagelist)) {
|
49 |
foreach ($imagelist as $filename) {
|
50 |
@unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
@@ -74,9 +74,9 @@ function nggallery_admin_manage_gallery() {
|
|
74 |
if ($gallerypath){
|
75 |
$thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
|
76 |
$thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
|
77 |
-
if ($ngg_options[deleteImg]) {
|
78 |
@unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
79 |
-
|
80 |
}
|
81 |
}
|
82 |
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $act_pid");
|
@@ -107,17 +107,17 @@ function nggallery_admin_manage_gallery() {
|
|
107 |
break;
|
108 |
case 1:
|
109 |
// Set watermark
|
110 |
-
|
111 |
nggallery::show_message(__('Watermark successfully added',"nggallery"));
|
112 |
break;
|
113 |
case 2:
|
114 |
// Create new thumbnails
|
115 |
-
|
116 |
nggallery::show_message(__('Thumbnails successfully created. Please refresh your browser cache.',"nggallery"));
|
117 |
break;
|
118 |
case 3:
|
119 |
// Resample images
|
120 |
-
|
121 |
nggallery::show_message(__('Images successfully resized',"nggallery"));
|
122 |
break;
|
123 |
case 4:
|
@@ -128,7 +128,7 @@ function nggallery_admin_manage_gallery() {
|
|
128 |
$thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
|
129 |
foreach ( $_POST['doaction'] as $imageID ) {
|
130 |
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
|
131 |
-
if ($ngg_options[deleteImg]) {
|
132 |
unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
133 |
unlink(WINABSPATH.$gallerypath.'/'.$filename);
|
134 |
}
|
@@ -139,6 +139,11 @@ function nggallery_admin_manage_gallery() {
|
|
139 |
nggallery::show_message(__('Pictures deleted successfully ',"nggallery"));
|
140 |
}
|
141 |
break;
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
}
|
144 |
|
@@ -195,45 +200,28 @@ function nggallery_admin_manage_gallery() {
|
|
195 |
|
196 |
check_admin_referer('ngg_updategallery');
|
197 |
|
198 |
-
$gallery_title = attribute_escape($_POST[title]);
|
199 |
-
$gallery_path = attribute_escape($_POST[path]);
|
200 |
-
$gallery_desc = attribute_escape($_POST[gallerydesc]);
|
201 |
-
$gallery_pageid = attribute_escape($_POST[pageid]);
|
202 |
-
$gallery_preview = attribute_escape($_POST[previewpic]);
|
203 |
|
204 |
$result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', path= '$gallery_path', galdesc = '$gallery_desc', pageid = '$gallery_pageid', previewpic = '$gallery_preview' WHERE gid = '$act_gid'");
|
205 |
if ($showTags)
|
206 |
-
$result = ngg_update_tags(attribute_escape($_POST[tags]));
|
207 |
else
|
208 |
-
$result = ngg_update_pictures(attribute_escape($_POST[description]), attribute_escape($_POST[alttext]), attribute_escape($_POST[exclude]), $act_gid );
|
209 |
|
210 |
nggallery::show_message(__('Update successful',"nggallery"));
|
211 |
}
|
212 |
|
213 |
if (isset ($_POST['scanfolder'])) {
|
214 |
// Rescan folder
|
215 |
-
|
216 |
check_admin_referer('ngg_updategallery');
|
217 |
|
218 |
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
|
219 |
-
|
220 |
-
// if no images are there, create empty array
|
221 |
-
if ($old_imageslist == NULL) $old_imageslist = array();
|
222 |
-
// read list of images in folder
|
223 |
-
$new_imageslist = ngg_scandir(WINABSPATH.$gallerypath);
|
224 |
-
// check difference
|
225 |
-
$imageslist = array_diff($new_imageslist, $old_imageslist);
|
226 |
-
//create thumbnails
|
227 |
-
ngg_generatethumbnail(WINABSPATH.$gallerypath,$imageslist);
|
228 |
-
// add images to database
|
229 |
-
$count_pic = 0;
|
230 |
-
if (is_array($imageslist)) {
|
231 |
-
foreach($imageslist as $picture) {
|
232 |
-
$result = $wpdb->query("INSERT INTO $wpdb->nggpictures (galleryid, filename, alttext, exclude) VALUES ('$act_gid', '$picture', '$picture', 0) ");
|
233 |
-
if ($result) $count_pic++;
|
234 |
-
}
|
235 |
-
$messagetext = '<font color="green">'.$count_pic.__(' picture(s) successfully added','nggallery').'</font>';
|
236 |
-
}
|
237 |
}
|
238 |
|
239 |
if (isset ($_POST['addnewpage'])) {
|
@@ -241,8 +229,8 @@ function nggallery_admin_manage_gallery() {
|
|
241 |
|
242 |
check_admin_referer('ngg_updategallery');
|
243 |
|
244 |
-
$parent_id = attribute_escape($_POST[parent_id]);
|
245 |
-
$gallery_title = attribute_escape($_POST[title]);
|
246 |
$gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
|
247 |
|
248 |
// Create a WP page
|
@@ -485,7 +473,7 @@ function getNumChecked(form)
|
|
485 |
</tr>
|
486 |
<tr>
|
487 |
<th align="left"><?php _e('Path', 'nggallery') ?>:</th>
|
488 |
-
<th align="left"><input type="text" size="50" name="path" value="<?php echo $act_gallery->path; ?>" /></th>
|
489 |
|
490 |
<th align="right"><?php _e('Create new page', 'nggallery') ?>:</th>
|
491 |
<th align="left">
|
@@ -511,6 +499,7 @@ function getNumChecked(form)
|
|
511 |
<option value="2" ><?php _e("Create new thumbnails",'nggallery')?></option>
|
512 |
<option value="3" ><?php _e("Resize images",'nggallery')?></option>
|
513 |
<option value="4" ><?php _e("Delete images",'nggallery')?></option>
|
|
|
514 |
<?php } else { ?>
|
515 |
<option value="5" ><?php _e("Add tags",'nggallery')?></option>
|
516 |
<option value="6" ><?php _e("Delete tags",'nggallery')?></option>
|
@@ -711,4 +700,4 @@ function ngg_update_tags( $taglist ) {
|
|
711 |
return;
|
712 |
}
|
713 |
|
714 |
-
?>
|
8 |
//TODO:GID & Mode should the hidden post variables
|
9 |
|
10 |
// GET variables
|
11 |
+
$act_gid = (int) trim(attribute_escape($_GET['gid']));
|
12 |
+
$act_pid = (int) trim(attribute_escape($_GET['pid']));
|
13 |
$mode = trim(attribute_escape($_GET['mode']));
|
14 |
|
15 |
// get the options
|
44 |
|
45 |
// delete pictures
|
46 |
$imagelist = $wpdb->get_col("SELECT filename FROM $wpdb->nggpictures WHERE galleryid = '$act_gid' ");
|
47 |
+
if ($ngg_options['deleteImg']) {
|
48 |
if (is_array($imagelist)) {
|
49 |
foreach ($imagelist as $filename) {
|
50 |
@unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
74 |
if ($gallerypath){
|
75 |
$thumb_folder = nggallery::get_thumbnail_folder($gallerypath, FALSE);
|
76 |
$thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
|
77 |
+
if ($ngg_options['deleteImg']) {
|
78 |
@unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
79 |
+
@unlink(WINABSPATH.$gallerypath.'/'.$filename);
|
80 |
}
|
81 |
}
|
82 |
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $act_pid");
|
107 |
break;
|
108 |
case 1:
|
109 |
// Set watermark
|
110 |
+
nggAdmin::generateWatermark(WINABSPATH.$gallerypath,$imageslist);
|
111 |
nggallery::show_message(__('Watermark successfully added',"nggallery"));
|
112 |
break;
|
113 |
case 2:
|
114 |
// Create new thumbnails
|
115 |
+
nggAdmin::generateThumbnail(WINABSPATH.$gallerypath,$imageslist);
|
116 |
nggallery::show_message(__('Thumbnails successfully created. Please refresh your browser cache.',"nggallery"));
|
117 |
break;
|
118 |
case 3:
|
119 |
// Resample images
|
120 |
+
nggAdmin::resizeImages(WINABSPATH.$gallerypath,$imageslist);
|
121 |
nggallery::show_message(__('Images successfully resized',"nggallery"));
|
122 |
break;
|
123 |
case 4:
|
128 |
$thumb_prefix = nggallery::get_thumbnail_prefix($gallerypath, FALSE);
|
129 |
foreach ( $_POST['doaction'] as $imageID ) {
|
130 |
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$imageID' ");
|
131 |
+
if ($ngg_options['deleteImg']) {
|
132 |
unlink(WINABSPATH.$gallerypath.'/'.$thumb_folder.'/'.$thumb_prefix.$filename);
|
133 |
unlink(WINABSPATH.$gallerypath.'/'.$filename);
|
134 |
}
|
139 |
nggallery::show_message(__('Pictures deleted successfully ',"nggallery"));
|
140 |
}
|
141 |
break;
|
142 |
+
case 8:
|
143 |
+
// Import Metadata
|
144 |
+
nggAdmin::import_MetaData($_POST['doaction']);
|
145 |
+
nggallery::show_message(__('Import metadata finished',"nggallery"));
|
146 |
+
break;
|
147 |
}
|
148 |
}
|
149 |
|
200 |
|
201 |
check_admin_referer('ngg_updategallery');
|
202 |
|
203 |
+
$gallery_title = attribute_escape($_POST['title']);
|
204 |
+
$gallery_path = attribute_escape($_POST['path']);
|
205 |
+
$gallery_desc = attribute_escape($_POST['gallerydesc']);
|
206 |
+
$gallery_pageid = attribute_escape($_POST['pageid']);
|
207 |
+
$gallery_preview = attribute_escape($_POST['previewpic']);
|
208 |
|
209 |
$result = $wpdb->query("UPDATE $wpdb->nggallery SET title= '$gallery_title', path= '$gallery_path', galdesc = '$gallery_desc', pageid = '$gallery_pageid', previewpic = '$gallery_preview' WHERE gid = '$act_gid'");
|
210 |
if ($showTags)
|
211 |
+
$result = ngg_update_tags(attribute_escape($_POST['tags']));
|
212 |
else
|
213 |
+
$result = ngg_update_pictures(attribute_escape($_POST['description']), attribute_escape($_POST['alttext']), attribute_escape($_POST['exclude']), $act_gid );
|
214 |
|
215 |
nggallery::show_message(__('Update successful',"nggallery"));
|
216 |
}
|
217 |
|
218 |
if (isset ($_POST['scanfolder'])) {
|
219 |
// Rescan folder
|
220 |
+
//TODO:Should be combine in import_gallery function !!!
|
221 |
check_admin_referer('ngg_updategallery');
|
222 |
|
223 |
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
|
224 |
+
nggAdmin::import_gallery($gallerypath);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
}
|
226 |
|
227 |
if (isset ($_POST['addnewpage'])) {
|
229 |
|
230 |
check_admin_referer('ngg_updategallery');
|
231 |
|
232 |
+
$parent_id = attribute_escape($_POST['parent_id']);
|
233 |
+
$gallery_title = attribute_escape($_POST['title']);
|
234 |
$gallery_name = $wpdb->get_var("SELECT name FROM $wpdb->nggallery WHERE gid = '$act_gid' ");
|
235 |
|
236 |
// Create a WP page
|
473 |
</tr>
|
474 |
<tr>
|
475 |
<th align="left"><?php _e('Path', 'nggallery') ?>:</th>
|
476 |
+
<th align="left"><input <?php if (IS_WPMU) echo 'readonly = "readonly"'; ?> type="text" size="50" name="path" value="<?php echo $act_gallery->path; ?>" /></th>
|
477 |
|
478 |
<th align="right"><?php _e('Create new page', 'nggallery') ?>:</th>
|
479 |
<th align="left">
|
499 |
<option value="2" ><?php _e("Create new thumbnails",'nggallery')?></option>
|
500 |
<option value="3" ><?php _e("Resize images",'nggallery')?></option>
|
501 |
<option value="4" ><?php _e("Delete images",'nggallery')?></option>
|
502 |
+
<option value="8" ><?php _e("Import metadata",'nggallery')?></option>
|
503 |
<?php } else { ?>
|
504 |
<option value="5" ><?php _e("Add tags",'nggallery')?></option>
|
505 |
<option value="6" ><?php _e("Delete tags",'nggallery')?></option>
|
700 |
return;
|
701 |
}
|
702 |
|
703 |
+
?>
|
admin/overview.php
CHANGED
@@ -14,7 +14,7 @@ function nggallery_admin_overview() {
|
|
14 |
$nggCheck->name = "ngg";
|
15 |
|
16 |
?>
|
17 |
-
<div class="wrap">
|
18 |
<h2><?php _e('NextGEN Gallery Overview', 'nggallery') ?></h2>
|
19 |
|
20 |
<div id="zeitgeist">
|
@@ -30,16 +30,21 @@ function nggallery_admin_overview() {
|
|
30 |
vprintf(__('There are totally %1$s pictures in %2$s galleries, which are spread across %3$s albums.', 'nggallery'), $replace);
|
31 |
?>
|
32 |
</p>
|
33 |
-
<?php if ($nggCheck->startCheck()) { ?>
|
34 |
<h3><font color="red"><?php _e('New Version available', 'nggallery') ?></font></h3>
|
35 |
<p><?php _e('The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information.', 'nggallery') ?></p>
|
36 |
<p><a href="http://wordpress.org/extend/plugins/nextgen-gallery/download/" target="_blank"> <?php _e('Download here', 'nggallery') ?> </a></p>
|
37 |
-
<?php } ?>
|
38 |
-
|
|
|
|
|
|
|
|
|
39 |
<ul>
|
40 |
<?php ngg_get_serverinfo(); ?>
|
41 |
</ul>
|
42 |
<?php ngg_gd_info(); ?>
|
|
|
43 |
</div>
|
44 |
|
45 |
<h3><?php _e('Welcome', 'nggallery') ?></h3>
|
@@ -145,6 +150,15 @@ function ngg_get_serverinfo() {
|
|
145 |
// Get actual memory_get_usage
|
146 |
if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'nggallery');
|
147 |
else $memory_usage = __('N/A', 'nggallery');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
?>
|
150 |
<li><?php _e('Operating System', 'nggallery'); ?> : <strong><?php echo PHP_OS; ?></strong></li>
|
@@ -159,6 +173,9 @@ function ngg_get_serverinfo() {
|
|
159 |
<li><?php _e('PHP Max Upload Size', 'nggallery'); ?> : <strong><?php echo $upload_max; ?></strong></li>
|
160 |
<li><?php _e('PHP Max Post Size', 'nggallery'); ?> : <strong><?php echo $post_max; ?></strong></li>
|
161 |
<li><?php _e('PHP Max Script Execute Time', 'nggallery'); ?> : <strong><?php echo $max_execute; ?>s</strong></li>
|
|
|
|
|
|
|
162 |
<?php
|
163 |
}
|
164 |
|
@@ -242,5 +259,129 @@ if ( !class_exists( "CheckPlugin" ) ) {
|
|
242 |
}
|
243 |
}
|
244 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
|
246 |
?>
|
14 |
$nggCheck->name = "ngg";
|
15 |
|
16 |
?>
|
17 |
+
<div class="wrap" style="overflow:hidden;">
|
18 |
<h2><?php _e('NextGEN Gallery Overview', 'nggallery') ?></h2>
|
19 |
|
20 |
<div id="zeitgeist">
|
30 |
vprintf(__('There are totally %1$s pictures in %2$s galleries, which are spread across %3$s albums.', 'nggallery'), $replace);
|
31 |
?>
|
32 |
</p>
|
33 |
+
<?php if ( $nggCheck->startCheck() && (!IS_WPMU) ) { ?>
|
34 |
<h3><font color="red"><?php _e('New Version available', 'nggallery') ?></font></h3>
|
35 |
<p><?php _e('The server reports that a new NextGEN Gallery Version is now available. Please visit the plugin homepage for more information.', 'nggallery') ?></p>
|
36 |
<p><a href="http://wordpress.org/extend/plugins/nextgen-gallery/download/" target="_blank"> <?php _e('Download here', 'nggallery') ?> </a></p>
|
37 |
+
<?php } ?>
|
38 |
+
<?php if (IS_WPMU) {
|
39 |
+
if (wpmu_enable_function('wpmuQuotaCheck'))
|
40 |
+
echo ngg_SpaceManager::details();
|
41 |
+
} else { ?>
|
42 |
+
<h3><?php _e('Server Settings', 'nggallery') ?></h3>
|
43 |
<ul>
|
44 |
<?php ngg_get_serverinfo(); ?>
|
45 |
</ul>
|
46 |
<?php ngg_gd_info(); ?>
|
47 |
+
<?php } ?>
|
48 |
</div>
|
49 |
|
50 |
<h3><?php _e('Welcome', 'nggallery') ?></h3>
|
150 |
// Get actual memory_get_usage
|
151 |
if (function_exists('memory_get_usage')) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . __(' MByte', 'nggallery');
|
152 |
else $memory_usage = __('N/A', 'nggallery');
|
153 |
+
// required for EXIF read
|
154 |
+
if (is_callable('exif_read_data')) $exif = __('Yes', 'nggallery'). " ( V" . substr(phpversion('exif'),0,4) . ")" ;
|
155 |
+
else $exif = __('No', 'nggallery');
|
156 |
+
// required for meta data
|
157 |
+
if (is_callable('iptcparse')) $iptc = __('Yes', 'nggallery');
|
158 |
+
else $iptc = __('No', 'nggallery');
|
159 |
+
// required for meta data
|
160 |
+
if (is_callable('xml_parser_create')) $xml = __('Yes', 'nggallery');
|
161 |
+
else $xml = __('No', 'nggallery');
|
162 |
|
163 |
?>
|
164 |
<li><?php _e('Operating System', 'nggallery'); ?> : <strong><?php echo PHP_OS; ?></strong></li>
|
173 |
<li><?php _e('PHP Max Upload Size', 'nggallery'); ?> : <strong><?php echo $upload_max; ?></strong></li>
|
174 |
<li><?php _e('PHP Max Post Size', 'nggallery'); ?> : <strong><?php echo $post_max; ?></strong></li>
|
175 |
<li><?php _e('PHP Max Script Execute Time', 'nggallery'); ?> : <strong><?php echo $max_execute; ?>s</strong></li>
|
176 |
+
<li><?php _e('PHP Exif support', 'nggallery'); ?> : <strong><?php echo $exif; ?></strong></li>
|
177 |
+
<li><?php _e('PHP IPTC support', 'nggallery'); ?> : <strong><?php echo $iptc; ?></strong></li>
|
178 |
+
<li><?php _e('PHP XML support', 'nggallery'); ?> : <strong><?php echo $xml; ?></strong></li>
|
179 |
<?php
|
180 |
}
|
181 |
|
259 |
}
|
260 |
}
|
261 |
}
|
262 |
+
// ***************************************************************
|
263 |
+
|
264 |
+
/**
|
265 |
+
* WPMU feature taken from Z-Space Upload Quotas
|
266 |
+
* @author Dylan Reeve
|
267 |
+
* @url http://dylan.wibble.net/
|
268 |
+
*
|
269 |
+
*/
|
270 |
+
|
271 |
+
class ngg_SpaceManager {
|
272 |
+
|
273 |
+
function getQuota() {
|
274 |
+
if (function_exists(get_space_allowed))
|
275 |
+
$quota = get_space_allowed();
|
276 |
+
else
|
277 |
+
$quota = get_site_option( "blog_upload_space" );
|
278 |
+
|
279 |
+
return $quota;
|
280 |
+
}
|
281 |
+
|
282 |
+
function details() {
|
283 |
+
|
284 |
+
// take default seetings
|
285 |
+
$settings = array(
|
286 |
+
|
287 |
+
'remain' => array(
|
288 |
+
'color_text' => 'white',
|
289 |
+
'color_bar' => '#0D324F',
|
290 |
+
'color_bg' => '#a0a0a0',
|
291 |
+
'decimals' => 2,
|
292 |
+
'unit' => 'm',
|
293 |
+
'display' => true,
|
294 |
+
'graph' => false
|
295 |
+
),
|
296 |
+
|
297 |
+
'used' => array(
|
298 |
+
'color_text' => 'white',
|
299 |
+
'color_bar' => '#0D324F',
|
300 |
+
'color_bg' => '#a0a0a0',
|
301 |
+
'decimals' => 2,
|
302 |
+
'unit' => 'm',
|
303 |
+
'display' => true,
|
304 |
+
'graph' => true
|
305 |
+
)
|
306 |
+
);
|
307 |
+
|
308 |
+
$quota = ngg_SpaceManager::getQuota() * 1024 * 1024;
|
309 |
+
$used = get_dirsize( constant( "ABSPATH" ) . constant( "UPLOADS" ) );
|
310 |
+
// $used = get_dirsize( ABSPATH."wp-content/blogs.dir/".$blog_id."/files" );
|
311 |
+
|
312 |
+
if ($used > $quota) $percentused = '100';
|
313 |
+
else $percentused = ( $used / $quota ) * 100;
|
314 |
+
|
315 |
+
$remaining = $quota - $used;
|
316 |
+
$percentremain = 100 - $percentused;
|
317 |
+
|
318 |
+
$out = "";
|
319 |
+
$out .= '<div id="spaceused"> <h3>'.__('Storage Space','nggallery').'</h3>';
|
320 |
+
|
321 |
+
if ($settings['used']['display']) {
|
322 |
+
$out .= __('Upload Space Used:','nggallery') . "\n";
|
323 |
+
$out .= ngg_SpaceManager::buildGraph($settings['used'], $used,$quota,$percentused);
|
324 |
+
$out .= "<br />";
|
325 |
+
}
|
326 |
+
|
327 |
+
if($settings['remain']['display']) {
|
328 |
+
$out .= __('Upload Space Remaining:','nggallery') . "\n";
|
329 |
+
$out .= ngg_SpaceManager::buildGraph($settings['remain'], $remaining,$quota,$percentremain);
|
330 |
+
|
331 |
+
}
|
332 |
+
|
333 |
+
$out .= "</div>";
|
334 |
+
|
335 |
+
echo $out;
|
336 |
+
}
|
337 |
+
|
338 |
+
function buildGraph($settings, $size, $quota, $percent) {
|
339 |
+
$color_bar = $settings['color_bar'];
|
340 |
+
$color_bg = $settings['color_bg'];
|
341 |
+
$color_text = $settings['color_text'];
|
342 |
+
|
343 |
+
switch ($settings['unit']) {
|
344 |
+
case "b":
|
345 |
+
$unit = "B";
|
346 |
+
break;
|
347 |
+
|
348 |
+
case "k":
|
349 |
+
$unit = "KB";
|
350 |
+
$size = $size / 1024;
|
351 |
+
$quota = $quota / 1024;
|
352 |
+
break;
|
353 |
+
|
354 |
+
case "g": // Gigabytes, really?
|
355 |
+
$unit = "GB";
|
356 |
+
$size = $size / 1024 / 1024 / 1024;
|
357 |
+
$quota = $quota / 1024 / 1024 / 1024;
|
358 |
+
break;
|
359 |
+
|
360 |
+
default:
|
361 |
+
$unit = "MB";
|
362 |
+
$size = $size / 1024 / 1024;
|
363 |
+
$quota = $quota / 1024 / 1024;
|
364 |
+
break;
|
365 |
+
}
|
366 |
+
|
367 |
+
$size = round($size, (int)$settings['decimals']);
|
368 |
+
|
369 |
+
$pct = round(($size / $quota)*100);
|
370 |
+
|
371 |
+
if ($settings['graph']) {
|
372 |
+
|
373 |
+
$out = '<div style="display: block; margin: 0; padding: 0; height: 15px; border: 1px inset; width: 100%; background-color: '.$color_bg.';">'."\n";
|
374 |
+
$out .= '<div style="display: block; height: 15px; border: none; background-color: '.$color_bar.'; width: '.$pct.'%;">'."\n";
|
375 |
+
$out .= '<div style="display: inline; position: relative; top: 0; left: 0; font-size: 10px; color: '.$color_text.'; font-weight: bold; padding-bottom: 2px; padding-left: 5px;">'."\n";
|
376 |
+
$out .= $size.$unit;
|
377 |
+
$out .= "</div>\n</div>\n</div>\n";
|
378 |
+
} else {
|
379 |
+
$out = "<strong>".$size.$unit." ( ".number_format($percent)."%)"."</strong><br />";
|
380 |
+
}
|
381 |
+
|
382 |
+
return $out;
|
383 |
+
}
|
384 |
+
|
385 |
+
}
|
386 |
|
387 |
?>
|
admin/settings.php
CHANGED
@@ -28,15 +28,31 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
28 |
update_option('ngg_options', $ngg_options);
|
29 |
$messagetext = '<font color="green">'.__('Update successfully','nggallery').'</font>';
|
30 |
}
|
|
|
|
|
|
|
|
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
// message windows
|
33 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
34 |
|
35 |
?>
|
36 |
-
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/
|
37 |
<!-- Additional IE/Win specific style sheet (Conditional Comments) -->
|
38 |
<!--[if lte IE 7]>
|
39 |
-
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/
|
40 |
<![endif]-->
|
41 |
<script type="text/javascript">
|
42 |
jQuery(function() {
|
@@ -95,12 +111,12 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
95 |
<h2><?php _e('General Options','nggallery'); ?></h2>
|
96 |
<form name="generaloptions" method="post">
|
97 |
<?php wp_nonce_field('ngg_settings') ?>
|
98 |
-
<input type="hidden" name="page_options" value="gallerypath,scanfolder,deleteImg,activateTags,appendType,maxImages" />
|
99 |
<fieldset class="options">
|
100 |
<table class="optiontable editform">
|
101 |
<tr valign="top">
|
102 |
<th align="left"><?php _e('Gallery path','nggallery') ?></th>
|
103 |
-
<td><input type="text" size="35" name="gallerypath" value="<?php echo $ngg_options[gallerypath]; ?>" title="TEST" /><br />
|
104 |
<?php _e('This is the default path for all galleries','nggallery') ?></td>
|
105 |
</tr>
|
106 |
<!--TODO: Later... -->
|
@@ -113,27 +129,37 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
113 |
-->
|
114 |
<tr valign="top">
|
115 |
<th align="left"><?php _e('Delete image files','nggallery') ?></th>
|
116 |
-
<td><input type="checkbox" name="deleteImg" value="1" <?php checked('1', $ngg_options[deleteImg]); ?> /><br />
|
117 |
<?php _e('Delete files, when removing a gallery in the database','nggallery') ?></td>
|
118 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
</table>
|
120 |
<legend><?php _e('Tags / Categories','nggallery') ?></legend>
|
121 |
<table class="optiontable">
|
122 |
<tr>
|
123 |
<th valign="top"><?php _e('Activate related images','nggallery') ?>:</th>
|
124 |
-
<td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg_options[activateTags]); ?> />
|
125 |
<?php _e('This option will append related images to every post','nggallery') ?>
|
126 |
</td>
|
127 |
</tr>
|
128 |
<tr>
|
129 |
<th valign="top"><?php _e('Match with','nggallery') ?>:</th>
|
130 |
-
<td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg_options[appendType]); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br />
|
131 |
-
<label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg_options[appendType]); ?> /> <?php _e('Tags', 'nggallery') ;?><?php if (version_compare($wp_version, '2.3.alpha', '<')) _e(' (require WordPress 2.3 or higher)', 'nggallery'); ?></label>
|
132 |
</td>
|
133 |
</tr>
|
134 |
<tr>
|
135 |
<th valign="top"><?php _e('Max. number of images','nggallery') ?>:</th>
|
136 |
-
<td><input type="text" name="maxImages" value="<?php echo $ngg_options[maxImages] ?>" size="3" maxlength="3" /><br />
|
137 |
<?php _e('0 will show all images','nggallery') ?>
|
138 |
</td>
|
139 |
</tr>
|
@@ -155,26 +181,26 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
155 |
<table class="optiontable editform">
|
156 |
<tr valign="top">
|
157 |
<th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th>
|
158 |
-
<td><input type="text" size="4" maxlength="4" name="thumbwidth" value="<?php echo $ngg_options[thumbwidth]; ?>" /> x <input type="text" size="4" maxlength="4" name="thumbheight" value="<?php echo $ngg_options[thumbheight]; ?>" /><br />
|
159 |
<?php _e('These values are maximum values ','nggallery') ?></td>
|
160 |
</tr>
|
161 |
<tr valign="top">
|
162 |
<th align="left"><?php _e('Set fix dimension','nggallery') ?></th>
|
163 |
-
<td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg_options[thumbfix]); ?> /><br />
|
164 |
<?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></td>
|
165 |
</tr>
|
166 |
<tr valign="top">
|
167 |
<th align="left"><?php _e('Crop square thumbnail from image','nggallery') ?></th>
|
168 |
-
<td><input type="checkbox" name="thumbcrop" value="1" <?php checked('1', $ngg_options[thumbcrop]); ?> /><br />
|
169 |
-
<?php _e('Create square thumbnails, use only the width setting :','nggallery') ?> <?php echo $ngg_options[thumbwidth]; ?> x <?php echo $ngg_options[thumbwidth]; ?></td>
|
170 |
</tr>
|
171 |
<tr valign="top">
|
172 |
<th align="left"><?php _e('Thumbnail quality','nggallery') ?></th>
|
173 |
-
<td><input type="text" size="3" maxlength="3" name="thumbquality" value="<?php echo $ngg_options[thumbquality]; ?>" /> %</td>
|
174 |
</tr>
|
175 |
<tr valign="top">
|
176 |
<th align="left"><?php _e('Resample Mode','nggallery') ?></th>
|
177 |
-
<td><input type="text" size="1" maxlength="1" name="thumbResampleMode" value="<?php echo $ngg_options[thumbResampleMode]; ?>" /><br />
|
178 |
<?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
|
179 |
</tr>
|
180 |
</table>
|
@@ -189,28 +215,42 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
189 |
<h2><?php _e('Image settings','nggallery'); ?></h2>
|
190 |
<form name="imagesettings" method="POST" action="<?php echo $filepath.'#images'; ?>" >
|
191 |
<?php wp_nonce_field('ngg_settings') ?>
|
192 |
-
<input type="hidden" name="page_options" value="imgResize,imgWidth,imgHeight,imgQuality,imgResampleMode" />
|
193 |
<fieldset class="options">
|
194 |
<table class="optiontable">
|
195 |
<tr valign="top">
|
196 |
<th scope="row"><label for="fixratio"><?php _e('Resize Images','nggallery') ?></label></th>
|
197 |
<!--TODO: checkbox fixratio can be used later -->
|
198 |
-
<td><input type="hidden" name="imgResize" value="1" <?php checked('1', $ngg_options[imgResize]); ?> /> </td>
|
199 |
-
<td><input type="text" size="5" name="imgWidth" value="<?php echo $ngg_options[imgWidth]; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg_options[imgHeight]; ?>" /><br />
|
200 |
<?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></td>
|
201 |
</tr>
|
202 |
<tr valign="top">
|
203 |
<th align="left"><?php _e('Image quality','nggallery') ?></th>
|
204 |
<td></td>
|
205 |
-
<td><input type="text" size="3" maxlength="3" name="imgQuality" value="<?php echo $ngg_options[imgQuality]; ?>" /> %</td>
|
206 |
</tr>
|
207 |
<tr valign="top">
|
208 |
<th align="left"><?php _e('Resample Mode','nggallery') ?></th>
|
209 |
<td></td>
|
210 |
-
<td><input type="text" size="1" maxlength="1" name="imgResampleMode" value="<?php echo $ngg_options[imgResampleMode]; ?>" /><br />
|
211 |
<?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
|
212 |
</tr>
|
213 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
<div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> »"/></div>
|
215 |
</fieldset>
|
216 |
</form>
|
@@ -227,45 +267,45 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
227 |
<table class="optiontable">
|
228 |
<tr>
|
229 |
<th valign="top"><?php _e('Activate jQuery navigation','nggallery') ?>:</th>
|
230 |
-
<td><input name="galUsejQuery" type="checkbox" value="1" <?php checked('1', $ngg_options[galUsejQuery]); ?> />
|
231 |
<?php _e('Please note : This is still experimental. Requires the Thickbox effect','nggallery') ?>
|
232 |
</td>
|
233 |
</tr>
|
234 |
<tr>
|
235 |
<th valign="top"><?php _e('Deactivate gallery page link','nggallery') ?>:</th>
|
236 |
-
<td><input name="galNoPages" type="checkbox" value="1" <?php checked('1', $ngg_options[galNoPages]); ?> />
|
237 |
<?php _e('The album will not link to a gallery subpage. The gallery is shown on the same page.','nggallery') ?>
|
238 |
</td>
|
239 |
</tr>
|
240 |
<tr>
|
241 |
<th valign="top"><?php _e('Number of images per page','nggallery') ?>:</th>
|
242 |
-
<td><input type="text" name="galImages" value="<?php echo $ngg_options[galImages] ?>" size="3" maxlength="3" /><br />
|
243 |
<?php _e('0 will disable pagination, all images on one page','nggallery') ?>
|
244 |
</td>
|
245 |
</tr>
|
246 |
<tr>
|
247 |
<th valign="top"><?php _e('Integrate slideshow','nggallery') ?>:</th>
|
248 |
-
<td><input name="galShowSlide" type="checkbox" value="1" <?php checked('1', $ngg_options[galShowSlide]); ?> />
|
249 |
-
<input type="text" name="galTextSlide" value="<?php echo $ngg_options[galTextSlide] ?>" size="20" />
|
250 |
-
<input type="text" name="galTextGallery" value="<?php echo $ngg_options[galTextGallery] ?>" size="20" />
|
251 |
</td>
|
252 |
</tr>
|
253 |
<tr>
|
254 |
<th valign="top"><?php _e('Show first','nggallery') ?>:</th>
|
255 |
-
<td><label><input name="galShowOrder" type="radio" value="gallery" <?php checked('gallery', $ngg_options[galShowOrder]); ?> /> <?php _e('Thumbnails', 'nggallery') ;?></label><br />
|
256 |
-
<label><input name="galShowOrder" type="radio" value="slide" <?php checked('slide', $ngg_options[galShowOrder]); ?> /> <?php _e('Slideshow', 'nggallery') ;?></label>
|
257 |
</td>
|
258 |
</tr>
|
259 |
<tr>
|
260 |
<th valign="top"><?php _e('Show thumbnail description','nggallery') ?>:</th>
|
261 |
-
<td><label><input name="galShowDesc" type="radio" value="none" <?php checked('none', $ngg_options[galShowDesc]); ?> /> <?php _e('None', 'nggallery') ;?></label><br />
|
262 |
-
<label><input name="galShowDesc" type="radio" value="desc" <?php checked('desc', $ngg_options[galShowDesc]); ?> /> <?php _e('Description text', 'nggallery') ;?></label><br />
|
263 |
-
<label><input name="galShowDesc" type="radio" value="alttext" <?php checked('alttext', $ngg_options[galShowDesc]); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
|
264 |
</td>
|
265 |
</tr>
|
266 |
<tr>
|
267 |
<th valign="top"><?php _e('Show ImageBrowser','nggallery') ?>:</th>
|
268 |
-
<td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg_options[galImgBrowser]); ?> />
|
269 |
<?php _e('The gallery will open the ImageBrowser instead the effect.','nggallery') ?>
|
270 |
</td>
|
271 |
</tr>
|
@@ -274,15 +314,15 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
274 |
<table class="optiontable">
|
275 |
<tr>
|
276 |
<th valign="top"><?php _e('Sort thumbnails','nggallery') ?>:</th>
|
277 |
-
<td><label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg_options[galSort]); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
|
278 |
-
<label><input name="galSort" type="radio" value="filename" <?php checked('filename', $ngg_options[galSort]); ?> /> <?php _e('File name', 'nggallery') ;?></label><br />
|
279 |
-
<label><input name="galSort" type="radio" value="alttext" <?php checked('alttext', $ngg_options[galSort]); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
|
280 |
</td>
|
281 |
</tr>
|
282 |
<tr>
|
283 |
<th valign="top"><?php _e('Sort direction','nggallery') ?>:</th>
|
284 |
-
<td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg_options[galSortDir]); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
|
285 |
-
<label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg_options[galSortDir]); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
|
286 |
</td>
|
287 |
</tr>
|
288 |
</table>
|
@@ -306,28 +346,28 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
306 |
<th><?php _e('JavaScript Thumbnail effect','nggallery') ?>:</th>
|
307 |
<td>
|
308 |
<select size="1" id="thumbEffect" name="thumbEffect" onchange="insertcode(this.value)">
|
309 |
-
<option value="none" <?php selected('none', $ngg_options[thumbEffect]); ?> ><?php _e('None', 'nggallery') ;?></option>
|
310 |
-
<option value="thickbox" <?php selected('thickbox', $ngg_options[thumbEffect]); ?> ><?php _e('Thickbox', 'nggallery') ;?></option>
|
311 |
-
<option value="lightbox" <?php selected('lightbox', $ngg_options[thumbEffect]); ?> ><?php _e('Lightbox', 'nggallery') ;?></option>
|
312 |
-
<option value="highslide" <?php selected('highslide', $ngg_options[thumbEffect]); ?> ><?php _e('Highslide', 'nggallery') ;?></option>
|
313 |
-
<option value="shutter" <?php selected('shutter', $ngg_options[thumbEffect]); ?> ><?php _e('Shutter', 'nggallery') ;?></option>
|
314 |
-
<option value="custom" <?php selected('custom', $ngg_options[thumbEffect]); ?> ><?php _e('Custom', 'nggallery') ;?></option>
|
315 |
</select>
|
316 |
</td>
|
317 |
</tr>
|
318 |
<tr valign="top">
|
319 |
<th><?php _e('Link Code line','nggallery') ?> :</th>
|
320 |
-
<td><textarea id="thumbCode" name="thumbCode" cols="50" rows="5"><?php echo htmlspecialchars(stripslashes($ngg_options[thumbCode])); ?></textarea></td>
|
321 |
</tr>
|
322 |
</table>
|
323 |
|
324 |
-
<div id="tbImage" <?php if ($ngg_options[thumbEffect] != 'thickbox') echo 'style="display:none"'?> >
|
325 |
<table class="optiontable">
|
326 |
<tr valign="top">
|
327 |
<th><?php _e('Select loading image','nggallery') ?> :</th>
|
328 |
<td>
|
329 |
-
<label><input name="thickboxImage" id="v2" type="radio" title="Version 2" value="loadingAnimationv2.gif" <?php checked('loadingAnimationv2.gif', $ngg_options[thickboxImage]); ?> /></label> <img src="<?php echo NGGALLERY_URLPATH.'thickbox/loadingAnimationv2.gif' ?>" alt="Version 2" />
|
330 |
-
<label><input name="thickboxImage" id="v3" type="radio" title="Version 3" value="loadingAnimationv3.gif" <?php checked('loadingAnimationv3.gif', $ngg_options[thickboxImage]); ?> /></label> <img src="<?php echo NGGALLERY_URLPATH.'thickbox/loadingAnimationv3.gif' ?>" alt="Version 3" />
|
331 |
</td>
|
332 |
</tr>
|
333 |
</table>
|
@@ -362,19 +402,19 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
362 |
<strong><?php _e('Position','nggallery') ?></strong><br />
|
363 |
<table border="1">
|
364 |
<tr>
|
365 |
-
<td><input type="radio" name="wmPos" value="topLeft" <?php checked('topLeft', $ngg_options[wmPos]); ?> /></td>
|
366 |
-
<td><input type="radio" name="wmPos" value="topCenter" <?php checked('topCenter', $ngg_options[wmPos]); ?> /></td>
|
367 |
-
<td><input type="radio" name="wmPos" value="topRight" <?php checked('topRight', $ngg_options[wmPos]); ?> /></td>
|
368 |
</tr>
|
369 |
<tr>
|
370 |
-
<td><input type="radio" name="wmPos" value="midLeft" <?php checked('midLeft', $ngg_options[wmPos]); ?> /></td>
|
371 |
-
<td><input type="radio" name="wmPos" value="midCenter" <?php checked('midCenter', $ngg_options[wmPos]); ?> /></td>
|
372 |
-
<td><input type="radio" name="wmPos" value="midRight" <?php checked('midRight', $ngg_options[wmPos]); ?> /></td>
|
373 |
</tr>
|
374 |
<tr>
|
375 |
-
<td><input type="radio" name="wmPos" value="botLeft" <?php checked('botLeft', $ngg_options[wmPos]); ?> /></td>
|
376 |
-
<td><input type="radio" name="wmPos" value="botCenter" <?php checked('botCenter', $ngg_options[wmPos]); ?> /></td>
|
377 |
-
<td><input type="radio" name="wmPos" value="botRight" <?php checked('botRight', $ngg_options[wmPos]); ?> /></td>
|
378 |
</tr>
|
379 |
</table>
|
380 |
</td>
|
@@ -383,11 +423,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
383 |
<table border="0">
|
384 |
<tr>
|
385 |
<td>x</td>
|
386 |
-
<td><input type="text" name="wmXpos" value="<?php echo $ngg_options[wmXpos] ?>" size="4" /> px</td>
|
387 |
</tr>
|
388 |
<tr>
|
389 |
<td>y</td>
|
390 |
-
<td><input type="text" name="wmYpos" value="<?php echo $ngg_options[wmYpos] ?>" size="4" /> px</td>
|
391 |
</tr>
|
392 |
</table>
|
393 |
</td>
|
@@ -397,54 +437,56 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
397 |
<fieldset class="options">
|
398 |
<table class="optiontable" border="0">
|
399 |
<tr>
|
400 |
-
<td align="left" colspan="2"><label><input type="radio" name="wmType" value="image" <?php checked('image', $ngg_options[wmType]); ?> /> <?php _e('Use image as watermark','nggallery') ?></label></td>
|
401 |
</tr>
|
402 |
<tr>
|
403 |
<th><?php _e('URL to file','nggallery') ?> :</th>
|
404 |
-
<td><input type="text" size="40" name="wmPath" value="<?php echo $ngg_options[wmPath]; ?>" /><br />
|
405 |
<?php if(!ini_get('allow_url_fopen')) _e('The accessing of URL files is disabled at your server (allow_url_fopen)','nggallery') ?> </td>
|
406 |
</tr>
|
407 |
<tr>
|
408 |
<td colspan="2"><hr /></td>
|
409 |
</tr>
|
410 |
<tr>
|
411 |
-
<td align="left" colspan="2"><label><input type="radio" name="wmType" value="text" <?php checked('text', $ngg_options[wmType]); ?> /> <?php _e('Use text as watermark','nggallery') ?></label></td>
|
412 |
</tr>
|
413 |
<tr>
|
414 |
<th><?php _e('Font','nggallery') ?>:</th>
|
415 |
<td><select name="wmFont" size="1"> <?php
|
416 |
$fontlist = ngg_get_TTFfont();
|
417 |
foreach ( $fontlist as $fontfile ) {
|
418 |
-
echo "\n".'<option value="'.$fontfile.'" '.ngg_input_selected($fontfile, $ngg_options[wmFont]).' >'.$fontfile.'</option>';
|
419 |
}
|
420 |
?>
|
421 |
</select><br />
|
422 |
-
<?php
|
|
|
|
|
|
|
423 |
</td>
|
424 |
</tr>
|
425 |
<tr>
|
426 |
<th><?php _e('Size','nggallery') ?>:</th>
|
427 |
-
<td><input type="text" name="wmSize" value="<?php echo $ngg_options[wmSize] ?>" size="4" maxlength="2" /> px</td>
|
428 |
</tr>
|
429 |
<tr>
|
430 |
<th><?php _e('Color','nggallery') ?>:</th>
|
431 |
-
<td><input type="text" size="6" maxlength="6" id="wmColor" name="wmColor" onchange="setcolor('#previewText', this.value)" value="<?php echo $ngg_options[wmColor] ?>" />
|
432 |
-
<input type="text" size="1" readonly="readonly" id="previewText" style="background-color: #<?php echo $ngg_options[wmColor] ?>" /> <?php _e('(hex w/o #)','nggallery') ?></td>
|
433 |
</tr>
|
434 |
<tr>
|
435 |
<th valign="top"><?php _e('Text','nggallery') ?>:</th>
|
436 |
-
<td><textarea name="wmText" cols="40" rows="4"><?php echo $ngg_options[wmText] ?></textarea></td>
|
437 |
</tr>
|
438 |
<tr>
|
439 |
<th><?php _e('Opaque','nggallery') ?>:</th>
|
440 |
-
<td><input type="text" name="wmOpaque" value="<?php echo $ngg_options[wmOpaque] ?>" size="3" maxlength="3" /> % </td>
|
441 |
</tr>
|
442 |
</table>
|
443 |
</fieldset>
|
444 |
<div class="clear"> </div>
|
445 |
<div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> »"/></div>
|
446 |
</form>
|
447 |
-
<center>Based on Marekki's Watermark plugin</center>
|
448 |
</div>
|
449 |
|
450 |
<!-- Slideshow settings -->
|
@@ -452,96 +494,101 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
452 |
<div id="slideshow">
|
453 |
<form name="player_options" method="POST" action="<?php echo $filepath.'#slideshow'; ?>" >
|
454 |
<?php wp_nonce_field('ngg_settings') ?>
|
455 |
-
<input type="hidden" name="page_options" value="irWidth,irHeight,irShuffle,irLinkfromdisplay,irShownavigation,irShowicons,irWatermark,irOverstretch,irRotatetime,irTransition,irKenburns,irBackcolor,irFrontcolor,irLightcolor,irAudio,irXHTMLvalid" />
|
456 |
<h2><?php _e('Slideshow','nggallery'); ?></h2>
|
457 |
<fieldset class="options">
|
458 |
<?php if (!NGGALLERY_IREXIST) { ?><p><div id="message" class="error fade"><p><?php _e('The imagerotator.swf is not in the nggallery folder, the slideshow will not work.','nggallery') ?></p></div></p><?php }?>
|
459 |
-
<p><?php _e('The settings are used in the JW Image Rotator Version 3.
|
460 |
<?php _e('See more information for the Flash Player on the web page', 'nggallery') ?> <a href="http://www.jeroenwijering.com/?item=JW_Image_Rotator" target="_blank">JW Image Rotator from Jeroen Wijering</a>.</p>
|
461 |
<table class="optiontable" border="0" >
|
462 |
<tr>
|
463 |
<th><?php _e('Default size (W x H)','nggallery') ?>:</th>
|
464 |
-
<td><input type="text" size="3" maxlength="4" name="irWidth" value="<?php echo $ngg_options[irWidth] ?>" /> x
|
465 |
-
<input type="text" size="3" maxlength="4" name="irHeight" value="<?php echo $ngg_options[irHeight] ?>" /></td>
|
466 |
</tr>
|
467 |
<tr>
|
468 |
<th><?php _e('Shuffle mode','nggallery') ?>:</th>
|
469 |
-
<td><input name="irShuffle" type="checkbox" value="1" <?php checked('1', $ngg_options[irShuffle]); ?> /></td>
|
470 |
</tr>
|
471 |
<tr>
|
472 |
<th><?php _e('Show next image on click','nggallery') ?>:</th>
|
473 |
-
<td><input name="irLinkfromdisplay" type="checkbox" value="1" <?php checked('1', $ngg_options[irLinkfromdisplay]); ?> /></td>
|
474 |
</tr>
|
475 |
<tr>
|
476 |
<th><?php _e('Show navigation bar','nggallery') ?>:</th>
|
477 |
-
<td><input name="irShownavigation" type="checkbox" value="1" <?php checked('1', $ngg_options[irShownavigation]); ?> /></td>
|
478 |
</tr>
|
479 |
<tr>
|
480 |
<th><?php _e('Show loading icon','nggallery') ?>:</th>
|
481 |
-
<td><input name="irShowicons" type="checkbox" value="1" <?php checked('1', $ngg_options[irShowicons]); ?> /></td>
|
482 |
</tr>
|
483 |
<tr>
|
484 |
<th><?php _e('Use watermark logo','nggallery') ?>:</th>
|
485 |
-
<td><input name="irWatermark" type="checkbox" value="1" <?php checked('1', $ngg_options[irWatermark]); ?> />
|
486 |
<?php _e('You can change the logo at the watermark settings','nggallery') ?></td>
|
487 |
</tr>
|
488 |
<tr>
|
489 |
<th><?php _e('Stretch image','nggallery') ?>:</th>
|
490 |
<td>
|
491 |
<select size="1" name="irOverstretch">
|
492 |
-
<option value="true" <?php selected('true', $ngg_options[irOverstretch]); ?> ><?php _e('true', 'nggallery') ;?></option>
|
493 |
-
<option value="false" <?php selected('false', $ngg_options[irOverstretch]); ?> ><?php _e('false', 'nggallery') ;?></option>
|
494 |
-
<option value="fit" <?php selected('fit', $ngg_options[irOverstretch]); ?> ><?php _e('fit', 'nggallery') ;?></option>
|
495 |
-
<option value="none" <?php selected('none', $ngg_options[irOverstretch]); ?> ><?php _e('none', 'nggallery') ;?></option>
|
496 |
</select>
|
497 |
</td>
|
498 |
</tr>
|
499 |
<tr>
|
500 |
<th><?php _e('Duration time','nggallery') ?>:</th>
|
501 |
-
<td><input type="text" size="3" maxlength="3" name="irRotatetime" value="<?php echo $ngg_options[irRotatetime] ?>" /> <?php _e('sec.', 'nggallery') ;?></td>
|
502 |
</tr>
|
503 |
<tr>
|
504 |
<th><?php _e('Transition / Fade effect','nggallery') ?>:</th>
|
505 |
<td>
|
506 |
<select size="1" name="irTransition">
|
507 |
-
<option value="fade" <?php selected('fade', $ngg_options[irTransition]); ?> ><?php _e('fade', 'nggallery') ;?></option>
|
508 |
-
<option value="bgfade" <?php selected('bgfade', $ngg_options[irTransition]); ?> ><?php _e('bgfade', 'nggallery') ;?></option>
|
509 |
-
<option value="slowfade" <?php selected('slowfade', $ngg_options[irTransition]); ?> ><?php _e('slowfade', 'nggallery') ;?></option>
|
510 |
-
<option value="circles" <?php selected('circles', $ngg_options[irTransition]); ?> ><?php _e('circles', 'nggallery') ;?></option>
|
511 |
-
<option value="bubbles" <?php selected('bubbles', $ngg_options[irTransition]); ?> ><?php _e('bubbles', 'nggallery') ;?></option>
|
512 |
-
<option value="blocks" <?php selected('blocks', $ngg_options[irTransition]); ?> ><?php _e('blocks', 'nggallery') ;?></option>
|
513 |
-
<option value="fluids" <?php selected('fluids', $ngg_options[irTransition]); ?> ><?php _e('fluids', 'nggallery') ;?></option>
|
514 |
-
<option value="flash" <?php selected('flash', $ngg_options[irTransition]); ?> ><?php _e('flash', 'nggallery') ;?></option>
|
515 |
-
<option value="lines" <?php selected('lines', $ngg_options[irTransition]); ?> ><?php _e('lines', 'nggallery') ;?></option>
|
516 |
-
<option value="random" <?php selected('random', $ngg_options[irTransition]); ?> ><?php _e('random', 'nggallery') ;?></option>
|
517 |
</select>
|
518 |
</tr>
|
519 |
<tr>
|
520 |
<th><?php _e('Use slow zooming effect','nggallery') ?>:</th>
|
521 |
-
<td><input name="irKenburns" type="checkbox" value="1" <?php checked('1', $ngg_options[irKenburns]); ?> /></td>
|
522 |
</tr>
|
523 |
<tr>
|
524 |
<th><?php _e('Background Color','nggallery') ?>:</th>
|
525 |
-
<td><input type="text" size="6" maxlength="6" id="irBackcolor" name="irBackcolor" onchange="setcolor('#previewBack', this.value)" value="<?php echo $ngg_options[irBackcolor] ?>" />
|
526 |
-
<input type="text" size="1" readonly="readonly" id="previewBack" style="background-color: #<?php echo $ngg_options[irBackcolor] ?>" /></td>
|
527 |
</tr>
|
528 |
<tr>
|
529 |
<th><?php _e('Texts / Buttons Color','nggallery') ?>:</th>
|
530 |
-
<td><input type="text" size="6" maxlength="6" id="irFrontcolor" name="irFrontcolor" onchange="setcolor('#previewFront', this.value)" value="<?php echo $ngg_options[irFrontcolor] ?>" />
|
531 |
-
<input type="text" size="1" readonly="readonly" id="previewFront" style="background-color: #<?php echo $ngg_options[irFrontcolor] ?>" /></td>
|
532 |
</tr>
|
533 |
<tr>
|
534 |
<th><?php _e('Rollover / Active Color','nggallery') ?>:</th>
|
535 |
-
<td><input type="text" size="6" maxlength="6" id="irLightcolor" name="irLightcolor" onchange="setcolor('#previewLight', this.value)" value="<?php echo $ngg_options[irLightcolor] ?>" />
|
536 |
-
<input type="text" size="1" readonly="readonly" id="previewLight" style="background-color: #<?php echo $ngg_options[irLightcolor] ?>" /></td>
|
|
|
|
|
|
|
|
|
|
|
537 |
</tr>
|
538 |
<tr>
|
539 |
<th><?php _e('Background music (URL)','nggallery') ?>:</th>
|
540 |
-
<td><input type="text" size="50" id="irAudio" name="irAudio" value="<?php echo $ngg_options[irAudio] ?>" /></td>
|
541 |
</tr>
|
542 |
<tr>
|
543 |
<th><?php _e('Try XHTML validation (with CDATA)','nggallery') ?>:</th>
|
544 |
-
<td><input name="irXHTMLvalid" type="checkbox" value="1" <?php checked('1', $ngg_options[irXHTMLvalid]); ?> />
|
545 |
<?php _e('Important : Could causes problem at some browser. Please recheck your page.','nggallery') ?></td>
|
546 |
</tr>
|
547 |
</table>
|
28 |
update_option('ngg_options', $ngg_options);
|
29 |
$messagetext = '<font color="green">'.__('Update successfully','nggallery').'</font>';
|
30 |
}
|
31 |
+
|
32 |
+
if ( isset($_POST['clearcache']) ) {
|
33 |
+
|
34 |
+
$path = WINABSPATH . $ngg_options['gallerypath'] . "cache/";
|
35 |
|
36 |
+
if (is_dir($path))
|
37 |
+
if ($handle = opendir($path)) {
|
38 |
+
while (false !== ($file = readdir($handle))) {
|
39 |
+
if ($file != '.' && $file != '..') {
|
40 |
+
@unlink($path."/".$file);
|
41 |
+
}
|
42 |
+
}
|
43 |
+
closedir($handle);
|
44 |
+
}
|
45 |
+
|
46 |
+
$messagetext = '<font color="green">'.__('Cache cleared','nggallery').'</font>';
|
47 |
+
}
|
48 |
// message windows
|
49 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
50 |
|
51 |
?>
|
52 |
+
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/css/jquery.tabs.css" type="text/css" media="print, projection, screen"/>
|
53 |
<!-- Additional IE/Win specific style sheet (Conditional Comments) -->
|
54 |
<!--[if lte IE 7]>
|
55 |
+
<link rel="stylesheet" href="<?php echo NGGALLERY_URLPATH ?>admin/css/jquery.tabs-ie.css" type="text/css" media="projection, screen"/>
|
56 |
<![endif]-->
|
57 |
<script type="text/javascript">
|
58 |
jQuery(function() {
|
111 |
<h2><?php _e('General Options','nggallery'); ?></h2>
|
112 |
<form name="generaloptions" method="post">
|
113 |
<?php wp_nonce_field('ngg_settings') ?>
|
114 |
+
<input type="hidden" name="page_options" value="gallerypath,scanfolder,deleteImg,swfUpload,usePermalinks,activateTags,appendType,maxImages" />
|
115 |
<fieldset class="options">
|
116 |
<table class="optiontable editform">
|
117 |
<tr valign="top">
|
118 |
<th align="left"><?php _e('Gallery path','nggallery') ?></th>
|
119 |
+
<td><input <?php if (IS_WPMU) echo 'readonly = "readonly"'; ?> type="text" size="35" name="gallerypath" value="<?php echo $ngg_options['gallerypath']; ?>" title="TEST" /><br />
|
120 |
<?php _e('This is the default path for all galleries','nggallery') ?></td>
|
121 |
</tr>
|
122 |
<!--TODO: Later... -->
|
129 |
-->
|
130 |
<tr valign="top">
|
131 |
<th align="left"><?php _e('Delete image files','nggallery') ?></th>
|
132 |
+
<td><input <?php if (IS_WPMU) echo 'readonly = "readonly"'; ?> type="checkbox" name="deleteImg" value="1" <?php checked('1', $ngg_options['deleteImg']); ?> /><br />
|
133 |
<?php _e('Delete files, when removing a gallery in the database','nggallery') ?></td>
|
134 |
</tr>
|
135 |
+
<tr valign="top">
|
136 |
+
<th align="left"><?php _e('Activate batch upload','nggallery') ?></th>
|
137 |
+
<td><input type="checkbox" name="swfUpload" value="1" <?php checked('1', $ngg_options['swfUpload']); ?> /><br />
|
138 |
+
<?php _e('The batch upload requires Adobe Flash 9, disable it if you have problems','nggallery') ?></td>
|
139 |
+
</tr>
|
140 |
+
<tr valign="top">
|
141 |
+
<th align="left"><?php _e('Activate permalinks','nggallery') ?></th>
|
142 |
+
<td><input type="checkbox" name="usePermalinks" value="1" <?php checked('1', $ngg_options['usePermalinks']); ?> /><br />
|
143 |
+
<?php _e('When you activate this option, you need to update your permalink structure one time.','nggallery') ?></td>
|
144 |
+
</tr>
|
145 |
</table>
|
146 |
<legend><?php _e('Tags / Categories','nggallery') ?></legend>
|
147 |
<table class="optiontable">
|
148 |
<tr>
|
149 |
<th valign="top"><?php _e('Activate related images','nggallery') ?>:</th>
|
150 |
+
<td><input name="activateTags" type="checkbox" value="1" <?php checked('1', $ngg_options['activateTags']); ?> />
|
151 |
<?php _e('This option will append related images to every post','nggallery') ?>
|
152 |
</td>
|
153 |
</tr>
|
154 |
<tr>
|
155 |
<th valign="top"><?php _e('Match with','nggallery') ?>:</th>
|
156 |
+
<td><label><input name="appendType" type="radio" value="category" <?php checked('category', $ngg_options['appendType']); ?> /> <?php _e('Categories', 'nggallery') ;?></label><br />
|
157 |
+
<label><input name="appendType" type="radio" value="tags" <?php checked('tags', $ngg_options['appendType']); ?> /> <?php _e('Tags', 'nggallery') ;?><?php if (version_compare($wp_version, '2.3.alpha', '<')) _e(' (require WordPress 2.3 or higher)', 'nggallery'); ?></label>
|
158 |
</td>
|
159 |
</tr>
|
160 |
<tr>
|
161 |
<th valign="top"><?php _e('Max. number of images','nggallery') ?>:</th>
|
162 |
+
<td><input type="text" name="maxImages" value="<?php echo $ngg_options['maxImages'] ?>" size="3" maxlength="3" /><br />
|
163 |
<?php _e('0 will show all images','nggallery') ?>
|
164 |
</td>
|
165 |
</tr>
|
181 |
<table class="optiontable editform">
|
182 |
<tr valign="top">
|
183 |
<th align="left"><?php _e('Width x height (in pixel)','nggallery') ?></th>
|
184 |
+
<td><input type="text" size="4" maxlength="4" name="thumbwidth" value="<?php echo $ngg_options['thumbwidth']; ?>" /> x <input type="text" size="4" maxlength="4" name="thumbheight" value="<?php echo $ngg_options['thumbheight']; ?>" /><br />
|
185 |
<?php _e('These values are maximum values ','nggallery') ?></td>
|
186 |
</tr>
|
187 |
<tr valign="top">
|
188 |
<th align="left"><?php _e('Set fix dimension','nggallery') ?></th>
|
189 |
+
<td><input type="checkbox" name="thumbfix" value="1" <?php checked('1', $ngg_options['thumbfix']); ?> /><br />
|
190 |
<?php _e('Ignore the aspect ratio, no portrait thumbnails','nggallery') ?></td>
|
191 |
</tr>
|
192 |
<tr valign="top">
|
193 |
<th align="left"><?php _e('Crop square thumbnail from image','nggallery') ?></th>
|
194 |
+
<td><input type="checkbox" name="thumbcrop" value="1" <?php checked('1', $ngg_options['thumbcrop']); ?> /><br />
|
195 |
+
<?php _e('Create square thumbnails, use only the width setting :','nggallery') ?> <?php echo $ngg_options['thumbwidth']; ?> x <?php echo $ngg_options['thumbwidth']; ?></td>
|
196 |
</tr>
|
197 |
<tr valign="top">
|
198 |
<th align="left"><?php _e('Thumbnail quality','nggallery') ?></th>
|
199 |
+
<td><input type="text" size="3" maxlength="3" name="thumbquality" value="<?php echo $ngg_options['thumbquality']; ?>" /> %</td>
|
200 |
</tr>
|
201 |
<tr valign="top">
|
202 |
<th align="left"><?php _e('Resample Mode','nggallery') ?></th>
|
203 |
+
<td><input type="text" size="1" maxlength="1" name="thumbResampleMode" value="<?php echo $ngg_options['thumbResampleMode']; ?>" /><br />
|
204 |
<?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
|
205 |
</tr>
|
206 |
</table>
|
215 |
<h2><?php _e('Image settings','nggallery'); ?></h2>
|
216 |
<form name="imagesettings" method="POST" action="<?php echo $filepath.'#images'; ?>" >
|
217 |
<?php wp_nonce_field('ngg_settings') ?>
|
218 |
+
<input type="hidden" name="page_options" value="imgResize,imgWidth,imgHeight,imgQuality,imgResampleMode,imgCacheSinglePic" />
|
219 |
<fieldset class="options">
|
220 |
<table class="optiontable">
|
221 |
<tr valign="top">
|
222 |
<th scope="row"><label for="fixratio"><?php _e('Resize Images','nggallery') ?></label></th>
|
223 |
<!--TODO: checkbox fixratio can be used later -->
|
224 |
+
<td><input type="hidden" name="imgResize" value="1" <?php checked('1', $ngg_options['imgResize']); ?> /> </td>
|
225 |
+
<td><input type="text" size="5" name="imgWidth" value="<?php echo $ngg_options['imgWidth']; ?>" /> x <input type="text" size="5" name="imgHeight" value="<?php echo $ngg_options['imgHeight']; ?>" /><br />
|
226 |
<?php _e('Width x height (in pixel). NextGEN Gallery will keep ratio size','nggallery') ?></td>
|
227 |
</tr>
|
228 |
<tr valign="top">
|
229 |
<th align="left"><?php _e('Image quality','nggallery') ?></th>
|
230 |
<td></td>
|
231 |
+
<td><input type="text" size="3" maxlength="3" name="imgQuality" value="<?php echo $ngg_options['imgQuality']; ?>" /> %</td>
|
232 |
</tr>
|
233 |
<tr valign="top">
|
234 |
<th align="left"><?php _e('Resample Mode','nggallery') ?></th>
|
235 |
<td></td>
|
236 |
+
<td><input type="text" size="1" maxlength="1" name="imgResampleMode" value="<?php echo $ngg_options['imgResampleMode']; ?>" /><br />
|
237 |
<?php _e('Value between 1-5 (higher value, more CPU load)','nggallery') ?></td>
|
238 |
</tr>
|
239 |
</table>
|
240 |
+
<legend><?php _e('Single picture','nggallery') ?></legend>
|
241 |
+
<table class="optiontable">
|
242 |
+
<tr valign="top">
|
243 |
+
<th align="left"><?php _e('Cache single pictures','nggallery') ?></th>
|
244 |
+
<td></td>
|
245 |
+
<td><input <?php if (IS_WPMU) echo 'readonly = "readonly"'; ?> type="checkbox" name="imgCacheSinglePic" value="1" <?php checked('1', $ngg_options['imgCacheSinglePic']); ?> />
|
246 |
+
<?php _e('Creates a file for each singlepic settings. Reduce the CPU load','nggallery') ?></td>
|
247 |
+
</tr>
|
248 |
+
<tr valign="top">
|
249 |
+
<th align="left"><?php _e('Clear cache folder','nggallery') ?></th>
|
250 |
+
<td></td>
|
251 |
+
<td><input type="submit" name="clearcache" value="<?php _e('Proceed now','nggallery') ;?> »"/></td>
|
252 |
+
</tr>
|
253 |
+
</table>
|
254 |
<div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> »"/></div>
|
255 |
</fieldset>
|
256 |
</form>
|
267 |
<table class="optiontable">
|
268 |
<tr>
|
269 |
<th valign="top"><?php _e('Activate jQuery navigation','nggallery') ?>:</th>
|
270 |
+
<td><input name="galUsejQuery" type="checkbox" value="1" <?php checked('1', $ngg_options['galUsejQuery']); ?> />
|
271 |
<?php _e('Please note : This is still experimental. Requires the Thickbox effect','nggallery') ?>
|
272 |
</td>
|
273 |
</tr>
|
274 |
<tr>
|
275 |
<th valign="top"><?php _e('Deactivate gallery page link','nggallery') ?>:</th>
|
276 |
+
<td><input name="galNoPages" type="checkbox" value="1" <?php checked('1', $ngg_options['galNoPages']); ?> />
|
277 |
<?php _e('The album will not link to a gallery subpage. The gallery is shown on the same page.','nggallery') ?>
|
278 |
</td>
|
279 |
</tr>
|
280 |
<tr>
|
281 |
<th valign="top"><?php _e('Number of images per page','nggallery') ?>:</th>
|
282 |
+
<td><input type="text" name="galImages" value="<?php echo $ngg_options['galImages'] ?>" size="3" maxlength="3" /><br />
|
283 |
<?php _e('0 will disable pagination, all images on one page','nggallery') ?>
|
284 |
</td>
|
285 |
</tr>
|
286 |
<tr>
|
287 |
<th valign="top"><?php _e('Integrate slideshow','nggallery') ?>:</th>
|
288 |
+
<td><input name="galShowSlide" type="checkbox" value="1" <?php checked('1', $ngg_options['galShowSlide']); ?> />
|
289 |
+
<input type="text" name="galTextSlide" value="<?php echo $ngg_options['galTextSlide'] ?>" size="20" />
|
290 |
+
<input type="text" name="galTextGallery" value="<?php echo $ngg_options['galTextGallery'] ?>" size="20" />
|
291 |
</td>
|
292 |
</tr>
|
293 |
<tr>
|
294 |
<th valign="top"><?php _e('Show first','nggallery') ?>:</th>
|
295 |
+
<td><label><input name="galShowOrder" type="radio" value="gallery" <?php checked('gallery', $ngg_options['galShowOrder']); ?> /> <?php _e('Thumbnails', 'nggallery') ;?></label><br />
|
296 |
+
<label><input name="galShowOrder" type="radio" value="slide" <?php checked('slide', $ngg_options['galShowOrder']); ?> /> <?php _e('Slideshow', 'nggallery') ;?></label>
|
297 |
</td>
|
298 |
</tr>
|
299 |
<tr>
|
300 |
<th valign="top"><?php _e('Show thumbnail description','nggallery') ?>:</th>
|
301 |
+
<td><label><input name="galShowDesc" type="radio" value="none" <?php checked('none', $ngg_options['galShowDesc']); ?> /> <?php _e('None', 'nggallery') ;?></label><br />
|
302 |
+
<label><input name="galShowDesc" type="radio" value="desc" <?php checked('desc', $ngg_options['galShowDesc']); ?> /> <?php _e('Description text', 'nggallery') ;?></label><br />
|
303 |
+
<label><input name="galShowDesc" type="radio" value="alttext" <?php checked('alttext', $ngg_options['galShowDesc']); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
|
304 |
</td>
|
305 |
</tr>
|
306 |
<tr>
|
307 |
<th valign="top"><?php _e('Show ImageBrowser','nggallery') ?>:</th>
|
308 |
+
<td><input name="galImgBrowser" type="checkbox" value="1" <?php checked('1', $ngg_options['galImgBrowser']); ?> />
|
309 |
<?php _e('The gallery will open the ImageBrowser instead the effect.','nggallery') ?>
|
310 |
</td>
|
311 |
</tr>
|
314 |
<table class="optiontable">
|
315 |
<tr>
|
316 |
<th valign="top"><?php _e('Sort thumbnails','nggallery') ?>:</th>
|
317 |
+
<td><label><input name="galSort" type="radio" value="pid" <?php checked('pid', $ngg_options['galSort']); ?> /> <?php _e('Image ID', 'nggallery') ;?></label><br />
|
318 |
+
<label><input name="galSort" type="radio" value="filename" <?php checked('filename', $ngg_options['galSort']); ?> /> <?php _e('File name', 'nggallery') ;?></label><br />
|
319 |
+
<label><input name="galSort" type="radio" value="alttext" <?php checked('alttext', $ngg_options['galSort']); ?> /> <?php _e('Alt / Title text', 'nggallery') ;?></label>
|
320 |
</td>
|
321 |
</tr>
|
322 |
<tr>
|
323 |
<th valign="top"><?php _e('Sort direction','nggallery') ?>:</th>
|
324 |
+
<td><label><input name="galSortDir" type="radio" value="ASC" <?php checked('ASC', $ngg_options['galSortDir']); ?> /> <?php _e('Ascending', 'nggallery') ;?></label><br />
|
325 |
+
<label><input name="galSortDir" type="radio" value="DESC" <?php checked('DESC', $ngg_options['galSortDir']); ?> /> <?php _e('Descending', 'nggallery') ;?></label>
|
326 |
</td>
|
327 |
</tr>
|
328 |
</table>
|
346 |
<th><?php _e('JavaScript Thumbnail effect','nggallery') ?>:</th>
|
347 |
<td>
|
348 |
<select size="1" id="thumbEffect" name="thumbEffect" onchange="insertcode(this.value)">
|
349 |
+
<option value="none" <?php selected('none', $ngg_options['thumbEffect']); ?> ><?php _e('None', 'nggallery') ;?></option>
|
350 |
+
<option value="thickbox" <?php selected('thickbox', $ngg_options['thumbEffect']); ?> ><?php _e('Thickbox', 'nggallery') ;?></option>
|
351 |
+
<option value="lightbox" <?php selected('lightbox', $ngg_options['thumbEffect']); ?> ><?php _e('Lightbox', 'nggallery') ;?></option>
|
352 |
+
<option value="highslide" <?php selected('highslide', $ngg_options['thumbEffect']); ?> ><?php _e('Highslide', 'nggallery') ;?></option>
|
353 |
+
<option value="shutter" <?php selected('shutter', $ngg_options['thumbEffect']); ?> ><?php _e('Shutter', 'nggallery') ;?></option>
|
354 |
+
<option value="custom" <?php selected('custom', $ngg_options['thumbEffect']); ?> ><?php _e('Custom', 'nggallery') ;?></option>
|
355 |
</select>
|
356 |
</td>
|
357 |
</tr>
|
358 |
<tr valign="top">
|
359 |
<th><?php _e('Link Code line','nggallery') ?> :</th>
|
360 |
+
<td><textarea id="thumbCode" name="thumbCode" cols="50" rows="5"><?php echo htmlspecialchars(stripslashes($ngg_options['thumbCode'])); ?></textarea></td>
|
361 |
</tr>
|
362 |
</table>
|
363 |
|
364 |
+
<div id="tbImage" <?php if ($ngg_options['thumbEffect'] != 'thickbox') echo 'style="display:none"'?> >
|
365 |
<table class="optiontable">
|
366 |
<tr valign="top">
|
367 |
<th><?php _e('Select loading image','nggallery') ?> :</th>
|
368 |
<td>
|
369 |
+
<label><input name="thickboxImage" id="v2" type="radio" title="Version 2" value="loadingAnimationv2.gif" <?php checked('loadingAnimationv2.gif', $ngg_options['thickboxImage']); ?> /></label> <img src="<?php echo NGGALLERY_URLPATH.'thickbox/loadingAnimationv2.gif' ?>" alt="Version 2" />
|
370 |
+
<label><input name="thickboxImage" id="v3" type="radio" title="Version 3" value="loadingAnimationv3.gif" <?php checked('loadingAnimationv3.gif', $ngg_options['thickboxImage']); ?> /></label> <img src="<?php echo NGGALLERY_URLPATH.'thickbox/loadingAnimationv3.gif' ?>" alt="Version 3" />
|
371 |
</td>
|
372 |
</tr>
|
373 |
</table>
|
402 |
<strong><?php _e('Position','nggallery') ?></strong><br />
|
403 |
<table border="1">
|
404 |
<tr>
|
405 |
+
<td><input type="radio" name="wmPos" value="topLeft" <?php checked('topLeft', $ngg_options['wmPos']); ?> /></td>
|
406 |
+
<td><input type="radio" name="wmPos" value="topCenter" <?php checked('topCenter', $ngg_options['wmPos']); ?> /></td>
|
407 |
+
<td><input type="radio" name="wmPos" value="topRight" <?php checked('topRight', $ngg_options['wmPos']); ?> /></td>
|
408 |
</tr>
|
409 |
<tr>
|
410 |
+
<td><input type="radio" name="wmPos" value="midLeft" <?php checked('midLeft', $ngg_options['wmPos']); ?> /></td>
|
411 |
+
<td><input type="radio" name="wmPos" value="midCenter" <?php checked('midCenter', $ngg_options['wmPos']); ?> /></td>
|
412 |
+
<td><input type="radio" name="wmPos" value="midRight" <?php checked('midRight', $ngg_options['wmPos']); ?> /></td>
|
413 |
</tr>
|
414 |
<tr>
|
415 |
+
<td><input type="radio" name="wmPos" value="botLeft" <?php checked('botLeft', $ngg_options['wmPos']); ?> /></td>
|
416 |
+
<td><input type="radio" name="wmPos" value="botCenter" <?php checked('botCenter', $ngg_options['wmPos']); ?> /></td>
|
417 |
+
<td><input type="radio" name="wmPos" value="botRight" <?php checked('botRight', $ngg_options['wmPos']); ?> /></td>
|
418 |
</tr>
|
419 |
</table>
|
420 |
</td>
|
423 |
<table border="0">
|
424 |
<tr>
|
425 |
<td>x</td>
|
426 |
+
<td><input type="text" name="wmXpos" value="<?php echo $ngg_options['wmXpos'] ?>" size="4" /> px</td>
|
427 |
</tr>
|
428 |
<tr>
|
429 |
<td>y</td>
|
430 |
+
<td><input type="text" name="wmYpos" value="<?php echo $ngg_options['wmYpos'] ?>" size="4" /> px</td>
|
431 |
</tr>
|
432 |
</table>
|
433 |
</td>
|
437 |
<fieldset class="options">
|
438 |
<table class="optiontable" border="0">
|
439 |
<tr>
|
440 |
+
<td align="left" colspan="2"><label><input type="radio" name="wmType" value="image" <?php checked('image', $ngg_options['wmType']); ?> /> <?php _e('Use image as watermark','nggallery') ?></label></td>
|
441 |
</tr>
|
442 |
<tr>
|
443 |
<th><?php _e('URL to file','nggallery') ?> :</th>
|
444 |
+
<td><input type="text" size="40" name="wmPath" value="<?php echo $ngg_options['wmPath']; ?>" /><br />
|
445 |
<?php if(!ini_get('allow_url_fopen')) _e('The accessing of URL files is disabled at your server (allow_url_fopen)','nggallery') ?> </td>
|
446 |
</tr>
|
447 |
<tr>
|
448 |
<td colspan="2"><hr /></td>
|
449 |
</tr>
|
450 |
<tr>
|
451 |
+
<td align="left" colspan="2"><label><input type="radio" name="wmType" value="text" <?php checked('text', $ngg_options['wmType']); ?> /> <?php _e('Use text as watermark','nggallery') ?></label></td>
|
452 |
</tr>
|
453 |
<tr>
|
454 |
<th><?php _e('Font','nggallery') ?>:</th>
|
455 |
<td><select name="wmFont" size="1"> <?php
|
456 |
$fontlist = ngg_get_TTFfont();
|
457 |
foreach ( $fontlist as $fontfile ) {
|
458 |
+
echo "\n".'<option value="'.$fontfile.'" '.ngg_input_selected($fontfile, $ngg_options['wmFont']).' >'.$fontfile.'</option>';
|
459 |
}
|
460 |
?>
|
461 |
</select><br />
|
462 |
+
<?php if ( !function_exists(ImageTTFBBox) )
|
463 |
+
_e('This function will not work, cause you need the FreeType library','nggallery');
|
464 |
+
else
|
465 |
+
_e('You can upload more fonts in the folder <strong>nggallery/fonts</strong>','nggallery'); ?>
|
466 |
</td>
|
467 |
</tr>
|
468 |
<tr>
|
469 |
<th><?php _e('Size','nggallery') ?>:</th>
|
470 |
+
<td><input type="text" name="wmSize" value="<?php echo $ngg_options['wmSize'] ?>" size="4" maxlength="2" /> px</td>
|
471 |
</tr>
|
472 |
<tr>
|
473 |
<th><?php _e('Color','nggallery') ?>:</th>
|
474 |
+
<td><input type="text" size="6" maxlength="6" id="wmColor" name="wmColor" onchange="setcolor('#previewText', this.value)" value="<?php echo $ngg_options['wmColor'] ?>" />
|
475 |
+
<input type="text" size="1" readonly="readonly" id="previewText" style="background-color: #<?php echo $ngg_options['wmColor'] ?>" /> <?php _e('(hex w/o #)','nggallery') ?></td>
|
476 |
</tr>
|
477 |
<tr>
|
478 |
<th valign="top"><?php _e('Text','nggallery') ?>:</th>
|
479 |
+
<td><textarea name="wmText" cols="40" rows="4"><?php echo $ngg_options['wmText'] ?></textarea></td>
|
480 |
</tr>
|
481 |
<tr>
|
482 |
<th><?php _e('Opaque','nggallery') ?>:</th>
|
483 |
+
<td><input type="text" name="wmOpaque" value="<?php echo $ngg_options['wmOpaque'] ?>" size="3" maxlength="3" /> % </td>
|
484 |
</tr>
|
485 |
</table>
|
486 |
</fieldset>
|
487 |
<div class="clear"> </div>
|
488 |
<div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> »"/></div>
|
489 |
</form>
|
|
|
490 |
</div>
|
491 |
|
492 |
<!-- Slideshow settings -->
|
494 |
<div id="slideshow">
|
495 |
<form name="player_options" method="POST" action="<?php echo $filepath.'#slideshow'; ?>" >
|
496 |
<?php wp_nonce_field('ngg_settings') ?>
|
497 |
+
<input type="hidden" name="page_options" value="irWidth,irHeight,irShuffle,irLinkfromdisplay,irShownavigation,irShowicons,irWatermark,irOverstretch,irRotatetime,irTransition,irKenburns,irBackcolor,irFrontcolor,irLightcolor,irScreencolor,irAudio,irXHTMLvalid" />
|
498 |
<h2><?php _e('Slideshow','nggallery'); ?></h2>
|
499 |
<fieldset class="options">
|
500 |
<?php if (!NGGALLERY_IREXIST) { ?><p><div id="message" class="error fade"><p><?php _e('The imagerotator.swf is not in the nggallery folder, the slideshow will not work.','nggallery') ?></p></div></p><?php }?>
|
501 |
+
<p><?php _e('The settings are used in the JW Image Rotator Version 3.13 .', 'nggallery') ?>
|
502 |
<?php _e('See more information for the Flash Player on the web page', 'nggallery') ?> <a href="http://www.jeroenwijering.com/?item=JW_Image_Rotator" target="_blank">JW Image Rotator from Jeroen Wijering</a>.</p>
|
503 |
<table class="optiontable" border="0" >
|
504 |
<tr>
|
505 |
<th><?php _e('Default size (W x H)','nggallery') ?>:</th>
|
506 |
+
<td><input type="text" size="3" maxlength="4" name="irWidth" value="<?php echo $ngg_options['irWidth'] ?>" /> x
|
507 |
+
<input type="text" size="3" maxlength="4" name="irHeight" value="<?php echo $ngg_options['irHeight'] ?>" /></td>
|
508 |
</tr>
|
509 |
<tr>
|
510 |
<th><?php _e('Shuffle mode','nggallery') ?>:</th>
|
511 |
+
<td><input name="irShuffle" type="checkbox" value="1" <?php checked('1', $ngg_options['irShuffle']); ?> /></td>
|
512 |
</tr>
|
513 |
<tr>
|
514 |
<th><?php _e('Show next image on click','nggallery') ?>:</th>
|
515 |
+
<td><input name="irLinkfromdisplay" type="checkbox" value="1" <?php checked('1', $ngg_options['irLinkfromdisplay']); ?> /></td>
|
516 |
</tr>
|
517 |
<tr>
|
518 |
<th><?php _e('Show navigation bar','nggallery') ?>:</th>
|
519 |
+
<td><input name="irShownavigation" type="checkbox" value="1" <?php checked('1', $ngg_options['irShownavigation']); ?> /></td>
|
520 |
</tr>
|
521 |
<tr>
|
522 |
<th><?php _e('Show loading icon','nggallery') ?>:</th>
|
523 |
+
<td><input name="irShowicons" type="checkbox" value="1" <?php checked('1', $ngg_options['irShowicons']); ?> /></td>
|
524 |
</tr>
|
525 |
<tr>
|
526 |
<th><?php _e('Use watermark logo','nggallery') ?>:</th>
|
527 |
+
<td><input name="irWatermark" type="checkbox" value="1" <?php checked('1', $ngg_options['irWatermark']); ?> />
|
528 |
<?php _e('You can change the logo at the watermark settings','nggallery') ?></td>
|
529 |
</tr>
|
530 |
<tr>
|
531 |
<th><?php _e('Stretch image','nggallery') ?>:</th>
|
532 |
<td>
|
533 |
<select size="1" name="irOverstretch">
|
534 |
+
<option value="true" <?php selected('true', $ngg_options['irOverstretch']); ?> ><?php _e('true', 'nggallery') ;?></option>
|
535 |
+
<option value="false" <?php selected('false', $ngg_options['irOverstretch']); ?> ><?php _e('false', 'nggallery') ;?></option>
|
536 |
+
<option value="fit" <?php selected('fit', $ngg_options['irOverstretch']); ?> ><?php _e('fit', 'nggallery') ;?></option>
|
537 |
+
<option value="none" <?php selected('none', $ngg_options['irOverstretch']); ?> ><?php _e('none', 'nggallery') ;?></option>
|
538 |
</select>
|
539 |
</td>
|
540 |
</tr>
|
541 |
<tr>
|
542 |
<th><?php _e('Duration time','nggallery') ?>:</th>
|
543 |
+
<td><input type="text" size="3" maxlength="3" name="irRotatetime" value="<?php echo $ngg_options['irRotatetime'] ?>" /> <?php _e('sec.', 'nggallery') ;?></td>
|
544 |
</tr>
|
545 |
<tr>
|
546 |
<th><?php _e('Transition / Fade effect','nggallery') ?>:</th>
|
547 |
<td>
|
548 |
<select size="1" name="irTransition">
|
549 |
+
<option value="fade" <?php selected('fade', $ngg_options['irTransition']); ?> ><?php _e('fade', 'nggallery') ;?></option>
|
550 |
+
<option value="bgfade" <?php selected('bgfade', $ngg_options['irTransition']); ?> ><?php _e('bgfade', 'nggallery') ;?></option>
|
551 |
+
<option value="slowfade" <?php selected('slowfade', $ngg_options['irTransition']); ?> ><?php _e('slowfade', 'nggallery') ;?></option>
|
552 |
+
<option value="circles" <?php selected('circles', $ngg_options['irTransition']); ?> ><?php _e('circles', 'nggallery') ;?></option>
|
553 |
+
<option value="bubbles" <?php selected('bubbles', $ngg_options['irTransition']); ?> ><?php _e('bubbles', 'nggallery') ;?></option>
|
554 |
+
<option value="blocks" <?php selected('blocks', $ngg_options['irTransition']); ?> ><?php _e('blocks', 'nggallery') ;?></option>
|
555 |
+
<option value="fluids" <?php selected('fluids', $ngg_options['irTransition']); ?> ><?php _e('fluids', 'nggallery') ;?></option>
|
556 |
+
<option value="flash" <?php selected('flash', $ngg_options['irTransition']); ?> ><?php _e('flash', 'nggallery') ;?></option>
|
557 |
+
<option value="lines" <?php selected('lines', $ngg_options['irTransition']); ?> ><?php _e('lines', 'nggallery') ;?></option>
|
558 |
+
<option value="random" <?php selected('random', $ngg_options['irTransition']); ?> ><?php _e('random', 'nggallery') ;?></option>
|
559 |
</select>
|
560 |
</tr>
|
561 |
<tr>
|
562 |
<th><?php _e('Use slow zooming effect','nggallery') ?>:</th>
|
563 |
+
<td><input name="irKenburns" type="checkbox" value="1" <?php checked('1', $ngg_options['irKenburns']); ?> /></td>
|
564 |
</tr>
|
565 |
<tr>
|
566 |
<th><?php _e('Background Color','nggallery') ?>:</th>
|
567 |
+
<td><input type="text" size="6" maxlength="6" id="irBackcolor" name="irBackcolor" onchange="setcolor('#previewBack', this.value)" value="<?php echo $ngg_options['irBackcolor'] ?>" />
|
568 |
+
<input type="text" size="1" readonly="readonly" id="previewBack" style="background-color: #<?php echo $ngg_options['irBackcolor'] ?>" /></td>
|
569 |
</tr>
|
570 |
<tr>
|
571 |
<th><?php _e('Texts / Buttons Color','nggallery') ?>:</th>
|
572 |
+
<td><input type="text" size="6" maxlength="6" id="irFrontcolor" name="irFrontcolor" onchange="setcolor('#previewFront', this.value)" value="<?php echo $ngg_options['irFrontcolor'] ?>" />
|
573 |
+
<input type="text" size="1" readonly="readonly" id="previewFront" style="background-color: #<?php echo $ngg_options['irFrontcolor'] ?>" /></td>
|
574 |
</tr>
|
575 |
<tr>
|
576 |
<th><?php _e('Rollover / Active Color','nggallery') ?>:</th>
|
577 |
+
<td><input type="text" size="6" maxlength="6" id="irLightcolor" name="irLightcolor" onchange="setcolor('#previewLight', this.value)" value="<?php echo $ngg_options['irLightcolor'] ?>" />
|
578 |
+
<input type="text" size="1" readonly="readonly" id="previewLight" style="background-color: #<?php echo $ngg_options['irLightcolor'] ?>" /></td>
|
579 |
+
</tr>
|
580 |
+
<tr>
|
581 |
+
<th><?php _e('Screen Color','nggallery') ?>:</th>
|
582 |
+
<td><input type="text" size="6" maxlength="6" id="irScreencolor" name="irScreencolor" onchange="setcolor('#previewScreen', this.value)" value="<?php echo $ngg_options['irScreencolor'] ?>" />
|
583 |
+
<input type="text" size="1" readonly="readonly" id="previewScreen" style="background-color: #<?php echo $ngg_options['irScreencolor'] ?>" /></td>
|
584 |
</tr>
|
585 |
<tr>
|
586 |
<th><?php _e('Background music (URL)','nggallery') ?>:</th>
|
587 |
+
<td><input type="text" size="50" id="irAudio" name="irAudio" value="<?php echo $ngg_options['irAudio'] ?>" /></td>
|
588 |
</tr>
|
589 |
<tr>
|
590 |
<th><?php _e('Try XHTML validation (with CDATA)','nggallery') ?>:</th>
|
591 |
+
<td><input name="irXHTMLvalid" type="checkbox" value="1" <?php checked('1', $ngg_options['irXHTMLvalid']); ?> />
|
592 |
<?php _e('Important : Could causes problem at some browser. Please recheck your page.','nggallery') ?></td>
|
593 |
</tr>
|
594 |
</table>
|
admin/setup.php
CHANGED
@@ -39,7 +39,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
39 |
|
40 |
// message windows
|
41 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
42 |
-
|
43 |
?>
|
44 |
|
45 |
<div class="wrap">
|
@@ -50,9 +50,11 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
50 |
<div align="center"><input type="submit" class="button" name="resetdefault" value="<?php _e('Reset settings', 'nggallery') ;?>" onclick="javascript:check=confirm('<?php _e('Reset all options to default settings ?\n\nChoose [Cancel] to Stop, [OK] to proceed.\n','nggallery'); ?>');if(check==false) return false;" /></div>
|
51 |
</form>
|
52 |
</div>
|
|
|
53 |
<div class="wrap">
|
54 |
<h2><?php _e('Uninstall plugin tables', 'nggallery') ;?></h2>
|
55 |
<form name="resetsettings" method="post">
|
|
|
56 |
<p><?php _e('You don\'t like NextGEN Gallery ?', 'nggallery') ;?></p>
|
57 |
<p><?php _e('No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. ', 'nggallery') ;?>
|
58 |
<p ><font color="red"><strong><?php _e('WARNING:', 'nggallery') ;?></strong><br />
|
@@ -62,6 +64,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
62 |
</div>
|
63 |
</form>
|
64 |
</div>
|
|
|
65 |
|
66 |
<?php
|
67 |
}
|
39 |
|
40 |
// message windows
|
41 |
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
42 |
+
|
43 |
?>
|
44 |
|
45 |
<div class="wrap">
|
50 |
<div align="center"><input type="submit" class="button" name="resetdefault" value="<?php _e('Reset settings', 'nggallery') ;?>" onclick="javascript:check=confirm('<?php _e('Reset all options to default settings ?\n\nChoose [Cancel] to Stop, [OK] to proceed.\n','nggallery'); ?>');if(check==false) return false;" /></div>
|
51 |
</form>
|
52 |
</div>
|
53 |
+
<?php if (!IS_WPMU || wpmu_site_admin() ) : ?>
|
54 |
<div class="wrap">
|
55 |
<h2><?php _e('Uninstall plugin tables', 'nggallery') ;?></h2>
|
56 |
<form name="resetsettings" method="post">
|
57 |
+
<?php wp_nonce_field('ngg_uninstall') ?>
|
58 |
<p><?php _e('You don\'t like NextGEN Gallery ?', 'nggallery') ;?></p>
|
59 |
<p><?php _e('No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. ', 'nggallery') ;?>
|
60 |
<p ><font color="red"><strong><?php _e('WARNING:', 'nggallery') ;?></strong><br />
|
64 |
</div>
|
65 |
</form>
|
66 |
</div>
|
67 |
+
<?php endif; ?>
|
68 |
|
69 |
<?php
|
70 |
}
|
admin/style.php
CHANGED
@@ -86,6 +86,7 @@ if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="up
|
|
86 |
</form>
|
87 |
</div>
|
88 |
|
|
|
89 |
<div class="wrap">
|
90 |
<?php
|
91 |
if ( is_writeable($real_file) ) {
|
@@ -130,7 +131,9 @@ if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="up
|
|
130 |
</div>
|
131 |
|
132 |
<?php
|
133 |
-
}
|
|
|
|
|
134 |
|
135 |
/**********************************************************/
|
136 |
// ### Code from wordpress plugin import
|
86 |
</form>
|
87 |
</div>
|
88 |
|
89 |
+
<? if (!IS_WPMU || wpmu_site_admin() ) { ?>
|
90 |
<div class="wrap">
|
91 |
<?php
|
92 |
if ( is_writeable($real_file) ) {
|
131 |
</div>
|
132 |
|
133 |
<?php
|
134 |
+
}
|
135 |
+
|
136 |
+
} // END nggallery_admin_style()
|
137 |
|
138 |
/**********************************************************/
|
139 |
// ### Code from wordpress plugin import
|
admin/upload.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once('../../../../wp-config.php');
|
4 |
+
require_once(ABSPATH.'/wp-admin/admin.php');
|
5 |
+
|
6 |
+
auth_redirect();
|
7 |
+
|
8 |
+
//check for correct capability
|
9 |
+
if ( !is_user_logged_in() )
|
10 |
+
die('-1');
|
11 |
+
|
12 |
+
//check for correct capability
|
13 |
+
if ( !current_user_can('NextGEN Manage gallery') )
|
14 |
+
die('-1');
|
15 |
+
|
16 |
+
function get_out_now() { exit; }
|
17 |
+
add_action( 'shutdown', 'get_out_now', -1 );
|
18 |
+
|
19 |
+
//check for correct nonce
|
20 |
+
check_admin_referer('ngg_swfupload');
|
21 |
+
|
22 |
+
//check for nggallery
|
23 |
+
if ( !defined('NGGALLERY_ABSPATH') )
|
24 |
+
die('-1');
|
25 |
+
|
26 |
+
include_once (NGGALLERY_ABSPATH. 'admin/functions.php');
|
27 |
+
|
28 |
+
// get the gallery
|
29 |
+
$galleryID = (int) $_POST['galleryselect'];
|
30 |
+
|
31 |
+
echo nggAdmin::swfupload_image($galleryID);
|
32 |
+
|
33 |
+
?>
|
nggadmintab.php → admin/uploadtab.php
RENAMED
@@ -1,4 +1,44 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
function ngg_upload_tab_content() {
|
3 |
// this is the content of the "Gallery" admin tab
|
4 |
global $ID, $wpdb , $style, $action ;
|
@@ -40,8 +80,8 @@ function ngg_upload_tab_content() {
|
|
40 |
|
41 |
if ( isset($_POST['save']) ) {
|
42 |
// Function save desription
|
43 |
-
$img_title = attribute_escape($_POST[image_title]);
|
44 |
-
$img_desc = attribute_escape($_POST[image_desc]);
|
45 |
$result = $wpdb->query("UPDATE $wpdb->nggpictures SET alttext= '$img_title', description = '$img_desc' WHERE pid = '$ID'");
|
46 |
}
|
47 |
}
|
@@ -186,4 +226,7 @@ function ngg_admintab_insert_pic($picid) {
|
|
186 |
|
187 |
}
|
188 |
|
|
|
|
|
|
|
189 |
?>
|
1 |
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @title Add action/filter for the upload tab
|
5 |
+
* @author Alex Rabe
|
6 |
+
* @copyright 2008
|
7 |
+
*/
|
8 |
+
|
9 |
+
function ngg_action_upload_Tab() {
|
10 |
+
// execute when click on the tab
|
11 |
+
global $style;
|
12 |
+
if ( 'inline' == $style )
|
13 |
+
wp_enqueue_script('nggadmintab', NGGALLERY_URLPATH .'admin/js/uploadtab.js.php', array('prototype'), '0.6');
|
14 |
+
}
|
15 |
+
|
16 |
+
function ngg_wp_upload_tabs ($array) {
|
17 |
+
|
18 |
+
global $wpdb;
|
19 |
+
|
20 |
+
/*
|
21 |
+
0 => tab display name,
|
22 |
+
1 => required cap / role,
|
23 |
+
2 => function that produces tab content,
|
24 |
+
3 => total number objects OR array(total, objects per page),
|
25 |
+
4 => add_query_args
|
26 |
+
*/
|
27 |
+
|
28 |
+
// Create navigation
|
29 |
+
$total = 1;
|
30 |
+
if ($_GET['select_gal']){
|
31 |
+
$galleryID = $_GET['select_gal'];
|
32 |
+
$total = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'");
|
33 |
+
}
|
34 |
+
|
35 |
+
$tab = array(
|
36 |
+
'ngg_gallery' => array(__('Gallery','nggallery'), 'NextGEN Use TinyMCE', 'ngg_upload_tab_content', array($total, 10))
|
37 |
+
);
|
38 |
+
|
39 |
+
return array_merge($array,$tab);
|
40 |
+
}
|
41 |
+
|
42 |
function ngg_upload_tab_content() {
|
43 |
// this is the content of the "Gallery" admin tab
|
44 |
global $ID, $wpdb , $style, $action ;
|
80 |
|
81 |
if ( isset($_POST['save']) ) {
|
82 |
// Function save desription
|
83 |
+
$img_title = attribute_escape($_POST['image_title']);
|
84 |
+
$img_desc = attribute_escape($_POST['image_desc']);
|
85 |
$result = $wpdb->query("UPDATE $wpdb->nggpictures SET alttext= '$img_title', description = '$img_desc' WHERE pid = '$ID'");
|
86 |
}
|
87 |
}
|
226 |
|
227 |
}
|
228 |
|
229 |
+
add_action('upload_files_ngg_gallery', 'ngg_action_upload_Tab');
|
230 |
+
add_filter('wp_upload_tabs', 'ngg_wp_upload_tabs');
|
231 |
+
|
232 |
?>
|
admin/wpmu.php
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
3 |
+
|
4 |
+
function nggallery_wpmu_setup() {
|
5 |
+
global $wpdb;
|
6 |
+
|
7 |
+
//to be sure
|
8 |
+
if (!is_site_admin())
|
9 |
+
die('You are not allowed to call this page.');
|
10 |
+
|
11 |
+
// get the options
|
12 |
+
$ngg_options = get_site_option('ngg_options');
|
13 |
+
|
14 |
+
// same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0
|
15 |
+
$filepath = get_option('siteurl'). '/wp-admin/wpmu-admin.php?page='.$_GET['page'];
|
16 |
+
|
17 |
+
if ( isset($_POST['updateoption']) ) {
|
18 |
+
check_admin_referer('ngg_wpmu_settings');
|
19 |
+
// get the hidden option fields, taken from WP core
|
20 |
+
if ( $_POST['page_options'] )
|
21 |
+
$options = explode(',', stripslashes($_POST['page_options']));
|
22 |
+
if ($options) {
|
23 |
+
foreach ($options as $option) {
|
24 |
+
$option = trim($option);
|
25 |
+
$value = trim($_POST[$option]);
|
26 |
+
// $value = sanitize_option($option, $value); // This does strip slashes on those that need it
|
27 |
+
$ngg_options[$option] = $value;
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
update_site_option('ngg_options', $ngg_options);
|
32 |
+
$messagetext = '<font color="green">'.__('Update successfully','nggallery').'</font>';
|
33 |
+
}
|
34 |
+
|
35 |
+
// message windows
|
36 |
+
if(!empty($messagetext)) { echo '<!-- Last Action --><div id="message" class="updated fade"><p>'.$messagetext.'</p></div>'; }
|
37 |
+
|
38 |
+
?>
|
39 |
+
|
40 |
+
<div class="wrap">
|
41 |
+
<h2><?php _e('General WordPress MU Settings','nggallery'); ?></h2>
|
42 |
+
<form name="generaloptions" method="post">
|
43 |
+
<?php wp_nonce_field('ngg_wpmu_settings') ?>
|
44 |
+
<input type="hidden" name="page_options" value="gallerypath,wpmuQuotaCheck,wpmuZipUpload,wpmuStyle,wpmuRoles,wpmuCSSfile" />
|
45 |
+
<fieldset class="options">
|
46 |
+
<table class="optiontable editform">
|
47 |
+
<tr valign="top">
|
48 |
+
<th align="left"><?php _e('Gallery path','nggallery') ?></th>
|
49 |
+
<td><input type="text" size="50" name="gallerypath" value="<?php echo $ngg_options[gallerypath]; ?>" title="TEST" /><br />
|
50 |
+
<?php _e('This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /.','nggallery') ?></td>
|
51 |
+
</tr>
|
52 |
+
<tr>
|
53 |
+
<th valign="top"><?php _e('Enable upload quota check','nggallery') ?>:</th>
|
54 |
+
<td><input name="wpmuQuotaCheck" type="checkbox" value="1" <?php checked('1', $ngg_options[wpmuQuotaCheck]); ?> />
|
55 |
+
<?php _e('Should work if the gallery is bellow the blog.dir','nggallery') ?>
|
56 |
+
</td>
|
57 |
+
</tr>
|
58 |
+
<tr>
|
59 |
+
<th valign="top"><?php _e('Enable zip upload option','nggallery') ?>:</th>
|
60 |
+
<td><input name="wpmuZipUpload" type="checkbox" value="1" <?php checked('1', $ngg_options[wpmuZipUpload]); ?> />
|
61 |
+
<?php _e('Allow users to upload zip folders.','nggallery') ?>
|
62 |
+
</td>
|
63 |
+
</tr>
|
64 |
+
<tr>
|
65 |
+
<th valign="top"><?php _e('Enable style selection','nggallery') ?>:</th>
|
66 |
+
<td><input name="wpmuStyle" type="checkbox" value="1" <?php checked('1', $ngg_options[wpmuStyle]); ?> />
|
67 |
+
<?php _e('Allow users to choose a style for the gallery.','nggallery') ?>
|
68 |
+
</td>
|
69 |
+
</tr>
|
70 |
+
<tr>
|
71 |
+
<th valign="top"><?php _e('Enable roles/capabilities','nggallery') ?>:</th>
|
72 |
+
<td><input name="wpmuRoles" type="checkbox" value="1" <?php checked('1', $ngg_options[wpmuRoles]); ?> />
|
73 |
+
<?php _e('Allow users to change the roles for other blog authors.','nggallery') ?>
|
74 |
+
</td>
|
75 |
+
</tr>
|
76 |
+
<tr>
|
77 |
+
<th valign="top"><?php _e('Default style','nggallery') ?>:</th>
|
78 |
+
<td>
|
79 |
+
<select name="wpmuCSSfile">
|
80 |
+
<?php
|
81 |
+
$csslist = ngg_get_cssfiles();
|
82 |
+
foreach ($csslist as $key =>$a_cssfile) {
|
83 |
+
$css_name = $a_cssfile['Name'];
|
84 |
+
if ($key == $ngg_options[wpmuCSSfile]) {
|
85 |
+
$file_show = $key;
|
86 |
+
$selected = " selected='selected'";
|
87 |
+
}
|
88 |
+
else $selected = '';
|
89 |
+
$css_name = attribute_escape($css_name);
|
90 |
+
echo "\n\t<option value=\"$key\" $selected>$css_name</option>";
|
91 |
+
}
|
92 |
+
?>
|
93 |
+
</select><br />
|
94 |
+
<?php _e('Choose the default style for the galleries.','nggallery') ?>
|
95 |
+
</td>
|
96 |
+
</tr>
|
97 |
+
</table>
|
98 |
+
<div class="submit"><input type="submit" name="updateoption" value="<?php _e('Update') ;?> »"/></div>
|
99 |
+
</fieldset>
|
100 |
+
</form>
|
101 |
+
</div>
|
102 |
+
|
103 |
+
<?php
|
104 |
+
}
|
105 |
+
|
106 |
+
|
107 |
+
?>
|
changelog.txt
CHANGED
@@ -1,6 +1,46 @@
|
|
1 |
NextGEN Gallery
|
2 |
by Alex Rabe & NextGEN DEV Team
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
V0.74 - 01.12.2007
|
5 |
- NEW : Added meta reader class, first step to integrated meta data import
|
6 |
|
1 |
NextGEN Gallery
|
2 |
by Alex Rabe & NextGEN DEV Team
|
3 |
|
4 |
+
V0.80 - 02.02.2008
|
5 |
+
- NEW : SWFUpload integrated : Show upload progress and select multiple files in the file browser dialog.
|
6 |
+
- NEW : Progress bar for resize, watermark and thumbnail operation
|
7 |
+
- NEW : Import Meta data from images
|
8 |
+
- NEW : Show Meta data information
|
9 |
+
- NEW : Cache option for SinglePic
|
10 |
+
- NEW : Permalink support
|
11 |
+
- NEW : Custom fields support - Change the settings for each post/page
|
12 |
+
- Changed : Up to 10 Widgets, exclude galleries from random/recent images.
|
13 |
+
- Changed : Refactor permission check for Safe-Mode Check and mkdir/chmod
|
14 |
+
- Changed : Admin CSS in new folder/file for better structure
|
15 |
+
- Changed : Clean up folder structure
|
16 |
+
- Changed : Clean up code in manage.php, functions.php
|
17 |
+
- Changed : Moved several functions into nggAdmin Class (functions.php)
|
18 |
+
- Changed : Update to jQuery V1.1.4 (v1.2.1 causes problems with interface.js)
|
19 |
+
- Changed : Hide used galleries in album admin page
|
20 |
+
- Changed : Remove float in singlepic code and added class ngg-left , ngg-right (THX to Nathan Sylvain)
|
21 |
+
- Changed : Edit style setting (added new class .desc , THX to Sebastian)
|
22 |
+
- Changed : Check for galleryfolder instead name (THX to Luke Poland)
|
23 |
+
- Changed : Delete images per default
|
24 |
+
- Changed : Change CSS (ngg-album-compact) , remove width & height setting from code
|
25 |
+
- Bugfix : Fixed static front page problem
|
26 |
+
- Bugfix : Missing stripslashes & html_entity_decode
|
27 |
+
- Bugfix : Change Album CSS (THX to Thomas-DK)
|
28 |
+
- Bugfix : Watermark for GIF not correct supported
|
29 |
+
- Bugfix : Missing wp_nonce at setup page
|
30 |
+
- Bugfix : Add DIV in Slideshow link (for Safari & Opera)
|
31 |
+
- Added : Screencolor flashvar for JW Image Rotator 3.13 or higher
|
32 |
+
- Added : Set WP-CHARSET / COLLATE during installation
|
33 |
+
- Added : Updated to Pclzip.lib.php v2.6
|
34 |
+
- Added : CSS ID field for gallery & images
|
35 |
+
- WPMU : New site admin page (wpmu.php)
|
36 |
+
- WPMU : Integrated quota check
|
37 |
+
- WPMU : No update check
|
38 |
+
- WPMU : Remove edit style (THX to Kristin)
|
39 |
+
- WPMU : Remove uninstall button
|
40 |
+
- WPMU : Remove server settings
|
41 |
+
- WPMU : Gallery path set to blog.dir
|
42 |
+
- Added : Support for WPMU
|
43 |
+
|
44 |
V0.74 - 01.12.2007
|
45 |
- NEW : Added meta reader class, first step to integrated meta data import
|
46 |
|
css/Black_Minimalism .css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
CSS Name: Black Minimalism Theme
|
3 |
Description: For Black Minimalism Theme
|
4 |
Author: Alex Rabe
|
5 |
-
Version: 1.
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
@@ -82,6 +82,8 @@ it's only a template design
|
|
82 |
border:1px solid #000000;
|
83 |
margin:0px !important;
|
84 |
padding:0px !important;
|
|
|
|
|
85 |
}
|
86 |
|
87 |
.ngg-album-compact h4 {
|
@@ -236,6 +238,15 @@ it's only a template design
|
|
236 |
position:relative;
|
237 |
}
|
238 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
/* ----------- Sidebar widget -------------*/
|
240 |
.ngg-widget,
|
241 |
.ngg-widget-slideshow {
|
2 |
CSS Name: Black Minimalism Theme
|
3 |
Description: For Black Minimalism Theme
|
4 |
Author: Alex Rabe
|
5 |
+
Version: 1.31
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
82 |
border:1px solid #000000;
|
83 |
margin:0px !important;
|
84 |
padding:0px !important;
|
85 |
+
width:91px;
|
86 |
+
height:68px;
|
87 |
}
|
88 |
|
89 |
.ngg-album-compact h4 {
|
238 |
position:relative;
|
239 |
}
|
240 |
|
241 |
+
.ngg-left {
|
242 |
+
float: left;
|
243 |
+
}
|
244 |
+
|
245 |
+
.ngg-right {
|
246 |
+
float: right;
|
247 |
+
}
|
248 |
+
|
249 |
+
|
250 |
/* ----------- Sidebar widget -------------*/
|
251 |
.ngg-widget,
|
252 |
.ngg-widget-slideshow {
|
css/hovereffect.css
CHANGED
@@ -93,6 +93,8 @@ This is a template stylesheet which doesn't support description below the thumbn
|
|
93 |
border:1px solid #000000;
|
94 |
margin:0px !important;
|
95 |
padding:0px !important;
|
|
|
|
|
96 |
}
|
97 |
|
98 |
.ngg-album-compact h4 {
|
@@ -285,6 +287,15 @@ This is a template stylesheet which doesn't support description below the thumbn
|
|
285 |
position:relative;
|
286 |
}
|
287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
/* ----------- Sidebar widget -------------*/
|
289 |
.ngg-widget,
|
290 |
.ngg-widget-slideshow {
|
93 |
border:1px solid #000000;
|
94 |
margin:0px !important;
|
95 |
padding:0px !important;
|
96 |
+
width:91px;
|
97 |
+
height:68px;
|
98 |
}
|
99 |
|
100 |
.ngg-album-compact h4 {
|
287 |
position:relative;
|
288 |
}
|
289 |
|
290 |
+
.ngg-left {
|
291 |
+
float: left;
|
292 |
+
}
|
293 |
+
|
294 |
+
.ngg-right {
|
295 |
+
float: right;
|
296 |
+
}
|
297 |
+
|
298 |
+
|
299 |
/* ----------- Sidebar widget -------------*/
|
300 |
.ngg-widget,
|
301 |
.ngg-widget-slideshow {
|
css/ngg_dkret3.css
CHANGED
@@ -81,6 +81,8 @@ it's only a template design
|
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
|
|
|
|
84 |
}
|
85 |
|
86 |
.ngg-album-compact h4 {
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
84 |
+
width:91px;
|
85 |
+
height:68px;
|
86 |
}
|
87 |
|
88 |
.ngg-album-compact h4 {
|
css/ngg_k2.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
CSS Name: K2 Theme
|
3 |
Description: NextGEN Style for K2 Theme
|
4 |
Author: Alex Rabe
|
5 |
-
Version: 1.
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
@@ -87,6 +87,8 @@ it's only a template design
|
|
87 |
border:1px solid #000000;
|
88 |
margin:0px !important;
|
89 |
padding:0px !important;
|
|
|
|
|
90 |
}
|
91 |
|
92 |
.ngg-album-compact h4 {
|
@@ -241,6 +243,15 @@ it's only a template design
|
|
241 |
position:relative;
|
242 |
}
|
243 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
/* ----------- Sidebar widget -------------*/
|
245 |
.ngg-widget,
|
246 |
.ngg-widget-slideshow {
|
2 |
CSS Name: K2 Theme
|
3 |
Description: NextGEN Style for K2 Theme
|
4 |
Author: Alex Rabe
|
5 |
+
Version: 1.30
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
87 |
border:1px solid #000000;
|
88 |
margin:0px !important;
|
89 |
padding:0px !important;
|
90 |
+
width:91px;
|
91 |
+
height:68px;
|
92 |
}
|
93 |
|
94 |
.ngg-album-compact h4 {
|
243 |
position:relative;
|
244 |
}
|
245 |
|
246 |
+
.ngg-left {
|
247 |
+
float: left;
|
248 |
+
}
|
249 |
+
|
250 |
+
.ngg-right {
|
251 |
+
float: right;
|
252 |
+
}
|
253 |
+
|
254 |
+
|
255 |
/* ----------- Sidebar widget -------------*/
|
256 |
.ngg-widget,
|
257 |
.ngg-widget-slideshow {
|
css/ngg_shadow.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
CSS Name: Shadow Effect
|
3 |
Description: NextGEN Default Style with a Shadow effect
|
4 |
Author: Alex Rabe
|
5 |
-
Version: 1.
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
@@ -81,6 +81,8 @@ it's only a template design
|
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
|
|
|
|
84 |
}
|
85 |
|
86 |
.ngg-album-compact h4 {
|
@@ -230,6 +232,15 @@ it's only a template design
|
|
230 |
position:relative;
|
231 |
}
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
/* ----------- Sidebar widget -------------*/
|
234 |
|
235 |
.ngg-widget,
|
2 |
CSS Name: Shadow Effect
|
3 |
Description: NextGEN Default Style with a Shadow effect
|
4 |
Author: Alex Rabe
|
5 |
+
Version: 1.30
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
84 |
+
width:91px;
|
85 |
+
height:68px;
|
86 |
}
|
87 |
|
88 |
.ngg-album-compact h4 {
|
232 |
position:relative;
|
233 |
}
|
234 |
|
235 |
+
.ngg-left {
|
236 |
+
float: left;
|
237 |
+
}
|
238 |
+
|
239 |
+
.ngg-right {
|
240 |
+
float: right;
|
241 |
+
}
|
242 |
+
|
243 |
+
|
244 |
/* ----------- Sidebar widget -------------*/
|
245 |
|
246 |
.ngg-widget,
|
css/ngg_shadow2.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
CSS Name: Shadow Effect with Description text
|
3 |
Description: NextGEN Default Style with a Shadow effect and description text below the thumbnail
|
4 |
Author: Alex Rabe
|
5 |
-
Version: 1.
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
@@ -81,6 +81,8 @@ it's only a template design
|
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
|
|
|
|
84 |
}
|
85 |
|
86 |
.ngg-album-compact h4 {
|
@@ -114,8 +116,7 @@ it's only a template design
|
|
114 |
background: url(shadowAlpha.png) no-repeat bottom right !important;
|
115 |
background: url(shadow.gif) no-repeat bottom right;
|
116 |
margin: 10px 0 0 10px !important;
|
117 |
-
|
118 |
-
padding:10px 00px 10px 15px;
|
119 |
border-color:#EEEEEE;
|
120 |
border-style:solid none none solid;
|
121 |
border-width:1px medium medium 1px;
|
@@ -239,6 +240,15 @@ it's only a template design
|
|
239 |
position:relative;
|
240 |
}
|
241 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
/* ----------- Sidebar widget -------------*/
|
243 |
|
244 |
.ngg-widget,
|
2 |
CSS Name: Shadow Effect with Description text
|
3 |
Description: NextGEN Default Style with a Shadow effect and description text below the thumbnail
|
4 |
Author: Alex Rabe
|
5 |
+
Version: 1.40
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
84 |
+
width:91px;
|
85 |
+
height:68px;
|
86 |
}
|
87 |
|
88 |
.ngg-album-compact h4 {
|
116 |
background: url(shadowAlpha.png) no-repeat bottom right !important;
|
117 |
background: url(shadow.gif) no-repeat bottom right;
|
118 |
margin: 10px 0 0 10px !important;
|
119 |
+
padding:10px 15px 10px 15px;
|
|
|
120 |
border-color:#EEEEEE;
|
121 |
border-style:solid none none solid;
|
122 |
border-width:1px medium medium 1px;
|
240 |
position:relative;
|
241 |
}
|
242 |
|
243 |
+
.ngg-left {
|
244 |
+
float: left;
|
245 |
+
}
|
246 |
+
|
247 |
+
.ngg-right {
|
248 |
+
float: right;
|
249 |
+
}
|
250 |
+
|
251 |
+
|
252 |
/* ----------- Sidebar widget -------------*/
|
253 |
|
254 |
.ngg-widget,
|
css/nggallery.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
CSS Name: Default Styles
|
3 |
Description: NextGEN Default Gallery Stylesheet
|
4 |
Author: Alex Rabe
|
5 |
-
Version: 1.
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
@@ -81,6 +81,8 @@ it's only a template design
|
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
|
|
|
|
84 |
}
|
85 |
|
86 |
.ngg-album-compact h4 {
|
@@ -106,6 +108,12 @@ it's only a template design
|
|
106 |
display:block !important;
|
107 |
}
|
108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
.ngg-gallery-thumbnail-box {
|
110 |
float: left;
|
111 |
}
|
@@ -233,6 +241,15 @@ it's only a template design
|
|
233 |
position:relative;
|
234 |
}
|
235 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
/* ----------- Sidebar widget -------------*/
|
237 |
.ngg-widget,
|
238 |
.ngg-widget-slideshow {
|
2 |
CSS Name: Default Styles
|
3 |
Description: NextGEN Default Gallery Stylesheet
|
4 |
Author: Alex Rabe
|
5 |
+
Version: 1.41
|
6 |
|
7 |
This is a template stylesheet that can be used with NextGEN Gallery. I tested the
|
8 |
styles with a default theme Kubrick. Modify it when your theme struggle with it,
|
81 |
border:1px solid #000000;
|
82 |
margin:0px !important;
|
83 |
padding:0px !important;
|
84 |
+
width:91px;
|
85 |
+
height:68px;
|
86 |
}
|
87 |
|
88 |
.ngg-album-compact h4 {
|
108 |
display:block !important;
|
109 |
}
|
110 |
|
111 |
+
.ngg-galleryoverview .desc {
|
112 |
+
/* required for description */
|
113 |
+
margin:0px 10px 10px 0px;
|
114 |
+
padding:5px;
|
115 |
+
}
|
116 |
+
|
117 |
.ngg-gallery-thumbnail-box {
|
118 |
float: left;
|
119 |
}
|
241 |
position:relative;
|
242 |
}
|
243 |
|
244 |
+
.ngg-left {
|
245 |
+
float: left;
|
246 |
+
}
|
247 |
+
|
248 |
+
.ngg-right {
|
249 |
+
float: right;
|
250 |
+
}
|
251 |
+
|
252 |
+
|
253 |
/* ----------- Sidebar widget -------------*/
|
254 |
.ngg-widget,
|
255 |
.ngg-widget-slideshow {
|
lang/nggallery-de_DE.mo
CHANGED
Binary file
|
lang/nggallery-de_DE.po
CHANGED
@@ -2,7 +2,7 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: NextGEN Gallery\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
-
"PO-Revision-Date:
|
6 |
"Last-Translator: Alex Rabe\n"
|
7 |
"Language-Team: Alex Rabe\n"
|
8 |
"MIME-Version: 1.0\n"
|
@@ -15,335 +15,151 @@ msgstr ""
|
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPath-1: ..\n"
|
17 |
|
18 |
-
#: ../
|
19 |
-
msgid "Select a gallery"
|
20 |
-
msgstr "Wähle Galerie"
|
21 |
-
|
22 |
-
#: ../nggadmintab.php:67
|
23 |
-
#: ../nggbutton.php:50
|
24 |
-
msgid "No gallery"
|
25 |
-
msgstr "Keine Galerie"
|
26 |
-
|
27 |
-
#: ../nggadmintab.php:132
|
28 |
-
#: ../js/nggadmintab-js.php:161
|
29 |
-
msgid "URL"
|
30 |
-
msgstr "URL"
|
31 |
-
|
32 |
-
#: ../nggadmintab.php:136
|
33 |
-
#: ../admin/manage.php:541
|
34 |
-
#: ../js/nggadmintab-js.php:164
|
35 |
-
msgid "Alt & Title Text"
|
36 |
-
msgstr "Alt & Titel Text"
|
37 |
-
|
38 |
-
#: ../nggadmintab.php:140
|
39 |
-
#: ../admin/manage.php:291
|
40 |
-
#: ../admin/manage.php:467
|
41 |
-
#: ../admin/manage.php:540
|
42 |
-
#: ../admin/myimport.php:52
|
43 |
-
#: ../admin/style.php:101
|
44 |
-
#: ../admin/__manage.php:209
|
45 |
-
#: ../admin/__manage.php:1024
|
46 |
-
#: ../js/nggadmintab-js.php:167
|
47 |
-
msgid "Description"
|
48 |
-
msgstr "Beschreibung"
|
49 |
-
|
50 |
-
#: ../nggadmintab.php:145
|
51 |
-
#: ../js/nggadmintab-js.php:169
|
52 |
-
msgid "Delete File"
|
53 |
-
msgstr "Datei löschen"
|
54 |
-
|
55 |
-
#: ../nggadmintab.php:145
|
56 |
-
msgid "Delete image ?"
|
57 |
-
msgstr "Bilder löschen ?"
|
58 |
-
|
59 |
-
#: ../nggadmintab.php:153
|
60 |
-
msgid "Save"
|
61 |
-
msgstr "Speichern"
|
62 |
-
|
63 |
-
#: ../nggallery.php:176
|
64 |
-
#: ../nggbutton.php:36
|
65 |
-
#: ../admin/addgallery.php:238
|
66 |
-
#: ../admin/addgallery.php:242
|
67 |
-
#: ../admin/addgallery.php:306
|
68 |
-
#: ../admin/admin.php:47
|
69 |
-
#: ../admin/manage.php:64
|
70 |
-
#: ../admin/manage.php:436
|
71 |
-
#: ../admin/settings.php:82
|
72 |
-
#: ../admin/__manage.php:182
|
73 |
-
#: ../admin/__manage.php:991
|
74 |
-
msgid "Gallery"
|
75 |
-
msgstr "Galerie"
|
76 |
-
|
77 |
-
#: ../nggallery.php:265
|
78 |
msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
|
79 |
msgstr "Tut mir leid aber NextGEN Galerie arbeitet nur ab WordPress 2.1 und aufwärts"
|
80 |
|
81 |
-
#: ../
|
82 |
-
#: ../
|
83 |
-
msgid "Album"
|
84 |
-
msgstr "Album"
|
85 |
-
|
86 |
-
#: ../nggbutton.php:38
|
87 |
-
#: ../nggfunctions.php:523
|
88 |
-
#: ../admin/manage.php:85
|
89 |
-
msgid "Picture"
|
90 |
-
msgstr "Bild"
|
91 |
-
|
92 |
-
#: ../nggbutton.php:48
|
93 |
-
msgid "Select gallery"
|
94 |
-
msgstr "Wähle Galerie"
|
95 |
-
|
96 |
-
#: ../nggbutton.php:62
|
97 |
-
#: ../nggbutton.php:89
|
98 |
-
msgid "Show as"
|
99 |
-
msgstr "Zeige als"
|
100 |
-
|
101 |
-
#: ../nggbutton.php:63
|
102 |
-
msgid "Image list"
|
103 |
-
msgstr "Bilder-Liste"
|
104 |
-
|
105 |
-
#: ../nggbutton.php:64
|
106 |
-
#: ../admin/settings.php:85
|
107 |
-
#: ../admin/settings.php:252
|
108 |
-
#: ../admin/settings.php:451
|
109 |
-
msgid "Slideshow"
|
110 |
-
msgstr "Slideshow"
|
111 |
-
|
112 |
-
#: ../nggbutton.php:75
|
113 |
-
#: ../admin/album.php:123
|
114 |
-
msgid "Select album"
|
115 |
-
msgstr "Wähle Album"
|
116 |
-
|
117 |
-
#: ../nggbutton.php:77
|
118 |
-
msgid "No album"
|
119 |
-
msgstr "Kein Album"
|
120 |
-
|
121 |
-
#: ../nggbutton.php:90
|
122 |
-
msgid "Extended version"
|
123 |
-
msgstr "Erweiterte Version"
|
124 |
-
|
125 |
-
#: ../nggbutton.php:91
|
126 |
-
msgid "Compact version"
|
127 |
-
msgstr "Kompakte Version"
|
128 |
-
|
129 |
-
#: ../nggbutton.php:102
|
130 |
-
msgid "Select picture"
|
131 |
-
msgstr "Wähle Bild"
|
132 |
-
|
133 |
-
#: ../nggbutton.php:104
|
134 |
-
msgid "No picture"
|
135 |
-
msgstr "Kein Bild"
|
136 |
-
|
137 |
-
#: ../nggbutton.php:116
|
138 |
-
msgid "Width x Height"
|
139 |
-
msgstr "Breite x Höhe"
|
140 |
-
|
141 |
-
#: ../nggbutton.php:120
|
142 |
-
msgid "Effect"
|
143 |
-
msgstr "Effekt"
|
144 |
-
|
145 |
-
#: ../nggbutton.php:123
|
146 |
-
msgid "No effect"
|
147 |
-
msgstr "Kein Effekt"
|
148 |
-
|
149 |
-
#: ../nggbutton.php:124
|
150 |
-
#: ../admin/settings.php:84
|
151 |
-
#: ../admin/settings.php:345
|
152 |
-
msgid "Watermark"
|
153 |
-
msgstr "Wasserzeichen"
|
154 |
-
|
155 |
-
#: ../nggbutton.php:125
|
156 |
-
msgid "Web 2.0"
|
157 |
-
msgstr "Web 2.0"
|
158 |
-
|
159 |
-
#: ../nggbutton.php:130
|
160 |
-
msgid "Float"
|
161 |
-
msgstr "Float"
|
162 |
-
|
163 |
-
#: ../nggbutton.php:133
|
164 |
-
msgid "No float"
|
165 |
-
msgstr "Kein Float"
|
166 |
-
|
167 |
-
#: ../nggbutton.php:134
|
168 |
-
msgid "Left"
|
169 |
-
msgstr "Links"
|
170 |
-
|
171 |
-
#: ../nggbutton.php:135
|
172 |
-
msgid "Right"
|
173 |
-
msgstr "Rechts"
|
174 |
-
|
175 |
-
#: ../nggbutton.php:147
|
176 |
-
#: ../admin/manage.php:608
|
177 |
-
msgid "Cancel"
|
178 |
-
msgstr "Abbrechen"
|
179 |
-
|
180 |
-
#: ../nggbutton.php:151
|
181 |
-
#: ../js/nggadmintab-js.php:151
|
182 |
-
msgid "Insert"
|
183 |
-
msgstr "Einfügen"
|
184 |
-
|
185 |
-
#: ../nggfunctions.php:426
|
186 |
-
#: ../nggfunctions.php:441
|
187 |
msgid "Watch gallery"
|
188 |
msgstr "Galerie ansehen"
|
189 |
|
190 |
-
#: ../nggfunctions.php:
|
191 |
-
#: ../nggfunctions.php:
|
192 |
-
#: ../nggfunctions.php:
|
193 |
msgid "Photos"
|
194 |
msgstr "Fotos"
|
195 |
|
196 |
-
#: ../nggfunctions.php:
|
197 |
msgid "Back"
|
198 |
msgstr "Zurück"
|
199 |
|
200 |
-
#: ../nggfunctions.php:
|
201 |
msgid "Next"
|
202 |
msgstr "Vor"
|
203 |
|
204 |
-
#: ../nggfunctions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
msgid "from"
|
206 |
msgstr "von"
|
207 |
|
208 |
-
#: ../nggfunctions.php:
|
209 |
msgid "Overview"
|
210 |
msgstr "Übersicht"
|
211 |
|
212 |
-
#: ../ngginstall.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
msgid "[Show as slideshow]"
|
214 |
msgstr "[Zeige als Diashow]"
|
215 |
|
216 |
-
#: ../ngginstall.php:
|
217 |
msgid "[Show picture list]"
|
218 |
msgstr "[Zeige Bilder-Liste]"
|
219 |
|
220 |
-
#: ../nggwidget.php:
|
221 |
msgid "Title:"
|
222 |
msgstr "Titel:"
|
223 |
|
224 |
-
#: ../nggwidget.php:
|
225 |
msgid "Select Gallery:"
|
226 |
msgstr "Wähle Galerie"
|
227 |
|
228 |
-
#: ../nggwidget.php:
|
229 |
msgid "All images"
|
230 |
msgstr "Alle Bilder"
|
231 |
|
232 |
-
#: ../nggwidget.php:
|
233 |
msgid "Height:"
|
234 |
msgstr "Höhe:"
|
235 |
|
236 |
-
#: ../nggwidget.php:
|
237 |
msgid "Width:"
|
238 |
msgstr "Breite:"
|
239 |
|
240 |
-
#: ../nggwidget.php:
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
#: ../nggwidget.php:363
|
245 |
-
#: ../nggwidget.php:549
|
246 |
-
#: ../admin/album.php:244
|
247 |
-
#: ../admin/manage.php:290
|
248 |
-
#: ../admin/manage.php:448
|
249 |
-
#: ../admin/myimport.php:51
|
250 |
-
#: ../admin/__manage.php:208
|
251 |
-
#: ../admin/__manage.php:1005
|
252 |
-
#: ../js/nggadmintab-js.php:104
|
253 |
-
msgid "Title"
|
254 |
-
msgstr "Titel"
|
255 |
|
256 |
-
#: ../nggwidget.php:
|
257 |
-
|
258 |
-
|
259 |
-
msgstr "Verwende Bild"
|
260 |
|
261 |
-
#: ../nggwidget.php:
|
262 |
-
|
263 |
-
|
264 |
-
#: ../js/nggadmintab-js.php:101
|
265 |
-
msgid "Thumbnail"
|
266 |
-
msgstr "Thumbnail"
|
267 |
|
268 |
-
#: ../nggwidget.php:
|
269 |
-
#: ../
|
270 |
-
msgid "
|
271 |
-
msgstr "
|
272 |
-
|
273 |
-
#: ../nggwidget.php:371
|
274 |
-
#: ../nggwidget.php:557
|
275 |
-
msgid "Number of pics"
|
276 |
-
msgstr "Anzahl der Bilder"
|
277 |
-
|
278 |
-
#: ../nggwidget.php:382
|
279 |
-
#: ../nggwidget.php:568
|
280 |
-
msgid "Width (px)"
|
281 |
-
msgstr "Breite (px)"
|
282 |
-
|
283 |
-
#: ../nggwidget.php:384
|
284 |
-
#: ../nggwidget.php:570
|
285 |
-
msgid "Height (px)"
|
286 |
-
msgstr "Höhe (px)"
|
287 |
-
|
288 |
-
#: ../nggwidget.php:386
|
289 |
-
#: ../nggwidget.php:572
|
290 |
-
msgid "Mode"
|
291 |
-
msgstr "Modus"
|
292 |
-
|
293 |
-
#: ../nggwidget.php:388
|
294 |
-
#: ../nggwidget.php:574
|
295 |
-
#: ../admin/settings.php:490
|
296 |
-
msgid "none"
|
297 |
-
msgstr "keiner"
|
298 |
|
299 |
-
#: ../nggwidget.php:
|
300 |
-
|
301 |
-
|
302 |
-
msgstr "Web 2.0"
|
303 |
|
304 |
-
#: ../nggwidget.php:
|
305 |
-
|
306 |
-
|
307 |
-
msgstr "Zeige auf der Startseite"
|
308 |
|
309 |
-
#: ../nggwidget.php:
|
310 |
-
#: ../
|
311 |
-
|
312 |
-
|
|
|
313 |
|
314 |
-
#: ../nggwidget.php:
|
315 |
-
|
316 |
-
|
317 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
|
319 |
-
#: ../nggwidget.php:
|
320 |
-
|
321 |
-
|
322 |
-
msgstr "Zeige in"
|
323 |
|
324 |
-
#: ../nggwidget.php:
|
325 |
-
|
326 |
-
|
327 |
-
msgstr "Alle Kategorien"
|
328 |
|
329 |
-
#: ../nggwidget.php:
|
330 |
-
#: ../nggwidget.php:587
|
331 |
msgid "Only which are not listed"
|
332 |
msgstr "Nur ungelistete"
|
333 |
|
334 |
-
#: ../nggwidget.php:
|
335 |
-
#: ../nggwidget.php:588
|
336 |
msgid "Only which are listed"
|
337 |
msgstr "Nur gelistete"
|
338 |
|
339 |
-
#: ../nggwidget.php:
|
340 |
-
|
341 |
-
|
342 |
-
msgstr "Kategorie (ID (nutze , für mehrere))"
|
343 |
|
344 |
-
#: ../nggwidget.php:
|
345 |
-
msgid "
|
346 |
-
msgstr "
|
347 |
|
348 |
#: ../admin/about.php:9
|
349 |
msgid "Copyright notes / Credits"
|
@@ -354,422 +170,300 @@ msgid "NextGEN DEV Team"
|
|
354 |
msgstr "NextGEN DEV Team"
|
355 |
|
356 |
#: ../admin/about.php:12
|
357 |
-
msgid "This plugin is
|
358 |
-
msgstr "Dieses Plugin
|
359 |
|
360 |
-
#: ../admin/about.php:
|
361 |
-
msgid "
|
362 |
-
msgstr "
|
363 |
-
|
364 |
-
#: ../admin/about.php:15
|
365 |
-
msgid "(Core AJAX developer)"
|
366 |
-
msgstr "(Core AJAX Entwickler)"
|
367 |
-
|
368 |
-
#: ../admin/about.php:16
|
369 |
-
#: ../admin/about.php:17
|
370 |
-
msgid "(Core developer)"
|
371 |
-
msgstr "(Core Entwickler)"
|
372 |
-
|
373 |
-
#: ../admin/about.php:18
|
374 |
-
msgid "(Sidebar Widget developer)"
|
375 |
-
msgstr "(Sidebar Widget Entwickler)"
|
376 |
|
377 |
-
#: ../admin/about.php:
|
378 |
msgid "Contributors / Tribute to"
|
379 |
msgstr "Anerkennung / Hinweise"
|
380 |
|
381 |
-
#: ../admin/about.php:
|
382 |
msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together."
|
383 |
msgstr "Falls Du Dir den Sourcecode dieses Plugins ansiehst wirst Du merken, das wir verschiedene gute Scripte sowie Ideen verwendet haben."
|
384 |
|
385 |
-
#: ../admin/about.php:
|
386 |
msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)"
|
387 |
msgstr "Wir möchten folgenden Menschen für Ihre Pionier-Arbeit danken (ohne diese Vorleistung wäre es unmöglich ein Plugin so schnell zu entwickeln)"
|
388 |
|
389 |
-
#: ../admin/about.php:
|
390 |
msgid "for their great documented code"
|
391 |
msgstr "für Ihren großartig dokumentierten Code"
|
392 |
|
393 |
-
#: ../admin/about.php:
|
394 |
msgid "for jQuery, which is the best Web2.0 framework"
|
395 |
msgstr "für jQuery, das Beste Web2.0 Framework"
|
396 |
|
397 |
-
#: ../admin/about.php:
|
398 |
msgid "for the fantastic PHP Thumbnail Class"
|
399 |
msgstr "für die fantastische PHP Thumbnail Klasse"
|
400 |
|
401 |
-
#: ../admin/about.php:
|
402 |
msgid "for PclZip , a PHP library that manage ZIP archives"
|
403 |
msgstr "für PclZip, eine ZIP PHP Library"
|
404 |
|
405 |
-
#: ../admin/about.php:
|
406 |
msgid "for a lot of very useful plugins and ideas"
|
407 |
msgstr "für viele nützliche Plugins und Ideen"
|
408 |
|
409 |
-
#: ../admin/about.php:
|
410 |
msgid "for RS-Discuss, it saved me a lot of time"
|
411 |
msgstr "für RS-Discuss, welches mir viel Zeit sparte"
|
412 |
|
413 |
-
#: ../admin/about.php:
|
414 |
msgid "for the best Media Flash Scripts on earth"
|
415 |
msgstr "für die besten Media Flash Scripte"
|
416 |
|
417 |
-
#: ../admin/about.php:
|
418 |
msgid "for the Watermark plugin"
|
419 |
msgstr "für das Wasserzeichen Plugin"
|
420 |
|
421 |
-
#: ../admin/about.php:
|
422 |
msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
|
423 |
msgstr "Falls Du Deinen Namen hier nicht auf dieser Liste findest und es einigen Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort einfach eine EMail."
|
424 |
|
425 |
-
#: ../admin/about.php:
|
426 |
msgid "How to support ?"
|
427 |
msgstr "Unterstützung / Hilfe"
|
428 |
|
429 |
-
#: ../admin/about.php:
|
430 |
msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
|
431 |
msgstr "Es existieren verschiedene Möglichkeiten diese Arbeit zu unterstützen."
|
432 |
|
433 |
-
#: ../admin/about.php:
|
434 |
msgid "Send us bugfixes / code changes"
|
435 |
msgstr "Schicke uns Verbesserungen / Bugfixes"
|
436 |
|
437 |
-
#: ../admin/about.php:
|
438 |
msgid "The most motivated support for this plugin are your ideas and brain work"
|
439 |
msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken"
|
440 |
|
441 |
-
#: ../admin/about.php:
|
442 |
msgid "Translate the plugin"
|
443 |
msgstr "Übersetze das Plugin"
|
444 |
|
445 |
-
#: ../admin/about.php:
|
446 |
msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
|
447 |
msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen würde ich es gerne in allen verfügbaren Sprachen anbieten"
|
448 |
|
449 |
-
#: ../admin/about.php:
|
450 |
msgid "Donate the work via paypal"
|
451 |
msgstr "Zeig Dich für diese Arbeit per PayPal dankbar"
|
452 |
|
453 |
-
#: ../admin/about.php:
|
454 |
msgid "No doubt a very usefull and easy motivation :-)"
|
455 |
msgstr "Kein Zweifel, eine schöne und simple Motivationshilfe"
|
456 |
|
457 |
-
#: ../admin/about.php:
|
458 |
msgid "Place a link to the plugin in your blog/webpage"
|
459 |
msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog"
|
460 |
|
461 |
-
#: ../admin/about.php:
|
462 |
msgid "Yes, share and trackback is also a good support for this work "
|
463 |
msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit"
|
464 |
|
465 |
-
#: ../admin/about.php:
|
466 |
msgid "Thanks!"
|
467 |
msgstr "Vielen Dank!"
|
468 |
|
469 |
-
#: ../admin/about.php:
|
470 |
msgid "We would like to thank this people which support us in the work :"
|
471 |
msgstr "Wir wollen diesen Menschen für Ihre Hilfe danken:"
|
472 |
|
473 |
-
#: ../admin/addgallery.php:
|
474 |
-
#: ../admin/addgallery.php:
|
475 |
msgid "Upload failed!"
|
476 |
msgstr "Upload fehlgeschlagen!"
|
477 |
|
478 |
-
#: ../admin/addgallery.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
msgid "remove"
|
480 |
msgstr "Entfernen"
|
481 |
|
482 |
-
#: ../admin/addgallery.php:
|
483 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
484 |
msgid "Add new gallery"
|
485 |
msgstr "Neue Galerie erstellen"
|
486 |
|
487 |
-
#: ../admin/addgallery.php:
|
488 |
-
#: ../admin/addgallery.php:
|
489 |
msgid "Upload a Zip-File"
|
490 |
msgstr "Zip-Datei hochladen"
|
491 |
|
492 |
-
#: ../admin/addgallery.php:
|
493 |
-
#: ../admin/addgallery.php:
|
494 |
msgid "Import image folder"
|
495 |
-
msgstr "Bilder-
|
496 |
|
497 |
-
#: ../admin/addgallery.php:
|
498 |
-
#: ../admin/addgallery.php:
|
499 |
msgid "Upload Images"
|
500 |
msgstr "Bilder hochladen"
|
501 |
|
502 |
-
#: ../admin/addgallery.php:
|
503 |
msgid "New Gallery"
|
504 |
msgstr "Neue Galerie"
|
505 |
|
506 |
-
#: ../admin/addgallery.php:
|
507 |
msgid "Create a new , empty gallery below the folder"
|
508 |
-
msgstr "Erstelle eine neue, leere Galerie unter dem
|
509 |
|
510 |
-
#: ../admin/addgallery.php:
|
511 |
msgid "Allowed characters for file and folder names are"
|
512 |
-
msgstr "Erlaubte Charaktere für die Datei- und
|
513 |
|
514 |
-
#: ../admin/addgallery.php:
|
515 |
msgid "Add gallery"
|
516 |
msgstr "Galerie hinzufügen"
|
517 |
|
518 |
-
#: ../admin/addgallery.php:
|
519 |
msgid "Select Zip-File"
|
520 |
msgstr "Wähle Zip-Datei"
|
521 |
|
522 |
-
#: ../admin/addgallery.php:
|
523 |
msgid "Upload a zip file with images"
|
524 |
msgstr "Lade eine Zip-Datei mit Bildern hoch"
|
525 |
|
526 |
-
#: ../admin/addgallery.php:
|
527 |
-
#: ../admin/addgallery.php:
|
528 |
msgid "in to"
|
529 |
msgstr "in"
|
530 |
|
531 |
-
#: ../admin/addgallery.php:
|
532 |
msgid "a new gallery"
|
533 |
msgstr "eine neue Galerie"
|
534 |
|
535 |
-
#: ../admin/addgallery.php:
|
536 |
-
#: ../admin/addgallery.php:
|
537 |
msgid "Note : The upload limit on your server is "
|
538 |
-
msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt"
|
|
|
|
|
|
|
|
|
|
|
|
|
539 |
|
540 |
-
#: ../admin/addgallery.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
msgid "Start upload"
|
542 |
msgstr "Upload starten"
|
543 |
|
544 |
-
#: ../admin/addgallery.php:
|
545 |
msgid "Import from Server path:"
|
546 |
msgstr "Importieren aus Server-Pfad:"
|
547 |
|
548 |
-
#: ../admin/addgallery.php:
|
549 |
msgid "Import a folder with images. Please note :"
|
550 |
msgstr "Importiere ein Verzeichniss mit Bildern. Bitte beachte:"
|
551 |
|
552 |
-
#: ../admin/addgallery.php:
|
553 |
-
msgid "For
|
554 |
-
msgstr "
|
555 |
|
556 |
-
#: ../admin/addgallery.php:
|
557 |
msgid "Import folder"
|
558 |
-
msgstr "
|
559 |
|
560 |
-
#: ../admin/addgallery.php:
|
561 |
msgid "Upload image"
|
562 |
msgstr "Bild hochladen"
|
563 |
|
564 |
-
#: ../admin/addgallery.php:
|
565 |
msgid "Choose gallery"
|
566 |
msgstr "Wähle Galerie"
|
567 |
|
568 |
-
#: ../admin/
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
#: ../admin/
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
#: ../admin/
|
577 |
-
#: ../admin/
|
578 |
-
#: ../
|
579 |
-
|
580 |
-
|
581 |
-
msgid "Directory"
|
582 |
-
msgstr "Verzeichniss"
|
583 |
-
|
584 |
-
#: ../admin/addgallery.php:205
|
585 |
-
msgid "didn't exist. Please create first the main gallery folder "
|
586 |
-
msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis."
|
587 |
-
|
588 |
-
#: ../admin/addgallery.php:206
|
589 |
-
#: ../admin/addgallery.php:214
|
590 |
-
msgid "Check this link, if you didn't know how to set the permission :"
|
591 |
-
msgstr "Dieser Link zeigt dir wie man Verzeichnisrechte ändert :"
|
592 |
-
|
593 |
-
#: ../admin/addgallery.php:213
|
594 |
-
msgid "didn't have the permissions "
|
595 |
-
msgstr "hat nicht die Berechtigungen"
|
596 |
-
|
597 |
-
#: ../admin/addgallery.php:221
|
598 |
-
msgid "already exists!"
|
599 |
-
msgstr "gibt es schon!"
|
600 |
-
|
601 |
-
#: ../admin/addgallery.php:227
|
602 |
-
#: ../admin/addgallery.php:229
|
603 |
-
#: ../admin/addgallery.php:270
|
604 |
-
#: ../admin/addgallery.php:530
|
605 |
-
#: ../admin/addgallery.php:532
|
606 |
-
msgid "Unable to create directory "
|
607 |
-
msgstr "Kann Verzeichniss nicht erstellen"
|
608 |
-
|
609 |
-
#: ../admin/addgallery.php:228
|
610 |
-
#: ../admin/addgallery.php:531
|
611 |
-
#: ../admin/addgallery.php:533
|
612 |
-
msgid "Unable to set directory permissions "
|
613 |
-
msgstr "Kann die Berechtigungen nicht setzen"
|
614 |
-
|
615 |
-
#: ../admin/addgallery.php:230
|
616 |
-
msgid "Unable to set directory permissions"
|
617 |
-
msgstr "Kann die Berechtigungen nicht setzen"
|
618 |
-
|
619 |
-
#: ../admin/addgallery.php:232
|
620 |
-
msgid "The server setting Safe-Mode is on !"
|
621 |
-
msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
|
622 |
-
|
623 |
-
#: ../admin/addgallery.php:233
|
624 |
-
msgid "Please create directory"
|
625 |
-
msgstr "Bitte erstelle das Verzeichniss"
|
626 |
-
|
627 |
-
#: ../admin/addgallery.php:234
|
628 |
-
msgid "and the thumbnails directory"
|
629 |
-
msgstr "und das Thumbnails-Verzeichniss"
|
630 |
-
|
631 |
-
#: ../admin/addgallery.php:234
|
632 |
-
msgid "with permission 777 manually !"
|
633 |
-
msgstr "mit den Berechtigungen 777 manuell !"
|
634 |
-
|
635 |
-
#: ../admin/addgallery.php:238
|
636 |
-
msgid "already exists"
|
637 |
-
msgstr "gibt es bereits"
|
638 |
-
|
639 |
-
#: ../admin/addgallery.php:242
|
640 |
-
#: ../admin/addgallery.php:306
|
641 |
-
msgid "successfully created!"
|
642 |
-
msgstr "erfolgreich erstellt!"
|
643 |
-
|
644 |
-
#: ../admin/addgallery.php:242
|
645 |
-
msgid "You can show this gallery with the tag"
|
646 |
-
msgstr "Du kannst diese Galerie mit diem Stichwort anzeigen :"
|
647 |
-
|
648 |
-
#: ../admin/addgallery.php:260
|
649 |
-
#: ../admin/addgallery.php:269
|
650 |
-
msgid "doesn`t exist"
|
651 |
-
msgstr "gibt es nicht"
|
652 |
-
|
653 |
-
#: ../admin/addgallery.php:264
|
654 |
-
msgid "contains no pictures"
|
655 |
-
msgstr "enthält keine Bilder"
|
656 |
-
|
657 |
-
#: ../admin/addgallery.php:269
|
658 |
-
msgid "Thumbnail Directory"
|
659 |
-
msgstr "Thumbnail Verzeichniss"
|
660 |
-
|
661 |
-
#: ../admin/addgallery.php:269
|
662 |
-
msgid "Please create the folder <i>thumbs</i> in your gallery folder."
|
663 |
-
msgstr "Bitte erstelle das Verzeichniss <i>thumbs</i> in Deinem Galerie-Verzeichniss als Unterverzeichniss."
|
664 |
-
|
665 |
-
#: ../admin/addgallery.php:282
|
666 |
-
#: ../admin/myimport.php:38
|
667 |
-
msgid "Database error. Could not add gallery!"
|
668 |
-
msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
|
669 |
-
|
670 |
-
#: ../admin/addgallery.php:306
|
671 |
-
msgid " pictures added."
|
672 |
-
msgstr " Bilder hinzugefügt."
|
673 |
-
|
674 |
-
#: ../admin/addgallery.php:350
|
675 |
-
#: ../admin/addgallery.php:387
|
676 |
-
msgid "Some pictures are not writeable :"
|
677 |
-
msgstr "Einige Bilder sind schreibgeschützt :"
|
678 |
-
|
679 |
-
#: ../admin/addgallery.php:458
|
680 |
-
msgid "Follow thumbnails could not created."
|
681 |
-
msgstr "Folgende Thumbnails konnten nicht erstellt werden :"
|
682 |
-
|
683 |
-
#: ../admin/addgallery.php:459
|
684 |
-
msgid "Some thumbnails are not writeable :"
|
685 |
-
msgstr "Einige Thumbnails sind schreibgeschützt :"
|
686 |
-
|
687 |
-
#: ../admin/addgallery.php:475
|
688 |
-
msgid "The Zip-file is too large. Exceed Memory limit !"
|
689 |
-
msgstr "Das Zip-File ist zu groß. Speicherlimit überschritten !"
|
690 |
-
|
691 |
-
#: ../admin/addgallery.php:513
|
692 |
-
msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
|
693 |
-
msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
|
694 |
-
|
695 |
-
#: ../admin/addgallery.php:538
|
696 |
-
msgid "Unable to unlink zip file "
|
697 |
-
msgstr "Unfähig die Zip-Datei zu bearbeiten"
|
698 |
-
|
699 |
-
#: ../admin/addgallery.php:541
|
700 |
-
msgid "Zip-File successfully unpacked"
|
701 |
-
msgstr "Zip-Datei erfolgreich entpackt"
|
702 |
-
|
703 |
-
#: ../admin/addgallery.php:577
|
704 |
-
#: ../admin/addgallery.php:585
|
705 |
-
msgid "Unable to unlink file "
|
706 |
-
msgstr "Unfähig das File zu bearbeiten"
|
707 |
-
|
708 |
-
#: ../admin/addgallery.php:578
|
709 |
-
msgid "No gallery selected !"
|
710 |
-
msgstr "Keine Galerie ausgewählt !"
|
711 |
-
|
712 |
-
#: ../admin/addgallery.php:586
|
713 |
-
msgid "Failure in database, no gallery path set !"
|
714 |
-
msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
|
715 |
-
|
716 |
-
#: ../admin/addgallery.php:593
|
717 |
-
msgid "is no valid image file!"
|
718 |
-
msgstr "ist keine zulässige Bilddatei !"
|
719 |
-
|
720 |
-
#: ../admin/addgallery.php:601
|
721 |
-
msgid "Error, the file could not moved to : "
|
722 |
-
msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
|
723 |
-
|
724 |
-
#: ../admin/addgallery.php:605
|
725 |
-
msgid "Error, the file permissions could not set"
|
726 |
-
msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
|
727 |
-
|
728 |
-
#: ../admin/addgallery.php:627
|
729 |
-
msgid " Image(s) successfully added"
|
730 |
-
msgstr " Bild(er) erfolgreich hinzugefügt"
|
731 |
|
732 |
-
#: ../admin/admin.php:
|
733 |
msgid "Add Gallery"
|
734 |
-
msgstr "Galerie hinzufügen"
|
735 |
|
736 |
-
#: ../admin/admin.php:
|
737 |
msgid "Manage Gallery"
|
738 |
msgstr "Galerie verwalten"
|
739 |
|
740 |
-
#: ../admin/admin.php:
|
|
|
|
|
|
|
|
|
|
|
741 |
msgid "Options"
|
742 |
msgstr "Optionen"
|
743 |
|
744 |
-
#: ../admin/admin.php:
|
745 |
msgid "Style"
|
746 |
msgstr "Style"
|
747 |
|
748 |
-
#: ../admin/admin.php:
|
749 |
msgid "Setup Gallery"
|
750 |
msgstr "Galerie Setup"
|
751 |
|
752 |
-
#: ../admin/admin.php:
|
753 |
msgid "Setup"
|
754 |
msgstr "Setup"
|
755 |
|
756 |
-
#: ../admin/admin.php:
|
757 |
msgid "Roles"
|
758 |
msgstr "Zugriff"
|
759 |
|
760 |
-
#: ../admin/admin.php:
|
761 |
#: ../admin/myimport.php:74
|
762 |
msgid "Import"
|
763 |
msgstr "Import "
|
764 |
|
765 |
-
#: ../admin/admin.php:
|
766 |
msgid "About this Gallery"
|
767 |
msgstr "Über diese Galerie"
|
768 |
|
769 |
-
#: ../admin/admin.php:
|
770 |
msgid "About"
|
771 |
msgstr "Über"
|
772 |
|
|
|
|
|
|
|
|
|
773 |
#: ../admin/album.php:17
|
774 |
#: ../admin/album.php:36
|
775 |
msgid "Update Successfully"
|
@@ -779,83 +473,306 @@ msgstr "Update erfolgreich"
|
|
779 |
msgid "Album deleted"
|
780 |
msgstr "Album gelöscht"
|
781 |
|
782 |
-
#: ../admin/album.php:
|
783 |
msgid "Manage Albums"
|
784 |
msgstr "Verwalte Alben"
|
785 |
|
786 |
-
#: ../admin/album.php:
|
|
|
|
|
|
|
|
|
|
|
787 |
msgid "No album selected"
|
788 |
msgstr "Kein Album ausgewählt"
|
789 |
|
790 |
-
#: ../admin/album.php:
|
791 |
msgid "Add new album"
|
792 |
msgstr "Album hinzufügen"
|
793 |
|
794 |
-
#: ../admin/album.php:
|
795 |
-
#: ../admin/manage.php:
|
796 |
-
#: ../admin/manage.php:
|
797 |
-
#: ../admin/
|
798 |
msgid "Delete"
|
799 |
msgstr "Lösche"
|
800 |
|
801 |
-
#: ../admin/album.php:
|
802 |
msgid "Delete album ?"
|
803 |
msgstr "Lösche Album ?"
|
804 |
|
805 |
-
#: ../admin/album.php:
|
806 |
-
#: ../admin/settings.php:
|
807 |
-
#: ../admin/settings.php:
|
808 |
-
#: ../admin/settings.php:
|
809 |
-
#: ../admin/settings.php:
|
810 |
-
#: ../admin/settings.php:
|
811 |
-
#: ../admin/settings.php:
|
812 |
-
#: ../admin/settings.php:
|
|
|
813 |
msgid "Update"
|
814 |
msgstr "Aktualisiere"
|
815 |
|
816 |
-
#: ../admin/album.php:
|
|
|
|
|
|
|
|
|
817 |
msgid "[Maximize]"
|
818 |
msgstr "[Vergrößern]"
|
819 |
|
820 |
-
#: ../admin/album.php:
|
821 |
msgid "[Minimize]"
|
822 |
msgstr "[Verkleinern]"
|
823 |
|
824 |
-
#: ../admin/album.php:
|
825 |
msgid "After you create and select a album, you can drag and drop a gallery into your album below"
|
826 |
msgstr "Nachdem du ein Album erstellt und ausgewählt hast, kannst du per Drag & Drop eine Galerie in das Album ziehen"
|
827 |
|
828 |
-
#: ../admin/album.php:
|
829 |
msgid "Select Gallery"
|
830 |
msgstr "Wähle Galerie"
|
831 |
|
832 |
-
#: ../admin/album.php:
|
833 |
msgid "Album Page ID"
|
834 |
msgstr "Album Seiten ID (Page ID)"
|
835 |
|
836 |
-
#: ../admin/album.php:
|
837 |
msgid "No album selected!"
|
838 |
msgstr "Kein Album ausgewählt"
|
839 |
|
840 |
-
#: ../admin/album.php:
|
841 |
-
#: ../admin/manage.php:
|
842 |
-
#: ../admin/manage.php:
|
843 |
#: ../admin/myimport.php:49
|
844 |
-
#: ../admin/
|
845 |
msgid "ID"
|
846 |
msgstr "ID"
|
847 |
|
848 |
-
#: ../admin/album.php:
|
849 |
msgid "Name"
|
850 |
msgstr "Name"
|
851 |
|
852 |
-
#: ../admin/album.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
853 |
msgid "Page"
|
854 |
msgstr "Seite"
|
855 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
856 |
#: ../admin/manage.php:64
|
857 |
#: ../admin/manage.php:85
|
858 |
-
#: ../admin/
|
859 |
msgid "deleted successfully"
|
860 |
msgstr "erfolgreich gelöscht"
|
861 |
|
@@ -875,176 +792,180 @@ msgstr "Bilder erfolgreich verkleinert"
|
|
875 |
msgid "Pictures deleted successfully "
|
876 |
msgstr "Bilder erfolgreich gelöscht"
|
877 |
|
878 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
879 |
msgid "Tags changed"
|
880 |
msgstr "Stichwörter geändert"
|
881 |
|
882 |
-
#: ../admin/manage.php:
|
883 |
msgid "Update successful"
|
884 |
msgstr "Aktualisierung erfolgreich"
|
885 |
|
886 |
-
#: ../admin/manage.php:
|
887 |
-
msgid " picture(s) successfully added"
|
888 |
-
msgstr " Bild(er) erfolgreich hinzugefügt"
|
889 |
-
|
890 |
-
#: ../admin/manage.php:261
|
891 |
msgid "New gallery page ID"
|
892 |
msgstr "Neue Galerie Seiten ID"
|
893 |
|
894 |
-
#: ../admin/manage.php:
|
895 |
msgid "created"
|
896 |
msgstr "erstellt"
|
897 |
|
898 |
-
#: ../admin/manage.php:
|
899 |
-
#: ../admin/
|
900 |
msgid "Gallery Overview"
|
901 |
msgstr "Galerie Übersicht"
|
902 |
|
903 |
-
#: ../admin/manage.php:
|
904 |
#: ../admin/myimport.php:50
|
905 |
-
#: ../admin/
|
906 |
msgid "Gallery name"
|
907 |
msgstr "Galerie Name"
|
908 |
|
909 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
910 |
#: ../admin/myimport.php:53
|
911 |
-
#: ../admin/
|
912 |
msgid "Page ID"
|
913 |
msgstr "Seiten ID (Page ID)"
|
914 |
|
915 |
-
#: ../admin/manage.php:
|
916 |
#: ../admin/myimport.php:54
|
917 |
-
#: ../admin/
|
918 |
msgid "Quantity"
|
919 |
msgstr "Anzahl"
|
920 |
|
921 |
-
#: ../admin/manage.php:
|
922 |
-
#: ../admin/manage.php:
|
923 |
#: ../admin/myimport.php:55
|
924 |
-
#: ../admin/
|
925 |
msgid "Action"
|
926 |
msgstr "Aktion"
|
927 |
|
928 |
-
#: ../admin/manage.php:
|
929 |
-
#: ../admin/
|
930 |
-
#: ../js/
|
931 |
msgid "Edit"
|
932 |
msgstr "Bearbeiten"
|
933 |
|
934 |
-
#: ../admin/manage.php:
|
935 |
-
#: ../admin/
|
936 |
msgid "Delete this gallery ?"
|
937 |
msgstr "Diese Galerie löschen ?"
|
938 |
|
939 |
-
#: ../admin/manage.php:
|
940 |
-
#: ../admin/manage.php:
|
941 |
#: ../admin/myimport.php:79
|
942 |
-
#: ../admin/
|
943 |
-
#: ../admin/
|
944 |
msgid "No entries found"
|
945 |
msgstr "Keine Einträge gefunden"
|
946 |
|
947 |
-
#: ../admin/manage.php:
|
948 |
-
#: ../admin/
|
949 |
msgid "Main settings"
|
950 |
msgstr "Haupteinstellungen"
|
951 |
|
952 |
-
#: ../admin/manage.php:
|
953 |
-
#: ../admin/
|
954 |
msgid "Page Link to"
|
955 |
msgstr "Seite verlinkt zu"
|
956 |
|
957 |
-
#: ../admin/manage.php:
|
958 |
-
#: ../admin/
|
959 |
msgid "Not linked"
|
960 |
msgstr "Nicht verlinkt"
|
961 |
|
962 |
-
#: ../admin/manage.php:
|
963 |
-
#: ../admin/
|
964 |
msgid "Preview image"
|
965 |
msgstr "Vorschau-Bild"
|
966 |
|
967 |
-
#: ../admin/manage.php:
|
968 |
-
#: ../admin/
|
969 |
msgid "No Picture"
|
970 |
msgstr "Kein Bild"
|
971 |
|
972 |
-
#: ../admin/manage.php:
|
973 |
-
#: ../admin/
|
974 |
msgid "Path"
|
975 |
msgstr "Pfad"
|
976 |
|
977 |
-
#: ../admin/manage.php:
|
978 |
-
#: ../admin/
|
979 |
msgid "Create new page"
|
980 |
msgstr "Neue Seite erstellen"
|
981 |
|
982 |
-
#: ../admin/manage.php:
|
983 |
-
#: ../admin/
|
984 |
msgid "Main page (No parent)"
|
985 |
msgstr "Haupseite (keine Unterseite)"
|
986 |
|
987 |
-
#: ../admin/manage.php:
|
988 |
-
#: ../admin/
|
989 |
msgid "Add page"
|
990 |
msgstr "Seite hinzufügen"
|
991 |
|
992 |
-
#: ../admin/manage.php:
|
993 |
-
#: ../admin/
|
994 |
msgid "Scan Folder for new images"
|
995 |
msgstr "Überprüfe Verzeichniss nach neuen Bildern"
|
996 |
|
997 |
-
#: ../admin/manage.php:
|
998 |
-
#: ../admin/manage.php:
|
999 |
-
#: ../admin/
|
1000 |
msgid "Save Changes"
|
1001 |
msgstr "Änderungen Speichern"
|
1002 |
|
1003 |
-
#: ../admin/manage.php:
|
1004 |
msgid "No action"
|
1005 |
msgstr "Keine Aktion"
|
1006 |
|
1007 |
-
#: ../admin/manage.php:
|
1008 |
-
msgid "Set watermark"
|
1009 |
-
msgstr "Wasserzeichen setzen"
|
1010 |
-
|
1011 |
-
#: ../admin/manage.php:511
|
1012 |
-
msgid "Create new thumbnails"
|
1013 |
-
msgstr "Neue Thumbnails erstellen"
|
1014 |
-
|
1015 |
-
#: ../admin/manage.php:512
|
1016 |
-
msgid "Resize images"
|
1017 |
-
msgstr "Bilder verkleinern"
|
1018 |
-
|
1019 |
-
#: ../admin/manage.php:513
|
1020 |
msgid "Delete images"
|
1021 |
msgstr "Bilder löschen"
|
1022 |
|
1023 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
1024 |
msgid "Add tags"
|
1025 |
msgstr "Stichwörter hinzufügen"
|
1026 |
|
1027 |
-
#: ../admin/manage.php:
|
1028 |
msgid "Delete tags"
|
1029 |
msgstr "Stichwörter löschen"
|
1030 |
|
1031 |
-
#: ../admin/manage.php:
|
1032 |
msgid "Overwrite tags"
|
1033 |
msgstr "Stichwörter überschreiben"
|
1034 |
|
1035 |
-
#: ../admin/manage.php:
|
1036 |
-
#: ../admin/manage.php:
|
1037 |
-
#: ../admin/manage.php:
|
1038 |
msgid "OK"
|
1039 |
msgstr "OK"
|
1040 |
|
1041 |
-
#: ../admin/manage.php:
|
1042 |
-
#: ../admin/manage.php:
|
1043 |
msgid "No images selected"
|
1044 |
msgstr "Keine Bilder ausgewählt"
|
1045 |
|
1046 |
-
#: ../admin/manage.php:
|
1047 |
-
#: ../admin/manage.php:
|
1048 |
#, php-format
|
1049 |
msgid ""
|
1050 |
"You are about to start the bulk edit for %s images \n"
|
@@ -1055,47 +976,71 @@ msgstr ""
|
|
1055 |
" \n"
|
1056 |
" 'Abbrechenl' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
|
1057 |
|
1058 |
-
#: ../admin/manage.php:
|
1059 |
msgid "Hide thumbnails "
|
1060 |
msgstr "Thumbnails verstecken"
|
1061 |
|
1062 |
-
#: ../admin/manage.php:
|
1063 |
msgid "Show thumbnails "
|
1064 |
msgstr "Thumbnails zeigen"
|
1065 |
|
1066 |
-
#: ../admin/manage.php:
|
1067 |
msgid "Show tags"
|
1068 |
msgstr "Zeige Tags"
|
1069 |
|
1070 |
-
#: ../admin/manage.php:
|
1071 |
msgid "Hide tags"
|
1072 |
msgstr "Verstecke Tags"
|
1073 |
|
1074 |
-
#: ../admin/manage.php:
|
1075 |
-
#: ../admin/settings.php:
|
1076 |
msgid "File name"
|
1077 |
msgstr "Dateiname"
|
1078 |
|
1079 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1080 |
msgid "exclude"
|
1081 |
msgstr "ausschließen"
|
1082 |
|
1083 |
-
#: ../admin/manage.php:
|
1084 |
msgid "Tags (comma separated list)"
|
1085 |
msgstr "Stichwörter (Tags)"
|
1086 |
|
1087 |
-
#: ../admin/manage.php:
|
1088 |
msgid "View"
|
1089 |
msgstr "Ansehen"
|
1090 |
|
1091 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1092 |
msgid "Delete this file ?"
|
1093 |
msgstr "Diese Datei löschen ?"
|
1094 |
|
1095 |
-
#: ../admin/manage.php:
|
1096 |
msgid "Enter the tags"
|
1097 |
msgstr "Stichwörter angeben"
|
1098 |
|
|
|
|
|
|
|
|
|
|
|
1099 |
#: ../admin/myimport.php:35
|
1100 |
msgid "Gallery "
|
1101 |
msgstr "Galerie"
|
@@ -1137,142 +1082,172 @@ msgstr "Der Server benachrichtigt Dich über eine neu verfügbare Version der Ne
|
|
1137 |
msgid "Download here"
|
1138 |
msgstr "Hier dowloaden"
|
1139 |
|
1140 |
-
#: ../admin/overview.php:
|
1141 |
msgid "Server Settings"
|
1142 |
msgstr "Server- Einstellungen"
|
1143 |
|
1144 |
-
#: ../admin/overview.php:
|
1145 |
msgid "Welcome"
|
1146 |
msgstr "Willkommen"
|
1147 |
|
1148 |
-
#: ../admin/overview.php:
|
1149 |
msgid "gallery administrator"
|
1150 |
msgstr "Galerie-Administrator"
|
1151 |
|
1152 |
-
#: ../admin/overview.php:
|
1153 |
msgid "gallery editor"
|
1154 |
msgstr "Galerie-Mitarbeiter"
|
1155 |
|
1156 |
-
#: ../admin/overview.php:
|
1157 |
#, php-format
|
1158 |
msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
|
1159 |
msgstr "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und Alben verwalten. Du hast im Moment %s Rechte."
|
1160 |
|
1161 |
-
#: ../admin/overview.php:
|
1162 |
msgid "Add a new gallery or import pictures"
|
1163 |
msgstr "Neue Galerie erstellen oder Bilder importieren"
|
1164 |
|
1165 |
-
#: ../admin/overview.php:
|
1166 |
msgid "Manage galleries and images"
|
1167 |
msgstr "Verwalte Galerien und Bilder"
|
1168 |
|
1169 |
-
#: ../admin/overview.php:
|
1170 |
msgid "Create and manage albums"
|
1171 |
msgstr "Erstelle und verwalte Alben"
|
1172 |
|
1173 |
-
#: ../admin/overview.php:
|
1174 |
msgid "Change the settings of NextGEN Gallery"
|
1175 |
msgstr "Ändere die Einstellungen von NextGEN Galerie"
|
1176 |
|
1177 |
-
#: ../admin/overview.php:
|
1178 |
msgid "Latest News"
|
1179 |
msgstr "Letzte Informationen"
|
1180 |
|
1181 |
-
#: ../admin/overview.php:
|
1182 |
#, php-format
|
1183 |
msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
|
1184 |
msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die <a href=\"%s\">Hauptseite</a> um Updates mitzubekommen."
|
1185 |
|
1186 |
-
#: ../admin/overview.php:
|
1187 |
msgid "GD support"
|
1188 |
msgstr "GD Unterstützung"
|
1189 |
|
1190 |
-
#: ../admin/overview.php:
|
1191 |
msgid "No GD support"
|
1192 |
msgstr "Keine GD Unterstützung"
|
1193 |
|
1194 |
-
#: ../admin/overview.php:
|
|
|
|
|
|
|
1195 |
msgid "Yes"
|
1196 |
msgstr "Ja"
|
1197 |
|
1198 |
-
#: ../admin/overview.php:
|
|
|
|
|
|
|
1199 |
msgid "No"
|
1200 |
msgstr "Nein"
|
1201 |
|
1202 |
-
#: ../admin/overview.php:
|
1203 |
msgid "Not set"
|
1204 |
msgstr "Nicht gesetzt"
|
1205 |
|
1206 |
-
#: ../admin/overview.php:
|
1207 |
-
#: ../admin/overview.php:
|
1208 |
msgid "On"
|
1209 |
msgstr "An"
|
1210 |
|
1211 |
-
#: ../admin/overview.php:
|
1212 |
-
#: ../admin/overview.php:
|
1213 |
msgid "Off"
|
1214 |
msgstr "Aus"
|
1215 |
|
1216 |
-
#: ../admin/overview.php:
|
1217 |
-
#: ../admin/overview.php:
|
1218 |
-
#: ../admin/overview.php:
|
1219 |
-
#: ../admin/overview.php:
|
1220 |
-
#: ../admin/overview.php:
|
1221 |
msgid "N/A"
|
1222 |
msgstr "N/A"
|
1223 |
|
1224 |
-
#: ../admin/overview.php:
|
1225 |
msgid " MByte"
|
1226 |
msgstr " MByte"
|
1227 |
|
1228 |
-
#: ../admin/overview.php:
|
1229 |
msgid "Operating System"
|
1230 |
msgstr "Betriebssystem"
|
1231 |
|
1232 |
-
#: ../admin/overview.php:
|
1233 |
msgid "Server"
|
1234 |
msgstr "Server"
|
1235 |
|
1236 |
-
#: ../admin/overview.php:
|
1237 |
msgid "Memory usage"
|
1238 |
msgstr "Speicherverbrauch"
|
1239 |
|
1240 |
-
#: ../admin/overview.php:
|
1241 |
msgid "MYSQL Version"
|
1242 |
msgstr "MySQL Version"
|
1243 |
|
1244 |
-
#: ../admin/overview.php:
|
1245 |
msgid "SQL Mode"
|
1246 |
msgstr "SQL Modus"
|
1247 |
|
1248 |
-
#: ../admin/overview.php:
|
1249 |
msgid "PHP Version"
|
1250 |
msgstr "PHP Version"
|
1251 |
|
1252 |
-
#: ../admin/overview.php:
|
1253 |
msgid "PHP Safe Mode"
|
1254 |
msgstr "PHP Safe Mode"
|
1255 |
|
1256 |
-
#: ../admin/overview.php:
|
1257 |
msgid "PHP Allow URL fopen"
|
1258 |
msgstr "PHP Allow URL fopen"
|
1259 |
|
1260 |
-
#: ../admin/overview.php:
|
1261 |
msgid "PHP Memory Limit"
|
1262 |
msgstr "PHP Memory Limit"
|
1263 |
|
1264 |
-
#: ../admin/overview.php:
|
1265 |
msgid "PHP Max Upload Size"
|
1266 |
msgstr "PHP Max Upload Size"
|
1267 |
|
1268 |
-
#: ../admin/overview.php:
|
1269 |
msgid "PHP Max Post Size"
|
1270 |
msgstr "PHP Max Post Size"
|
1271 |
|
1272 |
-
#: ../admin/overview.php:
|
1273 |
msgid "PHP Max Script Execute Time"
|
1274 |
msgstr "PHP Max Script Execute Time"
|
1275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1276 |
#: ../admin/roles.php:20
|
1277 |
msgid "Updated capabilities"
|
1278 |
msgstr "Zugriffsrechte geändert"
|
@@ -1283,7 +1258,7 @@ msgstr "Rollen / Zugriffsrechte"
|
|
1283 |
|
1284 |
#: ../admin/roles.php:26
|
1285 |
msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
|
1286 |
-
msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben
|
1287 |
|
1288 |
#: ../admin/roles.php:27
|
1289 |
msgid "For a more flexible user management you can use the"
|
@@ -1323,463 +1298,522 @@ msgstr "Rechte aktualisieren"
|
|
1323 |
|
1324 |
#: ../admin/settings.php:29
|
1325 |
#: ../admin/style.php:16
|
|
|
1326 |
msgid "Update successfully"
|
1327 |
msgstr "Aktualisierung erfolgreich"
|
1328 |
|
1329 |
-
#: ../admin/settings.php:
|
1330 |
-
|
|
|
|
|
|
|
|
|
1331 |
msgid "General Options"
|
1332 |
msgstr "Allg. Optionen"
|
1333 |
|
1334 |
-
#: ../admin/settings.php:
|
1335 |
-
#: ../admin/settings.php:251
|
1336 |
-
msgid "Thumbnails"
|
1337 |
-
msgstr "Thumbnails"
|
1338 |
-
|
1339 |
-
#: ../admin/settings.php:81
|
1340 |
msgid "Images"
|
1341 |
msgstr "Bilder"
|
1342 |
|
1343 |
-
#: ../admin/settings.php:
|
1344 |
-
#: ../admin/settings.php:
|
1345 |
msgid "Effects"
|
1346 |
msgstr "Effekte"
|
1347 |
|
1348 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1349 |
msgid "Gallery path"
|
1350 |
msgstr "Galerie-Pfad"
|
1351 |
|
1352 |
-
#: ../admin/settings.php:
|
1353 |
msgid "This is the default path for all galleries"
|
1354 |
msgstr "Dies ist der Standard-Pfad für alle Galerien"
|
1355 |
|
1356 |
-
#: ../admin/settings.php:
|
1357 |
msgid "Delete image files"
|
1358 |
msgstr "Lösche Bilddateien"
|
1359 |
|
1360 |
-
#: ../admin/settings.php:
|
1361 |
msgid "Delete files, when removing a gallery in the database"
|
1362 |
msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird"
|
1363 |
|
1364 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1365 |
msgid "Tags / Categories"
|
1366 |
msgstr "Stichwörter / Kategorien"
|
1367 |
|
1368 |
-
#: ../admin/settings.php:
|
1369 |
msgid "Activate related images"
|
1370 |
msgstr "Verwandte Bilder anzeigen"
|
1371 |
|
1372 |
-
#: ../admin/settings.php:
|
1373 |
msgid "This option will append related images to every post"
|
1374 |
msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag"
|
1375 |
|
1376 |
-
#: ../admin/settings.php:
|
1377 |
msgid "Match with"
|
1378 |
msgstr "Vergleiche mit"
|
1379 |
|
1380 |
-
#: ../admin/settings.php:
|
1381 |
msgid "Categories"
|
1382 |
msgstr "Kategorien"
|
1383 |
|
1384 |
-
#: ../admin/settings.php:
|
|
|
1385 |
msgid "Tags"
|
1386 |
msgstr "Stichwörter"
|
1387 |
|
1388 |
-
#: ../admin/settings.php:
|
1389 |
msgid " (require WordPress 2.3 or higher)"
|
1390 |
msgstr " (benötigt WordPress 2.3 oder höher)"
|
1391 |
|
1392 |
-
#: ../admin/settings.php:
|
1393 |
msgid "Max. number of images"
|
1394 |
msgstr "Max. Anzahl der Bilder"
|
1395 |
|
1396 |
-
#: ../admin/settings.php:
|
1397 |
msgid "0 will show all images"
|
1398 |
msgstr "0 zeige alle verwandten Bilder"
|
1399 |
|
1400 |
-
#: ../admin/settings.php:
|
1401 |
msgid "Thumbnail settings"
|
1402 |
msgstr "Thumbnail Einstellungen"
|
1403 |
|
1404 |
-
#: ../admin/settings.php:
|
1405 |
msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
|
1406 |
msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
|
1407 |
|
1408 |
-
#: ../admin/settings.php:
|
1409 |
msgid "Width x height (in pixel)"
|
1410 |
msgstr "Breite x Höhe (in Pixel)"
|
1411 |
|
1412 |
-
#: ../admin/settings.php:
|
1413 |
msgid "These values are maximum values "
|
1414 |
msgstr "Diese Angaben sind maximale Angaben."
|
1415 |
|
1416 |
-
#: ../admin/settings.php:
|
1417 |
msgid "Set fix dimension"
|
1418 |
msgstr "Setze fixe Größe"
|
1419 |
|
1420 |
-
#: ../admin/settings.php:
|
1421 |
msgid "Ignore the aspect ratio, no portrait thumbnails"
|
1422 |
msgstr "Ignoriere Bildseitenverhältnis"
|
1423 |
|
1424 |
-
#: ../admin/settings.php:
|
1425 |
msgid "Crop square thumbnail from image"
|
1426 |
msgstr "Mittige Thumbnails aus Bildern ausschneiden"
|
1427 |
|
1428 |
-
#: ../admin/settings.php:
|
1429 |
msgid "Create square thumbnails, use only the width setting :"
|
1430 |
msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :"
|
1431 |
|
1432 |
-
#: ../admin/settings.php:
|
1433 |
msgid "Thumbnail quality"
|
1434 |
msgstr "Thumbnail Qualität"
|
1435 |
|
1436 |
-
#: ../admin/settings.php:
|
1437 |
-
#: ../admin/settings.php:
|
1438 |
msgid "Resample Mode"
|
1439 |
msgstr "Resample Modus"
|
1440 |
|
1441 |
-
#: ../admin/settings.php:
|
1442 |
-
#: ../admin/settings.php:
|
1443 |
msgid "Value between 1-5 (higher value, more CPU load)"
|
1444 |
msgstr "Wähle zwischen 1-5 (je höhere desto länger braucht der Server)"
|
1445 |
|
1446 |
-
#: ../admin/settings.php:
|
1447 |
msgid "Image settings"
|
1448 |
msgstr "Bild Einstellungen"
|
1449 |
|
1450 |
-
#: ../admin/settings.php:
|
1451 |
msgid "Resize Images"
|
1452 |
msgstr "Bilder verkleinern"
|
1453 |
|
1454 |
-
#: ../admin/settings.php:
|
1455 |
msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
|
1456 |
msgstr "Breite x Höhe (in Pixel). NextGEN Galerie beachtet das Seitenverhältnis."
|
1457 |
|
1458 |
-
#: ../admin/settings.php:
|
1459 |
msgid "Image quality"
|
1460 |
msgstr "Bild Qualität"
|
1461 |
|
1462 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1463 |
msgid "Gallery settings"
|
1464 |
msgstr "Galerie Einstellungen"
|
1465 |
|
1466 |
-
#: ../admin/settings.php:
|
1467 |
msgid "Activate jQuery navigation"
|
1468 |
msgstr "Aktiviere jQuery Navigation"
|
1469 |
|
1470 |
-
#: ../admin/settings.php:
|
1471 |
msgid "Please note : This is still experimental. Requires the Thickbox effect"
|
1472 |
msgstr "Bitte beachten : Diese Funktion befindet sich noch im Teststadium. Geht nur mit Thickbox."
|
1473 |
|
1474 |
-
#: ../admin/settings.php:
|
1475 |
msgid "Deactivate gallery page link"
|
1476 |
msgstr "Keine Seitenverzweigung"
|
1477 |
|
1478 |
-
#: ../admin/settings.php:
|
1479 |
msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
|
1480 |
msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt."
|
1481 |
|
1482 |
-
#: ../admin/settings.php:
|
1483 |
msgid "Number of images per page"
|
1484 |
msgstr "Anzahl der Bilder pro Seite"
|
1485 |
|
1486 |
-
#: ../admin/settings.php:
|
1487 |
msgid "0 will disable pagination, all images on one page"
|
1488 |
msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
|
1489 |
|
1490 |
-
#: ../admin/settings.php:
|
1491 |
msgid "Integrate slideshow"
|
1492 |
msgstr "Slideshow verwenden"
|
1493 |
|
1494 |
-
#: ../admin/settings.php:
|
1495 |
msgid "Show first"
|
1496 |
msgstr "Zeige als Erstes"
|
1497 |
|
1498 |
-
#: ../admin/settings.php:
|
1499 |
msgid "Show thumbnail description"
|
1500 |
msgstr "Zeige Bildbeschreibung"
|
1501 |
|
1502 |
-
#: ../admin/settings.php:
|
1503 |
-
#: ../admin/settings.php:
|
1504 |
-
#: ../js/
|
1505 |
msgid "None"
|
1506 |
msgstr "Keiner"
|
1507 |
|
1508 |
-
#: ../admin/settings.php:
|
1509 |
msgid "Description text"
|
1510 |
msgstr "Beschreibung"
|
1511 |
|
1512 |
-
#: ../admin/settings.php:
|
1513 |
-
#: ../admin/settings.php:
|
1514 |
msgid "Alt / Title text"
|
1515 |
msgstr "Alt / Titel Text"
|
1516 |
|
1517 |
-
#: ../admin/settings.php:
|
1518 |
msgid "Show ImageBrowser"
|
1519 |
msgstr "Zeige Bilder Browser"
|
1520 |
|
1521 |
-
#: ../admin/settings.php:
|
1522 |
msgid "The gallery will open the ImageBrowser instead the effect."
|
1523 |
msgstr "Es wird der Bilder Browser angezeigt (Kein JavaScript Effekt)"
|
1524 |
|
1525 |
-
#: ../admin/settings.php:
|
1526 |
msgid "Sort options"
|
1527 |
msgstr "Sortierung"
|
1528 |
|
1529 |
-
#: ../admin/settings.php:
|
1530 |
msgid "Sort thumbnails"
|
1531 |
msgstr "Thumbnails sortieren"
|
1532 |
|
1533 |
-
#: ../admin/settings.php:
|
1534 |
msgid "Image ID"
|
1535 |
msgstr "Bilder ID"
|
1536 |
|
1537 |
-
#: ../admin/settings.php:
|
1538 |
msgid "Sort direction"
|
1539 |
msgstr "Sortierreihenfolge"
|
1540 |
|
1541 |
-
#: ../admin/settings.php:
|
1542 |
msgid "Ascending"
|
1543 |
msgstr "Aufsteigend"
|
1544 |
|
1545 |
-
#: ../admin/settings.php:
|
1546 |
msgid "Descending"
|
1547 |
msgstr "Absteigend"
|
1548 |
|
1549 |
-
#: ../admin/settings.php:
|
1550 |
msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
|
1551 |
msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML Code verwenden. Bitte beachte, das nur der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
|
1552 |
|
1553 |
-
#: ../admin/settings.php:
|
1554 |
msgid "With the placeholder"
|
1555 |
msgstr "Mit Platzhalter"
|
1556 |
|
1557 |
-
#: ../admin/settings.php:
|
1558 |
msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
|
1559 |
msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust."
|
1560 |
|
1561 |
-
#: ../admin/settings.php:
|
1562 |
msgid "JavaScript Thumbnail effect"
|
1563 |
msgstr "JavaScript Thumbnail Effekt"
|
1564 |
|
1565 |
-
#: ../admin/settings.php:
|
1566 |
msgid "Thickbox"
|
1567 |
msgstr "Thickbox"
|
1568 |
|
1569 |
-
#: ../admin/settings.php:
|
1570 |
msgid "Lightbox"
|
1571 |
msgstr "Lightbox"
|
1572 |
|
1573 |
-
#: ../admin/settings.php:
|
1574 |
msgid "Highslide"
|
1575 |
msgstr "Highslide"
|
1576 |
|
1577 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
1578 |
msgid "Custom"
|
1579 |
msgstr "Eigener"
|
1580 |
|
1581 |
-
#: ../admin/settings.php:
|
1582 |
msgid "Link Code line"
|
1583 |
msgstr "Link Code Zeile"
|
1584 |
|
1585 |
-
#: ../admin/settings.php:
|
1586 |
msgid "Select loading image"
|
1587 |
msgstr "Wähle Ladeanimation"
|
1588 |
|
1589 |
-
#: ../admin/settings.php:
|
1590 |
msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
|
1591 |
msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. "
|
1592 |
|
1593 |
-
#: ../admin/settings.php:
|
1594 |
msgid "Preview"
|
1595 |
msgstr "Vorschau"
|
1596 |
|
1597 |
-
#: ../admin/settings.php:
|
1598 |
-
#: ../admin/settings.php:
|
1599 |
msgid "Position"
|
1600 |
msgstr "Position"
|
1601 |
|
1602 |
-
#: ../admin/settings.php:
|
1603 |
msgid "Offset"
|
1604 |
msgstr "Abstand"
|
1605 |
|
1606 |
-
#: ../admin/settings.php:
|
1607 |
msgid "Use image as watermark"
|
1608 |
msgstr "Benutze Bild als Wasserzeichen"
|
1609 |
|
1610 |
-
#: ../admin/settings.php:
|
1611 |
msgid "URL to file"
|
1612 |
msgstr "URL zur Datei"
|
1613 |
|
1614 |
-
#: ../admin/settings.php:
|
1615 |
msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
|
1616 |
msgstr "Der Dateizugriff von URL's ist auf diesem Server deaktiviert (allow_url_fopen)"
|
1617 |
|
1618 |
-
#: ../admin/settings.php:
|
1619 |
msgid "Use text as watermark"
|
1620 |
msgstr "Benutze Text als Wasserzeichen"
|
1621 |
|
1622 |
-
#: ../admin/settings.php:
|
1623 |
msgid "Font"
|
1624 |
msgstr "Schriftart"
|
1625 |
|
1626 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
1627 |
msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
|
1628 |
msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
|
1629 |
|
1630 |
-
#: ../admin/settings.php:
|
1631 |
msgid "Size"
|
1632 |
msgstr "Größe"
|
1633 |
|
1634 |
-
#: ../admin/settings.php:
|
1635 |
msgid "Color"
|
1636 |
msgstr "Farbe"
|
1637 |
|
1638 |
-
#: ../admin/settings.php:
|
1639 |
msgid "(hex w/o #)"
|
1640 |
msgstr "(hex w/o #)"
|
1641 |
|
1642 |
-
#: ../admin/settings.php:
|
1643 |
msgid "Text"
|
1644 |
msgstr "Text"
|
1645 |
|
1646 |
-
#: ../admin/settings.php:
|
1647 |
msgid "Opaque"
|
1648 |
msgstr "Transparenz"
|
1649 |
|
1650 |
-
#: ../admin/settings.php:
|
1651 |
msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
|
1652 |
msgstr "Die Datei imagerotator.swf ist nicht im Plugin Verzeichniss -> so wird die Slideshow nicht funktionieren."
|
1653 |
|
1654 |
-
#: ../admin/settings.php:
|
1655 |
msgid "The settings are used in the JW Image Rotator Version 3.9 ."
|
1656 |
msgstr "Die Einstellungen werden im JW Image Rotator Version 3.9 benutzt."
|
1657 |
|
1658 |
-
#: ../admin/settings.php:
|
1659 |
msgid "See more information for the Flash Player on the web page"
|
1660 |
msgstr "Weitere Informationen auf der Flash Player Homepage"
|
1661 |
|
1662 |
-
#: ../admin/settings.php:
|
1663 |
msgid "Default size (W x H)"
|
1664 |
msgstr "Standard Größe (B x H)"
|
1665 |
|
1666 |
-
#: ../admin/settings.php:
|
1667 |
msgid "Shuffle mode"
|
1668 |
msgstr "Shuffle Modus"
|
1669 |
|
1670 |
-
#: ../admin/settings.php:
|
1671 |
msgid "Show next image on click"
|
1672 |
msgstr "Zeige nächstes Bild bei Klick"
|
1673 |
|
1674 |
-
#: ../admin/settings.php:
|
1675 |
msgid "Show navigation bar"
|
1676 |
msgstr "Zeige Navigations-Leiste"
|
1677 |
|
1678 |
-
#: ../admin/settings.php:
|
1679 |
msgid "Show loading icon"
|
1680 |
msgstr "Zeige Lade-Bildchen"
|
1681 |
|
1682 |
-
#: ../admin/settings.php:
|
1683 |
msgid "Use watermark logo"
|
1684 |
msgstr "Wasserzeichen anzeigen"
|
1685 |
|
1686 |
-
#: ../admin/settings.php:
|
1687 |
msgid "You can change the logo at the watermark settings"
|
1688 |
msgstr "Du kannst den Pfad in Einstellungen für da Wasserzeichen angeben"
|
1689 |
|
1690 |
-
#: ../admin/settings.php:
|
1691 |
msgid "Stretch image"
|
1692 |
msgstr "Bild dehnen"
|
1693 |
|
1694 |
-
#: ../admin/settings.php:
|
1695 |
msgid "true"
|
1696 |
msgstr "Ja"
|
1697 |
|
1698 |
-
#: ../admin/settings.php:
|
1699 |
msgid "false"
|
1700 |
msgstr "Nein"
|
1701 |
|
1702 |
-
#: ../admin/settings.php:
|
1703 |
msgid "fit"
|
1704 |
msgstr "Passend"
|
1705 |
|
1706 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
1707 |
msgid "Duration time"
|
1708 |
msgstr "Dauer"
|
1709 |
|
1710 |
-
#: ../admin/settings.php:
|
1711 |
msgid "sec."
|
1712 |
msgstr "Sek."
|
1713 |
|
1714 |
-
#: ../admin/settings.php:
|
1715 |
msgid "Transition / Fade effect"
|
1716 |
msgstr "Fade Effekt"
|
1717 |
|
1718 |
-
#: ../admin/settings.php:
|
1719 |
msgid "fade"
|
1720 |
msgstr "Fade"
|
1721 |
|
1722 |
-
#: ../admin/settings.php:
|
1723 |
msgid "bgfade"
|
1724 |
msgstr "BGFade"
|
1725 |
|
1726 |
-
#: ../admin/settings.php:
|
1727 |
msgid "slowfade"
|
1728 |
msgstr "Slowfade"
|
1729 |
|
1730 |
-
#: ../admin/settings.php:
|
1731 |
msgid "circles"
|
1732 |
msgstr "Kreise"
|
1733 |
|
1734 |
-
#: ../admin/settings.php:
|
1735 |
msgid "bubbles"
|
1736 |
msgstr "Blasen"
|
1737 |
|
1738 |
-
#: ../admin/settings.php:
|
1739 |
msgid "blocks"
|
1740 |
msgstr "Blöcke"
|
1741 |
|
1742 |
-
#: ../admin/settings.php:
|
1743 |
msgid "fluids"
|
1744 |
msgstr "Fluids"
|
1745 |
|
1746 |
-
#: ../admin/settings.php:
|
1747 |
msgid "flash"
|
1748 |
msgstr "Flash"
|
1749 |
|
1750 |
-
#: ../admin/settings.php:
|
1751 |
msgid "lines"
|
1752 |
msgstr "Linien"
|
1753 |
|
1754 |
-
#: ../admin/settings.php:
|
1755 |
-
msgid "random"
|
1756 |
-
msgstr "Zufall"
|
1757 |
-
|
1758 |
-
#: ../admin/settings.php:515
|
1759 |
msgid "Use slow zooming effect"
|
1760 |
msgstr "nutze Zoom Effekt"
|
1761 |
|
1762 |
-
#: ../admin/settings.php:
|
1763 |
msgid "Background Color"
|
1764 |
msgstr "Hintergrund (BG) Farbe"
|
1765 |
|
1766 |
-
#: ../admin/settings.php:
|
1767 |
msgid "Texts / Buttons Color"
|
1768 |
msgstr "Text- / Button Farbe"
|
1769 |
|
1770 |
-
#: ../admin/settings.php:
|
1771 |
msgid "Rollover / Active Color"
|
1772 |
msgstr "Rollover / Aktiv (Link) Farbe"
|
1773 |
|
1774 |
-
#: ../admin/settings.php:
|
1775 |
msgid "Background music (URL)"
|
1776 |
msgstr "Hintergrundmusik (URL)"
|
1777 |
|
1778 |
-
#: ../admin/settings.php:
|
1779 |
msgid "Try XHTML validation (with CDATA)"
|
1780 |
msgstr "Integriere XHTML Validierung (mittels CDATA)"
|
1781 |
|
1782 |
-
#: ../admin/settings.php:
|
1783 |
msgid "Important : Could causes problem at some browser. Please recheck your page."
|
1784 |
msgstr "Wichtig : Es könnnten Probleme bei einigen Browser auftauchen. Unbedingt Seite prüfen."
|
1785 |
|
@@ -1813,35 +1847,35 @@ msgstr ""
|
|
1813 |
"\\n"
|
1814 |
"Wähle [Cancel] um abzubrechen, [OK] zum Durchführen.\\n"
|
1815 |
|
1816 |
-
#: ../admin/setup.php:
|
1817 |
msgid "Uninstall plugin tables"
|
1818 |
msgstr "Plugin Tabellen (DB) entfernen"
|
1819 |
|
1820 |
-
#: ../admin/setup.php:
|
1821 |
msgid "You don't like NextGEN Gallery ?"
|
1822 |
msgstr "Du magst die NextGEN Galerie nicht ?"
|
1823 |
|
1824 |
-
#: ../admin/setup.php:
|
1825 |
msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
|
1826 |
msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen damit alle Tabellen der Galerie entfernt werden."
|
1827 |
|
1828 |
-
#: ../admin/setup.php:
|
1829 |
msgid "WARNING:"
|
1830 |
msgstr "WARNUNG:"
|
1831 |
|
1832 |
-
#: ../admin/setup.php:
|
1833 |
msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
|
1834 |
msgstr "Einmal deinstalliert -> keine Rückgängigmachung! D.h. auf Deutsch, das eine einmalig durchgeführte Deinstallation nicht mehr rückgängig gemacht werden kann da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird währenddessen."
|
1835 |
|
1836 |
-
#: ../admin/setup.php:
|
1837 |
msgid "and"
|
1838 |
msgstr "und"
|
1839 |
|
1840 |
-
#: ../admin/setup.php:
|
1841 |
msgid "Uninstall plugin"
|
1842 |
msgstr "Plugin deinstallieren"
|
1843 |
|
1844 |
-
#: ../admin/setup.php:
|
1845 |
msgid ""
|
1846 |
"You are about to Uninstall this plugin from WordPress.\\n"
|
1847 |
"This action is not reversible.\\n"
|
@@ -1853,6 +1887,39 @@ msgstr ""
|
|
1853 |
"\\n"
|
1854 |
"Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
|
1855 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1856 |
#: ../admin/style.php:34
|
1857 |
msgid "You do not have sufficient permissions to edit templates for this blog."
|
1858 |
msgstr "Du hast nicht die benötigten Rechte um Templates in diesem Blog zu bearbeiten."
|
@@ -1869,83 +1936,350 @@ msgstr "Aktiviere und nutze Stylesheet:"
|
|
1869 |
msgid "Activate"
|
1870 |
msgstr "Aktiviere"
|
1871 |
|
1872 |
-
#: ../admin/style.php:
|
1873 |
#, php-format
|
1874 |
msgid "Editing <strong>%s</strong>"
|
1875 |
msgstr "Bearbeite <strong>%s</strong>"
|
1876 |
|
1877 |
-
#: ../admin/style.php:
|
1878 |
#, php-format
|
1879 |
msgid "Browsing <strong>%s</strong>"
|
1880 |
msgstr "Browse <strong>%s</strong>"
|
1881 |
|
1882 |
-
#: ../admin/style.php:
|
|
|
1883 |
msgid "Author"
|
1884 |
msgstr "Autor"
|
1885 |
|
1886 |
-
#: ../admin/style.php:
|
1887 |
msgid "Version"
|
1888 |
msgstr "Version"
|
1889 |
|
1890 |
-
#: ../admin/style.php:
|
1891 |
msgid "Update File »"
|
1892 |
msgstr "Datei aktualisieren"
|
1893 |
|
1894 |
-
#: ../admin/style.php:
|
1895 |
msgid "If this file were writable you could edit it."
|
1896 |
msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten."
|
1897 |
|
1898 |
-
#: ../admin/style.php:
|
1899 |
msgid "Oops, no such file exists! Double check the name and try again, merci."
|
1900 |
msgstr "Oha, eine solche Datei existiert nicht! Bitte überprüfe den Namen und probiere es erneut, danke."
|
1901 |
|
1902 |
-
#: ../
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1906 |
msgid "Browse your files"
|
1907 |
msgstr "Durchsuche deine Dateien"
|
1908 |
|
1909 |
-
#: ../js/
|
1910 |
-
#: ../js/
|
1911 |
-
#: ../js/
|
1912 |
-
#: ../js/
|
1913 |
msgid "« Back"
|
1914 |
msgstr "« Zurück"
|
1915 |
|
1916 |
-
#: ../js/
|
1917 |
-
#: ../js/
|
1918 |
msgid "Direct link to file"
|
1919 |
msgstr "Link zur Datei"
|
1920 |
|
1921 |
-
#: ../js/
|
1922 |
msgid "Full size"
|
1923 |
msgstr "Volle Größe"
|
1924 |
|
1925 |
-
#: ../js/
|
1926 |
msgid "Show:"
|
1927 |
msgstr "Zeige als:"
|
1928 |
|
1929 |
-
#: ../js/
|
1930 |
msgid "Link to:"
|
1931 |
msgstr "Link zu:"
|
1932 |
|
1933 |
-
#: ../js/
|
1934 |
msgid "File"
|
1935 |
msgstr "Datei"
|
1936 |
|
1937 |
-
#: ../js/
|
1938 |
msgid "Send to editor »"
|
1939 |
msgstr "Zum Editor schicken »"
|
1940 |
|
1941 |
-
#: ../js/
|
|
|
|
|
|
|
|
|
|
|
1942 |
msgid "Save »"
|
1943 |
msgstr "Speichern »"
|
1944 |
|
1945 |
-
#: ../js/
|
1946 |
#, php-format
|
1947 |
msgid ""
|
1948 |
"Are you sure you want to delete the file '%s'?\n"
|
1949 |
"Click ok to delete or cancel to go back."
|
1950 |
msgstr "Bist du sicher das Du diese Datei '%s' löschen willst ?"
|
1951 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: NextGEN Gallery\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: 2008-01-28 20:19+0100\n"
|
6 |
"Last-Translator: Alex Rabe\n"
|
7 |
"Language-Team: Alex Rabe\n"
|
8 |
"MIME-Version: 1.0\n"
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPath-1: ..\n"
|
17 |
|
18 |
+
#: ../nggallery.php:175
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
|
20 |
msgstr "Tut mir leid aber NextGEN Galerie arbeitet nur ab WordPress 2.1 und aufwärts"
|
21 |
|
22 |
+
#: ../nggfunctions.php:452
|
23 |
+
#: ../nggfunctions.php:467
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
msgid "Watch gallery"
|
25 |
msgstr "Galerie ansehen"
|
26 |
|
27 |
+
#: ../nggfunctions.php:461
|
28 |
+
#: ../nggfunctions.php:473
|
29 |
+
#: ../nggfunctions.php:750
|
30 |
msgid "Photos"
|
31 |
msgstr "Fotos"
|
32 |
|
33 |
+
#: ../nggfunctions.php:547
|
34 |
msgid "Back"
|
35 |
msgstr "Zurück"
|
36 |
|
37 |
+
#: ../nggfunctions.php:551
|
38 |
msgid "Next"
|
39 |
msgstr "Vor"
|
40 |
|
41 |
+
#: ../nggfunctions.php:554
|
42 |
+
#: ../admin/manage.php:85
|
43 |
+
#: ../tinymce/window.php:37
|
44 |
+
msgid "Picture"
|
45 |
+
msgstr "Bild"
|
46 |
+
|
47 |
+
#: ../nggfunctions.php:554
|
48 |
msgid "from"
|
49 |
msgstr "von"
|
50 |
|
51 |
+
#: ../nggfunctions.php:720
|
52 |
msgid "Overview"
|
53 |
msgstr "Übersicht"
|
54 |
|
55 |
+
#: ../ngginstall.php:20
|
56 |
+
msgid "Sorry, NextGEN Gallery works only with a role called administrator"
|
57 |
+
msgstr "Tut mir leid, aber NextGEN Galerie benötigt die Rolle \"Administrator\""
|
58 |
+
|
59 |
+
#: ../ngginstall.php:143
|
60 |
+
msgid "NextGEN Gallery : Tables could not created, please check your database settings"
|
61 |
+
msgstr "NextGEN Gallery : Tabellen konnten nicht erstellt werden, überprüfe deine Datenbank"
|
62 |
+
|
63 |
+
#: ../ngginstall.php:183
|
64 |
msgid "[Show as slideshow]"
|
65 |
msgstr "[Zeige als Diashow]"
|
66 |
|
67 |
+
#: ../ngginstall.php:184
|
68 |
msgid "[Show picture list]"
|
69 |
msgstr "[Zeige Bilder-Liste]"
|
70 |
|
71 |
+
#: ../nggwidget.php:118
|
72 |
msgid "Title:"
|
73 |
msgstr "Titel:"
|
74 |
|
75 |
+
#: ../nggwidget.php:119
|
76 |
msgid "Select Gallery:"
|
77 |
msgstr "Wähle Galerie"
|
78 |
|
79 |
+
#: ../nggwidget.php:123
|
80 |
msgid "All images"
|
81 |
msgstr "Alle Bilder"
|
82 |
|
83 |
+
#: ../nggwidget.php:133
|
84 |
msgid "Height:"
|
85 |
msgstr "Höhe:"
|
86 |
|
87 |
+
#: ../nggwidget.php:134
|
88 |
msgid "Width:"
|
89 |
msgstr "Breite:"
|
90 |
|
91 |
+
#: ../nggwidget.php:188
|
92 |
+
#, php-format
|
93 |
+
msgid "NextGEN Gallery %d"
|
94 |
+
msgstr "NextGEN Gallery %d"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
+
#: ../nggwidget.php:204
|
97 |
+
msgid "NextGEN Gallery Widgets"
|
98 |
+
msgstr "NextGEN Gallery Widgets"
|
|
|
99 |
|
100 |
+
#: ../nggwidget.php:205
|
101 |
+
msgid "How many NextGEN Gallery widgets would you like?"
|
102 |
+
msgstr "Wie viele NextGEN Gallery Widgets möchtest du haben ?"
|
|
|
|
|
|
|
103 |
|
104 |
+
#: ../nggwidget.php:209
|
105 |
+
#: ../admin/uploadtab.php:193
|
106 |
+
msgid "Save"
|
107 |
+
msgstr "Speichern"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
+
#: ../nggwidget.php:301
|
110 |
+
msgid "Title :"
|
111 |
+
msgstr "Titel :"
|
|
|
112 |
|
113 |
+
#: ../nggwidget.php:306
|
114 |
+
msgid "Show :"
|
115 |
+
msgstr "Zeige als :"
|
|
|
116 |
|
117 |
+
#: ../nggwidget.php:311
|
118 |
+
#: ../admin/settings.php:100
|
119 |
+
#: ../admin/settings.php:295
|
120 |
+
msgid "Thumbnails"
|
121 |
+
msgstr "Thumbnails"
|
122 |
|
123 |
+
#: ../nggwidget.php:312
|
124 |
+
msgid "Orginal images"
|
125 |
+
msgstr "Orginal Bilder"
|
126 |
+
|
127 |
+
#: ../nggwidget.php:318
|
128 |
+
#: ../admin/settings.php:558
|
129 |
+
msgid "random"
|
130 |
+
msgstr "Zufall"
|
131 |
+
|
132 |
+
#: ../nggwidget.php:319
|
133 |
+
msgid "recent added "
|
134 |
+
msgstr "zuletzt hinzugefügt"
|
135 |
+
|
136 |
+
#: ../nggwidget.php:323
|
137 |
+
msgid "Width x Height :"
|
138 |
+
msgstr "Breite x Höhe :"
|
139 |
|
140 |
+
#: ../nggwidget.php:329
|
141 |
+
msgid "Select :"
|
142 |
+
msgstr "Wähle :"
|
|
|
143 |
|
144 |
+
#: ../nggwidget.php:331
|
145 |
+
msgid "All galleries"
|
146 |
+
msgstr "Alle Galerien"
|
|
|
147 |
|
148 |
+
#: ../nggwidget.php:332
|
|
|
149 |
msgid "Only which are not listed"
|
150 |
msgstr "Nur ungelistete"
|
151 |
|
152 |
+
#: ../nggwidget.php:333
|
|
|
153 |
msgid "Only which are listed"
|
154 |
msgstr "Nur gelistete"
|
155 |
|
156 |
+
#: ../nggwidget.php:338
|
157 |
+
msgid "Gallery ID :"
|
158 |
+
msgstr "Galerie ID :"
|
|
|
159 |
|
160 |
+
#: ../nggwidget.php:340
|
161 |
+
msgid "Gallery IDs, separated by commas."
|
162 |
+
msgstr "Galerie ID's, mit Kommas getrennt"
|
163 |
|
164 |
#: ../admin/about.php:9
|
165 |
msgid "Copyright notes / Credits"
|
170 |
msgstr "NextGEN DEV Team"
|
171 |
|
172 |
#: ../admin/about.php:12
|
173 |
+
msgid "This plugin is primarily developed, maintained, supported, documented by"
|
174 |
+
msgstr "Dieses Plugin wird hauptsächlich entwickelt, dokumentiert und supportet von"
|
175 |
|
176 |
+
#: ../admin/about.php:12
|
177 |
+
msgid "There are many other folks who have made contributions to this project :"
|
178 |
+
msgstr "Folgende Personen haben die Entwicklung bisher unterstützt :"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
+
#: ../admin/about.php:14
|
181 |
msgid "Contributors / Tribute to"
|
182 |
msgstr "Anerkennung / Hinweise"
|
183 |
|
184 |
+
#: ../admin/about.php:15
|
185 |
msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together."
|
186 |
msgstr "Falls Du Dir den Sourcecode dieses Plugins ansiehst wirst Du merken, das wir verschiedene gute Scripte sowie Ideen verwendet haben."
|
187 |
|
188 |
+
#: ../admin/about.php:16
|
189 |
msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)"
|
190 |
msgstr "Wir möchten folgenden Menschen für Ihre Pionier-Arbeit danken (ohne diese Vorleistung wäre es unmöglich ein Plugin so schnell zu entwickeln)"
|
191 |
|
192 |
+
#: ../admin/about.php:18
|
193 |
msgid "for their great documented code"
|
194 |
msgstr "für Ihren großartig dokumentierten Code"
|
195 |
|
196 |
+
#: ../admin/about.php:19
|
197 |
msgid "for jQuery, which is the best Web2.0 framework"
|
198 |
msgstr "für jQuery, das Beste Web2.0 Framework"
|
199 |
|
200 |
+
#: ../admin/about.php:20
|
201 |
msgid "for the fantastic PHP Thumbnail Class"
|
202 |
msgstr "für die fantastische PHP Thumbnail Klasse"
|
203 |
|
204 |
+
#: ../admin/about.php:21
|
205 |
msgid "for PclZip , a PHP library that manage ZIP archives"
|
206 |
msgstr "für PclZip, eine ZIP PHP Library"
|
207 |
|
208 |
+
#: ../admin/about.php:22
|
209 |
msgid "for a lot of very useful plugins and ideas"
|
210 |
msgstr "für viele nützliche Plugins und Ideen"
|
211 |
|
212 |
+
#: ../admin/about.php:23
|
213 |
msgid "for RS-Discuss, it saved me a lot of time"
|
214 |
msgstr "für RS-Discuss, welches mir viel Zeit sparte"
|
215 |
|
216 |
+
#: ../admin/about.php:24
|
217 |
msgid "for the best Media Flash Scripts on earth"
|
218 |
msgstr "für die besten Media Flash Scripte"
|
219 |
|
220 |
+
#: ../admin/about.php:25
|
221 |
msgid "for the Watermark plugin"
|
222 |
msgstr "für das Wasserzeichen Plugin"
|
223 |
|
224 |
+
#: ../admin/about.php:27
|
225 |
msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
|
226 |
msgstr "Falls Du Deinen Namen hier nicht auf dieser Liste findest und es einigen Code gibt, den ich in meinem Plugin verwendet habe, so schicken mir bitte sofort einfach eine EMail."
|
227 |
|
228 |
+
#: ../admin/about.php:28
|
229 |
msgid "How to support ?"
|
230 |
msgstr "Unterstützung / Hilfe"
|
231 |
|
232 |
+
#: ../admin/about.php:29
|
233 |
msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
|
234 |
msgstr "Es existieren verschiedene Möglichkeiten diese Arbeit zu unterstützen."
|
235 |
|
236 |
+
#: ../admin/about.php:31
|
237 |
msgid "Send us bugfixes / code changes"
|
238 |
msgstr "Schicke uns Verbesserungen / Bugfixes"
|
239 |
|
240 |
+
#: ../admin/about.php:31
|
241 |
msgid "The most motivated support for this plugin are your ideas and brain work"
|
242 |
msgstr "Der beste Support für dieses Plugin sind Deine Ideen und Gedanken"
|
243 |
|
244 |
+
#: ../admin/about.php:32
|
245 |
msgid "Translate the plugin"
|
246 |
msgstr "Übersetze das Plugin"
|
247 |
|
248 |
+
#: ../admin/about.php:32
|
249 |
msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
|
250 |
msgstr "Um jedem das Arbeiten mit diesem Plugin zu vereinfachen würde ich es gerne in allen verfügbaren Sprachen anbieten"
|
251 |
|
252 |
+
#: ../admin/about.php:33
|
253 |
msgid "Donate the work via paypal"
|
254 |
msgstr "Zeig Dich für diese Arbeit per PayPal dankbar"
|
255 |
|
256 |
+
#: ../admin/about.php:44
|
257 |
msgid "No doubt a very usefull and easy motivation :-)"
|
258 |
msgstr "Kein Zweifel, eine schöne und simple Motivationshilfe"
|
259 |
|
260 |
+
#: ../admin/about.php:46
|
261 |
msgid "Place a link to the plugin in your blog/webpage"
|
262 |
msgstr "Setze einen Link zu diesem Plugin auf Deinen Blog"
|
263 |
|
264 |
+
#: ../admin/about.php:46
|
265 |
msgid "Yes, share and trackback is also a good support for this work "
|
266 |
msgstr "Natürlich sind Trackbacks und Links auch ein guter Support für diese Arbeit"
|
267 |
|
268 |
+
#: ../admin/about.php:48
|
269 |
msgid "Thanks!"
|
270 |
msgstr "Vielen Dank!"
|
271 |
|
272 |
+
#: ../admin/about.php:49
|
273 |
msgid "We would like to thank this people which support us in the work :"
|
274 |
msgstr "Wir wollen diesen Menschen für Ihre Hilfe danken:"
|
275 |
|
276 |
+
#: ../admin/addgallery.php:35
|
277 |
+
#: ../admin/addgallery.php:51
|
278 |
msgid "Upload failed!"
|
279 |
msgstr "Upload fehlgeschlagen!"
|
280 |
|
281 |
+
#: ../admin/addgallery.php:56
|
282 |
+
#: ../admin/functions.php:567
|
283 |
+
#: ../admin/functions.php:635
|
284 |
+
msgid "No gallery selected !"
|
285 |
+
msgstr "Keine Galerie ausgewählt !"
|
286 |
+
|
287 |
+
#: ../admin/addgallery.php:103
|
288 |
+
msgid "Image Files"
|
289 |
+
msgstr "Bilder"
|
290 |
+
|
291 |
+
#: ../admin/addgallery.php:121
|
292 |
+
#: ../admin/addgallery.php:151
|
293 |
msgid "remove"
|
294 |
msgstr "Entfernen"
|
295 |
|
296 |
+
#: ../admin/addgallery.php:122
|
297 |
+
msgid "Browse..."
|
298 |
+
msgstr "Durchsuche..."
|
299 |
+
|
300 |
+
#: ../admin/addgallery.php:123
|
301 |
+
#: ../admin/addgallery.php:296
|
302 |
+
msgid "Upload images"
|
303 |
+
msgstr "Bilder hochladen"
|
304 |
+
|
305 |
+
#: ../admin/addgallery.php:167
|
306 |
+
#: ../admin/addgallery.php:179
|
307 |
msgid "Add new gallery"
|
308 |
msgstr "Neue Galerie erstellen"
|
309 |
|
310 |
+
#: ../admin/addgallery.php:169
|
311 |
+
#: ../admin/addgallery.php:200
|
312 |
msgid "Upload a Zip-File"
|
313 |
msgstr "Zip-Datei hochladen"
|
314 |
|
315 |
+
#: ../admin/addgallery.php:172
|
316 |
+
#: ../admin/addgallery.php:240
|
317 |
msgid "Import image folder"
|
318 |
+
msgstr "Bilder-Verzeichnis importieren"
|
319 |
|
320 |
+
#: ../admin/addgallery.php:174
|
321 |
+
#: ../admin/addgallery.php:264
|
322 |
msgid "Upload Images"
|
323 |
msgstr "Bilder hochladen"
|
324 |
|
325 |
+
#: ../admin/addgallery.php:185
|
326 |
msgid "New Gallery"
|
327 |
msgstr "Neue Galerie"
|
328 |
|
329 |
+
#: ../admin/addgallery.php:188
|
330 |
msgid "Create a new , empty gallery below the folder"
|
331 |
+
msgstr "Erstelle eine neue, leere Galerie unter dem Verzeichnis"
|
332 |
|
333 |
+
#: ../admin/addgallery.php:190
|
334 |
msgid "Allowed characters for file and folder names are"
|
335 |
+
msgstr "Erlaubte Charaktere für die Datei- und Verzeichnisnamen sind"
|
336 |
|
337 |
+
#: ../admin/addgallery.php:193
|
338 |
msgid "Add gallery"
|
339 |
msgstr "Galerie hinzufügen"
|
340 |
|
341 |
+
#: ../admin/addgallery.php:206
|
342 |
msgid "Select Zip-File"
|
343 |
msgstr "Wähle Zip-Datei"
|
344 |
|
345 |
+
#: ../admin/addgallery.php:208
|
346 |
msgid "Upload a zip file with images"
|
347 |
msgstr "Lade eine Zip-Datei mit Bildern hoch"
|
348 |
|
349 |
+
#: ../admin/addgallery.php:211
|
350 |
+
#: ../admin/addgallery.php:274
|
351 |
msgid "in to"
|
352 |
msgstr "in"
|
353 |
|
354 |
+
#: ../admin/addgallery.php:213
|
355 |
msgid "a new gallery"
|
356 |
msgstr "eine neue Galerie"
|
357 |
|
358 |
+
#: ../admin/addgallery.php:223
|
359 |
+
#: ../admin/addgallery.php:286
|
360 |
msgid "Note : The upload limit on your server is "
|
361 |
+
msgstr "Hinweis : Das Upload-Limit auf dem Server beträgt "
|
362 |
+
|
363 |
+
#: ../admin/addgallery.php:227
|
364 |
+
#: ../admin/addgallery.php:252
|
365 |
+
#: ../admin/addgallery.php:290
|
366 |
+
msgid "Add Metadata :"
|
367 |
+
msgstr "Metadaten hinzufügen :"
|
368 |
|
369 |
+
#: ../admin/addgallery.php:229
|
370 |
+
#: ../admin/addgallery.php:254
|
371 |
+
#: ../admin/addgallery.php:292
|
372 |
+
msgid "Import EXIF, IPTC or XMP data (if available)"
|
373 |
+
msgstr "EXIF, IPTC oder XMP Daten importieren (wenn verfügbar)"
|
374 |
+
|
375 |
+
#: ../admin/addgallery.php:232
|
376 |
msgid "Start upload"
|
377 |
msgstr "Upload starten"
|
378 |
|
379 |
+
#: ../admin/addgallery.php:246
|
380 |
msgid "Import from Server path:"
|
381 |
msgstr "Importieren aus Server-Pfad:"
|
382 |
|
383 |
+
#: ../admin/addgallery.php:248
|
384 |
msgid "Import a folder with images. Please note :"
|
385 |
msgstr "Importiere ein Verzeichniss mit Bildern. Bitte beachte:"
|
386 |
|
387 |
+
#: ../admin/addgallery.php:249
|
388 |
+
msgid "For safe-mode = ON you need to add the subfolder thumbs manually"
|
389 |
+
msgstr "Da der Safe-Mode (PHP.INI) eingeschaltet ist, mußt Du das Unterverzeichnis für die Vorschaubilder (\"thumbs\") manuell (per FTP) anlegen"
|
390 |
|
391 |
+
#: ../admin/addgallery.php:257
|
392 |
msgid "Import folder"
|
393 |
+
msgstr "Verzeichnis importieren"
|
394 |
|
395 |
+
#: ../admin/addgallery.php:270
|
396 |
msgid "Upload image"
|
397 |
msgstr "Bild hochladen"
|
398 |
|
399 |
+
#: ../admin/addgallery.php:276
|
400 |
msgid "Choose gallery"
|
401 |
msgstr "Wähle Galerie"
|
402 |
|
403 |
+
#: ../admin/admin.php:54
|
404 |
+
#: ../admin/functions.php:72
|
405 |
+
#: ../admin/functions.php:76
|
406 |
+
#: ../admin/functions.php:123
|
407 |
+
#: ../admin/manage.php:64
|
408 |
+
#: ../admin/manage.php:424
|
409 |
+
#: ../admin/settings.php:102
|
410 |
+
#: ../admin/uploadtab.php:36
|
411 |
+
#: ../admin/_manage.php:182
|
412 |
+
#: ../admin/_manage.php:991
|
413 |
+
#: ../tinymce/window.php:35
|
414 |
+
msgid "Gallery"
|
415 |
+
msgstr "Galerie"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
416 |
|
417 |
+
#: ../admin/admin.php:55
|
418 |
msgid "Add Gallery"
|
419 |
+
msgstr "Bilder/Galerie hinzufügen"
|
420 |
|
421 |
+
#: ../admin/admin.php:56
|
422 |
msgid "Manage Gallery"
|
423 |
msgstr "Galerie verwalten"
|
424 |
|
425 |
+
#: ../admin/admin.php:57
|
426 |
+
#: ../tinymce/window.php:36
|
427 |
+
msgid "Album"
|
428 |
+
msgstr "Album"
|
429 |
+
|
430 |
+
#: ../admin/admin.php:58
|
431 |
msgid "Options"
|
432 |
msgstr "Optionen"
|
433 |
|
434 |
+
#: ../admin/admin.php:60
|
435 |
msgid "Style"
|
436 |
msgstr "Style"
|
437 |
|
438 |
+
#: ../admin/admin.php:61
|
439 |
msgid "Setup Gallery"
|
440 |
msgstr "Galerie Setup"
|
441 |
|
442 |
+
#: ../admin/admin.php:61
|
443 |
msgid "Setup"
|
444 |
msgstr "Setup"
|
445 |
|
446 |
+
#: ../admin/admin.php:63
|
447 |
msgid "Roles"
|
448 |
msgstr "Zugriff"
|
449 |
|
450 |
+
#: ../admin/admin.php:65
|
451 |
#: ../admin/myimport.php:74
|
452 |
msgid "Import"
|
453 |
msgstr "Import "
|
454 |
|
455 |
+
#: ../admin/admin.php:66
|
456 |
msgid "About this Gallery"
|
457 |
msgstr "Über diese Galerie"
|
458 |
|
459 |
+
#: ../admin/admin.php:66
|
460 |
msgid "About"
|
461 |
msgstr "Über"
|
462 |
|
463 |
+
#: ../admin/admin.php:68
|
464 |
+
msgid "NextGEN Gallery"
|
465 |
+
msgstr "NextGEN Gallery"
|
466 |
+
|
467 |
#: ../admin/album.php:17
|
468 |
#: ../admin/album.php:36
|
469 |
msgid "Update Successfully"
|
473 |
msgid "Album deleted"
|
474 |
msgstr "Album gelöscht"
|
475 |
|
476 |
+
#: ../admin/album.php:123
|
477 |
msgid "Manage Albums"
|
478 |
msgstr "Verwalte Alben"
|
479 |
|
480 |
+
#: ../admin/album.php:129
|
481 |
+
#: ../tinymce/window.php:74
|
482 |
+
msgid "Select album"
|
483 |
+
msgstr "Wähle Album"
|
484 |
+
|
485 |
+
#: ../admin/album.php:132
|
486 |
msgid "No album selected"
|
487 |
msgstr "Kein Album ausgewählt"
|
488 |
|
489 |
+
#: ../admin/album.php:145
|
490 |
msgid "Add new album"
|
491 |
msgstr "Album hinzufügen"
|
492 |
|
493 |
+
#: ../admin/album.php:149
|
494 |
+
#: ../admin/manage.php:302
|
495 |
+
#: ../admin/manage.php:568
|
496 |
+
#: ../admin/_manage.php:232
|
497 |
msgid "Delete"
|
498 |
msgstr "Lösche"
|
499 |
|
500 |
+
#: ../admin/album.php:149
|
501 |
msgid "Delete album ?"
|
502 |
msgstr "Lösche Album ?"
|
503 |
|
504 |
+
#: ../admin/album.php:151
|
505 |
+
#: ../admin/settings.php:167
|
506 |
+
#: ../admin/settings.php:207
|
507 |
+
#: ../admin/settings.php:254
|
508 |
+
#: ../admin/settings.php:329
|
509 |
+
#: ../admin/settings.php:376
|
510 |
+
#: ../admin/settings.php:488
|
511 |
+
#: ../admin/settings.php:591
|
512 |
+
#: ../admin/wpmu.php:98
|
513 |
msgid "Update"
|
514 |
msgstr "Aktualisiere"
|
515 |
|
516 |
+
#: ../admin/album.php:159
|
517 |
+
msgid "[Show all]"
|
518 |
+
msgstr "[Alle zeigen]"
|
519 |
+
|
520 |
+
#: ../admin/album.php:160
|
521 |
msgid "[Maximize]"
|
522 |
msgstr "[Vergrößern]"
|
523 |
|
524 |
+
#: ../admin/album.php:161
|
525 |
msgid "[Minimize]"
|
526 |
msgstr "[Verkleinern]"
|
527 |
|
528 |
+
#: ../admin/album.php:163
|
529 |
msgid "After you create and select a album, you can drag and drop a gallery into your album below"
|
530 |
msgstr "Nachdem du ein Album erstellt und ausgewählt hast, kannst du per Drag & Drop eine Galerie in das Album ziehen"
|
531 |
|
532 |
+
#: ../admin/album.php:170
|
533 |
msgid "Select Gallery"
|
534 |
msgstr "Wähle Galerie"
|
535 |
|
536 |
+
#: ../admin/album.php:209
|
537 |
msgid "Album Page ID"
|
538 |
msgstr "Album Seiten ID (Page ID)"
|
539 |
|
540 |
+
#: ../admin/album.php:221
|
541 |
msgid "No album selected!"
|
542 |
msgstr "Kein Album ausgewählt"
|
543 |
|
544 |
+
#: ../admin/album.php:257
|
545 |
+
#: ../admin/manage.php:276
|
546 |
+
#: ../admin/manage.php:523
|
547 |
#: ../admin/myimport.php:49
|
548 |
+
#: ../admin/_manage.php:206
|
549 |
msgid "ID"
|
550 |
msgstr "ID"
|
551 |
|
552 |
+
#: ../admin/album.php:258
|
553 |
msgid "Name"
|
554 |
msgstr "Name"
|
555 |
|
556 |
+
#: ../admin/album.php:259
|
557 |
+
#: ../admin/manage.php:278
|
558 |
+
#: ../admin/manage.php:436
|
559 |
+
#: ../admin/myimport.php:51
|
560 |
+
#: ../admin/_manage.php:208
|
561 |
+
#: ../admin/_manage.php:1005
|
562 |
+
#: ../admin/js/uploadtab.js.php:109
|
563 |
+
#: ../lib/nggmeta.lib.php:373
|
564 |
+
msgid "Title"
|
565 |
+
msgstr "Titel"
|
566 |
+
|
567 |
+
#: ../admin/album.php:260
|
568 |
msgid "Page"
|
569 |
msgstr "Seite"
|
570 |
|
571 |
+
#: ../admin/functions.php:22
|
572 |
+
msgid "No valid gallery name!"
|
573 |
+
msgstr "Kein gültiger Galerie-Name!"
|
574 |
+
|
575 |
+
#: ../admin/functions.php:29
|
576 |
+
#: ../admin/functions.php:39
|
577 |
+
#: ../admin/functions.php:53
|
578 |
+
#: ../admin/functions.php:96
|
579 |
+
#: ../admin/functions.php:103
|
580 |
+
msgid "Directory"
|
581 |
+
msgstr "Verzeichnis"
|
582 |
+
|
583 |
+
#: ../admin/functions.php:29
|
584 |
+
msgid "didn't exist. Please create first the main gallery folder "
|
585 |
+
msgstr "nicht gefunden. Bitte erstelle zuerst das Hauptverzeichnis."
|
586 |
+
|
587 |
+
#: ../admin/functions.php:30
|
588 |
+
#: ../admin/functions.php:40
|
589 |
+
msgid "Check this link, if you didn't know how to set the permission :"
|
590 |
+
msgstr "Dieser Link zeigt dir wie man Verzeichnisrechte ändert :"
|
591 |
+
|
592 |
+
#: ../admin/functions.php:39
|
593 |
+
#: ../admin/functions.php:53
|
594 |
+
msgid "is not writeable !"
|
595 |
+
msgstr "ist schreibgeschützt !"
|
596 |
+
|
597 |
+
#: ../admin/functions.php:47
|
598 |
+
msgid "Directory "
|
599 |
+
msgstr "Verzeichnis "
|
600 |
+
|
601 |
+
#: ../admin/functions.php:47
|
602 |
+
msgid "already exists!"
|
603 |
+
msgstr "gibt es schon!"
|
604 |
+
|
605 |
+
#: ../admin/functions.php:51
|
606 |
+
#: ../admin/functions.php:55
|
607 |
+
#: ../admin/functions.php:515
|
608 |
+
#: ../lib/nggallery.lib.php:297
|
609 |
+
msgid "Unable to create directory "
|
610 |
+
msgstr "Kann Verzeichnis nicht erstellen"
|
611 |
+
|
612 |
+
#: ../admin/functions.php:58
|
613 |
+
msgid "The server setting Safe-Mode is on !"
|
614 |
+
msgstr "Auf dem Server ist Safe-Mode aktiviert (PHP.INI)"
|
615 |
+
|
616 |
+
#: ../admin/functions.php:59
|
617 |
+
msgid "If you have problems, please create directory"
|
618 |
+
msgstr "Wenn Probleme auftreten, erstelle bitte das Verzeichnis"
|
619 |
+
|
620 |
+
#: ../admin/functions.php:60
|
621 |
+
msgid "and the thumbnails directory"
|
622 |
+
msgstr "und das Thumbnails-Verzeichnis"
|
623 |
+
|
624 |
+
#: ../admin/functions.php:60
|
625 |
+
msgid "with permission 777 manually !"
|
626 |
+
msgstr "mit den Berechtigungen 777 manuell !"
|
627 |
+
|
628 |
+
#: ../admin/functions.php:72
|
629 |
+
msgid "already exists"
|
630 |
+
msgstr "gibt es bereits"
|
631 |
+
|
632 |
+
#: ../admin/functions.php:76
|
633 |
+
#: ../admin/functions.php:123
|
634 |
+
msgid "successfully created!"
|
635 |
+
msgstr "erfolgreich erstellt!"
|
636 |
+
|
637 |
+
#: ../admin/functions.php:76
|
638 |
+
msgid "You can show this gallery with the tag"
|
639 |
+
msgstr "Du kannst diese Galerie mit diem Stichwort anzeigen :"
|
640 |
+
|
641 |
+
#: ../admin/functions.php:96
|
642 |
+
msgid "doesn`t exist!"
|
643 |
+
msgstr "gibt es nicht !"
|
644 |
+
|
645 |
+
#: ../admin/functions.php:103
|
646 |
+
msgid "contains no pictures"
|
647 |
+
msgstr "enthält keine Bilder"
|
648 |
+
|
649 |
+
#: ../admin/functions.php:120
|
650 |
+
#: ../admin/myimport.php:38
|
651 |
+
msgid "Database error. Could not add gallery!"
|
652 |
+
msgstr "Datenbank-Fehler. Kann Galerie nicht hinzufügen!"
|
653 |
+
|
654 |
+
#: ../admin/functions.php:139
|
655 |
+
msgid " picture(s) successfully added"
|
656 |
+
msgstr " Bild(er) erfolgreich hinzugefügt"
|
657 |
+
|
658 |
+
#: ../admin/functions.php:169
|
659 |
+
#: ../admin/functions.php:216
|
660 |
+
#: ../admin/functions.php:277
|
661 |
+
msgid "Running... Please wait"
|
662 |
+
msgstr "Läuft... Bitte warten"
|
663 |
+
|
664 |
+
#: ../admin/functions.php:170
|
665 |
+
#: ../admin/manage.php:500
|
666 |
+
msgid "Resize images"
|
667 |
+
msgstr "Bilder verkleinern"
|
668 |
+
|
669 |
+
#: ../admin/functions.php:192
|
670 |
+
msgid " : Image resized..."
|
671 |
+
msgstr " : Bild angepasst..."
|
672 |
+
|
673 |
+
#: ../admin/functions.php:201
|
674 |
+
#: ../admin/functions.php:256
|
675 |
+
msgid "Some pictures are not writeable :"
|
676 |
+
msgstr "Einige Bilder sind schreibgeschützt :"
|
677 |
+
|
678 |
+
#: ../admin/functions.php:217
|
679 |
+
#: ../admin/manage.php:498
|
680 |
+
msgid "Set watermark"
|
681 |
+
msgstr "Wasserzeichen setzen"
|
682 |
+
|
683 |
+
#: ../admin/functions.php:247
|
684 |
+
msgid " : Watermark created..."
|
685 |
+
msgstr " : Wasserzeichen gesetzt..."
|
686 |
+
|
687 |
+
#: ../admin/functions.php:278
|
688 |
+
#: ../admin/manage.php:499
|
689 |
+
msgid "Create new thumbnails"
|
690 |
+
msgstr "Neue Thumbnails erstellen"
|
691 |
+
|
692 |
+
#: ../admin/functions.php:343
|
693 |
+
msgid " : Thumbnail created..."
|
694 |
+
msgstr ": Thumbnail erstellt..."
|
695 |
+
|
696 |
+
#: ../admin/functions.php:348
|
697 |
+
msgid "Follow thumbnails could not created."
|
698 |
+
msgstr "Folgende Thumbnails konnten nicht erstellt werden :"
|
699 |
+
|
700 |
+
#: ../admin/functions.php:349
|
701 |
+
msgid "Some thumbnails are not writeable :"
|
702 |
+
msgstr "Einige Thumbnails sind schreibgeschützt :"
|
703 |
+
|
704 |
+
#: ../admin/functions.php:450
|
705 |
+
msgid "The Zip-file is too large. Exceed Memory limit !"
|
706 |
+
msgstr "Das Zip-File ist zu groß. Speicherlimit überschritten !"
|
707 |
+
|
708 |
+
#: ../admin/functions.php:491
|
709 |
+
msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
|
710 |
+
msgstr "Die hochgeladene Datei war keine korrekte Zip-Datei. Servermeldung :"
|
711 |
+
|
712 |
+
#: ../admin/functions.php:510
|
713 |
+
#, php-format
|
714 |
+
msgid "Unable to create directory %s. Is its parent directory writable by the server?"
|
715 |
+
msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
|
716 |
+
|
717 |
+
#: ../admin/functions.php:525
|
718 |
+
msgid "Zip-File successfully unpacked"
|
719 |
+
msgstr "Zip-Datei erfolgreich entpackt"
|
720 |
+
|
721 |
+
#: ../admin/functions.php:566
|
722 |
+
#: ../admin/functions.php:574
|
723 |
+
msgid "Unable to unlink file "
|
724 |
+
msgstr "Kann das Bild nicht löschen"
|
725 |
+
|
726 |
+
#: ../admin/functions.php:575
|
727 |
+
#: ../admin/functions.php:660
|
728 |
+
msgid "Failure in database, no gallery path set !"
|
729 |
+
msgstr "Datenbankfehler! Kein Galerie-Pfad gesetzt !"
|
730 |
+
|
731 |
+
#: ../admin/functions.php:582
|
732 |
+
#: ../admin/functions.php:653
|
733 |
+
msgid "is no valid image file!"
|
734 |
+
msgstr "ist keine zulässige Bilddatei !"
|
735 |
+
|
736 |
+
#: ../admin/functions.php:590
|
737 |
+
#, php-format
|
738 |
+
msgid "Unable to write to directory %s. Is this directory writable by the server?"
|
739 |
+
msgstr "Kann das Verzeichnis %s nicht erstellen. Is das Hauptverzeichnis vielleicht schreibgeschützt ?"
|
740 |
+
|
741 |
+
#: ../admin/functions.php:597
|
742 |
+
#: ../admin/functions.php:677
|
743 |
+
msgid "Error, the file could not moved to : "
|
744 |
+
msgstr "Fehler: Diese Datei kann nicht verschoben werden zu :"
|
745 |
+
|
746 |
+
#: ../admin/functions.php:602
|
747 |
+
#: ../admin/functions.php:681
|
748 |
+
msgid "Error, the file permissions could not set"
|
749 |
+
msgstr "Fehler: Die Berechtigungen für diese Datei können nicht gesetzt werden"
|
750 |
+
|
751 |
+
#: ../admin/functions.php:620
|
752 |
+
msgid " Image(s) successfully added"
|
753 |
+
msgstr " Bild(er) erfolgreich hinzugefügt"
|
754 |
+
|
755 |
+
#: ../admin/functions.php:640
|
756 |
+
msgid "Invalid upload. Error Code : "
|
757 |
+
msgstr "Ungültiger Upload. Fehler Code :"
|
758 |
+
|
759 |
+
#: ../admin/functions.php:692
|
760 |
+
msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
|
761 |
+
msgstr "Schade, dein freier Speicher scheint aufgebraucht zu sein. Bitte lösche zuerst ein paar Bilder."
|
762 |
+
|
763 |
+
#: ../admin/functions.php:719
|
764 |
+
#, php-format
|
765 |
+
msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
|
766 |
+
msgstr "SAFE MODE Einschränkungen ist aktiv. Du must das Verzeichnis <strong>%s</strong> manuell anlegen."
|
767 |
+
|
768 |
+
#: ../admin/functions.php:720
|
769 |
+
#, php-format
|
770 |
+
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"
|
771 |
+
msgstr "Wenn der Safe-Mode eingeschaltet ist, überprüft PHP ob der Besitzer (%s) des Skript mit dem Besitzer (%s) der Datei/Verzeichnis übereinstimmt."
|
772 |
+
|
773 |
#: ../admin/manage.php:64
|
774 |
#: ../admin/manage.php:85
|
775 |
+
#: ../admin/_manage.php:182
|
776 |
msgid "deleted successfully"
|
777 |
msgstr "erfolgreich gelöscht"
|
778 |
|
792 |
msgid "Pictures deleted successfully "
|
793 |
msgstr "Bilder erfolgreich gelöscht"
|
794 |
|
795 |
+
#: ../admin/manage.php:145
|
796 |
+
msgid "Import metadata finished"
|
797 |
+
msgstr "Import der Metadaten beendet"
|
798 |
+
|
799 |
+
#: ../admin/manage.php:195
|
800 |
msgid "Tags changed"
|
801 |
msgstr "Stichwörter geändert"
|
802 |
|
803 |
+
#: ../admin/manage.php:215
|
804 |
msgid "Update successful"
|
805 |
msgstr "Aktualisierung erfolgreich"
|
806 |
|
807 |
+
#: ../admin/manage.php:249
|
|
|
|
|
|
|
|
|
808 |
msgid "New gallery page ID"
|
809 |
msgstr "Neue Galerie Seiten ID"
|
810 |
|
811 |
+
#: ../admin/manage.php:249
|
812 |
msgid "created"
|
813 |
msgstr "erstellt"
|
814 |
|
815 |
+
#: ../admin/manage.php:272
|
816 |
+
#: ../admin/_manage.php:202
|
817 |
msgid "Gallery Overview"
|
818 |
msgstr "Galerie Übersicht"
|
819 |
|
820 |
+
#: ../admin/manage.php:277
|
821 |
#: ../admin/myimport.php:50
|
822 |
+
#: ../admin/_manage.php:207
|
823 |
msgid "Gallery name"
|
824 |
msgstr "Galerie Name"
|
825 |
|
826 |
+
#: ../admin/manage.php:279
|
827 |
+
#: ../admin/manage.php:455
|
828 |
+
#: ../admin/manage.php:529
|
829 |
+
#: ../admin/myimport.php:52
|
830 |
+
#: ../admin/style.php:102
|
831 |
+
#: ../admin/uploadtab.php:180
|
832 |
+
#: ../admin/_manage.php:209
|
833 |
+
#: ../admin/_manage.php:1024
|
834 |
+
#: ../admin/js/uploadtab.js.php:172
|
835 |
+
msgid "Description"
|
836 |
+
msgstr "Beschreibung"
|
837 |
+
|
838 |
+
#: ../admin/manage.php:280
|
839 |
#: ../admin/myimport.php:53
|
840 |
+
#: ../admin/_manage.php:210
|
841 |
msgid "Page ID"
|
842 |
msgstr "Seiten ID (Page ID)"
|
843 |
|
844 |
+
#: ../admin/manage.php:281
|
845 |
#: ../admin/myimport.php:54
|
846 |
+
#: ../admin/_manage.php:211
|
847 |
msgid "Quantity"
|
848 |
msgstr "Anzahl"
|
849 |
|
850 |
+
#: ../admin/manage.php:282
|
851 |
+
#: ../admin/manage.php:535
|
852 |
#: ../admin/myimport.php:55
|
853 |
+
#: ../admin/_manage.php:212
|
854 |
msgid "Action"
|
855 |
msgstr "Aktion"
|
856 |
|
857 |
+
#: ../admin/manage.php:301
|
858 |
+
#: ../admin/_manage.php:231
|
859 |
+
#: ../admin/js/uploadtab.js.php:93
|
860 |
msgid "Edit"
|
861 |
msgstr "Bearbeiten"
|
862 |
|
863 |
+
#: ../admin/manage.php:302
|
864 |
+
#: ../admin/_manage.php:232
|
865 |
msgid "Delete this gallery ?"
|
866 |
msgstr "Diese Galerie löschen ?"
|
867 |
|
868 |
+
#: ../admin/manage.php:307
|
869 |
+
#: ../admin/manage.php:573
|
870 |
#: ../admin/myimport.php:79
|
871 |
+
#: ../admin/_manage.php:237
|
872 |
+
#: ../admin/_manage.php:1155
|
873 |
msgid "No entries found"
|
874 |
msgstr "Keine Einträge gefunden"
|
875 |
|
876 |
+
#: ../admin/manage.php:433
|
877 |
+
#: ../admin/_manage.php:1001
|
878 |
msgid "Main settings"
|
879 |
msgstr "Haupteinstellungen"
|
880 |
|
881 |
+
#: ../admin/manage.php:438
|
882 |
+
#: ../admin/_manage.php:1007
|
883 |
msgid "Page Link to"
|
884 |
msgstr "Seite verlinkt zu"
|
885 |
|
886 |
+
#: ../admin/manage.php:441
|
887 |
+
#: ../admin/_manage.php:1010
|
888 |
msgid "Not linked"
|
889 |
msgstr "Nicht verlinkt"
|
890 |
|
891 |
+
#: ../admin/manage.php:457
|
892 |
+
#: ../admin/_manage.php:1026
|
893 |
msgid "Preview image"
|
894 |
msgstr "Vorschau-Bild"
|
895 |
|
896 |
+
#: ../admin/manage.php:460
|
897 |
+
#: ../admin/_manage.php:1029
|
898 |
msgid "No Picture"
|
899 |
msgstr "Kein Bild"
|
900 |
|
901 |
+
#: ../admin/manage.php:475
|
902 |
+
#: ../admin/_manage.php:1043
|
903 |
msgid "Path"
|
904 |
msgstr "Pfad"
|
905 |
|
906 |
+
#: ../admin/manage.php:478
|
907 |
+
#: ../admin/_manage.php:1045
|
908 |
msgid "Create new page"
|
909 |
msgstr "Neue Seite erstellen"
|
910 |
|
911 |
+
#: ../admin/manage.php:481
|
912 |
+
#: ../admin/_manage.php:1048
|
913 |
msgid "Main page (No parent)"
|
914 |
msgstr "Haupseite (keine Unterseite)"
|
915 |
|
916 |
+
#: ../admin/manage.php:484
|
917 |
+
#: ../admin/_manage.php:1051
|
918 |
msgid "Add page"
|
919 |
msgstr "Seite hinzufügen"
|
920 |
|
921 |
+
#: ../admin/manage.php:490
|
922 |
+
#: ../admin/_manage.php:1057
|
923 |
msgid "Scan Folder for new images"
|
924 |
msgstr "Überprüfe Verzeichniss nach neuen Bildern"
|
925 |
|
926 |
+
#: ../admin/manage.php:491
|
927 |
+
#: ../admin/manage.php:580
|
928 |
+
#: ../admin/_manage.php:1058
|
929 |
msgid "Save Changes"
|
930 |
msgstr "Änderungen Speichern"
|
931 |
|
932 |
+
#: ../admin/manage.php:496
|
933 |
msgid "No action"
|
934 |
msgstr "Keine Aktion"
|
935 |
|
936 |
+
#: ../admin/manage.php:501
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
937 |
msgid "Delete images"
|
938 |
msgstr "Bilder löschen"
|
939 |
|
940 |
+
#: ../admin/manage.php:502
|
941 |
+
msgid "Import metadata"
|
942 |
+
msgstr "Metadaten importieren"
|
943 |
+
|
944 |
+
#: ../admin/manage.php:504
|
945 |
msgid "Add tags"
|
946 |
msgstr "Stichwörter hinzufügen"
|
947 |
|
948 |
+
#: ../admin/manage.php:505
|
949 |
msgid "Delete tags"
|
950 |
msgstr "Stichwörter löschen"
|
951 |
|
952 |
+
#: ../admin/manage.php:506
|
953 |
msgid "Overwrite tags"
|
954 |
msgstr "Stichwörter überschreiben"
|
955 |
|
956 |
+
#: ../admin/manage.php:510
|
957 |
+
#: ../admin/manage.php:511
|
958 |
+
#: ../admin/manage.php:598
|
959 |
msgid "OK"
|
960 |
msgstr "OK"
|
961 |
|
962 |
+
#: ../admin/manage.php:510
|
963 |
+
#: ../admin/manage.php:598
|
964 |
msgid "No images selected"
|
965 |
msgstr "Keine Bilder ausgewählt"
|
966 |
|
967 |
+
#: ../admin/manage.php:510
|
968 |
+
#: ../admin/manage.php:598
|
969 |
#, php-format
|
970 |
msgid ""
|
971 |
"You are about to start the bulk edit for %s images \n"
|
976 |
" \n"
|
977 |
" 'Abbrechenl' um zu stoppen, 'OK' um die Bearbeitung durchzuführen."
|
978 |
|
979 |
+
#: ../admin/manage.php:512
|
980 |
msgid "Hide thumbnails "
|
981 |
msgstr "Thumbnails verstecken"
|
982 |
|
983 |
+
#: ../admin/manage.php:513
|
984 |
msgid "Show thumbnails "
|
985 |
msgstr "Thumbnails zeigen"
|
986 |
|
987 |
+
#: ../admin/manage.php:514
|
988 |
msgid "Show tags"
|
989 |
msgstr "Zeige Tags"
|
990 |
|
991 |
+
#: ../admin/manage.php:515
|
992 |
msgid "Hide tags"
|
993 |
msgstr "Verstecke Tags"
|
994 |
|
995 |
+
#: ../admin/manage.php:524
|
996 |
+
#: ../admin/settings.php:318
|
997 |
msgid "File name"
|
998 |
msgstr "Dateiname"
|
999 |
|
1000 |
+
#: ../admin/manage.php:526
|
1001 |
+
#: ../admin/js/uploadtab.js.php:106
|
1002 |
+
msgid "Thumbnail"
|
1003 |
+
msgstr "Thumbnail"
|
1004 |
+
|
1005 |
+
#: ../admin/manage.php:530
|
1006 |
+
#: ../admin/uploadtab.php:176
|
1007 |
+
#: ../admin/js/uploadtab.js.php:169
|
1008 |
+
msgid "Alt & Title Text"
|
1009 |
+
msgstr "Alt & Titel Text"
|
1010 |
+
|
1011 |
+
#: ../admin/manage.php:531
|
1012 |
msgid "exclude"
|
1013 |
msgstr "ausschließen"
|
1014 |
|
1015 |
+
#: ../admin/manage.php:533
|
1016 |
msgid "Tags (comma separated list)"
|
1017 |
msgstr "Stichwörter (Tags)"
|
1018 |
|
1019 |
+
#: ../admin/manage.php:566
|
1020 |
msgid "View"
|
1021 |
msgstr "Ansehen"
|
1022 |
|
1023 |
+
#: ../admin/manage.php:567
|
1024 |
+
msgid "Show Meta data"
|
1025 |
+
msgstr "Zeige Metadaten"
|
1026 |
+
|
1027 |
+
#: ../admin/manage.php:567
|
1028 |
+
msgid "Meta"
|
1029 |
+
msgstr "Meta"
|
1030 |
+
|
1031 |
+
#: ../admin/manage.php:568
|
1032 |
msgid "Delete this file ?"
|
1033 |
msgstr "Diese Datei löschen ?"
|
1034 |
|
1035 |
+
#: ../admin/manage.php:595
|
1036 |
msgid "Enter the tags"
|
1037 |
msgstr "Stichwörter angeben"
|
1038 |
|
1039 |
+
#: ../admin/manage.php:598
|
1040 |
+
#: ../tinymce/window.php:146
|
1041 |
+
msgid "Cancel"
|
1042 |
+
msgstr "Abbrechen"
|
1043 |
+
|
1044 |
#: ../admin/myimport.php:35
|
1045 |
msgid "Gallery "
|
1046 |
msgstr "Galerie"
|
1082 |
msgid "Download here"
|
1083 |
msgstr "Hier dowloaden"
|
1084 |
|
1085 |
+
#: ../admin/overview.php:42
|
1086 |
msgid "Server Settings"
|
1087 |
msgstr "Server- Einstellungen"
|
1088 |
|
1089 |
+
#: ../admin/overview.php:50
|
1090 |
msgid "Welcome"
|
1091 |
msgstr "Willkommen"
|
1092 |
|
1093 |
+
#: ../admin/overview.php:54
|
1094 |
msgid "gallery administrator"
|
1095 |
msgstr "Galerie-Administrator"
|
1096 |
|
1097 |
+
#: ../admin/overview.php:54
|
1098 |
msgid "gallery editor"
|
1099 |
msgstr "Galerie-Mitarbeiter"
|
1100 |
|
1101 |
+
#: ../admin/overview.php:55
|
1102 |
#, php-format
|
1103 |
msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
|
1104 |
msgstr "Willkommen zur NextGEN Galerie. Hier kannst Du Deine Bilder, Galerien und Alben verwalten. Du hast im Moment %s Rechte."
|
1105 |
|
1106 |
+
#: ../admin/overview.php:60
|
1107 |
msgid "Add a new gallery or import pictures"
|
1108 |
msgstr "Neue Galerie erstellen oder Bilder importieren"
|
1109 |
|
1110 |
+
#: ../admin/overview.php:61
|
1111 |
msgid "Manage galleries and images"
|
1112 |
msgstr "Verwalte Galerien und Bilder"
|
1113 |
|
1114 |
+
#: ../admin/overview.php:62
|
1115 |
msgid "Create and manage albums"
|
1116 |
msgstr "Erstelle und verwalte Alben"
|
1117 |
|
1118 |
+
#: ../admin/overview.php:63
|
1119 |
msgid "Change the settings of NextGEN Gallery"
|
1120 |
msgstr "Ändere die Einstellungen von NextGEN Galerie"
|
1121 |
|
1122 |
+
#: ../admin/overview.php:66
|
1123 |
msgid "Latest News"
|
1124 |
msgstr "Letzte Informationen"
|
1125 |
|
1126 |
+
#: ../admin/overview.php:85
|
1127 |
#, php-format
|
1128 |
msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
|
1129 |
msgstr "Der Newsfeed kann nicht geladen werden. Schaue auf die <a href=\"%s\">Hauptseite</a> um Updates mitzubekommen."
|
1130 |
|
1131 |
+
#: ../admin/overview.php:98
|
1132 |
msgid "GD support"
|
1133 |
msgstr "GD Unterstützung"
|
1134 |
|
1135 |
+
#: ../admin/overview.php:109
|
1136 |
msgid "No GD support"
|
1137 |
msgstr "Keine GD Unterstützung"
|
1138 |
|
1139 |
+
#: ../admin/overview.php:116
|
1140 |
+
#: ../admin/overview.php:154
|
1141 |
+
#: ../admin/overview.php:157
|
1142 |
+
#: ../admin/overview.php:160
|
1143 |
msgid "Yes"
|
1144 |
msgstr "Ja"
|
1145 |
|
1146 |
+
#: ../admin/overview.php:117
|
1147 |
+
#: ../admin/overview.php:155
|
1148 |
+
#: ../admin/overview.php:158
|
1149 |
+
#: ../admin/overview.php:161
|
1150 |
msgid "No"
|
1151 |
msgstr "Nein"
|
1152 |
|
1153 |
+
#: ../admin/overview.php:131
|
1154 |
msgid "Not set"
|
1155 |
msgstr "Nicht gesetzt"
|
1156 |
|
1157 |
+
#: ../admin/overview.php:133
|
1158 |
+
#: ../admin/overview.php:136
|
1159 |
msgid "On"
|
1160 |
msgstr "An"
|
1161 |
|
1162 |
+
#: ../admin/overview.php:134
|
1163 |
+
#: ../admin/overview.php:137
|
1164 |
msgid "Off"
|
1165 |
msgstr "Aus"
|
1166 |
|
1167 |
+
#: ../admin/overview.php:140
|
1168 |
+
#: ../admin/overview.php:143
|
1169 |
+
#: ../admin/overview.php:146
|
1170 |
+
#: ../admin/overview.php:149
|
1171 |
+
#: ../admin/overview.php:152
|
1172 |
msgid "N/A"
|
1173 |
msgstr "N/A"
|
1174 |
|
1175 |
+
#: ../admin/overview.php:151
|
1176 |
msgid " MByte"
|
1177 |
msgstr " MByte"
|
1178 |
|
1179 |
+
#: ../admin/overview.php:164
|
1180 |
msgid "Operating System"
|
1181 |
msgstr "Betriebssystem"
|
1182 |
|
1183 |
+
#: ../admin/overview.php:165
|
1184 |
msgid "Server"
|
1185 |
msgstr "Server"
|
1186 |
|
1187 |
+
#: ../admin/overview.php:166
|
1188 |
msgid "Memory usage"
|
1189 |
msgstr "Speicherverbrauch"
|
1190 |
|
1191 |
+
#: ../admin/overview.php:167
|
1192 |
msgid "MYSQL Version"
|
1193 |
msgstr "MySQL Version"
|
1194 |
|
1195 |
+
#: ../admin/overview.php:168
|
1196 |
msgid "SQL Mode"
|
1197 |
msgstr "SQL Modus"
|
1198 |
|
1199 |
+
#: ../admin/overview.php:169
|
1200 |
msgid "PHP Version"
|
1201 |
msgstr "PHP Version"
|
1202 |
|
1203 |
+
#: ../admin/overview.php:170
|
1204 |
msgid "PHP Safe Mode"
|
1205 |
msgstr "PHP Safe Mode"
|
1206 |
|
1207 |
+
#: ../admin/overview.php:171
|
1208 |
msgid "PHP Allow URL fopen"
|
1209 |
msgstr "PHP Allow URL fopen"
|
1210 |
|
1211 |
+
#: ../admin/overview.php:172
|
1212 |
msgid "PHP Memory Limit"
|
1213 |
msgstr "PHP Memory Limit"
|
1214 |
|
1215 |
+
#: ../admin/overview.php:173
|
1216 |
msgid "PHP Max Upload Size"
|
1217 |
msgstr "PHP Max Upload Size"
|
1218 |
|
1219 |
+
#: ../admin/overview.php:174
|
1220 |
msgid "PHP Max Post Size"
|
1221 |
msgstr "PHP Max Post Size"
|
1222 |
|
1223 |
+
#: ../admin/overview.php:175
|
1224 |
msgid "PHP Max Script Execute Time"
|
1225 |
msgstr "PHP Max Script Execute Time"
|
1226 |
|
1227 |
+
#: ../admin/overview.php:176
|
1228 |
+
msgid "PHP Exif support"
|
1229 |
+
msgstr "PHP Exif Modul"
|
1230 |
+
|
1231 |
+
#: ../admin/overview.php:177
|
1232 |
+
msgid "PHP IPTC support"
|
1233 |
+
msgstr "PHP IPTC Modul"
|
1234 |
+
|
1235 |
+
#: ../admin/overview.php:178
|
1236 |
+
msgid "PHP XML support"
|
1237 |
+
msgstr "PHP XML Modul"
|
1238 |
+
|
1239 |
+
#: ../admin/overview.php:319
|
1240 |
+
msgid "Storage Space"
|
1241 |
+
msgstr "Speicherplatz"
|
1242 |
+
|
1243 |
+
#: ../admin/overview.php:322
|
1244 |
+
msgid "Upload Space Used:"
|
1245 |
+
msgstr "Verbrauchter Uploadspeicher:"
|
1246 |
+
|
1247 |
+
#: ../admin/overview.php:328
|
1248 |
+
msgid "Upload Space Remaining:"
|
1249 |
+
msgstr "Verbleibender Speicher:"
|
1250 |
+
|
1251 |
#: ../admin/roles.php:20
|
1252 |
msgid "Updated capabilities"
|
1253 |
msgstr "Zugriffsrechte geändert"
|
1258 |
|
1259 |
#: ../admin/roles.php:26
|
1260 |
msgid "Select the lowest role which should be able to access the follow capabilities. NextGEN Gallery supports the standard roles from WordPress."
|
1261 |
+
msgstr "Wähle die niedrigste Rolle aus, die Zugriff haben soll. NextGEN Gallery unterstützt nur die Standard Wordpress Rollen/Fähigkeiten von WordPress."
|
1262 |
|
1263 |
#: ../admin/roles.php:27
|
1264 |
msgid "For a more flexible user management you can use the"
|
1298 |
|
1299 |
#: ../admin/settings.php:29
|
1300 |
#: ../admin/style.php:16
|
1301 |
+
#: ../admin/wpmu.php:32
|
1302 |
msgid "Update successfully"
|
1303 |
msgstr "Aktualisierung erfolgreich"
|
1304 |
|
1305 |
+
#: ../admin/settings.php:46
|
1306 |
+
msgid "Cache cleared"
|
1307 |
+
msgstr "Cache löschen"
|
1308 |
+
|
1309 |
+
#: ../admin/settings.php:99
|
1310 |
+
#: ../admin/settings.php:111
|
1311 |
msgid "General Options"
|
1312 |
msgstr "Allg. Optionen"
|
1313 |
|
1314 |
+
#: ../admin/settings.php:101
|
|
|
|
|
|
|
|
|
|
|
1315 |
msgid "Images"
|
1316 |
msgstr "Bilder"
|
1317 |
|
1318 |
+
#: ../admin/settings.php:103
|
1319 |
+
#: ../admin/settings.php:337
|
1320 |
msgid "Effects"
|
1321 |
msgstr "Effekte"
|
1322 |
|
1323 |
+
#: ../admin/settings.php:104
|
1324 |
+
#: ../admin/settings.php:390
|
1325 |
+
#: ../tinymce/window.php:123
|
1326 |
+
msgid "Watermark"
|
1327 |
+
msgstr "Wasserzeichen"
|
1328 |
+
|
1329 |
+
#: ../admin/settings.php:105
|
1330 |
+
#: ../admin/settings.php:296
|
1331 |
+
#: ../admin/settings.php:498
|
1332 |
+
#: ../tinymce/window.php:63
|
1333 |
+
msgid "Slideshow"
|
1334 |
+
msgstr "Slideshow"
|
1335 |
+
|
1336 |
+
#: ../admin/settings.php:118
|
1337 |
+
#: ../admin/wpmu.php:48
|
1338 |
msgid "Gallery path"
|
1339 |
msgstr "Galerie-Pfad"
|
1340 |
|
1341 |
+
#: ../admin/settings.php:120
|
1342 |
msgid "This is the default path for all galleries"
|
1343 |
msgstr "Dies ist der Standard-Pfad für alle Galerien"
|
1344 |
|
1345 |
+
#: ../admin/settings.php:131
|
1346 |
msgid "Delete image files"
|
1347 |
msgstr "Lösche Bilddateien"
|
1348 |
|
1349 |
+
#: ../admin/settings.php:133
|
1350 |
msgid "Delete files, when removing a gallery in the database"
|
1351 |
msgstr "Löscht auch die Dateien, falls die Galerie aus der Datenbank entfernt wird"
|
1352 |
|
1353 |
+
#: ../admin/settings.php:136
|
1354 |
+
msgid "Activate batch upload"
|
1355 |
+
msgstr "Aktiviere Batch-Upload"
|
1356 |
+
|
1357 |
+
#: ../admin/settings.php:138
|
1358 |
+
msgid "The batch upload requires Adobe Flash 9, disable it if you have problems"
|
1359 |
+
msgstr "Das Batch-Upload-Skript benötigt Adbode Flash 9, wenn es Probleme gibt deaktiviere es besser."
|
1360 |
+
|
1361 |
+
#: ../admin/settings.php:141
|
1362 |
+
msgid "Activate permalinks"
|
1363 |
+
msgstr "Aktiviere Permalinks"
|
1364 |
+
|
1365 |
+
#: ../admin/settings.php:143
|
1366 |
+
msgid "When you activate this option, you need to update your permalink structure one time."
|
1367 |
+
msgstr "Wenn du diese Option aktivierst, muss du einmal die Permalink Struktur aktualisieren."
|
1368 |
+
|
1369 |
+
#: ../admin/settings.php:146
|
1370 |
msgid "Tags / Categories"
|
1371 |
msgstr "Stichwörter / Kategorien"
|
1372 |
|
1373 |
+
#: ../admin/settings.php:149
|
1374 |
msgid "Activate related images"
|
1375 |
msgstr "Verwandte Bilder anzeigen"
|
1376 |
|
1377 |
+
#: ../admin/settings.php:151
|
1378 |
msgid "This option will append related images to every post"
|
1379 |
msgstr "Diese Option hängt verwandte Bilder an jeden Beitrag"
|
1380 |
|
1381 |
+
#: ../admin/settings.php:155
|
1382 |
msgid "Match with"
|
1383 |
msgstr "Vergleiche mit"
|
1384 |
|
1385 |
+
#: ../admin/settings.php:156
|
1386 |
msgid "Categories"
|
1387 |
msgstr "Kategorien"
|
1388 |
|
1389 |
+
#: ../admin/settings.php:157
|
1390 |
+
#: ../lib/nggmeta.lib.php:375
|
1391 |
msgid "Tags"
|
1392 |
msgstr "Stichwörter"
|
1393 |
|
1394 |
+
#: ../admin/settings.php:157
|
1395 |
msgid " (require WordPress 2.3 or higher)"
|
1396 |
msgstr " (benötigt WordPress 2.3 oder höher)"
|
1397 |
|
1398 |
+
#: ../admin/settings.php:161
|
1399 |
msgid "Max. number of images"
|
1400 |
msgstr "Max. Anzahl der Bilder"
|
1401 |
|
1402 |
+
#: ../admin/settings.php:163
|
1403 |
msgid "0 will show all images"
|
1404 |
msgstr "0 zeige alle verwandten Bilder"
|
1405 |
|
1406 |
+
#: ../admin/settings.php:175
|
1407 |
msgid "Thumbnail settings"
|
1408 |
msgstr "Thumbnail Einstellungen"
|
1409 |
|
1410 |
+
#: ../admin/settings.php:180
|
1411 |
msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
|
1412 |
msgstr "Bitte beachten : Änderungen der Einstellungen werden erst übernommen, wenn Du neue Thumbnails unter -> \"Gallery verwalten\" erstellst"
|
1413 |
|
1414 |
+
#: ../admin/settings.php:183
|
1415 |
msgid "Width x height (in pixel)"
|
1416 |
msgstr "Breite x Höhe (in Pixel)"
|
1417 |
|
1418 |
+
#: ../admin/settings.php:185
|
1419 |
msgid "These values are maximum values "
|
1420 |
msgstr "Diese Angaben sind maximale Angaben."
|
1421 |
|
1422 |
+
#: ../admin/settings.php:188
|
1423 |
msgid "Set fix dimension"
|
1424 |
msgstr "Setze fixe Größe"
|
1425 |
|
1426 |
+
#: ../admin/settings.php:190
|
1427 |
msgid "Ignore the aspect ratio, no portrait thumbnails"
|
1428 |
msgstr "Ignoriere Bildseitenverhältnis"
|
1429 |
|
1430 |
+
#: ../admin/settings.php:193
|
1431 |
msgid "Crop square thumbnail from image"
|
1432 |
msgstr "Mittige Thumbnails aus Bildern ausschneiden"
|
1433 |
|
1434 |
+
#: ../admin/settings.php:195
|
1435 |
msgid "Create square thumbnails, use only the width setting :"
|
1436 |
msgstr "Erstellt viereckige Thumbnails, nutzt nur den Wert der Breite :"
|
1437 |
|
1438 |
+
#: ../admin/settings.php:198
|
1439 |
msgid "Thumbnail quality"
|
1440 |
msgstr "Thumbnail Qualität"
|
1441 |
|
1442 |
+
#: ../admin/settings.php:202
|
1443 |
+
#: ../admin/settings.php:234
|
1444 |
msgid "Resample Mode"
|
1445 |
msgstr "Resample Modus"
|
1446 |
|
1447 |
+
#: ../admin/settings.php:204
|
1448 |
+
#: ../admin/settings.php:237
|
1449 |
msgid "Value between 1-5 (higher value, more CPU load)"
|
1450 |
msgstr "Wähle zwischen 1-5 (je höhere desto länger braucht der Server)"
|
1451 |
|
1452 |
+
#: ../admin/settings.php:215
|
1453 |
msgid "Image settings"
|
1454 |
msgstr "Bild Einstellungen"
|
1455 |
|
1456 |
+
#: ../admin/settings.php:222
|
1457 |
msgid "Resize Images"
|
1458 |
msgstr "Bilder verkleinern"
|
1459 |
|
1460 |
+
#: ../admin/settings.php:226
|
1461 |
msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
|
1462 |
msgstr "Breite x Höhe (in Pixel). NextGEN Galerie beachtet das Seitenverhältnis."
|
1463 |
|
1464 |
+
#: ../admin/settings.php:229
|
1465 |
msgid "Image quality"
|
1466 |
msgstr "Bild Qualität"
|
1467 |
|
1468 |
+
#: ../admin/settings.php:240
|
1469 |
+
msgid "Single picture"
|
1470 |
+
msgstr "Einzelbilder"
|
1471 |
+
|
1472 |
+
#: ../admin/settings.php:243
|
1473 |
+
msgid "Cache single pictures"
|
1474 |
+
msgstr "Nutze Cache für Einzelbidler"
|
1475 |
+
|
1476 |
+
#: ../admin/settings.php:246
|
1477 |
+
msgid "Creates a file for each singlepic settings. Reduce the CPU load"
|
1478 |
+
msgstr "Erstellt ein Cache-Bild für jedes Einzelbild (singlepic). Reduziert die CPU Belastung."
|
1479 |
+
|
1480 |
+
#: ../admin/settings.php:249
|
1481 |
+
msgid "Clear cache folder"
|
1482 |
+
msgstr "Lösche Cache Verzeichnis"
|
1483 |
+
|
1484 |
+
#: ../admin/settings.php:251
|
1485 |
+
msgid "Proceed now"
|
1486 |
+
msgstr "Jetzt durchführen"
|
1487 |
+
|
1488 |
+
#: ../admin/settings.php:262
|
1489 |
msgid "Gallery settings"
|
1490 |
msgstr "Galerie Einstellungen"
|
1491 |
|
1492 |
+
#: ../admin/settings.php:269
|
1493 |
msgid "Activate jQuery navigation"
|
1494 |
msgstr "Aktiviere jQuery Navigation"
|
1495 |
|
1496 |
+
#: ../admin/settings.php:271
|
1497 |
msgid "Please note : This is still experimental. Requires the Thickbox effect"
|
1498 |
msgstr "Bitte beachten : Diese Funktion befindet sich noch im Teststadium. Geht nur mit Thickbox."
|
1499 |
|
1500 |
+
#: ../admin/settings.php:275
|
1501 |
msgid "Deactivate gallery page link"
|
1502 |
msgstr "Keine Seitenverzweigung"
|
1503 |
|
1504 |
+
#: ../admin/settings.php:277
|
1505 |
msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
|
1506 |
msgstr "Ein Album benötigt dann keinen Link zur Seite. Die Galerie wird direkt angezeigt."
|
1507 |
|
1508 |
+
#: ../admin/settings.php:281
|
1509 |
msgid "Number of images per page"
|
1510 |
msgstr "Anzahl der Bilder pro Seite"
|
1511 |
|
1512 |
+
#: ../admin/settings.php:283
|
1513 |
msgid "0 will disable pagination, all images on one page"
|
1514 |
msgstr "0 schaltet Blätterfunktion ab ( = alle Bilder auf einer Seite )"
|
1515 |
|
1516 |
+
#: ../admin/settings.php:287
|
1517 |
msgid "Integrate slideshow"
|
1518 |
msgstr "Slideshow verwenden"
|
1519 |
|
1520 |
+
#: ../admin/settings.php:294
|
1521 |
msgid "Show first"
|
1522 |
msgstr "Zeige als Erstes"
|
1523 |
|
1524 |
+
#: ../admin/settings.php:300
|
1525 |
msgid "Show thumbnail description"
|
1526 |
msgstr "Zeige Bildbeschreibung"
|
1527 |
|
1528 |
+
#: ../admin/settings.php:301
|
1529 |
+
#: ../admin/settings.php:349
|
1530 |
+
#: ../admin/js/uploadtab.js.php:117
|
1531 |
msgid "None"
|
1532 |
msgstr "Keiner"
|
1533 |
|
1534 |
+
#: ../admin/settings.php:302
|
1535 |
msgid "Description text"
|
1536 |
msgstr "Beschreibung"
|
1537 |
|
1538 |
+
#: ../admin/settings.php:303
|
1539 |
+
#: ../admin/settings.php:319
|
1540 |
msgid "Alt / Title text"
|
1541 |
msgstr "Alt / Titel Text"
|
1542 |
|
1543 |
+
#: ../admin/settings.php:307
|
1544 |
msgid "Show ImageBrowser"
|
1545 |
msgstr "Zeige Bilder Browser"
|
1546 |
|
1547 |
+
#: ../admin/settings.php:309
|
1548 |
msgid "The gallery will open the ImageBrowser instead the effect."
|
1549 |
msgstr "Es wird der Bilder Browser angezeigt (Kein JavaScript Effekt)"
|
1550 |
|
1551 |
+
#: ../admin/settings.php:313
|
1552 |
msgid "Sort options"
|
1553 |
msgstr "Sortierung"
|
1554 |
|
1555 |
+
#: ../admin/settings.php:316
|
1556 |
msgid "Sort thumbnails"
|
1557 |
msgstr "Thumbnails sortieren"
|
1558 |
|
1559 |
+
#: ../admin/settings.php:317
|
1560 |
msgid "Image ID"
|
1561 |
msgstr "Bilder ID"
|
1562 |
|
1563 |
+
#: ../admin/settings.php:323
|
1564 |
msgid "Sort direction"
|
1565 |
msgstr "Sortierreihenfolge"
|
1566 |
|
1567 |
+
#: ../admin/settings.php:324
|
1568 |
msgid "Ascending"
|
1569 |
msgstr "Aufsteigend"
|
1570 |
|
1571 |
+
#: ../admin/settings.php:325
|
1572 |
msgid "Descending"
|
1573 |
msgstr "Absteigend"
|
1574 |
|
1575 |
+
#: ../admin/settings.php:341
|
1576 |
msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
|
1577 |
msgstr "Hier kannst Du den Effekt für die Thumbnails auswählen. NextGEN Galerie wird den benötigten HTML Code verwenden. Bitte beachte, das nur der Thickbox Effekt automatisch in Dein Theme von Wordpress integriert wird. Alle anderen Effekte mußt Du selbst in die header.php eintragen (JS)."
|
1578 |
|
1579 |
+
#: ../admin/settings.php:342
|
1580 |
msgid "With the placeholder"
|
1581 |
msgstr "Mit Platzhalter"
|
1582 |
|
1583 |
+
#: ../admin/settings.php:342
|
1584 |
msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
|
1585 |
msgstr "Du kannst eine Navigation durch die Bilder aktivieren (hängt vom Effekt ab). Ändere nur die Codezeile falls Du einen anderen Effekt für die Thumbnails verwendest oder einfach weißt, was Du tust."
|
1586 |
|
1587 |
+
#: ../admin/settings.php:346
|
1588 |
msgid "JavaScript Thumbnail effect"
|
1589 |
msgstr "JavaScript Thumbnail Effekt"
|
1590 |
|
1591 |
+
#: ../admin/settings.php:350
|
1592 |
msgid "Thickbox"
|
1593 |
msgstr "Thickbox"
|
1594 |
|
1595 |
+
#: ../admin/settings.php:351
|
1596 |
msgid "Lightbox"
|
1597 |
msgstr "Lightbox"
|
1598 |
|
1599 |
+
#: ../admin/settings.php:352
|
1600 |
msgid "Highslide"
|
1601 |
msgstr "Highslide"
|
1602 |
|
1603 |
+
#: ../admin/settings.php:353
|
1604 |
+
msgid "Shutter"
|
1605 |
+
msgstr "Shutter"
|
1606 |
+
|
1607 |
+
#: ../admin/settings.php:354
|
1608 |
msgid "Custom"
|
1609 |
msgstr "Eigener"
|
1610 |
|
1611 |
+
#: ../admin/settings.php:359
|
1612 |
msgid "Link Code line"
|
1613 |
msgstr "Link Code Zeile"
|
1614 |
|
1615 |
+
#: ../admin/settings.php:367
|
1616 |
msgid "Select loading image"
|
1617 |
msgstr "Wähle Ladeanimation"
|
1618 |
|
1619 |
+
#: ../admin/settings.php:391
|
1620 |
msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
|
1621 |
msgstr "Bitte beachten : Das Wasserzeichen kann nur unter der Galerieverwaltung gesetzt werden. "
|
1622 |
|
1623 |
+
#: ../admin/settings.php:396
|
1624 |
msgid "Preview"
|
1625 |
msgstr "Vorschau"
|
1626 |
|
1627 |
+
#: ../admin/settings.php:398
|
1628 |
+
#: ../admin/settings.php:402
|
1629 |
msgid "Position"
|
1630 |
msgstr "Position"
|
1631 |
|
1632 |
+
#: ../admin/settings.php:422
|
1633 |
msgid "Offset"
|
1634 |
msgstr "Abstand"
|
1635 |
|
1636 |
+
#: ../admin/settings.php:440
|
1637 |
msgid "Use image as watermark"
|
1638 |
msgstr "Benutze Bild als Wasserzeichen"
|
1639 |
|
1640 |
+
#: ../admin/settings.php:443
|
1641 |
msgid "URL to file"
|
1642 |
msgstr "URL zur Datei"
|
1643 |
|
1644 |
+
#: ../admin/settings.php:445
|
1645 |
msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
|
1646 |
msgstr "Der Dateizugriff von URL's ist auf diesem Server deaktiviert (allow_url_fopen)"
|
1647 |
|
1648 |
+
#: ../admin/settings.php:451
|
1649 |
msgid "Use text as watermark"
|
1650 |
msgstr "Benutze Text als Wasserzeichen"
|
1651 |
|
1652 |
+
#: ../admin/settings.php:454
|
1653 |
msgid "Font"
|
1654 |
msgstr "Schriftart"
|
1655 |
|
1656 |
+
#: ../admin/settings.php:463
|
1657 |
+
msgid "This function will not work, cause you need the FreeType library"
|
1658 |
+
msgstr "Diese Funktion benötigt die FreeType Bibliothek"
|
1659 |
+
|
1660 |
+
#: ../admin/settings.php:465
|
1661 |
msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
|
1662 |
msgstr "Du kannst mehr Schriftarten in das Verzeichniss <strong>nggallery/fonts</strong> hochladen."
|
1663 |
|
1664 |
+
#: ../admin/settings.php:469
|
1665 |
msgid "Size"
|
1666 |
msgstr "Größe"
|
1667 |
|
1668 |
+
#: ../admin/settings.php:473
|
1669 |
msgid "Color"
|
1670 |
msgstr "Farbe"
|
1671 |
|
1672 |
+
#: ../admin/settings.php:475
|
1673 |
msgid "(hex w/o #)"
|
1674 |
msgstr "(hex w/o #)"
|
1675 |
|
1676 |
+
#: ../admin/settings.php:478
|
1677 |
msgid "Text"
|
1678 |
msgstr "Text"
|
1679 |
|
1680 |
+
#: ../admin/settings.php:482
|
1681 |
msgid "Opaque"
|
1682 |
msgstr "Transparenz"
|
1683 |
|
1684 |
+
#: ../admin/settings.php:500
|
1685 |
msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
|
1686 |
msgstr "Die Datei imagerotator.swf ist nicht im Plugin Verzeichniss -> so wird die Slideshow nicht funktionieren."
|
1687 |
|
1688 |
+
#: ../admin/settings.php:501
|
1689 |
msgid "The settings are used in the JW Image Rotator Version 3.9 ."
|
1690 |
msgstr "Die Einstellungen werden im JW Image Rotator Version 3.9 benutzt."
|
1691 |
|
1692 |
+
#: ../admin/settings.php:502
|
1693 |
msgid "See more information for the Flash Player on the web page"
|
1694 |
msgstr "Weitere Informationen auf der Flash Player Homepage"
|
1695 |
|
1696 |
+
#: ../admin/settings.php:505
|
1697 |
msgid "Default size (W x H)"
|
1698 |
msgstr "Standard Größe (B x H)"
|
1699 |
|
1700 |
+
#: ../admin/settings.php:510
|
1701 |
msgid "Shuffle mode"
|
1702 |
msgstr "Shuffle Modus"
|
1703 |
|
1704 |
+
#: ../admin/settings.php:514
|
1705 |
msgid "Show next image on click"
|
1706 |
msgstr "Zeige nächstes Bild bei Klick"
|
1707 |
|
1708 |
+
#: ../admin/settings.php:518
|
1709 |
msgid "Show navigation bar"
|
1710 |
msgstr "Zeige Navigations-Leiste"
|
1711 |
|
1712 |
+
#: ../admin/settings.php:522
|
1713 |
msgid "Show loading icon"
|
1714 |
msgstr "Zeige Lade-Bildchen"
|
1715 |
|
1716 |
+
#: ../admin/settings.php:526
|
1717 |
msgid "Use watermark logo"
|
1718 |
msgstr "Wasserzeichen anzeigen"
|
1719 |
|
1720 |
+
#: ../admin/settings.php:528
|
1721 |
msgid "You can change the logo at the watermark settings"
|
1722 |
msgstr "Du kannst den Pfad in Einstellungen für da Wasserzeichen angeben"
|
1723 |
|
1724 |
+
#: ../admin/settings.php:531
|
1725 |
msgid "Stretch image"
|
1726 |
msgstr "Bild dehnen"
|
1727 |
|
1728 |
+
#: ../admin/settings.php:534
|
1729 |
msgid "true"
|
1730 |
msgstr "Ja"
|
1731 |
|
1732 |
+
#: ../admin/settings.php:535
|
1733 |
msgid "false"
|
1734 |
msgstr "Nein"
|
1735 |
|
1736 |
+
#: ../admin/settings.php:536
|
1737 |
msgid "fit"
|
1738 |
msgstr "Passend"
|
1739 |
|
1740 |
+
#: ../admin/settings.php:537
|
1741 |
+
msgid "none"
|
1742 |
+
msgstr "keiner"
|
1743 |
+
|
1744 |
+
#: ../admin/settings.php:542
|
1745 |
msgid "Duration time"
|
1746 |
msgstr "Dauer"
|
1747 |
|
1748 |
+
#: ../admin/settings.php:543
|
1749 |
msgid "sec."
|
1750 |
msgstr "Sek."
|
1751 |
|
1752 |
+
#: ../admin/settings.php:546
|
1753 |
msgid "Transition / Fade effect"
|
1754 |
msgstr "Fade Effekt"
|
1755 |
|
1756 |
+
#: ../admin/settings.php:549
|
1757 |
msgid "fade"
|
1758 |
msgstr "Fade"
|
1759 |
|
1760 |
+
#: ../admin/settings.php:550
|
1761 |
msgid "bgfade"
|
1762 |
msgstr "BGFade"
|
1763 |
|
1764 |
+
#: ../admin/settings.php:551
|
1765 |
msgid "slowfade"
|
1766 |
msgstr "Slowfade"
|
1767 |
|
1768 |
+
#: ../admin/settings.php:552
|
1769 |
msgid "circles"
|
1770 |
msgstr "Kreise"
|
1771 |
|
1772 |
+
#: ../admin/settings.php:553
|
1773 |
msgid "bubbles"
|
1774 |
msgstr "Blasen"
|
1775 |
|
1776 |
+
#: ../admin/settings.php:554
|
1777 |
msgid "blocks"
|
1778 |
msgstr "Blöcke"
|
1779 |
|
1780 |
+
#: ../admin/settings.php:555
|
1781 |
msgid "fluids"
|
1782 |
msgstr "Fluids"
|
1783 |
|
1784 |
+
#: ../admin/settings.php:556
|
1785 |
msgid "flash"
|
1786 |
msgstr "Flash"
|
1787 |
|
1788 |
+
#: ../admin/settings.php:557
|
1789 |
msgid "lines"
|
1790 |
msgstr "Linien"
|
1791 |
|
1792 |
+
#: ../admin/settings.php:562
|
|
|
|
|
|
|
|
|
1793 |
msgid "Use slow zooming effect"
|
1794 |
msgstr "nutze Zoom Effekt"
|
1795 |
|
1796 |
+
#: ../admin/settings.php:566
|
1797 |
msgid "Background Color"
|
1798 |
msgstr "Hintergrund (BG) Farbe"
|
1799 |
|
1800 |
+
#: ../admin/settings.php:571
|
1801 |
msgid "Texts / Buttons Color"
|
1802 |
msgstr "Text- / Button Farbe"
|
1803 |
|
1804 |
+
#: ../admin/settings.php:576
|
1805 |
msgid "Rollover / Active Color"
|
1806 |
msgstr "Rollover / Aktiv (Link) Farbe"
|
1807 |
|
1808 |
+
#: ../admin/settings.php:581
|
1809 |
msgid "Background music (URL)"
|
1810 |
msgstr "Hintergrundmusik (URL)"
|
1811 |
|
1812 |
+
#: ../admin/settings.php:585
|
1813 |
msgid "Try XHTML validation (with CDATA)"
|
1814 |
msgstr "Integriere XHTML Validierung (mittels CDATA)"
|
1815 |
|
1816 |
+
#: ../admin/settings.php:587
|
1817 |
msgid "Important : Could causes problem at some browser. Please recheck your page."
|
1818 |
msgstr "Wichtig : Es könnnten Probleme bei einigen Browser auftauchen. Unbedingt Seite prüfen."
|
1819 |
|
1847 |
"\\n"
|
1848 |
"Wähle [Cancel] um abzubrechen, [OK] zum Durchführen.\\n"
|
1849 |
|
1850 |
+
#: ../admin/setup.php:55
|
1851 |
msgid "Uninstall plugin tables"
|
1852 |
msgstr "Plugin Tabellen (DB) entfernen"
|
1853 |
|
1854 |
+
#: ../admin/setup.php:58
|
1855 |
msgid "You don't like NextGEN Gallery ?"
|
1856 |
msgstr "Du magst die NextGEN Galerie nicht ?"
|
1857 |
|
1858 |
+
#: ../admin/setup.php:59
|
1859 |
msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
|
1860 |
msgstr "Null Problemo. Einfach nur vor dem Deaktivieren dieses Plugins den Uninstall-Button betätigen damit alle Tabellen der Galerie entfernt werden."
|
1861 |
|
1862 |
+
#: ../admin/setup.php:60
|
1863 |
msgid "WARNING:"
|
1864 |
msgstr "WARNUNG:"
|
1865 |
|
1866 |
+
#: ../admin/setup.php:61
|
1867 |
msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
|
1868 |
msgstr "Einmal deinstalliert -> keine Rückgängigmachung! D.h. auf Deutsch, das eine einmalig durchgeführte Deinstallation nicht mehr rückgängig gemacht werden kann da alle Tabellen der Galerie aus der Datenbank entfernt werden und KEIN Backup dieser Galerie-Tabellen angelegt wird währenddessen."
|
1869 |
|
1870 |
+
#: ../admin/setup.php:61
|
1871 |
msgid "and"
|
1872 |
msgstr "und"
|
1873 |
|
1874 |
+
#: ../admin/setup.php:63
|
1875 |
msgid "Uninstall plugin"
|
1876 |
msgstr "Plugin deinstallieren"
|
1877 |
|
1878 |
+
#: ../admin/setup.php:63
|
1879 |
msgid ""
|
1880 |
"You are about to Uninstall this plugin from WordPress.\\n"
|
1881 |
"This action is not reversible.\\n"
|
1887 |
"\\n"
|
1888 |
"Wähle [Cancel] zum Abbrechen, [OK] zum Deinstallieren.\\n"
|
1889 |
|
1890 |
+
#: ../admin/showmeta.php:7
|
1891 |
+
#: ../admin/showmeta.php:10
|
1892 |
+
msgid "Cheatin’ uh?"
|
1893 |
+
msgstr "Cheatin’ uh?"
|
1894 |
+
|
1895 |
+
#: ../admin/showmeta.php:42
|
1896 |
+
msgid "EXIF Data"
|
1897 |
+
msgstr "EXIF Daten"
|
1898 |
+
|
1899 |
+
#: ../admin/showmeta.php:47
|
1900 |
+
#: ../admin/showmeta.php:71
|
1901 |
+
#: ../admin/showmeta.php:95
|
1902 |
+
msgid "Tag"
|
1903 |
+
msgstr "Stichwort"
|
1904 |
+
|
1905 |
+
#: ../admin/showmeta.php:48
|
1906 |
+
#: ../admin/showmeta.php:72
|
1907 |
+
#: ../admin/showmeta.php:96
|
1908 |
+
msgid "Value"
|
1909 |
+
msgstr "Wert"
|
1910 |
+
|
1911 |
+
#: ../admin/showmeta.php:61
|
1912 |
+
msgid "No exif data"
|
1913 |
+
msgstr "Keine Exif Daten"
|
1914 |
+
|
1915 |
+
#: ../admin/showmeta.php:67
|
1916 |
+
msgid "IPTC Data"
|
1917 |
+
msgstr "IPTC Daten"
|
1918 |
+
|
1919 |
+
#: ../admin/showmeta.php:91
|
1920 |
+
msgid "XMP Data"
|
1921 |
+
msgstr "XMP Daten"
|
1922 |
+
|
1923 |
#: ../admin/style.php:34
|
1924 |
msgid "You do not have sufficient permissions to edit templates for this blog."
|
1925 |
msgstr "Du hast nicht die benötigten Rechte um Templates in diesem Blog zu bearbeiten."
|
1936 |
msgid "Activate"
|
1937 |
msgstr "Aktiviere"
|
1938 |
|
1939 |
+
#: ../admin/style.php:93
|
1940 |
#, php-format
|
1941 |
msgid "Editing <strong>%s</strong>"
|
1942 |
msgstr "Bearbeite <strong>%s</strong>"
|
1943 |
|
1944 |
+
#: ../admin/style.php:95
|
1945 |
#, php-format
|
1946 |
msgid "Browsing <strong>%s</strong>"
|
1947 |
msgstr "Browse <strong>%s</strong>"
|
1948 |
|
1949 |
+
#: ../admin/style.php:100
|
1950 |
+
#: ../lib/nggmeta.lib.php:374
|
1951 |
msgid "Author"
|
1952 |
msgstr "Autor"
|
1953 |
|
1954 |
+
#: ../admin/style.php:101
|
1955 |
msgid "Version"
|
1956 |
msgstr "Version"
|
1957 |
|
1958 |
+
#: ../admin/style.php:118
|
1959 |
msgid "Update File »"
|
1960 |
msgstr "Datei aktualisieren"
|
1961 |
|
1962 |
+
#: ../admin/style.php:122
|
1963 |
msgid "If this file were writable you could edit it."
|
1964 |
msgstr "Wenn diese Datei beschreibbar wäre, könntest Du sie bearbeiten."
|
1965 |
|
1966 |
+
#: ../admin/style.php:127
|
1967 |
msgid "Oops, no such file exists! Double check the name and try again, merci."
|
1968 |
msgstr "Oha, eine solche Datei existiert nicht! Bitte überprüfe den Namen und probiere es erneut, danke."
|
1969 |
|
1970 |
+
#: ../admin/uploadtab.php:105
|
1971 |
+
msgid "Select a gallery"
|
1972 |
+
msgstr "Wähle Galerie"
|
1973 |
+
|
1974 |
+
#: ../admin/uploadtab.php:107
|
1975 |
+
#: ../tinymce/window.php:49
|
1976 |
+
msgid "No gallery"
|
1977 |
+
msgstr "Keine Galerie"
|
1978 |
+
|
1979 |
+
#: ../admin/uploadtab.php:172
|
1980 |
+
#: ../admin/js/uploadtab.js.php:166
|
1981 |
+
msgid "URL"
|
1982 |
+
msgstr "URL"
|
1983 |
+
|
1984 |
+
#: ../admin/uploadtab.php:185
|
1985 |
+
#: ../admin/js/uploadtab.js.php:174
|
1986 |
+
msgid "Delete File"
|
1987 |
+
msgstr "Datei löschen"
|
1988 |
+
|
1989 |
+
#: ../admin/uploadtab.php:185
|
1990 |
+
msgid "Delete image ?"
|
1991 |
+
msgstr "Bilder löschen ?"
|
1992 |
+
|
1993 |
+
#: ../admin/wpmu.php:41
|
1994 |
+
msgid "General WordPress MU Settings"
|
1995 |
+
msgstr "WordPress MU Einstellungen"
|
1996 |
+
|
1997 |
+
#: ../admin/wpmu.php:50
|
1998 |
+
msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /."
|
1999 |
+
msgstr "Dieses ist der Default Pfad für alle Blogs. Mit dem Platzhalter %BLOG_ID% wird die Ordnerstruktur gesteuert. Der Pfad muss mit / enden."
|
2000 |
+
|
2001 |
+
#: ../admin/wpmu.php:53
|
2002 |
+
msgid "Enable upload quota check"
|
2003 |
+
msgstr "Schalte die Uploadbegrenzung ein"
|
2004 |
+
|
2005 |
+
#: ../admin/wpmu.php:55
|
2006 |
+
msgid "Should work if the gallery is bellow the blog.dir"
|
2007 |
+
msgstr "Sollte funktionieren wenn die Galerien sich unterhalb blog.dir befinden"
|
2008 |
+
|
2009 |
+
#: ../admin/wpmu.php:59
|
2010 |
+
msgid "Enable zip upload option"
|
2011 |
+
msgstr "Erlaube ZIP-Upload"
|
2012 |
+
|
2013 |
+
#: ../admin/wpmu.php:61
|
2014 |
+
msgid "Allow users to upload zip folders."
|
2015 |
+
msgstr "Erlaubt die Nutzung des ZIP-Upload"
|
2016 |
+
|
2017 |
+
#: ../admin/wpmu.php:65
|
2018 |
+
msgid "Enable style selection"
|
2019 |
+
msgstr "Freie CSS Style Auswahl"
|
2020 |
+
|
2021 |
+
#: ../admin/wpmu.php:67
|
2022 |
+
msgid "Allow users to choose a style for the gallery."
|
2023 |
+
msgstr "Erlaube dem User ein CSS für die Galerie zu wählen"
|
2024 |
+
|
2025 |
+
#: ../admin/wpmu.php:71
|
2026 |
+
msgid "Enable roles/capabilities"
|
2027 |
+
msgstr "Rollen / Zugriffsrechte freischalten"
|
2028 |
+
|
2029 |
+
#: ../admin/wpmu.php:73
|
2030 |
+
msgid "Allow users to change the roles for other blog authors."
|
2031 |
+
msgstr "Erlaube dem User die Anpassung der Zugangsberechtigung"
|
2032 |
+
|
2033 |
+
#: ../admin/wpmu.php:77
|
2034 |
+
msgid "Default style"
|
2035 |
+
msgstr "Standard CSS-Style"
|
2036 |
+
|
2037 |
+
#: ../admin/wpmu.php:94
|
2038 |
+
msgid "Choose the default style for the galleries."
|
2039 |
+
msgstr "Wähle das Default-Stylesheet für die Galerien"
|
2040 |
+
|
2041 |
+
#: ../admin/js/uploadtab.js.php:86
|
2042 |
+
#: ../admin/js/uploadtab.js.php:88
|
2043 |
+
#: ../admin/js/uploadtab.js.php:149
|
2044 |
+
#: ../admin/js/uploadtab.js.php:151
|
2045 |
msgid "Browse your files"
|
2046 |
msgstr "Durchsuche deine Dateien"
|
2047 |
|
2048 |
+
#: ../admin/js/uploadtab.js.php:86
|
2049 |
+
#: ../admin/js/uploadtab.js.php:88
|
2050 |
+
#: ../admin/js/uploadtab.js.php:149
|
2051 |
+
#: ../admin/js/uploadtab.js.php:151
|
2052 |
msgid "« Back"
|
2053 |
msgstr "« Zurück"
|
2054 |
|
2055 |
+
#: ../admin/js/uploadtab.js.php:97
|
2056 |
+
#: ../admin/js/uploadtab.js.php:160
|
2057 |
msgid "Direct link to file"
|
2058 |
msgstr "Link zur Datei"
|
2059 |
|
2060 |
+
#: ../admin/js/uploadtab.js.php:107
|
2061 |
msgid "Full size"
|
2062 |
msgstr "Volle Größe"
|
2063 |
|
2064 |
+
#: ../admin/js/uploadtab.js.php:110
|
2065 |
msgid "Show:"
|
2066 |
msgstr "Zeige als:"
|
2067 |
|
2068 |
+
#: ../admin/js/uploadtab.js.php:115
|
2069 |
msgid "Link to:"
|
2070 |
msgstr "Link zu:"
|
2071 |
|
2072 |
+
#: ../admin/js/uploadtab.js.php:116
|
2073 |
msgid "File"
|
2074 |
msgstr "Datei"
|
2075 |
|
2076 |
+
#: ../admin/js/uploadtab.js.php:121
|
2077 |
msgid "Send to editor »"
|
2078 |
msgstr "Zum Editor schicken »"
|
2079 |
|
2080 |
+
#: ../admin/js/uploadtab.js.php:156
|
2081 |
+
#: ../tinymce/window.php:150
|
2082 |
+
msgid "Insert"
|
2083 |
+
msgstr "Einfügen"
|
2084 |
+
|
2085 |
+
#: ../admin/js/uploadtab.js.php:180
|
2086 |
msgid "Save »"
|
2087 |
msgstr "Speichern »"
|
2088 |
|
2089 |
+
#: ../admin/js/uploadtab.js.php:259
|
2090 |
#, php-format
|
2091 |
msgid ""
|
2092 |
"Are you sure you want to delete the file '%s'?\n"
|
2093 |
"Click ok to delete or cancel to go back."
|
2094 |
msgstr "Bist du sicher das Du diese Datei '%s' löschen willst ?"
|
2095 |
|
2096 |
+
#: ../lib/nggmeta.lib.php:83
|
2097 |
+
msgid " mm"
|
2098 |
+
msgstr " mm"
|
2099 |
+
|
2100 |
+
#: ../lib/nggmeta.lib.php:89
|
2101 |
+
msgid " sec"
|
2102 |
+
msgstr " Sek."
|
2103 |
+
|
2104 |
+
#: ../lib/nggmeta.lib.php:364
|
2105 |
+
msgid "Aperture"
|
2106 |
+
msgstr "Blende"
|
2107 |
+
|
2108 |
+
#: ../lib/nggmeta.lib.php:365
|
2109 |
+
#: ../lib/nggmeta.lib.php:390
|
2110 |
+
msgid "Credit"
|
2111 |
+
msgstr "Autor"
|
2112 |
+
|
2113 |
+
#: ../lib/nggmeta.lib.php:366
|
2114 |
+
msgid "Camera"
|
2115 |
+
msgstr "Kamera"
|
2116 |
+
|
2117 |
+
#: ../lib/nggmeta.lib.php:367
|
2118 |
+
msgid "Caption"
|
2119 |
+
msgstr "Beschreibung"
|
2120 |
+
|
2121 |
+
#: ../lib/nggmeta.lib.php:368
|
2122 |
+
msgid "Date/Time"
|
2123 |
+
msgstr "Datum/Zeit"
|
2124 |
+
|
2125 |
+
#: ../lib/nggmeta.lib.php:369
|
2126 |
+
msgid "Copyright"
|
2127 |
+
msgstr "Rechte"
|
2128 |
+
|
2129 |
+
#: ../lib/nggmeta.lib.php:370
|
2130 |
+
msgid "Focal length"
|
2131 |
+
msgstr "Brennweite"
|
2132 |
+
|
2133 |
+
#: ../lib/nggmeta.lib.php:371
|
2134 |
+
msgid "ISO"
|
2135 |
+
msgstr "ISO"
|
2136 |
+
|
2137 |
+
#: ../lib/nggmeta.lib.php:372
|
2138 |
+
msgid "Shutter speed"
|
2139 |
+
msgstr "Belichtungszeit"
|
2140 |
+
|
2141 |
+
#: ../lib/nggmeta.lib.php:376
|
2142 |
+
msgid "Subject"
|
2143 |
+
msgstr "Betreff"
|
2144 |
+
|
2145 |
+
#: ../lib/nggmeta.lib.php:377
|
2146 |
+
msgid "Make"
|
2147 |
+
msgstr "Hersteller"
|
2148 |
+
|
2149 |
+
#: ../lib/nggmeta.lib.php:378
|
2150 |
+
msgid "Edit Status"
|
2151 |
+
msgstr "Ändere Status"
|
2152 |
+
|
2153 |
+
#: ../lib/nggmeta.lib.php:379
|
2154 |
+
msgid "Category"
|
2155 |
+
msgstr "Kategorie"
|
2156 |
+
|
2157 |
+
#: ../lib/nggmeta.lib.php:380
|
2158 |
+
msgid "Keywords"
|
2159 |
+
msgstr "Schlüsselwörter"
|
2160 |
+
|
2161 |
+
#: ../lib/nggmeta.lib.php:381
|
2162 |
+
msgid "Date Created"
|
2163 |
+
msgstr "erstellt (Datum)"
|
2164 |
+
|
2165 |
+
#: ../lib/nggmeta.lib.php:382
|
2166 |
+
msgid "Time Created"
|
2167 |
+
msgstr "erstellt (Zeit)"
|
2168 |
+
|
2169 |
+
#: ../lib/nggmeta.lib.php:383
|
2170 |
+
msgid "Author Position"
|
2171 |
+
msgstr "Autor Position"
|
2172 |
+
|
2173 |
+
#: ../lib/nggmeta.lib.php:384
|
2174 |
+
msgid "City"
|
2175 |
+
msgstr "Stadt"
|
2176 |
+
|
2177 |
+
#: ../lib/nggmeta.lib.php:385
|
2178 |
+
msgid "Location"
|
2179 |
+
msgstr "Ort"
|
2180 |
+
|
2181 |
+
#: ../lib/nggmeta.lib.php:386
|
2182 |
+
msgid "Province/State"
|
2183 |
+
msgstr "Staat / PLZ"
|
2184 |
+
|
2185 |
+
#: ../lib/nggmeta.lib.php:387
|
2186 |
+
msgid "Country code"
|
2187 |
+
msgstr "Landescode"
|
2188 |
+
|
2189 |
+
#: ../lib/nggmeta.lib.php:388
|
2190 |
+
msgid "Country"
|
2191 |
+
msgstr "Land"
|
2192 |
+
|
2193 |
+
#: ../lib/nggmeta.lib.php:389
|
2194 |
+
msgid "Headline"
|
2195 |
+
msgstr "Kopfzeile"
|
2196 |
+
|
2197 |
+
#: ../lib/nggmeta.lib.php:391
|
2198 |
+
msgid "Source"
|
2199 |
+
msgstr "Quelle"
|
2200 |
+
|
2201 |
+
#: ../lib/nggmeta.lib.php:392
|
2202 |
+
msgid "Copyright Notice"
|
2203 |
+
msgstr "Copyright Hinweise / Credits"
|
2204 |
+
|
2205 |
+
#: ../lib/nggmeta.lib.php:393
|
2206 |
+
msgid "Contact"
|
2207 |
+
msgstr "Kontakt"
|
2208 |
+
|
2209 |
+
#: ../lib/nggmeta.lib.php:394
|
2210 |
+
msgid "Last modified"
|
2211 |
+
msgstr "Zuletzt geändert"
|
2212 |
+
|
2213 |
+
#: ../lib/nggmeta.lib.php:395
|
2214 |
+
msgid "Program tool"
|
2215 |
+
msgstr "Programm"
|
2216 |
+
|
2217 |
+
#: ../lib/nggmeta.lib.php:396
|
2218 |
+
msgid "Format"
|
2219 |
+
msgstr "Format"
|
2220 |
+
|
2221 |
+
#: ../tinymce/window.php:47
|
2222 |
+
msgid "Select gallery"
|
2223 |
+
msgstr "Wähle Galerie"
|
2224 |
+
|
2225 |
+
#: ../tinymce/window.php:61
|
2226 |
+
#: ../tinymce/window.php:88
|
2227 |
+
msgid "Show as"
|
2228 |
+
msgstr "Zeige als"
|
2229 |
+
|
2230 |
+
#: ../tinymce/window.php:62
|
2231 |
+
msgid "Image list"
|
2232 |
+
msgstr "Bilder-Liste"
|
2233 |
+
|
2234 |
+
#: ../tinymce/window.php:76
|
2235 |
+
msgid "No album"
|
2236 |
+
msgstr "Kein Album"
|
2237 |
+
|
2238 |
+
#: ../tinymce/window.php:89
|
2239 |
+
msgid "Extended version"
|
2240 |
+
msgstr "Erweiterte Version"
|
2241 |
+
|
2242 |
+
#: ../tinymce/window.php:90
|
2243 |
+
msgid "Compact version"
|
2244 |
+
msgstr "Kompakte Version"
|
2245 |
+
|
2246 |
+
#: ../tinymce/window.php:101
|
2247 |
+
msgid "Select picture"
|
2248 |
+
msgstr "Wähle Bild"
|
2249 |
+
|
2250 |
+
#: ../tinymce/window.php:103
|
2251 |
+
msgid "No picture"
|
2252 |
+
msgstr "Kein Bild"
|
2253 |
+
|
2254 |
+
#: ../tinymce/window.php:115
|
2255 |
+
msgid "Width x Height"
|
2256 |
+
msgstr "Breite x Höhe"
|
2257 |
+
|
2258 |
+
#: ../tinymce/window.php:119
|
2259 |
+
msgid "Effect"
|
2260 |
+
msgstr "Effekt"
|
2261 |
+
|
2262 |
+
#: ../tinymce/window.php:122
|
2263 |
+
msgid "No effect"
|
2264 |
+
msgstr "Kein Effekt"
|
2265 |
+
|
2266 |
+
#: ../tinymce/window.php:124
|
2267 |
+
msgid "Web 2.0"
|
2268 |
+
msgstr "Web 2.0"
|
2269 |
+
|
2270 |
+
#: ../tinymce/window.php:129
|
2271 |
+
msgid "Float"
|
2272 |
+
msgstr "Float"
|
2273 |
+
|
2274 |
+
#: ../tinymce/window.php:132
|
2275 |
+
msgid "No float"
|
2276 |
+
msgstr "Kein Float"
|
2277 |
+
|
2278 |
+
#: ../tinymce/window.php:133
|
2279 |
+
msgid "Left"
|
2280 |
+
msgstr "Links"
|
2281 |
+
|
2282 |
+
#: ../tinymce/window.php:134
|
2283 |
+
msgid "Right"
|
2284 |
+
msgstr "Rechts"
|
2285 |
+
|
lang/nggallery.po
CHANGED
@@ -2,7 +2,7 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: NextGEN Gallery\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
-
"PO-Revision-Date:
|
6 |
"Last-Translator: Alex Rabe\n"
|
7 |
"Language-Team: Alex Rabe\n"
|
8 |
"MIME-Version: 1.0\n"
|
@@ -15,328 +15,150 @@ msgstr ""
|
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPath-1: ..\n"
|
17 |
|
18 |
-
#: ../
|
19 |
-
msgid "
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: ../nggadmintab.php:67
|
23 |
-
#: ../nggbutton.php:50
|
24 |
-
msgid "No gallery"
|
25 |
-
msgstr ""
|
26 |
-
|
27 |
-
#: ../nggadmintab.php:132
|
28 |
-
#: ../js/nggadmintab-js.php:161
|
29 |
-
msgid "URL"
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: ../nggadmintab.php:136
|
33 |
-
#: ../admin/manage.php:541
|
34 |
-
#: ../js/nggadmintab-js.php:164
|
35 |
-
msgid "Alt & Title Text"
|
36 |
-
msgstr ""
|
37 |
-
|
38 |
-
#: ../nggadmintab.php:140
|
39 |
-
#: ../admin/manage.php:291
|
40 |
-
#: ../admin/manage.php:467
|
41 |
-
#: ../admin/manage.php:540
|
42 |
-
#: ../admin/myimport.php:52
|
43 |
-
#: ../admin/style.php:101
|
44 |
-
#: ../js/nggadmintab-js.php:167
|
45 |
-
msgid "Description"
|
46 |
-
msgstr ""
|
47 |
-
|
48 |
-
#: ../nggadmintab.php:145
|
49 |
-
#: ../js/nggadmintab-js.php:169
|
50 |
-
msgid "Delete File"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: ../nggadmintab.php:145
|
54 |
-
msgid "Delete image ?"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: ../
|
58 |
-
|
|
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: ../
|
62 |
-
#: ../
|
63 |
-
#: ../
|
64 |
-
|
65 |
-
#: ../admin/addgallery.php:306
|
66 |
-
#: ../admin/admin.php:47
|
67 |
-
#: ../admin/manage.php:64
|
68 |
-
#: ../admin/manage.php:436
|
69 |
-
#: ../admin/settings.php:86
|
70 |
-
msgid "Gallery"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: ../
|
74 |
-
msgid "
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: ../
|
78 |
-
|
79 |
-
msgid "Album"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: ../
|
83 |
-
#: ../nggfunctions.php:524
|
84 |
#: ../admin/manage.php:85
|
|
|
85 |
msgid "Picture"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: ../
|
89 |
-
msgid "
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: ../nggbutton.php:62
|
93 |
-
#: ../nggbutton.php:89
|
94 |
-
msgid "Show as"
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: ../nggbutton.php:63
|
98 |
-
msgid "Image list"
|
99 |
-
msgstr ""
|
100 |
-
|
101 |
-
#: ../nggbutton.php:64
|
102 |
-
#: ../admin/settings.php:89
|
103 |
-
#: ../admin/settings.php:256
|
104 |
-
#: ../admin/settings.php:456
|
105 |
-
msgid "Slideshow"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: ../nggbutton.php:75
|
109 |
-
#: ../admin/album.php:123
|
110 |
-
msgid "Select album"
|
111 |
-
msgstr ""
|
112 |
-
|
113 |
-
#: ../nggbutton.php:77
|
114 |
-
msgid "No album"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: ../nggbutton.php:90
|
118 |
-
msgid "Extended version"
|
119 |
-
msgstr ""
|
120 |
-
|
121 |
-
#: ../nggbutton.php:91
|
122 |
-
msgid "Compact version"
|
123 |
-
msgstr ""
|
124 |
-
|
125 |
-
#: ../nggbutton.php:102
|
126 |
-
msgid "Select picture"
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: ../nggbutton.php:104
|
130 |
-
msgid "No picture"
|
131 |
-
msgstr ""
|
132 |
-
|
133 |
-
#: ../nggbutton.php:116
|
134 |
-
msgid "Width x Height"
|
135 |
-
msgstr ""
|
136 |
-
|
137 |
-
#: ../nggbutton.php:120
|
138 |
-
msgid "Effect"
|
139 |
-
msgstr ""
|
140 |
-
|
141 |
-
#: ../nggbutton.php:123
|
142 |
-
msgid "No effect"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: ../nggbutton.php:124
|
146 |
-
#: ../admin/settings.php:88
|
147 |
-
#: ../admin/settings.php:350
|
148 |
-
msgid "Watermark"
|
149 |
-
msgstr ""
|
150 |
-
|
151 |
-
#: ../nggbutton.php:125
|
152 |
-
msgid "Web 2.0"
|
153 |
-
msgstr ""
|
154 |
-
|
155 |
-
#: ../nggbutton.php:130
|
156 |
-
msgid "Float"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: ../nggbutton.php:133
|
160 |
-
msgid "No float"
|
161 |
-
msgstr ""
|
162 |
-
|
163 |
-
#: ../nggbutton.php:134
|
164 |
-
msgid "Left"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#: ../nggbutton.php:135
|
168 |
-
msgid "Right"
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: ../nggbutton.php:147
|
172 |
-
#: ../admin/manage.php:609
|
173 |
-
msgid "Cancel"
|
174 |
-
msgstr ""
|
175 |
-
|
176 |
-
#: ../nggbutton.php:151
|
177 |
-
#: ../js/nggadmintab-js.php:151
|
178 |
-
msgid "Insert"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: ../nggfunctions.php:427
|
182 |
-
#: ../nggfunctions.php:442
|
183 |
-
msgid "Watch gallery"
|
184 |
-
msgstr ""
|
185 |
-
|
186 |
-
#: ../nggfunctions.php:436
|
187 |
-
#: ../nggfunctions.php:448
|
188 |
-
#: ../nggfunctions.php:702
|
189 |
-
msgid "Photos"
|
190 |
-
msgstr ""
|
191 |
-
|
192 |
-
#: ../nggfunctions.php:517
|
193 |
-
msgid "Back"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: ../nggfunctions.php:
|
197 |
-
msgid "
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: ../
|
201 |
-
msgid "
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: ../
|
205 |
-
msgid "
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: ../ngginstall.php:
|
209 |
msgid "[Show as slideshow]"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: ../ngginstall.php:
|
213 |
msgid "[Show picture list]"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: ../nggwidget.php:
|
217 |
msgid "Title:"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: ../nggwidget.php:
|
221 |
msgid "Select Gallery:"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: ../nggwidget.php:
|
225 |
msgid "All images"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: ../nggwidget.php:
|
229 |
msgid "Height:"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: ../nggwidget.php:
|
233 |
msgid "Width:"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: ../nggwidget.php:
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
#: ../nggwidget.php:363
|
241 |
-
#: ../nggwidget.php:549
|
242 |
-
#: ../admin/album.php:244
|
243 |
-
#: ../admin/manage.php:290
|
244 |
-
#: ../admin/manage.php:448
|
245 |
-
#: ../admin/myimport.php:51
|
246 |
-
#: ../js/nggadmintab-js.php:104
|
247 |
-
msgid "Title"
|
248 |
-
msgstr ""
|
249 |
-
|
250 |
-
#: ../nggwidget.php:365
|
251 |
-
#: ../nggwidget.php:551
|
252 |
-
msgid "Display type"
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
-
#: ../nggwidget.php:367
|
256 |
-
#: ../nggwidget.php:553
|
257 |
-
#: ../admin/manage.php:537
|
258 |
-
#: ../js/nggadmintab-js.php:101
|
259 |
-
msgid "Thumbnail"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: ../nggwidget.php:
|
263 |
-
|
264 |
-
msgid "Orginal"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: ../nggwidget.php:
|
268 |
-
|
269 |
-
msgid "Number of pics"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: ../nggwidget.php:
|
273 |
-
#: ../
|
274 |
-
msgid "
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: ../nggwidget.php:
|
278 |
-
|
279 |
-
msgid "Height (px)"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: ../nggwidget.php:
|
283 |
-
|
284 |
-
msgid "Mode"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: ../nggwidget.php:
|
288 |
-
#: ../
|
289 |
-
#: ../admin/settings.php:
|
290 |
-
msgid "
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: ../nggwidget.php:
|
294 |
-
|
295 |
-
msgid "web2.0"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: ../nggwidget.php:
|
299 |
-
#: ../
|
300 |
-
msgid "
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: ../nggwidget.php:
|
304 |
-
|
305 |
-
msgid "yes"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: ../nggwidget.php:
|
309 |
-
|
310 |
-
msgid "no"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: ../nggwidget.php:
|
314 |
-
|
315 |
-
msgid "Show in"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: ../nggwidget.php:
|
319 |
-
|
320 |
-
msgid "All categories"
|
321 |
msgstr ""
|
322 |
|
323 |
-
#: ../nggwidget.php:
|
324 |
-
#: ../nggwidget.php:587
|
325 |
msgid "Only which are not listed"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: ../nggwidget.php:
|
329 |
-
#: ../nggwidget.php:588
|
330 |
msgid "Only which are listed"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: ../nggwidget.php:
|
334 |
-
|
335 |
-
msgid "Categories (id (use , to seperate)"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: ../nggwidget.php:
|
339 |
-
msgid "
|
340 |
msgstr ""
|
341 |
|
342 |
#: ../admin/about.php:9
|
@@ -348,505 +170,609 @@ msgid "NextGEN DEV Team"
|
|
348 |
msgstr ""
|
349 |
|
350 |
#: ../admin/about.php:12
|
351 |
-
msgid "This plugin is
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: ../admin/about.php:14
|
355 |
-
msgid "(Lead developer)"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: ../admin/about.php:15
|
359 |
-
msgid "(Core AJAX developer)"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: ../admin/about.php:16
|
363 |
-
#: ../admin/about.php:17
|
364 |
-
msgid "(Core developer)"
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: ../admin/about.php:
|
368 |
-
msgid "
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: ../admin/about.php:
|
372 |
msgid "Contributors / Tribute to"
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: ../admin/about.php:
|
376 |
msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together."
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: ../admin/about.php:
|
380 |
msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: ../admin/about.php:
|
384 |
msgid "for their great documented code"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: ../admin/about.php:
|
388 |
msgid "for jQuery, which is the best Web2.0 framework"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: ../admin/about.php:
|
392 |
msgid "for the fantastic PHP Thumbnail Class"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: ../admin/about.php:
|
396 |
msgid "for PclZip , a PHP library that manage ZIP archives"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: ../admin/about.php:
|
400 |
msgid "for a lot of very useful plugins and ideas"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: ../admin/about.php:
|
404 |
msgid "for RS-Discuss, it saved me a lot of time"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: ../admin/about.php:
|
408 |
msgid "for the best Media Flash Scripts on earth"
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: ../admin/about.php:
|
412 |
msgid "for the Watermark plugin"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: ../admin/about.php:
|
416 |
msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: ../admin/about.php:
|
420 |
msgid "How to support ?"
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: ../admin/about.php:
|
424 |
msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: ../admin/about.php:
|
428 |
msgid "Send us bugfixes / code changes"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: ../admin/about.php:
|
432 |
msgid "The most motivated support for this plugin are your ideas and brain work"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: ../admin/about.php:
|
436 |
msgid "Translate the plugin"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: ../admin/about.php:
|
440 |
msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
|
441 |
msgstr ""
|
442 |
|
443 |
-
#: ../admin/about.php:
|
444 |
msgid "Donate the work via paypal"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: ../admin/about.php:
|
448 |
msgid "No doubt a very usefull and easy motivation :-)"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: ../admin/about.php:
|
452 |
msgid "Place a link to the plugin in your blog/webpage"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: ../admin/about.php:
|
456 |
msgid "Yes, share and trackback is also a good support for this work "
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: ../admin/about.php:
|
460 |
msgid "Thanks!"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: ../admin/about.php:
|
464 |
msgid "We would like to thank this people which support us in the work :"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: ../admin/addgallery.php:
|
468 |
-
#: ../admin/addgallery.php:
|
469 |
msgid "Upload failed!"
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: ../admin/addgallery.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
msgid "remove"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: ../admin/addgallery.php:
|
477 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
msgid "Add new gallery"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: ../admin/addgallery.php:
|
482 |
-
#: ../admin/addgallery.php:
|
483 |
msgid "Upload a Zip-File"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: ../admin/addgallery.php:
|
487 |
-
#: ../admin/addgallery.php:
|
488 |
msgid "Import image folder"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: ../admin/addgallery.php:
|
492 |
-
#: ../admin/addgallery.php:
|
493 |
msgid "Upload Images"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: ../admin/addgallery.php:
|
497 |
msgid "New Gallery"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: ../admin/addgallery.php:
|
501 |
msgid "Create a new , empty gallery below the folder"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: ../admin/addgallery.php:
|
505 |
msgid "Allowed characters for file and folder names are"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: ../admin/addgallery.php:
|
509 |
msgid "Add gallery"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: ../admin/addgallery.php:
|
513 |
msgid "Select Zip-File"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: ../admin/addgallery.php:
|
517 |
msgid "Upload a zip file with images"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: ../admin/addgallery.php:
|
521 |
-
#: ../admin/addgallery.php:
|
522 |
msgid "in to"
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: ../admin/addgallery.php:
|
526 |
msgid "a new gallery"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: ../admin/addgallery.php:
|
530 |
-
#: ../admin/addgallery.php:
|
531 |
msgid "Note : The upload limit on your server is "
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: ../admin/addgallery.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
535 |
msgid "Start upload"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: ../admin/addgallery.php:
|
539 |
msgid "Import from Server path:"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: ../admin/addgallery.php:
|
543 |
msgid "Import a folder with images. Please note :"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: ../admin/addgallery.php:
|
547 |
-
msgid "For
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: ../admin/addgallery.php:
|
551 |
msgid "Import folder"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: ../admin/addgallery.php:
|
555 |
msgid "Upload image"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: ../admin/addgallery.php:
|
559 |
msgid "Choose gallery"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: ../admin/
|
563 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: ../admin/
|
567 |
-
msgid "
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: ../admin/
|
571 |
-
|
572 |
-
#: ../admin/addgallery.php:221
|
573 |
-
#: ../admin/addgallery.php:260
|
574 |
-
#: ../admin/addgallery.php:264
|
575 |
-
msgid "Directory"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: ../admin/
|
579 |
-
|
|
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: ../admin/
|
583 |
-
|
584 |
-
msgid "Check this link, if you didn't know how to set the permission :"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: ../admin/
|
588 |
-
msgid "
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: ../admin/
|
592 |
-
msgid "
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: ../admin/
|
596 |
-
|
597 |
-
#: ../admin/addgallery.php:270
|
598 |
-
#: ../admin/addgallery.php:530
|
599 |
-
#: ../admin/addgallery.php:532
|
600 |
-
msgid "Unable to create directory "
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: ../admin/
|
604 |
-
|
605 |
-
#: ../admin/addgallery.php:533
|
606 |
-
msgid "Unable to set directory permissions "
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: ../admin/
|
610 |
-
|
|
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: ../admin/
|
614 |
-
msgid "
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: ../admin/
|
618 |
-
msgid "
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: ../admin/
|
622 |
-
msgid "
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: ../admin/
|
626 |
-
|
|
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: ../admin/
|
630 |
-
msgid "
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: ../admin/
|
634 |
-
|
635 |
-
msgid "successfully created!"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: ../admin/
|
639 |
-
|
|
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: ../admin/
|
643 |
-
|
644 |
-
msgid "doesn`t exist"
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: ../admin/
|
648 |
-
msgid "
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: ../admin/
|
652 |
-
|
|
|
|
|
|
|
653 |
msgstr ""
|
654 |
|
655 |
-
#: ../admin/
|
656 |
-
msgid "
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: ../admin/
|
660 |
-
#: ../admin/
|
661 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: ../admin/
|
665 |
-
msgid "
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: ../admin/
|
669 |
-
|
670 |
-
msgid "Some pictures are not writeable :"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: ../admin/
|
674 |
-
msgid "
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: ../admin/
|
678 |
-
msgid "
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: ../admin/
|
682 |
-
msgid "
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: ../admin/
|
686 |
-
msgid "
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: ../admin/
|
690 |
-
msgid "
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: ../admin/
|
694 |
-
|
|
|
|
|
|
|
|
|
695 |
msgstr ""
|
696 |
|
697 |
-
#: ../admin/
|
698 |
-
|
699 |
-
msgid "Unable to unlink file "
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: ../admin/
|
703 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: ../admin/
|
707 |
-
msgid "
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: ../admin/
|
711 |
-
msgid "
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: ../admin/
|
715 |
-
|
|
|
|
|
|
|
|
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: ../admin/
|
719 |
-
msgid "
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: ../admin/
|
723 |
-
|
|
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: ../admin/
|
727 |
-
|
|
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: ../admin/
|
731 |
-
msgid "
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: ../admin/
|
735 |
-
msgid "
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: ../admin/
|
739 |
-
|
|
|
|
|
|
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: ../admin/
|
743 |
-
msgid "
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: ../admin/
|
747 |
-
msgid "
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: ../admin/
|
751 |
-
msgid "
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: ../admin/
|
755 |
-
|
756 |
-
msgid "Import"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: ../admin/
|
760 |
-
msgid "
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: ../admin/
|
764 |
-
|
|
|
765 |
msgstr ""
|
766 |
|
767 |
-
#: ../admin/
|
768 |
-
|
769 |
-
msgid "Update Successfully"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: ../admin/
|
773 |
-
msgid "
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: ../admin/
|
777 |
-
msgid "
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: ../admin/
|
781 |
-
|
|
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: ../admin/
|
785 |
-
msgid "
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: ../admin/
|
789 |
-
#: ../admin/
|
790 |
-
#: ../admin/
|
791 |
-
msgid "
|
792 |
msgstr ""
|
793 |
|
794 |
-
#: ../admin/
|
795 |
-
|
|
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: ../admin/
|
799 |
-
|
800 |
-
#: ../admin/settings.php:181
|
801 |
-
#: ../admin/settings.php:214
|
802 |
-
#: ../admin/settings.php:289
|
803 |
-
#: ../admin/settings.php:336
|
804 |
-
#: ../admin/settings.php:445
|
805 |
-
#: ../admin/settings.php:549
|
806 |
-
msgid "Update"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: ../admin/
|
810 |
-
|
|
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: ../admin/
|
814 |
-
|
|
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: ../admin/
|
818 |
-
msgid "
|
819 |
msgstr ""
|
820 |
|
821 |
-
#: ../admin/
|
822 |
-
|
|
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: ../admin/
|
826 |
-
msgid "
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: ../admin/
|
830 |
-
msgid "
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: ../admin/
|
834 |
-
|
835 |
-
#: ../admin/manage.php:534
|
836 |
-
#: ../admin/myimport.php:49
|
837 |
-
msgid "ID"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: ../admin/
|
841 |
-
msgid "
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: ../admin/
|
845 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
846 |
msgstr ""
|
847 |
|
848 |
#: ../admin/manage.php:64
|
849 |
#: ../admin/manage.php:85
|
|
|
850 |
msgid "deleted successfully"
|
851 |
msgstr ""
|
852 |
|
@@ -866,156 +792,180 @@ msgstr ""
|
|
866 |
msgid "Pictures deleted successfully "
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: ../admin/manage.php:
|
870 |
-
msgid "
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: ../admin/manage.php:
|
874 |
-
msgid "
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: ../admin/manage.php:
|
878 |
-
msgid "
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: ../admin/manage.php:
|
882 |
msgid "New gallery page ID"
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: ../admin/manage.php:
|
886 |
msgid "created"
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: ../admin/manage.php:
|
|
|
890 |
msgid "Gallery Overview"
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: ../admin/manage.php:
|
894 |
#: ../admin/myimport.php:50
|
|
|
895 |
msgid "Gallery name"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: ../admin/manage.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
899 |
#: ../admin/myimport.php:53
|
|
|
900 |
msgid "Page ID"
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: ../admin/manage.php:
|
904 |
#: ../admin/myimport.php:54
|
|
|
905 |
msgid "Quantity"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: ../admin/manage.php:
|
909 |
-
#: ../admin/manage.php:
|
910 |
#: ../admin/myimport.php:55
|
|
|
911 |
msgid "Action"
|
912 |
msgstr ""
|
913 |
|
914 |
-
#: ../admin/manage.php:
|
915 |
-
#: ../
|
|
|
916 |
msgid "Edit"
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: ../admin/manage.php:
|
|
|
920 |
msgid "Delete this gallery ?"
|
921 |
msgstr ""
|
922 |
|
923 |
-
#: ../admin/manage.php:
|
924 |
-
#: ../admin/manage.php:
|
925 |
#: ../admin/myimport.php:79
|
|
|
|
|
926 |
msgid "No entries found"
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: ../admin/manage.php:
|
|
|
930 |
msgid "Main settings"
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: ../admin/manage.php:
|
|
|
934 |
msgid "Page Link to"
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: ../admin/manage.php:
|
|
|
938 |
msgid "Not linked"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: ../admin/manage.php:
|
|
|
942 |
msgid "Preview image"
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: ../admin/manage.php:
|
|
|
946 |
msgid "No Picture"
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: ../admin/manage.php:
|
|
|
950 |
msgid "Path"
|
951 |
msgstr ""
|
952 |
|
953 |
-
#: ../admin/manage.php:
|
|
|
954 |
msgid "Create new page"
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: ../admin/manage.php:
|
|
|
958 |
msgid "Main page (No parent)"
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: ../admin/manage.php:
|
|
|
962 |
msgid "Add page"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: ../admin/manage.php:
|
|
|
966 |
msgid "Scan Folder for new images"
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: ../admin/manage.php:
|
970 |
-
#: ../admin/manage.php:
|
|
|
971 |
msgid "Save Changes"
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: ../admin/manage.php:
|
975 |
msgid "No action"
|
976 |
msgstr ""
|
977 |
|
978 |
-
#: ../admin/manage.php:
|
979 |
-
msgid "
|
980 |
-
msgstr ""
|
981 |
-
|
982 |
-
#: ../admin/manage.php:511
|
983 |
-
msgid "Create new thumbnails"
|
984 |
-
msgstr ""
|
985 |
-
|
986 |
-
#: ../admin/manage.php:512
|
987 |
-
msgid "Resize images"
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: ../admin/manage.php:
|
991 |
-
msgid "
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: ../admin/manage.php:
|
995 |
msgid "Add tags"
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: ../admin/manage.php:
|
999 |
msgid "Delete tags"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: ../admin/manage.php:
|
1003 |
msgid "Overwrite tags"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: ../admin/manage.php:
|
1007 |
-
#: ../admin/manage.php:
|
1008 |
-
#: ../admin/manage.php:
|
1009 |
msgid "OK"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#: ../admin/manage.php:
|
1013 |
-
#: ../admin/manage.php:
|
1014 |
msgid "No images selected"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
-
#: ../admin/manage.php:
|
1018 |
-
#: ../admin/manage.php:
|
1019 |
#, php-format
|
1020 |
msgid ""
|
1021 |
"You are about to start the bulk edit for %s images \n"
|
@@ -1023,55 +973,71 @@ msgid ""
|
|
1023 |
" 'Cancel' to stop, 'OK' to proceed."
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: ../admin/manage.php:
|
1027 |
msgid "Hide thumbnails "
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: ../admin/manage.php:
|
1031 |
msgid "Show thumbnails "
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: ../admin/manage.php:
|
1035 |
-
msgid "Show tags"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1036 |
msgstr ""
|
1037 |
|
1038 |
#: ../admin/manage.php:526
|
1039 |
-
|
|
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: ../admin/manage.php:
|
1043 |
-
#: ../admin/
|
1044 |
-
|
|
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: ../admin/manage.php:
|
1048 |
msgid "exclude"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: ../admin/manage.php:
|
1052 |
msgid "Tags (comma separated list)"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: ../admin/manage.php:
|
1056 |
msgid "View"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: ../admin/manage.php:
|
1060 |
msgid "Show Meta data"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: ../admin/manage.php:
|
1064 |
msgid "Meta"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: ../admin/manage.php:
|
1068 |
msgid "Delete this file ?"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: ../admin/manage.php:
|
1072 |
msgid "Enter the tags"
|
1073 |
msgstr ""
|
1074 |
|
|
|
|
|
|
|
|
|
|
|
1075 |
#: ../admin/myimport.php:35
|
1076 |
msgid "Gallery "
|
1077 |
msgstr ""
|
@@ -1113,142 +1079,172 @@ msgstr ""
|
|
1113 |
msgid "Download here"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: ../admin/overview.php:
|
1117 |
msgid "Server Settings"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: ../admin/overview.php:
|
1121 |
msgid "Welcome"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: ../admin/overview.php:
|
1125 |
msgid "gallery administrator"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: ../admin/overview.php:
|
1129 |
msgid "gallery editor"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: ../admin/overview.php:
|
1133 |
#, php-format
|
1134 |
msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
|
1135 |
msgstr ""
|
1136 |
|
1137 |
-
#: ../admin/overview.php:
|
1138 |
msgid "Add a new gallery or import pictures"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
-
#: ../admin/overview.php:
|
1142 |
msgid "Manage galleries and images"
|
1143 |
msgstr ""
|
1144 |
|
1145 |
-
#: ../admin/overview.php:
|
1146 |
msgid "Create and manage albums"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
-
#: ../admin/overview.php:
|
1150 |
msgid "Change the settings of NextGEN Gallery"
|
1151 |
msgstr ""
|
1152 |
|
1153 |
-
#: ../admin/overview.php:
|
1154 |
msgid "Latest News"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
-
#: ../admin/overview.php:
|
1158 |
#, php-format
|
1159 |
msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: ../admin/overview.php:
|
1163 |
msgid "GD support"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: ../admin/overview.php:
|
1167 |
msgid "No GD support"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
-
#: ../admin/overview.php:
|
|
|
|
|
|
|
1171 |
msgid "Yes"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
-
#: ../admin/overview.php:
|
|
|
|
|
|
|
1175 |
msgid "No"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: ../admin/overview.php:
|
1179 |
msgid "Not set"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: ../admin/overview.php:
|
1183 |
-
#: ../admin/overview.php:
|
1184 |
msgid "On"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: ../admin/overview.php:
|
1188 |
-
#: ../admin/overview.php:
|
1189 |
msgid "Off"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
-
#: ../admin/overview.php:
|
1193 |
-
#: ../admin/overview.php:
|
1194 |
-
#: ../admin/overview.php:
|
1195 |
-
#: ../admin/overview.php:
|
1196 |
-
#: ../admin/overview.php:
|
1197 |
msgid "N/A"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
-
#: ../admin/overview.php:
|
1201 |
msgid " MByte"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
-
#: ../admin/overview.php:
|
1205 |
msgid "Operating System"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: ../admin/overview.php:
|
1209 |
msgid "Server"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: ../admin/overview.php:
|
1213 |
msgid "Memory usage"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
-
#: ../admin/overview.php:
|
1217 |
msgid "MYSQL Version"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: ../admin/overview.php:
|
1221 |
msgid "SQL Mode"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
-
#: ../admin/overview.php:
|
1225 |
msgid "PHP Version"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: ../admin/overview.php:
|
1229 |
msgid "PHP Safe Mode"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: ../admin/overview.php:
|
1233 |
msgid "PHP Allow URL fopen"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: ../admin/overview.php:
|
1237 |
msgid "PHP Memory Limit"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: ../admin/overview.php:
|
1241 |
msgid "PHP Max Upload Size"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: ../admin/overview.php:
|
1245 |
msgid "PHP Max Post Size"
|
1246 |
msgstr ""
|
1247 |
|
1248 |
-
#: ../admin/overview.php:
|
1249 |
msgid "PHP Max Script Execute Time"
|
1250 |
msgstr ""
|
1251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1252 |
#: ../admin/roles.php:20
|
1253 |
msgid "Updated capabilities"
|
1254 |
msgstr ""
|
@@ -1299,468 +1295,522 @@ msgstr ""
|
|
1299 |
|
1300 |
#: ../admin/settings.php:29
|
1301 |
#: ../admin/style.php:16
|
|
|
1302 |
msgid "Update successfully"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
-
#: ../admin/settings.php:
|
1306 |
-
|
1307 |
-
msgid "General Options"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
-
#: ../admin/settings.php:
|
1311 |
-
#: ../admin/settings.php:
|
1312 |
-
msgid "
|
1313 |
msgstr ""
|
1314 |
|
1315 |
-
#: ../admin/settings.php:
|
1316 |
msgid "Images"
|
1317 |
msgstr ""
|
1318 |
|
1319 |
-
#: ../admin/settings.php:
|
1320 |
-
#: ../admin/settings.php:
|
1321 |
msgid "Effects"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1325 |
msgid "Gallery path"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: ../admin/settings.php:
|
1329 |
msgid "This is the default path for all galleries"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: ../admin/settings.php:
|
1333 |
msgid "Delete image files"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: ../admin/settings.php:
|
1337 |
msgid "Delete files, when removing a gallery in the database"
|
1338 |
msgstr ""
|
1339 |
|
1340 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1341 |
msgid "Tags / Categories"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: ../admin/settings.php:
|
1345 |
msgid "Activate related images"
|
1346 |
msgstr ""
|
1347 |
|
1348 |
-
#: ../admin/settings.php:
|
1349 |
msgid "This option will append related images to every post"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: ../admin/settings.php:
|
1353 |
msgid "Match with"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: ../admin/settings.php:
|
1357 |
msgid "Categories"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: ../admin/settings.php:
|
1361 |
-
#: ../lib/nggmeta.lib.php:
|
1362 |
msgid "Tags"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: ../admin/settings.php:
|
1366 |
msgid " (require WordPress 2.3 or higher)"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: ../admin/settings.php:
|
1370 |
msgid "Max. number of images"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: ../admin/settings.php:
|
1374 |
msgid "0 will show all images"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: ../admin/settings.php:
|
1378 |
msgid "Thumbnail settings"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: ../admin/settings.php:
|
1382 |
msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: ../admin/settings.php:
|
1386 |
msgid "Width x height (in pixel)"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: ../admin/settings.php:
|
1390 |
msgid "These values are maximum values "
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: ../admin/settings.php:
|
1394 |
msgid "Set fix dimension"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: ../admin/settings.php:
|
1398 |
msgid "Ignore the aspect ratio, no portrait thumbnails"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: ../admin/settings.php:
|
1402 |
msgid "Crop square thumbnail from image"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: ../admin/settings.php:
|
1406 |
msgid "Create square thumbnails, use only the width setting :"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
-
#: ../admin/settings.php:
|
1410 |
msgid "Thumbnail quality"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
-
#: ../admin/settings.php:
|
1414 |
-
#: ../admin/settings.php:
|
1415 |
msgid "Resample Mode"
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: ../admin/settings.php:
|
1419 |
-
#: ../admin/settings.php:
|
1420 |
msgid "Value between 1-5 (higher value, more CPU load)"
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#: ../admin/settings.php:
|
1424 |
msgid "Image settings"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: ../admin/settings.php:
|
1428 |
msgid "Resize Images"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: ../admin/settings.php:
|
1432 |
msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: ../admin/settings.php:
|
1436 |
msgid "Image quality"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1440 |
msgid "Gallery settings"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: ../admin/settings.php:
|
1444 |
msgid "Activate jQuery navigation"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: ../admin/settings.php:
|
1448 |
msgid "Please note : This is still experimental. Requires the Thickbox effect"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: ../admin/settings.php:
|
1452 |
msgid "Deactivate gallery page link"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
-
#: ../admin/settings.php:
|
1456 |
msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
|
1457 |
msgstr ""
|
1458 |
|
1459 |
-
#: ../admin/settings.php:
|
1460 |
msgid "Number of images per page"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
-
#: ../admin/settings.php:
|
1464 |
msgid "0 will disable pagination, all images on one page"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
-
#: ../admin/settings.php:
|
1468 |
msgid "Integrate slideshow"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
-
#: ../admin/settings.php:
|
1472 |
msgid "Show first"
|
1473 |
msgstr ""
|
1474 |
|
1475 |
-
#: ../admin/settings.php:
|
1476 |
msgid "Show thumbnail description"
|
1477 |
msgstr ""
|
1478 |
|
1479 |
-
#: ../admin/settings.php:
|
1480 |
-
#: ../admin/settings.php:
|
1481 |
-
#: ../js/
|
1482 |
msgid "None"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: ../admin/settings.php:
|
1486 |
msgid "Description text"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: ../admin/settings.php:
|
1490 |
-
#: ../admin/settings.php:
|
1491 |
msgid "Alt / Title text"
|
1492 |
msgstr ""
|
1493 |
|
1494 |
-
#: ../admin/settings.php:
|
1495 |
msgid "Show ImageBrowser"
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: ../admin/settings.php:
|
1499 |
msgid "The gallery will open the ImageBrowser instead the effect."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
-
#: ../admin/settings.php:
|
1503 |
msgid "Sort options"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
-
#: ../admin/settings.php:
|
1507 |
msgid "Sort thumbnails"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
-
#: ../admin/settings.php:
|
1511 |
msgid "Image ID"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
-
#: ../admin/settings.php:
|
1515 |
msgid "Sort direction"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
-
#: ../admin/settings.php:
|
1519 |
msgid "Ascending"
|
1520 |
msgstr ""
|
1521 |
|
1522 |
-
#: ../admin/settings.php:
|
1523 |
msgid "Descending"
|
1524 |
msgstr ""
|
1525 |
|
1526 |
-
#: ../admin/settings.php:
|
1527 |
msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
|
1528 |
msgstr ""
|
1529 |
|
1530 |
-
#: ../admin/settings.php:
|
1531 |
msgid "With the placeholder"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: ../admin/settings.php:
|
1535 |
msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
|
1536 |
msgstr ""
|
1537 |
|
1538 |
-
#: ../admin/settings.php:
|
1539 |
msgid "JavaScript Thumbnail effect"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: ../admin/settings.php:
|
1543 |
msgid "Thickbox"
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#: ../admin/settings.php:
|
1547 |
msgid "Lightbox"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#: ../admin/settings.php:
|
1551 |
msgid "Highslide"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: ../admin/settings.php:
|
1555 |
msgid "Shutter"
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#: ../admin/settings.php:
|
1559 |
msgid "Custom"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#: ../admin/settings.php:
|
1563 |
msgid "Link Code line"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#: ../admin/settings.php:
|
1567 |
msgid "Select loading image"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#: ../admin/settings.php:
|
1571 |
msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: ../admin/settings.php:
|
1575 |
msgid "Preview"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#: ../admin/settings.php:
|
1579 |
-
#: ../admin/settings.php:
|
1580 |
msgid "Position"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
-
#: ../admin/settings.php:
|
1584 |
msgid "Offset"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
-
#: ../admin/settings.php:
|
1588 |
msgid "Use image as watermark"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
-
#: ../admin/settings.php:
|
1592 |
msgid "URL to file"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
-
#: ../admin/settings.php:
|
1596 |
msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
-
#: ../admin/settings.php:
|
1600 |
msgid "Use text as watermark"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
-
#: ../admin/settings.php:
|
1604 |
msgid "Font"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
1608 |
msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
-
#: ../admin/settings.php:
|
1612 |
msgid "Size"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: ../admin/settings.php:
|
1616 |
msgid "Color"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: ../admin/settings.php:
|
1620 |
msgid "(hex w/o #)"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
-
#: ../admin/settings.php:
|
1624 |
msgid "Text"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
-
#: ../admin/settings.php:
|
1628 |
msgid "Opaque"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: ../admin/settings.php:
|
1632 |
msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: ../admin/settings.php:
|
1636 |
msgid "The settings are used in the JW Image Rotator Version 3.9 ."
|
1637 |
msgstr ""
|
1638 |
|
1639 |
-
#: ../admin/settings.php:
|
1640 |
msgid "See more information for the Flash Player on the web page"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
-
#: ../admin/settings.php:
|
1644 |
msgid "Default size (W x H)"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: ../admin/settings.php:
|
1648 |
msgid "Shuffle mode"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: ../admin/settings.php:
|
1652 |
msgid "Show next image on click"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
-
#: ../admin/settings.php:
|
1656 |
msgid "Show navigation bar"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: ../admin/settings.php:
|
1660 |
msgid "Show loading icon"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
-
#: ../admin/settings.php:
|
1664 |
msgid "Use watermark logo"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
-
#: ../admin/settings.php:
|
1668 |
msgid "You can change the logo at the watermark settings"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
-
#: ../admin/settings.php:
|
1672 |
msgid "Stretch image"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
-
#: ../admin/settings.php:
|
1676 |
msgid "true"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: ../admin/settings.php:
|
1680 |
msgid "false"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: ../admin/settings.php:
|
1684 |
msgid "fit"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: ../admin/settings.php:
|
|
|
|
|
|
|
|
|
1688 |
msgid "Duration time"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: ../admin/settings.php:
|
1692 |
msgid "sec."
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: ../admin/settings.php:
|
1696 |
msgid "Transition / Fade effect"
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#: ../admin/settings.php:
|
1700 |
msgid "fade"
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#: ../admin/settings.php:
|
1704 |
msgid "bgfade"
|
1705 |
msgstr ""
|
1706 |
|
1707 |
-
#: ../admin/settings.php:
|
1708 |
msgid "slowfade"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#: ../admin/settings.php:
|
1712 |
msgid "circles"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: ../admin/settings.php:
|
1716 |
msgid "bubbles"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#: ../admin/settings.php:
|
1720 |
msgid "blocks"
|
1721 |
msgstr ""
|
1722 |
|
1723 |
-
#: ../admin/settings.php:
|
1724 |
msgid "fluids"
|
1725 |
msgstr ""
|
1726 |
|
1727 |
-
#: ../admin/settings.php:
|
1728 |
msgid "flash"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
-
#: ../admin/settings.php:
|
1732 |
msgid "lines"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
-
#: ../admin/settings.php:
|
1736 |
-
msgid "random"
|
1737 |
-
msgstr ""
|
1738 |
-
|
1739 |
-
#: ../admin/settings.php:520
|
1740 |
msgid "Use slow zooming effect"
|
1741 |
msgstr ""
|
1742 |
|
1743 |
-
#: ../admin/settings.php:
|
1744 |
msgid "Background Color"
|
1745 |
msgstr ""
|
1746 |
|
1747 |
-
#: ../admin/settings.php:
|
1748 |
msgid "Texts / Buttons Color"
|
1749 |
msgstr ""
|
1750 |
|
1751 |
-
#: ../admin/settings.php:
|
1752 |
msgid "Rollover / Active Color"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
-
#: ../admin/settings.php:
|
1756 |
msgid "Background music (URL)"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
-
#: ../admin/settings.php:
|
1760 |
msgid "Try XHTML validation (with CDATA)"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
-
#: ../admin/settings.php:
|
1764 |
msgid "Important : Could causes problem at some browser. Please recheck your page."
|
1765 |
msgstr ""
|
1766 |
|
@@ -1791,35 +1841,35 @@ msgid ""
|
|
1791 |
"Choose [Cancel] to Stop, [OK] to proceed.\\n"
|
1792 |
msgstr ""
|
1793 |
|
1794 |
-
#: ../admin/setup.php:
|
1795 |
msgid "Uninstall plugin tables"
|
1796 |
msgstr ""
|
1797 |
|
1798 |
-
#: ../admin/setup.php:
|
1799 |
msgid "You don't like NextGEN Gallery ?"
|
1800 |
msgstr ""
|
1801 |
|
1802 |
-
#: ../admin/setup.php:
|
1803 |
msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
|
1804 |
msgstr ""
|
1805 |
|
1806 |
-
#: ../admin/setup.php:
|
1807 |
msgid "WARNING:"
|
1808 |
msgstr ""
|
1809 |
|
1810 |
-
#: ../admin/setup.php:
|
1811 |
msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
|
1812 |
msgstr ""
|
1813 |
|
1814 |
-
#: ../admin/setup.php:
|
1815 |
msgid "and"
|
1816 |
msgstr ""
|
1817 |
|
1818 |
-
#: ../admin/setup.php:
|
1819 |
msgid "Uninstall plugin"
|
1820 |
msgstr ""
|
1821 |
|
1822 |
-
#: ../admin/setup.php:
|
1823 |
msgid ""
|
1824 |
"You are about to Uninstall this plugin from WordPress.\\n"
|
1825 |
"This action is not reversible.\\n"
|
@@ -1876,205 +1926,350 @@ msgstr ""
|
|
1876 |
msgid "Activate"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#: ../admin/style.php:
|
1880 |
#, php-format
|
1881 |
msgid "Editing <strong>%s</strong>"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: ../admin/style.php:
|
1885 |
#, php-format
|
1886 |
msgid "Browsing <strong>%s</strong>"
|
1887 |
msgstr ""
|
1888 |
|
1889 |
-
#: ../admin/style.php:
|
1890 |
-
#: ../lib/nggmeta.lib.php:
|
1891 |
msgid "Author"
|
1892 |
msgstr ""
|
1893 |
|
1894 |
-
#: ../admin/style.php:
|
1895 |
msgid "Version"
|
1896 |
msgstr ""
|
1897 |
|
1898 |
-
#: ../admin/style.php:
|
1899 |
msgid "Update File »"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#: ../admin/style.php:
|
1903 |
msgid "If this file were writable you could edit it."
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: ../admin/style.php:
|
1907 |
msgid "Oops, no such file exists! Double check the name and try again, merci."
|
1908 |
msgstr ""
|
1909 |
|
1910 |
-
#: ../
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1914 |
msgid "Browse your files"
|
1915 |
msgstr ""
|
1916 |
|
1917 |
-
#: ../js/
|
1918 |
-
#: ../js/
|
1919 |
-
#: ../js/
|
1920 |
-
#: ../js/
|
1921 |
msgid "« Back"
|
1922 |
msgstr ""
|
1923 |
|
1924 |
-
#: ../js/
|
1925 |
-
#: ../js/
|
1926 |
msgid "Direct link to file"
|
1927 |
msgstr ""
|
1928 |
|
1929 |
-
#: ../js/
|
1930 |
msgid "Full size"
|
1931 |
msgstr ""
|
1932 |
|
1933 |
-
#: ../js/
|
1934 |
msgid "Show:"
|
1935 |
msgstr ""
|
1936 |
|
1937 |
-
#: ../js/
|
1938 |
msgid "Link to:"
|
1939 |
msgstr ""
|
1940 |
|
1941 |
-
#: ../js/
|
1942 |
msgid "File"
|
1943 |
msgstr ""
|
1944 |
|
1945 |
-
#: ../js/
|
1946 |
msgid "Send to editor »"
|
1947 |
msgstr ""
|
1948 |
|
1949 |
-
#: ../js/
|
|
|
|
|
|
|
|
|
|
|
1950 |
msgid "Save »"
|
1951 |
msgstr ""
|
1952 |
|
1953 |
-
#: ../js/
|
1954 |
#, php-format
|
1955 |
msgid ""
|
1956 |
"Are you sure you want to delete the file '%s'?\n"
|
1957 |
"Click ok to delete or cancel to go back."
|
1958 |
msgstr ""
|
1959 |
|
1960 |
-
#: ../lib/nggmeta.lib.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1961 |
msgid "Aperture"
|
1962 |
msgstr ""
|
1963 |
|
1964 |
-
#: ../lib/nggmeta.lib.php:
|
1965 |
-
#: ../lib/nggmeta.lib.php:
|
1966 |
msgid "Credit"
|
1967 |
msgstr ""
|
1968 |
|
1969 |
-
#: ../lib/nggmeta.lib.php:
|
1970 |
msgid "Camera"
|
1971 |
msgstr ""
|
1972 |
|
1973 |
-
#: ../lib/nggmeta.lib.php:
|
1974 |
msgid "Caption"
|
1975 |
msgstr ""
|
1976 |
|
1977 |
-
#: ../lib/nggmeta.lib.php:
|
1978 |
msgid "Date/Time"
|
1979 |
msgstr ""
|
1980 |
|
1981 |
-
#: ../lib/nggmeta.lib.php:
|
1982 |
msgid "Copyright"
|
1983 |
msgstr ""
|
1984 |
|
1985 |
-
#: ../lib/nggmeta.lib.php:
|
1986 |
msgid "Focal length"
|
1987 |
msgstr ""
|
1988 |
|
1989 |
-
#: ../lib/nggmeta.lib.php:
|
1990 |
msgid "ISO"
|
1991 |
msgstr ""
|
1992 |
|
1993 |
-
#: ../lib/nggmeta.lib.php:
|
1994 |
msgid "Shutter speed"
|
1995 |
msgstr ""
|
1996 |
|
1997 |
-
#: ../lib/nggmeta.lib.php:
|
1998 |
-
msgid "Titel"
|
1999 |
-
msgstr ""
|
2000 |
-
|
2001 |
-
#: ../lib/nggmeta.lib.php:318
|
2002 |
msgid "Subject"
|
2003 |
msgstr ""
|
2004 |
|
2005 |
-
#: ../lib/nggmeta.lib.php:
|
2006 |
msgid "Make"
|
2007 |
msgstr ""
|
2008 |
|
2009 |
-
#: ../lib/nggmeta.lib.php:
|
2010 |
msgid "Edit Status"
|
2011 |
msgstr ""
|
2012 |
|
2013 |
-
#: ../lib/nggmeta.lib.php:
|
2014 |
msgid "Category"
|
2015 |
msgstr ""
|
2016 |
|
2017 |
-
#: ../lib/nggmeta.lib.php:
|
2018 |
msgid "Keywords"
|
2019 |
msgstr ""
|
2020 |
|
2021 |
-
#: ../lib/nggmeta.lib.php:
|
2022 |
msgid "Date Created"
|
2023 |
msgstr ""
|
2024 |
|
2025 |
-
#: ../lib/nggmeta.lib.php:
|
2026 |
msgid "Time Created"
|
2027 |
msgstr ""
|
2028 |
|
2029 |
-
#: ../lib/nggmeta.lib.php:
|
2030 |
msgid "Author Position"
|
2031 |
msgstr ""
|
2032 |
|
2033 |
-
#: ../lib/nggmeta.lib.php:
|
2034 |
msgid "City"
|
2035 |
msgstr ""
|
2036 |
|
2037 |
-
#: ../lib/nggmeta.lib.php:
|
2038 |
msgid "Location"
|
2039 |
msgstr ""
|
2040 |
|
2041 |
-
#: ../lib/nggmeta.lib.php:
|
2042 |
msgid "Province/State"
|
2043 |
msgstr ""
|
2044 |
|
2045 |
-
#: ../lib/nggmeta.lib.php:
|
2046 |
msgid "Country code"
|
2047 |
msgstr ""
|
2048 |
|
2049 |
-
#: ../lib/nggmeta.lib.php:
|
2050 |
msgid "Country"
|
2051 |
msgstr ""
|
2052 |
|
2053 |
-
#: ../lib/nggmeta.lib.php:
|
2054 |
msgid "Headline"
|
2055 |
msgstr ""
|
2056 |
|
2057 |
-
#: ../lib/nggmeta.lib.php:
|
2058 |
msgid "Source"
|
2059 |
msgstr ""
|
2060 |
|
2061 |
-
#: ../lib/nggmeta.lib.php:
|
2062 |
msgid "Copyright Notice"
|
2063 |
msgstr ""
|
2064 |
|
2065 |
-
#: ../lib/nggmeta.lib.php:
|
2066 |
msgid "Contact"
|
2067 |
msgstr ""
|
2068 |
|
2069 |
-
#: ../lib/nggmeta.lib.php:
|
2070 |
msgid "Last modified"
|
2071 |
msgstr ""
|
2072 |
|
2073 |
-
#: ../lib/nggmeta.lib.php:
|
2074 |
msgid "Program tool"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
-
#: ../lib/nggmeta.lib.php:
|
2078 |
msgid "Format"
|
2079 |
msgstr ""
|
2080 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: NextGEN Gallery\n"
|
4 |
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: 2008-01-28 20:12+0100\n"
|
6 |
"Last-Translator: Alex Rabe\n"
|
7 |
"Language-Team: Alex Rabe\n"
|
8 |
"MIME-Version: 1.0\n"
|
15 |
"X-Poedit-SearchPath-0: .\n"
|
16 |
"X-Poedit-SearchPath-1: ..\n"
|
17 |
|
18 |
+
#: ../nggallery.php:175
|
19 |
+
msgid "Sorry, NextGEN Gallery works only under WordPress 2.1 or higher"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
msgstr ""
|
21 |
|
22 |
+
#: ../nggfunctions.php:452
|
23 |
+
#: ../nggfunctions.php:467
|
24 |
+
msgid "Watch gallery"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: ../nggfunctions.php:461
|
28 |
+
#: ../nggfunctions.php:473
|
29 |
+
#: ../nggfunctions.php:750
|
30 |
+
msgid "Photos"
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: ../nggfunctions.php:547
|
34 |
+
msgid "Back"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: ../nggfunctions.php:551
|
38 |
+
msgid "Next"
|
|
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: ../nggfunctions.php:554
|
|
|
42 |
#: ../admin/manage.php:85
|
43 |
+
#: ../tinymce/window.php:37
|
44 |
msgid "Picture"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: ../nggfunctions.php:554
|
48 |
+
msgid "from"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: ../nggfunctions.php:720
|
52 |
+
msgid "Overview"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: ../ngginstall.php:20
|
56 |
+
msgid "Sorry, NextGEN Gallery works only with a role called administrator"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: ../ngginstall.php:143
|
60 |
+
msgid "NextGEN Gallery : Tables could not created, please check your database settings"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: ../ngginstall.php:183
|
64 |
msgid "[Show as slideshow]"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: ../ngginstall.php:184
|
68 |
msgid "[Show picture list]"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: ../nggwidget.php:118
|
72 |
msgid "Title:"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: ../nggwidget.php:119
|
76 |
msgid "Select Gallery:"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: ../nggwidget.php:123
|
80 |
msgid "All images"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: ../nggwidget.php:133
|
84 |
msgid "Height:"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: ../nggwidget.php:134
|
88 |
msgid "Width:"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: ../nggwidget.php:188
|
92 |
+
#, php-format
|
93 |
+
msgid "NextGEN Gallery %d"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../nggwidget.php:204
|
97 |
+
msgid "NextGEN Gallery Widgets"
|
|
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../nggwidget.php:205
|
101 |
+
msgid "How many NextGEN Gallery widgets would you like?"
|
|
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: ../nggwidget.php:209
|
105 |
+
#: ../admin/uploadtab.php:193
|
106 |
+
msgid "Save"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: ../nggwidget.php:301
|
110 |
+
msgid "Title :"
|
|
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: ../nggwidget.php:306
|
114 |
+
msgid "Show :"
|
|
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: ../nggwidget.php:311
|
118 |
+
#: ../admin/settings.php:100
|
119 |
+
#: ../admin/settings.php:295
|
120 |
+
msgid "Thumbnails"
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: ../nggwidget.php:312
|
124 |
+
msgid "Orginal images"
|
|
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: ../nggwidget.php:318
|
128 |
+
#: ../admin/settings.php:558
|
129 |
+
msgid "random"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: ../nggwidget.php:319
|
133 |
+
msgid "recent added "
|
|
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: ../nggwidget.php:323
|
137 |
+
msgid "Width x Height :"
|
|
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: ../nggwidget.php:329
|
141 |
+
msgid "Select :"
|
|
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: ../nggwidget.php:331
|
145 |
+
msgid "All galleries"
|
|
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: ../nggwidget.php:332
|
|
|
149 |
msgid "Only which are not listed"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: ../nggwidget.php:333
|
|
|
153 |
msgid "Only which are listed"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: ../nggwidget.php:338
|
157 |
+
msgid "Gallery ID :"
|
|
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: ../nggwidget.php:340
|
161 |
+
msgid "Gallery IDs, separated by commas."
|
162 |
msgstr ""
|
163 |
|
164 |
#: ../admin/about.php:9
|
170 |
msgstr ""
|
171 |
|
172 |
#: ../admin/about.php:12
|
173 |
+
msgid "This plugin is primarily developed, maintained, supported, documented by"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: ../admin/about.php:12
|
177 |
+
msgid "There are many other folks who have made contributions to this project :"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: ../admin/about.php:14
|
181 |
msgid "Contributors / Tribute to"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: ../admin/about.php:15
|
185 |
msgid "If you study the code of this plugin, you will find out that we mixed a lot of good already existing code and ideas together."
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: ../admin/about.php:16
|
189 |
msgid "So, we would like to thank the following people for their pioneer work (without this work it's impossible to create such a plugin so fast)"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: ../admin/about.php:18
|
193 |
msgid "for their great documented code"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: ../admin/about.php:19
|
197 |
msgid "for jQuery, which is the best Web2.0 framework"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: ../admin/about.php:20
|
201 |
msgid "for the fantastic PHP Thumbnail Class"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: ../admin/about.php:21
|
205 |
msgid "for PclZip , a PHP library that manage ZIP archives"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: ../admin/about.php:22
|
209 |
msgid "for a lot of very useful plugins and ideas"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: ../admin/about.php:23
|
213 |
msgid "for RS-Discuss, it saved me a lot of time"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: ../admin/about.php:24
|
217 |
msgid "for the best Media Flash Scripts on earth"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: ../admin/about.php:25
|
221 |
msgid "for the Watermark plugin"
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: ../admin/about.php:27
|
225 |
msgid "If you didn't find your name on this list and there is some code which I integrate in my plugin, don't hesitate to send me a mail."
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: ../admin/about.php:28
|
229 |
msgid "How to support ?"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: ../admin/about.php:29
|
233 |
msgid "There exist several ways to contribute, help or support us in this work. Non of them are mandatory."
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: ../admin/about.php:31
|
237 |
msgid "Send us bugfixes / code changes"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: ../admin/about.php:31
|
241 |
msgid "The most motivated support for this plugin are your ideas and brain work"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: ../admin/about.php:32
|
245 |
msgid "Translate the plugin"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: ../admin/about.php:32
|
249 |
msgid "To help people to work with this plugin, I would like to have it in all avaivable languages"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: ../admin/about.php:33
|
253 |
msgid "Donate the work via paypal"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: ../admin/about.php:44
|
257 |
msgid "No doubt a very usefull and easy motivation :-)"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: ../admin/about.php:46
|
261 |
msgid "Place a link to the plugin in your blog/webpage"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: ../admin/about.php:46
|
265 |
msgid "Yes, share and trackback is also a good support for this work "
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: ../admin/about.php:48
|
269 |
msgid "Thanks!"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: ../admin/about.php:49
|
273 |
msgid "We would like to thank this people which support us in the work :"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: ../admin/addgallery.php:35
|
277 |
+
#: ../admin/addgallery.php:51
|
278 |
msgid "Upload failed!"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: ../admin/addgallery.php:56
|
282 |
+
#: ../admin/functions.php:567
|
283 |
+
#: ../admin/functions.php:635
|
284 |
+
msgid "No gallery selected !"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: ../admin/addgallery.php:103
|
288 |
+
msgid "Image Files"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: ../admin/addgallery.php:121
|
292 |
+
#: ../admin/addgallery.php:151
|
293 |
msgid "remove"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: ../admin/addgallery.php:122
|
297 |
+
msgid "Browse..."
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
#: ../admin/addgallery.php:123
|
301 |
+
#: ../admin/addgallery.php:296
|
302 |
+
msgid "Upload images"
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: ../admin/addgallery.php:167
|
306 |
+
#: ../admin/addgallery.php:179
|
307 |
msgid "Add new gallery"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: ../admin/addgallery.php:169
|
311 |
+
#: ../admin/addgallery.php:200
|
312 |
msgid "Upload a Zip-File"
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: ../admin/addgallery.php:172
|
316 |
+
#: ../admin/addgallery.php:240
|
317 |
msgid "Import image folder"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: ../admin/addgallery.php:174
|
321 |
+
#: ../admin/addgallery.php:264
|
322 |
msgid "Upload Images"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: ../admin/addgallery.php:185
|
326 |
msgid "New Gallery"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: ../admin/addgallery.php:188
|
330 |
msgid "Create a new , empty gallery below the folder"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: ../admin/addgallery.php:190
|
334 |
msgid "Allowed characters for file and folder names are"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: ../admin/addgallery.php:193
|
338 |
msgid "Add gallery"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: ../admin/addgallery.php:206
|
342 |
msgid "Select Zip-File"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: ../admin/addgallery.php:208
|
346 |
msgid "Upload a zip file with images"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: ../admin/addgallery.php:211
|
350 |
+
#: ../admin/addgallery.php:274
|
351 |
msgid "in to"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: ../admin/addgallery.php:213
|
355 |
msgid "a new gallery"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: ../admin/addgallery.php:223
|
359 |
+
#: ../admin/addgallery.php:286
|
360 |
msgid "Note : The upload limit on your server is "
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: ../admin/addgallery.php:227
|
364 |
+
#: ../admin/addgallery.php:252
|
365 |
+
#: ../admin/addgallery.php:290
|
366 |
+
msgid "Add Metadata :"
|
367 |
+
msgstr ""
|
368 |
+
|
369 |
+
#: ../admin/addgallery.php:229
|
370 |
+
#: ../admin/addgallery.php:254
|
371 |
+
#: ../admin/addgallery.php:292
|
372 |
+
msgid "Import EXIF, IPTC or XMP data (if available)"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: ../admin/addgallery.php:232
|
376 |
msgid "Start upload"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: ../admin/addgallery.php:246
|
380 |
msgid "Import from Server path:"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: ../admin/addgallery.php:248
|
384 |
msgid "Import a folder with images. Please note :"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: ../admin/addgallery.php:249
|
388 |
+
msgid "For safe-mode = ON you need to add the subfolder thumbs manually"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: ../admin/addgallery.php:257
|
392 |
msgid "Import folder"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: ../admin/addgallery.php:270
|
396 |
msgid "Upload image"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: ../admin/addgallery.php:276
|
400 |
msgid "Choose gallery"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: ../admin/admin.php:54
|
404 |
+
#: ../admin/functions.php:72
|
405 |
+
#: ../admin/functions.php:76
|
406 |
+
#: ../admin/functions.php:123
|
407 |
+
#: ../admin/manage.php:64
|
408 |
+
#: ../admin/manage.php:424
|
409 |
+
#: ../admin/settings.php:102
|
410 |
+
#: ../admin/uploadtab.php:36
|
411 |
+
#: ../admin/_manage.php:182
|
412 |
+
#: ../admin/_manage.php:991
|
413 |
+
#: ../tinymce/window.php:35
|
414 |
+
msgid "Gallery"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: ../admin/admin.php:55
|
418 |
+
msgid "Add Gallery"
|
419 |
msgstr ""
|
420 |
|
421 |
+
#: ../admin/admin.php:56
|
422 |
+
msgid "Manage Gallery"
|
|
|
|
|
|
|
|
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: ../admin/admin.php:57
|
426 |
+
#: ../tinymce/window.php:36
|
427 |
+
msgid "Album"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: ../admin/admin.php:58
|
431 |
+
msgid "Options"
|
|
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: ../admin/admin.php:60
|
435 |
+
msgid "Style"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: ../admin/admin.php:61
|
439 |
+
msgid "Setup Gallery"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: ../admin/admin.php:61
|
443 |
+
msgid "Setup"
|
|
|
|
|
|
|
|
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: ../admin/admin.php:63
|
447 |
+
msgid "Roles"
|
|
|
|
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: ../admin/admin.php:65
|
451 |
+
#: ../admin/myimport.php:74
|
452 |
+
msgid "Import"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: ../admin/admin.php:66
|
456 |
+
msgid "About this Gallery"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: ../admin/admin.php:66
|
460 |
+
msgid "About"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: ../admin/admin.php:68
|
464 |
+
msgid "NextGEN Gallery"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: ../admin/album.php:17
|
468 |
+
#: ../admin/album.php:36
|
469 |
+
msgid "Update Successfully"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: ../admin/album.php:44
|
473 |
+
msgid "Album deleted"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: ../admin/album.php:123
|
477 |
+
msgid "Manage Albums"
|
|
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: ../admin/album.php:129
|
481 |
+
#: ../tinymce/window.php:74
|
482 |
+
msgid "Select album"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: ../admin/album.php:132
|
486 |
+
msgid "No album selected"
|
|
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: ../admin/album.php:145
|
490 |
+
msgid "Add new album"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: ../admin/album.php:149
|
494 |
+
#: ../admin/manage.php:302
|
495 |
+
#: ../admin/manage.php:568
|
496 |
+
#: ../admin/_manage.php:232
|
497 |
+
msgid "Delete"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: ../admin/album.php:149
|
501 |
+
msgid "Delete album ?"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: ../admin/album.php:151
|
505 |
+
#: ../admin/settings.php:167
|
506 |
+
#: ../admin/settings.php:207
|
507 |
+
#: ../admin/settings.php:254
|
508 |
+
#: ../admin/settings.php:329
|
509 |
+
#: ../admin/settings.php:376
|
510 |
+
#: ../admin/settings.php:488
|
511 |
+
#: ../admin/settings.php:591
|
512 |
+
#: ../admin/wpmu.php:98
|
513 |
+
msgid "Update"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: ../admin/album.php:159
|
517 |
+
msgid "[Show all]"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: ../admin/album.php:160
|
521 |
+
msgid "[Maximize]"
|
|
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: ../admin/album.php:161
|
525 |
+
msgid "[Minimize]"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: ../admin/album.php:163
|
529 |
+
msgid "After you create and select a album, you can drag and drop a gallery into your album below"
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: ../admin/album.php:170
|
533 |
+
msgid "Select Gallery"
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: ../admin/album.php:209
|
537 |
+
msgid "Album Page ID"
|
538 |
msgstr ""
|
539 |
|
540 |
+
#: ../admin/album.php:221
|
541 |
+
msgid "No album selected!"
|
542 |
msgstr ""
|
543 |
|
544 |
+
#: ../admin/album.php:257
|
545 |
+
#: ../admin/manage.php:276
|
546 |
+
#: ../admin/manage.php:523
|
547 |
+
#: ../admin/myimport.php:49
|
548 |
+
#: ../admin/_manage.php:206
|
549 |
+
msgid "ID"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: ../admin/album.php:258
|
553 |
+
msgid "Name"
|
|
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: ../admin/album.php:259
|
557 |
+
#: ../admin/manage.php:278
|
558 |
+
#: ../admin/manage.php:436
|
559 |
+
#: ../admin/myimport.php:51
|
560 |
+
#: ../admin/_manage.php:208
|
561 |
+
#: ../admin/_manage.php:1005
|
562 |
+
#: ../admin/js/uploadtab.js.php:109
|
563 |
+
#: ../lib/nggmeta.lib.php:373
|
564 |
+
msgid "Title"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: ../admin/album.php:260
|
568 |
+
msgid "Page"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: ../admin/functions.php:22
|
572 |
+
msgid "No valid gallery name!"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: ../admin/functions.php:29
|
576 |
+
#: ../admin/functions.php:39
|
577 |
+
#: ../admin/functions.php:53
|
578 |
+
#: ../admin/functions.php:96
|
579 |
+
#: ../admin/functions.php:103
|
580 |
+
msgid "Directory"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: ../admin/functions.php:29
|
584 |
+
msgid "didn't exist. Please create first the main gallery folder "
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: ../admin/functions.php:30
|
588 |
+
#: ../admin/functions.php:40
|
589 |
+
msgid "Check this link, if you didn't know how to set the permission :"
|
590 |
msgstr ""
|
591 |
|
592 |
+
#: ../admin/functions.php:39
|
593 |
+
#: ../admin/functions.php:53
|
594 |
+
msgid "is not writeable !"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: ../admin/functions.php:47
|
598 |
+
msgid "Directory "
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: ../admin/functions.php:47
|
602 |
+
msgid "already exists!"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: ../admin/functions.php:51
|
606 |
+
#: ../admin/functions.php:55
|
607 |
+
#: ../admin/functions.php:515
|
608 |
+
#: ../lib/nggallery.lib.php:297
|
609 |
+
msgid "Unable to create directory "
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: ../admin/functions.php:58
|
613 |
+
msgid "The server setting Safe-Mode is on !"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: ../admin/functions.php:59
|
617 |
+
msgid "If you have problems, please create directory"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: ../admin/functions.php:60
|
621 |
+
msgid "and the thumbnails directory"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: ../admin/functions.php:60
|
625 |
+
msgid "with permission 777 manually !"
|
|
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: ../admin/functions.php:72
|
629 |
+
msgid "already exists"
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: ../admin/functions.php:76
|
633 |
+
#: ../admin/functions.php:123
|
634 |
+
msgid "successfully created!"
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: ../admin/functions.php:76
|
638 |
+
msgid "You can show this gallery with the tag"
|
|
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: ../admin/functions.php:96
|
642 |
+
msgid "doesn`t exist!"
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: ../admin/functions.php:103
|
646 |
+
msgid "contains no pictures"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: ../admin/functions.php:120
|
650 |
+
#: ../admin/myimport.php:38
|
651 |
+
msgid "Database error. Could not add gallery!"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: ../admin/functions.php:139
|
655 |
+
msgid " picture(s) successfully added"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: ../admin/functions.php:169
|
659 |
+
#: ../admin/functions.php:216
|
660 |
+
#: ../admin/functions.php:277
|
661 |
+
msgid "Running... Please wait"
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: ../admin/functions.php:170
|
665 |
+
#: ../admin/manage.php:500
|
666 |
+
msgid "Resize images"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: ../admin/functions.php:192
|
670 |
+
msgid " : Image resized..."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: ../admin/functions.php:201
|
674 |
+
#: ../admin/functions.php:256
|
675 |
+
msgid "Some pictures are not writeable :"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: ../admin/functions.php:217
|
679 |
+
#: ../admin/manage.php:498
|
680 |
+
msgid "Set watermark"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: ../admin/functions.php:247
|
684 |
+
msgid " : Watermark created..."
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: ../admin/functions.php:278
|
688 |
+
#: ../admin/manage.php:499
|
689 |
+
msgid "Create new thumbnails"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: ../admin/functions.php:343
|
693 |
+
msgid " : Thumbnail created..."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: ../admin/functions.php:348
|
697 |
+
msgid "Follow thumbnails could not created."
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: ../admin/functions.php:349
|
701 |
+
msgid "Some thumbnails are not writeable :"
|
|
|
|
|
|
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: ../admin/functions.php:450
|
705 |
+
msgid "The Zip-file is too large. Exceed Memory limit !"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: ../admin/functions.php:491
|
709 |
+
msgid "Uploaded file was no or a faulty zip file ! The server recognize : "
|
710 |
+
msgstr ""
|
711 |
+
|
712 |
+
#: ../admin/functions.php:510
|
713 |
+
#, php-format
|
714 |
+
msgid "Unable to create directory %s. Is its parent directory writable by the server?"
|
715 |
+
msgstr ""
|
716 |
+
|
717 |
+
#: ../admin/functions.php:525
|
718 |
+
msgid "Zip-File successfully unpacked"
|
719 |
+
msgstr ""
|
720 |
+
|
721 |
+
#: ../admin/functions.php:566
|
722 |
+
#: ../admin/functions.php:574
|
723 |
+
msgid "Unable to unlink file "
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: ../admin/functions.php:575
|
727 |
+
#: ../admin/functions.php:660
|
728 |
+
msgid "Failure in database, no gallery path set !"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: ../admin/functions.php:582
|
732 |
+
#: ../admin/functions.php:653
|
733 |
+
msgid "is no valid image file!"
|
734 |
+
msgstr ""
|
735 |
+
|
736 |
+
#: ../admin/functions.php:590
|
737 |
+
#, php-format
|
738 |
+
msgid "Unable to write to directory %s. Is this directory writable by the server?"
|
739 |
+
msgstr ""
|
740 |
+
|
741 |
+
#: ../admin/functions.php:597
|
742 |
+
#: ../admin/functions.php:677
|
743 |
+
msgid "Error, the file could not moved to : "
|
744 |
+
msgstr ""
|
745 |
+
|
746 |
+
#: ../admin/functions.php:602
|
747 |
+
#: ../admin/functions.php:681
|
748 |
+
msgid "Error, the file permissions could not set"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: ../admin/functions.php:620
|
752 |
+
msgid " Image(s) successfully added"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: ../admin/functions.php:640
|
756 |
+
msgid "Invalid upload. Error Code : "
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: ../admin/functions.php:692
|
760 |
+
msgid "Sorry, you have used your space allocation. Please delete some files to upload more files."
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: ../admin/functions.php:719
|
764 |
+
#, php-format
|
765 |
+
msgid "SAFE MODE Restriction in effect! You need to create the folder <strong>%s</strong> manually"
|
766 |
+
msgstr ""
|
767 |
+
|
768 |
+
#: ../admin/functions.php:720
|
769 |
+
#, php-format
|
770 |
+
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"
|
771 |
msgstr ""
|
772 |
|
773 |
#: ../admin/manage.php:64
|
774 |
#: ../admin/manage.php:85
|
775 |
+
#: ../admin/_manage.php:182
|
776 |
msgid "deleted successfully"
|
777 |
msgstr ""
|
778 |
|
792 |
msgid "Pictures deleted successfully "
|
793 |
msgstr ""
|
794 |
|
795 |
+
#: ../admin/manage.php:145
|
796 |
+
msgid "Import metadata finished"
|
797 |
msgstr ""
|
798 |
|
799 |
+
#: ../admin/manage.php:195
|
800 |
+
msgid "Tags changed"
|
801 |
msgstr ""
|
802 |
|
803 |
+
#: ../admin/manage.php:215
|
804 |
+
msgid "Update successful"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: ../admin/manage.php:249
|
808 |
msgid "New gallery page ID"
|
809 |
msgstr ""
|
810 |
|
811 |
+
#: ../admin/manage.php:249
|
812 |
msgid "created"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#: ../admin/manage.php:272
|
816 |
+
#: ../admin/_manage.php:202
|
817 |
msgid "Gallery Overview"
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: ../admin/manage.php:277
|
821 |
#: ../admin/myimport.php:50
|
822 |
+
#: ../admin/_manage.php:207
|
823 |
msgid "Gallery name"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: ../admin/manage.php:279
|
827 |
+
#: ../admin/manage.php:455
|
828 |
+
#: ../admin/manage.php:529
|
829 |
+
#: ../admin/myimport.php:52
|
830 |
+
#: ../admin/style.php:102
|
831 |
+
#: ../admin/uploadtab.php:180
|
832 |
+
#: ../admin/_manage.php:209
|
833 |
+
#: ../admin/_manage.php:1024
|
834 |
+
#: ../admin/js/uploadtab.js.php:172
|
835 |
+
msgid "Description"
|
836 |
+
msgstr ""
|
837 |
+
|
838 |
+
#: ../admin/manage.php:280
|
839 |
#: ../admin/myimport.php:53
|
840 |
+
#: ../admin/_manage.php:210
|
841 |
msgid "Page ID"
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: ../admin/manage.php:281
|
845 |
#: ../admin/myimport.php:54
|
846 |
+
#: ../admin/_manage.php:211
|
847 |
msgid "Quantity"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: ../admin/manage.php:282
|
851 |
+
#: ../admin/manage.php:535
|
852 |
#: ../admin/myimport.php:55
|
853 |
+
#: ../admin/_manage.php:212
|
854 |
msgid "Action"
|
855 |
msgstr ""
|
856 |
|
857 |
+
#: ../admin/manage.php:301
|
858 |
+
#: ../admin/_manage.php:231
|
859 |
+
#: ../admin/js/uploadtab.js.php:93
|
860 |
msgid "Edit"
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: ../admin/manage.php:302
|
864 |
+
#: ../admin/_manage.php:232
|
865 |
msgid "Delete this gallery ?"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: ../admin/manage.php:307
|
869 |
+
#: ../admin/manage.php:573
|
870 |
#: ../admin/myimport.php:79
|
871 |
+
#: ../admin/_manage.php:237
|
872 |
+
#: ../admin/_manage.php:1155
|
873 |
msgid "No entries found"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: ../admin/manage.php:433
|
877 |
+
#: ../admin/_manage.php:1001
|
878 |
msgid "Main settings"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: ../admin/manage.php:438
|
882 |
+
#: ../admin/_manage.php:1007
|
883 |
msgid "Page Link to"
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: ../admin/manage.php:441
|
887 |
+
#: ../admin/_manage.php:1010
|
888 |
msgid "Not linked"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: ../admin/manage.php:457
|
892 |
+
#: ../admin/_manage.php:1026
|
893 |
msgid "Preview image"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: ../admin/manage.php:460
|
897 |
+
#: ../admin/_manage.php:1029
|
898 |
msgid "No Picture"
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: ../admin/manage.php:475
|
902 |
+
#: ../admin/_manage.php:1043
|
903 |
msgid "Path"
|
904 |
msgstr ""
|
905 |
|
906 |
+
#: ../admin/manage.php:478
|
907 |
+
#: ../admin/_manage.php:1045
|
908 |
msgid "Create new page"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: ../admin/manage.php:481
|
912 |
+
#: ../admin/_manage.php:1048
|
913 |
msgid "Main page (No parent)"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: ../admin/manage.php:484
|
917 |
+
#: ../admin/_manage.php:1051
|
918 |
msgid "Add page"
|
919 |
msgstr ""
|
920 |
|
921 |
+
#: ../admin/manage.php:490
|
922 |
+
#: ../admin/_manage.php:1057
|
923 |
msgid "Scan Folder for new images"
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: ../admin/manage.php:491
|
927 |
+
#: ../admin/manage.php:580
|
928 |
+
#: ../admin/_manage.php:1058
|
929 |
msgid "Save Changes"
|
930 |
msgstr ""
|
931 |
|
932 |
+
#: ../admin/manage.php:496
|
933 |
msgid "No action"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: ../admin/manage.php:501
|
937 |
+
msgid "Delete images"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: ../admin/manage.php:502
|
941 |
+
msgid "Import metadata"
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: ../admin/manage.php:504
|
945 |
msgid "Add tags"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: ../admin/manage.php:505
|
949 |
msgid "Delete tags"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: ../admin/manage.php:506
|
953 |
msgid "Overwrite tags"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: ../admin/manage.php:510
|
957 |
+
#: ../admin/manage.php:511
|
958 |
+
#: ../admin/manage.php:598
|
959 |
msgid "OK"
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: ../admin/manage.php:510
|
963 |
+
#: ../admin/manage.php:598
|
964 |
msgid "No images selected"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: ../admin/manage.php:510
|
968 |
+
#: ../admin/manage.php:598
|
969 |
#, php-format
|
970 |
msgid ""
|
971 |
"You are about to start the bulk edit for %s images \n"
|
973 |
" 'Cancel' to stop, 'OK' to proceed."
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: ../admin/manage.php:512
|
977 |
msgid "Hide thumbnails "
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: ../admin/manage.php:513
|
981 |
msgid "Show thumbnails "
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: ../admin/manage.php:514
|
985 |
+
msgid "Show tags"
|
986 |
+
msgstr ""
|
987 |
+
|
988 |
+
#: ../admin/manage.php:515
|
989 |
+
msgid "Hide tags"
|
990 |
+
msgstr ""
|
991 |
+
|
992 |
+
#: ../admin/manage.php:524
|
993 |
+
#: ../admin/settings.php:318
|
994 |
+
msgid "File name"
|
995 |
msgstr ""
|
996 |
|
997 |
#: ../admin/manage.php:526
|
998 |
+
#: ../admin/js/uploadtab.js.php:106
|
999 |
+
msgid "Thumbnail"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
+
#: ../admin/manage.php:530
|
1003 |
+
#: ../admin/uploadtab.php:176
|
1004 |
+
#: ../admin/js/uploadtab.js.php:169
|
1005 |
+
msgid "Alt & Title Text"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: ../admin/manage.php:531
|
1009 |
msgid "exclude"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: ../admin/manage.php:533
|
1013 |
msgid "Tags (comma separated list)"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: ../admin/manage.php:566
|
1017 |
msgid "View"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: ../admin/manage.php:567
|
1021 |
msgid "Show Meta data"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: ../admin/manage.php:567
|
1025 |
msgid "Meta"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: ../admin/manage.php:568
|
1029 |
msgid "Delete this file ?"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: ../admin/manage.php:595
|
1033 |
msgid "Enter the tags"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: ../admin/manage.php:598
|
1037 |
+
#: ../tinymce/window.php:146
|
1038 |
+
msgid "Cancel"
|
1039 |
+
msgstr ""
|
1040 |
+
|
1041 |
#: ../admin/myimport.php:35
|
1042 |
msgid "Gallery "
|
1043 |
msgstr ""
|
1079 |
msgid "Download here"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: ../admin/overview.php:42
|
1083 |
msgid "Server Settings"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: ../admin/overview.php:50
|
1087 |
msgid "Welcome"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: ../admin/overview.php:54
|
1091 |
msgid "gallery administrator"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: ../admin/overview.php:54
|
1095 |
msgid "gallery editor"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: ../admin/overview.php:55
|
1099 |
#, php-format
|
1100 |
msgid "Welcome to NextGEN Gallery. Here you can control your images, galleries and albums. You currently have %s rights."
|
1101 |
msgstr ""
|
1102 |
|
1103 |
+
#: ../admin/overview.php:60
|
1104 |
msgid "Add a new gallery or import pictures"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
+
#: ../admin/overview.php:61
|
1108 |
msgid "Manage galleries and images"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
+
#: ../admin/overview.php:62
|
1112 |
msgid "Create and manage albums"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
+
#: ../admin/overview.php:63
|
1116 |
msgid "Change the settings of NextGEN Gallery"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: ../admin/overview.php:66
|
1120 |
msgid "Latest News"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
+
#: ../admin/overview.php:85
|
1124 |
#, php-format
|
1125 |
msgid "Newsfeed could not be loaded. Check the <a href=\"%s\">front page</a> to check for updates."
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: ../admin/overview.php:98
|
1129 |
msgid "GD support"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: ../admin/overview.php:109
|
1133 |
msgid "No GD support"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: ../admin/overview.php:116
|
1137 |
+
#: ../admin/overview.php:154
|
1138 |
+
#: ../admin/overview.php:157
|
1139 |
+
#: ../admin/overview.php:160
|
1140 |
msgid "Yes"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
+
#: ../admin/overview.php:117
|
1144 |
+
#: ../admin/overview.php:155
|
1145 |
+
#: ../admin/overview.php:158
|
1146 |
+
#: ../admin/overview.php:161
|
1147 |
msgid "No"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: ../admin/overview.php:131
|
1151 |
msgid "Not set"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: ../admin/overview.php:133
|
1155 |
+
#: ../admin/overview.php:136
|
1156 |
msgid "On"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: ../admin/overview.php:134
|
1160 |
+
#: ../admin/overview.php:137
|
1161 |
msgid "Off"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: ../admin/overview.php:140
|
1165 |
+
#: ../admin/overview.php:143
|
1166 |
+
#: ../admin/overview.php:146
|
1167 |
+
#: ../admin/overview.php:149
|
1168 |
+
#: ../admin/overview.php:152
|
1169 |
msgid "N/A"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: ../admin/overview.php:151
|
1173 |
msgid " MByte"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: ../admin/overview.php:164
|
1177 |
msgid "Operating System"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: ../admin/overview.php:165
|
1181 |
msgid "Server"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: ../admin/overview.php:166
|
1185 |
msgid "Memory usage"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: ../admin/overview.php:167
|
1189 |
msgid "MYSQL Version"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: ../admin/overview.php:168
|
1193 |
msgid "SQL Mode"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: ../admin/overview.php:169
|
1197 |
msgid "PHP Version"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
+
#: ../admin/overview.php:170
|
1201 |
msgid "PHP Safe Mode"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: ../admin/overview.php:171
|
1205 |
msgid "PHP Allow URL fopen"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
+
#: ../admin/overview.php:172
|
1209 |
msgid "PHP Memory Limit"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: ../admin/overview.php:173
|
1213 |
msgid "PHP Max Upload Size"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
+
#: ../admin/overview.php:174
|
1217 |
msgid "PHP Max Post Size"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: ../admin/overview.php:175
|
1221 |
msgid "PHP Max Script Execute Time"
|
1222 |
msgstr ""
|
1223 |
|
1224 |
+
#: ../admin/overview.php:176
|
1225 |
+
msgid "PHP Exif support"
|
1226 |
+
msgstr ""
|
1227 |
+
|
1228 |
+
#: ../admin/overview.php:177
|
1229 |
+
msgid "PHP IPTC support"
|
1230 |
+
msgstr ""
|
1231 |
+
|
1232 |
+
#: ../admin/overview.php:178
|
1233 |
+
msgid "PHP XML support"
|
1234 |
+
msgstr ""
|
1235 |
+
|
1236 |
+
#: ../admin/overview.php:319
|
1237 |
+
msgid "Storage Space"
|
1238 |
+
msgstr ""
|
1239 |
+
|
1240 |
+
#: ../admin/overview.php:322
|
1241 |
+
msgid "Upload Space Used:"
|
1242 |
+
msgstr ""
|
1243 |
+
|
1244 |
+
#: ../admin/overview.php:328
|
1245 |
+
msgid "Upload Space Remaining:"
|
1246 |
+
msgstr ""
|
1247 |
+
|
1248 |
#: ../admin/roles.php:20
|
1249 |
msgid "Updated capabilities"
|
1250 |
msgstr ""
|
1295 |
|
1296 |
#: ../admin/settings.php:29
|
1297 |
#: ../admin/style.php:16
|
1298 |
+
#: ../admin/wpmu.php:32
|
1299 |
msgid "Update successfully"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
+
#: ../admin/settings.php:46
|
1303 |
+
msgid "Cache cleared"
|
|
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: ../admin/settings.php:99
|
1307 |
+
#: ../admin/settings.php:111
|
1308 |
+
msgid "General Options"
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: ../admin/settings.php:101
|
1312 |
msgid "Images"
|
1313 |
msgstr ""
|
1314 |
|
1315 |
+
#: ../admin/settings.php:103
|
1316 |
+
#: ../admin/settings.php:337
|
1317 |
msgid "Effects"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
+
#: ../admin/settings.php:104
|
1321 |
+
#: ../admin/settings.php:390
|
1322 |
+
#: ../tinymce/window.php:123
|
1323 |
+
msgid "Watermark"
|
1324 |
+
msgstr ""
|
1325 |
+
|
1326 |
+
#: ../admin/settings.php:105
|
1327 |
+
#: ../admin/settings.php:296
|
1328 |
+
#: ../admin/settings.php:498
|
1329 |
+
#: ../tinymce/window.php:63
|
1330 |
+
msgid "Slideshow"
|
1331 |
+
msgstr ""
|
1332 |
+
|
1333 |
+
#: ../admin/settings.php:118
|
1334 |
+
#: ../admin/wpmu.php:48
|
1335 |
msgid "Gallery path"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: ../admin/settings.php:120
|
1339 |
msgid "This is the default path for all galleries"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
+
#: ../admin/settings.php:131
|
1343 |
msgid "Delete image files"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: ../admin/settings.php:133
|
1347 |
msgid "Delete files, when removing a gallery in the database"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: ../admin/settings.php:136
|
1351 |
+
msgid "Activate batch upload"
|
1352 |
+
msgstr ""
|
1353 |
+
|
1354 |
+
#: ../admin/settings.php:138
|
1355 |
+
msgid "The batch upload requires Adobe Flash 9, disable it if you have problems"
|
1356 |
+
msgstr ""
|
1357 |
+
|
1358 |
+
#: ../admin/settings.php:141
|
1359 |
+
msgid "Activate permalinks"
|
1360 |
+
msgstr ""
|
1361 |
+
|
1362 |
+
#: ../admin/settings.php:143
|
1363 |
+
msgid "When you activate this option, you need to update your permalink structure one time."
|
1364 |
+
msgstr ""
|
1365 |
+
|
1366 |
+
#: ../admin/settings.php:146
|
1367 |
msgid "Tags / Categories"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
+
#: ../admin/settings.php:149
|
1371 |
msgid "Activate related images"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#: ../admin/settings.php:151
|
1375 |
msgid "This option will append related images to every post"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: ../admin/settings.php:155
|
1379 |
msgid "Match with"
|
1380 |
msgstr ""
|
1381 |
|
1382 |
+
#: ../admin/settings.php:156
|
1383 |
msgid "Categories"
|
1384 |
msgstr ""
|
1385 |
|
1386 |
+
#: ../admin/settings.php:157
|
1387 |
+
#: ../lib/nggmeta.lib.php:375
|
1388 |
msgid "Tags"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: ../admin/settings.php:157
|
1392 |
msgid " (require WordPress 2.3 or higher)"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: ../admin/settings.php:161
|
1396 |
msgid "Max. number of images"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
+
#: ../admin/settings.php:163
|
1400 |
msgid "0 will show all images"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
+
#: ../admin/settings.php:175
|
1404 |
msgid "Thumbnail settings"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: ../admin/settings.php:180
|
1408 |
msgid "Please note : If you change the settings, you need to recreate the thumbnails under -> Manage Gallery ."
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: ../admin/settings.php:183
|
1412 |
msgid "Width x height (in pixel)"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: ../admin/settings.php:185
|
1416 |
msgid "These values are maximum values "
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: ../admin/settings.php:188
|
1420 |
msgid "Set fix dimension"
|
1421 |
msgstr ""
|
1422 |
|
1423 |
+
#: ../admin/settings.php:190
|
1424 |
msgid "Ignore the aspect ratio, no portrait thumbnails"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
+
#: ../admin/settings.php:193
|
1428 |
msgid "Crop square thumbnail from image"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
+
#: ../admin/settings.php:195
|
1432 |
msgid "Create square thumbnails, use only the width setting :"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
+
#: ../admin/settings.php:198
|
1436 |
msgid "Thumbnail quality"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
+
#: ../admin/settings.php:202
|
1440 |
+
#: ../admin/settings.php:234
|
1441 |
msgid "Resample Mode"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
+
#: ../admin/settings.php:204
|
1445 |
+
#: ../admin/settings.php:237
|
1446 |
msgid "Value between 1-5 (higher value, more CPU load)"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
+
#: ../admin/settings.php:215
|
1450 |
msgid "Image settings"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: ../admin/settings.php:222
|
1454 |
msgid "Resize Images"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
+
#: ../admin/settings.php:226
|
1458 |
msgid "Width x height (in pixel). NextGEN Gallery will keep ratio size"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
+
#: ../admin/settings.php:229
|
1462 |
msgid "Image quality"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
+
#: ../admin/settings.php:240
|
1466 |
+
msgid "Single picture"
|
1467 |
+
msgstr ""
|
1468 |
+
|
1469 |
+
#: ../admin/settings.php:243
|
1470 |
+
msgid "Cache single pictures"
|
1471 |
+
msgstr ""
|
1472 |
+
|
1473 |
+
#: ../admin/settings.php:246
|
1474 |
+
msgid "Creates a file for each singlepic settings. Reduce the CPU load"
|
1475 |
+
msgstr ""
|
1476 |
+
|
1477 |
+
#: ../admin/settings.php:249
|
1478 |
+
msgid "Clear cache folder"
|
1479 |
+
msgstr ""
|
1480 |
+
|
1481 |
+
#: ../admin/settings.php:251
|
1482 |
+
msgid "Proceed now"
|
1483 |
+
msgstr ""
|
1484 |
+
|
1485 |
+
#: ../admin/settings.php:262
|
1486 |
msgid "Gallery settings"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: ../admin/settings.php:269
|
1490 |
msgid "Activate jQuery navigation"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: ../admin/settings.php:271
|
1494 |
msgid "Please note : This is still experimental. Requires the Thickbox effect"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: ../admin/settings.php:275
|
1498 |
msgid "Deactivate gallery page link"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: ../admin/settings.php:277
|
1502 |
msgid "The album will not link to a gallery subpage. The gallery is shown on the same page."
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: ../admin/settings.php:281
|
1506 |
msgid "Number of images per page"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: ../admin/settings.php:283
|
1510 |
msgid "0 will disable pagination, all images on one page"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: ../admin/settings.php:287
|
1514 |
msgid "Integrate slideshow"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: ../admin/settings.php:294
|
1518 |
msgid "Show first"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: ../admin/settings.php:300
|
1522 |
msgid "Show thumbnail description"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
+
#: ../admin/settings.php:301
|
1526 |
+
#: ../admin/settings.php:349
|
1527 |
+
#: ../admin/js/uploadtab.js.php:117
|
1528 |
msgid "None"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: ../admin/settings.php:302
|
1532 |
msgid "Description text"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: ../admin/settings.php:303
|
1536 |
+
#: ../admin/settings.php:319
|
1537 |
msgid "Alt / Title text"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
+
#: ../admin/settings.php:307
|
1541 |
msgid "Show ImageBrowser"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
+
#: ../admin/settings.php:309
|
1545 |
msgid "The gallery will open the ImageBrowser instead the effect."
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: ../admin/settings.php:313
|
1549 |
msgid "Sort options"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: ../admin/settings.php:316
|
1553 |
msgid "Sort thumbnails"
|
1554 |
msgstr ""
|
1555 |
|
1556 |
+
#: ../admin/settings.php:317
|
1557 |
msgid "Image ID"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: ../admin/settings.php:323
|
1561 |
msgid "Sort direction"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: ../admin/settings.php:324
|
1565 |
msgid "Ascending"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
+
#: ../admin/settings.php:325
|
1569 |
msgid "Descending"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
+
#: ../admin/settings.php:341
|
1573 |
msgid "Here you can select the thumbnail effect, NextGEN Gallery will integrate the required HTML code in the images. Please note that only the Thickbox effect will automatic added to your theme."
|
1574 |
msgstr ""
|
1575 |
|
1576 |
+
#: ../admin/settings.php:342
|
1577 |
msgid "With the placeholder"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: ../admin/settings.php:342
|
1581 |
msgid "you can activate a navigation through the images (depend on the effect). Change the code line only , when you use a different thumbnail effect or you know what you do."
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: ../admin/settings.php:346
|
1585 |
msgid "JavaScript Thumbnail effect"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: ../admin/settings.php:350
|
1589 |
msgid "Thickbox"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: ../admin/settings.php:351
|
1593 |
msgid "Lightbox"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
+
#: ../admin/settings.php:352
|
1597 |
msgid "Highslide"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: ../admin/settings.php:353
|
1601 |
msgid "Shutter"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: ../admin/settings.php:354
|
1605 |
msgid "Custom"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: ../admin/settings.php:359
|
1609 |
msgid "Link Code line"
|
1610 |
msgstr ""
|
1611 |
|
1612 |
+
#: ../admin/settings.php:367
|
1613 |
msgid "Select loading image"
|
1614 |
msgstr ""
|
1615 |
|
1616 |
+
#: ../admin/settings.php:391
|
1617 |
msgid "Please note : You can only activate the watermark under -> Manage Gallery . This action cannot be undone."
|
1618 |
msgstr ""
|
1619 |
|
1620 |
+
#: ../admin/settings.php:396
|
1621 |
msgid "Preview"
|
1622 |
msgstr ""
|
1623 |
|
1624 |
+
#: ../admin/settings.php:398
|
1625 |
+
#: ../admin/settings.php:402
|
1626 |
msgid "Position"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
+
#: ../admin/settings.php:422
|
1630 |
msgid "Offset"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
+
#: ../admin/settings.php:440
|
1634 |
msgid "Use image as watermark"
|
1635 |
msgstr ""
|
1636 |
|
1637 |
+
#: ../admin/settings.php:443
|
1638 |
msgid "URL to file"
|
1639 |
msgstr ""
|
1640 |
|
1641 |
+
#: ../admin/settings.php:445
|
1642 |
msgid "The accessing of URL files is disabled at your server (allow_url_fopen)"
|
1643 |
msgstr ""
|
1644 |
|
1645 |
+
#: ../admin/settings.php:451
|
1646 |
msgid "Use text as watermark"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
+
#: ../admin/settings.php:454
|
1650 |
msgid "Font"
|
1651 |
msgstr ""
|
1652 |
|
1653 |
+
#: ../admin/settings.php:463
|
1654 |
+
msgid "This function will not work, cause you need the FreeType library"
|
1655 |
+
msgstr ""
|
1656 |
+
|
1657 |
+
#: ../admin/settings.php:465
|
1658 |
msgid "You can upload more fonts in the folder <strong>nggallery/fonts</strong>"
|
1659 |
msgstr ""
|
1660 |
|
1661 |
+
#: ../admin/settings.php:469
|
1662 |
msgid "Size"
|
1663 |
msgstr ""
|
1664 |
|
1665 |
+
#: ../admin/settings.php:473
|
1666 |
msgid "Color"
|
1667 |
msgstr ""
|
1668 |
|
1669 |
+
#: ../admin/settings.php:475
|
1670 |
msgid "(hex w/o #)"
|
1671 |
msgstr ""
|
1672 |
|
1673 |
+
#: ../admin/settings.php:478
|
1674 |
msgid "Text"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
+
#: ../admin/settings.php:482
|
1678 |
msgid "Opaque"
|
1679 |
msgstr ""
|
1680 |
|
1681 |
+
#: ../admin/settings.php:500
|
1682 |
msgid "The imagerotator.swf is not in the nggallery folder, the slideshow will not work."
|
1683 |
msgstr ""
|
1684 |
|
1685 |
+
#: ../admin/settings.php:501
|
1686 |
msgid "The settings are used in the JW Image Rotator Version 3.9 ."
|
1687 |
msgstr ""
|
1688 |
|
1689 |
+
#: ../admin/settings.php:502
|
1690 |
msgid "See more information for the Flash Player on the web page"
|
1691 |
msgstr ""
|
1692 |
|
1693 |
+
#: ../admin/settings.php:505
|
1694 |
msgid "Default size (W x H)"
|
1695 |
msgstr ""
|
1696 |
|
1697 |
+
#: ../admin/settings.php:510
|
1698 |
msgid "Shuffle mode"
|
1699 |
msgstr ""
|
1700 |
|
1701 |
+
#: ../admin/settings.php:514
|
1702 |
msgid "Show next image on click"
|
1703 |
msgstr ""
|
1704 |
|
1705 |
+
#: ../admin/settings.php:518
|
1706 |
msgid "Show navigation bar"
|
1707 |
msgstr ""
|
1708 |
|
1709 |
+
#: ../admin/settings.php:522
|
1710 |
msgid "Show loading icon"
|
1711 |
msgstr ""
|
1712 |
|
1713 |
+
#: ../admin/settings.php:526
|
1714 |
msgid "Use watermark logo"
|
1715 |
msgstr ""
|
1716 |
|
1717 |
+
#: ../admin/settings.php:528
|
1718 |
msgid "You can change the logo at the watermark settings"
|
1719 |
msgstr ""
|
1720 |
|
1721 |
+
#: ../admin/settings.php:531
|
1722 |
msgid "Stretch image"
|
1723 |
msgstr ""
|
1724 |
|
1725 |
+
#: ../admin/settings.php:534
|
1726 |
msgid "true"
|
1727 |
msgstr ""
|
1728 |
|
1729 |
+
#: ../admin/settings.php:535
|
1730 |
msgid "false"
|
1731 |
msgstr ""
|
1732 |
|
1733 |
+
#: ../admin/settings.php:536
|
1734 |
msgid "fit"
|
1735 |
msgstr ""
|
1736 |
|
1737 |
+
#: ../admin/settings.php:537
|
1738 |
+
msgid "none"
|
1739 |
+
msgstr ""
|
1740 |
+
|
1741 |
+
#: ../admin/settings.php:542
|
1742 |
msgid "Duration time"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
+
#: ../admin/settings.php:543
|
1746 |
msgid "sec."
|
1747 |
msgstr ""
|
1748 |
|
1749 |
+
#: ../admin/settings.php:546
|
1750 |
msgid "Transition / Fade effect"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
+
#: ../admin/settings.php:549
|
1754 |
msgid "fade"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
+
#: ../admin/settings.php:550
|
1758 |
msgid "bgfade"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
+
#: ../admin/settings.php:551
|
1762 |
msgid "slowfade"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: ../admin/settings.php:552
|
1766 |
msgid "circles"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
+
#: ../admin/settings.php:553
|
1770 |
msgid "bubbles"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
+
#: ../admin/settings.php:554
|
1774 |
msgid "blocks"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
+
#: ../admin/settings.php:555
|
1778 |
msgid "fluids"
|
1779 |
msgstr ""
|
1780 |
|
1781 |
+
#: ../admin/settings.php:556
|
1782 |
msgid "flash"
|
1783 |
msgstr ""
|
1784 |
|
1785 |
+
#: ../admin/settings.php:557
|
1786 |
msgid "lines"
|
1787 |
msgstr ""
|
1788 |
|
1789 |
+
#: ../admin/settings.php:562
|
|
|
|
|
|
|
|
|
1790 |
msgid "Use slow zooming effect"
|
1791 |
msgstr ""
|
1792 |
|
1793 |
+
#: ../admin/settings.php:566
|
1794 |
msgid "Background Color"
|
1795 |
msgstr ""
|
1796 |
|
1797 |
+
#: ../admin/settings.php:571
|
1798 |
msgid "Texts / Buttons Color"
|
1799 |
msgstr ""
|
1800 |
|
1801 |
+
#: ../admin/settings.php:576
|
1802 |
msgid "Rollover / Active Color"
|
1803 |
msgstr ""
|
1804 |
|
1805 |
+
#: ../admin/settings.php:581
|
1806 |
msgid "Background music (URL)"
|
1807 |
msgstr ""
|
1808 |
|
1809 |
+
#: ../admin/settings.php:585
|
1810 |
msgid "Try XHTML validation (with CDATA)"
|
1811 |
msgstr ""
|
1812 |
|
1813 |
+
#: ../admin/settings.php:587
|
1814 |
msgid "Important : Could causes problem at some browser. Please recheck your page."
|
1815 |
msgstr ""
|
1816 |
|
1841 |
"Choose [Cancel] to Stop, [OK] to proceed.\\n"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
+
#: ../admin/setup.php:55
|
1845 |
msgid "Uninstall plugin tables"
|
1846 |
msgstr ""
|
1847 |
|
1848 |
+
#: ../admin/setup.php:58
|
1849 |
msgid "You don't like NextGEN Gallery ?"
|
1850 |
msgstr ""
|
1851 |
|
1852 |
+
#: ../admin/setup.php:59
|
1853 |
msgid "No problem, before you deactivate this plugin press the Uninstall Button, because deactivating NextGEN Gallery does not remove any data that may have been created. "
|
1854 |
msgstr ""
|
1855 |
|
1856 |
+
#: ../admin/setup.php:60
|
1857 |
msgid "WARNING:"
|
1858 |
msgstr ""
|
1859 |
|
1860 |
+
#: ../admin/setup.php:61
|
1861 |
msgid "Once uninstalled, this cannot be undone. You should use a Database Backup plugin of WordPress to backup all the tables first. NextGEN gallery is stored in the tables"
|
1862 |
msgstr ""
|
1863 |
|
1864 |
+
#: ../admin/setup.php:61
|
1865 |
msgid "and"
|
1866 |
msgstr ""
|
1867 |
|
1868 |
+
#: ../admin/setup.php:63
|
1869 |
msgid "Uninstall plugin"
|
1870 |
msgstr ""
|
1871 |
|
1872 |
+
#: ../admin/setup.php:63
|
1873 |
msgid ""
|
1874 |
"You are about to Uninstall this plugin from WordPress.\\n"
|
1875 |
"This action is not reversible.\\n"
|
1926 |
msgid "Activate"
|
1927 |
msgstr ""
|
1928 |
|
1929 |
+
#: ../admin/style.php:93
|
1930 |
#, php-format
|
1931 |
msgid "Editing <strong>%s</strong>"
|
1932 |
msgstr ""
|
1933 |
|
1934 |
+
#: ../admin/style.php:95
|
1935 |
#, php-format
|
1936 |
msgid "Browsing <strong>%s</strong>"
|
1937 |
msgstr ""
|
1938 |
|
1939 |
+
#: ../admin/style.php:100
|
1940 |
+
#: ../lib/nggmeta.lib.php:374
|
1941 |
msgid "Author"
|
1942 |
msgstr ""
|
1943 |
|
1944 |
+
#: ../admin/style.php:101
|
1945 |
msgid "Version"
|
1946 |
msgstr ""
|
1947 |
|
1948 |
+
#: ../admin/style.php:118
|
1949 |
msgid "Update File »"
|
1950 |
msgstr ""
|
1951 |
|
1952 |
+
#: ../admin/style.php:122
|
1953 |
msgid "If this file were writable you could edit it."
|
1954 |
msgstr ""
|
1955 |
|
1956 |
+
#: ../admin/style.php:127
|
1957 |
msgid "Oops, no such file exists! Double check the name and try again, merci."
|
1958 |
msgstr ""
|
1959 |
|
1960 |
+
#: ../admin/uploadtab.php:105
|
1961 |
+
msgid "Select a gallery"
|
1962 |
+
msgstr ""
|
1963 |
+
|
1964 |
+
#: ../admin/uploadtab.php:107
|
1965 |
+
#: ../tinymce/window.php:49
|
1966 |
+
msgid "No gallery"
|
1967 |
+
msgstr ""
|
1968 |
+
|
1969 |
+
#: ../admin/uploadtab.php:172
|
1970 |
+
#: ../admin/js/uploadtab.js.php:166
|
1971 |
+
msgid "URL"
|
1972 |
+
msgstr ""
|
1973 |
+
|
1974 |
+
#: ../admin/uploadtab.php:185
|
1975 |
+
#: ../admin/js/uploadtab.js.php:174
|
1976 |
+
msgid "Delete File"
|
1977 |
+
msgstr ""
|
1978 |
+
|
1979 |
+
#: ../admin/uploadtab.php:185
|
1980 |
+
msgid "Delete image ?"
|
1981 |
+
msgstr ""
|
1982 |
+
|
1983 |
+
#: ../admin/wpmu.php:41
|
1984 |
+
msgid "General WordPress MU Settings"
|
1985 |
+
msgstr ""
|
1986 |
+
|
1987 |
+
#: ../admin/wpmu.php:50
|
1988 |
+
msgid "This is the default path for all blogs. With the placeholder %BLOG_ID% you can organize the folder structure better. The path must end with a /."
|
1989 |
+
msgstr ""
|
1990 |
+
|
1991 |
+
#: ../admin/wpmu.php:53
|
1992 |
+
msgid "Enable upload quota check"
|
1993 |
+
msgstr ""
|
1994 |
+
|
1995 |
+
#: ../admin/wpmu.php:55
|
1996 |
+
msgid "Should work if the gallery is bellow the blog.dir"
|
1997 |
+
msgstr ""
|
1998 |
+
|
1999 |
+
#: ../admin/wpmu.php:59
|
2000 |
+
msgid "Enable zip upload option"
|
2001 |
+
msgstr ""
|
2002 |
+
|
2003 |
+
#: ../admin/wpmu.php:61
|
2004 |
+
msgid "Allow users to upload zip folders."
|
2005 |
+
msgstr ""
|
2006 |
+
|
2007 |
+
#: ../admin/wpmu.php:65
|
2008 |
+
msgid "Enable style selection"
|
2009 |
+
msgstr ""
|
2010 |
+
|
2011 |
+
#: ../admin/wpmu.php:67
|
2012 |
+
msgid "Allow users to choose a style for the gallery."
|
2013 |
+
msgstr ""
|
2014 |
+
|
2015 |
+
#: ../admin/wpmu.php:71
|
2016 |
+
msgid "Enable roles/capabilities"
|
2017 |
+
msgstr ""
|
2018 |
+
|
2019 |
+
#: ../admin/wpmu.php:73
|
2020 |
+
msgid "Allow users to change the roles for other blog authors."
|
2021 |
+
msgstr ""
|
2022 |
+
|
2023 |
+
#: ../admin/wpmu.php:77
|
2024 |
+
msgid "Default style"
|
2025 |
+
msgstr ""
|
2026 |
+
|
2027 |
+
#: ../admin/wpmu.php:94
|
2028 |
+
msgid "Choose the default style for the galleries."
|
2029 |
+
msgstr ""
|
2030 |
+
|
2031 |
+
#: ../admin/js/uploadtab.js.php:86
|
2032 |
+
#: ../admin/js/uploadtab.js.php:88
|
2033 |
+
#: ../admin/js/uploadtab.js.php:149
|
2034 |
+
#: ../admin/js/uploadtab.js.php:151
|
2035 |
msgid "Browse your files"
|
2036 |
msgstr ""
|
2037 |
|
2038 |
+
#: ../admin/js/uploadtab.js.php:86
|
2039 |
+
#: ../admin/js/uploadtab.js.php:88
|
2040 |
+
#: ../admin/js/uploadtab.js.php:149
|
2041 |
+
#: ../admin/js/uploadtab.js.php:151
|
2042 |
msgid "« Back"
|
2043 |
msgstr ""
|
2044 |
|
2045 |
+
#: ../admin/js/uploadtab.js.php:97
|
2046 |
+
#: ../admin/js/uploadtab.js.php:160
|
2047 |
msgid "Direct link to file"
|
2048 |
msgstr ""
|
2049 |
|
2050 |
+
#: ../admin/js/uploadtab.js.php:107
|
2051 |
msgid "Full size"
|
2052 |
msgstr ""
|
2053 |
|
2054 |
+
#: ../admin/js/uploadtab.js.php:110
|
2055 |
msgid "Show:"
|
2056 |
msgstr ""
|
2057 |
|
2058 |
+
#: ../admin/js/uploadtab.js.php:115
|
2059 |
msgid "Link to:"
|
2060 |
msgstr ""
|
2061 |
|
2062 |
+
#: ../admin/js/uploadtab.js.php:116
|
2063 |
msgid "File"
|
2064 |
msgstr ""
|
2065 |
|
2066 |
+
#: ../admin/js/uploadtab.js.php:121
|
2067 |
msgid "Send to editor »"
|
2068 |
msgstr ""
|
2069 |
|
2070 |
+
#: ../admin/js/uploadtab.js.php:156
|
2071 |
+
#: ../tinymce/window.php:150
|
2072 |
+
msgid "Insert"
|
2073 |
+
msgstr ""
|
2074 |
+
|
2075 |
+
#: ../admin/js/uploadtab.js.php:180
|
2076 |
msgid "Save »"
|
2077 |
msgstr ""
|
2078 |
|
2079 |
+
#: ../admin/js/uploadtab.js.php:259
|
2080 |
#, php-format
|
2081 |
msgid ""
|
2082 |
"Are you sure you want to delete the file '%s'?\n"
|
2083 |
"Click ok to delete or cancel to go back."
|
2084 |
msgstr ""
|
2085 |
|
2086 |
+
#: ../lib/nggmeta.lib.php:83
|
2087 |
+
msgid " mm"
|
2088 |
+
msgstr ""
|
2089 |
+
|
2090 |
+
#: ../lib/nggmeta.lib.php:89
|
2091 |
+
msgid " sec"
|
2092 |
+
msgstr ""
|
2093 |
+
|
2094 |
+
#: ../lib/nggmeta.lib.php:364
|
2095 |
msgid "Aperture"
|
2096 |
msgstr ""
|
2097 |
|
2098 |
+
#: ../lib/nggmeta.lib.php:365
|
2099 |
+
#: ../lib/nggmeta.lib.php:390
|
2100 |
msgid "Credit"
|
2101 |
msgstr ""
|
2102 |
|
2103 |
+
#: ../lib/nggmeta.lib.php:366
|
2104 |
msgid "Camera"
|
2105 |
msgstr ""
|
2106 |
|
2107 |
+
#: ../lib/nggmeta.lib.php:367
|
2108 |
msgid "Caption"
|
2109 |
msgstr ""
|
2110 |
|
2111 |
+
#: ../lib/nggmeta.lib.php:368
|
2112 |
msgid "Date/Time"
|
2113 |
msgstr ""
|
2114 |
|
2115 |
+
#: ../lib/nggmeta.lib.php:369
|
2116 |
msgid "Copyright"
|
2117 |
msgstr ""
|
2118 |
|
2119 |
+
#: ../lib/nggmeta.lib.php:370
|
2120 |
msgid "Focal length"
|
2121 |
msgstr ""
|
2122 |
|
2123 |
+
#: ../lib/nggmeta.lib.php:371
|
2124 |
msgid "ISO"
|
2125 |
msgstr ""
|
2126 |
|
2127 |
+
#: ../lib/nggmeta.lib.php:372
|
2128 |
msgid "Shutter speed"
|
2129 |
msgstr ""
|
2130 |
|
2131 |
+
#: ../lib/nggmeta.lib.php:376
|
|
|
|
|
|
|
|
|
2132 |
msgid "Subject"
|
2133 |
msgstr ""
|
2134 |
|
2135 |
+
#: ../lib/nggmeta.lib.php:377
|
2136 |
msgid "Make"
|
2137 |
msgstr ""
|
2138 |
|
2139 |
+
#: ../lib/nggmeta.lib.php:378
|
2140 |
msgid "Edit Status"
|
2141 |
msgstr ""
|
2142 |
|
2143 |
+
#: ../lib/nggmeta.lib.php:379
|
2144 |
msgid "Category"
|
2145 |
msgstr ""
|
2146 |
|
2147 |
+
#: ../lib/nggmeta.lib.php:380
|
2148 |
msgid "Keywords"
|
2149 |
msgstr ""
|
2150 |
|
2151 |
+
#: ../lib/nggmeta.lib.php:381
|
2152 |
msgid "Date Created"
|
2153 |
msgstr ""
|
2154 |
|
2155 |
+
#: ../lib/nggmeta.lib.php:382
|
2156 |
msgid "Time Created"
|
2157 |
msgstr ""
|
2158 |
|
2159 |
+
#: ../lib/nggmeta.lib.php:383
|
2160 |
msgid "Author Position"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
+
#: ../lib/nggmeta.lib.php:384
|
2164 |
msgid "City"
|
2165 |
msgstr ""
|
2166 |
|
2167 |
+
#: ../lib/nggmeta.lib.php:385
|
2168 |
msgid "Location"
|
2169 |
msgstr ""
|
2170 |
|
2171 |
+
#: ../lib/nggmeta.lib.php:386
|
2172 |
msgid "Province/State"
|
2173 |
msgstr ""
|
2174 |
|
2175 |
+
#: ../lib/nggmeta.lib.php:387
|
2176 |
msgid "Country code"
|
2177 |
msgstr ""
|
2178 |
|
2179 |
+
#: ../lib/nggmeta.lib.php:388
|
2180 |
msgid "Country"
|
2181 |
msgstr ""
|
2182 |
|
2183 |
+
#: ../lib/nggmeta.lib.php:389
|
2184 |
msgid "Headline"
|
2185 |
msgstr ""
|
2186 |
|
2187 |
+
#: ../lib/nggmeta.lib.php:391
|
2188 |
msgid "Source"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
+
#: ../lib/nggmeta.lib.php:392
|
2192 |
msgid "Copyright Notice"
|
2193 |
msgstr ""
|
2194 |
|
2195 |
+
#: ../lib/nggmeta.lib.php:393
|
2196 |
msgid "Contact"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
+
#: ../lib/nggmeta.lib.php:394
|
2200 |
msgid "Last modified"
|
2201 |
msgstr ""
|
2202 |
|
2203 |
+
#: ../lib/nggmeta.lib.php:395
|
2204 |
msgid "Program tool"
|
2205 |
msgstr ""
|
2206 |
|
2207 |
+
#: ../lib/nggmeta.lib.php:396
|
2208 |
msgid "Format"
|
2209 |
msgstr ""
|
2210 |
|
2211 |
+
#: ../tinymce/window.php:47
|
2212 |
+
msgid "Select gallery"
|
2213 |
+
msgstr ""
|
2214 |
+
|
2215 |
+
#: ../tinymce/window.php:61
|
2216 |
+
#: ../tinymce/window.php:88
|
2217 |
+
msgid "Show as"
|
2218 |
+
msgstr ""
|
2219 |
+
|
2220 |
+
#: ../tinymce/window.php:62
|
2221 |
+
msgid "Image list"
|
2222 |
+
msgstr ""
|
2223 |
+
|
2224 |
+
#: ../tinymce/window.php:76
|
2225 |
+
msgid "No album"
|
2226 |
+
msgstr ""
|
2227 |
+
|
2228 |
+
#: ../tinymce/window.php:89
|
2229 |
+
msgid "Extended version"
|
2230 |
+
msgstr ""
|
2231 |
+
|
2232 |
+
#: ../tinymce/window.php:90
|
2233 |
+
msgid "Compact version"
|
2234 |
+
msgstr ""
|
2235 |
+
|
2236 |
+
#: ../tinymce/window.php:101
|
2237 |
+
msgid "Select picture"
|
2238 |
+
msgstr ""
|
2239 |
+
|
2240 |
+
#: ../tinymce/window.php:103
|
2241 |
+
msgid "No picture"
|
2242 |
+
msgstr ""
|
2243 |
+
|
2244 |
+
#: ../tinymce/window.php:115
|
2245 |
+
msgid "Width x Height"
|
2246 |
+
msgstr ""
|
2247 |
+
|
2248 |
+
#: ../tinymce/window.php:119
|
2249 |
+
msgid "Effect"
|
2250 |
+
msgstr ""
|
2251 |
+
|
2252 |
+
#: ../tinymce/window.php:122
|
2253 |
+
msgid "No effect"
|
2254 |
+
msgstr ""
|
2255 |
+
|
2256 |
+
#: ../tinymce/window.php:124
|
2257 |
+
msgid "Web 2.0"
|
2258 |
+
msgstr ""
|
2259 |
+
|
2260 |
+
#: ../tinymce/window.php:129
|
2261 |
+
msgid "Float"
|
2262 |
+
msgstr ""
|
2263 |
+
|
2264 |
+
#: ../tinymce/window.php:132
|
2265 |
+
msgid "No float"
|
2266 |
+
msgstr ""
|
2267 |
+
|
2268 |
+
#: ../tinymce/window.php:133
|
2269 |
+
msgid "Left"
|
2270 |
+
msgstr ""
|
2271 |
+
|
2272 |
+
#: ../tinymce/window.php:134
|
2273 |
+
msgid "Right"
|
2274 |
+
msgstr ""
|
2275 |
+
|
lib/nggallery.lib.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* nggallery.lib.php
|
6 |
*
|
7 |
* @author Alex Rabe
|
8 |
-
* @copyright Copyright 2007
|
9 |
*
|
10 |
*/
|
11 |
|
@@ -43,7 +43,7 @@ class nggImage{
|
|
43 |
global $wpdb;
|
44 |
|
45 |
//initialize variables
|
46 |
-
$this->imageID = $imageID;
|
47 |
|
48 |
// get image values
|
49 |
$imageData = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$this->imageID' ") or $this->error = true;
|
@@ -68,35 +68,37 @@ class nggImage{
|
|
68 |
|
69 |
/**********************************************************/
|
70 |
function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) {
|
71 |
-
//
|
72 |
-
|
73 |
if (!$include_Abspath)
|
74 |
$gallerypath = WINABSPATH.$gallerypath;
|
75 |
|
|
|
|
|
|
|
76 |
if (is_dir($gallerypath."/thumbs")) {
|
77 |
$this->thumbFolder = "/thumbs/";
|
78 |
-
$this->thumbPrefix = "thumbs_";
|
79 |
return TRUE;
|
80 |
-
}
|
81 |
-
|
82 |
if (is_dir($gallerypath."/tumbs")) {
|
83 |
$this->thumbFolder = "/tumbs/";
|
84 |
$this->thumbPrefix = "tmb_";
|
85 |
return TRUE;
|
86 |
}
|
87 |
|
88 |
-
|
89 |
-
if (!SAFE_MODE) {
|
90 |
if (!is_dir($gallerypath."/thumbs")) {
|
91 |
-
|
|
|
92 |
$this->thumbFolder = "/thumbs/";
|
93 |
-
$this->thumbPrefix = "thumbs_";
|
94 |
return TRUE;
|
95 |
}
|
96 |
}
|
97 |
|
98 |
return FALSE;
|
99 |
-
|
100 |
}
|
101 |
|
102 |
function get_thumbcode($galleryname) {
|
@@ -104,8 +106,8 @@ class nggImage{
|
|
104 |
$ngg_options = get_option('ngg_options');
|
105 |
|
106 |
// get the effect code
|
107 |
-
if ($ngg_options[thumbEffect] != "none") $this->thumbcode = stripslashes($ngg_options[thumbCode]);
|
108 |
-
if ($ngg_options[thumbEffect] == "highslide") $this->thumbcode = str_replace("%GALLERY_NAME%", "'".$galleryname."'", $this->thumbcode);
|
109 |
else $this->thumbcode = str_replace("%GALLERY_NAME%", $galleryname, $this->thumbcode);
|
110 |
|
111 |
return $this->thumbcode;
|
@@ -126,6 +128,61 @@ class nggImage{
|
|
126 |
|
127 |
return $this->href;
|
128 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
}
|
130 |
|
131 |
/**
|
@@ -166,7 +223,7 @@ class nggallery {
|
|
166 |
}
|
167 |
|
168 |
/**********************************************************/
|
169 |
-
// remove some umlauts
|
170 |
/**********************************************************/
|
171 |
function remove_umlauts($filename) {
|
172 |
|
@@ -228,13 +285,22 @@ class nggallery {
|
|
228 |
if (!file_exists($gallerypath))
|
229 |
return FALSE;
|
230 |
if (is_dir($gallerypath."/thumbs")) return "/thumbs/";
|
|
|
231 |
if (is_dir($gallerypath."/tumbs")) return "/tumbs/";
|
232 |
-
|
|
|
233 |
if (!is_dir($gallerypath."/thumbs")) {
|
234 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
return "/thumbs/";
|
236 |
}
|
237 |
}
|
|
|
238 |
return FALSE;
|
239 |
|
240 |
}
|
@@ -247,6 +313,7 @@ class nggallery {
|
|
247 |
|
248 |
if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
|
249 |
if (is_dir($gallerypath."/thumbs")) return "thumbs_";
|
|
|
250 |
if (is_dir($gallerypath."/tumbs")) return "tmb_";
|
251 |
|
252 |
return FALSE;
|
@@ -273,11 +340,12 @@ class nggallery {
|
|
273 |
// create the complete navigation
|
274 |
/**********************************************************/
|
275 |
function create_navigation($page, $totalElement, $maxElement = 0) {
|
|
|
|
|
276 |
$navigation = "";
|
277 |
|
278 |
if ($maxElement > 0) {
|
279 |
$total = $totalElement;
|
280 |
-
$args['page'] = get_the_ID();
|
281 |
|
282 |
// create navigation
|
283 |
if ( $total > $maxElement ) {
|
@@ -285,7 +353,7 @@ class nggallery {
|
|
285 |
$r = '';
|
286 |
if ( 1 < $page ) {
|
287 |
$args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1;
|
288 |
-
$r .= '<a class="prev" href="'.
|
289 |
}
|
290 |
if ( ( $total_pages = ceil( $total / $maxElement ) ) > 1 ) {
|
291 |
for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) {
|
@@ -295,7 +363,7 @@ class nggallery {
|
|
295 |
$p = false;
|
296 |
if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) {
|
297 |
$args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num;
|
298 |
-
$r .= '<a class="page-numbers" href="' .
|
299 |
$in = true;
|
300 |
} elseif ( $in == true ) {
|
301 |
$r .= '<span>...</span>';
|
@@ -306,7 +374,7 @@ class nggallery {
|
|
306 |
}
|
307 |
if ( ( $page ) * $maxElement < $total || -1 == $total ) {
|
308 |
$args['nggpage'] = $page + 1;
|
309 |
-
$r .= '<a class="next" href="' .
|
310 |
}
|
311 |
|
312 |
$navigation = "<div class='ngg-navigation'>$r</div>";
|
@@ -318,6 +386,73 @@ class nggallery {
|
|
318 |
return $navigation;
|
319 |
}
|
320 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
}
|
322 |
|
323 |
/**
|
@@ -482,13 +617,15 @@ class ngg_Tags {
|
|
482 |
|
483 |
$picarray = array();
|
484 |
|
485 |
-
// first get all picture with this tag
|
486 |
$picids = $wpdb->get_col("SELECT t.picid FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE tt.slug IN ($sluglist) ORDER BY t.picid ASC ");
|
|
|
487 |
if (is_array($picids)){
|
488 |
// now get all pictures
|
489 |
$piclist = "'" . implode("', '", $picids) . "'";
|
490 |
-
//TODO:Use thumbnail sort order ?
|
491 |
-
|
|
|
492 |
}
|
493 |
|
494 |
return $picarray;
|
@@ -524,4 +661,168 @@ class ngg_Tags {
|
|
524 |
}
|
525 |
|
526 |
}
|
527 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
* nggallery.lib.php
|
6 |
*
|
7 |
* @author Alex Rabe
|
8 |
+
* @copyright Copyright 2007-2008
|
9 |
*
|
10 |
*/
|
11 |
|
43 |
global $wpdb;
|
44 |
|
45 |
//initialize variables
|
46 |
+
$this->imageID = (int) $imageID;
|
47 |
|
48 |
// get image values
|
49 |
$imageData = $wpdb->get_row("SELECT * FROM $wpdb->nggpictures WHERE pid = '$this->imageID' ") or $this->error = true;
|
68 |
|
69 |
/**********************************************************/
|
70 |
function get_thumbnail_folder($gallerypath, $include_Abspath = TRUE) {
|
71 |
+
//TODO:Double coded, see also class nggallery, fix it !
|
|
|
72 |
if (!$include_Abspath)
|
73 |
$gallerypath = WINABSPATH.$gallerypath;
|
74 |
|
75 |
+
if (!file_exists($gallerypath))
|
76 |
+
return FALSE;
|
77 |
+
|
78 |
if (is_dir($gallerypath."/thumbs")) {
|
79 |
$this->thumbFolder = "/thumbs/";
|
80 |
+
$this->thumbPrefix = "thumbs_";
|
81 |
return TRUE;
|
82 |
+
}
|
83 |
+
// old mygallery check
|
84 |
if (is_dir($gallerypath."/tumbs")) {
|
85 |
$this->thumbFolder = "/tumbs/";
|
86 |
$this->thumbPrefix = "tmb_";
|
87 |
return TRUE;
|
88 |
}
|
89 |
|
90 |
+
if (is_admin()) {
|
|
|
91 |
if (!is_dir($gallerypath."/thumbs")) {
|
92 |
+
if ( !wp_mkdir_p($gallerypath."/thumbs") )
|
93 |
+
return FALSE;
|
94 |
$this->thumbFolder = "/thumbs/";
|
95 |
+
$this->thumbPrefix = "thumbs_";
|
96 |
return TRUE;
|
97 |
}
|
98 |
}
|
99 |
|
100 |
return FALSE;
|
101 |
+
|
102 |
}
|
103 |
|
104 |
function get_thumbcode($galleryname) {
|
106 |
$ngg_options = get_option('ngg_options');
|
107 |
|
108 |
// get the effect code
|
109 |
+
if ($ngg_options['thumbEffect'] != "none") $this->thumbcode = stripslashes($ngg_options['thumbCode']);
|
110 |
+
if ($ngg_options['thumbEffect'] == "highslide") $this->thumbcode = str_replace("%GALLERY_NAME%", "'".$galleryname."'", $this->thumbcode);
|
111 |
else $this->thumbcode = str_replace("%GALLERY_NAME%", $galleryname, $this->thumbcode);
|
112 |
|
113 |
return $this->thumbcode;
|
128 |
|
129 |
return $this->href;
|
130 |
}
|
131 |
+
|
132 |
+
function cached_singlepic_file($width, $height, $mode = "" ) {
|
133 |
+
// This function creates a cache for all singlepics to reduce the CPU load
|
134 |
+
$ngg_options = get_option('ngg_options');
|
135 |
+
|
136 |
+
include_once(NGGALLERY_ABSPATH.'/lib/thumbnail.inc.php');
|
137 |
+
|
138 |
+
// cache filename should be unique
|
139 |
+
$cachename = $this->imageID. "_". $mode . "_". $width. "x". $height ."_". $this->filename;
|
140 |
+
$cachefolder = WINABSPATH .$ngg_options['gallerypath'] . "cache/";
|
141 |
+
$cached_url = get_option ('siteurl') ."/". $ngg_options['gallerypath'] . "cache/" . $cachename;
|
142 |
+
$cached_file = $cachefolder . $cachename;
|
143 |
+
|
144 |
+
// check first for the file
|
145 |
+
if ( file_exists($cached_file) )
|
146 |
+
return $cached_url;
|
147 |
+
|
148 |
+
// create folder if needed
|
149 |
+
if ( !file_exists($cachefolder) )
|
150 |
+
if ( !wp_mkdir_p($cachefolder) )
|
151 |
+
return false;
|
152 |
+
|
153 |
+
// get the filepath on the server
|
154 |
+
$filepath = WINABSPATH . "/" . $this->path ."/" . $this->filename;
|
155 |
+
$thumb = new ngg_Thumbnail($filepath, TRUE);
|
156 |
+
// echo $thumb->errmsg;
|
157 |
+
|
158 |
+
if (!$thumb->error) {
|
159 |
+
$thumb->resize($width,$height);
|
160 |
+
|
161 |
+
if ($mode == 'watermark') {
|
162 |
+
if ($ngg_options['wmType'] == 'image') {
|
163 |
+
$thumb->watermarkImgPath = $ngg_options['wmPath'];
|
164 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
165 |
+
}
|
166 |
+
if ($ngg_options['wmType'] == 'text') {
|
167 |
+
$thumb->watermarkText = $ngg_options['wmText'];
|
168 |
+
$thumb->watermarkCreateText($ngg_options['wmColor'], $ngg_options['wmFont'], $ngg_options['wmSize'], $ngg_options['wmOpaque']);
|
169 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
if ($mode == 'web20')
|
174 |
+
$thumb->createReflection(40,40,50,false,'#a4a4a4');
|
175 |
+
// save the new cache picture
|
176 |
+
$thumb->save($cached_file,$ngg_options['imgQuality']);
|
177 |
+
}
|
178 |
+
$thumb->destruct();
|
179 |
+
|
180 |
+
// check again for the file
|
181 |
+
if ( file_exists($cached_file) )
|
182 |
+
return $cached_url;
|
183 |
+
|
184 |
+
return false;
|
185 |
+
}
|
186 |
}
|
187 |
|
188 |
/**
|
223 |
}
|
224 |
|
225 |
/**********************************************************/
|
226 |
+
// remove some umlauts - deprecated
|
227 |
/**********************************************************/
|
228 |
function remove_umlauts($filename) {
|
229 |
|
285 |
if (!file_exists($gallerypath))
|
286 |
return FALSE;
|
287 |
if (is_dir($gallerypath."/thumbs")) return "/thumbs/";
|
288 |
+
// old mygallery check
|
289 |
if (is_dir($gallerypath."/tumbs")) return "/tumbs/";
|
290 |
+
|
291 |
+
if (is_admin()) {
|
292 |
if (!is_dir($gallerypath."/thumbs")) {
|
293 |
+
if ( !wp_mkdir_p($gallerypath."/thumbs") ) {
|
294 |
+
if (SAFE_MODE)
|
295 |
+
nggAdmin::check_safemode($gallerypath."/thumbs");
|
296 |
+
else
|
297 |
+
nggallery::show_error(__('Unable to create directory ', 'nggallery').$gallerypath.'/thumbs !');
|
298 |
+
return FALSE;
|
299 |
+
}
|
300 |
return "/thumbs/";
|
301 |
}
|
302 |
}
|
303 |
+
|
304 |
return FALSE;
|
305 |
|
306 |
}
|
313 |
|
314 |
if (!$include_Abspath) $gallerypath = WINABSPATH.$gallerypath;
|
315 |
if (is_dir($gallerypath."/thumbs")) return "thumbs_";
|
316 |
+
// old mygallery check
|
317 |
if (is_dir($gallerypath."/tumbs")) return "tmb_";
|
318 |
|
319 |
return FALSE;
|
340 |
// create the complete navigation
|
341 |
/**********************************************************/
|
342 |
function create_navigation($page, $totalElement, $maxElement = 0) {
|
343 |
+
global $nggRewrite;
|
344 |
+
|
345 |
$navigation = "";
|
346 |
|
347 |
if ($maxElement > 0) {
|
348 |
$total = $totalElement;
|
|
|
349 |
|
350 |
// create navigation
|
351 |
if ( $total > $maxElement ) {
|
353 |
$r = '';
|
354 |
if ( 1 < $page ) {
|
355 |
$args['nggpage'] = ( 1 == $page - 1 ) ? FALSE : $page - 1;
|
356 |
+
$r .= '<a class="prev" href="'. $nggRewrite->get_permalink( $args ) . '">◄</a>';
|
357 |
}
|
358 |
if ( ( $total_pages = ceil( $total / $maxElement ) ) > 1 ) {
|
359 |
for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) {
|
363 |
$p = false;
|
364 |
if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) {
|
365 |
$args['nggpage'] = ( 1 == $page_num ) ? FALSE : $page_num;
|
366 |
+
$r .= '<a class="page-numbers" href="' . $nggRewrite->get_permalink( $args ) . '">' . ( $page_num ) . '</a>';
|
367 |
$in = true;
|
368 |
} elseif ( $in == true ) {
|
369 |
$r .= '<span>...</span>';
|
374 |
}
|
375 |
if ( ( $page ) * $maxElement < $total || -1 == $total ) {
|
376 |
$args['nggpage'] = $page + 1;
|
377 |
+
$r .= '<a class="next" href="' . $nggRewrite->get_permalink ( $args ) . '">►</a>';
|
378 |
}
|
379 |
|
380 |
$navigation = "<div class='ngg-navigation'>$r</div>";
|
386 |
return $navigation;
|
387 |
}
|
388 |
|
389 |
+
/**
|
390 |
+
* nggallery::get_option() - get the options and overwrite them with custom meta settings
|
391 |
+
*
|
392 |
+
* @param string $key
|
393 |
+
* @return array $options
|
394 |
+
*/
|
395 |
+
function get_option($key) {
|
396 |
+
// get first the options from the database
|
397 |
+
$options = get_option($key);
|
398 |
+
// Get all key/value data for the current post.
|
399 |
+
$meta_array = get_post_custom();
|
400 |
+
// assign meta key to db setting key
|
401 |
+
$meta_tags = array(
|
402 |
+
'string' => array(
|
403 |
+
'ngg_gal_ShowOrder' => 'galShowOrder',
|
404 |
+
'ngg_gal_Sort' => 'galSort',
|
405 |
+
'ngg_gal_SortDirection' => 'galSortDir',
|
406 |
+
'ngg_gal_ShowDescription' => 'galShowDesc',
|
407 |
+
'ngg_ir_Audio' => 'irAudio',
|
408 |
+
'ngg_ir_Overstretch' => 'irOverstretch',
|
409 |
+
'ngg_ir_Transition' => 'irTransition',
|
410 |
+
'ngg_ir_Backcolor' => 'irBackcolor',
|
411 |
+
'ngg_ir_Frontcolor' => 'irFrontcolor',
|
412 |
+
'ngg_ir_Lightcolor' => 'irLightcolor'
|
413 |
+
),
|
414 |
+
|
415 |
+
'int' => array(
|
416 |
+
'ngg_gal_Images' => 'galImages',
|
417 |
+
'ngg_gal_Sort' => 'galSort',
|
418 |
+
'ngg_ir_Width' => 'irWidth',
|
419 |
+
'ngg_ir_Height' => 'irHeight',
|
420 |
+
'ngg_ir_Rotatetime' => 'irRotatetime'
|
421 |
+
),
|
422 |
+
|
423 |
+
'bool' => array(
|
424 |
+
'ngg_gal_ShowSlide' => 'galShowSlide',
|
425 |
+
'ngg_gal_ImgageBrowser' => 'galImgBrowser',
|
426 |
+
'ngg_ir_Shuffle' => 'irShuffle',
|
427 |
+
'ngg_ir_LinkFromDisplay' => 'irLinkfromdisplay',
|
428 |
+
'ngg_ir_ShowNavigation' => 'irShownavigation',
|
429 |
+
'ngg_ir_ShowWatermark' => 'irWatermark',
|
430 |
+
'ngg_ir_Overstretch' => 'irOverstretch',
|
431 |
+
'ngg_ir_Kenburns' => 'irKenburns'
|
432 |
+
)
|
433 |
+
);
|
434 |
+
|
435 |
+
foreach ($meta_tags as $typ => $meta_keys){
|
436 |
+
foreach ($meta_keys as $key => $db_value){
|
437 |
+
// if the kex exist overwrite it with the custom field
|
438 |
+
if (array_key_exists($key, $meta_array)){
|
439 |
+
switch ($typ) {
|
440 |
+
case "string":
|
441 |
+
$options[$db_value] = (string) attribute_escape($meta_array[$key][0]);
|
442 |
+
break;
|
443 |
+
case "int":
|
444 |
+
$options[$db_value] = (int) $meta_array[$key][0];
|
445 |
+
break;
|
446 |
+
case "bool":
|
447 |
+
$options[$db_value] = (bool) $meta_array[$key][0];
|
448 |
+
break;
|
449 |
+
}
|
450 |
+
}
|
451 |
+
}
|
452 |
+
}
|
453 |
+
|
454 |
+
return $options;
|
455 |
+
}
|
456 |
}
|
457 |
|
458 |
/**
|
617 |
|
618 |
$picarray = array();
|
619 |
|
620 |
+
// first get all picture with this tag //
|
621 |
$picids = $wpdb->get_col("SELECT t.picid FROM $wpdb->nggpic2tags AS t INNER JOIN $wpdb->nggtags AS tt ON t.tagid = tt.id WHERE tt.slug IN ($sluglist) ORDER BY t.picid ASC ");
|
622 |
+
|
623 |
if (is_array($picids)){
|
624 |
// now get all pictures
|
625 |
$piclist = "'" . implode("', '", $picids) . "'";
|
626 |
+
//TODO: Use thumbnail sort order ? v0.80 Use now random function
|
627 |
+
//$picarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid IN ($piclist) ORDER BY t.pid ASC ");
|
628 |
+
$picarray = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggpictures AS t INNER JOIN $wpdb->nggallery AS tt ON t.galleryid = tt.gid WHERE t.pid IN ($piclist) ORDER BY rand() ");
|
629 |
}
|
630 |
|
631 |
return $picarray;
|
661 |
}
|
662 |
|
663 |
}
|
664 |
+
|
665 |
+
/**
|
666 |
+
* nggRewrite - First version of Rewrite Rules
|
667 |
+
*
|
668 |
+
* sorry wp-guys I didn't understand this at all.
|
669 |
+
* I tried it a couple of hours : this is the only pooooor result
|
670 |
+
*
|
671 |
+
* @package NextGEN Gallery
|
672 |
+
* @author Alex Rabe
|
673 |
+
* @copyright 2008
|
674 |
+
*
|
675 |
+
*/
|
676 |
+
class nggRewrite {
|
677 |
+
|
678 |
+
// default value
|
679 |
+
var $slug = "nggallery";
|
680 |
+
|
681 |
+
function nggRewrite() {
|
682 |
+
|
683 |
+
// read the option setting
|
684 |
+
$this->options = get_option('ngg_options');
|
685 |
+
|
686 |
+
// get later from the options
|
687 |
+
$this->slug = "nggallery";
|
688 |
+
|
689 |
+
/*WARNING: Do nothook rewrite rule regentation on the init hook for anything other than dev. */
|
690 |
+
//add_action('init',array(&$this, 'flush'));
|
691 |
+
|
692 |
+
add_filter('query_vars', array(&$this, 'add_queryvars') );
|
693 |
+
if ($this->options['usePermalinks'])
|
694 |
+
add_action('generate_rewrite_rules', array(&$this, 'RewriteRules'));
|
695 |
+
|
696 |
+
} // end of initialization
|
697 |
+
|
698 |
+
function get_permalink( $args ) {
|
699 |
+
global $wp_rewrite, $wp_query;
|
700 |
+
|
701 |
+
if ($wp_rewrite->using_permalinks() && $this->options['usePermalinks'] ) {
|
702 |
+
|
703 |
+
$post = &get_post(get_the_ID());
|
704 |
+
|
705 |
+
// $_GET from wp_query
|
706 |
+
$album = get_query_var('album');
|
707 |
+
if ( !empty( $album ) )
|
708 |
+
$args ['album'] = $album;
|
709 |
+
$gallery = get_query_var('gallery');
|
710 |
+
if ( !empty( $gallery ) )
|
711 |
+
$args ['gallery'] = $gallery;
|
712 |
+
$gallerytag = get_query_var('gallerytag');
|
713 |
+
if ( !empty( $gallerytag ) )
|
714 |
+
$args ['gallerytag'] = $gallerytag;
|
715 |
+
|
716 |
+
/* urlconstructor = slug | type | tags | [nav] | [show]
|
717 |
+
type : page | post
|
718 |
+
tags : album, gallery -> /album-([0-9]+)/gallery-([0-9]+)/
|
719 |
+
pid -> /page/([0-9]+)/
|
720 |
+
gallerytag -> /tags/([^/]+)/
|
721 |
+
nav : nggpage -> /page-([0-9]+)/
|
722 |
+
show : show=slide -> /slideshow/
|
723 |
+
show=gallery -> /images/
|
724 |
+
*/
|
725 |
+
|
726 |
+
// 1. Blog url + main slug
|
727 |
+
$url = get_option('home'). "/". $this->slug;
|
728 |
+
// 2. Post or page ?
|
729 |
+
if ( $post->post_type == 'page' )
|
730 |
+
$url .= "/page-".$post->ID; // Pagnename is nicer but how to handle /parent/pagename ? Confused...
|
731 |
+
else
|
732 |
+
$url .= "/post/".$post->post_name;
|
733 |
+
// 3. Album, pid or tags
|
734 |
+
if (isset ($args['album']) && isset ($args['gallery']) )
|
735 |
+
$url .= "/album-".$args['album']."/gallery-".$args['gallery'];
|
736 |
+
if (isset ($args['gallerytag']))
|
737 |
+
$url .= "/tags/".$args['gallerytag'];
|
738 |
+
if (isset ($args['pid']))
|
739 |
+
$url .= "/page/".$args['pid'];
|
740 |
+
// 4. Navigation
|
741 |
+
if (isset ($args['nggpage']) && ($args['nggpage']) )
|
742 |
+
$url .= "/page-".$args['nggpage'];
|
743 |
+
// 5. Show images or Slideshow
|
744 |
+
if (isset ($args['show']))
|
745 |
+
$url .= ( $args['show'] == 'slide' ) ? "/slideshow" : "/images";
|
746 |
+
|
747 |
+
return $url;
|
748 |
+
|
749 |
+
} else {
|
750 |
+
|
751 |
+
// we need to add the page/post id at the start_page otherwise we don't know which gallery is clicked
|
752 |
+
if (is_home())
|
753 |
+
$args['pageid'] = get_the_ID();
|
754 |
+
|
755 |
+
// taken from is_frontpage plugin, required for static homepage
|
756 |
+
$show_on_front = get_option('show_on_front');
|
757 |
+
$page_on_front = get_option('page_on_front');
|
758 |
+
|
759 |
+
if ( ($show_on_front == 'page') && ($page_on_front == get_the_ID()) )
|
760 |
+
$args['page_id'] = get_the_ID();
|
761 |
+
|
762 |
+
$query = htmlspecialchars(add_query_arg( $args));
|
763 |
+
|
764 |
+
return $query;
|
765 |
+
}
|
766 |
+
}
|
767 |
+
|
768 |
+
// The permalinks needs to be flushed after activation
|
769 |
+
function flush() {
|
770 |
+
global $wp_rewrite;
|
771 |
+
$wp_rewrite->flush_rules();
|
772 |
+
}
|
773 |
+
|
774 |
+
// add some more vars to the big wp_query
|
775 |
+
function add_queryvars( $query_vars ){
|
776 |
+
|
777 |
+
$query_vars[] = 'pid';
|
778 |
+
$query_vars[] = 'pageid';
|
779 |
+
$query_vars[] = 'nggpage';
|
780 |
+
$query_vars[] = 'gallery';
|
781 |
+
$query_vars[] = 'album';
|
782 |
+
$query_vars[] = 'gallerytag';
|
783 |
+
$query_vars[] = 'show';
|
784 |
+
|
785 |
+
return $query_vars;
|
786 |
+
}
|
787 |
+
|
788 |
+
function RewriteRules($wp_rewrite) {
|
789 |
+
|
790 |
+
$rewrite_rules = array
|
791 |
+
(
|
792 |
+
// rewrite rules for pages
|
793 |
+
$this->slug.'/page-([0-9]+)/?$' => 'index.php?page_id=$matches[1]',
|
794 |
+
$this->slug.'/page-([0-9]+)/page-([0-9]+)/?$' => 'index.php?page_id=$matches[1]&nggpage=$matches[2]',
|
795 |
+
$this->slug.'/page-([0-9]+)/page/([0-9]+)/?$' => 'index.php?page_id=$matches[1]&pid=$matches[2]',
|
796 |
+
$this->slug.'/page-([0-9]+)/slideshow/?$' => 'index.php?page_id=$matches[1]&show=slide',
|
797 |
+
$this->slug.'/page-([0-9]+)/images/?$' => 'index.php?page_id=$matches[1]&show=gallery',
|
798 |
+
$this->slug.'/page-([0-9]+)/tags/([^/]+)/?$' => 'index.php?page_id=$matches[1]&gallerytag=$matches[2]',
|
799 |
+
$this->slug.'/page-([0-9]+)/tags/([^/]+)/page-([0-9]+)/?$' => 'index.php?page_id=$matches[1]&gallerytag=$matches[2]&nggpage=$matches[3]',
|
800 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]',
|
801 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/slideshow/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]&show=slide',
|
802 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/images/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]&show=gallery',
|
803 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]',
|
804 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/slideshow/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]&show=slide',
|
805 |
+
$this->slug.'/page-([0-9]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/images/?$' => 'index.php?page_id=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]&show=gallery',
|
806 |
+
// rewrite rules for posts
|
807 |
+
$this->slug.'/post/([^/]+)/?$' => 'index.php?name=$matches[1]',
|
808 |
+
$this->slug.'/post/([^/]+)/page-([0-9]+)/?$' => 'index.php?name=$matches[1]&nggpage=$matches[2]',
|
809 |
+
$this->slug.'/post/([^/]+)/page/([0-9]+)/?$' => 'index.php?name=$matches[1]&pid=$matches[2]',
|
810 |
+
$this->slug.'/post/([^/]+)/slideshow/?$' => 'index.php?name=$matches[1]&show=slide',
|
811 |
+
$this->slug.'/post/([^/]+)/images/?$' => 'index.php?name=$matches[1]&show=gallery',
|
812 |
+
$this->slug.'/post/([^/]+)/tags/([^/]+)/?$' => 'index.php?name=$matches[1]&gallerytag=$matches[2]',
|
813 |
+
$this->slug.'/post/([^/]+)/tags/([^/]+)/page-([0-9]+)/?$' => 'index.php?name=$matches[1]&gallerytag=$matches[2]&nggpage=$matches[3]',
|
814 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]',
|
815 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/slideshow/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]&show=slide',
|
816 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/images/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]&show=gallery',
|
817 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]',
|
818 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/slideshow/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]&show=slide',
|
819 |
+
$this->slug.'/post/([^/]+)/album-([0-9]+)/gallery-([0-9]+)/page-([0-9]+)/images/?$' => 'index.php?name=$matches[1]&album=$matches[2]&gallery=$matches[3]&nggpage=$matches[4]&show=gallery',
|
820 |
+
);
|
821 |
+
|
822 |
+
$wp_rewrite->rules = $wp_rewrite->rules + $rewrite_rules;
|
823 |
+
|
824 |
+
}
|
825 |
+
|
826 |
+
} // of nggRewrite CLASS
|
827 |
+
|
828 |
+
?>
|
lib/nggmeta.lib.php
CHANGED
@@ -16,6 +16,10 @@ class nggMeta{
|
|
16 |
var $exif_data = false; // EXIF data array
|
17 |
var $iptc_data = false; // IPTC data array
|
18 |
var $xmp_data = false; // XMP data array
|
|
|
|
|
|
|
|
|
19 |
|
20 |
/**
|
21 |
* nggMeta::nggMeta()
|
@@ -58,47 +62,62 @@ class nggMeta{
|
|
58 |
*
|
59 |
* @return structured EXIF data
|
60 |
*/
|
61 |
-
function get_EXIF() {
|
62 |
|
63 |
if (!$this->exif_data)
|
64 |
return false;
|
65 |
-
|
66 |
-
$meta= array();
|
67 |
|
68 |
-
|
69 |
-
$exif = $this->exif_data['EXIF'];
|
70 |
-
if (!empty($exif['FNumber']))
|
71 |
-
$meta['aperture'] = "F " . round( $this->exif_frac2dec( $exif['FNumber'] ), 2 );
|
72 |
-
if (!empty($exif['Model']))
|
73 |
-
$meta['camera'] = trim( $exif['Model'] );
|
74 |
-
if (!empty($exif['DateTimeDigitized']))
|
75 |
-
$meta['created_timestamp'] = date_i18n(get_option('date_format').' '.get_option('time_format'), $this->exif_date2ts($exif['DateTimeDigitized']));
|
76 |
-
if (!empty($exif['FocalLength']))
|
77 |
-
$meta['focal_length'] = $this->exif_frac2dec( $exif['FocalLength'] ) . __(' mm','nggallery');
|
78 |
-
if (!empty($exif['ISOSpeedRatings']))
|
79 |
-
$meta['iso'] = $exif['ISOSpeedRatings'];
|
80 |
-
if (!empty($exif['ExposureTime']))
|
81 |
-
$meta['shutter_speed'] = $exif['ExposureTime'] . __(' sec','nggallery');
|
82 |
-
|
83 |
-
// additional information
|
84 |
-
$exif = $this->exif_data['IFD0'];
|
85 |
-
if (!empty($exif['Model']))
|
86 |
-
$meta['camera'] = $exif['Model'];
|
87 |
-
if (!empty($exif['Make']))
|
88 |
-
$meta['make'] = $exif['Make'];
|
89 |
-
|
90 |
-
// this is done by Windows
|
91 |
-
$exif = $this->exif_data['WINXP'];
|
92 |
-
if (!empty($exif['Title']))
|
93 |
-
$meta['title'] = $exif['Title'];
|
94 |
-
if (!empty($exif['Author']))
|
95 |
-
$meta['author'] = $exif['Author'];
|
96 |
-
if (!empty($exif['Keywords']))
|
97 |
-
$meta['tags'] = $exif['Keywords'];
|
98 |
-
if (!empty($exif['Subject']))
|
99 |
-
$meta['subject'] = $exif['Subject'];
|
100 |
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
103 |
}
|
104 |
|
@@ -123,45 +142,54 @@ class nggMeta{
|
|
123 |
* nggMeta::readIPTC() - IPTC Data Information for EXIF Display
|
124 |
*
|
125 |
* @param mixed $output_tag
|
126 |
-
* @return
|
127 |
*/
|
128 |
-
function get_IPTC() {
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
156 |
foreach ($iptcTags as $key => $value) {
|
157 |
if ($this->iptc_data[$key])
|
158 |
-
$
|
159 |
-
|
160 |
}
|
161 |
-
|
162 |
}
|
163 |
-
|
164 |
-
return
|
|
|
|
|
|
|
|
|
165 |
}
|
166 |
|
167 |
/**
|
@@ -170,7 +198,7 @@ class nggMeta{
|
|
170 |
* code by Pekka Saarinen http://photography-on-the.net
|
171 |
*
|
172 |
* @param mixed $filename
|
173 |
-
* @return
|
174 |
*/
|
175 |
function extract_XMP( $filename ) {
|
176 |
|
@@ -198,90 +226,100 @@ class nggMeta{
|
|
198 |
*
|
199 |
* @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
|
200 |
* @author Alf Marius Foss Olsen & Alex Rabe
|
201 |
-
*
|
|
|
202 |
*/
|
203 |
-
function get_XMP() {
|
204 |
|
205 |
if(!$this->xmp_data)
|
206 |
-
return false;
|
207 |
|
208 |
-
|
209 |
-
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // Dont mess with my cAsE sEtTings
|
210 |
-
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); // Dont bother with empty info
|
211 |
-
xml_parse_into_struct($parser, $this->xmp_data, $values);
|
212 |
-
xml_parser_free($parser);
|
213 |
-
|
214 |
-
$xmlarray = array(); // The XML array
|
215 |
-
$XMParray = array(); // The returned array
|
216 |
-
$stack = array(); // tmp array used for stacking
|
217 |
-
$list_array = array(); // tmp array for list elements
|
218 |
-
$list_element = false; // rdf:li indicator
|
219 |
-
|
220 |
-
foreach($values as $val) {
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
}
|
281 |
}
|
|
|
282 |
}
|
283 |
-
|
284 |
-
return
|
|
|
|
|
|
|
|
|
285 |
}
|
286 |
|
287 |
function setArrayValue(&$array, $stack, $value) {
|
@@ -294,6 +332,26 @@ class nggMeta{
|
|
294 |
}
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
/**
|
298 |
* nggMeta::i8n_name() - localize the tag name
|
299 |
*
|
@@ -312,7 +370,7 @@ class nggMeta{
|
|
312 |
'focal_length' => __('Focal length','nggallery'),
|
313 |
'iso' => __('ISO','nggallery'),
|
314 |
'shutter_speed' => __('Shutter speed','nggallery'),
|
315 |
-
'title' => __('
|
316 |
'author' => __('Author','nggallery'),
|
317 |
'tags' => __('Tags','nggallery'),
|
318 |
'subject' => __('Subject','nggallery'),
|
16 |
var $exif_data = false; // EXIF data array
|
17 |
var $iptc_data = false; // IPTC data array
|
18 |
var $xmp_data = false; // XMP data array
|
19 |
+
/**** Filtered Data ****/
|
20 |
+
var $exif_array = false; // EXIF data array
|
21 |
+
var $iptc_array = false; // IPTC data array
|
22 |
+
var $xmp_array = false; // XMP data array
|
23 |
|
24 |
/**
|
25 |
* nggMeta::nggMeta()
|
62 |
*
|
63 |
* @return structured EXIF data
|
64 |
*/
|
65 |
+
function get_EXIF($object = false) {
|
66 |
|
67 |
if (!$this->exif_data)
|
68 |
return false;
|
|
|
|
|
69 |
|
70 |
+
if (!is_array($this->exif_array)){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
+
$meta= array();
|
73 |
+
|
74 |
+
// taken from WP core
|
75 |
+
$exif = $this->exif_data['EXIF'];
|
76 |
+
if (!empty($exif['FNumber']))
|
77 |
+
$meta['aperture'] = "F " . round( $this->exif_frac2dec( $exif['FNumber'] ), 2 );
|
78 |
+
if (!empty($exif['Model']))
|
79 |
+
$meta['camera'] = trim( $exif['Model'] );
|
80 |
+
if (!empty($exif['DateTimeDigitized']))
|
81 |
+
$meta['created_timestamp'] = date_i18n(get_option('date_format').' '.get_option('time_format'), $this->exif_date2ts($exif['DateTimeDigitized']));
|
82 |
+
if (!empty($exif['FocalLength']))
|
83 |
+
$meta['focal_length'] = $this->exif_frac2dec( $exif['FocalLength'] ) . __(' mm','nggallery');
|
84 |
+
if (!empty($exif['ISOSpeedRatings']))
|
85 |
+
$meta['iso'] = $exif['ISOSpeedRatings'];
|
86 |
+
if (!empty($exif['ExposureTime'])) {
|
87 |
+
$meta['shutter_speed'] = $this->exif_frac2dec ($exif['ExposureTime']);
|
88 |
+
($meta['shutter_speed'] > 0.0 and $meta['shutter_speed'] < 1.0) ? ("1/" . round(1/$meta['shutter_speed'])) : ($meta['shutter_speed']);
|
89 |
+
$meta['shutter_speed'] .= __(' sec','nggallery');
|
90 |
+
}
|
91 |
+
|
92 |
+
// additional information
|
93 |
+
$exif = $this->exif_data['IFD0'];
|
94 |
+
if (!empty($exif['Model']))
|
95 |
+
$meta['camera'] = $exif['Model'];
|
96 |
+
if (!empty($exif['Make']))
|
97 |
+
$meta['make'] = $exif['Make'];
|
98 |
+
|
99 |
+
// this is done by Windows
|
100 |
+
$exif = $this->exif_data['WINXP'];
|
101 |
+
|
102 |
+
if (!empty($exif['Title']))
|
103 |
+
$meta['title'] = utf8_encode($exif['Title']);
|
104 |
+
if (!empty($exif['Author']))
|
105 |
+
$meta['author'] = utf8_encode($exif['Author']);
|
106 |
+
if (!empty($exif['Keywords']))
|
107 |
+
$meta['tags'] = utf8_encode($exif['Keywords']);
|
108 |
+
if (!empty($exif['Subject']))
|
109 |
+
$meta['subject'] = utf8_encode($exif['Subject']);
|
110 |
+
if (!empty($exif['Comments']))
|
111 |
+
$meta['caption'] = utf8_encode($exif['Comments']);
|
112 |
+
|
113 |
+
$this->exif_array = $meta;
|
114 |
+
}
|
115 |
+
|
116 |
+
// return one element if requested
|
117 |
+
if ($object)
|
118 |
+
return $this->exif_array[$object];
|
119 |
+
|
120 |
+
return $this->exif_array;
|
121 |
|
122 |
}
|
123 |
|
142 |
* nggMeta::readIPTC() - IPTC Data Information for EXIF Display
|
143 |
*
|
144 |
* @param mixed $output_tag
|
145 |
+
* @return IPTC-tags
|
146 |
*/
|
147 |
+
function get_IPTC($object = false) {
|
148 |
|
149 |
+
if (!$this->iptc_data)
|
150 |
+
return false;
|
151 |
+
|
152 |
+
if (!is_array($this->iptc_array)){
|
153 |
+
|
154 |
+
// --------- Set up Array Functions --------- //
|
155 |
+
$iptcTags = array (
|
156 |
+
"2#005" => 'title',
|
157 |
+
"2#007" => 'status',
|
158 |
+
"2#012" => 'subject',
|
159 |
+
"2#015" => 'category',
|
160 |
+
"2#025" => 'keywords',
|
161 |
+
"2#055" => 'created_date',
|
162 |
+
"2#060" => 'created_time',
|
163 |
+
"2#080" => 'author',
|
164 |
+
"2#085" => 'position',
|
165 |
+
"2#090" => 'city',
|
166 |
+
"2#092" => 'location',
|
167 |
+
"2#095" => 'state',
|
168 |
+
"2#100" => 'country_code',
|
169 |
+
"2#101" => 'country',
|
170 |
+
"2#105" => 'headline',
|
171 |
+
"2#110" => 'credit',
|
172 |
+
"2#115" => 'source',
|
173 |
+
"2#116" => 'copyright',
|
174 |
+
"2#118" => 'contact',
|
175 |
+
"2#120" => 'caption'
|
176 |
+
);
|
177 |
+
|
178 |
+
// var_dump($this->iptc_data);
|
179 |
+
$meta = array();
|
180 |
foreach ($iptcTags as $key => $value) {
|
181 |
if ($this->iptc_data[$key])
|
182 |
+
$meta[$value] = trim(utf8_encode(implode(", ", $this->iptc_data[$key])));
|
183 |
+
|
184 |
}
|
185 |
+
$this->iptc_array = $meta;
|
186 |
}
|
187 |
+
|
188 |
+
// return one element if requested
|
189 |
+
if ($object)
|
190 |
+
return $this->iptc_array[$object];
|
191 |
+
|
192 |
+
return $this->iptc_array;
|
193 |
}
|
194 |
|
195 |
/**
|
198 |
* code by Pekka Saarinen http://photography-on-the.net
|
199 |
*
|
200 |
* @param mixed $filename
|
201 |
+
* @return XML data
|
202 |
*/
|
203 |
function extract_XMP( $filename ) {
|
204 |
|
226 |
*
|
227 |
* @package Taken from http://php.net/manual/en/function.xml-parse-into-struct.php
|
228 |
* @author Alf Marius Foss Olsen & Alex Rabe
|
229 |
+
* @return XML Array or object
|
230 |
+
*
|
231 |
*/
|
232 |
+
function get_XMP($object = false) {
|
233 |
|
234 |
if(!$this->xmp_data)
|
235 |
+
return false;
|
236 |
|
237 |
+
if (!is_array($this->xmp_array)){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
|
239 |
+
$parser = xml_parser_create();
|
240 |
+
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); // Dont mess with my cAsE sEtTings
|
241 |
+
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); // Dont bother with empty info
|
242 |
+
xml_parse_into_struct($parser, $this->xmp_data, $values);
|
243 |
+
xml_parser_free($parser);
|
244 |
+
|
245 |
+
$xmlarray = array(); // The XML array
|
246 |
+
$this->xmp_array = array(); // The returned array
|
247 |
+
$stack = array(); // tmp array used for stacking
|
248 |
+
$list_array = array(); // tmp array for list elements
|
249 |
+
$list_element = false; // rdf:li indicator
|
250 |
+
|
251 |
+
foreach($values as $val) {
|
252 |
+
|
253 |
+
if($val['type'] == "open") {
|
254 |
+
array_push($stack, $val['tag']);
|
255 |
+
|
256 |
+
} elseif($val['type'] == "close") {
|
257 |
+
// reset the compared stack
|
258 |
+
if ($list_element == false)
|
259 |
+
array_pop($stack);
|
260 |
+
// reset the rdf:li indicator & array
|
261 |
+
$list_element = false;
|
262 |
+
$list_array = array();
|
263 |
+
|
264 |
+
} elseif($val['type'] == "complete") {
|
265 |
+
if ($val['tag'] == "rdf:li") {
|
266 |
+
// first go one element back
|
267 |
+
if ($list_element == false)
|
268 |
+
array_pop($stack);
|
269 |
+
$list_element = true;
|
270 |
+
// save it in our temp array
|
271 |
+
$list_array[] = $val['value'];
|
272 |
+
// in the case it's a list element we seralize it
|
273 |
+
$value = implode(",", $list_array);
|
274 |
+
$this->setArrayValue($xmlarray, $stack, $value);
|
275 |
+
} else {
|
276 |
+
array_push($stack, $val['tag']);
|
277 |
+
$this->setArrayValue($xmlarray, $stack, $val['value']);
|
278 |
+
array_pop($stack);
|
279 |
+
}
|
280 |
+
}
|
281 |
+
|
282 |
+
} // foreach
|
283 |
+
|
284 |
+
// cut off the useless tags
|
285 |
+
$xmlarray = $xmlarray['x:xmpmeta']['rdf:RDF']['rdf:Description'];
|
286 |
+
|
287 |
+
// --------- Some values from the XMP format--------- //
|
288 |
+
$xmpTags = array (
|
289 |
+
'xap:CreateDate' => 'created_timestamp',
|
290 |
+
'xap:ModifyDate' => 'last_modfied',
|
291 |
+
'xap:CreatorTool' => 'tool',
|
292 |
+
'dc:format' => 'format',
|
293 |
+
'dc:title' => 'title',
|
294 |
+
'dc:creator' => 'author',
|
295 |
+
'dc:subject' => 'keywords',
|
296 |
+
'dc:description' => 'caption',
|
297 |
+
'photoshop:AuthorsPosition' => 'position',
|
298 |
+
'photoshop:City' => 'city',
|
299 |
+
'photoshop:Country' => 'country'
|
300 |
+
);
|
301 |
+
|
302 |
+
foreach ($xmpTags as $key => $value) {
|
303 |
+
// if the kex exist
|
304 |
+
if ($xmlarray[$key]) {
|
305 |
+
switch ($key) {
|
306 |
+
case 'xap:CreateDate':
|
307 |
+
case 'xap:ModifyDate':
|
308 |
+
$this->xmp_array[$value] = date_i18n(get_option('date_format').' '.get_option('time_format'), strtotime($xmlarray[$key]));
|
309 |
+
break;
|
310 |
+
default :
|
311 |
+
$this->xmp_array[$value] = $xmlarray[$key];
|
312 |
+
}
|
313 |
}
|
314 |
}
|
315 |
+
|
316 |
}
|
317 |
+
|
318 |
+
// return one element if requested
|
319 |
+
if ($object)
|
320 |
+
return $this->xmp_array[$object];
|
321 |
+
|
322 |
+
return $this->xmp_array;
|
323 |
}
|
324 |
|
325 |
function setArrayValue(&$array, $stack, $value) {
|
332 |
}
|
333 |
}
|
334 |
|
335 |
+
/**
|
336 |
+
* nggMeta::get_META() - return a meta value form the available list
|
337 |
+
*
|
338 |
+
* @param string $object
|
339 |
+
* @return mixed $value
|
340 |
+
*/
|
341 |
+
function get_META($object = false) {
|
342 |
+
|
343 |
+
// defined order XMP , before IPTC and EXIF.
|
344 |
+
if ($value = $this->get_XMP($object))
|
345 |
+
return $value;
|
346 |
+
if ($value = $this->get_IPTC($object))
|
347 |
+
return $value;
|
348 |
+
if ($value = $this->get_EXIF($object))
|
349 |
+
return $value;
|
350 |
+
|
351 |
+
// nothing found ?
|
352 |
+
return false;
|
353 |
+
}
|
354 |
+
|
355 |
/**
|
356 |
* nggMeta::i8n_name() - localize the tag name
|
357 |
*
|
370 |
'focal_length' => __('Focal length','nggallery'),
|
371 |
'iso' => __('ISO','nggallery'),
|
372 |
'shutter_speed' => __('Shutter speed','nggallery'),
|
373 |
+
'title' => __('Title','nggallery'),
|
374 |
'author' => __('Author','nggallery'),
|
375 |
'tags' => __('Tags','nggallery'),
|
376 |
'subject' => __('Subject','nggallery'),
|
lib/pclzip.lib.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
// --------------------------------------------------------------------------------
|
3 |
-
// PhpConcept Library - Zip Module 2.
|
4 |
// --------------------------------------------------------------------------------
|
5 |
// License GNU/LGPL - Vincent Blavet - March 2006
|
6 |
// http://www.phpconcept.net
|
@@ -22,11 +22,13 @@
|
|
22 |
// The use of this software is at the risk of the user.
|
23 |
//
|
24 |
// --------------------------------------------------------------------------------
|
25 |
-
// $Id: pclzip.lib.php,v 1.
|
26 |
// --------------------------------------------------------------------------------
|
27 |
|
28 |
// ----- Constants
|
29 |
-
|
|
|
|
|
30 |
|
31 |
// ----- File list separator
|
32 |
// In version 1.x of PclZip, the separator for file list is a space
|
@@ -38,14 +40,18 @@
|
|
38 |
// Recommanded values for compatibility with older versions :
|
39 |
//define( 'PCLZIP_SEPARATOR', ' ' );
|
40 |
// Recommanded values for smart separation of filenames.
|
41 |
-
|
|
|
|
|
42 |
|
43 |
// ----- Error configuration
|
44 |
// 0 : PclZip Class integrated error handling
|
45 |
// 1 : PclError external library error handling. By enabling this
|
46 |
// you must ensure that you have included PclError library.
|
47 |
// [2,...] : reserved for futur use
|
48 |
-
|
|
|
|
|
49 |
|
50 |
// ----- Optional static temporary directory
|
51 |
// By default temporary files are generated in the script current
|
@@ -56,14 +62,16 @@
|
|
56 |
// Samples :
|
57 |
// define( 'PCLZIP_TEMPORARY_DIR', '/temp/' );
|
58 |
// define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' );
|
59 |
-
|
|
|
|
|
60 |
|
61 |
// --------------------------------------------------------------------------------
|
62 |
// ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED *****
|
63 |
// --------------------------------------------------------------------------------
|
64 |
|
65 |
// ----- Global variables
|
66 |
-
$g_pclzip_version = "2.
|
67 |
|
68 |
// ----- Error codes
|
69 |
// -1 : Unable to open file in binary write mode
|
@@ -133,6 +141,9 @@
|
|
133 |
define( 'PCLZIP_ATT_FILE_NAME', 79001 );
|
134 |
define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 );
|
135 |
define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 );
|
|
|
|
|
|
|
136 |
|
137 |
// ----- Call backs values
|
138 |
define( 'PCLZIP_CB_PRE_EXTRACT', 78001 );
|
@@ -363,6 +374,9 @@
|
|
363 |
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
|
364 |
,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
|
365 |
,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
|
|
|
|
|
|
|
366 |
);
|
367 |
foreach ($v_att_list as $v_entry) {
|
368 |
$v_result = $this->privFileDescrParseAtt($v_entry,
|
@@ -548,6 +562,9 @@
|
|
548 |
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
|
549 |
,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
|
550 |
,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
|
|
|
|
|
|
|
551 |
);
|
552 |
foreach ($v_att_list as $v_entry) {
|
553 |
$v_result = $this->privFileDescrParseAtt($v_entry,
|
@@ -793,9 +810,9 @@
|
|
793 |
$p_list = array();
|
794 |
$v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path,
|
795 |
$v_remove_all_path, $v_options);
|
796 |
-
|
797 |
if ($v_result < 1) {
|
798 |
unset($p_list);
|
|
|
799 |
$this->error_code = $v_result;
|
800 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo());
|
801 |
return(0);
|
@@ -1487,7 +1504,7 @@
|
|
1487 |
}
|
1488 |
|
1489 |
// ----- Get the value
|
1490 |
-
$v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1],
|
1491 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'");
|
1492 |
$i++;
|
1493 |
break;
|
@@ -1506,7 +1523,7 @@
|
|
1506 |
// ----- Get the value
|
1507 |
if ( is_string($p_options_list[$i+1])
|
1508 |
&& ($p_options_list[$i+1] != '')) {
|
1509 |
-
$v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1],
|
1510 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'");
|
1511 |
$i++;
|
1512 |
}
|
@@ -1903,6 +1920,34 @@
|
|
1903 |
}
|
1904 |
break;
|
1905 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1906 |
default :
|
1907 |
// ----- Error log
|
1908 |
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
|
@@ -1956,6 +2001,8 @@
|
|
1956 |
|
1957 |
// ----- Look each entry
|
1958 |
for ($i=0; $i<sizeof($p_filedescr_list); $i++) {
|
|
|
|
|
1959 |
// ----- Get filedescr
|
1960 |
$v_descr = $p_filedescr_list[$i];
|
1961 |
|
@@ -1965,8 +2012,36 @@
|
|
1965 |
$v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']);
|
1966 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filedescr after reduction :'".$v_descr['filename']."'");
|
1967 |
|
1968 |
-
// -----
|
1969 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1970 |
// ----- Error log
|
1971 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$v_descr['filename']."' does not exists");
|
1972 |
PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exists");
|
@@ -1975,24 +2050,6 @@
|
|
1975 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
1976 |
return PclZip::errorCode();
|
1977 |
}
|
1978 |
-
if (@is_file($v_descr['filename'])) {
|
1979 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "This is a file");
|
1980 |
-
$v_descr['type'] = 'file';
|
1981 |
-
}
|
1982 |
-
else if (@is_dir($v_descr['filename'])) {
|
1983 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "This is a folder");
|
1984 |
-
$v_descr['type'] = 'folder';
|
1985 |
-
}
|
1986 |
-
else if (@is_link($v_descr['filename'])) {
|
1987 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Unsupported file type : link");
|
1988 |
-
// skip
|
1989 |
-
continue;
|
1990 |
-
}
|
1991 |
-
else {
|
1992 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Unsupported file type : unknown type");
|
1993 |
-
// skip
|
1994 |
-
continue;
|
1995 |
-
}
|
1996 |
|
1997 |
// ----- Calculate the stored filename
|
1998 |
$this->privCalculateStoredFilename($v_descr, $p_options);
|
@@ -2021,11 +2078,18 @@
|
|
2021 |
// Because the name of the folder was changed, the name of the
|
2022 |
// files/sub-folders also change
|
2023 |
if ($v_descr['stored_filename'] != $v_descr['filename']) {
|
2024 |
-
|
|
|
|
|
|
|
|
|
|
|
2025 |
}
|
2026 |
|
2027 |
$v_dirlist_nb++;
|
2028 |
}
|
|
|
|
|
2029 |
}
|
2030 |
else {
|
2031 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Unable to open dir '".$v_descr['filename']."' in read mode. Skipped.");
|
@@ -2466,7 +2530,8 @@
|
|
2466 |
}
|
2467 |
|
2468 |
// ----- Check the filename
|
2469 |
-
if (
|
|
|
2470 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$p_filedescr_list[$j]['filename']."' does not exists");
|
2471 |
PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exists");
|
2472 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
@@ -2474,10 +2539,15 @@
|
|
2474 |
}
|
2475 |
|
2476 |
// ----- Look if it is a file or a dir with no all path remove option
|
2477 |
-
|
2478 |
-
|
|
|
|
|
|
|
|
|
2479 |
&& ( !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])
|
2480 |
-
|| !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))
|
|
|
2481 |
|
2482 |
// ----- Add the file
|
2483 |
$v_result = $this->privAddFile($p_filedescr_list[$j], $v_header,
|
@@ -2524,6 +2594,7 @@
|
|
2524 |
}
|
2525 |
|
2526 |
// ----- Look for a stored different filename
|
|
|
2527 |
if (isset($p_filedescr['stored_filename'])) {
|
2528 |
$v_stored_filename = $p_filedescr['stored_filename'];
|
2529 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'Stored filename is NOT the same "'.$v_stored_filename.'"');
|
@@ -2532,6 +2603,7 @@
|
|
2532 |
$v_stored_filename = $p_filedescr['stored_filename'];
|
2533 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'Stored filename is the same');
|
2534 |
}
|
|
|
2535 |
|
2536 |
// ----- Set the file properties
|
2537 |
clearstatcache();
|
@@ -2539,26 +2611,62 @@
|
|
2539 |
$p_header['version_extracted'] = 10;
|
2540 |
$p_header['flag'] = 0;
|
2541 |
$p_header['compression'] = 0;
|
2542 |
-
$p_header['mtime'] = filemtime($p_filename);
|
2543 |
$p_header['crc'] = 0;
|
2544 |
$p_header['compressed_size'] = 0;
|
2545 |
-
$p_header['size'] = filesize($p_filename);
|
2546 |
$p_header['filename_len'] = strlen($p_filename);
|
2547 |
$p_header['extra_len'] = 0;
|
2548 |
-
$p_header['comment_len'] = 0;
|
2549 |
$p_header['disk'] = 0;
|
2550 |
$p_header['internal'] = 0;
|
2551 |
-
// $p_header['external'] = (is_file($p_filename)?0xFE49FFE0:0x41FF0010);
|
2552 |
-
$p_header['external'] = (is_file($p_filename)?0x00000000:0x00000010);
|
2553 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Header external extension '".sprintf("0x%X",$p_header['external'])."'");
|
2554 |
$p_header['offset'] = 0;
|
2555 |
$p_header['filename'] = $p_filename;
|
2556 |
-
$p_header['stored_filename'] = $v_stored_filename;
|
|
|
2557 |
$p_header['extra'] = '';
|
2558 |
-
$p_header['comment'] = '';
|
2559 |
$p_header['status'] = 'ok';
|
2560 |
$p_header['index'] = -1;
|
2561 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2562 |
// ----- Look for pre-add callback
|
2563 |
if (isset($p_options[PCLZIP_CB_PRE_ADD])) {
|
2564 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A pre-callback '".$p_options[PCLZIP_CB_PRE_ADD]."()') is defined for the extraction");
|
@@ -2599,41 +2707,51 @@
|
|
2599 |
if ($p_header['status'] == 'ok') {
|
2600 |
|
2601 |
// ----- Look for a file
|
2602 |
-
if (is_file($p_filename))
|
2603 |
-
|
2604 |
-
|
2605 |
-
|
2606 |
-
|
2607 |
-
|
2608 |
-
//--(MAGIC-PclTrace)--//
|
2609 |
-
|
2610 |
-
|
|
|
|
|
|
|
|
|
|
|
2611 |
|
2612 |
-
if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
|
2613 |
-
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File will not be compressed");
|
2614 |
// ----- Read the file content
|
2615 |
-
$
|
2616 |
|
2617 |
-
// -----
|
2618 |
-
|
|
|
|
|
|
|
|
|
|
|
2619 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2620 |
// ----- Set header parameters
|
2621 |
$p_header['compressed_size'] = $p_header['size'];
|
2622 |
$p_header['compression'] = 0;
|
2623 |
}
|
|
|
|
|
2624 |
else {
|
2625 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File will be compressed");
|
2626 |
-
// -----
|
2627 |
-
$v_content = @
|
2628 |
-
|
2629 |
-
// ----- Calculate the CRC
|
2630 |
-
$p_header['crc'] = @crc32($v_content);
|
2631 |
-
|
2632 |
-
// ----- Compress the file
|
2633 |
-
$v_content_compressed = @gzdeflate($v_content);
|
2634 |
|
2635 |
// ----- Set header parameters
|
2636 |
-
$p_header['compressed_size'] = strlen($
|
2637 |
$p_header['compression'] = 8;
|
2638 |
}
|
2639 |
|
@@ -2668,15 +2786,11 @@
|
|
2668 |
}
|
2669 |
|
2670 |
// ----- Write the compressed (or not) content
|
2671 |
-
@fwrite($this->zip_fd,
|
2672 |
-
$v_content_compressed, $p_header['compressed_size']);
|
2673 |
-
|
2674 |
-
// ----- Close the file
|
2675 |
-
@fclose($v_file);
|
2676 |
}
|
2677 |
|
2678 |
// ----- Look for a directory
|
2679 |
-
else {
|
2680 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "'".$p_filename."' is a folder");
|
2681 |
// ----- Look for directory last '/'
|
2682 |
if (@substr($p_header['stored_filename'], -1) != '/') {
|
@@ -2751,6 +2865,7 @@
|
|
2751 |
else {
|
2752 |
$p_remove_dir = '';
|
2753 |
}
|
|
|
2754 |
if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
|
2755 |
$p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH];
|
2756 |
}
|
@@ -2789,6 +2904,7 @@
|
|
2789 |
}
|
2790 |
// ----- Look for partial path remove
|
2791 |
else if ($p_remove_dir != "") {
|
|
|
2792 |
if (substr($p_remove_dir, -1) != '/')
|
2793 |
$p_remove_dir .= "/";
|
2794 |
|
@@ -2912,6 +3028,8 @@
|
|
2912 |
$v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
|
2913 |
$v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];
|
2914 |
|
|
|
|
|
2915 |
// ----- Packed data
|
2916 |
$v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50,
|
2917 |
$p_header['version'], $p_header['version_extracted'],
|
@@ -3077,6 +3195,7 @@
|
|
3077 |
// $p_info['comment'] = Comment associated with the file.
|
3078 |
// $p_info['folder'] = true/false : indicates if the entry is a folder or not.
|
3079 |
// $p_info['status'] = status of the action on the file.
|
|
|
3080 |
// Parameters :
|
3081 |
// Return Values :
|
3082 |
// --------------------------------------------------------------------------------
|
@@ -3095,6 +3214,7 @@
|
|
3095 |
$p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010);
|
3096 |
$p_info['index'] = $p_header['index'];
|
3097 |
$p_info['status'] = $p_header['status'];
|
|
|
3098 |
|
3099 |
// ----- Return
|
3100 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
|
@@ -3363,7 +3483,7 @@
|
|
3363 |
|
3364 |
$v_extract = false;
|
3365 |
}
|
3366 |
-
|
3367 |
// ----- Look for real extraction
|
3368 |
if ($v_extract)
|
3369 |
{
|
@@ -3455,23 +3575,24 @@
|
|
3455 |
$p_path, $p_remove_path,
|
3456 |
$p_remove_all_path,
|
3457 |
$p_options);
|
3458 |
-
|
3459 |
if ($v_result1 < 1) {
|
3460 |
$this->privCloseFd();
|
3461 |
$this->privSwapBackMagicQuotes();
|
3462 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result1);
|
3463 |
-
|
3464 |
return $v_result1;
|
3465 |
}
|
|
|
3466 |
// ----- Get the only interesting attributes
|
3467 |
if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1)
|
3468 |
{
|
3469 |
// ----- Close the zip file
|
3470 |
$this->privCloseFd();
|
3471 |
$this->privSwapBackMagicQuotes();
|
|
|
3472 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
|
3473 |
return $v_result;
|
3474 |
}
|
|
|
3475 |
// ----- Look for user callback abort
|
3476 |
if ($v_result1 == 2) {
|
3477 |
break;
|
@@ -3735,6 +3856,7 @@
|
|
3735 |
|
3736 |
// ----- Look if extraction should be done
|
3737 |
if ($p_entry['status'] == 'ok') {
|
|
|
3738 |
// ----- Do the extraction (if not a folder)
|
3739 |
if (!(($p_entry['external']&0x00000010)==0x00000010))
|
3740 |
{
|
@@ -3781,7 +3903,6 @@
|
|
3781 |
|
3782 |
}
|
3783 |
else {
|
3784 |
-
|
3785 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting a compressed file (Compression method ".$p_entry['compression'].")");
|
3786 |
// ----- TBC
|
3787 |
// Need to be finished
|
@@ -3826,8 +3947,8 @@
|
|
3826 |
// ----- Decompress the file
|
3827 |
// alex.rabe : check again for the memory limit
|
3828 |
if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) {
|
3829 |
-
// take a overhead of
|
3830 |
-
$maxMemory = $memory_limit - memory_get_usage() -
|
3831 |
$v_file_content = gzinflate($v_buffer,$maxMemory);
|
3832 |
} else {
|
3833 |
$v_file_content = @gzinflate($v_buffer);
|
@@ -4314,7 +4435,9 @@
|
|
4314 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Offset : \''.$p_header['offset'].'\'');
|
4315 |
|
4316 |
// ----- Recuperate date in UNIX format
|
4317 |
-
if ($p_header['mdate'] && $p_header['mtime'])
|
|
|
|
|
4318 |
{
|
4319 |
// ----- Extract time
|
4320 |
$v_hour = ($p_header['mtime'] & 0xF800) >> 11;
|
@@ -4327,7 +4450,7 @@
|
|
4327 |
$v_day = $p_header['mdate'] & 0x001F;
|
4328 |
|
4329 |
// ----- Get UNIX date format
|
4330 |
-
$p_header['mtime'] = mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
|
4331 |
|
4332 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
|
4333 |
}
|
@@ -4567,8 +4690,10 @@
|
|
4567 |
}
|
4568 |
|
4569 |
// ----- Get comment
|
4570 |
-
|
|
|
4571 |
$p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']);
|
|
|
4572 |
else
|
4573 |
$p_central_dir['comment'] = '';
|
4574 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Comment : \''.$p_central_dir['comment'].'\'');
|
1 |
<?php
|
2 |
// --------------------------------------------------------------------------------
|
3 |
+
// PhpConcept Library - Zip Module 2.6
|
4 |
// --------------------------------------------------------------------------------
|
5 |
// License GNU/LGPL - Vincent Blavet - March 2006
|
6 |
// http://www.phpconcept.net
|
22 |
// The use of this software is at the risk of the user.
|
23 |
//
|
24 |
// --------------------------------------------------------------------------------
|
25 |
+
// $Id: pclzip.lib.php,v 1.47 2007/07/20 13:56:07 vblavet Exp $
|
26 |
// --------------------------------------------------------------------------------
|
27 |
|
28 |
// ----- Constants
|
29 |
+
if (!defined('PCLZIP_READ_BLOCK_SIZE')) {
|
30 |
+
define( 'PCLZIP_READ_BLOCK_SIZE', 2048 );
|
31 |
+
}
|
32 |
|
33 |
// ----- File list separator
|
34 |
// In version 1.x of PclZip, the separator for file list is a space
|
40 |
// Recommanded values for compatibility with older versions :
|
41 |
//define( 'PCLZIP_SEPARATOR', ' ' );
|
42 |
// Recommanded values for smart separation of filenames.
|
43 |
+
if (!defined('PCLZIP_SEPARATOR')) {
|
44 |
+
define( 'PCLZIP_SEPARATOR', ',' );
|
45 |
+
}
|
46 |
|
47 |
// ----- Error configuration
|
48 |
// 0 : PclZip Class integrated error handling
|
49 |
// 1 : PclError external library error handling. By enabling this
|
50 |
// you must ensure that you have included PclError library.
|
51 |
// [2,...] : reserved for futur use
|
52 |
+
if (!defined('PCLZIP_ERROR_EXTERNAL')) {
|
53 |
+
define( 'PCLZIP_ERROR_EXTERNAL', 0 );
|
54 |
+
}
|
55 |
|
56 |
// ----- Optional static temporary directory
|
57 |
// By default temporary files are generated in the script current
|
62 |
// Samples :
|
63 |
// define( 'PCLZIP_TEMPORARY_DIR', '/temp/' );
|
64 |
// define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' );
|
65 |
+
if (!defined('PCLZIP_TEMPORARY_DIR')) {
|
66 |
+
define( 'PCLZIP_TEMPORARY_DIR', '' );
|
67 |
+
}
|
68 |
|
69 |
// --------------------------------------------------------------------------------
|
70 |
// ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED *****
|
71 |
// --------------------------------------------------------------------------------
|
72 |
|
73 |
// ----- Global variables
|
74 |
+
$g_pclzip_version = "2.6";
|
75 |
|
76 |
// ----- Error codes
|
77 |
// -1 : Unable to open file in binary write mode
|
141 |
define( 'PCLZIP_ATT_FILE_NAME', 79001 );
|
142 |
define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 );
|
143 |
define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 );
|
144 |
+
define( 'PCLZIP_ATT_FILE_MTIME', 79004 );
|
145 |
+
define( 'PCLZIP_ATT_FILE_CONTENT', 79005 );
|
146 |
+
define( 'PCLZIP_ATT_FILE_COMMENT', 79006 );
|
147 |
|
148 |
// ----- Call backs values
|
149 |
define( 'PCLZIP_CB_PRE_EXTRACT', 78001 );
|
374 |
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
|
375 |
,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
|
376 |
,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
|
377 |
+
,PCLZIP_ATT_FILE_MTIME => 'optional'
|
378 |
+
,PCLZIP_ATT_FILE_CONTENT => 'optional'
|
379 |
+
,PCLZIP_ATT_FILE_COMMENT => 'optional'
|
380 |
);
|
381 |
foreach ($v_att_list as $v_entry) {
|
382 |
$v_result = $this->privFileDescrParseAtt($v_entry,
|
562 |
= array ( PCLZIP_ATT_FILE_NAME => 'mandatory'
|
563 |
,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional'
|
564 |
,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional'
|
565 |
+
,PCLZIP_ATT_FILE_MTIME => 'optional'
|
566 |
+
,PCLZIP_ATT_FILE_CONTENT => 'optional'
|
567 |
+
,PCLZIP_ATT_FILE_COMMENT => 'optional'
|
568 |
);
|
569 |
foreach ($v_att_list as $v_entry) {
|
570 |
$v_result = $this->privFileDescrParseAtt($v_entry,
|
810 |
$p_list = array();
|
811 |
$v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path,
|
812 |
$v_remove_all_path, $v_options);
|
|
|
813 |
if ($v_result < 1) {
|
814 |
unset($p_list);
|
815 |
+
// alex.rabe - return error code
|
816 |
$this->error_code = $v_result;
|
817 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, 0, PclZip::errorInfo());
|
818 |
return(0);
|
1504 |
}
|
1505 |
|
1506 |
// ----- Get the value
|
1507 |
+
$v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
|
1508 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'");
|
1509 |
$i++;
|
1510 |
break;
|
1523 |
// ----- Get the value
|
1524 |
if ( is_string($p_options_list[$i+1])
|
1525 |
&& ($p_options_list[$i+1] != '')) {
|
1526 |
+
$v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE);
|
1527 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($p_options_list[$i])." = '".$v_result_list[$p_options_list[$i]]."'");
|
1528 |
$i++;
|
1529 |
}
|
1920 |
}
|
1921 |
break;
|
1922 |
|
1923 |
+
// ----- Look for options that takes a string
|
1924 |
+
case PCLZIP_ATT_FILE_COMMENT :
|
1925 |
+
if (!is_string($v_value)) {
|
1926 |
+
PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'");
|
1927 |
+
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
1928 |
+
return PclZip::errorCode();
|
1929 |
+
}
|
1930 |
+
|
1931 |
+
$p_filedescr['comment'] = $v_value;
|
1932 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($v_key)." = '".$v_value."'");
|
1933 |
+
break;
|
1934 |
+
|
1935 |
+
case PCLZIP_ATT_FILE_MTIME :
|
1936 |
+
if (!is_integer($v_value)) {
|
1937 |
+
PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'");
|
1938 |
+
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
1939 |
+
return PclZip::errorCode();
|
1940 |
+
}
|
1941 |
+
|
1942 |
+
$p_filedescr['mtime'] = $v_value;
|
1943 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($v_key)." = '".$v_value."'");
|
1944 |
+
break;
|
1945 |
+
|
1946 |
+
case PCLZIP_ATT_FILE_CONTENT :
|
1947 |
+
$p_filedescr['content'] = $v_value;
|
1948 |
+
////--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "".PclZipUtilOptionText($v_key)." = '".$v_value."'");
|
1949 |
+
break;
|
1950 |
+
|
1951 |
default :
|
1952 |
// ----- Error log
|
1953 |
PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER,
|
2001 |
|
2002 |
// ----- Look each entry
|
2003 |
for ($i=0; $i<sizeof($p_filedescr_list); $i++) {
|
2004 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Looking for file ".$i.".");
|
2005 |
+
|
2006 |
// ----- Get filedescr
|
2007 |
$v_descr = $p_filedescr_list[$i];
|
2008 |
|
2012 |
$v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']);
|
2013 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Filedescr after reduction :'".$v_descr['filename']."'");
|
2014 |
|
2015 |
+
// ----- Look for real file or folder
|
2016 |
+
if (file_exists($v_descr['filename'])) {
|
2017 |
+
if (@is_file($v_descr['filename'])) {
|
2018 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "This is a file");
|
2019 |
+
$v_descr['type'] = 'file';
|
2020 |
+
}
|
2021 |
+
else if (@is_dir($v_descr['filename'])) {
|
2022 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "This is a folder");
|
2023 |
+
$v_descr['type'] = 'folder';
|
2024 |
+
}
|
2025 |
+
else if (@is_link($v_descr['filename'])) {
|
2026 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Unsupported file type : link");
|
2027 |
+
// skip
|
2028 |
+
continue;
|
2029 |
+
}
|
2030 |
+
else {
|
2031 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Unsupported file type : unknown type");
|
2032 |
+
// skip
|
2033 |
+
continue;
|
2034 |
+
}
|
2035 |
+
}
|
2036 |
+
|
2037 |
+
// ----- Look for string added as file
|
2038 |
+
else if (isset($v_descr['content'])) {
|
2039 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "This is a string added as a file");
|
2040 |
+
$v_descr['type'] = 'virtual_file';
|
2041 |
+
}
|
2042 |
+
|
2043 |
+
// ----- Missing file
|
2044 |
+
else {
|
2045 |
// ----- Error log
|
2046 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$v_descr['filename']."' does not exists");
|
2047 |
PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exists");
|
2050 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
2051 |
return PclZip::errorCode();
|
2052 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2053 |
|
2054 |
// ----- Calculate the stored filename
|
2055 |
$this->privCalculateStoredFilename($v_descr, $p_options);
|
2078 |
// Because the name of the folder was changed, the name of the
|
2079 |
// files/sub-folders also change
|
2080 |
if ($v_descr['stored_filename'] != $v_descr['filename']) {
|
2081 |
+
if ($v_descr['stored_filename'] != '') {
|
2082 |
+
$v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler;
|
2083 |
+
}
|
2084 |
+
else {
|
2085 |
+
$v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler;
|
2086 |
+
}
|
2087 |
}
|
2088 |
|
2089 |
$v_dirlist_nb++;
|
2090 |
}
|
2091 |
+
|
2092 |
+
@closedir($v_folder_handler);
|
2093 |
}
|
2094 |
else {
|
2095 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Unable to open dir '".$v_descr['filename']."' in read mode. Skipped.");
|
2530 |
}
|
2531 |
|
2532 |
// ----- Check the filename
|
2533 |
+
if ( ($p_filedescr_list[$j]['type'] != 'virtual_file')
|
2534 |
+
&& (!file_exists($p_filedescr_list[$j]['filename']))) {
|
2535 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File '".$p_filedescr_list[$j]['filename']."' does not exists");
|
2536 |
PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exists");
|
2537 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
2539 |
}
|
2540 |
|
2541 |
// ----- Look if it is a file or a dir with no all path remove option
|
2542 |
+
// or a dir with all its path removed
|
2543 |
+
// if ( (is_file($p_filedescr_list[$j]['filename']))
|
2544 |
+
// || ( is_dir($p_filedescr_list[$j]['filename'])
|
2545 |
+
if ( ($p_filedescr_list[$j]['type'] == 'file')
|
2546 |
+
|| ($p_filedescr_list[$j]['type'] == 'virtual_file')
|
2547 |
+
|| ( ($p_filedescr_list[$j]['type'] == 'folder')
|
2548 |
&& ( !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])
|
2549 |
+
|| !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))
|
2550 |
+
) {
|
2551 |
|
2552 |
// ----- Add the file
|
2553 |
$v_result = $this->privAddFile($p_filedescr_list[$j], $v_header,
|
2594 |
}
|
2595 |
|
2596 |
// ----- Look for a stored different filename
|
2597 |
+
/* TBC : Removed
|
2598 |
if (isset($p_filedescr['stored_filename'])) {
|
2599 |
$v_stored_filename = $p_filedescr['stored_filename'];
|
2600 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'Stored filename is NOT the same "'.$v_stored_filename.'"');
|
2603 |
$v_stored_filename = $p_filedescr['stored_filename'];
|
2604 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, 'Stored filename is the same');
|
2605 |
}
|
2606 |
+
*/
|
2607 |
|
2608 |
// ----- Set the file properties
|
2609 |
clearstatcache();
|
2611 |
$p_header['version_extracted'] = 10;
|
2612 |
$p_header['flag'] = 0;
|
2613 |
$p_header['compression'] = 0;
|
|
|
2614 |
$p_header['crc'] = 0;
|
2615 |
$p_header['compressed_size'] = 0;
|
|
|
2616 |
$p_header['filename_len'] = strlen($p_filename);
|
2617 |
$p_header['extra_len'] = 0;
|
|
|
2618 |
$p_header['disk'] = 0;
|
2619 |
$p_header['internal'] = 0;
|
|
|
|
|
|
|
2620 |
$p_header['offset'] = 0;
|
2621 |
$p_header['filename'] = $p_filename;
|
2622 |
+
// TBC : Removed $p_header['stored_filename'] = $v_stored_filename;
|
2623 |
+
$p_header['stored_filename'] = $p_filedescr['stored_filename'];
|
2624 |
$p_header['extra'] = '';
|
|
|
2625 |
$p_header['status'] = 'ok';
|
2626 |
$p_header['index'] = -1;
|
2627 |
|
2628 |
+
// ----- Look for regular file
|
2629 |
+
if ($p_filedescr['type']=='file') {
|
2630 |
+
$p_header['external'] = 0x00000000;
|
2631 |
+
$p_header['size'] = filesize($p_filename);
|
2632 |
+
}
|
2633 |
+
|
2634 |
+
// ----- Look for regular folder
|
2635 |
+
else if ($p_filedescr['type']=='folder') {
|
2636 |
+
$p_header['external'] = 0x00000010;
|
2637 |
+
$p_header['mtime'] = filemtime($p_filename);
|
2638 |
+
$p_header['size'] = filesize($p_filename);
|
2639 |
+
}
|
2640 |
+
|
2641 |
+
// ----- Look for virtual file
|
2642 |
+
else if ($p_filedescr['type'] == 'virtual_file') {
|
2643 |
+
$p_header['external'] = 0x00000000;
|
2644 |
+
$p_header['size'] = strlen($p_filedescr['content']);
|
2645 |
+
}
|
2646 |
+
|
2647 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 5, "Header external extension '".sprintf("0x%X",$p_header['external'])."'");
|
2648 |
+
|
2649 |
+
// ----- Look for filetime
|
2650 |
+
if (isset($p_filedescr['mtime'])) {
|
2651 |
+
$p_header['mtime'] = $p_filedescr['mtime'];
|
2652 |
+
}
|
2653 |
+
else if ($p_filedescr['type'] == 'virtual_file') {
|
2654 |
+
$p_header['mtime'] = mktime();
|
2655 |
+
}
|
2656 |
+
else {
|
2657 |
+
$p_header['mtime'] = filemtime($p_filename);
|
2658 |
+
}
|
2659 |
+
|
2660 |
+
// ------ Look for file comment
|
2661 |
+
if (isset($p_filedescr['comment'])) {
|
2662 |
+
$p_header['comment_len'] = strlen($p_filedescr['comment']);
|
2663 |
+
$p_header['comment'] = $p_filedescr['comment'];
|
2664 |
+
}
|
2665 |
+
else {
|
2666 |
+
$p_header['comment_len'] = 0;
|
2667 |
+
$p_header['comment'] = '';
|
2668 |
+
}
|
2669 |
+
|
2670 |
// ----- Look for pre-add callback
|
2671 |
if (isset($p_options[PCLZIP_CB_PRE_ADD])) {
|
2672 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "A pre-callback '".$p_options[PCLZIP_CB_PRE_ADD]."()') is defined for the extraction");
|
2707 |
if ($p_header['status'] == 'ok') {
|
2708 |
|
2709 |
// ----- Look for a file
|
2710 |
+
// if (is_file($p_filename))
|
2711 |
+
if ( ($p_filedescr['type'] == 'file')
|
2712 |
+
|| ($p_filedescr['type'] == 'virtual_file')) {
|
2713 |
+
|
2714 |
+
// ----- Get content from real file
|
2715 |
+
if ($p_filedescr['type'] == 'file') {
|
2716 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "'".$p_filename."' is a file");
|
2717 |
+
|
2718 |
+
// ----- Open the source file
|
2719 |
+
if (($v_file = @fopen($p_filename, "rb")) == 0) {
|
2720 |
+
PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode");
|
2721 |
+
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, PclZip::errorCode(), PclZip::errorInfo());
|
2722 |
+
return PclZip::errorCode();
|
2723 |
+
}
|
2724 |
|
|
|
|
|
2725 |
// ----- Read the file content
|
2726 |
+
$v_content = @fread($v_file, $p_header['size']);
|
2727 |
|
2728 |
+
// ----- Close the file
|
2729 |
+
@fclose($v_file);
|
2730 |
+
}
|
2731 |
+
else if ($p_filedescr['type'] == 'virtual_file') {
|
2732 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Add by string");
|
2733 |
+
$v_content = $p_filedescr['content'];
|
2734 |
+
}
|
2735 |
|
2736 |
+
// ----- Calculate the CRC
|
2737 |
+
$p_header['crc'] = @crc32($v_content);
|
2738 |
+
|
2739 |
+
// ----- Look for no compression
|
2740 |
+
if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) {
|
2741 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File will not be compressed");
|
2742 |
// ----- Set header parameters
|
2743 |
$p_header['compressed_size'] = $p_header['size'];
|
2744 |
$p_header['compression'] = 0;
|
2745 |
}
|
2746 |
+
|
2747 |
+
// ----- Look for normal compression
|
2748 |
else {
|
2749 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "File will be compressed");
|
2750 |
+
// ----- Compress the content
|
2751 |
+
$v_content = @gzdeflate($v_content);
|
|
|
|
|
|
|
|
|
|
|
|
|
2752 |
|
2753 |
// ----- Set header parameters
|
2754 |
+
$p_header['compressed_size'] = strlen($v_content);
|
2755 |
$p_header['compression'] = 8;
|
2756 |
}
|
2757 |
|
2786 |
}
|
2787 |
|
2788 |
// ----- Write the compressed (or not) content
|
2789 |
+
@fwrite($this->zip_fd, $v_content, $p_header['compressed_size']);
|
|
|
|
|
|
|
|
|
2790 |
}
|
2791 |
|
2792 |
// ----- Look for a directory
|
2793 |
+
else if ($p_filedescr['type'] == 'folder') {
|
2794 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "'".$p_filename."' is a folder");
|
2795 |
// ----- Look for directory last '/'
|
2796 |
if (@substr($p_header['stored_filename'], -1) != '/') {
|
2865 |
else {
|
2866 |
$p_remove_dir = '';
|
2867 |
}
|
2868 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Remove path ='".$p_remove_dir."'");
|
2869 |
if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) {
|
2870 |
$p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH];
|
2871 |
}
|
2904 |
}
|
2905 |
// ----- Look for partial path remove
|
2906 |
else if ($p_remove_dir != "") {
|
2907 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, "Partial path to remove");
|
2908 |
if (substr($p_remove_dir, -1) != '/')
|
2909 |
$p_remove_dir .= "/";
|
2910 |
|
3028 |
$v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2;
|
3029 |
$v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday'];
|
3030 |
|
3031 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Comment size : \''.$p_header['comment_len'].'\'');
|
3032 |
+
|
3033 |
// ----- Packed data
|
3034 |
$v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50,
|
3035 |
$p_header['version'], $p_header['version_extracted'],
|
3195 |
// $p_info['comment'] = Comment associated with the file.
|
3196 |
// $p_info['folder'] = true/false : indicates if the entry is a folder or not.
|
3197 |
// $p_info['status'] = status of the action on the file.
|
3198 |
+
// $p_info['crc'] = CRC of the file content.
|
3199 |
// Parameters :
|
3200 |
// Return Values :
|
3201 |
// --------------------------------------------------------------------------------
|
3214 |
$p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010);
|
3215 |
$p_info['index'] = $p_header['index'];
|
3216 |
$p_info['status'] = $p_header['status'];
|
3217 |
+
$p_info['crc'] = $p_header['crc'];
|
3218 |
|
3219 |
// ----- Return
|
3220 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
|
3483 |
|
3484 |
$v_extract = false;
|
3485 |
}
|
3486 |
+
|
3487 |
// ----- Look for real extraction
|
3488 |
if ($v_extract)
|
3489 |
{
|
3575 |
$p_path, $p_remove_path,
|
3576 |
$p_remove_all_path,
|
3577 |
$p_options);
|
|
|
3578 |
if ($v_result1 < 1) {
|
3579 |
$this->privCloseFd();
|
3580 |
$this->privSwapBackMagicQuotes();
|
3581 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result1);
|
|
|
3582 |
return $v_result1;
|
3583 |
}
|
3584 |
+
|
3585 |
// ----- Get the only interesting attributes
|
3586 |
if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1)
|
3587 |
{
|
3588 |
// ----- Close the zip file
|
3589 |
$this->privCloseFd();
|
3590 |
$this->privSwapBackMagicQuotes();
|
3591 |
+
|
3592 |
//--(MAGIC-PclTrace)--//PclTraceFctEnd(__FILE__, __LINE__, $v_result);
|
3593 |
return $v_result;
|
3594 |
}
|
3595 |
+
|
3596 |
// ----- Look for user callback abort
|
3597 |
if ($v_result1 == 2) {
|
3598 |
break;
|
3856 |
|
3857 |
// ----- Look if extraction should be done
|
3858 |
if ($p_entry['status'] == 'ok') {
|
3859 |
+
|
3860 |
// ----- Do the extraction (if not a folder)
|
3861 |
if (!(($p_entry['external']&0x00000010)==0x00000010))
|
3862 |
{
|
3903 |
|
3904 |
}
|
3905 |
else {
|
|
|
3906 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 2, "Extracting a compressed file (Compression method ".$p_entry['compression'].")");
|
3907 |
// ----- TBC
|
3908 |
// Need to be finished
|
3947 |
// ----- Decompress the file
|
3948 |
// alex.rabe : check again for the memory limit
|
3949 |
if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) {
|
3950 |
+
// take a overhead of 350000 byte (tested with XAMPP)
|
3951 |
+
$maxMemory = $memory_limit - memory_get_usage() - 350000;
|
3952 |
$v_file_content = gzinflate($v_buffer,$maxMemory);
|
3953 |
} else {
|
3954 |
$v_file_content = @gzinflate($v_buffer);
|
4435 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Offset : \''.$p_header['offset'].'\'');
|
4436 |
|
4437 |
// ----- Recuperate date in UNIX format
|
4438 |
+
//if ($p_header['mdate'] && $p_header['mtime'])
|
4439 |
+
// TBC : bug : this was ignoring time with 0/0/0
|
4440 |
+
if (1)
|
4441 |
{
|
4442 |
// ----- Extract time
|
4443 |
$v_hour = ($p_header['mtime'] & 0xF800) >> 11;
|
4450 |
$v_day = $p_header['mdate'] & 0x001F;
|
4451 |
|
4452 |
// ----- Get UNIX date format
|
4453 |
+
$p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year);
|
4454 |
|
4455 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 4, 'Date : \''.date("d/m/y H:i:s", $p_header['mtime']).'\'');
|
4456 |
}
|
4690 |
}
|
4691 |
|
4692 |
// ----- Get comment
|
4693 |
+
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Comment size : \''.$v_data['comment_size'].'\'');
|
4694 |
+
if ($v_data['comment_size'] != 0) {
|
4695 |
$p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']);
|
4696 |
+
}
|
4697 |
else
|
4698 |
$p_central_dir['comment'] = '';
|
4699 |
//--(MAGIC-PclTrace)--//PclTraceFctMessage(__FILE__, __LINE__, 3, 'Comment : \''.$p_central_dir['comment'].'\'');
|
lib/thumbnail.inc.php
CHANGED
@@ -4,8 +4,8 @@
|
|
4 |
*
|
5 |
* @author Ian Selby (ian@gen-x-design.com)
|
6 |
* @copyright Copyright 2006
|
7 |
-
* @version 1.1.
|
8 |
-
* @modded by
|
9 |
*
|
10 |
*/
|
11 |
|
@@ -112,12 +112,11 @@ class ngg_Thumbnail {
|
|
112 |
*
|
113 |
*/
|
114 |
var $watermarkText;
|
115 |
-
|
116 |
/**
|
117 |
-
*
|
118 |
*
|
119 |
-
* @
|
120 |
-
*
|
121 |
*/
|
122 |
function ngg_Thumbnail($fileName,$no_ErrorImage = false) {
|
123 |
//make sure the GD library is installed
|
@@ -586,7 +585,7 @@ class ngg_Thumbnail {
|
|
586 |
switch($this->format) {
|
587 |
case 'GIF':
|
588 |
if($name != '') {
|
589 |
-
|
590 |
}
|
591 |
else {
|
592 |
header('Content-type: image/gif');
|
@@ -595,7 +594,7 @@ class ngg_Thumbnail {
|
|
595 |
break;
|
596 |
case 'JPG':
|
597 |
if($name != '') {
|
598 |
-
|
599 |
}
|
600 |
else {
|
601 |
header('Content-type: image/jpeg');
|
@@ -604,7 +603,7 @@ class ngg_Thumbnail {
|
|
604 |
break;
|
605 |
case 'PNG':
|
606 |
if($name != '') {
|
607 |
-
|
608 |
}
|
609 |
else {
|
610 |
header('Content-type: image/png');
|
@@ -619,9 +618,15 @@ class ngg_Thumbnail {
|
|
619 |
*
|
620 |
* @param string $name
|
621 |
* @param int $quality
|
|
|
622 |
*/
|
623 |
function save($name,$quality=100) {
|
624 |
$this->show($quality,$name);
|
|
|
|
|
|
|
|
|
|
|
625 |
}
|
626 |
|
627 |
/**
|
@@ -805,6 +810,10 @@ class ngg_Thumbnail {
|
|
805 |
if ( !is_readable($wmFontPath))
|
806 |
return;
|
807 |
|
|
|
|
|
|
|
|
|
808 |
$TextSize = ImageTTFBBox($wmSize, 0, $wmFontPath, $this->watermarkText);
|
809 |
$TextWidth = abs($TextSize[2]) + abs($TextSize[0]);
|
810 |
$TextHeight = abs($TextSize[7]) + abs($TextSize[1]);
|
@@ -835,10 +844,16 @@ class ngg_Thumbnail {
|
|
835 |
*/
|
836 |
function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) {
|
837 |
|
|
|
|
|
|
|
|
|
838 |
// Would you really want to use anything other than a png?
|
839 |
$this->workingImage = @imagecreatefrompng($this->watermarkImgPath);
|
840 |
-
if
|
841 |
-
|
|
|
|
|
842 |
|
843 |
imagealphablending($this->workingImage, false);
|
844 |
imagesavealpha($this->workingImage, true);
|
@@ -867,7 +882,7 @@ class ngg_Thumbnail {
|
|
867 |
if($this->format == 'GIF') {
|
868 |
$tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height);
|
869 |
imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height);
|
870 |
-
$this->
|
871 |
}
|
872 |
|
873 |
imagecopy($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height);
|
4 |
*
|
5 |
* @author Ian Selby (ian@gen-x-design.com)
|
6 |
* @copyright Copyright 2006
|
7 |
+
* @version 1.1.2 (PHP4)
|
8 |
+
* @modded by Alex Rabe
|
9 |
*
|
10 |
*/
|
11 |
|
112 |
*
|
113 |
*/
|
114 |
var $watermarkText;
|
|
|
115 |
/**
|
116 |
+
* Image Resource ID for Watermark
|
117 |
*
|
118 |
+
* @var string
|
119 |
+
*
|
120 |
*/
|
121 |
function ngg_Thumbnail($fileName,$no_ErrorImage = false) {
|
122 |
//make sure the GD library is installed
|
585 |
switch($this->format) {
|
586 |
case 'GIF':
|
587 |
if($name != '') {
|
588 |
+
@ImageGif($this->newImage,$name) or $this->error = true;
|
589 |
}
|
590 |
else {
|
591 |
header('Content-type: image/gif');
|
594 |
break;
|
595 |
case 'JPG':
|
596 |
if($name != '') {
|
597 |
+
@ImageJpeg($this->newImage,$name,$quality) or $this->error = true;
|
598 |
}
|
599 |
else {
|
600 |
header('Content-type: image/jpeg');
|
603 |
break;
|
604 |
case 'PNG':
|
605 |
if($name != '') {
|
606 |
+
@ImagePng($this->newImage,$name) or $this->error = true;
|
607 |
}
|
608 |
else {
|
609 |
header('Content-type: image/png');
|
618 |
*
|
619 |
* @param string $name
|
620 |
* @param int $quality
|
621 |
+
* @return bool errorstate
|
622 |
*/
|
623 |
function save($name,$quality=100) {
|
624 |
$this->show($quality,$name);
|
625 |
+
if ($this->error == true) {
|
626 |
+
$this->errmsg = 'Create Image failed. Check safe mode settings';
|
627 |
+
return false;
|
628 |
+
}
|
629 |
+
return true;
|
630 |
}
|
631 |
|
632 |
/**
|
810 |
if ( !is_readable($wmFontPath))
|
811 |
return;
|
812 |
|
813 |
+
// This function requires both the GD library and the FreeType library.
|
814 |
+
if ( !function_exists(ImageTTFBBox) )
|
815 |
+
return;
|
816 |
+
|
817 |
$TextSize = ImageTTFBBox($wmSize, 0, $wmFontPath, $this->watermarkText);
|
818 |
$TextWidth = abs($TextSize[2]) + abs($TextSize[0]);
|
819 |
$TextHeight = abs($TextSize[7]) + abs($TextSize[1]);
|
844 |
*/
|
845 |
function watermarkImage( $relPOS = 'botRight', $xPOS = 0, $yPOS = 0) {
|
846 |
|
847 |
+
// if it's a resource ID take it as watermark text image
|
848 |
+
if(is_resource($this->watermarkImgPath)) {
|
849 |
+
$this->workingImage = $this->watermarkImgPath;
|
850 |
+
} else {
|
851 |
// Would you really want to use anything other than a png?
|
852 |
$this->workingImage = @imagecreatefrompng($this->watermarkImgPath);
|
853 |
+
// if it's not a valid file die...
|
854 |
+
if (empty($this->workingImage) or (!$this->workingImage))
|
855 |
+
return;
|
856 |
+
}
|
857 |
|
858 |
imagealphablending($this->workingImage, false);
|
859 |
imagesavealpha($this->workingImage, true);
|
882 |
if($this->format == 'GIF') {
|
883 |
$tempimage = imagecreatetruecolor($sourcefile_width,$sourcefile_height);
|
884 |
imagecopy($tempimage, $this->oldImage, 0, 0, 0, 0,$sourcefile_width, $sourcefile_height);
|
885 |
+
$this->newImage = $tempimage;
|
886 |
}
|
887 |
|
888 |
imagecopy($this->newImage, $this->workingImage, $dest_x, $dest_y, 0, 0,$watermarkfile_width, $watermarkfile_height);
|
nggallery.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: NextGEN Gallery
|
|
4 |
Plugin URI: http://alexrabe.boelinger.com/?page_id=80
|
5 |
Description: A NextGENeration Photo gallery for the WEB2.0(beta).
|
6 |
Author: NextGEN DEV-Team
|
7 |
-
Version: 0.
|
8 |
|
9 |
Author URI: http://alexrabe.boelinger.com/
|
10 |
|
@@ -35,22 +35,20 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
|
|
35 |
|
36 |
//#################################################################
|
37 |
// Let's Go
|
38 |
-
|
39 |
-
global $wpdb, $wp_version;
|
40 |
|
41 |
// ini_set('display_errors', '1');
|
42 |
// ini_set('error_reporting', E_ALL);
|
43 |
|
44 |
-
//
|
45 |
-
|
46 |
|
47 |
-
//
|
48 |
-
|
49 |
-
define('NGGFILE_PERMISSION', 0666);
|
50 |
-
// ################################################################
|
51 |
|
52 |
// Version and path to check version
|
53 |
-
define('NGGVERSION', "0.
|
54 |
define('NGGURL', "http://nextgen.boelinger.com/version.php");
|
55 |
|
56 |
// define URL
|
@@ -71,6 +69,10 @@ if ((gettype(ini_get('safe_mode')) == 'string')) {
|
|
71 |
} else
|
72 |
define('SAFE_MODE', ini_get('safe_mode'));
|
73 |
|
|
|
|
|
|
|
|
|
74 |
//read the options
|
75 |
$ngg_options = get_option('ngg_options');
|
76 |
|
@@ -87,15 +89,27 @@ function nggallery_init ()
|
|
87 |
load_plugin_textdomain('nggallery','wp-content/plugins/' . NGGFOLDER.'/lang');
|
88 |
}
|
89 |
|
90 |
-
// Load admin panel
|
91 |
-
|
92 |
-
include_once (dirname (__FILE__)."/
|
93 |
-
include_once (dirname (__FILE__)."/admin/admin.php");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
-
//
|
96 |
require_once (dirname (__FILE__).'/lib/nggallery.lib.php');
|
|
|
|
|
97 |
$nggallery = new nggallery();
|
98 |
|
|
|
|
|
|
|
99 |
// add javascript to header
|
100 |
add_action('wp_head', 'ngg_addjs', 1);
|
101 |
function ngg_addjs() {
|
@@ -103,9 +117,9 @@ function ngg_addjs() {
|
|
103 |
|
104 |
echo "<meta name='NextGEN' content='".NGGVERSION."' />\n";
|
105 |
if ($ngg_options['activateCSS'])
|
106 |
-
echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'css/'.$ngg_options[CSSfile].'";</style>';
|
107 |
if ($ngg_options['thumbEffect'] == "thickbox") {
|
108 |
-
echo "\n".'<script type="text/javascript"> var tb_pathToImage = "'.NGGALLERY_URLPATH.'thickbox/'.$ngg_options[thickboxImage].'";</script>';
|
109 |
echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'thickbox/thickbox.css";</style>'."\n";
|
110 |
if ($wp_version < "2.3") {
|
111 |
if ($wp_version > "2.1.3") wp_deregister_script('jquery');
|
@@ -123,143 +137,39 @@ function ngg_addjs() {
|
|
123 |
|
124 |
// test for wordTube function
|
125 |
if (!function_exists('integrate_swfobject')) {
|
126 |
-
wp_enqueue_script('swfobject', NGGALLERY_URLPATH .'js/swfobject.js', FALSE, '1.5');
|
127 |
}
|
128 |
}
|
129 |
|
130 |
// load language file
|
131 |
add_action('init', 'nggallery_init');
|
132 |
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
134 |
// init tables in wp-database if plugin is activated
|
135 |
function ngg_install() {
|
|
|
|
|
136 |
nggallery_install();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
137 |
}
|
138 |
|
139 |
// Action calls for all functions
|
140 |
add_filter('the_content', 'searchnggallerytags');
|
141 |
add_filter('the_excerpt', 'searchnggallerytags');
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
add_action('upload_files_ngg_gallery', 'ngg_action_upload_Tab');
|
146 |
-
add_filter('wp_upload_tabs', 'ngg_wp_upload_tabs');
|
147 |
-
|
148 |
-
function ngg_action_upload_Tab() {
|
149 |
-
// execute when click on the tab
|
150 |
-
global $style;
|
151 |
-
if ( 'inline' == $style )
|
152 |
-
wp_enqueue_script('nggadmintab', NGGALLERY_URLPATH .'js/nggadmintab-js.php', array('prototype'), '0.6');
|
153 |
-
}
|
154 |
-
|
155 |
-
function ngg_wp_upload_tabs ($array) {
|
156 |
-
|
157 |
-
global $wpdb;
|
158 |
-
|
159 |
-
/*
|
160 |
-
0 => tab display name,
|
161 |
-
1 => required cap / role,
|
162 |
-
2 => function that produces tab content,
|
163 |
-
3 => total number objects OR array(total, objects per page),
|
164 |
-
4 => add_query_args
|
165 |
-
*/
|
166 |
-
include_once (dirname (__FILE__)."/nggadmintab.php");
|
167 |
-
|
168 |
-
// Create navigation
|
169 |
-
$total = 1;
|
170 |
-
if ($_GET['select_gal']){
|
171 |
-
$galleryID = $_GET['select_gal'];
|
172 |
-
$total = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID'");
|
173 |
-
}
|
174 |
-
|
175 |
-
$tab = array(
|
176 |
-
'ngg_gallery' => array(__('Gallery','nggallery'), 'NextGEN Use TinyMCE', 'ngg_upload_tab_content', array($total, 10))
|
177 |
-
);
|
178 |
-
|
179 |
-
return array_merge($array,$tab);
|
180 |
-
}
|
181 |
-
//#################################################################
|
182 |
-
// TinyMCE Button Integration
|
183 |
-
|
184 |
-
// Load the Script for the Button
|
185 |
-
function insert_nextgen_script() {
|
186 |
-
|
187 |
-
//TODO: Do with WP2.1 Script Loader
|
188 |
-
// Thanks for this idea to www.jovelstefan.de
|
189 |
-
echo "\n"."
|
190 |
-
<script type='text/javascript'>
|
191 |
-
function ngg_buttonscript() {
|
192 |
-
if(window.tinyMCE) {
|
193 |
-
|
194 |
-
var template = new Array();
|
195 |
-
|
196 |
-
template['file'] = '".NGGALLERY_URLPATH."nggbutton.php';
|
197 |
-
template['width'] = 360;
|
198 |
-
template['height'] = 210;
|
199 |
-
|
200 |
-
args = {
|
201 |
-
resizable : 'no',
|
202 |
-
scrollbars : 'no',
|
203 |
-
inline : 'yes'
|
204 |
-
};
|
205 |
-
|
206 |
-
tinyMCE.openWindow(template, args);
|
207 |
-
return true;
|
208 |
-
}
|
209 |
-
}
|
210 |
-
</script>";
|
211 |
-
return;
|
212 |
-
}
|
213 |
-
|
214 |
-
function ngg_addbuttons() {
|
215 |
-
|
216 |
-
global $wp_db_version;
|
217 |
-
|
218 |
-
// Don't bother doing this stuff if the current user lacks permissions
|
219 |
-
if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;
|
220 |
-
|
221 |
-
// Check for NextGEN capability
|
222 |
-
if ( !current_user_can('NextGEN Use TinyMCE') ) return;
|
223 |
-
|
224 |
-
// Add only in Rich Editor mode
|
225 |
-
if ( get_user_option('rich_editing') == 'true') {
|
226 |
-
|
227 |
-
// add the button for wp21 in a new way
|
228 |
-
add_filter("mce_plugins", "nextgen_button_plugin", 5);
|
229 |
-
add_filter('mce_buttons', 'nextgen_button', 5);
|
230 |
-
add_action('tinymce_before_init','nextgen_button_script');
|
231 |
-
}
|
232 |
-
}
|
233 |
-
|
234 |
-
// used to insert button in wordpress 2.1x editor
|
235 |
-
function nextgen_button($buttons) {
|
236 |
-
|
237 |
-
array_push($buttons, "separator", "NextGEN");
|
238 |
-
return $buttons;
|
239 |
-
|
240 |
-
}
|
241 |
-
|
242 |
-
// Tell TinyMCE that there is a plugin (wp2.1)
|
243 |
-
function nextgen_button_plugin($plugins) {
|
244 |
-
|
245 |
-
array_push($plugins, "-NextGEN");
|
246 |
-
return $plugins;
|
247 |
-
}
|
248 |
-
|
249 |
-
// Load the TinyMCE plugin : editor_plugin.js (wp2.1)
|
250 |
-
function nextgen_button_script() {
|
251 |
-
|
252 |
-
$pluginURL = NGGALLERY_URLPATH.'js/';
|
253 |
-
echo 'tinyMCE.loadPlugin("NextGEN", "'.$pluginURL.'");' . "\n";
|
254 |
-
return;
|
255 |
-
}
|
256 |
-
|
257 |
-
// init process for button control
|
258 |
-
add_action('init', 'ngg_addbuttons');
|
259 |
-
add_action('edit_page_form', 'insert_nextgen_script');
|
260 |
-
add_action('edit_form_advanced', 'insert_nextgen_script');
|
261 |
-
|
262 |
-
//#################################################################
|
263 |
|
264 |
} else {
|
265 |
add_action('admin_notices', create_function('', 'echo \'<div id="message" class="error fade"><p><strong>' . __('Sorry, NextGEN Gallery works only under WordPress 2.1 or higher',"nggallery") . '</strong></p></div>\';'));
|
4 |
Plugin URI: http://alexrabe.boelinger.com/?page_id=80
|
5 |
Description: A NextGENeration Photo gallery for the WEB2.0(beta).
|
6 |
Author: NextGEN DEV-Team
|
7 |
+
Version: 0.80
|
8 |
|
9 |
Author URI: http://alexrabe.boelinger.com/
|
10 |
|
35 |
|
36 |
//#################################################################
|
37 |
// Let's Go
|
38 |
+
|
39 |
+
global $wpdb, $wp_version, $wpmu_version, $wp_roles;
|
40 |
|
41 |
// ini_set('display_errors', '1');
|
42 |
// ini_set('error_reporting', E_ALL);
|
43 |
|
44 |
+
// Check for WPMU installation
|
45 |
+
define('IS_WPMU', version_compare($wpmu_version, '1.3', '>=') );
|
46 |
|
47 |
+
//This works only in WP2.2 or higher
|
48 |
+
if ((version_compare($wp_version, '2.1', '>=')) or (IS_WPMU)){
|
|
|
|
|
49 |
|
50 |
// Version and path to check version
|
51 |
+
define('NGGVERSION', "0.80");
|
52 |
define('NGGURL', "http://nextgen.boelinger.com/version.php");
|
53 |
|
54 |
// define URL
|
69 |
} else
|
70 |
define('SAFE_MODE', ini_get('safe_mode'));
|
71 |
|
72 |
+
//pass the init check or show a message
|
73 |
+
if (get_option( "ngg_init_check" ) != false )
|
74 |
+
add_action('admin_notices', create_function('', 'echo \'<div id="message" class="error fade"><p><strong>' . get_option( "ngg_init_check" ) . '</strong></p></div>\';'));
|
75 |
+
|
76 |
//read the options
|
77 |
$ngg_options = get_option('ngg_options');
|
78 |
|
89 |
load_plugin_textdomain('nggallery','wp-content/plugins/' . NGGFOLDER.'/lang');
|
90 |
}
|
91 |
|
92 |
+
// Load the admin panel
|
93 |
+
if (is_admin()) {
|
94 |
+
include_once (dirname (__FILE__)."/ngginstall.php");
|
95 |
+
include_once (dirname (__FILE__)."/admin/admin.php");
|
96 |
+
} else {
|
97 |
+
// Load the gallery generator
|
98 |
+
include_once (dirname (__FILE__)."/nggfunctions.php");
|
99 |
+
}
|
100 |
+
|
101 |
+
// Load tinymce button
|
102 |
+
include_once (dirname (__FILE__)."/tinymce/tinymce.php");
|
103 |
|
104 |
+
// Load gallery class
|
105 |
require_once (dirname (__FILE__).'/lib/nggallery.lib.php');
|
106 |
+
|
107 |
+
// Init the clas
|
108 |
$nggallery = new nggallery();
|
109 |
|
110 |
+
// Add rewrite rules
|
111 |
+
$nggRewrite = new nggRewrite();
|
112 |
+
|
113 |
// add javascript to header
|
114 |
add_action('wp_head', 'ngg_addjs', 1);
|
115 |
function ngg_addjs() {
|
117 |
|
118 |
echo "<meta name='NextGEN' content='".NGGVERSION."' />\n";
|
119 |
if ($ngg_options['activateCSS'])
|
120 |
+
echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'css/'.$ngg_options['CSSfile'].'";</style>';
|
121 |
if ($ngg_options['thumbEffect'] == "thickbox") {
|
122 |
+
echo "\n".'<script type="text/javascript"> var tb_pathToImage = "'.NGGALLERY_URLPATH.'thickbox/'.$ngg_options['thickboxImage'].'";</script>';
|
123 |
echo "\n".'<style type="text/css" media="screen">@import "'.NGGALLERY_URLPATH.'thickbox/thickbox.css";</style>'."\n";
|
124 |
if ($wp_version < "2.3") {
|
125 |
if ($wp_version > "2.1.3") wp_deregister_script('jquery');
|
137 |
|
138 |
// test for wordTube function
|
139 |
if (!function_exists('integrate_swfobject')) {
|
140 |
+
wp_enqueue_script('swfobject', NGGALLERY_URLPATH .'admin/js/swfobject.js', FALSE, '1.5');
|
141 |
}
|
142 |
}
|
143 |
|
144 |
// load language file
|
145 |
add_action('init', 'nggallery_init');
|
146 |
|
147 |
+
// Init options & tables during activation
|
148 |
+
// add_action('activate_' . NGGFOLDER.'/nggallery.php', 'ngg_install');
|
149 |
+
// WP recommended function, not used until 2.2.3
|
150 |
+
register_activation_hook(NGGFOLDER.'/nggallery.php','ngg_install');
|
151 |
+
register_deactivation_hook(NGGFOLDER.'/nggallery.php','ngg_deinstall');
|
152 |
+
|
153 |
// init tables in wp-database if plugin is activated
|
154 |
function ngg_install() {
|
155 |
+
global $nggRewrite;
|
156 |
+
// Check for admin role
|
157 |
nggallery_install();
|
158 |
+
// Flush ReWrite rules
|
159 |
+
$nggRewrite->flush();
|
160 |
+
}
|
161 |
+
|
162 |
+
function ngg_deinstall() {
|
163 |
+
// remove & reset the init check option
|
164 |
+
delete_option( "ngg_init_check" );
|
165 |
}
|
166 |
|
167 |
// Action calls for all functions
|
168 |
add_filter('the_content', 'searchnggallerytags');
|
169 |
add_filter('the_excerpt', 'searchnggallerytags');
|
170 |
|
171 |
+
// Content Filters
|
172 |
+
add_filter('ngg_gallery_name', 'sanitize_title');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
} else {
|
175 |
add_action('admin_notices', create_function('', 'echo \'<div id="message" class="error fade"><p><strong>' . __('Sorry, NextGEN Gallery works only under WordPress 2.1 or higher',"nggallery") . '</strong></p></div>\';'));
|
nggfunctions.php
CHANGED
@@ -1,9 +1,13 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
3 |
function searchnggallerytags($content) {
|
4 |
|
5 |
global $wpdb;
|
6 |
-
|
|
|
|
|
7 |
|
8 |
$search = "@\[singlepic=(\d+)(|,\d+|,)(|,\d+|,)(|,watermark|,web20|,)(|,right|,left|,)\]@i";
|
9 |
|
@@ -81,7 +85,7 @@ function searchnggallerytags($content) {
|
|
81 |
// check for gallery id
|
82 |
$galleryID = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE gid = '$v0' ");
|
83 |
if(!$galleryID) $galleryID = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE name = '$v0' ");
|
84 |
-
if($galleryID) {
|
85 |
$search = $matches[0][$key];
|
86 |
// get the size if they are set
|
87 |
$irWidth = $matches[3][$key];
|
@@ -128,81 +132,90 @@ function searchnggallerytags($content) {
|
|
128 |
function nggShowSlideshow($galleryID,$irWidth,$irHeight) {
|
129 |
|
130 |
global $wpdb;
|
131 |
-
|
132 |
-
$
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
$
|
138 |
-
$
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
$
|
144 |
-
$
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
if (
|
149 |
-
if ($ngg_options['
|
150 |
-
if ($ngg_options['
|
151 |
-
if (
|
152 |
-
$
|
153 |
-
$
|
154 |
-
$
|
155 |
-
$
|
156 |
-
$
|
157 |
-
$
|
158 |
-
$
|
159 |
-
$
|
160 |
-
$
|
161 |
-
|
162 |
-
|
163 |
-
$
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
166 |
}
|
167 |
|
168 |
/**********************************************************/
|
169 |
function nggShowGallery($galleryID) {
|
170 |
|
171 |
-
global $wpdb;
|
172 |
|
173 |
-
$ngg_options = get_option('ngg_options');
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
// use the jQuery Plugin if activated
|
176 |
if (($ngg_options['thumbEffect'] == "thickbox") && ($ngg_options['galUsejQuery'])) {
|
177 |
-
$
|
178 |
-
return $
|
179 |
}
|
180 |
|
181 |
-
// set $
|
182 |
-
if (
|
183 |
-
$
|
184 |
-
$
|
185 |
}
|
186 |
|
187 |
// go on only on this page
|
188 |
-
if ( $
|
189 |
|
190 |
// 1st look for ImageBrowser link
|
191 |
-
if (
|
192 |
-
$
|
193 |
-
return $
|
194 |
}
|
195 |
|
196 |
// 2nd look for slideshow
|
197 |
-
if (
|
198 |
-
$args['page'] = get_the_ID();
|
199 |
$args['show'] = "gallery";
|
200 |
-
$
|
201 |
-
$
|
202 |
-
$
|
203 |
-
$
|
204 |
-
$
|
205 |
-
return $
|
206 |
}
|
207 |
}
|
208 |
|
@@ -213,10 +226,11 @@ function nggShowGallery($galleryID) {
|
|
213 |
// get all picture with this galleryid
|
214 |
$picturelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = '$galleryID' AND tt.exclude != 1 ORDER BY tt.$ngg_options[galSort] $ngg_options[galSortDir] ");
|
215 |
if (is_array($picturelist)) {
|
216 |
-
$
|
217 |
}
|
218 |
|
219 |
-
|
|
|
220 |
}
|
221 |
|
222 |
/**********************************************************/
|
@@ -226,12 +240,18 @@ function nggCreateGallery($picturelist,$galleryID = false) {
|
|
226 |
* @int $galleryID
|
227 |
**/
|
228 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
if (!is_array($picturelist))
|
230 |
$picturelist = array($picturelist);
|
231 |
|
232 |
-
// Get option
|
233 |
-
$ngg_options = get_option('ngg_options');
|
234 |
-
|
235 |
$maxElement = $ngg_options['galImages'];
|
236 |
$thumbwidth = $ngg_options['thumbwidth'];
|
237 |
$thumbheight = $ngg_options['thumbheight'];
|
@@ -249,9 +269,9 @@ function nggCreateGallery($picturelist,$galleryID = false) {
|
|
249 |
|
250 |
// check for page navigation
|
251 |
if ($maxElement > 0) {
|
252 |
-
if ( $
|
253 |
-
if (
|
254 |
-
$page = (int) $
|
255 |
else
|
256 |
$page = 1;
|
257 |
}
|
@@ -270,46 +290,45 @@ function nggCreateGallery($picturelist,$galleryID = false) {
|
|
270 |
}
|
271 |
|
272 |
if (is_array($picturelist)) {
|
273 |
-
$out = '<div class="ngg-galleryoverview">';
|
274 |
|
275 |
// show slideshow link
|
276 |
if ($galleryID)
|
277 |
if (($ngg_options['galShowSlide']) AND (NGGALLERY_IREXIST)) {
|
278 |
-
$args['page'] = get_the_ID();
|
279 |
$args['show'] = "slide";
|
280 |
-
$out .= '<a class="slideshowlink" href="' .
|
281 |
}
|
282 |
|
283 |
// a description below the picture, require fixed width
|
284 |
if (!$ngg_options['galShowDesc'])
|
285 |
$ngg_options['galShowDesc'] = "none";
|
286 |
-
$setwidth = ($ngg_options['galShowDesc'] != "none") ? 'style="width:'.($thumbwidth
|
|
|
287 |
|
288 |
foreach ($picturelist as $picture) {
|
289 |
// set image url
|
290 |
$folder_url = get_option ('siteurl')."/".$picture->path."/";
|
291 |
$thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
|
292 |
$thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
|
293 |
-
//clean filename
|
294 |
-
$picturefile = nggallery::remove_umlauts($picture->filename);
|
295 |
// choose link between imagebrowser or effect
|
296 |
|
297 |
-
$link =($ngg_options['galImgBrowser']) ?
|
298 |
// create output
|
299 |
-
$out .= '<div class="ngg-gallery-thumbnail-box">'."\n\t";
|
300 |
$out .= '<div class="ngg-gallery-thumbnail" '.$setwidth.' >'."\n\t";
|
301 |
$out .= '<a href="'.$link.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
|
302 |
$out .= '<img title="'.stripslashes($picture->alttext).'" alt="'.stripslashes($picture->alttext).'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
|
303 |
$out .= '</a>'."\n";
|
304 |
if ($ngg_options['galShowDesc'] == "alttext")
|
305 |
-
$out .= '<span>'.stripslashes($picture->alttext).'</span>'."\n";
|
306 |
if ($ngg_options['galShowDesc'] == "desc")
|
307 |
-
$out .= '<span>'.stripslashes($picture->description).'</span>'."\n";
|
308 |
$out .= '</div>'."\n".'</div>'."\n";
|
309 |
}
|
310 |
$out .= '</div>'."\n";
|
311 |
$out .= ($maxElement > 0) ? $navigation : '<div class="ngg-clear"></div>'."\n";
|
312 |
}
|
|
|
313 |
return $out;
|
314 |
}
|
315 |
|
@@ -317,11 +336,12 @@ function nggCreateGallery($picturelist,$galleryID = false) {
|
|
317 |
/**********************************************************/
|
318 |
function nggShowJSGallery($galleryID) {
|
319 |
// create a gallery with a jQuery plugin
|
|
|
320 |
|
321 |
global $wpdb;
|
322 |
-
|
|
|
323 |
|
324 |
-
// Get option
|
325 |
$maxElement = $ngg_options['galImages'];
|
326 |
|
327 |
// get gallery values
|
@@ -338,48 +358,50 @@ function nggShowJSGallery($galleryID) {
|
|
338 |
// create array
|
339 |
$i = 0;
|
340 |
|
341 |
-
$
|
342 |
-
$
|
343 |
foreach ($picturelist as $picture) {
|
344 |
-
$
|
345 |
-
$gallerycontent .= 'nggal'. $galleryID .'['.$i++.']=["'.$picture->filename.'", "'.stripslashes($picture->alttext).'", "'.strip_tags(nggallery::ngg_nl2br($picture->description)).'"]'."\n";
|
346 |
}
|
347 |
-
$
|
348 |
-
$
|
349 |
-
$
|
350 |
-
$
|
351 |
-
$
|
352 |
-
$
|
353 |
if ($ngg_options['thumbEffect'] == "thickbox")
|
354 |
-
$
|
355 |
-
$
|
356 |
-
$
|
357 |
-
$
|
358 |
|
359 |
-
$
|
360 |
-
$
|
361 |
-
$
|
362 |
-
$
|
363 |
-
$
|
364 |
}
|
365 |
|
366 |
-
return $
|
367 |
}
|
368 |
/**********************************************************/
|
369 |
function nggShowAlbum($albumID,$mode = "extend") {
|
370 |
|
371 |
global $wpdb;
|
372 |
|
373 |
-
$
|
|
|
|
|
374 |
|
375 |
// look for gallery variable
|
376 |
-
if (
|
377 |
|
378 |
-
if ($albumID != $
|
|
|
379 |
|
380 |
-
$galleryID = (int)
|
381 |
-
$
|
382 |
-
return $
|
383 |
}
|
384 |
|
385 |
$mode = ltrim($mode,',');
|
@@ -388,32 +410,36 @@ function nggShowAlbum($albumID,$mode = "extend") {
|
|
388 |
$gallery_array = unserialize($sortorder);
|
389 |
}
|
390 |
|
391 |
-
$
|
|
|
392 |
if (is_array($gallery_array)) {
|
393 |
foreach ($gallery_array as $galleryID) {
|
394 |
-
$
|
395 |
}
|
396 |
}
|
397 |
-
$albumcontent .= '</div>'."\n";
|
398 |
-
$albumcontent .= '<div class="ngg-clear"></div>'."\n";
|
399 |
|
400 |
-
|
|
|
|
|
|
|
|
|
401 |
}
|
402 |
|
403 |
/**********************************************************/
|
404 |
function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
|
405 |
// create a gallery overview div
|
406 |
|
407 |
-
global $wpdb;
|
408 |
-
|
|
|
409 |
|
410 |
$gallerycontent = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
|
411 |
|
412 |
// choose between variable and page link
|
413 |
-
if ($ngg_options[galNoPages]) {
|
414 |
-
$
|
415 |
-
$
|
416 |
-
$link =
|
417 |
} else {
|
418 |
$link = get_permalink($gallerycontent->pageid);
|
419 |
}
|
@@ -422,10 +448,10 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
|
|
422 |
$counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1");
|
423 |
if ($mode == "compact") {
|
424 |
if ($gallerycontent->previewpic != 0)
|
425 |
-
$insertpic = '<img class="Thumb"
|
426 |
else
|
427 |
$insertpic = __('Watch gallery', 'nggallery');
|
428 |
-
$
|
429 |
<div class="ngg-album-compact">
|
430 |
<div class="ngg-album-compactbox">
|
431 |
<div class="ngg-album-link">
|
@@ -440,17 +466,17 @@ function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
|
|
440 |
$insertpic = '<img src="'.nggallery::get_thumbnail_url($gallerycontent->previewpic).'" alt="'.$gallerycontent->title.'" title="'.$gallerycontent->title.'"/>';
|
441 |
else
|
442 |
$insertpic = __('Watch gallery', 'nggallery');
|
443 |
-
$
|
444 |
<div class="ngg-album">
|
445 |
<div class="ngg-albumtitle"><a href="'.$link.'">'.$gallerycontent->title.'</a></div>
|
446 |
<div class="ngg-albumcontent">
|
447 |
<div class="ngg-thumbnail"><a href="'.$link.'">'.$insertpic.'</a></div>
|
448 |
-
<div class="ngg-description"><p>'.html_entity_decode($gallerycontent->galdesc).'</p><p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>'."\n".'</div>'."\n".'</div>';
|
449 |
|
450 |
}
|
451 |
}
|
452 |
-
|
453 |
-
return $
|
454 |
}
|
455 |
|
456 |
/**********************************************************/
|
@@ -462,16 +488,16 @@ function nggShowImageBrowser($galleryID) {
|
|
462 |
|
463 |
global $wpdb;
|
464 |
|
465 |
-
|
466 |
-
$ngg_options = get_option('ngg_options');
|
467 |
|
468 |
// get the pictures
|
469 |
$picturelist = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
|
470 |
if (is_array($picturelist)) {
|
471 |
-
$
|
472 |
}
|
473 |
|
474 |
-
|
|
|
475 |
|
476 |
}
|
477 |
|
@@ -481,14 +507,19 @@ function nggCreateImageBrowser($picarray) {
|
|
481 |
* @array $picarray with pid
|
482 |
**/
|
483 |
|
|
|
|
|
|
|
|
|
|
|
484 |
if (!is_array($picarray))
|
485 |
$picarray = array($picarray);
|
486 |
|
487 |
$total = count($picarray);
|
488 |
|
489 |
// look for gallery variable
|
490 |
-
if (
|
491 |
-
$act_pid = (int)
|
492 |
} else {
|
493 |
reset($picarray);
|
494 |
$act_pid = current($picarray);
|
@@ -507,26 +538,27 @@ function nggCreateImageBrowser($picarray) {
|
|
507 |
$picture = new nggImage($act_pid);
|
508 |
|
509 |
if ($picture) {
|
510 |
-
$
|
511 |
<div class="ngg-imagebrowser" >
|
512 |
-
<h3>'.stripslashes($picture->alttext).'</h3>
|
513 |
<div class="pic">'.$picture->get_href_link().'</div>
|
514 |
<div class="ngg-imagebrowser-nav">';
|
515 |
if ($back_pid) {
|
516 |
$backlink['pid'] = $back_pid;
|
517 |
-
$
|
518 |
}
|
519 |
if ($next_pid) {
|
520 |
$nextlink['pid'] = $next_pid;
|
521 |
-
$
|
522 |
}
|
523 |
-
$
|
524 |
<div class="counter">'.__('Picture', 'nggallery').' '.($key+1).' '.__('from', 'nggallery').' '.$total.'</div>
|
525 |
-
<div class="ngg-imagebrowser-desc"><p>'.html_entity_decode($picture->description).'</p></div>
|
526 |
</div>
|
527 |
</div>';
|
528 |
}
|
529 |
-
|
|
|
530 |
|
531 |
}
|
532 |
|
@@ -540,7 +572,9 @@ function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
|
|
540 |
* @mode none, watermark, web20
|
541 |
* @float none, left, right
|
542 |
*/
|
543 |
-
global $wpdb;
|
|
|
|
|
544 |
|
545 |
// remove the comma
|
546 |
$float = ltrim($float,',');
|
@@ -555,23 +589,31 @@ function nggSinglePicture($imageID,$width=250,$height=250,$mode="",$float="") {
|
|
555 |
if (!empty($float)) {
|
556 |
switch ($float) {
|
557 |
|
558 |
-
case 'left': $float='
|
559 |
break;
|
560 |
|
561 |
-
case 'right': $float='
|
562 |
break;
|
563 |
|
564 |
default: $float='';
|
565 |
break;
|
566 |
}
|
567 |
}
|
|
|
|
|
|
|
|
|
568 |
|
569 |
// add fullsize picture as link
|
570 |
-
$
|
571 |
-
|
572 |
-
|
|
|
|
|
|
|
573 |
|
574 |
-
|
|
|
575 |
}
|
576 |
|
577 |
/**********************************************************/
|
@@ -583,16 +625,20 @@ function nggShowGalleryTags($taglist) {
|
|
583 |
|
584 |
global $wpdb;
|
585 |
|
|
|
|
|
|
|
|
|
586 |
// get now the related images
|
587 |
$picturelist = ngg_Tags::get_images($taglist);
|
588 |
|
589 |
// look for ImageBrowser
|
590 |
-
if ( $
|
591 |
-
if (
|
592 |
foreach ($picturelist as $picture)
|
593 |
$picarray[] = $picture->pid;
|
594 |
-
$
|
595 |
-
return $
|
596 |
}
|
597 |
|
598 |
// go on if not empty
|
@@ -601,10 +647,11 @@ function nggShowGalleryTags($taglist) {
|
|
601 |
|
602 |
// show gallery
|
603 |
if (is_array($picturelist)) {
|
604 |
-
$
|
605 |
}
|
606 |
|
607 |
-
|
|
|
608 |
}
|
609 |
|
610 |
/**********************************************************/
|
@@ -617,15 +664,14 @@ function nggShowRelatedGallery($taglist, $maxImages = 0) {
|
|
617 |
|
618 |
global $wpdb;
|
619 |
|
|
|
|
|
620 |
// get now the related images
|
621 |
$picturelist = ngg_Tags::get_images($taglist);
|
622 |
|
623 |
// go on if not empty
|
624 |
if (empty($picturelist))
|
625 |
return;
|
626 |
-
|
627 |
-
// get the options
|
628 |
-
$ngg_options = get_option('ngg_options');
|
629 |
|
630 |
// get the effect code
|
631 |
$thumbcode = nggallery::get_thumbcode("Related images for ".get_the_title());
|
@@ -634,7 +680,7 @@ function nggShowRelatedGallery($taglist, $maxImages = 0) {
|
|
634 |
if ($maxImages > 0 ) array_splice($picturelist, $maxImages);
|
635 |
|
636 |
// *** build the gallery output
|
637 |
-
$
|
638 |
|
639 |
foreach ($picturelist as $picture) {
|
640 |
// set gallery url
|
@@ -642,15 +688,15 @@ function nggShowRelatedGallery($taglist, $maxImages = 0) {
|
|
642 |
$thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
|
643 |
$thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
|
644 |
|
645 |
-
$
|
646 |
-
$
|
647 |
-
$
|
648 |
-
$content .= '</a>'."\n";
|
649 |
}
|
650 |
|
651 |
-
$
|
652 |
|
653 |
-
|
|
|
654 |
}
|
655 |
|
656 |
/**********************************************************/
|
@@ -660,17 +706,21 @@ function nggShowAlbumTags($taglist) {
|
|
660 |
* @taglist list of tags as csv
|
661 |
*/
|
662 |
|
663 |
-
global $wpdb;
|
|
|
|
|
|
|
|
|
664 |
|
665 |
// look for gallerytag variable
|
666 |
-
if ( $
|
667 |
-
if (
|
668 |
|
669 |
-
$galleryTag = attribute_escape($
|
670 |
$tagname = $wpdb->get_var("SELECT name FROM $wpdb->nggtags WHERE slug = '$galleryTag' ");
|
671 |
-
$
|
672 |
-
$
|
673 |
-
return $
|
674 |
|
675 |
}
|
676 |
}
|
@@ -682,16 +732,15 @@ function nggShowAlbumTags($taglist) {
|
|
682 |
if (empty($picturelist))
|
683 |
return;
|
684 |
|
685 |
-
$
|
686 |
foreach ($picturelist as $picture) {
|
687 |
-
$args['page'] = get_the_ID();
|
688 |
$args['gallerytag'] = $picture["slug"];
|
689 |
-
$link =
|
690 |
|
691 |
-
$insertpic = '<img class="Thumb"
|
692 |
$tagid = $picture['tagid'];
|
693 |
$counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpic2tags WHERE tagid = '$tagid' ");
|
694 |
-
$
|
695 |
<div class="ngg-album-compact">
|
696 |
<div class="ngg-album-compactbox">
|
697 |
<div class="ngg-album-link">
|
@@ -701,18 +750,21 @@ function nggShowAlbumTags($taglist) {
|
|
701 |
<h4><a class="ngg-album-desc" title="'.$picture["name"].'" href="'.$link.'">'.$picture["name"].'</a></h4>
|
702 |
<p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>';
|
703 |
}
|
704 |
-
$
|
705 |
-
$
|
706 |
|
707 |
-
|
|
|
|
|
708 |
}
|
709 |
|
710 |
/**********************************************************/
|
711 |
function nggShowRelatedImages($type = '', $maxImages = 0) {
|
712 |
// return related images based on category or tags
|
713 |
|
|
|
|
|
714 |
if ($type == '') {
|
715 |
-
$ngg_options = get_option('ngg_options');
|
716 |
$type = $ngg_options['appendType'];
|
717 |
$maxImages = $ngg_options['maxImages'];
|
718 |
}
|
@@ -738,9 +790,9 @@ function nggShowRelatedImages($type = '', $maxImages = 0) {
|
|
738 |
}
|
739 |
|
740 |
$sluglist = implode(",", $sluglist);
|
741 |
-
$
|
742 |
|
743 |
-
return $
|
744 |
}
|
745 |
|
746 |
/**********************************************************/
|
1 |
<?php
|
2 |
|
3 |
+
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
|
4 |
+
|
5 |
function searchnggallerytags($content) {
|
6 |
|
7 |
global $wpdb;
|
8 |
+
|
9 |
+
//TODO:Refactor this to a class
|
10 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
11 |
|
12 |
$search = "@\[singlepic=(\d+)(|,\d+|,)(|,\d+|,)(|,watermark|,web20|,)(|,right|,left|,)\]@i";
|
13 |
|
85 |
// check for gallery id
|
86 |
$galleryID = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE gid = '$v0' ");
|
87 |
if(!$galleryID) $galleryID = $wpdb->get_var("SELECT gid FROM $wpdb->nggallery WHERE name = '$v0' ");
|
88 |
+
if( $galleryID || $v0 == 0 ) {
|
89 |
$search = $matches[0][$key];
|
90 |
// get the size if they are set
|
91 |
$irWidth = $matches[3][$key];
|
132 |
function nggShowSlideshow($galleryID,$irWidth,$irHeight) {
|
133 |
|
134 |
global $wpdb;
|
135 |
+
|
136 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
137 |
+
|
138 |
+
//TODO: bad intermediate solution until refactor to class
|
139 |
+
$obj = 'so' . $galleryID . rand(10,1000);
|
140 |
+
|
141 |
+
if (empty($irWidth) ) $irWidth = (int) $ngg_options['irWidth'];
|
142 |
+
if (empty($irHeight)) $irHeight = (int) $ngg_options['irHeight'];
|
143 |
+
|
144 |
+
$out = "\n".'<div class="slideshow" id="ngg_slideshow'.$galleryID.'">';
|
145 |
+
$out .= '<p>The <a href="http://www.macromedia.com/go/getflashplayer">Flash Player</a> and <a href="http://www.mozilla.com/firefox/">a browser with Javascript support</a> are needed..</p></div>';
|
146 |
+
$out .= "\n\t".'<script type="text/javascript" defer="defer">';
|
147 |
+
if ($ngg_options['irXHTMLvalid']) $out .= "\n\t".'<!--';
|
148 |
+
if ($ngg_options['irXHTMLvalid']) $out .= "\n\t".'//<![CDATA[';
|
149 |
+
$out .= "\n\t\t".'var '. $obj .' = new SWFObject("'.NGGALLERY_URLPATH.'imagerotator.swf", "ngg_slideshow'.$galleryID.'", "'.$irWidth.'", "'.$irHeight.'", "7", "#'.$ngg_options[irBackcolor].'");';
|
150 |
+
$out .= "\n\t\t".$obj.'.addParam("wmode", "opaque");';
|
151 |
+
$out .= "\n\t\t".$obj.'.addVariable("file", "'.NGGALLERY_URLPATH.'nggextractXML.php?gid='.$galleryID.'");';
|
152 |
+
if (!$ngg_options['irShuffle']) $out .= "\n\t\t".$obj.'.addVariable("shuffle", "false");';
|
153 |
+
if ($ngg_options['irLinkfromdisplay']) $out .= "\n\t\t".$obj.'.addVariable("linkfromdisplay", "false");';
|
154 |
+
if ($ngg_options['irShownavigation']) $out .= "\n\t\t".$obj.'.addVariable("shownavigation", "true");';
|
155 |
+
if ($ngg_options['irShowicons']) $out .= "\n\t\t".$obj.'.addVariable("showicons", "true");';
|
156 |
+
if ($ngg_options['irKenburns']) $out .= "\n\t\t".$obj.'.addVariable("kenburns", "true");';
|
157 |
+
if ($ngg_options['irWatermark']) $out .= "\n\t\t".$obj.'.addVariable("logo", "'.$ngg_options['wmPath'].'");';
|
158 |
+
if (!empty($ngg_options['irAudio'])) $out .= "\n\t\t".$obj.'.addVariable("audio", "'.$ngg_options['irAudio'].'");';
|
159 |
+
$out .= "\n\t\t".$obj.'.addVariable("overstretch", "'.$ngg_options['irOverstretch'].'");';
|
160 |
+
$out .= "\n\t\t".$obj.'.addVariable("backcolor", "0x'.$ngg_options['irBackcolor'].'");';
|
161 |
+
$out .= "\n\t\t".$obj.'.addVariable("frontcolor", "0x'.$ngg_options['irFrontcolor'].'");';
|
162 |
+
$out .= "\n\t\t".$obj.'.addVariable("lightcolor", "0x'.$ngg_options['irLightcolor'].'");';
|
163 |
+
if (!empty($ngg_options['irScreencolor'])) $out .= "\n\t\t".$obj.'.addVariable("screencolor", "0x'.$ngg_options['irScreencolor'].'");';
|
164 |
+
$out .= "\n\t\t".$obj.'.addVariable("rotatetime", "'.$ngg_options['irRotatetime'].'");';
|
165 |
+
$out .= "\n\t\t".$obj.'.addVariable("transition", "'.$ngg_options['irTransition'].'");';
|
166 |
+
$out .= "\n\t\t".$obj.'.addVariable("width", "'.$irWidth.'");';
|
167 |
+
$out .= "\n\t\t".$obj.'.addVariable("height", "'.$irHeight.'");';
|
168 |
+
$out .= "\n\t\t".$obj.'.write("ngg_slideshow'.$galleryID.'");';
|
169 |
+
if ($ngg_options['irXHTMLvalid']) $out .= "\n\t".'//]]>';
|
170 |
+
if ($ngg_options['irXHTMLvalid']) $out .= "\n\t".'-->';
|
171 |
+
$out .= "\n\t".'</script>';
|
172 |
+
|
173 |
+
$out = apply_filters('ngg_show_slideshow_content', $out);
|
174 |
+
return $out;
|
175 |
}
|
176 |
|
177 |
/**********************************************************/
|
178 |
function nggShowGallery($galleryID) {
|
179 |
|
180 |
+
global $wpdb, $nggRewrite;
|
181 |
|
182 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
183 |
+
|
184 |
+
// $_GET from wp_query
|
185 |
+
$show = get_query_var('show');
|
186 |
+
$pid = get_query_var('pid');
|
187 |
+
$pageid = get_query_var('pageid');
|
188 |
|
189 |
// use the jQuery Plugin if activated
|
190 |
if (($ngg_options['thumbEffect'] == "thickbox") && ($ngg_options['galUsejQuery'])) {
|
191 |
+
$out .= nggShowJSGallery($galleryID);
|
192 |
+
return $out;
|
193 |
}
|
194 |
|
195 |
+
// set $show if slideshow first
|
196 |
+
if ( empty( $show ) AND ($ngg_options['galShowOrder'] == 'slide')) {
|
197 |
+
if (is_home()) $pageid = get_the_ID();
|
198 |
+
$show = 'slide';
|
199 |
}
|
200 |
|
201 |
// go on only on this page
|
202 |
+
if ( !is_home() || $pageid == get_the_ID() ) {
|
203 |
|
204 |
// 1st look for ImageBrowser link
|
205 |
+
if (!empty( $pid)) {
|
206 |
+
$out = nggShowImageBrowser($galleryID);
|
207 |
+
return $out;
|
208 |
}
|
209 |
|
210 |
// 2nd look for slideshow
|
211 |
+
if ( $show == 'slide' ) {
|
|
|
212 |
$args['show'] = "gallery";
|
213 |
+
$out = '<div class="ngg-galleryoverview">';
|
214 |
+
$out .= '<div class="slideshowlink"><a class="slideshowlink" href="' . $nggRewrite->get_permalink($args) . '">'.$ngg_options['galTextGallery'].'</a></div>';
|
215 |
+
$out .= nggShowSlideshow($galleryID,$ngg_options['irWidth'],$ngg_options['irHeight']);
|
216 |
+
$out .= '</div>'."\n";
|
217 |
+
$out .= '<div class="ngg-clear"></div>'."\n";
|
218 |
+
return $out;
|
219 |
}
|
220 |
}
|
221 |
|
226 |
// get all picture with this galleryid
|
227 |
$picturelist = $wpdb->get_results("SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid WHERE t.gid = '$galleryID' AND tt.exclude != 1 ORDER BY tt.$ngg_options[galSort] $ngg_options[galSortDir] ");
|
228 |
if (is_array($picturelist)) {
|
229 |
+
$out = nggCreateGallery($picturelist,$galleryID);
|
230 |
}
|
231 |
|
232 |
+
$out = apply_filters('ngg_show_gallery_content', $out);
|
233 |
+
return $out;
|
234 |
}
|
235 |
|
236 |
/**********************************************************/
|
240 |
* @int $galleryID
|
241 |
**/
|
242 |
|
243 |
+
global $nggRewrite;
|
244 |
+
|
245 |
+
|
246 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
247 |
+
|
248 |
+
// $_GET from wp_query
|
249 |
+
$nggpage = get_query_var('nggpage');
|
250 |
+
$pageid = get_query_var('pageid');
|
251 |
+
|
252 |
if (!is_array($picturelist))
|
253 |
$picturelist = array($picturelist);
|
254 |
|
|
|
|
|
|
|
255 |
$maxElement = $ngg_options['galImages'];
|
256 |
$thumbwidth = $ngg_options['thumbwidth'];
|
257 |
$thumbheight = $ngg_options['thumbheight'];
|
269 |
|
270 |
// check for page navigation
|
271 |
if ($maxElement > 0) {
|
272 |
+
if ( !is_home() || $pageid == get_the_ID() ) {
|
273 |
+
if ( !empty( $nggpage ) )
|
274 |
+
$page = (int) $nggpage;
|
275 |
else
|
276 |
$page = 1;
|
277 |
}
|
290 |
}
|
291 |
|
292 |
if (is_array($picturelist)) {
|
293 |
+
$out = '<div class="ngg-galleryoverview" id="ngg-gallery-'. $galleryID .'">';
|
294 |
|
295 |
// show slideshow link
|
296 |
if ($galleryID)
|
297 |
if (($ngg_options['galShowSlide']) AND (NGGALLERY_IREXIST)) {
|
|
|
298 |
$args['show'] = "slide";
|
299 |
+
$out .= '<div class="slideshowlink"><a class="slideshowlink" href="' . $nggRewrite->get_permalink($args) . '">'.$ngg_options['galTextSlide'].'</a></div>';
|
300 |
}
|
301 |
|
302 |
// a description below the picture, require fixed width
|
303 |
if (!$ngg_options['galShowDesc'])
|
304 |
$ngg_options['galShowDesc'] = "none";
|
305 |
+
$setwidth = ($ngg_options['galShowDesc'] != "none") ? 'style="width:'.($thumbwidth).'px;"' : '';
|
306 |
+
$class_desc = ($ngg_options['galShowDesc'] != "none") ? 'desc' : '';
|
307 |
|
308 |
foreach ($picturelist as $picture) {
|
309 |
// set image url
|
310 |
$folder_url = get_option ('siteurl')."/".$picture->path."/";
|
311 |
$thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
|
312 |
$thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
|
|
|
|
|
313 |
// choose link between imagebrowser or effect
|
314 |
|
315 |
+
$link =($ngg_options['galImgBrowser']) ? $nggRewrite->get_permalink(array('pid'=>$picture->pid)) : $folder_url.$picture->filename;
|
316 |
// create output
|
317 |
+
$out .= '<div id="ngg-image-'. $picture->pid .'" class="ngg-gallery-thumbnail-box '. $class_desc .'">'."\n\t";
|
318 |
$out .= '<div class="ngg-gallery-thumbnail" '.$setwidth.' >'."\n\t";
|
319 |
$out .= '<a href="'.$link.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
|
320 |
$out .= '<img title="'.stripslashes($picture->alttext).'" alt="'.stripslashes($picture->alttext).'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
|
321 |
$out .= '</a>'."\n";
|
322 |
if ($ngg_options['galShowDesc'] == "alttext")
|
323 |
+
$out .= '<span>'.html_entity_decode(stripslashes($picture->alttext)).'</span>'."\n";
|
324 |
if ($ngg_options['galShowDesc'] == "desc")
|
325 |
+
$out .= '<span>'.html_entity_decode(stripslashes($picture->description)).'</span>'."\n";
|
326 |
$out .= '</div>'."\n".'</div>'."\n";
|
327 |
}
|
328 |
$out .= '</div>'."\n";
|
329 |
$out .= ($maxElement > 0) ? $navigation : '<div class="ngg-clear"></div>'."\n";
|
330 |
}
|
331 |
+
|
332 |
return $out;
|
333 |
}
|
334 |
|
336 |
/**********************************************************/
|
337 |
function nggShowJSGallery($galleryID) {
|
338 |
// create a gallery with a jQuery plugin
|
339 |
+
//TODO:Refactor this to better, faster , cleaner solution
|
340 |
|
341 |
global $wpdb;
|
342 |
+
|
343 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
344 |
|
|
|
345 |
$maxElement = $ngg_options['galImages'];
|
346 |
|
347 |
// get gallery values
|
358 |
// create array
|
359 |
$i = 0;
|
360 |
|
361 |
+
$out = '<script type="text/javascript">'."\n";
|
362 |
+
$out .= 'var nggal'. $galleryID .'=new Array()'."\n";
|
363 |
foreach ($picturelist as $picture) {
|
364 |
+
$out .= 'nggal'. $galleryID .'['.$i++.']=["'.$picture->filename.'", "'.stripslashes($picture->alttext).'", "'.strip_tags(nggallery::ngg_nl2br($picture->description)).'"]'."\n";
|
|
|
365 |
}
|
366 |
+
$out .= 'jQuery(document).ready(function() {'."\n";
|
367 |
+
$out .= ' jQuery("#nggal'. $galleryID .'").nggallery({'."\n";
|
368 |
+
$out .= ' imgarray : nggal'. $galleryID . ','."\n";
|
369 |
+
$out .= ' name : "'. $act_gallery->name . '",'."\n";
|
370 |
+
$out .= ' galleryurl : "'. $folder_url . '",'."\n";
|
371 |
+
$out .= ' thumbfolder : "'. $thumb_folder . '",'."\n";
|
372 |
if ($ngg_options['thumbEffect'] == "thickbox")
|
373 |
+
$out .= ' thickbox : true,'."\n";
|
374 |
+
$out .= ' maxelement : '. $maxElement ."\n";
|
375 |
+
$out .= ' });'."\n";
|
376 |
+
$out .= '});'."\n";
|
377 |
|
378 |
+
$out .= '</script>'."\n";
|
379 |
+
$out .= ' <div id="nggal'. $galleryID .'">'."\n";
|
380 |
+
$out .= ' <!-- The content will be dynamically loaded in here -->'."\n";
|
381 |
+
$out .= '</div>'."\n";
|
382 |
+
$out .= '<div class="ngg-clear"></div>'."\n";
|
383 |
}
|
384 |
|
385 |
+
return $out;
|
386 |
}
|
387 |
/**********************************************************/
|
388 |
function nggShowAlbum($albumID,$mode = "extend") {
|
389 |
|
390 |
global $wpdb;
|
391 |
|
392 |
+
// $_GET from wp_query
|
393 |
+
$gallery = get_query_var('gallery');
|
394 |
+
$album = get_query_var('album');
|
395 |
|
396 |
// look for gallery variable
|
397 |
+
if (!empty( $gallery )) {
|
398 |
|
399 |
+
if ( $albumID != $album )
|
400 |
+
return;
|
401 |
|
402 |
+
$galleryID = (int) $gallery;
|
403 |
+
$out = nggShowGallery($galleryID);
|
404 |
+
return $out;
|
405 |
}
|
406 |
|
407 |
$mode = ltrim($mode,',');
|
410 |
$gallery_array = unserialize($sortorder);
|
411 |
}
|
412 |
|
413 |
+
$out = '<div class="ngg-albumoverview">';
|
414 |
+
|
415 |
if (is_array($gallery_array)) {
|
416 |
foreach ($gallery_array as $galleryID) {
|
417 |
+
$out .= nggCreateAlbum($galleryID,$mode,$albumID);
|
418 |
}
|
419 |
}
|
|
|
|
|
420 |
|
421 |
+
$out .= '</div>'."\n";
|
422 |
+
$out .= '<div class="ngg-clear"></div>'."\n";
|
423 |
+
|
424 |
+
$out = apply_filters('ngg_show_album_content', $out);
|
425 |
+
return $out;
|
426 |
}
|
427 |
|
428 |
/**********************************************************/
|
429 |
function nggCreateAlbum($galleryID,$mode = "extend",$albumID = 0) {
|
430 |
// create a gallery overview div
|
431 |
|
432 |
+
global $wpdb, $nggRewrite;
|
433 |
+
|
434 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
435 |
|
436 |
$gallerycontent = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$galleryID' ");
|
437 |
|
438 |
// choose between variable and page link
|
439 |
+
if ($ngg_options['galNoPages']) {
|
440 |
+
$args['album'] = $albumID;
|
441 |
+
$args['gallery'] = $galleryID;
|
442 |
+
$link = $nggRewrite->get_permalink($args);
|
443 |
} else {
|
444 |
$link = get_permalink($gallerycontent->pageid);
|
445 |
}
|
448 |
$counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1");
|
449 |
if ($mode == "compact") {
|
450 |
if ($gallerycontent->previewpic != 0)
|
451 |
+
$insertpic = '<img class="Thumb" alt="'.$gallerycontent->title.'" src="'.nggallery::get_thumbnail_url($gallerycontent->previewpic).'"/>';
|
452 |
else
|
453 |
$insertpic = __('Watch gallery', 'nggallery');
|
454 |
+
$out = '
|
455 |
<div class="ngg-album-compact">
|
456 |
<div class="ngg-album-compactbox">
|
457 |
<div class="ngg-album-link">
|
466 |
$insertpic = '<img src="'.nggallery::get_thumbnail_url($gallerycontent->previewpic).'" alt="'.$gallerycontent->title.'" title="'.$gallerycontent->title.'"/>';
|
467 |
else
|
468 |
$insertpic = __('Watch gallery', 'nggallery');
|
469 |
+
$out = '
|
470 |
<div class="ngg-album">
|
471 |
<div class="ngg-albumtitle"><a href="'.$link.'">'.$gallerycontent->title.'</a></div>
|
472 |
<div class="ngg-albumcontent">
|
473 |
<div class="ngg-thumbnail"><a href="'.$link.'">'.$insertpic.'</a></div>
|
474 |
+
<div class="ngg-description"><p>'.html_entity_decode(stripslashes($gallerycontent->galdesc)).'</p><p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>'."\n".'</div>'."\n".'</div>';
|
475 |
|
476 |
}
|
477 |
}
|
478 |
+
|
479 |
+
return $out;
|
480 |
}
|
481 |
|
482 |
/**********************************************************/
|
488 |
|
489 |
global $wpdb;
|
490 |
|
491 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
|
|
492 |
|
493 |
// get the pictures
|
494 |
$picturelist = $wpdb->get_col("SELECT pid FROM $wpdb->nggpictures WHERE galleryid = '$galleryID' AND exclude != 1 ORDER BY $ngg_options[galSort] $ngg_options[galSortDir]");
|
495 |
if (is_array($picturelist)) {
|
496 |
+
$out = nggCreateImageBrowser($picturelist);
|
497 |
}
|
498 |
|
499 |
+
$out = apply_filters('ngg_show_imagebrowser_content', $out);
|
500 |
+
return $out;
|
501 |
|
502 |
}
|
503 |
|
507 |
* @array $picarray with pid
|
508 |
**/
|
509 |
|
510 |
+
global $nggRewrite;
|
511 |
+
|
512 |
+
// $_GET from wp_query
|
513 |
+
$pid = get_query_var('pid');
|
514 |
+
|
515 |
if (!is_array($picarray))
|
516 |
$picarray = array($picarray);
|
517 |
|
518 |
$total = count($picarray);
|
519 |
|
520 |
// look for gallery variable
|
521 |
+
if ( !empty( $pid )) {
|
522 |
+
$act_pid = (int) $pid;
|
523 |
} else {
|
524 |
reset($picarray);
|
525 |
$act_pid = current($picarray);
|
538 |
$picture = new nggImage($act_pid);
|
539 |
|
540 |
if ($picture) {
|
541 |
+
$out = '
|
542 |
<div class="ngg-imagebrowser" >
|
543 |
+
<h3>'.html_entity_decode(stripslashes($picture->alttext)).'</h3>
|
544 |
<div class="pic">'.$picture->get_href_link().'</div>
|
545 |
<div class="ngg-imagebrowser-nav">';
|
546 |
if ($back_pid) {
|
547 |
$backlink['pid'] = $back_pid;
|
548 |
+
$out .='<div class="back"><a href="'.$nggRewrite->get_permalink($backlink).'">'.'◄ '.__('Back', 'nggallery').'</a></div>';
|
549 |
}
|
550 |
if ($next_pid) {
|
551 |
$nextlink['pid'] = $next_pid;
|
552 |
+
$out .='<div class="next"><a href="'.$nggRewrite->get_permalink($nextlink).'">'.__('Next', 'nggallery').' ►'.'</a></div>';
|
553 |
}
|
554 |
+
$out .='
|
555 |
<div class="counter">'.__('Picture', 'nggallery').' '.($key+1).' '.__('from', 'nggallery').' '.$total.'</div>
|
556 |
+
<div class="ngg-imagebrowser-desc"><p>'.html_entity_decode(stripslashes($picture->description)).'</p></div>
|
557 |
</div>
|
558 |
</div>';
|
559 |
}
|
560 |
+
|
561 |
+
return $out;
|
562 |
|
563 |
}
|
564 |
|
572 |
* @mode none, watermark, web20
|
573 |
* @float none, left, right
|
574 |
*/
|
575 |
+
global $wpdb, $post;
|
576 |
+
|
577 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
578 |
|
579 |
// remove the comma
|
580 |
$float = ltrim($float,',');
|
589 |
if (!empty($float)) {
|
590 |
switch ($float) {
|
591 |
|
592 |
+
case 'left': $float=' ngg-left" ';
|
593 |
break;
|
594 |
|
595 |
+
case 'right': $float=' ngg-right" ';
|
596 |
break;
|
597 |
|
598 |
default: $float='';
|
599 |
break;
|
600 |
}
|
601 |
}
|
602 |
+
|
603 |
+
// check fo cached picture
|
604 |
+
if ( ($ngg_options['imgCacheSinglePic']) && ($post->post_status == 'publish') )
|
605 |
+
$cache_url = $picture->cached_singlepic_file($width, $height, $mode );
|
606 |
|
607 |
// add fullsize picture as link
|
608 |
+
$out = '<a href="'.$picture->imagePath.'" title="'.stripslashes($picture->description).'" '.$picture->get_thumbcode("singlepic".$imageID).' >';
|
609 |
+
if (!$cache_url)
|
610 |
+
$out .= '<img class="ngg-singlepic'. $float .'" src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$imageID.'&width='.$width.'&height='.$height.'&mode='.$mode.'" alt="'.stripslashes($picture->alttext).'" title="'.stripslashes($picture->alttext).'" />';
|
611 |
+
else
|
612 |
+
$out .= '<img class="ngg-singlepic'. $float .'" src="'.$cache_url.'" alt="'.stripslashes($picture->alttext).'" title="'.stripslashes($picture->alttext).'" />';
|
613 |
+
$out .= '</a>';
|
614 |
|
615 |
+
$out = apply_filters('ngg_show_singlepic_content', $out);
|
616 |
+
return $out;
|
617 |
}
|
618 |
|
619 |
/**********************************************************/
|
625 |
|
626 |
global $wpdb;
|
627 |
|
628 |
+
// $_GET from wp_query
|
629 |
+
$pid = get_query_var('pid');
|
630 |
+
$pageid = get_query_var('pageid');
|
631 |
+
|
632 |
// get now the related images
|
633 |
$picturelist = ngg_Tags::get_images($taglist);
|
634 |
|
635 |
// look for ImageBrowser
|
636 |
+
if ( $pageid == get_the_ID() || !is_home() )
|
637 |
+
if (!empty( $pid )) {
|
638 |
foreach ($picturelist as $picture)
|
639 |
$picarray[] = $picture->pid;
|
640 |
+
$out = nggCreateImageBrowser($picarray);
|
641 |
+
return $out;
|
642 |
}
|
643 |
|
644 |
// go on if not empty
|
647 |
|
648 |
// show gallery
|
649 |
if (is_array($picturelist)) {
|
650 |
+
$out = nggCreateGallery($picturelist,false);
|
651 |
}
|
652 |
|
653 |
+
$out = apply_filters('ngg_show_gallery_tags_content', $out);
|
654 |
+
return $out;
|
655 |
}
|
656 |
|
657 |
/**********************************************************/
|
664 |
|
665 |
global $wpdb;
|
666 |
|
667 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
668 |
+
|
669 |
// get now the related images
|
670 |
$picturelist = ngg_Tags::get_images($taglist);
|
671 |
|
672 |
// go on if not empty
|
673 |
if (empty($picturelist))
|
674 |
return;
|
|
|
|
|
|
|
675 |
|
676 |
// get the effect code
|
677 |
$thumbcode = nggallery::get_thumbcode("Related images for ".get_the_title());
|
680 |
if ($maxImages > 0 ) array_splice($picturelist, $maxImages);
|
681 |
|
682 |
// *** build the gallery output
|
683 |
+
$out = '<div class="ngg-related-gallery">';
|
684 |
|
685 |
foreach ($picturelist as $picture) {
|
686 |
// set gallery url
|
688 |
$thumbnailURL = get_option ('siteurl')."/".$picture->path.nggallery::get_thumbnail_folder($picture->path, FALSE);
|
689 |
$thumb_prefix = nggallery::get_thumbnail_prefix($picture->path, FALSE);
|
690 |
|
691 |
+
$out .= '<a href="'.$folder_url.$picture->filename.'" title="'.stripslashes($picture->description).'" '.$thumbcode.' >';
|
692 |
+
$out .= '<img title="'.stripslashes($picture->alttext).'" alt="'.stripslashes($picture->alttext).'" src="'.$thumbnailURL.$thumb_prefix.$picture->filename.'" '.$thumbsize.' />';
|
693 |
+
$out .= '</a>'."\n";
|
|
|
694 |
}
|
695 |
|
696 |
+
$out .= '</div>'."\n";
|
697 |
|
698 |
+
$out = apply_filters('ngg_show_related_gallery_content', $out);
|
699 |
+
return $out;
|
700 |
}
|
701 |
|
702 |
/**********************************************************/
|
706 |
* @taglist list of tags as csv
|
707 |
*/
|
708 |
|
709 |
+
global $wpdb, $nggRewrite;
|
710 |
+
|
711 |
+
// $_GET from wp_query
|
712 |
+
$tag = get_query_var('gallerytag');
|
713 |
+
$pageid = get_query_var('pageid');
|
714 |
|
715 |
// look for gallerytag variable
|
716 |
+
if ( $pageid == get_the_ID() || !is_home() ) {
|
717 |
+
if (!empty( $tag )) {
|
718 |
|
719 |
+
$galleryTag = attribute_escape( $tag );
|
720 |
$tagname = $wpdb->get_var("SELECT name FROM $wpdb->nggtags WHERE slug = '$galleryTag' ");
|
721 |
+
$out = '<div id="albumnav"><span><a href="'.get_permalink().'" title="'.__('Overview', 'nggallery').'">'.__('Overview', 'nggallery').'</a> | '.$tagname.'</span></div>';
|
722 |
+
$out .= nggShowGalleryTags($galleryTag);
|
723 |
+
return $out;
|
724 |
|
725 |
}
|
726 |
}
|
732 |
if (empty($picturelist))
|
733 |
return;
|
734 |
|
735 |
+
$out = '<div class="ngg-albumoverview">';
|
736 |
foreach ($picturelist as $picture) {
|
|
|
737 |
$args['gallerytag'] = $picture["slug"];
|
738 |
+
$link = $nggRewrite->get_permalink($args);
|
739 |
|
740 |
+
$insertpic = '<img class="Thumb" alt="'.$picture["name"].'" src="'.nggallery::get_thumbnail_url($picture["pid"]).'"/>';
|
741 |
$tagid = $picture['tagid'];
|
742 |
$counter = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpic2tags WHERE tagid = '$tagid' ");
|
743 |
+
$out .= '
|
744 |
<div class="ngg-album-compact">
|
745 |
<div class="ngg-album-compactbox">
|
746 |
<div class="ngg-album-link">
|
750 |
<h4><a class="ngg-album-desc" title="'.$picture["name"].'" href="'.$link.'">'.$picture["name"].'</a></h4>
|
751 |
<p><strong>'.$counter.'</strong> '.__('Photos', 'nggallery').'</p></div>';
|
752 |
}
|
753 |
+
$out .= '</div>'."\n";
|
754 |
+
$out .= '<div class="ngg-clear"></div>'."\n";
|
755 |
|
756 |
+
$out = apply_filters('ngg_show_album_tags_content', $out);
|
757 |
+
|
758 |
+
return $out;
|
759 |
}
|
760 |
|
761 |
/**********************************************************/
|
762 |
function nggShowRelatedImages($type = '', $maxImages = 0) {
|
763 |
// return related images based on category or tags
|
764 |
|
765 |
+
$ngg_options = nggallery::get_option('ngg_options');
|
766 |
+
|
767 |
if ($type == '') {
|
|
|
768 |
$type = $ngg_options['appendType'];
|
769 |
$maxImages = $ngg_options['maxImages'];
|
770 |
}
|
790 |
}
|
791 |
|
792 |
$sluglist = implode(",", $sluglist);
|
793 |
+
$out = nggShowRelatedGallery($sluglist, $maxImages);
|
794 |
|
795 |
+
return $out;
|
796 |
}
|
797 |
|
798 |
/**********************************************************/
|
ngginstall.php
CHANGED
@@ -8,13 +8,18 @@ function nggallery_install () {
|
|
8 |
|
9 |
global $wpdb , $wp_roles, $wp_version;
|
10 |
global $ngg_db_version;
|
11 |
-
|
12 |
// Check for capability
|
13 |
if ( !current_user_can('activate_plugins') )
|
14 |
return;
|
15 |
|
16 |
// Set the capabilities for the administrator
|
17 |
$role = get_role('administrator');
|
|
|
|
|
|
|
|
|
|
|
18 |
$role->add_cap('NextGEN Gallery overview');
|
19 |
$role->add_cap('NextGEN Use TinyMCE');
|
20 |
$role->add_cap('NextGEN Upload images');
|
@@ -24,10 +29,20 @@ function nggallery_install () {
|
|
24 |
$role->add_cap('NextGEN Change options');
|
25 |
|
26 |
// upgrade function changed in WordPress 2.3
|
27 |
-
if (version_compare($wp_version, '2.3
|
28 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
29 |
else
|
30 |
require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
$nggpictures = $wpdb->prefix . 'ngg_pictures';
|
33 |
$nggallery = $wpdb->prefix . 'ngg_gallery';
|
@@ -45,7 +60,7 @@ function nggallery_install () {
|
|
45 |
alttext MEDIUMTEXT NULL ,
|
46 |
exclude TINYINT NULL DEFAULT '0' ,
|
47 |
PRIMARY KEY pid (pid)
|
48 |
-
);";
|
49 |
|
50 |
dbDelta($sql);
|
51 |
|
@@ -64,7 +79,7 @@ function nggallery_install () {
|
|
64 |
pageid BIGINT(20) NULL DEFAULT '0' ,
|
65 |
previewpic BIGINT(20) NULL DEFAULT '0' ,
|
66 |
PRIMARY KEY gid (gid)
|
67 |
-
);";
|
68 |
|
69 |
dbDelta($sql);
|
70 |
}
|
@@ -76,7 +91,7 @@ function nggallery_install () {
|
|
76 |
name VARCHAR(255) NOT NULL ,
|
77 |
sortorder LONGTEXT NOT NULL,
|
78 |
PRIMARY KEY id (id)
|
79 |
-
);";
|
80 |
|
81 |
dbDelta($sql);
|
82 |
}
|
@@ -90,7 +105,7 @@ function nggallery_install () {
|
|
90 |
slug VARCHAR(200) NOT NULL,
|
91 |
PRIMARY KEY id (id),
|
92 |
UNIQUE KEY slug (slug)
|
93 |
-
);";
|
94 |
|
95 |
dbDelta($sql);
|
96 |
}
|
@@ -102,7 +117,7 @@ function nggallery_install () {
|
|
102 |
tagid BIGINT(20) NOT NULL DEFAULT 0,
|
103 |
PRIMARY KEY (picid, tagid),
|
104 |
KEY tagid (tagid)
|
105 |
-
);";
|
106 |
|
107 |
dbDelta($sql);
|
108 |
}
|
@@ -123,13 +138,23 @@ function nggallery_install () {
|
|
123 |
update_option( "ngg_db_version", $ngg_db_version );
|
124 |
}
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
}
|
127 |
|
128 |
function ngg_default_options() {
|
|
|
|
|
129 |
|
130 |
$ngg_options['gallerypath'] = "wp-content/gallery/"; // set default path to the gallery
|
131 |
$ngg_options['scanfolder'] = false; // search for new images (not used)
|
132 |
-
$ngg_options['deleteImg'] =
|
|
|
|
|
133 |
|
134 |
// Tags / categories
|
135 |
$ngg_options['activateTags'] = false; // append related images
|
@@ -150,6 +175,7 @@ function ngg_default_options() {
|
|
150 |
$ngg_options['imgHeight'] = 600; // Image height
|
151 |
$ngg_options['imgQuality'] = 85; // Image Quality
|
152 |
$ngg_options['imgResampleMode'] = 4; // Resample speed value 1 - 5
|
|
|
153 |
|
154 |
// Gallery Settings
|
155 |
$ngg_options['galImages'] = "20"; // Number Of images per page
|
@@ -197,12 +223,29 @@ function ngg_default_options() {
|
|
197 |
$ngg_options['irKenburns'] = false;
|
198 |
$ngg_options['irBackcolor'] = "000000";
|
199 |
$ngg_options['irFrontcolor'] = "FFFFFF";
|
200 |
-
$ngg_options['irLightcolor'] = "CC0000";
|
|
|
201 |
|
202 |
// CSS Style
|
203 |
$ngg_options['activateCSS'] = true; // activate the CSS file
|
204 |
$ngg_options['CSSfile'] = "nggallery.css"; // set default css filename
|
205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
update_option('ngg_options', $ngg_options);
|
207 |
|
208 |
}
|
8 |
|
9 |
global $wpdb , $wp_roles, $wp_version;
|
10 |
global $ngg_db_version;
|
11 |
+
|
12 |
// Check for capability
|
13 |
if ( !current_user_can('activate_plugins') )
|
14 |
return;
|
15 |
|
16 |
// Set the capabilities for the administrator
|
17 |
$role = get_role('administrator');
|
18 |
+
// We need this role, no other chance
|
19 |
+
if ( empty($role) ) {
|
20 |
+
update_option( "ngg_init_check", __('Sorry, NextGEN Gallery works only with a role called administrator',"nggallery") );
|
21 |
+
return;
|
22 |
+
}
|
23 |
$role->add_cap('NextGEN Gallery overview');
|
24 |
$role->add_cap('NextGEN Use TinyMCE');
|
25 |
$role->add_cap('NextGEN Upload images');
|
29 |
$role->add_cap('NextGEN Change options');
|
30 |
|
31 |
// upgrade function changed in WordPress 2.3
|
32 |
+
if (version_compare($wp_version, '2.3', '>='))
|
33 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
34 |
else
|
35 |
require_once(ABSPATH . 'wp-admin/upgrade-functions.php');
|
36 |
+
|
37 |
+
// add charset & collate like wp core
|
38 |
+
$charset_collate = '';
|
39 |
+
|
40 |
+
if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
|
41 |
+
if ( ! empty($wpdb->charset) )
|
42 |
+
$charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
|
43 |
+
if ( ! empty($wpdb->collate) )
|
44 |
+
$charset_collate .= " COLLATE $wpdb->collate";
|
45 |
+
}
|
46 |
|
47 |
$nggpictures = $wpdb->prefix . 'ngg_pictures';
|
48 |
$nggallery = $wpdb->prefix . 'ngg_gallery';
|
60 |
alttext MEDIUMTEXT NULL ,
|
61 |
exclude TINYINT NULL DEFAULT '0' ,
|
62 |
PRIMARY KEY pid (pid)
|
63 |
+
) $charset_collate;";
|
64 |
|
65 |
dbDelta($sql);
|
66 |
|
79 |
pageid BIGINT(20) NULL DEFAULT '0' ,
|
80 |
previewpic BIGINT(20) NULL DEFAULT '0' ,
|
81 |
PRIMARY KEY gid (gid)
|
82 |
+
) $charset_collate;";
|
83 |
|
84 |
dbDelta($sql);
|
85 |
}
|
91 |
name VARCHAR(255) NOT NULL ,
|
92 |
sortorder LONGTEXT NOT NULL,
|
93 |
PRIMARY KEY id (id)
|
94 |
+
) $charset_collate;";
|
95 |
|
96 |
dbDelta($sql);
|
97 |
}
|
105 |
slug VARCHAR(200) NOT NULL,
|
106 |
PRIMARY KEY id (id),
|
107 |
UNIQUE KEY slug (slug)
|
108 |
+
) $charset_collate;";
|
109 |
|
110 |
dbDelta($sql);
|
111 |
}
|
117 |
tagid BIGINT(20) NOT NULL DEFAULT 0,
|
118 |
PRIMARY KEY (picid, tagid),
|
119 |
KEY tagid (tagid)
|
120 |
+
) $charset_collate;";
|
121 |
|
122 |
dbDelta($sql);
|
123 |
}
|
138 |
update_option( "ngg_db_version", $ngg_db_version );
|
139 |
}
|
140 |
|
141 |
+
// check one table again, to be sure
|
142 |
+
if($wpdb->get_var("show tables like '$nggpictures'")!= $nggpictures) {
|
143 |
+
update_option( "ngg_init_check", __('NextGEN Gallery : Tables could not created, please check your database settings',"nggallery") );
|
144 |
+
return;
|
145 |
+
}
|
146 |
+
|
147 |
}
|
148 |
|
149 |
function ngg_default_options() {
|
150 |
+
|
151 |
+
global $blog_id;
|
152 |
|
153 |
$ngg_options['gallerypath'] = "wp-content/gallery/"; // set default path to the gallery
|
154 |
$ngg_options['scanfolder'] = false; // search for new images (not used)
|
155 |
+
$ngg_options['deleteImg'] = true; // delete Images
|
156 |
+
$ngg_options['swfUpload'] = true; // activate the batch upload
|
157 |
+
$ngg_options['usePermalinks'] = false; // use permalinks for parameters
|
158 |
|
159 |
// Tags / categories
|
160 |
$ngg_options['activateTags'] = false; // append related images
|
175 |
$ngg_options['imgHeight'] = 600; // Image height
|
176 |
$ngg_options['imgQuality'] = 85; // Image Quality
|
177 |
$ngg_options['imgResampleMode'] = 4; // Resample speed value 1 - 5
|
178 |
+
$ngg_options['imgCacheSinglePic'] = false; // cached the singlepic
|
179 |
|
180 |
// Gallery Settings
|
181 |
$ngg_options['galImages'] = "20"; // Number Of images per page
|
223 |
$ngg_options['irKenburns'] = false;
|
224 |
$ngg_options['irBackcolor'] = "000000";
|
225 |
$ngg_options['irFrontcolor'] = "FFFFFF";
|
226 |
+
$ngg_options['irLightcolor'] = "CC0000";
|
227 |
+
$ngg_options['irScreencolor'] = "000000";
|
228 |
|
229 |
// CSS Style
|
230 |
$ngg_options['activateCSS'] = true; // activate the CSS file
|
231 |
$ngg_options['CSSfile'] = "nggallery.css"; // set default css filename
|
232 |
|
233 |
+
// special overrides for WPMU
|
234 |
+
if (IS_WPMU) {
|
235 |
+
// get the site options
|
236 |
+
$ngg_wpmu_options=get_site_option('ngg_options');
|
237 |
+
|
238 |
+
// get the default value during installation
|
239 |
+
if (!is_array($ngg_wpmu_options)) {
|
240 |
+
$ngg_wpmu_options['gallerypath'] = "wp-content/blogs.dir/%BLOG_ID%/files/";
|
241 |
+
$ngg_wpmu_options['wpmuCSSfile'] = "nggallery.css";
|
242 |
+
}
|
243 |
+
|
244 |
+
$ngg_options['gallerypath'] = str_replace("%BLOG_ID%", $blog_id , $ngg_wpmu_options['gallerypath']);
|
245 |
+
$ngg_options['CSSfile'] = $ngg_wpmu_options['wpmuCSSfile'];
|
246 |
+
$ngg_options['imgCacheSinglePic'] = true; // under WPMU this should be enabled
|
247 |
+
}
|
248 |
+
|
249 |
update_option('ngg_options', $ngg_options);
|
250 |
|
251 |
}
|
nggshow.php
CHANGED
@@ -25,18 +25,19 @@ $thumb = new ngg_Thumbnail($filepath);
|
|
25 |
if ( isset($_GET['height']) and isset($_GET['width']))
|
26 |
$thumb->resize($_GET['width'],$_GET['height']);
|
27 |
if ($mode == 'watermark') {
|
28 |
-
if ($ngg_options[wmType] == 'image') {
|
29 |
-
$thumb->watermarkImgPath = $ngg_options[wmPath];
|
30 |
-
$thumb->watermarkImage($ngg_options[wmPos], $ngg_options[wmXpos], $ngg_options[wmYpos]);
|
31 |
}
|
32 |
-
if ($ngg_options[wmType] == 'text') {
|
33 |
-
$thumb->watermarkText = $ngg_options[wmText];
|
34 |
-
$thumb->watermarkCreateText($ngg_options[wmColor], $ngg_options[wmFont], $ngg_options[wmSize], $ngg_options[wmOpaque]);
|
35 |
-
$thumb->watermarkImage($ngg_options[wmPos], $ngg_options[wmXpos], $ngg_options[wmYpos]);
|
36 |
}
|
37 |
}
|
38 |
if ($mode == 'web20')
|
39 |
$thumb->createReflection(40,40,50,false,'#a4a4a4');
|
|
|
40 |
$thumb->show();
|
41 |
$thumb->destruct();
|
42 |
|
25 |
if ( isset($_GET['height']) and isset($_GET['width']))
|
26 |
$thumb->resize($_GET['width'],$_GET['height']);
|
27 |
if ($mode == 'watermark') {
|
28 |
+
if ($ngg_options['wmType'] == 'image') {
|
29 |
+
$thumb->watermarkImgPath = $ngg_options['wmPath'];
|
30 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
31 |
}
|
32 |
+
if ($ngg_options['wmType'] == 'text') {
|
33 |
+
$thumb->watermarkText = $ngg_options['wmText'];
|
34 |
+
$thumb->watermarkCreateText($ngg_options['wmColor'], $ngg_options['wmFont'], $ngg_options['wmSize'], $ngg_options['wmOpaque']);
|
35 |
+
$thumb->watermarkImage($ngg_options['wmPos'], $ngg_options['wmXpos'], $ngg_options['wmYpos']);
|
36 |
}
|
37 |
}
|
38 |
if ($mode == 'web20')
|
39 |
$thumb->createReflection(40,40,50,false,'#a4a4a4');
|
40 |
+
|
41 |
$thumb->show();
|
42 |
$thumb->destruct();
|
43 |
|
nggwidget.php
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
/*
|
3 |
Plugin Name: NextGEN Gallery Widget
|
4 |
Description: Adds a sidebar widget support to your NextGEN Gallery
|
5 |
-
Author:
|
6 |
-
Version: 1.
|
7 |
-
Author URI: http://
|
8 |
-
Plugin URI: http://
|
9 |
|
10 |
This program is free software; you can redistribute it and/or modify
|
11 |
it under the terms of the GNU General Public License as published by
|
@@ -23,35 +23,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
23 |
|
24 |
*/
|
25 |
|
26 |
-
function nggGetCSVValues($string,$separator=",")
|
27 |
-
{
|
28 |
-
$string = str_replace('""', "'", $string);
|
29 |
-
// split the string at double quotes "
|
30 |
-
$bits = explode('"',$string);
|
31 |
-
$elements = array();
|
32 |
-
for ( $i=0; $i < count($bits) ; $i++ ) {
|
33 |
-
/*
|
34 |
-
odd numbered elements would have been
|
35 |
-
enclosed by double quotes
|
36 |
-
even numbered elements would not have been
|
37 |
-
*/
|
38 |
-
if (($i%2) == 1) {
|
39 |
-
/* if the element number is odd add the
|
40 |
-
whole string to the output array */
|
41 |
-
$elements[] = $bits[$i];
|
42 |
-
} else
|
43 |
-
{
|
44 |
-
/* otherwise split the unquoted stuff at commas
|
45 |
-
and add the elements to the array */
|
46 |
-
$rest = $bits[$i];
|
47 |
-
$rest = preg_replace("/^".$separator."/","",$rest);
|
48 |
-
$rest = preg_replace("/".$separator."$/","",$rest);
|
49 |
-
$elements = array_merge($elements,explode($separator,$rest));
|
50 |
-
}
|
51 |
-
}
|
52 |
-
return $elements;
|
53 |
-
}
|
54 |
-
|
55 |
/**********************************************************/
|
56 |
/* Slidehow widget function
|
57 |
/**********************************************************/
|
@@ -64,35 +35,35 @@ function nggSlideshowWidget($galleryID,$irWidth,$irHeight) {
|
|
64 |
global $wpdb;
|
65 |
$ngg_options = get_option('ngg_options');
|
66 |
|
67 |
-
if (empty($irWidth) ) $irWidth = $ngg_options[irWidth];
|
68 |
-
if (empty($irHeight)) $irHeight = $ngg_options[irHeight];
|
69 |
|
70 |
-
$
|
71 |
-
$
|
72 |
-
$
|
73 |
-
$
|
74 |
-
$
|
75 |
-
$
|
76 |
-
$
|
77 |
-
$
|
78 |
-
if (!$ngg_options[irShuffle]) $
|
79 |
-
// if ($ngg_options[irLinkfromdisplay]) $
|
80 |
-
// if ($ngg_options[irShownavigation]) $
|
81 |
-
if ($ngg_options[irShowicons]) $
|
82 |
-
$
|
83 |
-
$
|
84 |
-
$
|
85 |
-
$
|
86 |
-
$
|
87 |
-
$
|
88 |
-
$
|
89 |
-
$
|
90 |
-
$
|
91 |
-
$
|
92 |
-
$
|
93 |
-
$
|
94 |
|
95 |
-
echo $
|
96 |
}
|
97 |
|
98 |
|
@@ -106,7 +77,7 @@ function widget_ngg_slideshow() {
|
|
106 |
return;
|
107 |
|
108 |
// Check for NextGEN Gallery
|
109 |
-
if ( !
|
110 |
return;
|
111 |
|
112 |
function widget_show_ngg_slideshow($args) {
|
@@ -118,7 +89,6 @@ function widget_ngg_slideshow() {
|
|
118 |
|
119 |
// These lines generate our output.
|
120 |
echo $before_widget . $before_title . $options['title'] . $after_title;
|
121 |
-
$url_parts = parse_url(get_bloginfo('home'));
|
122 |
nggSlideshowWidget($options['galleryid'] , $options['width'] , $options['height']);
|
123 |
echo $after_widget;
|
124 |
|
@@ -170,437 +140,358 @@ function widget_ngg_slideshow() {
|
|
170 |
register_widget_control(array('NextGEN Slideshow', 'widgets'), 'widget_control_ngg_slideshow', 300, 200);
|
171 |
}
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
|
178 |
-
|
179 |
-
|
180 |
-
|
|
|
181 |
|
182 |
-
|
183 |
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
$thumbcode = nggallery::get_thumbcode("sidebar_".$imgtype);
|
189 |
-
|
190 |
-
$count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE exclude != 1 ");
|
191 |
-
if ($count < $number)
|
192 |
-
$number = $count;
|
193 |
-
|
194 |
-
if ($imgtype == "random")
|
195 |
-
$imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE exclude != 1 ORDER by rand() limit $number");
|
196 |
-
else
|
197 |
-
$imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE exclude != 1 ORDER by pid DESC limit 0,$number");
|
198 |
|
199 |
-
|
200 |
-
|
|
|
|
|
|
|
201 |
|
202 |
-
|
203 |
-
$out = '<a href="'.nggallery::get_image_url($image->pid).'" title="'.stripslashes($image->description).'" '.$thumbcode.'>';
|
204 |
-
$addmode = ($mode == 'web20') ? "&mode=web20" : "" ;
|
205 |
-
if ( $thumb == "false" )
|
206 |
-
$out .= '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$image->pid.'&width='.$sizeX.'&height='.$sizeY.$addmode.'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
|
207 |
-
else
|
208 |
-
$out .= '<img src="'.nggallery::get_thumbnail_url($image->pid).'" style="width:'.$sizeX.'px;height:'.$sizeY.'px;" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
|
209 |
|
210 |
-
|
|
|
|
|
211 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
}
|
213 |
-
|
214 |
-
}
|
215 |
-
|
216 |
-
/**********************************************************/
|
217 |
-
/* SIMPLE INSERT TAGS
|
218 |
-
/**********************************************************/
|
219 |
-
|
220 |
-
function nggDisplayRandomImages($number,$width,$height) {
|
221 |
-
echo "\n".'<div class="ngg-widget">'."\n";
|
222 |
-
nggDisplayImagesWidget("true",$number,$width,$height,"","random");
|
223 |
-
echo '</div>'."\n";
|
224 |
-
}
|
225 |
-
|
226 |
-
|
227 |
-
function nggDisplayRecentImages($number,$width,$height) {
|
228 |
-
echo "\n".'<div class="ngg-widget">'."\n";
|
229 |
-
nggDisplayImagesWidget("true",$number,$width,$height,"","recent");
|
230 |
-
echo '</div>'."\n";
|
231 |
-
}
|
232 |
-
|
233 |
-
|
234 |
-
/**********************************************************/
|
235 |
-
/* Recent widget
|
236 |
-
/**********************************************************/
|
237 |
-
function widget_ngg_recentimage() {
|
238 |
|
239 |
-
|
240 |
-
// errors occurring when you deactivate the dynamic-sidebar plugin.
|
241 |
-
if ( !function_exists('register_sidebar_widget') )
|
242 |
-
return;
|
243 |
-
|
244 |
-
// Check for NextGEN Gallery
|
245 |
-
if ( !class_exists('nggallery') )
|
246 |
-
return;
|
247 |
-
|
248 |
-
function widget_nextgenrecentimage($args) {
|
249 |
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
|
252 |
-
|
253 |
-
$options = get_option('widget_NextGenrecentimage');
|
254 |
|
255 |
-
$
|
256 |
-
$thumb = $options['thumb'];
|
257 |
-
$number = $options['number'];
|
258 |
-
$sizeX = $options['sizeX'];
|
259 |
-
$sizeY = $options['sizeY'];
|
260 |
-
$mode = $options['mode'];
|
261 |
-
|
262 |
-
$showinhome = htmlspecialchars($options['showinhome'], ENT_QUOTES);
|
263 |
-
$showcategory = htmlspecialchars($options['showcategory'], ENT_QUOTES);
|
264 |
-
$categorylist = htmlspecialchars($options['categorylist'], ENT_QUOTES);
|
265 |
|
266 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
|
268 |
-
|
269 |
-
$categorieslist = nggGetCSVValues($categorylist,','); // Make array for checking the categories
|
270 |
-
|
271 |
-
if (($showcategory == "denied")) { // Denied list -> enable everywhere and make false if found!
|
272 |
-
$show_widget = true;
|
273 |
-
foreach((get_the_category()) as $cat)
|
274 |
-
{ if ((in_array($cat->cat_ID , $categorieslist)))
|
275 |
-
$show_widget = false;
|
276 |
-
}
|
277 |
-
}
|
278 |
|
279 |
-
|
280 |
-
foreach((get_the_category()) as $cat)
|
281 |
-
{ if ((in_array($cat->cat_ID , $categorieslist)))
|
282 |
-
$show_widget = true;
|
283 |
-
}
|
284 |
|
285 |
-
|
286 |
-
if ((is_home() != true))
|
287 |
-
$show_widget = true;
|
288 |
|
289 |
-
|
290 |
-
|
291 |
-
$show_widget = true;
|
292 |
|
293 |
-
|
294 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
|
296 |
-
//
|
297 |
-
if (
|
298 |
-
|
299 |
-
if ( ($sizeY == '') ) $sizeY = 190;
|
300 |
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
|
|
307 |
|
308 |
-
|
309 |
-
|
|
|
|
|
|
|
|
|
310 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
311 |
}
|
312 |
|
313 |
-
|
314 |
-
* @desc Output of plugin�s editform in the adminarea
|
315 |
-
* @author KeViN
|
316 |
-
*/
|
317 |
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
|
322 |
-
|
323 |
-
|
|
|
324 |
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
$options['sizeX'] = strip_tags(stripslashes($_POST['nextgen-recentsizeX']));
|
332 |
-
$options['sizeY'] = strip_tags(stripslashes($_POST['nextgen-recentsizeY']));
|
333 |
-
|
334 |
-
// [0.80] [new functiions and newvariables] -> Category controll
|
335 |
-
$options['showinhome'] = strip_tags(stripslashes($_POST['nextgen-recentshowinhome']));
|
336 |
-
$options['showcategory']= strip_tags(stripslashes($_POST['nextgen-recentshowcategory']));
|
337 |
-
$options['categorylist']= strip_tags(stripslashes($_POST['nextgen-recentcategorylist']));
|
338 |
|
339 |
-
|
340 |
-
|
|
|
341 |
|
342 |
-
|
343 |
-
}
|
344 |
|
345 |
-
//
|
346 |
-
|
347 |
-
$
|
348 |
-
|
349 |
-
$
|
350 |
-
$sizeY = htmlspecialchars($options['sizeY'], ENT_QUOTES);
|
351 |
-
$mode = htmlspecialchars($options['mode'], ENT_QUOTES);
|
352 |
|
353 |
-
|
354 |
-
|
355 |
-
$showcategory = htmlspecialchars($options['showcategory'], ENT_QUOTES);
|
356 |
-
$categorylist = htmlspecialchars($options['categorylist'], ENT_QUOTES);
|
357 |
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
// Here comes the form
|
362 |
-
|
363 |
-
echo'<p style="text-align:right;"><label for="nextgen-recenttitle">' . __('Title','nggallery') . ': <input style="width: 150px;" id="nextgen-recenttitle" name="nextgen-recenttitle" type="text" value="'.$title.'" /></label></p>';
|
364 |
-
|
365 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentthumb">' . __('Display type','nggallery').':';
|
366 |
-
echo ' <select name="nextgen-recentthumb" size="1">';
|
367 |
-
echo ' <option id="1" ';if (($thumb == "true")) echo 'selected="selected"'; echo ' value="true">' . __('Thumbnail','nggallery') . '</option>';
|
368 |
-
echo ' <option id="2" ';if (($thumb == "false")) echo 'selected="selected"'; echo ' value="false">' . __('Orginal','nggallery') . '</option>';
|
369 |
-
echo ' </select></label></p>';
|
370 |
-
|
371 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentnumber">' . __('Number of pics','nggallery').':';
|
372 |
-
echo ' <select name="nextgen-recentnumber" size="1">';
|
373 |
-
echo ' <option id="1" ';if (($number == 1)) echo 'selected="selected"'; echo ' value="1">1</option>';
|
374 |
-
echo ' <option id="2" ';if (($number == 2)) echo 'selected="selected"'; echo ' value="2">2</option>';
|
375 |
-
echo ' <option id="3" ';if (($number == 3)) echo 'selected="selected"'; echo ' value="3">3</option>';
|
376 |
-
echo ' <option id="4" ';if (($number == 4)) echo 'selected="selected"'; echo ' value="4">4</option>';
|
377 |
-
echo ' <option id="6" ';if (($number == 6)) echo 'selected="selected"'; echo ' value="6">6</option>';
|
378 |
-
echo ' <option id="8" ';if (($number == 8)) echo 'selected="selected"'; echo ' value="8">8</option>';
|
379 |
-
echo ' <option id="10" ';if (($number == 10)) echo 'selected="selected"'; echo ' value="10">10</option>';
|
380 |
-
echo ' </select></label></p>';
|
381 |
-
|
382 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentsizeX">' . __('Width (px)','nggallery') . ': <input style="width: 50px;" id="nextgen-recentsizeX" name="nextgen-recentsizeX" type="text" value="'.$sizeX.'" /></label></p>';
|
383 |
-
|
384 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentsizeY">' . __('Height (px)','nggallery') . ': <input style="width: 50px;" id="nextgen-recentsizeY" name="nextgen-recentsizeY" type="text" value="'.$sizeY.'" /></label></p>';
|
385 |
-
|
386 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentnumber">' . __('Mode','nggallery').':';
|
387 |
-
echo ' <select name="nextgen-recentmode" size="1">';
|
388 |
-
echo ' <option id="none" ';if (($mode == "")) echo 'selected="selected"'; echo ' value="">'. __('none','nggallery').'</option>';
|
389 |
-
echo ' <option id="web20" ';if (($mode == "web20")) echo 'selected="selected"'; echo ' value="web20">'. __('web2.0','nggallery').'</option>';
|
390 |
-
echo ' </select></label></p>';
|
391 |
-
|
392 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentshowinhome">' . __('Show in the main page','nggallery').':';
|
393 |
-
echo ' <select name="nextgen-recentshowinhome" size="1">';
|
394 |
-
echo ' <option id="1" ';if ($showinhome == "yes") echo 'selected="selected"'; echo ' value="yes" >'. __('yes','nggallery').'</option>';
|
395 |
-
echo ' <option id="2" ';if ($showinhome == "no") echo 'selected="selected"'; echo ' value="no" >'. __('no','nggallery').'</option>';
|
396 |
-
echo ' </select></label></p>';
|
397 |
-
|
398 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentshowcategory">' . __('Show in','nggallery').':';
|
399 |
-
echo ' <select name="nextgen-recentshowcategory" size="1">';
|
400 |
-
echo ' <option id="1" ';if (($showcategory == "all")) echo 'selected="selected"'; echo ' value="all" >'. __('All categories','nggallery').'</option>';
|
401 |
-
echo ' <option id="2" ';if (($showcategory == "denied")) echo 'selected="selected"'; echo ' value="denied" >'. __('Only which are not listed','nggallery').'</option>';
|
402 |
-
echo ' <option id="3" ';if (($showcategory == "allow")) echo 'selected="selected"'; echo ' value="allow" >'. __('Only which are listed','nggallery').'</option>';
|
403 |
-
echo ' </select></label></p>';
|
404 |
-
|
405 |
-
echo '<p style="text-align:right;"><label for="nextgen-recentcategorylist">' . __('Categories (id (use , to seperate)','nggallery') . ': <input style="width: 150px;" id="nextgen-recentcategorylist" name="nextgen-recentcategorylist" type="text" value="'.$categorylist.'" /></label></p>';
|
406 |
-
|
407 |
-
echo '<input type="hidden" id="nextgen-recentsubmit" name="nextgen-recentsubmit" value="1" />';
|
408 |
-
}
|
409 |
-
|
410 |
-
// This registers our widget so it appears with the other available
|
411 |
-
// widgets and can be dragged and dropped into any active sidebars.
|
412 |
-
register_sidebar_widget(array('NextGEN Recent Image', 'widgets'), 'widget_nextgenrecentimage');
|
413 |
-
register_widget_control(array('NextGEN Recent Image', 'widgets'), 'widget_nextgenrecentimage_control', 300, 400);
|
414 |
-
}
|
415 |
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
|
421 |
-
|
422 |
-
|
423 |
-
if ( !function_exists('register_sidebar_widget') )
|
424 |
-
return;
|
425 |
-
|
426 |
-
// Check for NextGEN Gallery
|
427 |
-
if ( !class_exists('nggallery') )
|
428 |
-
return;
|
429 |
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
$showinhome = htmlspecialchars($options['showinhome'], ENT_QUOTES);
|
445 |
-
$showcategory = htmlspecialchars($options['showcategory'], ENT_QUOTES);
|
446 |
-
$categorylist = htmlspecialchars($options['categorylist'], ENT_QUOTES);
|
447 |
-
|
448 |
-
$imgtype = "random";
|
449 |
|
450 |
-
|
451 |
-
$
|
452 |
-
|
453 |
-
// get the effect code
|
454 |
-
$thumbcode = nggallery::get_thumbcode("sidebar");
|
455 |
|
456 |
-
|
457 |
-
$categorieslist = nggGetCSVValues($categorylist,','); // Make array for checking the categories
|
458 |
-
|
459 |
-
if (($showcategory == "denied")) { // Denied list -> enable everywhere and make false if found!
|
460 |
-
$show_widget = true;
|
461 |
-
foreach((get_the_category()) as $cat)
|
462 |
-
{ if ((in_array($cat->cat_ID , $categorieslist)))
|
463 |
-
$show_widget = false;
|
464 |
-
}
|
465 |
-
}
|
466 |
-
|
467 |
-
if (($showcategory == "allow")) // Allow list -> false is the default -> enable if found
|
468 |
-
foreach((get_the_category()) as $cat)
|
469 |
-
{ if ((in_array($cat->cat_ID , $categorieslist)))
|
470 |
-
$show_widget = true;
|
471 |
-
}
|
472 |
-
|
473 |
-
if (($showcategory == "all")) // All categories -> if it's not the home -> enable
|
474 |
-
if ((is_home() != true))
|
475 |
-
$show_widget = true;
|
476 |
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
$url_parts = parse_url(get_bloginfo('home'));
|
483 |
|
484 |
-
// Null parameters check
|
485 |
-
if ( ($number == '') ) $number = 1;
|
486 |
-
if ( ($sizeX == '') ) $sizeX = 190;
|
487 |
-
if ( ($sizeY == '') ) $sizeY = 190;
|
488 |
|
489 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
490 |
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
echo '</div>'."\n";
|
497 |
-
echo $after_widget;
|
498 |
}
|
499 |
}
|
500 |
-
|
501 |
-
/**
|
502 |
-
* @desc Output of plugin�s editform in the adminarea
|
503 |
-
* @author KeViN
|
504 |
-
*/
|
505 |
-
|
506 |
-
function widget_nextgenimage_control($number=1) {
|
507 |
-
|
508 |
-
$options = get_option('widget_NextGenimage');
|
509 |
-
|
510 |
-
if ( !is_array($options) )
|
511 |
-
$options = array('title'=>'', 'buttontext'=>__('NextGEN Random Image','nggallery'));
|
512 |
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
$options['sizeY'] = strip_tags(stripslashes($_POST['nextgen-sizeY']));
|
521 |
-
$options['mode'] = strip_tags(stripslashes($_POST['nextgen-mode']));
|
522 |
-
|
523 |
-
// [0.80] [new functiions and newvariables] -> Category controll
|
524 |
-
$options['showinhome'] = strip_tags(stripslashes($_POST['nextgen-showinhome']));
|
525 |
-
$options['showcategory']= strip_tags(stripslashes($_POST['nextgen-showcategory']));
|
526 |
-
$options['categorylist']= strip_tags(stripslashes($_POST['nextgen-categorylist']));
|
527 |
-
|
528 |
-
// [0.95] [new variable] -> (random / recent)
|
529 |
-
$options['imgtype'] = strip_tags(stripslashes($_POST['nextgen-imgtype']));
|
530 |
|
531 |
-
|
532 |
-
}
|
533 |
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
|
|
|
|
545 |
|
546 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
echo ' </select></label></p>';
|
567 |
-
|
568 |
-
echo '<p style="text-align:right;"><label for="nextgen-sizeX">' . __('Width (px)','nggallery') . ': <input style="width: 50px;" id="nextgen-sizeX" name="nextgen-sizeX" type="text" value="'.$sizeX.'" /></label></p>';
|
569 |
-
|
570 |
-
echo '<p style="text-align:right;"><label for="nextgen-sizeY">' . __('Height (px)','nggallery') . ': <input style="width: 50px;" id="nextgen-sizeY" name="nextgen-sizeY" type="text" value="'.$sizeY.'" /></label></p>';
|
571 |
-
|
572 |
-
echo '<p style="text-align:right;"><label for="nextgen-number">' . __('Mode','nggallery').':';
|
573 |
-
echo ' <select name="nextgen-mode" size="1">';
|
574 |
-
echo ' <option id="none" ';if (($mode == "")) echo 'selected="selected"'; echo ' value="">'. __('none','nggallery').'</option>';
|
575 |
-
echo ' <option id="web20" ';if (($mode == "web20")) echo 'selected="selected"'; echo ' value="web20">'. __('web2.0','nggallery').'</option>';
|
576 |
-
echo ' </select></label></p>';
|
577 |
-
|
578 |
-
echo '<p style="text-align:right;"><label for="nextgen-showinhome">' . __('Show in the main page','nggallery').':';
|
579 |
-
echo ' <select name="nextgen-showinhome" size="1">';
|
580 |
-
echo ' <option id="1" ';if ($showinhome == "yes") echo 'selected="selected"'; echo ' value="yes" >'. __('yes','nggallery').'</option>';
|
581 |
-
echo ' <option id="2" ';if ($showinhome == "no") echo 'selected="selected"'; echo ' value="no" >'. __('no','nggallery').'</option>';
|
582 |
-
echo ' </select></label></p>';
|
583 |
-
|
584 |
-
echo '<p style="text-align:right;"><label for="nextgen-showcategory">' . __('Show in','nggallery').':';
|
585 |
-
echo ' <select name="nextgen-showcategory" size="1">';
|
586 |
-
echo ' <option id="1" ';if (($showcategory == "all")) echo 'selected="selected"'; echo ' value="all" >'. __('All categories','nggallery').'</option>';
|
587 |
-
echo ' <option id="2" ';if (($showcategory == "denied")) echo 'selected="selected"'; echo ' value="denied" >'. __('Only which are not listed','nggallery').'</option>';
|
588 |
-
echo ' <option id="3" ';if (($showcategory == "allow")) echo 'selected="selected"'; echo ' value="allow" >'. __('Only which are listed','nggallery').'</option>';
|
589 |
-
echo ' </select></label></p>';
|
590 |
-
|
591 |
-
echo '<p style="text-align:right;"><label for="nextgen-categorylist">' . __('Categories (id (use , to seperate)','nggallery') . ': <input style="width: 150px;" id="nextgen-categorylist" name="nextgen-categorylist" type="text" value="'.$categorylist.'" /></label></p>';
|
592 |
-
|
593 |
-
echo '<input type="hidden" id="nextgen-submit" name="nextgen-submit" value="1" />';
|
594 |
-
}
|
595 |
-
|
596 |
-
// This registers our widget so it appears with the other available
|
597 |
-
// widgets and can be dragged and dropped into any active sidebars.
|
598 |
-
register_sidebar_widget(array('NextGEN Random Image', 'widgets'), 'widget_nextgenimage');
|
599 |
-
register_widget_control(array('NextGEN Random Image', 'widgets'), 'widget_nextgenimage_control', 300, 400);
|
600 |
}
|
601 |
|
602 |
-
// Run our code later in case this loads prior to any required plugins.
|
603 |
-
add_action('widgets_init', 'widget_ngg_randomimage');
|
604 |
-
add_action('widgets_init', 'widget_ngg_slideshow');
|
605 |
-
add_action('widgets_init', 'widget_ngg_recentimage');
|
606 |
?>
|
2 |
/*
|
3 |
Plugin Name: NextGEN Gallery Widget
|
4 |
Description: Adds a sidebar widget support to your NextGEN Gallery
|
5 |
+
Author: NextGEN DEV-Team
|
6 |
+
Version: 1.20
|
7 |
+
Author URI: http://alexrabe.boelinger.com/
|
8 |
+
Plugin URI: http://alexrabe.boelinger.com/?page_id=80
|
9 |
|
10 |
This program is free software; you can redistribute it and/or modify
|
11 |
it under the terms of the GNU General Public License as published by
|
23 |
|
24 |
*/
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
/**********************************************************/
|
27 |
/* Slidehow widget function
|
28 |
/**********************************************************/
|
35 |
global $wpdb;
|
36 |
$ngg_options = get_option('ngg_options');
|
37 |
|
38 |
+
if (empty($irWidth) ) $irWidth = $ngg_options['irWidth'];
|
39 |
+
if (empty($irHeight)) $irHeight = $ngg_options['irHeight'];
|
40 |
|
41 |
+
$out .= "\n".'<div class="ngg-widget-slideshow" id="ngg_widget_slideshow'.$galleryID.'">';
|
42 |
+
$out .= '<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see the slideshow.</div>';
|
43 |
+
$out .= "\n\t".'<script type="text/javascript" defer="defer">';
|
44 |
+
$out .= "\n\t".'<!--';
|
45 |
+
$out .= "\n\t".'//<![CDATA[';
|
46 |
+
$out .= "\n\t\t".'var so = new SWFObject("'.NGGALLERY_URLPATH.'imagerotator.swf", "ngg_slideshow'.$galleryID.'", "'.$irWidth.'", "'.$irHeight.'", "7", "#'.$ngg_options['irBackcolor'].'");';
|
47 |
+
$out .= "\n\t\t".'so.addParam("wmode", "opaque");';
|
48 |
+
$out .= "\n\t\t".'so.addVariable("file", "'.NGGALLERY_URLPATH.'nggextractXML.php?gid='.$galleryID.'");';
|
49 |
+
if (!$ngg_options['irShuffle']) $out .= "\n\t\t".'so.addVariable("shuffle", "false");';
|
50 |
+
// if ($ngg_options[irLinkfromdisplay]) $out .= "\n\t\t".'so.addVariable("linkfromdisplay", "false");';
|
51 |
+
// if ($ngg_options[irShownavigation]) $out .= "\n\t\t".'so.addVariable("shownavigation", "true");';
|
52 |
+
if ($ngg_options['irShowicons']) $out .= "\n\t\t".'so.addVariable("showicons", "true");';
|
53 |
+
$out .= "\n\t\t".'so.addVariable("overstretch", "'.$ngg_options['irOverstretch'].'");';
|
54 |
+
$out .= "\n\t\t".'so.addVariable("backcolor", "0x'.$ngg_options['irBackcolor'].'");';
|
55 |
+
$out .= "\n\t\t".'so.addVariable("frontcolor", "0x'.$ngg_options['irFrontcolor'].'");';
|
56 |
+
$out .= "\n\t\t".'so.addVariable("lightcolor", "0x'.$ngg_options['irLightcolor'].'");';
|
57 |
+
$out .= "\n\t\t".'so.addVariable("rotatetime", "'.$ngg_options['irRotatetime'].'");';
|
58 |
+
$out .= "\n\t\t".'so.addVariable("transition", "'.$ngg_options['irTransition'].'");';
|
59 |
+
$out .= "\n\t\t".'so.addVariable("width", "'.$irWidth.'");';
|
60 |
+
$out .= "\n\t\t".'so.addVariable("height", "'.$irHeight.'");';
|
61 |
+
$out .= "\n\t\t".'so.write("ngg_widget_slideshow'.$galleryID.'");';
|
62 |
+
$out .= "\n\t".'//]]>';
|
63 |
+
$out .= "\n\t".'-->';
|
64 |
+
$out .= "\n\t".'</script>';
|
65 |
|
66 |
+
echo $out;
|
67 |
}
|
68 |
|
69 |
|
77 |
return;
|
78 |
|
79 |
// Check for NextGEN Gallery
|
80 |
+
if ( !class_exists('nggallery') )
|
81 |
return;
|
82 |
|
83 |
function widget_show_ngg_slideshow($args) {
|
89 |
|
90 |
// These lines generate our output.
|
91 |
echo $before_widget . $before_title . $options['title'] . $after_title;
|
|
|
92 |
nggSlideshowWidget($options['galleryid'] , $options['width'] , $options['height']);
|
93 |
echo $after_widget;
|
94 |
|
140 |
register_widget_control(array('NextGEN Slideshow', 'widgets'), 'widget_control_ngg_slideshow', 300, 200);
|
141 |
}
|
142 |
|
143 |
+
add_action('widgets_init', 'widget_ngg_slideshow');
|
144 |
+
|
145 |
+
/**
|
146 |
+
* nggWidget - The widget control for NextGEN Gallery ( require WP2.2 or hiogher)
|
147 |
+
*
|
148 |
+
* @package NextGEN Gallery
|
149 |
+
* @author Alex Rabe
|
150 |
+
* @copyright 2008
|
151 |
+
* @version 1.00
|
152 |
+
* @access public
|
153 |
+
*/
|
154 |
+
|
155 |
+
class nggWidget {
|
156 |
|
157 |
+
function nggWidget() {
|
158 |
+
|
159 |
+
// Run our code later in case this loads prior to any required plugins.
|
160 |
+
add_action('widgets_init', array(&$this, 'ngg_widget_register'));
|
161 |
|
162 |
+
}
|
163 |
|
164 |
+
function ngg_widget_register() {
|
165 |
+
|
166 |
+
if ( !class_exists('nggallery') )
|
167 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
+
// For K2 Sidebar manager we do different
|
170 |
+
if(class_exists('K2SBM') && K2_USING_SBM ) {
|
171 |
+
|
172 |
+
K2SBM::register_sidebar_module('NextGEN Gallery', 'ngg_sbm_widget_output', 'sb-ngg-widget');
|
173 |
+
K2SBM::register_sidebar_module_control('NextGEN Gallery', 'ngg_sbm_widget_control');
|
174 |
|
175 |
+
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
|
177 |
+
// test for widget plugin > 2.2
|
178 |
+
if ( !function_exists('wp_register_sidebar_widget') )
|
179 |
+
return;
|
180 |
|
181 |
+
$options = get_option('ngg_widget');
|
182 |
+
$number = $options['number'];
|
183 |
+
if ( $number < 1 ) $number = 1;
|
184 |
+
if ( $number > 9 ) $number = 9;
|
185 |
+
$dims = array('width' => 410, 'height' => 300);
|
186 |
+
$class = array('classname' => 'ngg_widget');
|
187 |
+
for ($i = 1; $i <= 9; $i++) {
|
188 |
+
$name = sprintf(__('NextGEN Gallery %d','nggallery'), $i);
|
189 |
+
$id = "ngg-widget-$i"; // Never never never translate an id
|
190 |
+
wp_register_sidebar_widget($id, $name, $i <= $number ? array(&$this, 'ngg_widget_output') : /* unregister */ '', $class, $i);
|
191 |
+
wp_register_widget_control($id, $name, $i <= $number ? array(&$this, 'ngg_widget_control') : /* unregister */ '', $dims, $i);
|
192 |
+
}
|
193 |
+
add_action('sidebar_admin_setup', array(&$this, 'ngg_widget_admin_setup'));
|
194 |
+
add_action('sidebar_admin_page', array(&$this, 'ngg_widget_admin_page'));
|
195 |
}
|
196 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
|
198 |
+
function ngg_widget_admin_page() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
|
200 |
+
$options = get_option('ngg_widget');
|
201 |
+
?>
|
202 |
+
<div class="wrap">
|
203 |
+
<form method="POST">
|
204 |
+
<h2><?php _e('NextGEN Gallery Widgets','nggallery'); ?></h2>
|
205 |
+
<p style="line-height: 30px;"><?php _e('How many NextGEN Gallery widgets would you like?','nggallery'); ?>
|
206 |
+
<select id="ngg-number" name="ngg-number">
|
207 |
+
<?php for ( $i = 1; $i < 10; ++$i ) echo "<option value='$i' ".($options['number']==$i ? "selected='selected'" : '').">$i</option>"; ?>
|
208 |
+
</select>
|
209 |
+
<span class="submit"><input type="submit" name="ngg-number-submit" id="ngg-number-submit" value="<?php echo attribute_escape(__('Save')); ?>" /></span></p>
|
210 |
+
</form>
|
211 |
+
</div>
|
212 |
+
<?php
|
213 |
+
}
|
214 |
|
215 |
+
function ngg_widget_admin_setup() {
|
|
|
216 |
|
217 |
+
$options = $newoptions = get_option('ngg_widget');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
|
219 |
+
if ( isset($_POST['ngg-number-submit']) ) {
|
220 |
+
$number = (int) $_POST['ngg-number'];
|
221 |
+
if ( $number > 9 ) $number = 9;
|
222 |
+
if ( $number < 1 ) $number = 1;
|
223 |
+
$newoptions['number'] = $number;
|
224 |
+
}
|
225 |
+
if ( $options != $newoptions ) {
|
226 |
+
$options = $newoptions;
|
227 |
+
update_option('ngg_widget', $options);
|
228 |
+
$this->ngg_widget_register($options['number']);
|
229 |
+
}
|
230 |
|
231 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
|
233 |
+
function ngg_widget_control($number, $is_K2_SMB = false) {
|
|
|
|
|
|
|
|
|
234 |
|
235 |
+
$options = $newoptions = get_option('ngg_widget');
|
|
|
|
|
236 |
|
237 |
+
// These post parameter are expected
|
238 |
+
$params = array('title','items','show','type','width','height','exclude','list');
|
|
|
239 |
|
240 |
+
// get the parameter from POST
|
241 |
+
if ( $_POST["ngg-submit-$number"] ) {
|
242 |
+
|
243 |
+
foreach ($params as $parameter) {
|
244 |
+
$value = trim(strip_tags(stripslashes($_POST["ngg-$parameter-$number"])));
|
245 |
+
// remove all non numeric values from the list
|
246 |
+
if ($parameter == 'list') {
|
247 |
+
$numeric_ids = array();
|
248 |
+
$ids = explode(',',$value);
|
249 |
+
if (is_array($ids)) {
|
250 |
+
foreach ($ids as $id) {
|
251 |
+
$id = trim($id);
|
252 |
+
if (is_numeric($id))
|
253 |
+
$numeric_ids[] = $id;
|
254 |
+
}
|
255 |
+
$value = implode(',', $numeric_ids);
|
256 |
+
}
|
257 |
+
}
|
258 |
+
$newoptions[$number][$parameter] = $value;
|
259 |
+
}
|
260 |
+
|
261 |
+
}
|
262 |
+
|
263 |
+
// save the parameter
|
264 |
+
if ( $options != $newoptions ) {
|
265 |
+
$options = $newoptions;
|
266 |
+
update_option('ngg_widget', $options);
|
267 |
+
}
|
268 |
|
269 |
+
// Init parameters check
|
270 |
+
if (empty($options[$number]))
|
271 |
+
$options[$number] = array('title'=>'Gallery', 'items'=>4,'show'=>'thumbnail' ,'type'=>'random','width'=>75, 'height'=>50, 'exclude'=>'all');
|
|
|
272 |
|
273 |
+
foreach ($params as $parameter) {
|
274 |
+
$post[$parameter] = attribute_escape($options[$number][$parameter]);
|
275 |
+
}
|
276 |
+
|
277 |
+
// get the parameter from options -> POST
|
278 |
+
$items = (int) $options[$number]['items'];
|
279 |
+
if ( empty($items) || $items < 1 ) $items = 10;
|
280 |
|
281 |
+
// Here comes the form (Not for K2 Style)
|
282 |
+
if (!$is_K2_SMB) {
|
283 |
+
?>
|
284 |
+
<style>
|
285 |
+
div .ngg-widget p {
|
286 |
+
text-align:left;
|
287 |
}
|
288 |
+
div .ngg-widget label {
|
289 |
+
float:left;
|
290 |
+
margin:0.4em 0px;
|
291 |
+
padding:0pt 10px;
|
292 |
+
text-align:right;
|
293 |
+
width:120px;
|
294 |
+
}
|
295 |
+
</style>
|
296 |
+
<?php
|
297 |
+
}
|
298 |
+
?>
|
299 |
+
<div class="ngg-widget">
|
300 |
+
<p>
|
301 |
+
<label for="ngg-title-<?php echo "$number"; ?>"><?php _e('Title :','nggallery'); ?></label>
|
302 |
+
<input style="width: 250px;" id="ngg-title-<?php echo "$number"; ?>" name="ngg-title-<?php echo "$number"; ?>" type="text" value="<?php echo $post['title']; ?>" />
|
303 |
+
</p>
|
304 |
+
|
305 |
+
<p>
|
306 |
+
<label for="ngg-items-<?php echo "$number"; ?>"><?php _e('Show :','nggallery'); ?></label>
|
307 |
+
<select id="ngg-items-<?php echo "$number"; ?>" name="ngg-items-<?php echo "$number"; ?>">
|
308 |
+
<?php for ( $i = 1; $i <= 10; ++$i ) echo "<option value='$i' ".($items==$i ? "selected='selected'" : '').">$i</option>"; ?>
|
309 |
+
</select>
|
310 |
+
<select id="ngg-show-<?php echo "$number"; ?>" name="ngg-show-<?php echo "$number"; ?>" >
|
311 |
+
<option <?php selected("thumbnail" , $post['show']); ?> value="thumbnail"><?php _e('Thumbnails','nggallery'); ?></option>
|
312 |
+
<option <?php selected("orginal" , $post['show']); ?> value="orginal"><?php _e('Orginal images','nggallery'); ?></option>
|
313 |
+
</select>
|
314 |
+
</p>
|
315 |
+
|
316 |
+
<p>
|
317 |
+
<label for="ngg-type-<?php echo "$number"; ?>"> </label>
|
318 |
+
<input name="ngg-type-<?php echo "$number"; ?>" type="radio" value="random" <?php checked("random" , $post['type']); ?> /> <?php _e('random','nggallery'); ?>
|
319 |
+
<input name="ngg-type-<?php echo "$number"; ?>" type="radio" value="recent" <?php checked("recent" , $post['type']); ?> /> <?php _e('recent added ','nggallery'); ?>
|
320 |
+
</p>
|
321 |
+
|
322 |
+
<p>
|
323 |
+
<label for="ngg-width-<?php echo "$number"; ?>"><?php _e('Width x Height :','nggallery'); ?></label>
|
324 |
+
<input style="width: 50px;" id="ngg-width-<?php echo "$number"; ?>" name="ngg-width-<?php echo "$number"; ?>" type="text" value="<?php echo (int)$post['width']; ?>" /> x
|
325 |
+
<input style="width: 50px;" id="ngg-height-<?php echo "$number"; ?>" name="ngg-height-<?php echo "$number"; ?>" type="text" value="<?php echo (int) $post['height']; ?>" /> (px)
|
326 |
+
</p>
|
327 |
+
|
328 |
+
<p>
|
329 |
+
<label for="ngg-exclude-<?php echo "$number"; ?>"><?php _e('Select :','nggallery'); ?></label>
|
330 |
+
<select id="ngg-exclude-<?php echo "$number"; ?>" name="ngg-exclude-<?php echo "$number"; ?>">
|
331 |
+
<option <?php selected("all" , $post['exclude']); ?> value="all" ><?php _e('All galleries','nggallery'); ?></option>
|
332 |
+
<option <?php selected("denied" , $post['exclude']); ?> value="denied" ><?php _e('Only which are not listed','nggallery'); ?></option>
|
333 |
+
<option <?php selected("allow" , $post['exclude']); ?> value="allow" ><?php _e('Only which are listed','nggallery'); ?></option>
|
334 |
+
</select>
|
335 |
+
</p>
|
336 |
+
|
337 |
+
<p>
|
338 |
+
<label for="ngg-list-<?php echo "$number"; ?>"><?php _e('Gallery ID :','nggallery'); ?></label>
|
339 |
+
<input style="width: 250px;" id="ngg-list-<?php echo "$number"; ?>" name="ngg-list-<?php echo "$number"; ?>" type="text" value="<?php echo $post['list'] ?>" />
|
340 |
+
<br/><small><?php _e('Gallery IDs, separated by commas.','nggallery'); ?></small>
|
341 |
+
</p>
|
342 |
+
|
343 |
+
<input type="hidden" id="ngg-submit-<?php echo "$number"; ?>" name="ngg-submit-<?php echo "$number"; ?>" value="1" />
|
344 |
+
</div>
|
345 |
+
|
346 |
+
<?php
|
347 |
+
|
348 |
}
|
349 |
|
350 |
+
function ngg_widget_output($args, $number = 1 , $options = false) {
|
|
|
|
|
|
|
351 |
|
352 |
+
global $wpdb;
|
353 |
+
|
354 |
+
extract($args);
|
355 |
|
356 |
+
// We could get this also as parameter
|
357 |
+
if (!$options)
|
358 |
+
$options = get_option('ngg_widget');
|
359 |
|
360 |
+
// get the effect code
|
361 |
+
$thumbcode = nggallery::get_thumbcode("sidebar_".$number);
|
362 |
+
|
363 |
+
$items = $options[$number]['items'];
|
364 |
+
$exclude = $options[$number]['exclude'];
|
365 |
+
$list = $options[$number]['list'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
|
367 |
+
$count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->nggpictures WHERE exclude != 1 ");
|
368 |
+
if ($count < $options[$number]['items'])
|
369 |
+
$options[$number]['items'] = $count;
|
370 |
|
371 |
+
$exclude_list = "";
|
|
|
372 |
|
373 |
+
// THX to Kay Germer for the idea & addon code
|
374 |
+
if ( (!empty($list)) && ($exclude != "all") ) {
|
375 |
+
$list = explode(',',$list);
|
376 |
+
// Prepare for SQL
|
377 |
+
$list = "'" . implode("', '", $list) . "'";
|
|
|
|
|
378 |
|
379 |
+
if ($exclude == "denied")
|
380 |
+
$exclude_list = "AND NOT galleryid IN ($list)";
|
|
|
|
|
381 |
|
382 |
+
if ($exclude == "allow")
|
383 |
+
$exclude_list = "AND galleryid IN ($list)";
|
384 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
|
386 |
+
if ( $options[$number]['type'] == "random" )
|
387 |
+
$imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE exclude != 1 $exclude_list ORDER by rand() limit $items");
|
388 |
+
else
|
389 |
+
$imageList = $wpdb->get_results("SELECT * FROM $wpdb->nggpictures WHERE exclude != 1 $exclude_list ORDER by pid DESC limit 0,$items");
|
390 |
|
391 |
+
echo $before_widget . $before_title . $options[$number]['title'] . $after_title;
|
392 |
+
echo "\n".'<div class="ngg-widget">'."\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
|
394 |
+
if (is_array($imageList)){
|
395 |
+
foreach($imageList as $image) {
|
396 |
+
|
397 |
+
$out = '<a href="'.nggallery::get_image_url($image->pid).'" title="'.stripslashes($image->description).'" '.$thumbcode.'>';
|
398 |
+
if ( $options[$number]['show'] == "orginal" )
|
399 |
+
$out .= '<img src="'.NGGALLERY_URLPATH.'nggshow.php?pid='.$image->pid.'&width='.$options[$number]['width'].'&height='.$options[$number]['height'].'" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
|
400 |
+
else
|
401 |
+
$out .= '<img src="'.nggallery::get_thumbnail_url($image->pid).'" style="width:'.$options[$number]['width'].'px;height:'.$options[$number]['height'].'px;" title="'.$image->alttext.'" alt="'.$image->alttext.'" />';
|
402 |
+
|
403 |
+
echo $out . '</a>'."\n";
|
404 |
+
|
405 |
+
}
|
406 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
407 |
|
408 |
+
echo '</div>'."\n";
|
409 |
+
echo $after_widget;
|
|
|
|
|
|
|
410 |
|
411 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
412 |
|
413 |
+
}
|
414 |
+
// let's show it
|
415 |
+
$nggWidget = new nggWidget;
|
|
|
|
|
|
|
416 |
|
|
|
|
|
|
|
|
|
417 |
|
418 |
+
/**
|
419 |
+
* ngg_sbm_widget_control()
|
420 |
+
* ONLY required for K2 Theme (tested with K2 RC4)
|
421 |
+
*
|
422 |
+
* @return return widget admin
|
423 |
+
*/
|
424 |
+
function ngg_sbm_widget_control() {
|
425 |
|
426 |
+
if ( !function_exists('checked') ) {
|
427 |
+
function checked( $checked, $current) {
|
428 |
+
if ( $checked == $current)
|
429 |
+
echo ' checked="checked"';
|
|
|
|
|
|
|
430 |
}
|
431 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
|
433 |
+
$number = 1;
|
434 |
+
|
435 |
+
// Check for Module id
|
436 |
+
if(isset($_POST['module_id']))
|
437 |
+
$number = $_POST['module_id'];
|
438 |
+
|
439 |
+
nggWidget::ngg_widget_control($number, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
|
441 |
+
}
|
|
|
442 |
|
443 |
+
/**
|
444 |
+
* ngg_sbm_widget_output($args)
|
445 |
+
* ONLY required for K2 Theme
|
446 |
+
*
|
447 |
+
* @return widget content
|
448 |
+
*/
|
449 |
+
function ngg_sbm_widget_output($args) {
|
450 |
+
global $k2sbm_current_module;
|
451 |
+
|
452 |
+
$number = $k2sbm_current_module->id;
|
453 |
+
|
454 |
+
nggWidget::ngg_widget_output($args, $number , false);
|
455 |
+
}
|
456 |
|
457 |
+
/**
|
458 |
+
* nggDisplayRandomImages($number,$width,$height,$exclude,$list)
|
459 |
+
* Function for templates without widget support
|
460 |
+
*
|
461 |
+
* @return echo the widget content
|
462 |
+
*/
|
463 |
+
function nggDisplayRandomImages($number, $width = "75", $height = "50", $exclude = "all", $list = "") {
|
464 |
+
|
465 |
+
$options[1] = array('title'=>'',
|
466 |
+
'items'=>$number,
|
467 |
+
'show'=>'thumbnail' ,
|
468 |
+
'type'=>'random',
|
469 |
+
'width'=>$width,
|
470 |
+
'height'=>$height,
|
471 |
+
'exclude'=>'all',
|
472 |
+
'list'=>$list );
|
473 |
+
|
474 |
+
nggWidget::ngg_widget_output($args = array(), 1, $options);
|
475 |
+
}
|
476 |
|
477 |
+
/**
|
478 |
+
* nggDisplayRecentImages($number,$width,$height,$exclude,$list)
|
479 |
+
* Function for templates without widget support
|
480 |
+
*
|
481 |
+
* @return echo the widget content
|
482 |
+
*/
|
483 |
+
function nggDisplayRecentImages($number, $width = "75", $height = "50", $exclude = "all", $list = "") {
|
484 |
+
|
485 |
+
$options[1] = array('title'=>'',
|
486 |
+
'items'=>$number,
|
487 |
+
'show'=>'thumbnail' ,
|
488 |
+
'type'=>'recent',
|
489 |
+
'width'=>$width,
|
490 |
+
'height'=>$height,
|
491 |
+
'exclude'=>'all',
|
492 |
+
'list'=>$list );
|
493 |
+
|
494 |
+
nggWidget::ngg_widget_output($args = array(), 1, $options);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
}
|
496 |
|
|
|
|
|
|
|
|
|
497 |
?>
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: Alex Rabe
|
|
3 |
Donate link: http://alexrabe.boelinger.com/?page_id=80
|
4 |
Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets, photo, picture
|
5 |
Requires at least: 2.1.3
|
6 |
-
Tested up to: 2.3.
|
7 |
|
8 |
NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
|
9 |
|
@@ -24,7 +24,8 @@ Features:
|
|
24 |
* Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
|
25 |
* Language support : Translated in more than 15 languages
|
26 |
* Upload tab integration : You have access to all pictures via the upload tab
|
27 |
-
* Tag support for images : Append related images to your post
|
|
|
28 |
|
29 |
For support around this plugin please visit http://alexrabe.boelinger.com/forums/
|
30 |
|
@@ -34,7 +35,7 @@ For support around this plugin please visit http://alexrabe.boelinger.com/forums
|
|
34 |
|
35 |
== Credits ==
|
36 |
|
37 |
-
Copyright 2007 Alex Rabe & NextGEN DEV-Team
|
38 |
|
39 |
The NextGEN button is taken from the Silk set of FamFamFam. See more at
|
40 |
http://www.famfamfam.com/lab/icons/silk/
|
3 |
Donate link: http://alexrabe.boelinger.com/?page_id=80
|
4 |
Tags: photos, flash, slideshow, images, gallery, media, admin, post, photo-albums, pictures, widgets, photo, picture
|
5 |
Requires at least: 2.1.3
|
6 |
+
Tested up to: 2.3.2
|
7 |
|
8 |
NextGEN Gallery is a full integrated Image Gallery plugin for WordPress with a Flash slideshow option.
|
9 |
|
24 |
* Sidebar Widget : Show a slideshow, random or recent picture at your sidebar
|
25 |
* Language support : Translated in more than 15 languages
|
26 |
* Upload tab integration : You have access to all pictures via the upload tab
|
27 |
+
* Tag support for images : Append related images to your post
|
28 |
+
* Meta data support : Import EXIF, IPTC or XMP meta data
|
29 |
|
30 |
For support around this plugin please visit http://alexrabe.boelinger.com/forums/
|
31 |
|
35 |
|
36 |
== Credits ==
|
37 |
|
38 |
+
Copyright 2007-2008 Alex Rabe & NextGEN DEV-Team
|
39 |
|
40 |
The NextGEN button is taken from the Silk set of FamFamFam. See more at
|
41 |
http://www.famfamfam.com/lab/icons/silk/
|
{js → tinymce}/editor_plugin.js
RENAMED
File without changes
|
js/langs/de_DE.js → tinymce/langs/de_de.js
RENAMED
File without changes
|
{js → tinymce}/langs/en.js
RENAMED
File without changes
|
{js → tinymce}/langs/en_US.js
RENAMED
File without changes
|
{js → tinymce}/nextgen.gif
RENAMED
File without changes
|
{js → tinymce}/tinymce.js
RENAMED
File without changes
|
tinymce/tinymce.php
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* @title TinyMCE Button Integration
|
5 |
+
* @author Alex Rabe
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Load the Script for the Button
|
9 |
+
function insert_nextgen_script() {
|
10 |
+
|
11 |
+
//TODO: Do with WP2.1 Script Loader
|
12 |
+
// Thanks for this idea to www.jovelstefan.de
|
13 |
+
echo "\n"."
|
14 |
+
<script type='text/javascript'>
|
15 |
+
function ngg_buttonscript() {
|
16 |
+
if(window.tinyMCE) {
|
17 |
+
|
18 |
+
var template = new Array();
|
19 |
+
|
20 |
+
template['file'] = '".NGGALLERY_URLPATH."tinymce/window.php';
|
21 |
+
template['width'] = 360;
|
22 |
+
template['height'] = 210;
|
23 |
+
|
24 |
+
args = {
|
25 |
+
resizable : 'no',
|
26 |
+
scrollbars : 'no',
|
27 |
+
inline : 'yes'
|
28 |
+
};
|
29 |
+
|
30 |
+
tinyMCE.openWindow(template, args);
|
31 |
+
return true;
|
32 |
+
}
|
33 |
+
}
|
34 |
+
</script>";
|
35 |
+
return;
|
36 |
+
}
|
37 |
+
|
38 |
+
function ngg_addbuttons() {
|
39 |
+
|
40 |
+
global $wp_db_version;
|
41 |
+
|
42 |
+
// Don't bother doing this stuff if the current user lacks permissions
|
43 |
+
if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;
|
44 |
+
|
45 |
+
// Check for NextGEN capability
|
46 |
+
if ( !current_user_can('NextGEN Use TinyMCE') ) return;
|
47 |
+
|
48 |
+
// Add only in Rich Editor mode
|
49 |
+
if ( get_user_option('rich_editing') == 'true') {
|
50 |
+
|
51 |
+
// add the button for wp21 in a new way
|
52 |
+
add_filter("mce_plugins", "nextgen_button_plugin", 5);
|
53 |
+
add_filter('mce_buttons', 'nextgen_button', 5);
|
54 |
+
add_action('tinymce_before_init','nextgen_button_script');
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
// used to insert button in wordpress 2.1x editor
|
59 |
+
function nextgen_button($buttons) {
|
60 |
+
|
61 |
+
array_push($buttons, "separator", "NextGEN");
|
62 |
+
return $buttons;
|
63 |
+
|
64 |
+
}
|
65 |
+
|
66 |
+
// Tell TinyMCE that there is a plugin (wp2.1)
|
67 |
+
function nextgen_button_plugin($plugins) {
|
68 |
+
|
69 |
+
array_push($plugins, "-NextGEN");
|
70 |
+
return $plugins;
|
71 |
+
}
|
72 |
+
|
73 |
+
// Load the TinyMCE plugin : editor_plugin.js (wp2.1)
|
74 |
+
function nextgen_button_script() {
|
75 |
+
|
76 |
+
echo 'tinyMCE.loadPlugin("NextGEN", "'.NGGALLERY_URLPATH.'tinymce/");' . "\n";
|
77 |
+
return;
|
78 |
+
}
|
79 |
+
|
80 |
+
// init process for button control
|
81 |
+
add_action('init', 'ngg_addbuttons');
|
82 |
+
add_action('edit_page_form', 'insert_nextgen_script');
|
83 |
+
add_action('edit_form_advanced', 'insert_nextgen_script');
|
84 |
+
|
85 |
+
?>
|
nggbutton.php → tinymce/window.php
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
$wpconfig = realpath("
|
4 |
|
5 |
if (!file_exists($wpconfig)) {
|
6 |
echo "Could not found wp-config.php. Error in path :\n\n".$wpconfig ;
|
@@ -14,18 +14,17 @@ require_once(ABSPATH.'/wp-admin/admin.php');
|
|
14 |
if(!current_user_can('edit_posts')) die;
|
15 |
|
16 |
global $wpdb;
|
17 |
-
$ngg_options = get_option('ngg_options');
|
18 |
|
19 |
?>
|
20 |
|
21 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
22 |
<head>
|
23 |
<title>NextGEN Gallery</title>
|
24 |
-
<meta http-equiv="Content-Type" content="
|
25 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/tiny_mce_popup.js"></script>
|
26 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/utils/mctabs.js"></script>
|
27 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/utils/form_utils.js"></script>
|
28 |
-
<script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>
|
29 |
<base target="_self" />
|
30 |
</head>
|
31 |
<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('gallerytag').focus();" style="display: none">
|
1 |
<?php
|
2 |
|
3 |
+
$wpconfig = realpath("../../../../wp-config.php");
|
4 |
|
5 |
if (!file_exists($wpconfig)) {
|
6 |
echo "Could not found wp-config.php. Error in path :\n\n".$wpconfig ;
|
14 |
if(!current_user_can('edit_posts')) die;
|
15 |
|
16 |
global $wpdb;
|
|
|
17 |
|
18 |
?>
|
19 |
|
20 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
21 |
<head>
|
22 |
<title>NextGEN Gallery</title>
|
23 |
+
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
|
24 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/tiny_mce_popup.js"></script>
|
25 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/utils/mctabs.js"></script>
|
26 |
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/wp-includes/js/tinymce/utils/form_utils.js"></script>
|
27 |
+
<script language="javascript" type="text/javascript" src="<?php echo NGGALLERY_URLPATH ?>tinymce/tinymce.js"></script>
|
28 |
<base target="_self" />
|
29 |
</head>
|
30 |
<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');document.body.style.display='';document.getElementById('gallerytag').focus();" style="display: none">
|