source: branches/2.3/include/category_default.inc.php @ 12545

Last change on this file since 12545 was 12545, checked in by plg, 12 years ago

feature 2397 added: add details about the album thumbnail for extra templates.

Algorithm changed for FILE_HAS_HD : we don't care about the $userenabled_high

Fields added in category_default : high_filesize, high_width, high_height, rating_score

We send the same fields on category_cats but for album thumbnail only.

  • Property svn:eol-style set to LF
File size: 5.3 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based photo gallery                                    |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2011 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24/**
25 * This file is included by the main page to show thumbnails for the default
26 * case
27 *
28 */
29
30$pictures = array();
31
32$selection = array_slice(
33  $page['items'],
34  $page['start'],
35  $page['nb_image_page']
36  );
37
38if (count($selection) > 0)
39{
40  $rank_of = array_flip($page['items']);
41
42  $query = '
43SELECT *
44  FROM '.IMAGES_TABLE.'
45  WHERE id IN ('.implode(',', $selection).')
46;';
47  $result = pwg_query($query);
48  while ($row = pwg_db_fetch_assoc($result))
49  {
50    $row['rank'] = $rank_of[ $row['id'] ];
51
52    array_push($pictures, $row);
53  }
54
55  usort($pictures, 'rank_compare');
56  unset($rank_of);
57}
58
59if (count($pictures) > 0)
60{
61  // define category slideshow url
62  $row = reset($pictures);
63  $page['cat_slideshow_url'] =
64    add_url_params(
65      duplicate_picture_url(
66        array(
67          'image_id' => $row['id'],
68          'image_file' => $row['file']
69        ),
70        array('start')
71      ),
72      array('slideshow' =>
73        (isset($_GET['slideshow']) ? $_GET['slideshow']
74                                   : '' ))
75    );
76
77  if ($user['show_nb_comments'])
78  {
79    $query = '
80SELECT image_id, COUNT(*) AS nb_comments
81  FROM '.COMMENTS_TABLE.'
82  WHERE validated = \'true\'
83    AND image_id IN ('.implode(',', $selection).')
84  GROUP BY image_id
85;';
86    $nb_comments_of = simple_hash_from_query($query, 'image_id', 'nb_comments');
87  }
88}
89
90// template thumbnail initialization
91$template->set_filenames( array( 'index_thumbnails' => 'thumbnails.tpl',));
92
93trigger_action('loc_begin_index_thumbnails', $pictures);
94$tpl_thumbnails_var = array();
95
96foreach ($pictures as $row)
97{
98  // link on picture.php page
99  $url = duplicate_picture_url(
100        array(
101          'image_id' => $row['id'],
102          'image_file' => $row['file']
103        ),
104        array('start')
105      );
106
107  if (isset($nb_comments_of) )
108  {
109    $row['nb_comments'] = (int)@$nb_comments_of[$row['id']];
110  }
111
112  $name = get_picture_title($row);
113
114  $tpl_var = array(
115    'ID' => $row['id'],
116    'TN_SRC' => get_thumbnail_url($row),
117    'TN_ALT' => htmlspecialchars(strip_tags($name)),
118    'TN_TITLE' => get_thumbnail_title($row),
119    'URL' => $url,
120
121    // Extra fields for usage in extra themes
122    'FILE_PATH' => $row['path'],
123    'FILE_POSTED' => $row['date_available'],
124    'FILE_CREATED' => $row['date_creation'],
125    'FILE_DESC' => $row['comment'],
126    'FILE_AUTHOR' => $row['author'],
127    'FILE_HIT' => $row['hit'],
128    'FILE_SIZE' => $row['filesize'],
129    'FILE_WIDTH' => $row['width'],
130    'FILE_HEIGHT' => $row['height'],
131    'FILE_METADATE' => $row['date_metadata_update'],
132    'FILE_HAS_HD' => $row['has_high'],
133    'FILE_HD_WIDTH' => $row['high_width'],
134    'FILE_HD_HEIGHT' => $row['high_height'],
135    'FILE_HD_FILESIZE' => $row['high_filesize'],
136    'FILE_RATING_SCORE' => $row['rating_score'],
137    );
138 
139  if ($conf['index_new_icon'])
140  {
141    $tpl_var['icon_ts'] = get_icon($row['date_available']);
142  }
143
144  if ($user['show_nb_hits'])
145  {
146    $tpl_var['NB_HITS'] = $row['hit'];
147  }
148 
149  switch ($page['section'])
150  {
151    case 'best_rated' :
152    {
153      $name = '('.$row['rating_score'].') '.$name;
154      break;
155    }
156    case 'most_visited' :
157    {
158      if ( !$user['show_nb_hits'])
159      {
160        $name = '('.$row['hit'].') '.$name;
161      }
162      break;
163    }
164  }
165 
166  $tpl_var['NAME'] = $name;
167
168  if (isset($row['nb_comments']))
169  {
170    $tpl_var['NB_COMMENTS'] = $row['nb_comments'];
171  }
172
173  $tpl_thumbnails_var[] = $tpl_var;
174}
175
176$template->assign('SHOW_THUMBNAIL_CAPTION', $conf['show_thumbnail_caption']);
177$tpl_thumbnails_var = trigger_event('loc_end_index_thumbnails', $tpl_thumbnails_var, $pictures);
178$template->assign('thumbnails', $tpl_thumbnails_var);
179
180$template->assign_var_from_handle('THUMBNAILS', 'index_thumbnails');
181
182pwg_debug('end include/category_default.inc.php');
183?>
Note: See TracBrowser for help on using the repository browser.