Example #1
0
 private function displayCats($cats, &$subtable, $class = false, $id = false, $jscript = false, $style = false, &$cat_selection = false, &$subtable_fields = false, &$concat_char = false, &$input_type = false, &$aux_table_name = false, &$as_popup = false)
 {
     global $CFG;
     if ($cats) {
         $class = $class ? $class : 'class="cats_ul"';
         $HTML = "<ul {$class}>";
         foreach ($cats as $cat) {
             if (!is_array($subtable_fields)) {
                 $cat_name = $cat['row']['name'];
             } else {
                 $cat_name = '';
                 $concat_char = empty($concat_char) ? ' ' : $concat_char;
                 $c = strlen($concat_char);
                 foreach ($subtable_fields as $field) {
                     $cat_name .= $cat['row'][$field] . $concat_char;
                 }
                 $cat_name = substr($cat_name, 0, -$c);
             }
             $cat_id = $cat['row']['id'];
             $checked = @in_array($cat_id, $cat_selection) ? 'checked="checked"' : '';
             $jscript = $CFG->in_faux_select ? 'onclick="fauxMultiSelect(this,event)"' : '';
             $class1 = $CFG->in_faux_select ? 'faux_check' : '';
             if (!$input_type) {
                 $HTML .= "<li onclick=\"formCatSelect(this,event," . ($as_popup ? '1' : '0') . ",'" . $CFG->grid_n_selected . "','" . $CFG->grid_click_to_select . "')\"><label for=\"{$this->name}_{$id}_{$cat_id}\">{$cat_name}</label><input type=\"checkbox\" class=\"checkbox_input {$class1}\" name=\"{$this->name}[cat_selects][{$subtable}][{$cat_id}]\" value=\"{$cat_id}\" id=\"{$this->name}_{$id}_{$cat_id}\" " . $jscript . " {$style} {$checked} /></li>";
             } else {
                 $HTML .= "<li><label class=\"cat_text_label\" for=\"{$this->name}_{$id}_{$cat_id}\">{$cat_name}</label><input type=\"text\" class=\"cat_text narrow {$class1}\" name=\"{$this->name}[cat_selects][{$aux_table_name}][{$cat_id}]\" value=\"" . $cat_selection[$cat_id] . "\" id=\"{$this->name}_{$id}_{$cat_id}\" " . $jscript . " {$style} /></li>";
             }
             if (is_array($cat['children'])) {
                 $HTML .= Form::displayCats($cat['children'], $subtable, $class, $id, $jscript, $style, $cat_selection, $subtable_fields, $concat_char, $input_type, $aux_table_name, $as_popup);
             }
         }
         $HTML .= '</ul>';
         return $HTML;
     }
 }