Changeset 3171


Ignore:
Timestamp:
Mar 4, 2009, 10:49:21 PM (15 years ago)
Author:
patdenice
Message:

Remove get_html_menu_category function and use smarty abilities.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/functions_category.inc.php

    r3049 r3171  
    101101  $result = pwg_query($query);
    102102  $cats = array();
     103  $selected_category = isset($page['category']) ? $page['category'] : null;
    103104  while ($row = mysql_fetch_assoc($result))
    104105  {
     106    $child_date_last = @$row['max_date_last']> @$row['date_last'];
     107    $row = array_merge($row,
     108      array(
     109        'NAME' => trigger_event(
     110          'render_category_name',
     111          $row['name'],
     112          'get_categories_menu'
     113        ),
     114        'TITLE' => get_display_images_count(
     115          $row['nb_images'],
     116          $row['count_images'],
     117          $row['count_categories'],
     118          false,
     119          ' / '
     120        ),
     121        'URL' => make_index_url(array('category' => $row)),
     122        'LEVEL' => substr_count($row['global_rank'], '.') + 1,
     123        'ICON_TS' => get_icon($row['max_date_last'], $child_date_last),
     124        'SELECTED' => $selected_category['id'] == $row['id'] ? true : false,
     125        'IS_UPPERCAT' => $selected_category['id_uppercat'] == $row['id'] ? true : false,
     126      )
     127    );
    105128    array_push($cats, $row);
    106129    if ($row['id']==@$page['category']['id']) //save the number of subcats for later optim
     
    115138  }
    116139
    117   return get_html_menu_category($cats, @$page['category'] );
     140  return $cats;
    118141}
    119142
  • trunk/include/functions_html.inc.php

    r3126 r3171  
    375375
    376376/**
    377  * returns the HTML code for a category item in the menu (for the main page)
    378  *
    379  * HTML code generated uses logical list tags ul and each category is an
    380  * item li. The paramter given is the category informations as an array,
    381  * used keys are : id, name, nb_images, max_date_last, date_last
    382  * count_images, count_categories
    383  *
    384  * @param array categories
    385  * @return string
    386  */
    387 function get_html_menu_category($categories, $selected_category)
    388 {
    389   $ref_level = 0;
    390   $level = 0;
    391 
    392   $menu = trigger_event('get_html_menu_category', '',
    393             $categories, $selected_category);
    394   if (strlen($menu))
    395   {
    396     return $menu;
    397   }
    398 
    399   foreach ($categories as $category)
    400   {
    401     $level = substr_count($category['global_rank'], '.') + 1;
    402     if ($level > $ref_level)
    403     {
    404       $menu.= "\n<ul>";
    405     }
    406     else if ($level == $ref_level)
    407     {
    408       $menu.= "\n</li>";
    409     }
    410     else if ($level < $ref_level)
    411     {
    412       // we may have to close more than one level at the same time...
    413       $menu.= "\n</li>";
    414       $menu.= str_repeat("\n</ul></li>",($ref_level-$level));
    415     }
    416     $ref_level = $level;
    417 
    418     $menu.= "\n\n".'<li';
    419     if ($category['id'] == @$selected_category['id'])
    420     {
    421       $menu.= ' class="selected"';
    422     }
    423     $menu.= '>';
    424 
    425     $url = make_index_url(
    426             array(
    427               'category' => $category
    428               )
    429             );
    430 
    431     $title = get_display_images_count
    432                 (
    433                   $category['nb_images'],
    434                   $category['count_images'],
    435                   $category['count_categories'],
    436                   false,
    437                   ' / '
    438                 );
    439 
    440     $menu.= '<a href="'.$url.'"';
    441     if ($selected_category!=null
    442         and $category['id'] == $selected_category['id_uppercat'])
    443     {
    444       $menu.= ' rel="up"';
    445     }
    446     $menu.= ' title="'.$title.'">';
    447     $menu.= trigger_event(
    448       'render_category_name',
    449       $category['name'],
    450       'get_html_menu_category'
    451       );
    452     $menu.= '</a>';
    453 
    454     if ( $category['count_images']>0 )
    455     {// at least one direct or indirect image
    456       $menu.= "\n".'<span class="';
    457       // at least one image in this category -> class menuInfoCat
    458       $menu.= ($category['nb_images'] > 0 ? "menuInfoCat"
    459                                           : "menuInfoCatByChild").'"';
    460       $menu.= ' title=" '.$title.'">';
    461       // show total number of images
    462       $menu.= '['.$category['count_images'].']';
    463       $menu.= '</span>';
    464     }
    465     $child_date_last = @$category['max_date_last']> @$category['date_last'];
    466     $menu.= get_icon($category['max_date_last'], $child_date_last);
    467   }
    468 
    469   $menu.= str_repeat("\n</li></ul>",($level));
    470 
    471   return $menu;
    472 }
    473 
    474 /**
    475377 * returns HTMLized comment contents retrieved from database
    476378 *
  • trunk/include/menubar.inc.php

    r3049 r3171  
    102102    $block->data = array(
    103103      'NB_PICTURE' => $user['nb_total_images'],
    104       'MENU_CATEGORIES_CONTENT' => get_categories_menu(),
     104      'MENU_CATEGORIES' => get_categories_menu(),
    105105      'U_CATEGORIES' => make_index_url(array('section' => 'categories')),
    106106      'U_UPLOAD' => get_upload_menu_link()
  • trunk/template/yoga/menubar_categories.tpl

    r2710 r3171  
    99</dt>
    1010<dd>
    11         {$block->data.MENU_CATEGORIES_CONTENT}
     11{assign var='ref_level' value=0}
     12{foreach from=$block->data.MENU_CATEGORIES item=cat}
     13  {if $cat.LEVEL > $ref_level}
     14  <ul>
     15  {else}
     16    </li>
     17    {'</ul></li>'|@str_repeat:$ref_level-$cat.LEVEL}
     18  {/if}
     19    <li {if $cat.SELECTED}class="selected"{/if}>
     20      <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if} title="{$cat.TITLE}">{$cat.NAME}</a>
     21      {if $cat.count_images > 0}
     22      <span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if}" title="{$cat.TITLE}">[{$cat.count_images}]</span>
     23      {/if}
     24      {$cat.ICON_TS}
     25  {assign var='ref_level' value=$cat.LEVEL}
     26{/foreach}
     27{'</li></ul>'|@str_repeat:$ref_level}
     28
    1229        {if isset($block->data.U_UPLOAD)}
    1330        <ul>
Note: See TracChangeset for help on using the changeset viewer.