aboutsummaryrefslogtreecommitdiffstats
path: root/include/category_subcats.inc.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/category_cats.inc.php (renamed from include/category_subcats.inc.php)132
1 files changed, 79 insertions, 53 deletions
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');
}
}