diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/category_default.inc.php | 4 | ||||
-rw-r--r-- | include/config.inc.php | 15 | ||||
-rw-r--r-- | include/functions_category.inc.php | 19 |
3 files changed, 34 insertions, 4 deletions
diff --git a/include/category_default.inc.php b/include/category_default.inc.php index 9ecc4bded..983ec66be 100644 --- a/include/category_default.inc.php +++ b/include/category_default.inc.php @@ -120,7 +120,9 @@ while ($row = mysql_fetch_array($result)) ) ); - if ($conf['show_comments'] and $user['show_nb_comments']) + if ($user['show_nb_comments'] + and is_numeric($page['cat']) + and $page['cat_commentable']) { $query = ' SELECT COUNT(*) AS nb_comments diff --git a/include/config.inc.php b/include/config.inc.php index c60c46ca5..4d9d0428d 100644 --- a/include/config.inc.php +++ b/include/config.inc.php @@ -167,4 +167,19 @@ $conf['show_queries'] = false; // show_gt : display generation time at the bottom of each page $conf['show_gt'] = true; + +// Default options for new categories. +// +// Some options for categories (commentable, uploadable, status, visible) +// must be set directly in the database by changing the corresponding +// default values of the column. Examples : +// +// ALTER TABLE phpwebgallery_categories ALTER visible SET DEFAULT 'true'; +// ALTER TABLE phpwebgallery_categories ALTER status SET DEFAULT 'private'; +// ALTER TABLE phpwebgallery_categories ALTER uploadable SET DEFAULT 'true'; +// ALTER TABLE phpwebgallery_categories ALTER commentable SET DEFAULT 'false'; +// +// MySQL default values are used when inserting a row and that no value is +// given for the column. In PhpWebGallery, the above columns are not valued +// during categories insertion, so default values are important. ?> diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php index 569115479..ffbabbe35 100644 --- a/include/functions_category.inc.php +++ b/include/functions_category.inc.php @@ -308,7 +308,7 @@ function get_cat_info( $id ) { $infos = array( 'nb_images','id_uppercat','comment','site_id','galleries_url' ,'dir','date_last','uploadable','status','visible' - ,'representative_picture_id','uppercats' ); + ,'representative_picture_id','uppercats','commentable' ); $query = 'SELECT '.implode( ',', $infos ); $query.= ' FROM '.CATEGORIES_TABLE.' AS a'; @@ -454,6 +454,7 @@ function initialize_category( $calling_page = 'category' ) $page['cat_nb_images'] = $result['nb_images']; $page['cat_site_id'] = $result['site_id']; $page['cat_uploadable'] = $result['uploadable']; + $page['cat_commentable'] = $result['commentable']; $page['uppercats'] = $result['uppercats']; $page['title'] = get_cat_display_name( $page['cat_name'],' - ','',false); $page['where'] = ' WHERE category_id = '.$page['cat']; @@ -911,7 +912,8 @@ function get_first_non_empty_cat_id( $id_uppercat ) function display_select_categories($categories, $indent, $selecteds, - $blockname) + $blockname, + $CSS_classes) { global $template,$user; @@ -925,17 +927,28 @@ function display_select_categories($categories, $selected = ' selected="selected"'; } + $class = ''; + foreach (array_keys($CSS_classes) as $CSS_class) + { + if (in_array($category['id'], $CSS_classes[$CSS_class])) + { + $class = $CSS_class; + } + } + $template->assign_block_vars( $blockname, array('SELECTED'=>$selected, 'VALUE'=>$category['id'], + 'CLASS'=>$class, 'OPTION'=>$indent.'- '.$category['name'] )); display_select_categories($category['subcats'], $indent.str_repeat(' ',3), $selecteds, - $blockname); + $blockname, + $CSS_classes); } } } |