$top_children) { if ($top_branch == 'config') { $config_array = $top_children; } elseif ($top_branch == 'fields') { $fields_array = $top_children; } } } if (cacti_sizeof($fields_array)) { if (!isset($config_array['no_form_tag'])) { print "
\n"; } $i = 0; $row_class = 'odd'; foreach ($fields_array as $field_name => $field_array) { if ($field_array['method'] == 'hidden') { print ''; } elseif ($field_array['method'] == 'hidden_zero') { print ''; } elseif ($field_array['method'] == 'spacer') { $collapsible = (isset($field_array['collapsible']) && $field_array['collapsible'] == 'true'); print "
" . html_escape($field_array['friendly_name']); print '
' . (isset($field_array['description']) ? display_tooltip($field_array['description']):'') . '
'; print ($collapsible ? "
":'') . '
'; } else { // Make a row using a div if (isset($config_array['force_row_color'])) { print "
"; } else { print "
"; if ($row_class == 'even') { $row_class = 'odd'; } else { $row_class = 'even'; } } // Make a form cell print "
"; print "
"; if (isset($field_array['sub_checkbox'])) { form_checkbox($field_array['sub_checkbox']['name'], $field_array['sub_checkbox']['value'], '', ((isset($field_array['sub_checkbox']['default'])) ? $field_array['sub_checkbox']['default'] : ''), ((isset($field_array['sub_checkbox']['form_id'])) ? $field_array['sub_checkbox']['form_id'] : ''), ((isset($field_array['sub_checkbox']['class'])) ? $field_array['sub_checkbox']['class'] : ''), ((isset($field_array['sub_checkbox']['on_change'])) ? $field_array['sub_checkbox']['on_change'] : ''), ((isset($field_array['sub_checkbox']['friendly_name'])) ? $field_array['sub_checkbox']['friendly_name'] : '')); } print html_escape($field_array['friendly_name']); if (read_config_option('hide_form_description') == 'on') { print '
' . ((isset($field_array['description'])) ? $field_array['description'] : '') . "\n"; } else { print '
'; print display_tooltip((isset($field_array['description'])) ? $field_array['description'] : ''); print '
'; } print '
'; // End form cell print '
'; // New form column for content print '
'; draw_edit_control($field_name, $field_array); // End content column print '
'; // End form row print '
'; } $i++; } if (isset($_SESSION['sess_error_fields'])) { kill_session_var('sess_error_fields'); } } } /* draw_edit_control - draws a single control to be used on an html edit form @arg $field_name - the name of the control @arg $field_array - an array containing data for this control. see include/global_form.php for more specific syntax */ function draw_edit_control($field_name, &$field_array) { switch ($field_array['method']) { case 'textbox': form_text_box( $field_name, $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'text', ((isset($field_array['form_id'])) ? $field_array['form_id'] : ''), ((isset($field_array['placeholder'])) ? $field_array['placeholder'] : '') ); break; case 'filepath': form_filepath_box($field_name, $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'text', ((isset($field_array['form_id'])) ? $field_array['form_id'] : '') ); break; case 'dirpath': form_dirpath_box( $field_name, $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'text', ((isset($field_array['form_id'])) ? $field_array['form_id'] : '') ); break; case 'textbox_password': form_text_box( $field_name, $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'password', ((isset($field_array['form_id'])) ? $field_array['form_id'] : ''), '********' ); print '
'; form_text_box( $field_name . '_confirm', $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'password', ((isset($field_array['form_id'])) ? $field_array['form_id'] : ''), '********' ); break; case 'textarea': form_text_area( $field_name, $field_array['value'], $field_array['textarea_rows'], $field_array['textarea_cols'], ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : ''), ((isset($field_array['placeholder'])) ? $field_array['placeholder'] : '') ); break; case 'drop_array': form_dropdown( $field_name, $field_array['array'], '', '', $field_array['value'], ((isset($field_array['none_value'])) ? $field_array['none_value'] : ''), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_language': form_droplanguage( $field_name, '', '', $field_array['value'], ((isset($field_array['none_value'])) ? $field_array['none_value'] : ''), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_files': $array_files = array(); if (isset($field_array['directory'])) { $dir = $field_array['directory']; if (is_dir($dir) && is_readable($dir)) { if (function_exists('scandir')) { $files = scandir($dir); } elseif ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { $files[] = $file; } closedir($dh); } if (cacti_sizeof($files)) { foreach($files as $file) { if (is_readable($dir . '/' . $file) && $file != '.' && $file != '..') { if (!in_array($file, $field_array['exclusions'])) { $array_files[basename($file)] = basename($file); } } } } } } form_dropdown( $field_name, $array_files, '', '', $field_array['value'], ((isset($field_array['none_value'])) ? $field_array['none_value'] : ''), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_sql': form_dropdown( $field_name, db_fetch_assoc($field_array['sql']), 'name', 'id', $field_array['value'], ((isset($field_array['none_value'])) ? $field_array['none_value'] : ''), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_callback': form_callback( $field_name, $field_array['sql'], 'name', 'id', $field_array['action'], $field_array['id'], $field_array['value'], ((isset($field_array['none_value'])) ? $field_array['none_value'] : ''), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_multi': form_multi_dropdown( $field_name, $field_array['array'], (isset($field_array['sql']) ? db_fetch_assoc($field_array['sql']):$field_array['value']), 'id', ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'drop_tree': grow_dropdown_tree( $field_array['tree_id'], '0', $field_name, $field_array['value'] ); break; case 'drop_color': form_color_dropdown( $field_name, $field_array['value'], __('None'), ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); break; case 'checkbox': form_checkbox( $field_name, $field_array['value'], $field_array['friendly_name'], ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['form_id'])) ? $field_array['form_id'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : ''), $field_array['friendly_name'] ); break; case 'checkbox_group': if (isset($field_array['type']) && $field_array['type'] == 'flex') { print "
" . PHP_EOL; } else { print "
" . PHP_EOL; } foreach ($field_array['items'] as $check_name => $check_array) { if (isset($field_array['type']) && $field_array['type'] == 'flex') { print '
'; } form_checkbox( $check_name, $check_array['value'], $check_array['friendly_name'], ((isset($check_array['default'])) ? $check_array['default'] : ''), ((isset($check_array['form_id'])) ? $check_array['form_id'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($check_array['on_change'])) ? $check_array['on_change'] : (((isset($field_array['on_change'])) ? $field_array['on_change'] : ''))), $field_array['friendly_name'], true ); if (isset($field_array['type']) && $field_array['type'] == 'flex') { print '
'; } else { print '
'; } } if (isset($field_array['type']) && $field_array['type'] == 'flex') { print '
' . PHP_EOL; } else { print '
' . PHP_EOL; } break; case 'radio': print "
" . PHP_EOL; foreach ($field_array['items'] as $radio_index => $radio_array) { form_radio_button( $field_name, $field_array['value'], $radio_array['radio_value'], $radio_array['radio_caption'], ((isset($field_array['default'])) ? $field_array['default'] : ''), ((isset($field_array['class'])) ? $field_array['class'] : ''), ((isset($field_array['on_change'])) ? $field_array['on_change'] : '') ); print '
'; } print '
' . PHP_EOL; break; case 'custom': print $field_array['value']; break; case 'template_checkbox': print '' . html_boolean_friendly($field_array['value']) . ''; form_hidden_box($field_name, $field_array['value'], '', true); break; case 'template_drop_array': print '' . $field_array['array'][$field_array['value']] . ''; form_hidden_box($field_name, $field_array['value'], '', true); break; case 'font': form_font_box( $field_name, $field_array['value'], ((isset($field_array['default'])) ? $field_array['default'] : ''), $field_array['max_length'], ((isset($field_array['size'])) ? $field_array['size'] : '40'), 'text', ((isset($field_array['form_id'])) ? $field_array['form_id'] : ''), ((isset($field_array['placeholder'])) ? $field_array['placeholder'] : '') ); break; case 'file': form_file($field_name, ((isset($field_array['size'])) ? $field_array['size'] : '40'), ((isset($field_array['accept'])) ? $field_array['accept'] : '')); break; case 'button': form_button( $field_name, ((isset($field_array['value'])) ? $field_array['value'] : ''), ((isset($field_array['title'])) ? $field_array['title'] : ''), ((isset($field_array['on_click'])) ? $field_array['on_click'] : '') ); break; case 'submit': form_submit( $field_name, ((isset($field_array['value'])) ? $field_array['value'] : ''), ((isset($field_array['title'])) ? $field_array['title'] : ''), ((isset($field_array['on_click'])) ? $field_array['on_click'] : '') ); break; default: if (isset($field_array['value'])) { print '' . html_escape($field_array['value']) . ''; form_hidden_box($field_name, $field_array['value'], '', true); } else { cacti_log('ERROR: Field Name: ' . $field_name . ' includes Method: ' . $field_array['method'] . ' does not include a value \'value\' element.', false); } break; } } /* form_button - draws a standard button form element @arg $form_name - the name of this form element @arg $value - the display value for the button @arg $title - the hover title for the button @arg $action - the onClick action for the button */ function form_button($form_name, $value, $title = '', $action = '') { print ""; } /* form_button - draws a standard button form element @arg $form_name - the name of this form element @arg $value - the display value for the button @arg $title - the hover title for the button @arg $action - the onClick action for the button */ function form_submit($form_name, $value, $title = '', $action = '') { print ""; } /* form_file - draws a standard html file input element @arg $form_name - the name of this form element @arg $form_size - the size (width) of the textbox @arg $form_accept - the file types permitted */ function form_file($form_name, $form_size = 30, $form_accept = '') { print "
\n"; print "\n"; print "\n"; print "\n"; print "
\n"; } /* form_filepath_box - draws a standard html textbox and provides status of a files existence @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_default_value - the value of this form element to use if there is no current value available @arg $form_max_length - the maximum number of characters that can be entered into this textbox @arg $form_size - the size (width) of the textbox @arg $type - the type of textbox, either 'text' or 'password' @arg $current_id - used to determine if a current value for this form element exists or not. a $current_id of '0' indicates that no current value exists, a non-zero value indicates that a current value does exist @arg data - array containing 'text' element for display and if 'error' element present, shows failure */ function form_filepath_box($form_name, $form_previous_value, $form_default_value, $form_max_length, $form_size = 30, $type = 'text', $current_id = 0, $data = false) { if (($form_previous_value == '') && (empty($current_id))) { $form_previous_value = $form_default_value; } print "" . $extra_data; } /* form_dirpath_box - draws a standard html textbox and provides status of a directories existence @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_default_value - the value of this form element to use if there is no current value available @arg $form_max_length - the maximum number of characters that can be entered into this textbox @arg $form_size - the size (width) of the textbox @arg $type - the type of textbox, either 'text' or 'password' @arg $current_id - used to determine if a current value for this form element exists or not. a $current_id of '0' indicates that no current value exists, a non-zero value indicates that a current value does exist */ function form_dirpath_box($form_name, $form_previous_value, $form_default_value, $form_max_length, $form_size = 30, $type = 'text', $current_id = 0) { if (($form_previous_value == '') && (empty($current_id))) { $form_previous_value = $form_default_value; } print ""; }else if (is_file($form_previous_value)) { $extra_data = ""; }else if ($form_previous_value == '') { $extra_data = ''; } else { $extra_data = ""; } print " id='$form_name' name='$form_name' placeholder='" . __esc('Enter a valid directory path'). "' size='$form_size'" . (!empty($form_max_length) ? " maxlength='$form_max_length'" : '') . " value='" . html_escape($form_previous_value) . "'>" . $extra_data; } /* form_text_box - draws a standard html textbox @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_default_value - the value of this form element to use if there is no current value available @arg $form_max_length - the maximum number of characters that can be entered into this textbox @arg $form_size - the size (width) of the textbox @arg $type - the type of textbox, either 'text' or 'password' @arg $current_id - used to determine if a current value for this form element exists or not. a $current_id of '0' indicates that no current value exists, a non-zero value indicates that a current value does exist @arg $placeholder - place a placeholder over an empty field @arg $title - use a title attribute when hovering over the textbox */ function form_text_box($form_name, $form_previous_value, $form_default_value, $form_max_length, $form_size = 30, $type = 'text', $current_id = 0, $placeholder = '', $title = '') { if (($form_previous_value == '') && (empty($current_id))) { $form_previous_value = $form_default_value; } if ($type == 'password') { print ""; } print "\n"; } /* form_hidden_box - draws a standard html hidden element @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_default_value - the value of this form element to use if there is no current value available */ function form_hidden_box($form_name, $form_previous_value, $form_default_value, $in_form = false) { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } print "
"; } /* form_dropdown - draws a standard html dropdown box @arg $form_name - the name of this form element @arg $form_data - an array containing data for this dropdown. it can be formatted in one of two ways: $array["id"] = "value"; -- or -- $array[0]["id"] = 43; $array[0]["name"] = "Red"; @arg $column_display - used to identify the key to be used for display data. this is only applicable if the array is formatted using the second method above @arg $column_id - used to identify the key to be used for id data. this is only applicable if the array is formatted using the second method above @arg $form_previous_value - the current value of this form element @arg $form_none_entry - the name to use for a default 'none' element in the dropdown @arg $form_default_value - the value of this form element to use if there is no current value available @arg $css_class - any css that needs to be applied to this form element @arg $on_change - onChange modifier */ function form_dropdown($form_name, $form_data, $column_display, $column_id, $form_previous_value, $form_none_entry, $form_default_value, $class = '', $on_change = '') { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } if (isset($_SESSION['sess_error_fields'])) { if (!empty($_SESSION['sess_error_fields'][$form_name])) { $class .= ($class != '' ? ' ':'') . 'txtErrorTextBox'; unset($_SESSION['sess_error_fields'][$form_name]); } } if (isset($_SESSION['sess_field_values'])) { if (!empty($_SESSION['sess_field_values'][$form_name])) { $form_previous_value = $_SESSION['sess_field_values'][$form_name]; } } if ($class != '') { $class = " class='$class' "; } if ($on_change != '') { $on_change = " onChange='$on_change' "; } print "\n"; } function form_droplanguage($form_name, $column_display, $column_id, $form_previous_value, $form_none_entry, $form_default_value, $class = '', $on_change = '') { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } if (isset($_SESSION['sess_error_fields'])) { if (!empty($_SESSION['sess_error_fields'][$form_name])) { $class .= ($class != '' ? ' ':'') . 'txtErrorTextBox'; unset($_SESSION['sess_error_fields'][$form_name]); } } if (isset($_SESSION['sess_field_values'])) { if (!empty($_SESSION['sess_field_values'][$form_name])) { $form_previous_value = $_SESSION['sess_field_values'][$form_name]; } } if ($class != '') { $class = " class='$class' "; } if ($on_change != '') { $on_change = " onChange='$on_change' "; } $languages = get_installed_locales(); print "'; } function form_callback($form_name, $classic_sql, $column_display, $column_id, $callback, $previous_id, $previous_value, $none_entry, $default_value, $class = '', $on_change = '') { if ($previous_value == '') { $previous_value = $default_value; } if (isset($_SESSION['sess_error_fields'])) { if (!empty($_SESSION['sess_error_fields'][$form_name])) { $class .= ($class != '' ? ' ':'') . 'txtErrorTextBox'; unset($_SESSION['sess_error_fields'][$form_name]); } } if ($class != '') { $class = " class='$class' "; } $theme = get_selected_theme(); if ($theme == 'classic' || read_config_option('autocomplete') > 0) { print "\n"; } else { if (empty($previous_id) && $previous_value == '') { $previous_value = $none_entry; } print ""; print ""; print ""; print ""; print ""; if (!empty($none_entry) && empty($previous_value)) { $previous_value = $none_entry; } print ""; print ""; ?> "; print ""; print "'; print ''; } /* form_radio_button - draws a standard html radio button @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element (selected or not) @arg $form_current_value - the current value of this form element (element id) @arg $form_caption - the text to display to the right of the checkbox @arg $form_default_value - the value of this form element to use if there is no current value available */ function form_radio_button($form_name, $form_previous_value, $form_current_value, $form_caption, $form_default_value, $class = '', $on_change = '') { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } if (isset($_SESSION['sess_field_values'])) { if (!empty($_SESSION['sess_field_values'][$form_name])) { $form_previous_value = $_SESSION['sess_field_values'][$form_name]; } } if ($class != '') { $class = " $class"; } if ($on_change != '') { $on_change = " onChange='$on_change' "; } if ($form_previous_value == $form_current_value) { $checked = " checked aria-checked='true'"; } else { $checked = " aria-checked='false'"; } $css_id = $form_name . '_' . $form_current_value; print ""; print ""; print ""; print ""; } /* form_text_area - draws a standard html text area box @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element (selected or not) @arg $form_rows - the number of rows in the text area box @arg $form_columns - the number of columns in the text area box @arg $form_default_value - the value of this form element to use if there is no current value available */ function form_text_area($form_name, $form_previous_value, $form_rows, $form_columns, $form_default_value, $class = '', $on_change = '', $placeholder = '') { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } if (isset($_SESSION['sess_error_fields'])) { if (!empty($_SESSION['sess_error_fields'][$form_name])) { $class .= ($class != '' ? ' ':'') . 'txtErrorTextBox'; unset($_SESSION['sess_error_fields'][$form_name]); } } if (isset($_SESSION['sess_field_values'])) { if (!empty($_SESSION['sess_field_values'][$form_name])) { $form_previous_value = $_SESSION['sess_field_values'][$form_name]; } } if ($on_change != '') { $on_change = " onChange='$on_change' "; } if ($placeholder != '') { $placeholder = " placeholder='" . html_escape($placeholder) . "'"; } print "\n"; } /* form_multi_dropdown - draws a standard html multiple select dropdown @arg $form_name - the name of this form element @arg $array_display - an array containing display values for this dropdown. it must be formatted like: $array[id] = display; @arg $sql_previous_values - an array containing keys that should be marked as selected. it must be formatted like: $array[0][$column_id] = key @arg $column_id - the name of the key used to reference the keys above */ function form_multi_dropdown($form_name, $array_display, $sql_previous_values, $column_id, $class = '', $on_change = '') { if (!is_array($sql_previous_values) && $sql_previous_values != '') { $values = explode(',', $sql_previous_values); $sql_previous_values = array(); foreach($values as $value) { $sql_previous_values[][$column_id] = $value; } } elseif ($sql_previous_values == '') { $values = db_fetch_cell_prepared('SELECT value FROM settings WHERE name = ?', array($form_name)); if ($values != '') { $values = explode(',', $values); foreach($values as $value) { $sql_previous_values[][$column_id] = $value; } } } if (isset($_SESSION['sess_error_fields'])) { if (!empty($_SESSION['sess_error_fields'][$form_name])) { $class .= ($class != '' ? ' ':'') . 'txtErrorTextBox'; unset($_SESSION['sess_error_fields'][$form_name]); } } $class = 'multiselect'; if ($class != '') { $class .= " $class"; } if ($on_change != '') { $on_change = " onChange='$on_change' "; } print "\n"; } /* * Second level form elements */ /* form_color_dropdown - draws a dropdown containing a list of colors that uses a bit of css magic to make the dropdown item background color represent each color in the list @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_none_entry - the name to use for a default 'none' element in the dropdown @arg $form_default_value - the value of this form element to use if there is no current value available */ function form_color_dropdown($form_name, $form_previous_value, $form_none_entry, $form_default_value, $class = '', $on_change = '') { if ($form_previous_value == '') { $form_previous_value = $form_default_value; } if ($class != '') { $class = " class='colordropdown $class' "; } else { $class = " class='colordropdown'"; } $current_color = db_fetch_cell_prepared('SELECT hex FROM colors WHERE id = ?', array($form_previous_value)); if ($on_change != '') { $on_change = ' ' . $on_change . ';'; } $on_change = " onChange='this.style.backgroundColor=this.options[this.selectedIndex].style.backgroundColor;$on_change'"; $colors_sql = 'SELECT * FROM colors ORDER BY SUBSTRING(hex,0,2) ASC, SUBSTRING(hex,2,2) ASC, SUBSTRING(hex,4,2) ASC'; $colors_list = db_fetch_assoc($colors_sql); print "'; } /* form_font_box - draws a standard html textbox and provides status of a fonts existence @arg $form_name - the name of this form element @arg $form_previous_value - the current value of this form element @arg $form_default_value - the value of this form element to use if there is no current value available @arg $form_max_length - the maximum number of characters that can be entered into this textbox @arg $form_size - the size (width) of the textbox @arg $type - the type of textbox, either 'text' or 'password' @arg $current_id - used to determine if a current value for this form element exists or not. a $current_id of '0' indicates that no current value exists, a non-zero value indicates that a current value does exist */ function form_font_box($form_name, $form_previous_value, $form_default_value, $form_max_length, $form_size = 30, $type = 'text', $current_id = 0, $placeholder = '') { global $config; if (($form_previous_value == '') && (empty($current_id))) { $form_previous_value = $form_default_value; } print "'; } print " id='$form_name' " . ($placeholder != '' ? "placeholder='" . html_escape($placeholder) . "'":'') . " name='$form_name' size='$form_size'" . (!empty($form_max_length) ? " maxlength='$form_max_length'" : '') . " value='" . html_escape($form_previous_value) . "'>" . $extra_data; } /* form_confirm - draws a table presenting the user with some choice and allowing them to either proceed (delete) or cancel @arg $body_text - the text to prompt the user with on this form @arg $cancel_url - the url to go to when the user clicks 'cancel' @arg $action_url - the url to go to when the user clicks 'delete' */ function form_confirm($title_text, $body_text, $cancel_url, $action_url) { ?>
")' value=''> ")' value=''> "; } else { $cancel_action = ''; } ?>
\n"; } ?>
\n"; } /* form_end - draws post form end. To be combined with form_start() */ function form_end($ajax = true) { global $form_id, $form_action; print '' . PHP_EOL; if ($ajax) { ?>