aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/include/category_default.inc.php
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/include/category_default.inc.php
parent553727dffacc48e8337c1d141f2a25af359e74b1 (diff)
git-svn-id: http://piwigo.org/svn/trunk@2357 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'BSF/include/category_default.inc.php')
-rw-r--r--BSF/include/category_default.inc.php170
1 files changed, 170 insertions, 0 deletions
diff --git a/BSF/include/category_default.inc.php b/BSF/include/category_default.inc.php
new file mode 100644
index 000000000..8dad04d90
--- /dev/null
+++ b/BSF/include/category_default.inc.php
@@ -0,0 +1,170 @@
+<?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. |
+// +-----------------------------------------------------------------------+
+
+/**
+ * This file is included by the main page to show thumbnails for the default
+ * case
+ *
+ */
+
+$page['rank_of'] = array_flip($page['items']);
+
+$pictures = array();
+
+$selection = array_slice(
+ $page['items'],
+ $page['start'],
+ $page['nb_image_page']
+ );
+
+if (count($selection) > 0)
+{
+ $query = '
+SELECT *
+ FROM '.IMAGES_TABLE.'
+ WHERE id IN ('.implode(',', $selection).')
+;';
+ $result = pwg_query($query);
+ while ($row = mysql_fetch_assoc($result))
+ {
+ $row['rank'] = $page['rank_of'][ $row['id'] ];
+
+ array_push($pictures, $row);
+ }
+
+ usort($pictures, 'rank_compare');
+}
+
+if (count($pictures) > 0)
+{
+ // define category slideshow url
+ $row = reset($pictures);
+ $page['cat_slideshow_url'] =
+ add_url_params(
+ duplicate_picture_url(
+ array(
+ 'image_id' => $row['id'],
+ 'image_file' => $row['file']
+ ),
+ array('start')
+ ),
+ array('slideshow' =>
+ (isset($_GET['slideshow']) ? $_GET['slideshow']
+ : '' ))
+ );
+
+ if ($user['show_nb_comments'])
+ {
+ $query = '
+SELECT image_id, COUNT(*) AS nb_comments
+ FROM '.COMMENTS_TABLE.'
+ WHERE validated = \'true\'
+ AND image_id IN ('.implode(',', $selection).')
+ GROUP BY image_id
+;';
+ $nb_comments_of = simple_hash_from_query($query, 'image_id', 'nb_comments');
+ }
+}
+
+// template thumbnail initialization
+$template->set_filenames( array( 'index_thumbnails' => 'thumbnails.tpl',));
+
+trigger_action('loc_begin_index_thumbnails', $pictures);
+
+foreach ($pictures as $row)
+{
+ $thumbnail_url = get_thumbnail_url($row);
+
+ // link on picture.php page
+ $url = duplicate_picture_url(
+ array(
+ 'image_id' => $row['id'],
+ 'image_file' => $row['file']
+ ),
+ array('start')
+ );
+
+ $tpl_var =
+ array(
+ 'ID' => $row['id'],
+ 'IMAGE' => $thumbnail_url,
+ 'IMAGE_ALT' => $row['file'],
+ 'IMAGE_TITLE' => get_thumbnail_title($row),
+ 'IMAGE_TS' => get_icon($row['date_available']),
+ 'U_IMG_LINK' => $url,
+ );
+
+ if ($user['show_nb_hits'])
+ {
+ $tpl_var['NB_HITS'] = $row['hit'];
+ }
+
+ if ($conf['show_thumbnail_caption'])
+ {
+ // name of the picture
+ if (isset($row['name']) and $row['name'] != '')
+ {
+ $name = $row['name'];
+ }
+ else
+ {
+ $name = str_replace('_', ' ', get_filename_wo_extension($row['file']));
+ }
+
+ switch ($page['section'])
+ {
+ case 'best_rated' :
+ {
+ $name = '('.$row['average_rate'].') '.$name;
+ break;
+ }
+ case 'most_visited' :
+ {
+ if ( !$user['show_nb_hits']) {
+ $name = '('.$row['hit'].') '.$name;
+ }
+ break;
+ }
+ }
+
+ $tpl_var['ELEMENT_NAME'] = $name;
+ }
+
+ if ( isset($nb_comments_of) )
+ {
+ $row['nb_comments'] = isset($nb_comments_of[$row['id']])
+ ? (int)$nb_comments_of[$row['id']] : 0;
+ $tpl_var['NB_COMMENTS'] = $row['nb_comments'];
+ }
+
+ //plugins need to add/modify sth in this loop ?
+ $tpl_var = trigger_event('loc_index_thumbnail', $tpl_var, $row);
+
+ $template->append('thumbnails', $tpl_var);
+}
+
+trigger_action('loc_end_index_thumbnails', $pictures);
+$template->assign_var_from_handle('THUMBNAILS', 'index_thumbnails');
+
+pwg_debug('end include/category_default.inc.php');
+?>