diff options
author | rvelices <rv-github@modusoptimus.com> | 2006-11-08 03:01:28 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2006-11-08 03:01:28 +0000 |
commit | e44f0b01549d3a52c5b261767c6531044d09a1a1 (patch) | |
tree | e3ec12a6eb2262cf098575413e28bfe97689491d | |
parent | 8f52e36a6fdb362e204cfec4b865b0cee5735fbf (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.php | 25 | ||||
-rw-r--r-- | include/category_cats.inc.php (renamed from include/category_subcats.inc.php) | 132 | ||||
-rw-r--r-- | include/category_recent_cats.inc.php | 162 | ||||
-rw-r--r-- | include/section_init.inc.php | 6 |
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', ) ); } |