diff options
Diffstat (limited to '')
-rw-r--r-- | include/category_recent_cats.inc.php | 106 | ||||
-rw-r--r-- | include/category_subcats.inc.php | 130 | ||||
-rw-r--r-- | include/config_default.inc.php | 4 | ||||
-rw-r--r-- | template/yoga/index.tpl | 28 | ||||
-rw-r--r-- | template/yoga/mainpage_categories.tpl | 27 |
5 files changed, 206 insertions, 89 deletions
diff --git a/include/category_recent_cats.inc.php b/include/category_recent_cats.inc.php index b3d86ed91..44494c9df 100644 --- a/include/category_recent_cats.inc.php +++ b/include/category_recent_cats.inc.php @@ -60,32 +60,92 @@ $query.= ' ;'; $result = pwg_query( $query ); -// template thumbnail initialization -if (mysql_num_rows($result) > 0) +if ($conf['subcatify']) { - $template->assign_block_vars('categories', array()); -} - -// 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', + $template->set_filenames( 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'], - ) - ), - 'NAME' => get_cat_display_name_cache($row['uppercats'], null, false), - 'NB_IMAGES' => $row['nb_images'], - 'DESCRIPTION' => @$row['comment'], + 'mainpage_categories' => 'mainpage_categories.tpl', ) ); + + // template thumbnail initialization + if (mysql_num_rows($result) > 0) + { + $template->assign_block_vars('categories', array()); + } + + // 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'], + ) + ), + 'NAME' => get_cat_display_name_cache($row['uppercats'], null, false), + 'NB_IMAGES' => $row['nb_images'], + 'DESCRIPTION' => @$row['comment'], + ) + ); + } + + $template->assign_var_from_handle('CATEGORIES', 'mainpage_categories'); +} +else +{ + // 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'], + ) + ), + ) + ); + + $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; } ?>
\ No newline at end of file diff --git a/include/category_subcats.inc.php b/include/category_subcats.inc.php index 8deef5711..f8eb27f9c 100644 --- a/include/category_subcats.inc.php +++ b/include/category_subcats.inc.php @@ -43,7 +43,8 @@ $result = pwg_query($query); // $conf['allow_random_representative'] -$cat_thumbnails = array(); +$categories = array(); +$image_ids = array(); while ($row = mysql_fetch_array($result)) { @@ -91,72 +92,123 @@ SELECT representative_picture_id } $comment = null; - if ( isset($row['comment']) ) + if (isset($row['comment'])) { - $comment = strip_tags( $row['comment'] ); + $comment = strip_tags($row['comment']); } if (isset($image_id)) { array_push( - $cat_thumbnails, + $categories, array( - 'category' => $row['id'], - 'picture' => $image_id, - 'name' => $row['name'], - 'date_last' => @$row['date_last'], - 'comment' => $comment, - 'nb_images' => $row['nb_images'], + 'category' => $row['id'], + 'picture' => $image_id, + 'name' => $row['name'], + 'date_last' => @$row['date_last'], + 'comment' => $comment, + 'nb_images' => $row['nb_images'], ) ); + + array_push($image_ids, $image_id); } unset($image_id); } -if (count($cat_thumbnails) > 0) +if (count($image_ids) > 0) { - $images = array(); - - foreach ($cat_thumbnails as $item) - { - $images[$item['picture']] = ''; - } + $thumbnail_src_of = array(); $query = ' SELECT id, path, tn_ext FROM '.IMAGES_TABLE.' - WHERE id IN ('.implode(',', array_keys($images)).') + WHERE id IN ('.implode(',', $image_ids).') ;'; $result = pwg_query($query); while ($row = mysql_fetch_array($result)) { - $images[$row['id']] = get_thumbnail_src($row['path'], @$row['tn_ext']); + $thumbnail_src_of[$row['id']] = + get_thumbnail_src($row['path'], @$row['tn_ext']); } - - $template->assign_block_vars('categories', array()); - - foreach ($cat_thumbnails as $item) + + if ($conf['subcatify']) { - $template->assign_block_vars( - 'categories.category', + $template->set_filenames( array( - 'SRC' => $images[$item['picture']], - 'ALT' => $item['name'], - 'TITLE' => $lang['hint_category'], - 'ICON' => get_icon(@$item['date_last']), - - 'URL' => make_index_url( - array( - 'category' => $item['category'], - 'cat_name' => $item['name'], - ) - ), - 'NAME' => $item['name'], - 'NB_IMAGES' => $item['nb_images'], - 'DESCRIPTION' => @$item['comment'], + 'mainpage_categories' => 'mainpage_categories.tpl', ) ); + + $template->assign_block_vars('categories', array()); + + foreach ($categories as $category) + { + $template->assign_block_vars( + 'categories.category', + array( + 'SRC' => $thumbnail_src_of[ $category['picture'] ], + 'ALT' => $category['name'], + 'TITLE' => $lang['hint_category'], + 'ICON' => get_icon(@$category['date_last']), + + 'URL' => make_index_url( + array( + 'category' => $category['category'], + 'cat_name' => $category['name'], + ) + ), + 'NAME' => $category['name'], + 'NB_IMAGES' => $category['nb_images'], + 'DESCRIPTION' => @$category['comment'], + ) + ); + } + + $template->assign_var_from_handle('CATEGORIES', 'mainpage_categories'); + } + else + { + $template->assign_block_vars('thumbnails', array()); + // first line + $template->assign_block_vars('thumbnails.line', array()); + // current row displayed + $row_number = 0; + + foreach ($categories as $category) + { + $template->assign_block_vars( + 'thumbnails.line.thumbnail', + array( + 'IMAGE' => $thumbnail_src_of[ $category['picture'] ], + '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'], + ) + ), + 'CLASS' => 'thumbCat', + ) + ); + + $template->assign_block_vars( + 'thumbnails.line.thumbnail.category_name', + array( + 'NAME' => $category['name'] + ) + ); + + // create a new line ? + if (++$row_number == $user['nb_image_line']) + { + $template->assign_block_vars('thumbnails.line', array()); + $row_number = 0; + } + } } } ?>
\ No newline at end of file diff --git a/include/config_default.inc.php b/include/config_default.inc.php index 655b13d76..ee55461bf 100644 --- a/include/config_default.inc.php +++ b/include/config_default.inc.php @@ -168,6 +168,10 @@ $conf['show_thumbnail_caption'] = true; // name ? $conf['show_picture_name_on_title'] = true; +// subcatify: display thumbnails representing a category a different way +// than thumbnails representing a picture. +$conf['subcatify'] = true; + // allow_random_representative : do you wish PhpWebGallery to search among // categories elements a new representative at each reload ? // diff --git a/template/yoga/index.tpl b/template/yoga/index.tpl index 062a99061..35d65f6fd 100644 --- a/template/yoga/index.tpl +++ b/template/yoga/index.tpl @@ -231,33 +231,7 @@ </ul> <!-- END thumbnails --> -<!-- BEGIN categories --> -<ul class="thumbnailCategories"> - <!-- BEGIN category --> - <li> - <div class="thumbnailCategory"> - <div class="illustration"> - <a href="{categories.category.URL}"> - <img src="{categories.category.SRC}" - alt="{categories.category.ALT}" - title="{categories.category.TITLE}"> - </a> - </div> - <div class="description"> - <h3> - {categories.category.ICON} - <a href="{categories.category.URL}">{categories.category.NAME}</a> - </h3> - <p>{categories.category.NB_IMAGES} {lang:pictures}</p> - <p>{categories.category.DESCRIPTION}</p> - </div> - <hr class="separation" /> - </div> - </li> - <!-- END category --> -</ul> -<hr class="separation" /> -<!-- END categories --> +{CATEGORIES} <!-- BEGIN cat_infos --> <!-- BEGIN navigation --> diff --git a/template/yoga/mainpage_categories.tpl b/template/yoga/mainpage_categories.tpl new file mode 100644 index 000000000..de0ed498e --- /dev/null +++ b/template/yoga/mainpage_categories.tpl @@ -0,0 +1,27 @@ +<!-- BEGIN categories --> +<ul class="thumbnailCategories"> + <!-- BEGIN category --> + <li> + <div class="thumbnailCategory"> + <div class="illustration"> + <a href="{categories.category.URL}"> + <img src="{categories.category.SRC}" + alt="{categories.category.ALT}" + title="{categories.category.TITLE}"> + </a> + </div> + <div class="description"> + <h3> + {categories.category.ICON} + <a href="{categories.category.URL}">{categories.category.NAME}</a> + </h3> + <p>{categories.category.NB_IMAGES} {lang:pictures}</p> + <p>{categories.category.DESCRIPTION}</p> + </div> + <hr class="separation" /> + </div> + </li> + <!-- END category --> +</ul> +<hr class="separation" /> +<!-- END categories --> |