aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpatdenice <patdenice@piwigo.org>2010-03-24 00:39:34 +0000
committerpatdenice <patdenice@piwigo.org>2010-03-24 00:39:34 +0000
commit151920ed0943568ad51bd6d9bacadcdea46fea4f (patch)
tree1af7e76fe85079e485a9eedc19d8daaefab27243
parent8802877a844a9604072dd2ebbfddc668d53a12d2 (diff)
Feature 1533: Allow activation or deactivation of download icon.
Add display configuration for picture properties. git-svn-id: http://piwigo.org/svn/trunk@5304 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--admin/configuration.php26
-rw-r--r--admin/themes/default/default-layout.css12
-rw-r--r--admin/themes/default/template/configuration.tpl84
-rw-r--r--install/config.sql7
-rw-r--r--install/db/87-database.php2
-rw-r--r--install/db/88-database.php49
-rw-r--r--language/en_UK/admin.lang.php1
-rw-r--r--language/fr_FR/admin.lang.php1
-rw-r--r--picture.php6
-rw-r--r--themes/default/template/picture.tpl22
10 files changed, 200 insertions, 10 deletions
diff --git a/admin/configuration.php b/admin/configuration.php
index b8dc57433..9ec7ed805 100644
--- a/admin/configuration.php
+++ b/admin/configuration.php
@@ -89,6 +89,19 @@ $display_checkboxes = array(
'picture_navigation_thumb',
);
+$display_info_checkboxes = array(
+ 'author',
+ 'created_on',
+ 'posted_on',
+ 'dimensions',
+ 'file',
+ 'filesize',
+ 'tags',
+ 'categories',
+ 'visits',
+ 'average_rate',
+ );
+
//------------------------------ verification and registration of modifications
if (isset($_POST['submit']) and !is_adviser())
{
@@ -151,6 +164,12 @@ if (isset($_POST['submit']) and !is_adviser())
{
$_POST[$checkbox] = empty($_POST[$checkbox])?'false':'true';
}
+ foreach( $display_info_checkboxes as $checkbox)
+ {
+ $_POST['picture_informations'][$checkbox] =
+ empty($_POST['picture_informations'][$checkbox])? false : true;
+ }
+ $_POST['picture_informations'] = addslashes(serialize($_POST['picture_informations']));
break;
}
}
@@ -333,6 +352,13 @@ switch ($page['section'])
true
);
}
+ $template->append(
+ 'display',
+ array(
+ 'picture_informations' => unserialize($conf['picture_informations'])
+ ),
+ true
+ );
break;
}
}
diff --git a/admin/themes/default/default-layout.css b/admin/themes/default/default-layout.css
index aa9f4fae1..d9c71d96a 100644
--- a/admin/themes/default/default-layout.css
+++ b/admin/themes/default/default-layout.css
@@ -128,7 +128,8 @@ FIELDSET#historyConf SPAN.property,
FIELDSET#commentsConf SPAN.property,
FIELDSET#uploadConf SPAN.property,
FIELDSET#indexDisplayConf SPAN.property,
-FIELDSET#pictureDisplayConf SPAN.property {
+FIELDSET#pictureDisplayConf SPAN.property,
+FIELDSET#pictureInfoConf SPAN.property {
float: right;
text-align: left;
}
@@ -137,7 +138,8 @@ FIELDSET#historyConf INPUT,
FIELDSET#commentsConf INPUT,
FIELDSET#uploadConf INPUT,
FIELDSET#indexDisplayConf INPUT,
-FIELDSET#pictureDisplayConf INPUT {
+FIELDSET#pictureDisplayConf INPUT,
+FIELDSET#pictureInfoConf INPUT {
float: none;
}
@@ -151,14 +153,16 @@ FIELDSET#mainConf TEXTAREA.description {
FIELDSET#mainConfCheck SPAN.property,
FIELDSET#historyConf SPAN.property,
FIELDSET#indexDisplayConf SPAN.property,
-FIELDSET#pictureDisplayConf SPAN.property {
+FIELDSET#pictureDisplayConf SPAN.property,
+FIELDSET#pictureInfoConf SPAN.property {
width: 90%;
}
FIELDSET#mainConfCheck INPUT,
FIELDSET#historyConf INPUT,
FIELDSET#commentsConf INPUT,
FIELDSET#indexDisplayConf INPUT,
-FIELDSET#pictureDisplayConf INPUT {
+FIELDSET#pictureDisplayConf INPUT,
+FIELDSET#pictureInfoConf INPUT {
margin-left: 5%;
}
FIELDSET#uploadConf SELECT {
diff --git a/admin/themes/default/template/configuration.tpl b/admin/themes/default/template/configuration.tpl
index 3ec558dbc..c31374148 100644
--- a/admin/themes/default/template/configuration.tpl
+++ b/admin/themes/default/template/configuration.tpl
@@ -103,7 +103,6 @@
</fieldset>
{/if}
-
{if isset($comments)}
<fieldset id="commentsConf">
<legend></legend>
@@ -129,7 +128,6 @@
</label>
</li>
-
<li>
<label>
<span class="property">{'Email admins when a valid comment is entered'|@translate}</span>
@@ -289,6 +287,88 @@
</li>
</ul>
</fieldset>
+
+<fieldset id="pictureInfoConf">
+ <legend>{'Photo Properties'|@translate}</legend>
+ <ul>
+ <li>
+ <label>
+ <span class="property">{'Author'|@translate}</span>
+ <input type="checkbox" name="picture_informations[author]" {if ($display.picture_informations.author)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Created on'|@translate}</span>
+ <input type="checkbox" name="picture_informations[created_on]" {if ($display.picture_informations.created_on)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Posted on'|@translate}</span>
+ <input type="checkbox" name="picture_informations[posted_on]" {if ($display.picture_informations.posted_on)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Dimensions'|@translate}</span>
+ <input type="checkbox" name="picture_informations[dimensions]" {if ($display.picture_informations.dimensions)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'File'|@translate}</span>
+ <input type="checkbox" name="picture_informations[file]" {if ($display.picture_informations.file)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Filesize'|@translate}</span>
+ <input type="checkbox" name="picture_informations[filesize]" {if ($display.picture_informations.filesize)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Tags'|@translate}</span>
+ <input type="checkbox" name="picture_informations[tags]" {if ($display.picture_informations.tags)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Categories'|@translate}</span>
+ <input type="checkbox" name="picture_informations[categories]" {if ($display.picture_informations.categories)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Visits'|@translate}</span>
+ <input type="checkbox" name="picture_informations[visits]" {if ($display.picture_informations.visits)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Average rate'|@translate}</span>
+ <input type="checkbox" name="picture_informations[average_rate]" {if ($display.picture_informations.average_rate)}checked="checked"{/if}>
+ </label>
+ </li>
+
+ <li>
+ <label>
+ <span class="property">{'Privacy level'|@translate} ({'available for administrators only'|@translate})</span>
+ <input type="checkbox" name="picture_informations[privacy_level]" {if ($display.picture_informations.privacy_level)}checked="checked"{/if}>
+ </label>
+ </li>
+ </ul>
+</fieldset>
{/if}
{if !isset($default)}
diff --git a/install/config.sql b/install/config.sql
index ad638325b..97b8ad53a 100644
--- a/install/config.sql
+++ b/install/config.sql
@@ -41,8 +41,15 @@ INSERT INTO piwigo_config (param,value,comment) VALUES ('index_slideshow_icon','
INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_metadata_icon','true','Display metadata icon on picture page');
INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_slideshow_icon','true','Display slideshow icon on picture page');
INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_favorite_icon','true','Display favorite icon on picture page');
+INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_download_icon','true','Display download icon on picture page');
INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_navigation_icons','true','Display navigation icons on picture page');
INSERT INTO piwigo_config (param,value,comment) VALUES ('picture_navigation_thumb','true','Display navigation thumbnails on picture page');
+INSERT INTO piwigo_config (param,value,comment)
+ VALUES (
+ 'picture_informations',
+ 'a:11:{s:6:"author";b:1;s:10:"created_on";b:1;s:9:"posted_on";b:1;s:10:"dimensions";b:1;s:4:"file";b:1;s:8:"filesize";b:1;s:4:"tags";b:1;s:10:"categories";b:1;s:6:"visits";b:1;s:12:"average_rate";b:1;s:13:"privacy_level";b:1;}',
+ 'Information displayed on picture page'
+ );
INSERT INTO piwigo_themes (id, name) VALUES ('Sylvia', 'Sylvia');
INSERT INTO piwigo_themes (id, name) VALUES ('clear', 'clear');
diff --git a/install/db/87-database.php b/install/db/87-database.php
index d5d188eb2..4641caca4 100644
--- a/install/db/87-database.php
+++ b/install/db/87-database.php
@@ -2,7 +2,7 @@
// +-----------------------------------------------------------------------+
// | Piwigo - a PHP based picture gallery |
// +-----------------------------------------------------------------------+
-// | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2008-2010 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 |
// +-----------------------------------------------------------------------+
diff --git a/install/db/88-database.php b/install/db/88-database.php
new file mode 100644
index 000000000..2ab0e4159
--- /dev/null
+++ b/install/db/88-database.php
@@ -0,0 +1,49 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2010 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. |
+// +-----------------------------------------------------------------------+
+
+if (!defined("PHPWG_ROOT_PATH"))
+{
+ die('Hacking attempt!');
+}
+
+$upgrade_description = 'Add display configuration for picture properties.';
+
+$query = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+ VALUES
+ ("picture_download_icon","true","Display download icon on picture page"),
+ (
+ "picture_informations",
+ "a:11:{s:6:\"author\";b:1;s:10:\"created_on\";b:1;s:9:\"posted_on\";b:1;s:10:\"dimensions\";b:1;s:4:\"file\";b:1;s:8:\"filesize\";b:1;s:4:\"tags\";b:1;s:10:\"categories\";b:1;s:6:\"visits\";b:1;s:12:\"average_rate\";b:1;s:13:\"privacy_level\";b:1;}",
+ "Information displayed on picture page"
+ )
+;';
+
+pwg_query($query);
+
+echo
+"\n"
+. $upgrade_description
+."\n"
+;
+?> \ No newline at end of file
diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php
index 9f190caf0..270972422 100644
--- a/language/en_UK/admin.lang.php
+++ b/language/en_UK/admin.lang.php
@@ -748,4 +748,5 @@ $lang['Activate Navigation Bar'] = 'Activate Navigation Bar';
$lang['Activate Navigation Thumbnails'] = 'Activate Navigation Thumbnails';
$lang['Activate icon "%s"'] = 'Activate icon "%s"';
$lang['Activate field "%s"'] = 'Activate field "%s"';
+$lang['Photo Properties'] = 'Photo Properties';
?>
diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php
index 714395e6a..e75b5b805 100644
--- a/language/fr_FR/admin.lang.php
+++ b/language/fr_FR/admin.lang.php
@@ -722,6 +722,7 @@ $lang['Activate Navigation Bar'] = 'Activer la barre de navigation';
$lang['Activate Navigation Thumbnails'] = 'Activer les miniatures de navigation';
$lang['Activate icon "%s"'] = 'Activer l\'icone "%s"';
$lang['Activate field "%s"'] = 'Activer le champ "%s"';
+$lang['Photo Properties'] = 'Propriétés de la photo';
$lang['Active Themes'] = 'Thèmes activés';
$lang['Add write access to the "%s" directory'] = 'Ajoutez l\'accès en écriture pour le répertoire "%s"';
diff --git a/picture.php b/picture.php
index 289839e7a..7bb52056e 100644
--- a/picture.php
+++ b/picture.php
@@ -657,10 +657,13 @@ foreach (array('first','previous','next','last', 'current') as $which_image)
'U_IMG' =>
add_url_params(
$picture[$which_image]['url'], $slideshow_url_params),
- 'U_DOWNLOAD' => @$picture['current']['download_url'],
)
)
);
+ if ($conf['picture_download_icon'] and !empty($picture['current']['download_url']))
+ {
+ $template->append($which_image, array('U_DOWNLOAD' => $picture['current']['download_url']), true);
+ }
}
}
@@ -918,6 +921,7 @@ $infos['INFO_VISITS'] = $picture['current']['hit'];
$infos['INFO_FILE'] = $picture['current']['file'];
$template->assign($infos);
+$template->assign('display_info', unserialize($conf['picture_informations']));
// related tags
$tags = get_common_tags( array($page['image_id']), -1);
diff --git a/themes/default/template/picture.tpl b/themes/default/template/picture.tpl
index 84dd8e43f..b1378132e 100644
--- a/themes/default/template/picture.tpl
+++ b/themes/default/template/picture.tpl
@@ -114,30 +114,43 @@ y.callService(
{/if}
<table id="standard" class="infoTable" summary="{'Some info about this picture'|@translate}">
+ {if $display_info.author}
<tr id="Author">
<td class="label">{'Author'|@translate}</td>
<td class="value">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
</tr>
+ {/if}
+ {if $display_info.created_on}
<tr id="datecreate">
<td class="label">{'Created on'|@translate}</td>
<td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td>
</tr>
+ {/if}
+ {if $display_info.posted_on}
<tr id="datepost">
<td class="label">{'Posted on'|@translate}</td>
<td class="value">{$INFO_POSTED_DATE}</td>
</tr>
+ {/if}
+ {if $display_info.dimensions}
<tr id="Dimensions">
<td class="label">{'Dimensions'|@translate}</td>
<td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS}{else}{'N/A'|@translate}{/if}</td>
</tr>
+ {/if}
+ {if $display_info.file}
<tr id="File">
<td class="label">{'File'|@translate}</td>
<td class="value">{$INFO_FILE}</td>
</tr>
+ {/if}
+ {if $display_info.filesize}
<tr id="Filesize">
<td class="label">{'Filesize'|@translate}</td>
<td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td>
</tr>
+ {/if}
+ {if $display_info.tags}
<tr id="Tags">
<td class="label">{'Tags'|@translate}</td>
<td class="value">
@@ -147,6 +160,8 @@ y.callService(
{/if}
</td>
</tr>
+ {/if}
+ {if $display_info.categories}
<tr id="Categories">
<td class="label">{'Categories'|@translate}</td>
<td class="value">
@@ -159,12 +174,15 @@ y.callService(
{/if}
</td>
</tr>
+ {/if}
+ {if $display_info.visits}
<tr id="Visits">
<td class="label">{'Visits'|@translate}</td>
<td class="value">{$INFO_VISITS}</td>
</tr>
+ {/if}
-{if isset($rate_summary) }
+{if $display_info.average_rate and isset($rate_summary) }
<tr id="Average">
<td class="label">{'Average rate'|@translate}</td>
<td class="value" id="ratingSummary">
@@ -206,7 +224,7 @@ y.callService(
</tr>
{/if}
-{if isset($available_permission_levels) }
+{if $display_info.privacy_level and isset($available_permission_levels) }
<tr id="Privacy">
<td class="label">{'Privacy level'|@translate}:</td>
<td class="value">