aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/plugins/admin_advices
diff options
context:
space:
mode:
authorvdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
committervdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
commit77fd1f51a3c5f5a52f72ef8a299fe368228e2285 (patch)
treea67ede42904657ccf3349ecdaef1cec8b8e36ff8 /BSF/plugins/admin_advices
parent553727dffacc48e8337c1d141f2a25af359e74b1 (diff)
git-svn-id: http://piwigo.org/svn/trunk@2357 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r--BSF/plugins/admin_advices/admin_advices.tpl39
-rw-r--r--BSF/plugins/admin_advices/default-layout.css19
-rw-r--r--BSF/plugins/admin_advices/en_UK/index.php30
-rw-r--r--BSF/plugins/admin_advices/en_UK/lang.adv.php447
-rw-r--r--BSF/plugins/admin_advices/fr_FR/index.php30
-rw-r--r--BSF/plugins/admin_advices/fr_FR/lang.adv.php480
-rw-r--r--BSF/plugins/admin_advices/index.php30
-rw-r--r--BSF/plugins/admin_advices/main.inc.php127
8 files changed, 1202 insertions, 0 deletions
diff --git a/BSF/plugins/admin_advices/admin_advices.tpl b/BSF/plugins/admin_advices/admin_advices.tpl
new file mode 100644
index 000000000..b4c7f6169
--- /dev/null
+++ b/BSF/plugins/admin_advices/admin_advices.tpl
@@ -0,0 +1,39 @@
+{if isset($ADVICE_ABOUT)}
+<div class="content">
+ <h2>{'An_advice_about'|@translate} {$ADVICE_ABOUT}</h2>
+ <h3>{$ADVICE_TEXT}</h3>
+ <table summary="Admin advices summary">
+ <tr><td style="text-align: left; width: 50%;">
+ {foreach from=$More item=advice}
+ {$advice}<BR />
+ {/foreach}
+ <br />
+ </td><td style="text-align: right; width: 20%;">
+ {if isset($thumbnail.IMAGE)}
+ <a href="{$thumbnail.U_MODIFY}" title="{'link_info_image'|@translate}">
+ <img class="thumbnail" src="{$thumbnail.IMAGE}"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"></a>
+ </td><td style="text-align: left;">
+ <img src="{$themeconf.icon_dir}/{$thumbnail.NAME}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Name'|@translate}<br />
+ <img src="{$themeconf.icon_dir}/{$thumbnail.COMMENT}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Description'|@translate}<br />
+ <img src="{$themeconf.icon_dir}/{$thumbnail.AUTHOR}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Author'|@translate}<br />
+ <img src="{$themeconf.icon_dir}/{$thumbnail.CREATE_DATE}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Creation date'|@translate}<br />
+ <img src="{$themeconf.icon_dir}/{$thumbnail.METADATA}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Metadata'|@translate}<br />
+ <img src="{$themeconf.icon_dir}/{$thumbnail.TAGS}check.png"
+ alt="{$thumbnail.IMAGE_ALT}" title="{$thumbnail.IMAGE_TITLE}"> {'Tags'|@translate} ({$thumbnail.NUM_TAGS})
+ {/if}
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan=2>{$smarty.now|date_format:"%A, %B %e, %Y - %r"} --- Templates generated by <a href="http://www.smarty.net/" onclick="window.open(this.href, ''); return false;">Smarty</a> {$smarty.version}</td>
+ </tr>
+ </table>
+
+</div>
+{/if} \ No newline at end of file
diff --git a/BSF/plugins/admin_advices/default-layout.css b/BSF/plugins/admin_advices/default-layout.css
new file mode 100644
index 000000000..35f8801f3
--- /dev/null
+++ b/BSF/plugins/admin_advices/default-layout.css
@@ -0,0 +1,19 @@
+.content {
+ list-style-type:none;
+ margin: 0 1em 0 14.5em;
+ padding: 0 0 15px 0;
+}
+.content h2 {
+ font-weight: bold;
+ padding-left: 2em;
+}
+.content h3 {
+ text-align: left;
+ padding-left: 3em;
+ font-size: 120%;
+}
+.content table tr td {
+ text-align: left;
+ padding-left: 2em;
+}
+
diff --git a/BSF/plugins/admin_advices/en_UK/index.php b/BSF/plugins/admin_advices/en_UK/index.php
new file mode 100644
index 000000000..c15b15795
--- /dev/null
+++ b/BSF/plugins/admin_advices/en_UK/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
diff --git a/BSF/plugins/admin_advices/en_UK/lang.adv.php b/BSF/plugins/admin_advices/en_UK/lang.adv.php
new file mode 100644
index 000000000..26dc4d56b
--- /dev/null
+++ b/BSF/plugins/admin_advices/en_UK/lang.adv.php
@@ -0,0 +1,447 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+global $lang;
+$lang['An_advice_about'] = 'A new advice about';
+$lang['Metadata'] = 'Metadata';
+
+foreach ($conf as $key => $value)
+{
+ if ( is_string($value) )
+ {
+ $bool = ($value == 'false') ? false : $value;
+ $bool = ($value == 'true') ? true : $bool;
+ $conf[$key] = $bool;
+ }
+}
+
+//
+// Don't forget to update range for new advices
+//
+$cases = range(1,34);
+srand ((double) microtime() * 10000000);
+shuffle($cases);
+
+$cond = false;
+foreach ($cases as $id_adv)
+{
+ if ($cond) break;
+ $adv = array();
+ switch ($id_adv) {
+ Case 1 :
+ $adv[] = 'Current value: public. ';
+ $adv[] = 'Try $conf[\'newcat_default_status\'] = \'private\';';
+ $adv[] = 'You will have more time to describe and check your pictures.';
+ $adv[] = 'Time to decide between private and public status.';
+ $adv[] = 'If you choose private, time to distribute authorization.';
+ $adv[] = 'Your new category will be well prepared.';
+ $cond = ($conf['newcat_default_status'] !== 'public');
+ $confk = 'newcat_default_status';
+ break;
+
+ Case 2 :
+ $adv[] = 'Current value: ' . (string) $conf['slideshow_period'] . '.';
+ $adv[] = 'This value could be too small for low band connections.';
+ $adv[] = 'Think about higher value like 4.';
+ $cond = ( $conf['slideshow_period'] < 4 );
+ $confk = 'slideshow_period';
+ break;
+
+ Case 3 :
+ $adv[] = 'Current value: ' . implode(', ', $conf['file_ext']) . '. ';
+ $adv[] = 'Should never contains extensions which can be executed';
+ $adv[] = 'on the server side like *.php, *.PHP, *.asp, ...';
+ $cond = ( in_array('php',$conf['file_ext']) );
+ $confk = 'file_ext';
+ break;
+
+ Case 4 :
+ $adv[] = 'Show IPTC Data from your picture:';
+ $adv[] = ' 1 - Copy one of your jpg pictures (a public one)' .
+ ' in ./tools/<br />' .
+ ' 2 - Rename it as sample.jpg.<br />' .
+ ' 3 - Run ./tools/metadata.php<br />' .
+ ' 4 - Analyse results to determine which IPTC fields could be' .
+ ' useful for your visitors.';
+ $adv[] = 'Beginners would prefer to keep $conf[\'show_iptc\'] = false;';
+ $adv[] = 'Advanced users would take care of $lang values and impacts' .
+ ' on templates.';
+ $cond = true;
+ $confk = 'show_iptc_mapping';
+ break;
+
+ Case 5 :
+ $adv[] = 'Current value: ' . (string) $conf['top_number'] . '.';
+ $adv[] = 'This value is maybe too high for low connections, ' .
+ 'think about 25-50 depending on your thumbnail sizes.';
+ $cond = ( $conf['top_number'] > 50 );
+ $confk = 'top_number';
+ break;
+
+ Case 6 :
+ $adv[] = 'Current value: ' . (string) $conf['top_number'] . '.';
+ $adv[] = 'One? It could be too low for random pictures, ' .
+ 'think about 5-10 depending on your thumbnail sizes.';
+ $cond = ( $conf['top_number'] < 2 ) ? true : false;
+ $confk = 'top_number';
+ break;
+
+ Case 7 :
+ $adv[] = 'Current value: ' . (string) $conf['anti-flood_time'] . '.';
+ $adv[] = 'For normal flow processing, your value is probably too high. ' .
+ 'Reasonable value is 60 (default).' ;
+ $cond = ( $conf['anti-flood_time'] > 100 ) ? true : false;
+ $confk = 'anti-flood_time';
+ break;
+
+ Case 8 :
+ $adv[] = 'Current value: ' . (string) $conf['calendar_datefield'] . '.';
+ $adv[] = 'Authorized values are ' .
+ "'date_creation' or 'date_available'" .
+ ', otherwise you can get unpredictable results.' ;
+ $cond = ( !in_array($conf['calendar_datefield'],
+ array('date_creation','date_available')) );
+ $confk = 'calendar_datefield';
+ break;
+
+ Case 9 :
+ // If (iptc or exif) are used and date_creation is updated
+ // Then it's Ok, you can use date_creation by default for calendar
+ // else ... Advice
+ $adv[] = 'Current value: ' . (string) $conf['calendar_datefield'] . '.';
+ $adv[] = "'date_creation'" . ' is NOT filled by ' .
+ 'any activated use metadata mapping fields.';
+ $adv[] = 'So activate metadata usage <strong>or</strong> change to ' .
+ '$conf[\'calendar_datefield\'] = \'date_available\'';
+ $adv[] = 'Activate metadata usage as you want: <br />' .
+ '1 - $conf[\'use_iptc\'] = true; or $conf[\'use_exif\'] = true; ' .
+ 'each way will be correct.<br />' .
+ '2 - And respectively map:<br />' .
+ '$conf[\'use_iptc_mapping\'] = array( ..., \'date_creation\' ' .
+ '=> \'2#055\', ...<br />' .
+ 'or/and:<br />' .
+ '$conf[\'use_exif_mapping\'] = array(\'date_creation\' ' .
+ '=> \'DateTimeOriginal\', ...<br />' .
+ '3 - Finally, a new task is up to you: Metadata synchronization.' ;
+ $cond2 = ( $conf['use_exif'] and
+ isset($conf['use_exif_mapping']['date_creation']) );
+ $cond3 = ( $conf['use_iptc'] and
+ isset($conf['use_iptc_mapping']['date_creation']) );
+ $cond = ( $conf['calendar_datefield'] == 'date_creation' );
+ $cond = ( ($cond2 or $cond3) and $cond ) ? false : true;
+ $confk = 'calendar_datefield';
+ break;
+
+ Case 10 :
+ $adv[] = 'Current value: false.';
+ $adv[] = 'Not useful, private status is better, so code ' .
+ '$conf[\'newcat_default_visible\'] = true;' ;
+ $cond = !$conf['newcat_default_visible'];
+ $confk = 'newcat_default_visible';
+ break;
+
+ Case 11 :
+ $adv[] = 'Current value: ' . (string) $conf['level_separator'] . '.';
+ $adv[] = 'Try something else like $conf[\'level_separator\'] = \'+ \';';
+ $cond = ( $conf['level_separator'] == ' / ' );
+ $confk = 'level_separator';
+ break;
+
+ Case 12 :
+ $adv[] = 'Current value: ' . (string) $conf['paginate_pages_around'] . '.';
+ $adv[] = 'Usual range is between 2 and 5. To be light, choose ' .
+ '$conf[\'paginate_pages_around\'] = 2; <br />' .
+ 'To offer large jump, choose $conf[\'paginate_pages_around\'] = 7;';
+ $cond = (($conf['paginate_pages_around'] < 2)
+ or ($conf['paginate_pages_around'] > 12));
+ $confk = 'paginate_pages_around';
+ break;
+
+ Case 13 :
+ $adv[] = 'Current value: ' . (string) $conf['tn_width'] . '.';
+ $adv[] = 'Should be a close value to your thumbnail width.' .
+ $adv[] = 'Usual range is between 96 and 150, ' .
+ 'about $conf[\'tn_width\'] = 128;';
+ $cond = (($conf['tn_width'] < 66)
+ or ($conf['tn_width'] > 180));
+ $confk = 'tn_width';
+ break;
+
+ Case 14 :
+ $adv[] = 'Current value: ' . (string) $conf['tn_height'] . '.';
+ $adv[] = 'Should be a close value to your thumbnail height.' .
+ $adv[] = 'Usual range is between 96 and 150, ' .
+ 'about $conf[\'tn_height\'] = 128;';
+ $cond = (($conf['tn_height'] < 66)
+ or ($conf['tn_height'] > 180));
+ $confk = 'tn_height';
+ break;
+
+ Case 15 :
+ $adv[] = 'Thumbnail height and width have to be equal.';
+ $adv[] = 'Choose $conf[\'tn_height\'] = ' . (string) $conf['tn_width'] .
+ ';<br />' .
+ 'or $conf[\'tn_width\'] = ' . (string) $conf['tn_height'] . ';';
+ $cond = ( $conf['tn_height'] !== $conf['tn_width'] );
+ $confk = 'tn_height';
+ break;
+
+ Case 16 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'For security reason, please set ' .
+ '$conf[\'show_version\'] = false;';
+ $cond = $conf['show_version'];
+ $confk = 'show_version';
+ break;
+
+ Case 17 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'For a lighter gallery just have a look to ' .
+ '$conf[\'show_thumbnail_caption\'] = false;';
+ $cond = $conf['show_thumbnail_caption'];
+ $confk = 'show_thumbnail_caption';
+ break;
+
+ Case 18 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'For a lighter gallery just have a look to ' .
+ '$conf[\'show_picture_name_on_title\'] = false;';
+ $cond = $conf['show_picture_name_on_title'];
+ $confk = 'show_picture_name_on_title';
+ break;
+
+ Case 19 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'If you do NOT have any category descriptions just have ' .
+ 'a look to $conf[\'subcatify\'] = false;';
+ $cond = $conf['subcatify'];
+ $confk = 'subcatify';
+ break;
+
+ Case 20 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'Leave $conf[\'allow_random_representative\'] = true; <br />' .
+ 'but analyze if you can avoid for performance reasons.' ;
+ $cond = $conf['allow_random_representative'];
+ $confk = 'allow_random_representative';
+ break;
+
+ Case 21 :
+ $adv[] = 'Current value: ' . (string) $conf['prefix_thumbnail'] . '.';
+ $adv[] = 'Be careful your $conf[\'prefix_thumbnail\'] is NOT standard.';
+ $adv[] = 'Do NOT change it except if your thumbnails are NOT visible.';
+ $adv[] = 'Distant site may use a different prefix but ' .
+ 'create_listing_file.php must be modified.<br />' .
+ 'You will get a warning message during synchronization in ' .
+ 'that case.';
+ $adv[] = 'Try to keep the same prefix thru all your sites either ' .
+ 'local or distants.';
+ $adv[] = 'Keep this parameter in your ./include/config_'.
+ '<strong>local.inc.php</strong>. <br />'.
+ 'See our wiki configuration page for more information about ' .
+ './include/config_<strong>local.inc.php</strong>.';
+ $cond = ( $conf['prefix_thumbnail'] !== 'TN-' );
+ $confk = 'prefix_thumbnail';
+ break;
+
+ Case 22 :
+ $adv[] = 'Current value: ' . (string) $conf['users_page'] . '.';
+ $adv[] = 'Unless you have a low band connection, you can draw up ' .
+ '$conf[\'users_page\'] to a higher value ' .
+ 'if you have more than 20 members.';
+ $cond = ( $conf['users_page'] < 21 );
+ $confk = 'users_page';
+ break;
+
+ Case 23 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'Should be false, only few webmasters have to set ' .
+ '$conf[\'mail_options\'] = true; <br />' .
+ 'A specific advice you can get from an advanced ' .
+ 'user on our forum in some mailing issues.' ;
+ $cond = $conf['mail_options'];
+ $confk = 'mail_options';
+ break;
+
+ Case 24 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'Should be false, only PWG dev Team have to set ' .
+ '$conf[\'check_upgrade_feed\'] = true; for test purpose.' ;
+ $cond = $conf['check_upgrade_feed'];
+ $confk = 'check_upgrade_feed';
+ break;
+
+ Case 25 :
+ $adv[] = '$conf[\'rate_items\'] has ' . count($conf['rate_items'])
+ . 'items.';
+ $adv[] = 'Your $conf[\'rate_items\'] would have 4 or 5 items not less.';
+ $cond = ( count($conf['rate_items']) < 4 );
+ $confk = 'rate_items';
+ break;
+
+ Case 26 :
+ $adv[] = '$conf[\'rate_items\'] has ' . count($conf['rate_items'])
+ . 'items.';
+ $adv[] = 'Your $conf[\'rate_items\'] would have 5 or 6 items not more.';
+ $adv[] = 'Check your best rated pictures prior to remove some values.' .
+ '<br />Reduce excessive rating and change your ' .
+ '$conf[\'rate_items\'].';
+ $cond = ( count($conf['rate_items']) > 6 );
+ $confk = 'rate_items';
+ break;
+
+ Case 27 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'Could be true, think about $conf[\'show_iptc\'] = false;'
+ . '<br />Some Professional photographers choose false ' .
+ 'their reasons are not really professional.' ;
+ $adv[] = 'Do NOT confuse between <strong>show</strong>_iptc and ' .
+ '<strong>use</strong>_iptc (have a look on metadata page ' .
+ 'on our wiki).';
+ $cond = $conf['show_iptc'];
+ $confk = 'show_iptc';
+ break;
+
+ Case 28 :
+ $adv[] = 'Current value: true.';
+ $adv[] = 'Documentalists and professionnal photographers would ' .
+ 'set it true, but beginners should leave it ' .
+ 'as $conf[\'use_iptc\'] = false;';
+ $adv[] = 'Take care of mentionned fields in metadata synchronization.' .
+ '<br />Mentionned fields would be rewrited with IPTC values ' .
+ ' even those ones are NOT empty.';
+ $adv[] = 'Do NOT confuse between <strong>show</strong>_iptc and ' .
+ '<strong>use</strong>_iptc (have a look on metadata page ' .
+ 'on our wiki).';
+ $cond = $conf['use_iptc'];
+ $confk = 'use_iptc';
+ break;
+
+ Case 29 :
+ $adv[] = 'How to deal with IPTC:';
+ $adv[] = '1 - Copy one of your jpg pictures (a public one) in ./tools/' .
+ '<br />2 - Rename it as sample.jpg.' .
+ '<br />3 - Run ./tools/metadata.php' .
+ '<br />4 - Analyse results to determine which IPTC fields ' .
+ 'could be used to override database fields.';
+ $adv[] = 'Beginners would prefer to keep $conf[\'use_iptc\'] = false;';
+ $adv[] = 'Advanced users make documentation efforts prior ' .
+ 'to upload their pictures.<br />' .
+ 'IPTC fields have to be described in ' .
+ '$conf[\'use_iptc_mapping\']';
+ $adv[] = 'In any case, <strong>show</strong>_iptc_mapping and ' .
+ '<strong>use</strong>_iptc_mapping must be totally different.';
+ $cond = true;
+ $confk = 'use_iptc';
+ break;
+
+ Case 30 :
+ $adv[] = 'How to deal with IPTC:';
+ $adv[] = '1 - Copy one of your jpg pictures (a public one) in ./tools/' .
+ '<br />2 - Rename it as sample.jpg.' .
+ '<br />3 - Run ./tools/metadata.php' .
+ '<br />4 - Analyse results to determine which IPTC fields ' .
+ 'could be used to override database fields.';
+ $adv[] = 'Beginners would prefer to keep $conf[\'use_iptc\'] = false;';
+ $adv[] = 'Advanced users make documentation efforts prior ' .
+ 'to upload their pictures.';
+ $adv[] = 'Take care of mentionned fields in metadata synchronization.' .
+ '<br />Mentionned fields would be rewrited with IPTC values ' .
+ ' even those ones are NOT empty.';
+ $adv[] = 'In any case, <strong>show</strong>_iptc_mapping and ' .
+ '<strong>use</strong>_iptc_mapping must be totally different.';
+ $cond = true;
+ $confk = 'use_iptc_mapping';
+ break;
+
+ Case 31 :
+ $adv[] = 'Current value: ' . ( ( $conf['show_exif'] ) ? 'true':'false' )
+ . '.';
+ $adv[] = 'Should be true, some information from your camera ' .
+ 'can be displayed.';
+ $adv[] = 'Think about EXIF information could be different depending ' .
+ 'on camera models.<br />' .
+ 'If you change your camera these fields could be ' .
+ 'partly different.';
+ $adv[] = 'Many professional photographers choose false, ' .
+ 'their reasons are to protect their knowledge.' ;
+ $adv[] = 'Do NOT confuse between <strong>show</strong>_exif and ' .
+ '<strong>use</strong>_exif (have a look on metadata page ' .
+ 'on our wiki).';
+ $cond = true;
+ $confk = 'show_exif';
+ break;
+
+ Case 32 :
+ $adv[] = 'How to deal with EXIF:';
+ $adv[] = '1 - Copy one of your jpg pictures (a public one) in ./tools/' .
+ '<br />2 - Rename it as sample.jpg.' .
+ '<br />3 - Run ./tools/metadata.php' .
+ '<br />4 - Analyse results to determine which EXIF fields ' .
+ 'could be used to override database fields.';
+ $adv[] = 'Beginners would prefer to let default values.';
+ $adv[] = 'Advanced users would take care of $lang values and ' .
+ 'impacts on templates.';
+ $adv[] = 'In any case, <strong>show</strong>_exif_fields and ' .
+ '<strong>use</strong>_exif_mapping must be totally different.';
+ $cond = true;
+ $confk = 'show_exif_fields';
+ break;
+
+ Case 33 :
+ $adv[] = 'Current value: ' . ( ( $conf['use_exif'] ) ? 'true':'false' )
+ . '.';
+ $adv[] = 'Documentalists and professionnal photographers would ' .
+ 'set it true, but beginners should leave the default value.';
+ $adv[] = 'Take care of mentionned fields in metadata synchronization.' .
+ '<br />Mentionned fields would be rewrited with EXIF values ' .
+ ' even those ones are NOT empty.';
+ $adv[] = 'Do NOT confuse between <strong>show</strong>_exif and ' .
+ '<strong>use</strong>_exif (have a look on metadata page ' .
+ 'on our wiki).';
+ $cond = true;
+ $confk = 'use_exif';
+ break;
+
+ Case 34 :
+ $adv[] = 'How to deal with EXIF:';
+ $adv[] = '1 - Copy one of your jpg pictures (a public one) in ./tools/' .
+ '<br />2 - Rename it as sample.jpg.' .
+ '<br />3 - Run ./tools/metadata.php' .
+ '<br />4 - Analyse results to determine which EXIF fields ' .
+ 'could be used to override database fields.';
+ $adv[] = 'Beginners would prefer to let default values.';
+ $adv[] = 'Advanced users would carefully chose overrided fields ' .
+ 'prior to synchronize.';
+ $adv[] = 'Take care of mentionned fields in metadata synchronization.' .
+ '<br />Mentionned fields would be rewrited with EXIF values ' .
+ ' even those ones are NOT empty.';
+ $adv[] = 'In any case, <strong>show</strong>_exif_fields and ' .
+ '<strong>use</strong>_exif_mapping must be totally different.';
+ $cond = true;
+ $confk = 'use_exif_mapping';
+ break;
+ }
+}
+
+?>
diff --git a/BSF/plugins/admin_advices/fr_FR/index.php b/BSF/plugins/admin_advices/fr_FR/index.php
new file mode 100644
index 000000000..c15b15795
--- /dev/null
+++ b/BSF/plugins/admin_advices/fr_FR/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
diff --git a/BSF/plugins/admin_advices/fr_FR/lang.adv.php b/BSF/plugins/admin_advices/fr_FR/lang.adv.php
new file mode 100644
index 000000000..11fd5cf53
--- /dev/null
+++ b/BSF/plugins/admin_advices/fr_FR/lang.adv.php
@@ -0,0 +1,480 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+global $lang;
+$lang['An_advice_about'] = 'Un nouveau conseil à propos de ';
+$lang['Metadata'] = 'Méta-données';
+
+foreach ($conf as $key => $value)
+{
+ if ( is_string($value) )
+ {
+ $bool = ($value == 'false') ? false : $value;
+ $bool = ($value == 'true') ? true : $bool;
+ $conf[$key] = $bool;
+ }
+}
+
+//
+// Don't forget to update range for new advices
+//
+$cases = range(1,34);
+srand ((double) microtime() * 10000000);
+shuffle($cases);
+
+$cond = false;
+foreach ($cases as $id_adv)
+{
+ if ($cond) break;
+ $adv = array();
+ switch ($id_adv) {
+ Case 1 :
+ $adv[] = 'Valeur actuelle : public. ';
+ $adv[] = 'Essayez $conf[\'newcat_default_status\'] = \'private\';';
+ $adv[] = 'Vous aurez plus de temps pour décrire et contrôler vos images. '
+ . 'Du temps pour vous décider entre un statut privé ou public.';
+ $adv[] = 'Si vous choisissez de rester privé, vous passerez directement '
+ . 'à l\'attribution des autorisations. <br />'
+ . 'Vos nouvelles catégories seront préparées plus facilement.';
+ $cond = ($conf['newcat_default_status'] !== 'public');
+ $confk = 'newcat_default_status';
+ break;
+
+ Case 2 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['slideshow_period'] . '.';
+ $adv[] = 'Ce délai pourrait être trop petit pour les connexions '
+ . 'en bas débit.';
+ $adv[] = 'Pensez à une valeur supérieure comme 4.';
+ $cond = ( $conf['slideshow_period'] < 4 );
+ $confk = 'slideshow_period';
+ break;
+
+ Case 3 :
+ $adv[] = 'Valeur actuelle : ' . implode(', ', $conf['file_ext']) . '. ';
+ $adv[] = 'Ne devrait jamais contenir des extensions pouvant être ';
+ $adv[] = 'exécutées sur le serveur comme *.php, *.PHP, *.asp, ...';
+ $cond = ( in_array('php',$conf['file_ext']) );
+ $confk = 'file_ext';
+ break;
+
+ Case 4 :
+ $adv[] = 'Comment gérer les IPTC:';
+ $adv[] = ' 1 - Copiez une image jpg (publique) dans ./tools/<br />'
+ . ' 2 - Renommez celle-ci en sample.jpg.<br />'
+ . ' 3 - Lancez ./tools/metadata.php<br />'
+ . ' 4 - Analysez les résultats pour déterminer quels champs '
+ . 'IPTC pourraient intéresser vos visiteurs.';
+ $adv[] = 'Les débutants laisseront $conf[\'show_iptc\'] = false;';
+ $adv[] = 'Les utilisateurs avancés penseront aux valeurs du tableau '
+ . '$lang; voire même à l\'impact possible sur les templates.';
+ $cond = true;
+ $confk = 'show_iptc_mapping';
+ break;
+
+ Case 5 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['top_number'] . '.';
+ $adv[] = 'Cette valeur pourrait être trop grande pour des connexions '
+ . 'bas débit.<br /> Pensez à une valeur située entre 25-50 '
+ . 'en fonction de la taille de vos minitures.';
+ $cond = ( $conf['top_number'] > 50 );
+ $confk = 'top_number';
+ break;
+
+ Case 6 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['top_number'] . '.';
+ $adv[] = 'Une seule? Au moins pour les images aléatoires, pensez '
+ . 'autour de 5-10 selon la tailles de vos miniatures.';
+ $cond = ( $conf['top_number'] < 2 ) ? true : false;
+ $confk = 'top_number';
+ break;
+
+ Case 7 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['anti-flood_time'] . '.';
+ $adv[] = 'Pour un traitement fluide, votre valeur est sans doute trop '
+ . 'grande. Une valeur raisonnable serait 60 (valeur par défaut).' ;
+ $cond = ( $conf['anti-flood_time'] > 100 ) ? true : false;
+ $confk = 'anti-flood_time';
+ break;
+
+ Case 8 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['calendar_datefield'] .'.';
+ $adv[] = 'Les valeurs admises sont '
+ . "'date_creation' ou 'date_available'" . ', toute autre valeur'
+ . 'peut aboutir à des résultats imprévisibles.' ;
+ $cond = ( !in_array($conf['calendar_datefield'],
+ array('date_creation','date_available')) );
+ $confk = 'calendar_datefield';
+ break;
+
+ Case 9 :
+ // If (iptc or exif) are used and date_creation is updated
+ // Then it's Ok, you can use date_creation by default for calendar
+ // else ... Advise
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['calendar_datefield'] .'.';
+ $adv[] = "La 'date_creation'" . ' n\'est pas renseignée. Aucun champ '
+ . 'des méta-données (use_) n\'actualise la base.';
+ $adv[] = 'Soit vous activez l\'usage des méta-données <strong>ou'
+ . '</strong> changez pour '
+ . '$conf[\'calendar_datefield\'] = \'date_available\'';
+ $adv[] = 'Activez l\'usage des méta-données simplement par: <br />'
+ . '1 - $conf[\'use_iptc\'] = true; ou $conf[\'use_exif\'] = true; '
+ . 'au choix, les 2 sont valables.<br />'
+ . '2 - Respectivement à chacune faire la modif:<br />'
+ . '$conf[\'use_iptc_mapping\'] = array( ..., \'date_creation\' '
+ . '=> \'2#055\', ...<br />'
+ . 'et/ou:<br />'
+ . '$conf[\'use_exif_mapping\'] = array(\'date_creation\' '
+ . '=> \'DateTimeOriginal\', ...<br />'
+ . '3 - Enfin une nouvelle tache vous est destinée: '
+ . 'la synchronisation des méta-données.' ;
+ $cond2 = ( $conf['use_exif'] and
+ isset($conf['use_exif_mapping']['date_creation']) );
+ $cond3 = ( $conf['use_iptc'] and
+ isset($conf['use_iptc_mapping']['date_creation']) );
+ $cond = ( $conf['calendar_datefield'] == 'date_creation' );
+ $cond = ( ($cond2 or $cond3) and $cond ) ? false : true;
+ $confk = 'calendar_datefield';
+ break;
+
+ Case 10 :
+ $adv[] = 'Valeur actuelle : false.';
+ $adv[] = 'C\'est une erreur, un statut "private" est plus simple, '
+ . 'alors choisissez $conf[\'newcat_default_visible\'] = true;' ;
+ $cond = !$conf['newcat_default_visible'];
+ $confk = 'newcat_default_visible';
+ break;
+
+ Case 11 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['level_separator'] . '.';
+ $adv[] = 'Vous pouvez toujours essayer un autre séparateur comme :'
+ . '<br />$conf[\'level_separator\'] = \'+ \';';
+ $cond = ( $conf['level_separator'] == ' / ' );
+ $confk = 'level_separator';
+ break;
+
+ Case 12 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['paginate_pages_around']
+ . '.';
+ $adv[] = 'Les valeurs habituelles se situent entre 2 et 5.'
+ . 'Pour un site avec une interface légère, on choisira : <br />'
+ . '$conf[\'paginate_pages_around\'] = 2; <br />'
+ . 'Afin de proposer plus d\'accès directs, on choisira : <br />'
+ . '$conf[\'paginate_pages_around\'] = 7;';
+ $cond = (($conf['paginate_pages_around'] < 2)
+ or ($conf['paginate_pages_around'] > 12));
+ $confk = 'paginate_pages_around';
+ break;
+
+ Case 13 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['tn_width'] . '.';
+ $adv[] = 'Doit être une valeur proche de la largeur de vos miniatures.';
+ $adv[] = 'Les valeurs habituelles se situent entre 96 et 150, '
+ . 'comme $conf[\'tn_width\'] = 128;';
+ $cond = (($conf['tn_width'] < 66)
+ or ($conf['tn_width'] > 180));
+ $confk = 'tn_width';
+ break;
+
+ Case 14 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['tn_height'] . '.';
+ $adv[] = 'Doit être une valeur proche de la hauteur de vos miniatures.';
+ $adv[] = 'Les valeurs habituelles se situent entre 96 et 150, '
+ . 'comme $conf[\'tn_height\'] = 128;';
+ $cond = (($conf['tn_height'] < 66)
+ or ($conf['tn_height'] > 180));
+ $confk = 'tn_height';
+ break;
+
+ Case 15 :
+ $adv[] = 'Il n\'y a aucune raison pour que la largeur maximale soit '
+ . 'différente de la hauteur maximale. Pourquoi les ajouts en '
+ . 'portrait afficheraient des miniatures dans une résolution '
+ . 'différente de celle des miniatures en paysage?';
+ $adv[] = 'Essayez $conf[\'tn_height\'] = ' . (string) $conf['tn_width']
+ . ';<br />'
+ . 'ou $conf[\'tn_width\'] = ' . (string) $conf['tn_height'] . ';';
+ $cond = ( $conf['tn_height'] !== $conf['tn_width'] );
+ $confk = 'tn_height';
+ break;
+
+ Case 16 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Pour des raisons de sécurité de votre galerie, préférez '
+ . '$conf[\'show_version\'] = false;';
+ $cond = $conf['show_version'];
+ $confk = 'show_version';
+ break;
+
+ Case 17 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Pour une galerie moins chargée, faites le test de '
+ . '$conf[\'show_thumbnail_caption\'] = false;';
+ $cond = $conf['show_thumbnail_caption'];
+ $confk = 'show_thumbnail_caption';
+ break;
+
+ Case 18 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Pour une galerie moins chargée, faites le test de '
+ . '$conf[\'show_picture_name_on_title\'] = false;';
+ $cond = $conf['show_picture_name_on_title'];
+ $confk = 'show_picture_name_on_title';
+ break;
+
+ Case 19 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Aucune de vos catégories ne possède de descriptions alors '
+ . 'essayez $conf[\'subcatify\'] = false;';
+ $cond = $conf['subcatify'];
+ $confk = 'subcatify';
+ break;
+
+ Case 20 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Laissez $conf[\'allow_random_representative\'] = true; <br />'
+ . 'mais étudiez comment vous pouvez l\'éviter pour des raisons '
+ . 'de performance.' ;
+ $cond = $conf['allow_random_representative'];
+ $confk = 'allow_random_representative';
+ break;
+
+ Case 21 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['prefix_thumbnail'] . '.';
+ $adv[] = 'Attention, votre $conf[\'prefix_thumbnail\'] n\'est pas '
+ . 'standard.';
+ $adv[] = 'Ne pas changer votre préfixe sauf si vos miniatures ont un '
+ . 'problème d\'affichage.';
+ $adv[] = 'Un site distant peut avoir un préfixe différent, le '
+ . 'create_listing_file.php devra être modifié.<br />'
+ . 'Vous devriez avoir un message d\'avertissement pendant la '
+ . 'synchronisation dans ce cas.';
+ $adv[] = 'Essayez de garder le même préfixe de miniatures pour les sites '
+ . 'locaux ou distants.';
+ $adv[] = 'Conservez ce paramètre dans votre ./include/config_'
+ . '<strong>local.inc.php</strong>. <br />'
+ . 'Voir la page sur la configuration dans le Wiki pour plus '
+ . 'd\'informations à propos de '
+ . './include/config_<strong>local.inc.php</strong>.';
+ $cond = ( $conf['prefix_thumbnail'] !== 'TN-' );
+ $confk = 'prefix_thumbnail';
+ break;
+
+ Case 22 :
+ $adv[] = 'Valeur actuelle : ' . (string) $conf['users_page'] . '.';
+ $adv[] = 'A moins d\'avoir une connexion bas débit, vous pouvez '
+ . 'augmenter largement $conf[\'users_page\'] '
+ . 'surtout si vous avez plus de 20 membres.';
+ $cond = ( $conf['users_page'] < 21 );
+ $confk = 'users_page';
+ break;
+
+ Case 23 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Devrait être à false, seulement quelques webmasters devront '
+ . 'indiquer $conf[\'mail_options\'] = true; <br />'
+ . 'Un utilisateur avancé de notre forum les aura conseillé '
+ . 'dans un seul cas de problème d\'email.' ;
+ $cond = $conf['mail_options'];
+ $confk = 'mail_options';
+ break;
+
+ Case 24 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Devrait être à false, seuls les membres de l\'équipe PWG '
+ . 'codent $conf[\'check_upgrade_feed\'] = true; pour leurs tests.';
+ $cond = $conf['check_upgrade_feed'];
+ $confk = 'check_upgrade_feed';
+ break;
+
+ Case 25 :
+ $adv[] = '$conf[\'rate_items\'] dispose de ' . count($conf['rate_items'])
+ . 'éléments.';
+ $adv[] = 'Votre $conf[\'rate_items\'] devrait avoir 4 ou 5 éléments '
+ . 'mais pas moins.';
+ $cond = ( count($conf['rate_items']) < 4 );
+ $confk = 'rate_items';
+ break;
+
+ Case 26 :
+ $adv[] = '$conf[\'rate_items\'] has ' . count($conf['rate_items'])
+ . 'items.';
+ $adv[] = 'Votre $conf[\'rate_items\'] devrait avoir 4 ou 5 éléments '
+ . 'mais pas plus.';
+ $adv[] = 'Contrôlez vos images les mieux notées avant de retirer '
+ . ' certaines valeurs.'
+ . '<br />Réduire les valeurs excessives et modifiez votre '
+ . '$conf[\'rate_items\'].';
+ $cond = ( count($conf['rate_items']) > 6 );
+ $confk = 'rate_items';
+ break;
+
+ Case 27 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Peut être effectivement à true, éventuellement choisissez '
+ . '$conf[\'show_iptc\'] = false;'
+ . '<br />Comme quelques photographes professionnels choisissez '
+ . 'false bien que leurs raisons ne soient guère professionnelles.';
+ $adv[] = 'Ne confondez pas <strong>show</strong>_iptc et '
+ . '<strong>use</strong>_iptc (consultez la pages de métadonnées '
+ . 'sur notre wiki).';
+ $cond = $conf['show_iptc'];
+ $confk = 'show_iptc';
+ break;
+
+ Case 28 :
+ $adv[] = 'Valeur actuelle : true.';
+ $adv[] = 'Les documentalistes et photographes professionnels choisiront '
+ . 'cette valeur true, mais les débutants devraient laisser '
+ . '$conf[\'use_iptc\'] = false;';
+ $adv[] = 'Faire attention aux champs mentionnés dans la synchronisation '
+ . 'des métadonnées.<br />Les champs indiqués pourront être '
+ . 'écrasés par des valeurs de champs IPTC quand bien même ces '
+ . 'champs ne seraient pas vides.';
+ $adv[] = 'Ne confondez pas <strong>show</strong>_iptc et '
+ . '<strong>use</strong>_iptc (consultez la pages de métadonnées '
+ . 'sur notre wiki).';
+ $cond = $conf['use_iptc'];
+ $confk = 'use_iptc';
+ break;
+
+ Case 29 :
+ $adv[] = 'Comment gérer les IPTC:';
+ $adv[] = ' 1 - Copiez une image jpg (publique) dans ./tools/<br />'
+ . ' 2 - Renommez celle-ci en sample.jpg.<br />'
+ . ' 3 - Lancez ./tools/metadata.php<br />'
+ . ' 4 - Analysez les résultats pour déterminer quels champs '
+ . 'IPTC pourraient intéresser vos visiteurs.';
+ $adv[] = 'Les débutants laisseront $conf[\'use_iptc\'] = false;';
+ $adv[] = 'Les utilisateurs avancés feront des efforts de documentation '
+ . 'avant de transférer leurs images.<br />'
+ . 'Les champs IPTC doivent être décrits par '
+ . '$conf[\'use_iptc_mapping\']';
+ $adv[] = 'Dans tous les cas, <strong>show</strong>_iptc_mapping et '
+ . '<strong>use</strong>_iptc_mapping seront '
+ . 'totalement différents.';
+ $cond = true;
+ $confk = 'use_iptc';
+ break;
+
+ Case 30 :
+ $adv[] = 'Comment gérer les IPTC:';
+ $adv[] = ' 1 - Copiez une image jpg (publique) dans ./tools/<br />'
+ . ' 2 - Renommez celle-ci en sample.jpg.<br />'
+ . ' 3 - Lancez ./tools/metadata.php<br />'
+ . ' 4 - Analysez les résultats pour déterminer quels champs '
+ . 'IPTC pourraient intéresser vos visiteurs.';
+ $adv[] = 'Les débutants laisseront $conf[\'use_iptc\'] = false;';
+ $adv[] = 'Les utilisateurs avancés feront des efforts de documentation '
+ . 'avant de transférer leurs images.<br />'
+ . 'Les champs IPTC doivent être décrits par '
+ . '$conf[\'use_iptc_mapping\']';
+ $adv[] = 'Faire attention aux champs mentionnés dans la synchronisation '
+ . 'des métadonnées.<br />Les champs indiqués pourront être '
+ . 'écrasés par des valeurs de champs IPTC quand bien même ces '
+ . 'champs ne seraient pas vides.';
+ $adv[] = 'Dans tous les cas, <strong>show</strong>_iptc_mapping et '
+ . '<strong>use</strong>_iptc_mapping seront '
+ . 'totalement différents.';
+ $cond = true;
+ $confk = 'use_iptc_mapping';
+ break;
+
+ Case 31 :
+ $adv[] = 'Valeur actuelle : '
+ . ( ( $conf['show_exif'] ) ? 'true':'false' ) . '.';
+ $adv[] = 'Devrait être à true, certaines informations propres à votre '
+ . 'appareil pourront être affichées.';
+ $adv[] = 'Pensez au fait que les informations EXIF peuvent être '
+ . 'différentes suivant les modèles d\'appareil.<br />'
+ . 'Si vous changez votre appareil ces champs pourraient en '
+ . 'partie differents.';
+ $adv[] = 'Beaucoup de photographes professionnels choissent false, '
+ . 'ceci afin de protéger leur savoir-faire.' ;
+ $adv[] = 'Ne confondez pas <strong>show</strong>_exif et '
+ . '<strong>use</strong>_exif (consultez la pages de métadonnées '
+ . 'sur notre wiki).';
+ $cond = true;
+ $confk = 'show_exif';
+ break;
+
+ Case 32 :
+ $adv[] = 'Comment gérer les EXIF:';
+ $adv[] = ' 1 - Copiez une image jpg (publique) dans ./tools/<br />'
+ . ' 2 - Renommez celle-ci en sample.jpg.<br />'
+ . ' 3 - Lancez ./tools/metadata.php<br />'
+ . ' 4 - Analysez les résultats pour déterminer quels champs '
+ . 'EXIF pourraient intéresser vos visiteurs.';
+ $adv[] = 'Les débutants laisseront la valeur par défaut.';
+ $adv[] = 'Les utilisateurs avancés penseront aux valeurs du tableau '
+ . '$lang; voire même à l\'impact possible sur les templates.';
+ $adv[] = 'Dans tous les cas, <strong>show</strong>_exif_fields et '
+ . '<strong>use</strong>_exif_mapping seront '
+ . 'totalement différents.';
+ $cond = true;
+ $confk = 'show_exif_fields';
+ break;
+
+ Case 33 :
+ $adv[] = 'Valeur actuelle : ' . ( ( $conf['use_exif'] ) ? 'true':'false' )
+ . '.';
+ $adv[] = 'Les documentalistes et photographes professionnels choisiront '
+ . 'cette valeur true, mais les débutants devraient laisser '
+ . 'la valeur par défaut.';
+ $adv[] = 'Faire attention aux champs mentionnés dans la synchronisation '
+ . 'des métadonnées.<br />Les champs indiqués pourront être '
+ . 'écrasés par des valeurs de champs EXIF quand bien même ces '
+ . 'champs ne seraient pas vides.';
+ $adv[] = 'Ne confondez pas <strong>show</strong>_exif et '
+ . '<strong>use</strong>_exif (consultez la pages de métadonnées '
+ . 'sur notre wiki).';
+ $cond = true;
+ $confk = 'use_exif';
+ break;
+
+ Case 34 :
+ $adv[] = 'Comment gérer les EXIF:';
+ $adv[] = ' 1 - Copiez une image jpg (publique) dans ./tools/<br />'
+ . ' 2 - Renommez celle-ci en sample.jpg.<br />'
+ . ' 3 - Lancez ./tools/metadata.php<br />'
+ . ' 4 - Analysez les résultats pour déterminer quels champs '
+ . 'EXIF pourraient intéresser vos visiteurs.';
+ $adv[] = 'Les débutants laisseront la valeur par défaut.';
+ $adv[] = 'Les utilisateurs avancés penseront aux valeurs du tableau '
+ . '$lang; voire même à l\'impact possible sur les templates.';
+ $adv[] = 'Les débutants laisseront $conf[\'use_exif\'] = false;';
+ $adv[] = 'Les utilisateurs avancés feront très attention aux champs '
+ . 'sélectionnés et modifiés par la synchronisation.';
+ $adv[] = 'Faire attention aux champs mentionnés dans la synchronisation '
+ . 'des métadonnées.<br />Ces champs pourront être '
+ . 'écrasés par des valeurs de champs EXIF quand bien même ces '
+ . 'champs ne seraient pas vides.';
+ $adv[] = 'Dans tous les cas, <strong>show</strong>_exif_fields et '
+ . '<strong>use</strong>_exif_mapping seront '
+ . 'totalement différents.';
+ $cond = true;
+ $confk = 'use_exif_mapping';
+ break;
+ }
+}
+
+?>
diff --git a/BSF/plugins/admin_advices/index.php b/BSF/plugins/admin_advices/index.php
new file mode 100644
index 000000000..c15b15795
--- /dev/null
+++ b/BSF/plugins/admin_advices/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
diff --git a/BSF/plugins/admin_advices/main.inc.php b/BSF/plugins/admin_advices/main.inc.php
new file mode 100644
index 000000000..fe87cc723
--- /dev/null
+++ b/BSF/plugins/admin_advices/main.inc.php
@@ -0,0 +1,127 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 Piwigo team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+/*
+Plugin Name: Admin Advices
+Version: 1.8
+Description: Give you an advice on the administration page.
+Plugin URI: http://piwigo.org
+Author: Piwigo team
+Author URI: http://piwigo.org
+*/
+
+add_event_handler('loc_end_page_header', 'set_admin_advice_add_css' );
+
+// Add a XHTML tag in HEAD section
+function set_admin_advice_add_css()
+{
+ global $template, $page;
+ if ( isset($page['body_id']) and $page['body_id']=='theAdminPage'
+ and $page['page'] == 'intro'
+ )
+ {// This Plugin works only on the Admin page
+ $template->append(
+ 'head_elements',
+ '<link rel="stylesheet" type="text/css" '
+ . 'href="'.PHPWG_PLUGINS_PATH.'admin_advices/default-layout.css">'
+ );
+ add_event_handler('loc_begin_page_tail', 'set_admin_advice' );
+ }
+}
+
+// Build an advice on the Admin Intro page
+function set_admin_advice()
+{
+ global $page, $user, $template, $conf;
+
+// Setup Advice Language (Maybe there is already a variable)
+ $advlang = ( isset($user['language']) ) ?
+ $user['language'] : get_default_language(); // en_UK
+ $my_path = dirname(__FILE__).'/';
+ $adv = array();
+ if ( !@file_exists($my_path."$advlang/lang.adv.php") )
+ {
+ $advlang = 'en_UK';
+ }
+// Include language advices
+ @include_once( $my_path."$advlang/lang.adv.php" );
+
+// If there is an advice
+ if ( $cond )
+ {
+ $template->set_filenames(array(
+ 'admin_advice' => $my_path.'admin_advices.tpl')
+ );
+
+// Random Thumbnail
+ $query = '
+SELECT *
+FROM '.IMAGES_TABLE.'
+ORDER BY RAND(NOW())
+LIMIT 0, 1
+;';
+ $result = pwg_query($query);
+ $row = mysql_fetch_assoc($result);
+ if ( is_array($row) )
+ {
+ $url_modify = get_root_url().'admin.php?page=picture_modify'
+ .'&amp;image_id='.$row['id'];
+ $query = '
+SELECT * FROM '.IMAGE_TAG_TABLE.'
+WHERE image_id = ' . $row['id'] .'
+;';
+ $tag_count = mysql_num_rows(mysql_query($query));
+ $template->assign('thumbnail',
+ array(
+ 'IMAGE' => get_thumbnail_url($row),
+ 'IMAGE_ALT' => $row['file'],
+ 'IMAGE_TITLE' => $row['name'],
+ 'METADATA' => (empty($row['date_metadata_update'])) ?
+ 'un' : '',
+ 'NAME' => (empty($row['name'])) ?
+ 'un' : '',
+ 'COMMENT' => (empty($row['comment'])) ?
+ 'un' : '',
+ 'AUTHOR' => (empty($row['author'])) ?
+ 'un' : '',
+ 'CREATE_DATE' => (empty($row['date_creation'])) ?
+ 'un' : '',
+ 'TAGS' => ($tag_count == 0) ?
+ 'un' : '',
+ 'NUM_TAGS' => $tag_count,
+ 'U_MODIFY' => $url_modify,
+ )
+ );
+ }
+ $advice_text = array_shift($adv);
+ $template->assign(
+ array(
+ 'ADVICE_ABOUT' => '$conf[' . "'$confk'] ",
+ 'ADVICE_TEXT' => $advice_text,
+ )
+ );
+ $template->assign('More', $adv );
+ $template->pparse('admin_advice');
+ }
+}
+?>