'Delete', 2 => 'Duplicate' ); /* set default action */ set_default_action(); switch (get_request_var('action')) { case 'save': form_save(); break; case 'actions': form_actions(); break; case 'item_movedown': get_filter_request_var('cdef_id'); item_movedown(); header('Location: cdef.php?action=edit&id=' . get_request_var('cdef_id')); break; case 'item_moveup': get_filter_request_var('cdef_id'); item_moveup(); header('Location: cdef.php?action=edit&id=' . get_request_var('cdef_id')); break; case 'item_remove': get_filter_request_var('cdef_id'); item_remove(); header('Location: cdef.php?action=edit&id=' . get_request_var('cdef_id')); break; case 'item_edit': top_header(); item_edit(); bottom_footer(); break; case 'edit': top_header(); cdef_edit(); bottom_footer(); break; default: top_header(); cdef(); bottom_footer(); break; } /* -------------------------- Global Form Functions -------------------------- */ function draw_cdef_preview($cdef_id) { ?>
cdef=
array('regexp' => '/^([a-zA-Z0-9_]+)$/'))); /* ==================================================== */ /* if we are to save this form, instead of display it */ if (isset_request_var('selected_items')) { $selected_items = sanitize_unserialize_selected_items(get_nfilter_request_var('selected_items')); if ($selected_items != false) { if (get_nfilter_request_var('drp_action') == '1') { /* delete */ db_execute('DELETE FROM cdef WHERE ' . array_to_sql_or($selected_items, 'id')); db_execute('DELETE FROM cdef_items WHERE ' . array_to_sql_or($selected_items, 'cdef_id')); }elseif (get_nfilter_request_var('drp_action') == '2') { /* duplicate */ for ($i=0;($i'; $cdef_array[$i] = $matches[1]; $i++; } } top_header(); form_start('cdef.php'); html_start_box($cdef_actions{get_nfilter_request_var('drp_action')}, '60%', '', '3', 'center', ''); if (isset($cdef_array) && sizeof($cdef_array)) { if (get_nfilter_request_var('drp_action') == '1') { /* delete */ print "

Click 'Continue' to delete the folling CDEF(s).

\n"; $save_html = " "; }elseif (get_nfilter_request_var('drp_action') == '2') { /* duplicate */ print "

Click 'Continue' to duplicate the following CDEF(s). You can optionally change the title format for the new CDEF(s).

Title Format:
"; form_text_box('title_format', ' (1)', '', '255', '30', 'text'); print "

\n"; $save_html = " "; } }else{ print "You must select at least one CDEF.\n"; $save_html = ""; } print " $save_html \n"; html_end_box(); form_end(); bottom_footer(); } /* -------------------------- CDEF Item Functions -------------------------- */ function item_movedown() { /* ================= input validation ================= */ get_filter_request_var('id'); get_filter_request_var('cdef_id'); /* ==================================================== */ move_item_down('cdef_items', get_request_var('id'), 'cdef_id=' . get_request_var('cdef_id')); } function item_moveup() { /* ================= input validation ================= */ get_filter_request_var('id'); get_filter_request_var('cdef_id'); /* ==================================================== */ move_item_up('cdef_items', get_request_var('id'), 'cdef_id=' . get_request_var('cdef_id')); } function item_remove() { /* ================= input validation ================= */ get_filter_request_var('id'); get_filter_request_var('cdef_id'); /* ==================================================== */ db_execute_prepared('DELETE FROM cdef_items WHERE id = ?', array(get_request_var('id'))); } function item_edit() { global $cdef_item_types, $cdef_functions, $cdef_operators, $custom_data_source_types; /* ================= input validation ================= */ get_filter_request_var('id'); get_filter_request_var('cdef_id'); /* ==================================================== */ if (!isempty_request_var('id')) { $cdef = db_fetch_row_prepared('SELECT * FROM cdef_items WHERE id = ?', array(get_request_var('id'))); $current_type = $cdef['type']; $values[$current_type] = $cdef['value']; } html_start_box('', '100%', '', '3', 'center', ''); draw_cdef_preview(get_request_var('cdef_id')); html_end_box(); form_start('cdef.php', 'form_cdef'); html_start_box('CDEF Items [edit: ' . htmlspecialchars(db_fetch_cell_prepared('SELECT name FROM cdef WHERE id = ?', array(get_request_var('cdef_id')))) . ']', '100%', '', '3', 'center', ''); if (isset_request_var('type_select')) { $current_type = get_request_var('type_select'); }elseif (isset($cdef['type'])) { $current_type = $cdef['type']; }else{ $current_type = '1'; } form_alternate_row();?> CDEF Item Type
Choose what type of CDEF item this is. CDEF Item Value
Enter a value for this CDEF item. array('no_form_tag' => true), 'fields' => inject_form_variables($fields_cdef_edit, (isset($cdef) ? $cdef : array())) ) ); html_end_box(); if (!isempty_request_var('id')) { html_start_box('', '100%', '', '3', 'center', ''); draw_cdef_preview(get_request_var('id')); html_end_box(); html_start_box('CDEF Items', '100%', '', '3', 'center', 'cdef.php?action=item_edit&cdef_id=' . $cdef['id']); $display_text = array( array('display' => 'Item', 'align' => 'left'), array('display' => '', 'align' => 'center'), array('display' => 'Item Value', 'align' => 'left') ); html_header($display_text, 2); $cdef_items = db_fetch_assoc_prepared('SELECT * FROM cdef_items WHERE cdef_id = ? ORDER BY sequence', array(get_request_var('id'))); $i = 0; if (sizeof($cdef_items)) { foreach ($cdef_items as $cdef_item) { form_alternate_row();$i++;?> '>Item # ' title='Move Down'> 1) {?> ' title='Move Up'> : '> array( 'filter' => FILTER_VALIDATE_INT, 'pageset' => true, 'default' => read_config_option('num_rows_table') ), 'page' => array( 'filter' => FILTER_VALIDATE_INT, 'default' => '1' ), 'filter' => array( 'filter' => FILTER_CALLBACK, 'pageset' => true, 'default' => '', 'options' => array('options' => 'sanitize_search_string') ), 'sort_column' => array( 'filter' => FILTER_CALLBACK, 'default' => 'name', 'options' => array('options' => 'sanitize_search_string') ), 'sort_direction' => array( 'filter' => FILTER_CALLBACK, 'default' => 'ASC', 'options' => array('options' => 'sanitize_search_string') ), 'has_graphs' => array( 'filter' => FILTER_VALIDATE_REGEXP, 'options' => array('options' => array('regexp' => '(true|false)')), 'pageset' => true, 'default' => 'true' ) ); validate_store_request_vars($filters, 'sess_cdef'); /* ================= input validation ================= */ html_start_box("CDEF's", '100%', '', '3', 'center', 'cdef.php?action=edit'); ?>
Search '> CDEFs >
'>
0'; }else{ $sql_having = ''; } form_start('cdef.php', 'chk'); html_start_box('', '100%', '', '3', 'center', ''); $total_rows = db_fetch_cell("SELECT COUNT(rows) FROM ( SELECT cd.id AS rows, SUM(CASE WHEN local_graph_id>0 THEN 1 ELSE 0 END) AS graphs FROM cdef AS cd LEFT JOIN graph_templates_item AS gti ON gti.cdef_id=cd.id $sql_where GROUP BY cd.id $sql_having ) AS rs"); $cdef_list = db_fetch_assoc("SELECT rs.*, SUM(CASE WHEN local_graph_id=0 THEN 1 ELSE 0 END) AS templates, SUM(CASE WHEN local_graph_id>0 THEN 1 ELSE 0 END) AS graphs FROM ( SELECT cd.*, gti.local_graph_id FROM cdef AS cd LEFT JOIN graph_templates_item AS gti ON gti.cdef_id=cd.id GROUP BY cd.id, gti.graph_template_id, gti.local_graph_id ) AS rs $sql_where GROUP BY rs.id $sql_having ORDER BY " . get_request_var('sort_column') . ' ' . get_request_var('sort_direction') . ' LIMIT ' . (get_request_var('rows')*(get_request_var('page')-1)) . ',' . get_request_var('rows')); $nav = html_nav_bar('cdef.php?filter=' . get_request_var('filter'), MAX_DISPLAY_PAGES, get_request_var('page'), get_request_var('rows'), $total_rows, 5, 'CDEFs', 'page', 'main'); print $nav; $display_text = array( 'name' => array('display' => 'CDEF Name', 'align' => 'left', 'sort' => 'ASC', 'tip' => 'The name of this CDEF.'), 'nosort' => array('display' => 'Deletable', 'align' => 'right', 'tip' => 'CDEFs that are in use can not be Deleted. In use is defined as being referenced by a Graph or a Graph Template.'), 'graphs' => array('display' => 'Graphs Using', 'align' => 'right', 'sort' => 'DESC', 'tip' => 'The number of Graphs using this CDEF.'), 'templates' => array('display' => 'Templates Using', 'align' => 'right', 'sort' => 'DESC', 'tip' => 'The number of Graphs Templates using this CDEF.')); html_header_sort_checkbox($display_text, get_request_var('sort_column'), get_request_var('sort_direction'), false); $i = 0; if (sizeof($cdef_list) > 0) { foreach ($cdef_list as $cdef) { if ($cdef['graphs'] == 0 && $cdef['templates'] == 0) { $disabled = false; }else{ $disabled = true; } form_alternate_row('line' . $cdef['id'], false, $disabled); form_selectable_cell("" . (strlen(get_request_var('filter')) ? preg_replace('/(' . preg_quote(get_request_var('filter'), '/') . ')/i', "\\1", htmlspecialchars($cdef['name'])) : htmlspecialchars($cdef['name'])) . '', $cdef['id']); form_selectable_cell($disabled ? 'No':'Yes', $cdef['id'], '', 'text-align:right'); form_selectable_cell(number_format($cdef['graphs']), $cdef['id'], '', 'text-align:right'); form_selectable_cell(number_format($cdef['templates']), $cdef['id'], '', 'text-align:right'); form_checkbox_cell($cdef['name'], $cdef['id'], $disabled); form_end_row(); } print $nav; }else{ print "No CDEFs\n"; } html_end_box(false); /* draw the dropdown containing a list of available actions for this form */ draw_actions_dropdown($cdef_actions); form_end(); }