May I suggest a little bit different?

/**
* Return a themed list of items.
*
* @param $items
*   An array of items to be displayed in the list.
* @param $title
*   The (optional) title of the list.
* @return
*   A string containing the list output.
*/
function theme_item_list($items = array(), $title = NULL, $type =
'unordered list') {
   $class = '';
   $output = '';

   if (isset($items)) {
     switch($type) {
       case 'unordered list':
       case 'ul':
         $list .= '<ul>';
         foreach ($items as $item) {
           $list .= '<li>'. $item .'</li>';
         }
         $list .= '</ul>';
         $class = 'unordered-list';
         break;

       case 'ordered list':
       case 'ol':
         $list .= '<ol>';
         foreach ($items as $item) {
           $list .= '<li>'. $item .'</li>';
         }
         $list .= '</ol>';
         $class = 'ordered-list';
         break;

       case 'definition list':
       case 'dl':
         $list .= '<dl>';
         foreach ($items as $item) {
           $list .= '<dt>'. $item .'</dt>';
         }
         $list .= '</dl>';
         $class = 'definition-list';
         break;
     }

   if (isset($title)) {
     $output .= '<h3>'. $title .'</h3>';
   }

   $output .= '<div class="'. $class .'">'. $list .'</div>';

   return $output;
}

Reasons:
* E_ALL Compilant
* break was missing
* good for types 'ul'-like (like I prefer) and 'ordered list'-like (like you prefer)

btw... shouldnt there be a way to changing the class name? just a tought...

Regards,
- Sergio

On 10/18/05, drupal-devel-owner@drupal.org < drupal-devel-owner@drupal.org> wrote:
Op 18-okt-2005, om 16:45 heeft drupal-devel@drupal.org het volgende
geschreven:
> User: dries    Branch: HEAD    Date: Tue, 18 Oct 2005 14:45:09 +0000
>
> Modified files:
>   /includes theme.inc
>
> Log message:
>   - Patch #32573 by Moshe: added support for ordered lists to
> theme_item_list().
>
> Links:
>   http://cvs.drupal.org/diff.php?path=drupal/includes/
> theme.inc&old=1.261&new=1.262
>
> --
> [ Drupal cvs list | http://list.drupal.org/ ]
>
>

I do not, and I repeat _not_ like this approach!

A nicer solution would imo be:

/**
* Return a themed list of items.
*
* @param $items
*   An array of items to be displayed in the list.
* @param $title
*   The (optional) title of the list.
* @return
*   A string containing the list output.
*/
function theme_item_list($items = array(), $title = NULL, $type =
'unordered list') {
   $class = str_replace('-', ' ', $type);

   if (isset($items)) {
     switch($type) {
       case 'unordered list':
         $list .= '<ul>';
         foreach ($items as $item) {
           $list .= '<li>'. $item .'</li>';
         }
         $list .= '</ul>';

       case 'ordered list':
         $list .= '<ol>';
         foreach ($items as $item) {
           $list .= '<li>'. $item .'</li>';
         }
         $list .= '</ol>';

       case 'definition list':
         $list .= '<dl>';
         foreach ($items as $item) {
           $list .= '<dt>'. $item .'</dt>';
         }
         $list .= '</dl>';
     }

   if (isset($title)) {
     $output .= '<h3>'. $title .'</h3>';
   }

   $output .= '<div class="'. $class .'">'. $list .'</div>';

   return $output;
}


Isn't something like this nicer? And, easier to use?




Steef

---
Stefan Nagtegaal
Drupal-Devel@iStyledThis.nl
Drupal Development Mailinglist