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

Last change on this file since 2502 was 2299, checked in by plg, 17 years ago

Bug fixed: as rvelices notified me by email, my header replacement script was
bugged (r2297 was repeating new and old header).

By the way, I've also removed the replacement keywords. We were using them
because it was a common usage with CVS but it is advised not to use them with
Subversion. Personnaly, it is a problem when I search differences between 2
Piwigo installations outside Subversion.

  • 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      'IMAGE'         => $thumbnail_url,
111      'IMAGE_ALT'     => $row['file'],
112      'IMAGE_TITLE'   => get_thumbnail_title($row),
113      'IMAGE_TS'      => get_icon($row['date_available']),
114      'U_IMG_LINK'    => $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['ELEMENT_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.