public function select_category_multi($args)
 {
     extract($args);
     unset($catids, $catnames);
     $categoriesParents = ui::getCategories();
     if (count($categoriesParents) > 0) {
         foreach ($categoriesParents as $key => $value) {
             $catids[] = $key;
             $catnames[] = $value;
         }
     }
     $activeoptions = is_array(option::get($id)) ? option::get($id) : array();
     $out .= "<label>{$name}</label>";
     $out .= "<select id=\"s_{$id}\" multiple=\"true\" name=\"" . $id . "[]\" style=\"height: 150px\">";
     $out .= "<option value=\"0\"";
     $out .= in_array(0, $activeoptions) ? ' selected="selected"' : '';
     $out .= '> - select a category -';
     $out .= "</option>";
     if (count($catids) > 0) {
         foreach ($catids as $key => $val) {
             $out .= "<option value=\"{$val}\"";
             if (in_array($val, $activeoptions)) {
                 $out .= ' selected="selected"';
             }
             $out .= ">" . $catnames[$key];
             $out .= '</option>';
         }
     }
     $out .= "</select>";
     $out .= "<p>{$desc}</p>";
     return $out;
 }