The current version 1.2 has a problem.

It uses a variable $name which is unset after the routine..this unsets $name used in the contact us page to pre-populate the name field when a client is logged in.

I suggest this change from
PHP Code:
    while (!$categories_ap->EOF)  {
        
$id $categories_ap->fields['categories_id'];
        
$name $categories_ap->fields['categories_name'];
          
$add_content .= '<li><a href="' zen_href_link(FILENAME_DEFAULT'&cPath='.$id) . '">'.$name.'</a></li>' "\n";
        
$categories_ap->MoveNext();
    }
    
$add_content .= '</ul>';
//debug echo $add_content; 
    
unset($name); 
to
PHP Code:
    while (!$categories_ap->EOF)  {
        
$categories_id $categories_ap->fields['categories_id'];
    
$categories_name $categories_ap->fields['categories_name'];
    
$add_content .= '<li><a href="' zen_href_link(FILENAME_DEFAULT'&cPath='.$categories_id) . '"><span class="catSpan">'.$categories_name.'</span></a></li>' "\n";
    
$categories_ap->MoveNext();
    }
    
$add_content .= '</ul>';

//echo $add_content;//debug to check query is ok 
    //unset($categories_name);//was $name but overwrote $name in contact_us