source: trunk/include/category_default.inc.php @ 2620

Last change on this file since 2620 was 2515, checked in by rvelices, 16 years ago
  • fix undefined template vars U_LOST_PASSWORD (menubar), F_ACTION (extend_for_templates) and F_C13Y_ACTION (check_integrity)
  • normalized some template variable names between category thumbnails and thumbnails (take advantage of full template change with smarty and do it now)
  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based picture gallery                                  |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008      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$page['rank_of'] = array_flip($page['items']);
31
32$pictures = array();
33
34$selection = array_slice(
35  $page['items'],
36  $page['start'],
37  $page['nb_image_page']
38  );
39
40if (count($selection) > 0)
41{
42  $query = '
43SELECT *
44  FROM '.IMAGES_TABLE.'
45  WHERE id IN ('.implode(',', $selection).')
46;';
47  $result = pwg_query($query);
48  while ($row = mysql_fetch_assoc($result))
49  {
50    $row['rank'] = $page['rank_of'][ $row['id'] ];
51
52    array_push($pictures, $row);
53  }
54
55  usort($pictures, 'rank_compare');
56}
57
58if (count($pictures) > 0)
59{
60  // define category slideshow url
61  $row = reset($pictures);
62  $page['cat_slideshow_url'] =
63    add_url_params(
64      duplicate_picture_url(
65        array(
66          'image_id' => $row['id'],
67          'image_file' => $row['file']
68        ),
69        array('start')
70      ),
71      array('slideshow' =>
72        (isset($_GET['slideshow']) ? $_GET['slideshow']
73                                   : '' ))
74    );
75
76  if ($user['show_nb_comments'])
77  {
78    $query = '
79SELECT image_id, COUNT(*) AS nb_comments
80  FROM '.COMMENTS_TABLE.'
81  WHERE validated = \'true\'
82    AND image_id IN ('.implode(',', $selection).')
83  GROUP BY image_id
84;';
85    $nb_comments_of = simple_hash_from_query($query, 'image_id', 'nb_comments');
86  }
87}
88
89// template thumbnail initialization
90$template->set_filenames( array( 'index_thumbnails' => 'thumbnails.tpl',));
91
92trigger_action('loc_begin_index_thumbnails', $pictures);
93
94foreach ($pictures as $row)
95{
96  $thumbnail_url = get_thumbnail_url($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  $tpl_var =
108    array(
109      'ID'            => $row['id'],
110      'TN_SRC'         => $thumbnail_url,
111      'TN_ALT'     => $row['file'],
112      'TN_TITLE'   => get_thumbnail_title($row),
113      'ICON_TS'      => get_icon($row['date_available']),
114      'URL'    => $url,
115    );
116
117  if ($user['show_nb_hits'])
118  {
119    $tpl_var['NB_HITS'] = $row['hit'];
120  }
121
122  if ($conf['show_thumbnail_caption'])
123  {
124    // name of the picture
125    if (isset($row['name']) and $row['name'] != '')
126    {
127      $name = $row['name'];
128    }
129    else
130    {
131      $name = str_replace('_', ' ', get_filename_wo_extension($row['file']));
132    }
133
134    switch ($page['section'])
135    {
136      case 'best_rated' :
137      {
138        $name = '('.$row['average_rate'].') '.$name;
139        break;
140      }
141      case 'most_visited' :
142      {
143        if ( !$user['show_nb_hits']) {
144          $name = '('.$row['hit'].') '.$name;
145        }
146        break;
147      }
148    }
149
150    $tpl_var['NAME'] = $name;
151  }
152
153  if ( isset($nb_comments_of) )
154  {
155    $row['nb_comments'] = isset($nb_comments_of[$row['id']])
156        ? (int)$nb_comments_of[$row['id']] : 0;
157    $tpl_var['NB_COMMENTS'] = $row['nb_comments'];
158  }
159
160  //plugins need to add/modify sth in this loop ?
161  $tpl_var = trigger_event('loc_index_thumbnail', $tpl_var, $row);
162
163  $template->append('thumbnails', $tpl_var);
164}
165
166trigger_action('loc_end_index_thumbnails', $pictures);
167$template->assign_var_from_handle('THUMBNAILS', 'index_thumbnails');
168
169pwg_debug('end include/category_default.inc.php');
170?>
Note: See TracBrowser for help on using the repository browser.