コード例 #1
0
function prepare_dynamic_fields_for_display($DB, $form_name, $admin_status, $all_values, $disabled, $edit)
{
    global $field_properties, $field_types_table, $perm_admin;
    $quoted_form_name = $DB->qstr($form_name, get_magic_quotes_gpc());
    $query = "SELECT *\n\t\t\t  FROM {$field_types_table}\n\t\t\t  WHERE field_form={$quoted_form_name}\n\t\t\t  ORDER BY field_index";
    $result =& $DB->Execute($query);
    $dyn_fields = array();
    $extra = $edit ? 1 : 0;
    if (!$result) {
        return false;
    }
    while (!$result->EOF) {
        $field_id = $result->fields['field_id'];
        // disable admin fields when logged as member
        if ($admin_status != 1 && $result->fields['field_perm'] == $perm_admin) {
            $disabled[$field_id] = 'disabled';
        }
        $cur_fields =& $result->fields;
        $cur_fields['field_name'] = _T($cur_fields['field_name']);
        $properties = $field_properties[$result->fields['field_type']];
        if ($properties['multi_valued']) {
            if ($cur_fields['field_repeat'] == 0) {
                // Infinite multi-valued field
                if (isset($all_values[$cur_fields['field_id']])) {
                    $nb_values = count($all_values[$cur_fields['field_id']]);
                } else {
                    $nb_values = 0;
                }
                if (isset($all_values)) {
                    $cur_fields['field_repeat'] = $nb_values + $extra;
                } else {
                    $cur_fields['field_repeat'] = 1;
                }
            }
        } else {
            $cur_fields['field_repeat'] = 1;
            if ($properties['fixed_values']) {
                $cur_fields['choices'] = get_fixed_values($DB, $field_id);
            }
        }
        $dyn_fields[] = $cur_fields;
        $result->MoveNext();
    }
    $result->Close();
    return $dyn_fields;
}
コード例 #2
0
    $query = "SELECT *\n\t\t\t  FROM {$field_types_table}\n\t\t\t  WHERE field_id={$field_id}";
    $result = db_execute($DB, $query, $error_detected);
    if ($result != false) {
        $field_name = $result->fields['field_name'];
        $field_type = $result->fields['field_name'];
        $field_perm = $result->fields['field_perm'];
        $field_pos = $result->fields['field_pos'];
        $field_required = $result->fields['field_required'];
        $field_width = $result->fields['field_width'];
        $field_height = $result->fields['field_height'];
        $field_repeat = $result->fields['field_repeat'];
        $field_size = $result->fields['field_size'];
        $result->Close();
        $fixed_values = '';
        if ($properties['fixed_values']) {
            foreach (get_fixed_values($DB, $field_id) as $val) {
                $fixed_values .= "{$val}\n";
            }
        }
    }
    // $result != false
}
$data['id'] = $field_id;
$data['name'] = htmlentities($field_name, ENT_QUOTES);
$data['perm'] = $field_perm;
$data['pos'] = $field_pos;
$data['required'] = $field_required == '1';
$data['width'] = $field_width;
$data['height'] = $field_height;
$data['repeat'] = $field_repeat;
$data['size'] = $field_size;