new: MOD subcatify integrated. On main page, thumbnails representing a

category are not displayed the same way as thumbnails representing a
picture. Feedback welcomed on this feature.


git-svn-id: http://piwigo.org/svn/trunk@1130 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall
2006-04-05 23:08:37 +00:00
parent e59772b8df
commit b9a37cd6f0
4 changed files with 113 additions and 60 deletions
+24 -31
View File
@@ -31,15 +31,26 @@
*
*/
// 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,tn_ext
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)';
SELECT c.id AS category_id
, uppercats
, representative_picture_id
, path
, file
, c.comment
, tn_ext
, nb_images
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.= '
@@ -52,47 +63,29 @@ $result = pwg_query( $query );
// 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;
$template->assign_block_vars('categories', array());
}
$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',
'categories.category',
array(
'IMAGE' => get_thumbnail_src($row['path'], @$row['tn_ext']),
'IMAGE_ALT' => $row['file'],
'IMAGE_TITLE' => $lang['hint_category'],
'SRC' => get_thumbnail_src($row['path'], @$row['tn_ext']),
'ALT' => $row['file'],
'TITLE' => $lang['hint_category'],
'U_IMG_LINK' => make_index_url(
'URL' => make_index_url(
array(
'category' => $row['category_id'],
)
),
)
);
$template->assign_block_vars(
'thumbnails.line.thumbnail.category_name',
array(
'NAME' => get_cat_display_name_cache($row['uppercats'], null, false),
'NB_IMAGES' => $row['nb_images'],
'DESCRIPTION' => @$row['comment'],
)
);
// 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;
?>
+14 -28
View File
@@ -32,7 +32,7 @@
*/
$query = '
SELECT id, name, date_last, representative_picture_id
SELECT id, name, date_last, representative_picture_id, comment, nb_images
FROM '.CATEGORIES_TABLE.'
WHERE id_uppercat '.
(!isset($page['category']) ? 'is NULL' : '= '.$page['category']).'
@@ -98,7 +98,9 @@ SELECT representative_picture_id
'category' => $row['id'],
'picture' => $image_id,
'name' => $row['name'],
'date_last' => @$row['date_last']
'date_last' => @$row['date_last'],
'comment' => @$row['comment'],
'nb_images' => $row['nb_images'],
)
);
}
@@ -126,44 +128,28 @@ SELECT id, path, tn_ext
$images[$row['id']] = get_thumbnail_src($row['path'], @$row['tn_ext']);
}
$template->assign_block_vars('thumbnails', array());
// first line
$template->assign_block_vars('thumbnails.line', array());
// current row displayed
$row_number = 0;
$template->assign_block_vars('categories', array());
foreach ($cat_thumbnails as $item)
{
$template->assign_block_vars(
'thumbnails.line.thumbnail',
'categories.category',
array(
'IMAGE' => $images[$item['picture']],
'IMAGE_ALT' => $item['name'],
'IMAGE_TITLE' => $lang['hint_category'],
'IMAGE_TS' => get_icon(@$item['date_last']),
'SRC' => $images[$item['picture']],
'ALT' => $item['name'],
'TITLE' => $lang['hint_category'],
'ICON' => get_icon(@$item['date_last']),
'U_IMG_LINK' => make_index_url(
'URL' => make_index_url(
array(
'category' => $item['category'],
)
),
'CLASS' => 'thumbCat',
'NAME' => $item['name'],
'NB_IMAGES' => $item['nb_images'],
'DESCRIPTION' => @$item['comment'],
)
);
$template->assign_block_vars(
'thumbnails.line.thumbnail.category_name',
array(
'NAME' => $item['name']
)
);
// create a new line ?
if (++$row_number == $user['nb_image_line'])
{
$template->assign_block_vars('thumbnails.line', array());
$row_number = 0;
}
}
}
?>