aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrvelices <rv-github@modusoptimus.com>2006-11-08 03:01:28 +0000
committerrvelices <rv-github@modusoptimus.com>2006-11-08 03:01:28 +0000
commite44f0b01549d3a52c5b261767c6531044d09a1a1 (patch)
treee3ec12a6eb2262cf098575413e28bfe97689491d
parent8f52e36a6fdb362e204cfec4b865b0cee5735fbf (diff)
- merge category_recent_cats and category_subcats into category_cats (a lot
of common code,and now representative selection works for recent cats...) - some replacements of get_thumbnail_src with get_thumbnail_url git-svn-id: http://piwigo.org/svn/trunk@1597 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--include/calendar_monthly.class.php25
-rw-r--r--include/category_cats.inc.php (renamed from include/category_subcats.inc.php)132
-rw-r--r--include/category_recent_cats.inc.php162
-rw-r--r--include/section_init.inc.php6
4 files changed, 93 insertions, 232 deletions
diff --git a/include/calendar_monthly.class.php b/include/calendar_monthly.class.php
index b7af6794c..0dfdbcf63 100644
--- a/include/calendar_monthly.class.php
+++ b/include/calendar_monthly.class.php
@@ -3,11 +3,10 @@
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
-// | branch : BSF (Best So Far)
-// | file : $RCSfile$
-// | last update : $Date: 2006-01-27 02:11:43 +0100 (ven, 27 jan 2006) $
-// | last modifier : $Author: rvelices $
-// | revision : $Revision: 1014 $
+// | file : $Id$
+// | last update : $Date$
+// | last modifier : $Author$
+// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | 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 |
@@ -341,7 +340,7 @@ function build_month_calendar()
{
$page['chronology_date'][CDAY]=$day;
$query = '
-SELECT file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as dow';
+SELECT id, file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as dow';
$query.= $this->inner_sql;
$query.= $this->get_date_where();
$query.= '
@@ -349,8 +348,8 @@ SELECT file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as do
LIMIT 0,1';
unset ( $page['chronology_date'][CDAY] );
- $row = mysql_fetch_array(pwg_query($query));
- $items[$day]['tn_path'] = get_thumbnail_src($row['path'], @$row['tn_ext']);
+ $row = mysql_fetch_assoc(pwg_query($query));
+ $items[$day]['tn_url'] = get_thumbnail_url($row);
$items[$day]['file'] = $row['file'];
$items[$day]['path'] = $row['path'];
$items[$day]['tn_ext'] = @$row['tn_ext'];
@@ -448,9 +447,7 @@ SELECT file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as do
}
else
{// item not an image (tn is either mime type or an image)
- $thumb = get_thumbnail_src(
- $items[$day]['path'], @$items[$day]['tn_ext'], false
- );
+ $thumb = get_thumbnail_path($items[$day]);
$tn_size = @getimagesize($thumb);
}
$tn_width = $tn_size[0];
@@ -507,11 +504,11 @@ SELECT file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as do
)
);
$alt = $wday_labels[$dow] . ' ' . $day.
- ' ('.$items[$day]['nb_images'].')';
+ ' ('.sprintf("%d ".l10n('pictures'), $items[$day]['nb_images']).')';
$template->assign_block_vars('calendar.thumbnails.row.col.full',
array(
'LABEL' => $day,
- 'IMAGE' => $items[$day]['tn_path'],
+ 'IMAGE' => $items[$day]['tn_url'],
'U_IMG_LINK'=> $url,
'STYLE' => $css_style,
'IMG_WIDTH' => $img_width,
@@ -553,7 +550,7 @@ SELECT file,tn_ext,path, width, height, DAYOFWEEK('.$this->date_field.')-1 as do
$template->assign_block_vars(
'thumbnails.line.thumbnail',
array(
- 'IMAGE'=>$data['tn_path'],
+ 'IMAGE'=>$data['tn_url'],
'IMAGE_ALT'=>$data['file'],
'IMAGE_TITLE'=>$thumbnail_title,
'U_IMG_LINK'=>$url
diff --git a/include/category_subcats.inc.php b/include/category_cats.inc.php
index 7800e6319..9a3cccceb 100644
--- a/include/category_subcats.inc.php
+++ b/include/category_cats.inc.php
@@ -2,10 +2,10 @@
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
-// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
+// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
-// | file : $RCSfile$
+// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
@@ -27,36 +27,45 @@
/**
* This file is included by the main page to show thumbnails for a category
- * that have only subcategories
+ * that have only subcategories or to show recent categories
*
*/
-$query = '
-SELECT id, name, date_last, representative_picture_id, comment, nb_images
+if ($page['section']=='recent_cats')
+{
+ $query = '
+SELECT id,name,date_last,representative_picture_id,comment,nb_images,uppercats
+ FROM '.CATEGORIES_TABLE.'
+ WHERE date_last > SUBDATE(
+ CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY
+ )
+ AND id NOT IN ('.$user['forbidden_categories'].')';
+}
+else
+{
+ $query = '
+SELECT id,name,date_last,representative_picture_id,comment,nb_images
FROM '.CATEGORIES_TABLE.'
WHERE id_uppercat '.
(!isset($page['category']) ? 'is NULL' : '= '.$page['category']).'
AND id NOT IN ('.$user['forbidden_categories'].')
ORDER BY rank
;';
-$result = pwg_query($query);
-
-// $conf['allow_random_representative']
+}
+$result = pwg_query($query);
$categories = array();
$image_ids = array();
-while ($row = mysql_fetch_array($result))
+while ($row = mysql_fetch_assoc($result))
{
if (isset($row['representative_picture_id'])
and is_numeric($row['representative_picture_id']))
- {
- // if a representative picture is set, it has priority
+ { // if a representative picture is set, it has priority
$image_id = $row['representative_picture_id'];
}
else if ($conf['allow_random_representative'])
- {
- // searching a random representant among elements in sub-categories
+ {// searching a random representant among elements in sub-categories
$query = '
SELECT image_id
FROM '.CATEGORIES_TABLE.' AS c INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic
@@ -67,14 +76,13 @@ SELECT image_id
LIMIT 0,1
;';
$subresult = pwg_query($query);
- if (mysql_num_rows($result) > 0)
+ if (mysql_num_rows($subresult) > 0)
{
list($image_id) = mysql_fetch_row($subresult);
}
}
else
- {
- // searching a random representant among representant of sub-categories
+ { // searching a random representant among representant of sub-categories
$query = '
SELECT representative_picture_id
FROM '.CATEGORIES_TABLE.'
@@ -91,33 +99,16 @@ SELECT representative_picture_id
}
}
- $comment = null;
- if (isset($row['comment']))
- {
- $comment = strip_tags($row['comment'], '<a><br><p><b><i><small><strong><font>');
- }
-
if (isset($image_id))
{
- array_push(
- $categories,
- array(
- 'category' => $row['id'],
- 'picture' => $image_id,
- 'name' => $row['name'],
- 'date_last' => @$row['date_last'],
- 'comment' => $comment,
- 'nb_images' => $row['nb_images'],
- )
- );
-
+ $row['representative_picture_id'] = $image_id;
array_push($image_ids, $image_id);
+ array_push($categories, $row);
}
-
unset($image_id);
}
-if (count($image_ids) > 0)
+if (count($categories) > 0)
{
$thumbnail_src_of = array();
@@ -127,12 +118,14 @@ SELECT id, path, tn_ext
WHERE id IN ('.implode(',', $image_ids).')
;';
$result = pwg_query($query);
- while ($row = mysql_fetch_array($result))
+ while ($row = mysql_fetch_assoc($result))
{
- $thumbnail_src_of[$row['id']] =
- get_thumbnail_src($row['path'], @$row['tn_ext']);
+ $thumbnail_src_of[$row['id']] = get_thumbnail_url($row);
}
+}
+if (count($categories) > 0)
+{
if ($conf['subcatify'])
{
$template->set_filenames(
@@ -141,27 +134,37 @@ SELECT id, path, tn_ext
)
);
- $template->assign_block_vars('categories', array());
-
foreach ($categories as $category)
{
+ $comment = strip_tags(@$category['comment'], '<a><br><p><b><i><small><strong><font>');
+ if ($page['section']=='recent_cats')
+ {
+ $name = get_cat_display_name_cache($category['uppercats'], null, false);
+ $icon_ts = '';
+ }
+ else
+ {
+ $name = $category['name'];
+ $icon_ts = get_icon(@$category['date_last']);
+ }
+
$template->assign_block_vars(
'categories.category',
array(
- 'SRC' => $thumbnail_src_of[ $category['picture'] ],
+ 'SRC' => $thumbnail_src_of[$category['representative_picture_id']],
'ALT' => $category['name'],
'TITLE' => $lang['hint_category'],
- 'ICON' => get_icon(@$category['date_last']),
+ 'ICON' => $icon_ts,
- 'URL' => make_index_url(
+ 'URL' => make_index_url(
array(
- 'category' => $category['category'],
+ 'category' => $category['id'],
'cat_name' => $category['name'],
)
),
- 'NAME' => $category['name'],
'CAPTION_NB_IMAGES' => (($category['nb_images'] == 0) ? '' : sprintf("%d ".l10n('pictures'), $category['nb_images'])),
- 'DESCRIPTION' => @$category['comment'],
+ 'DESCRIPTION' => @$comment,
+ 'NAME' => $name,
)
);
}
@@ -171,36 +174,53 @@ SELECT id, path, tn_ext
else
{
$template->set_filenames( array( 'thumbnails' => 'thumbnails.tpl',));
- $template->assign_block_vars('thumbnails', array());
// first line
$template->assign_block_vars('thumbnails.line', array());
// current row displayed
$row_number = 0;
+ if ($page['section']=='recent_cats')
+ {
+ $old_level_separator = $conf['level_separator'];
+ $conf['level_separator'] = '<br />';
+ }
+
foreach ($categories as $category)
{
$template->assign_block_vars(
'thumbnails.line.thumbnail',
array(
- 'IMAGE' => $thumbnail_src_of[ $category['picture'] ],
+ 'IMAGE' => $thumbnail_src_of[ $category['representative_picture_id'] ],
'IMAGE_ALT' => $category['name'],
'IMAGE_TITLE' => $lang['hint_category'],
- 'IMAGE_TS' => get_icon(@$category['date_last']),
'U_IMG_LINK' => make_index_url(
array(
- 'category' => $category['category'],
+ 'category' => $category['id'],
'cat_name' => $category['name'],
)
),
'CLASS' => 'thumbCat',
)
);
-
+ if ($page['section']=='recent_cats')
+ {
+ $name = get_cat_display_name_cache($category['uppercats'], null, false);
+ }
+ else
+ {
+ $name = $category['name'];
+ $template->merge_block_vars(
+ 'thumbnails.line.thumbnail',
+ array(
+ 'IMAGE_TS' => get_icon(@$category['date_last']),
+ )
+ );
+ }
$template->assign_block_vars(
'thumbnails.line.thumbnail.category_name',
array(
- 'NAME' => $category['name']
+ 'NAME' => $name
)
);
@@ -211,6 +231,12 @@ SELECT id, path, tn_ext
$row_number = 0;
}
}
+
+ if ( isset($old_level_separator) )
+ {
+ $conf['level_separator']=$old_level_separator;
+ }
+
$template->assign_var_from_handle('THUMBNAILS', 'thumbnails');
}
}
diff --git a/include/category_recent_cats.inc.php b/include/category_recent_cats.inc.php
deleted file mode 100644
index 6d4cf86f3..000000000
--- a/include/category_recent_cats.inc.php
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-// +-----------------------------------------------------------------------+
-// | PhpWebGallery - a PHP based picture gallery |
-// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
-// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
-// +-----------------------------------------------------------------------+
-// | branch : BSF (Best So Far)
-// | file : $RCSfile$
-// | last update : $Date$
-// | last modifier : $Author$
-// | revision : $Revision$
-// +-----------------------------------------------------------------------+
-// | 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 recent_cats
- * category
- *
- */
-
-// FIXME: categories having no representant
-// ($conf['allow_random_representative'] = true) are not displayed :-/
-
-// retrieving categories recently update, ie containing pictures added
-// recently. The calculated table field categories.date_last will be
-// easier to use
-$query = '
-SELECT c.id AS category_id
- , uppercats
- , representative_picture_id
- , path
- , file
- , c.comment
- , tn_ext
- , nb_images
- , c.name AS cat_name
- FROM '.CATEGORIES_TABLE.' AS c
- INNER JOIN '.IMAGES_TABLE.' AS i ON i.id = c.representative_picture_id
- WHERE date_last > SUBDATE(
- CURRENT_DATE,INTERVAL '.$user['recent_period'].' DAY
- )';
-if ( $user['forbidden_categories'] != '' )
-{
- $query.= '
- AND c.id NOT IN ('.$user['forbidden_categories'].')';
-}
-$query.= '
-;';
-$result = pwg_query( $query );
-
-if ($conf['subcatify'])
-{
- $template->set_filenames(
- array(
- 'mainpage_categories' => 'mainpage_categories.tpl',
- )
- );
-
- // template thumbnail initialization
- if (mysql_num_rows($result) > 0)
- {
- $template->assign_block_vars('categories', array());
- }
-
- $comment = null;
- if (isset($row['comment']))
- {
- $comment = strip_tags($row['comment'], '<a><br><p><b><i><small><strong><font>');
- }
-
- // for each category, we have to search a recent picture to display and
- // the name to display
- while ( $row = mysql_fetch_array( $result ) )
- {
- $template->assign_block_vars(
- 'categories.category',
- array(
- 'SRC' => get_thumbnail_src($row['path'], @$row['tn_ext']),
- 'ALT' => $row['file'],
- 'TITLE' => $lang['hint_category'],
-
- 'URL' => make_index_url(
- array(
- 'category' => $row['category_id'],
- 'cat_name' => $row['cat_name'],
- )
- ),
- 'NAME' => get_cat_display_name_cache($row['uppercats'], null, false),
- 'CAPTION_NB_IMAGES' => (($row['nb_images'] == 0) ? '' : sprintf("%d ".l10n('pictures'), $row['nb_images'])),
- 'DESCRIPTION' => $comment,
- )
- );
- }
-
- $template->assign_var_from_handle('CATEGORIES', 'mainpage_categories');
-}
-else
-{
- $template->set_filenames( array( 'thumbnails' => 'thumbnails.tpl',));
- // template thumbnail initialization
- if (mysql_num_rows($result) > 0)
- {
- $template->assign_block_vars('thumbnails', array());
- // first line
- $template->assign_block_vars('thumbnails.line', array());
- // current row displayed
- $row_number = 0;
- }
-
- $old_level_separator = $conf['level_separator'];
- $conf['level_separator'] = '<br />';
- // for each category, we have to search a recent picture to display and
- // the name to display
- while ( $row = mysql_fetch_array( $result ) )
- {
- $template->assign_block_vars(
- 'thumbnails.line.thumbnail',
- array(
- 'IMAGE' => get_thumbnail_src($row['path'], @$row['tn_ext']),
- 'IMAGE_ALT' => $row['file'],
- 'IMAGE_TITLE' => $lang['hint_category'],
-
- 'U_IMG_LINK' => make_index_url(
- array(
- 'category' => $row['category_id'],
- 'cat_name' => $row['cat_name'],
- )
- ),
- )
- );
-
- $template->assign_block_vars(
- 'thumbnails.line.thumbnail.category_name',
- array(
- 'NAME' => get_cat_display_name_cache($row['uppercats'], null, false),
- )
- );
-
- // create a new line ?
- if (++$row_number == $user['nb_image_line'])
- {
- $template->assign_block_vars('thumbnails.line', array());
- $row_number = 0;
- }
- }
- $conf['level_separator'] = $old_level_separator;
- $template->assign_var_from_handle('THUMBNAILS', 'thumbnails');
-}
-?> \ No newline at end of file
diff --git a/include/section_init.inc.php b/include/section_init.inc.php
index d451c3781..8d0525422 100644
--- a/include/section_init.inc.php
+++ b/include/section_init.inc.php
@@ -359,13 +359,13 @@ SELECT image_id
$page['thumbnails_include'] =
$result['nb_images'] > 0
? 'include/category_default.inc.php'
- : 'include/category_subcats.inc.php';
+ : 'include/category_cats.inc.php';
} //otherwise the calendar will requery all subitems
}
else
{
$page['title'] = $lang['no_category'];
- $page['thumbnails_include'] = 'include/category_subcats.inc.php';
+ $page['thumbnails_include'] = 'include/category_cats.inc.php';
}
}
// special sections
@@ -534,7 +534,7 @@ SELECT DISTINCT(id)
$page,
array(
'title' => $lang['recent_cats_cat'],
- 'thumbnails_include' => 'include/category_recent_cats.inc.php',
+ 'thumbnails_include' => 'include/category_cats.inc.php',
)
);
}