function modify_plugingroup_plugin($conn, $data) { $plugin_group = $data['plugin_group']; $plugin_id = $data['plugin_id']; $sids_str = $data['plugin_sids']; ossim_valid($plugin_id, OSS_DIGIT, 'illegal:' . _("Plugin ID")); ossim_valid($plugin_group, OSS_HEX, 'illegal:' . _("Plugin GroupID")); if (ossim_error()) { $info_error = "Error: " . ossim_get_error(); ossim_clean_error(); $return['error'] = true; $return['msg'] = $info_error; return $return; } $total_sel = 1; if (is_array($sids_str)) { $total_sel = count($sids_str); $sids_str = implode(',', $sids_str); } if ($sids_str !== '') { list($valid, $data) = Plugin_sid::validate_sids_str($sids_str); if (!$valid) { $return['error'] = true; $return['msg'] = _("Error for data source ") . $plugin_id . ': ' . $data; return $return; } if ($sids_str == "ANY") { $sids_str = "0"; } else { $total = Plugin_sid::get_sidscount_by_id($conn, $plugin_id); $sids_str = $total_sel == $total ? "0" : $sids_str; } Plugin_group::edit_plugin($conn, $plugin_group, $plugin_id, $sids_str); } $return['error'] = false; $return['output'] = ''; return $return; }
function validate_post_params($conn, $name, $descr, $sids, $imported_sids, $group_id = NULL) { $vals = array('name' => array(OSS_INPUT, 'illegal:' . _("Name")), 'descr' => array(OSS_ALL, OSS_NULLABLE, 'illegal:' . _("Description")), 'group_id' => array(OSS_HEX, OSS_NULLABLE, 'illegal:' . _("Group ID"))); ossim_valid($group_id, $vals['group_id']); ossim_valid($name, $vals['name']); if (ossim_error() == FALSE && Plugin_group::is_valid_group_name($conn, $name, $group_id) == FALSE) { $name = Util::htmlentities($name); ossim_set_error(sprintf(_("DS group name '<strong>%s</strong>' already exists"), $name)); } ossim_valid($descr, $vals['descr']); $plugins = array(); $sids = is_array($sids) ? $sids : array(); $pluginid = intval(POST('pluginid')); if ($pluginid > 0) { $sids[$pluginid] = "0"; } foreach ($sids as $plugin => $sids_str) { if ($sids_str !== '') { list($valid, $data) = Plugin_sid::validate_sids_str($sids_str); if (!$valid) { ossim_set_error(_("Error for data source ") . $plugin . ': ' . $data); break; } if ($sids_str == "ANY") { $sids_str = "0"; } else { $aux = count(explode(',', $sids_str)); $total = Plugin_sid::get_sidscount_by_id($conn, $plugin); $sids_str = $aux == $total ? "0" : $sids_str; } $plugins[$plugin] = $sids_str; } } if (!count($plugins) && !count($imported_sids)) { ossim_set_error(_("No Data Sources or Event Types selected")); } return array($group_id, $name, $descr, $plugins, ossim_error()); }
<td class='noborder' id="plugins" style="text-align:left;padding-top:5px;"> <div style='height:<?php echo $is_engine ? '200px' : '140px'; ?> ;overflow:auto'> <table width="100%" class="transparent" cellspacing="0" cellpadding="0"> <tr> <?php $iplugin = 1; /* ===== plugin groups ==== */ if ($is_engine) { $pgroups = Plugin_group::get_groups_by_plugin($conn, 1505); $excluded = array(); } else { $pgroups = Plugin_group::get_list($conn, "", "name"); $excluded = Plugin_group::get_groups_by_plugin($conn, 1505); } foreach ($pgroups as $g) { if (isset($excluded[$g->get_id()])) { continue; } echo "<td class='nobborder' style='text-align:left;padding-right:10px'>"; $checked = in_array($g->get_id(), $plugingroups) ? "checked='checked'" : ""; $mixed = $is_engine ? FALSE : $g->contains_directive_plugin($conn); if ($mixed) { $tip = _('This plugin group cannot be applied because contains the plugin 1505'); echo "<input type='checkbox' class='disabled' disabled='disabled' id='plugin_" . $g->get_id() . "' pname='" . $g->get_name() . "'>"; echo "<a href='modifyplugingroupsform.php?action=edit&id=" . $g->get_id() . "' class='greybox gray italic ' title='" . _('View DS Group') . "'>" . $g->get_name() . "</a>"; echo " <img src='/ossim/pixmaps/warnin_icon.png' id='dg_locked' class='tiptip_dg' title='" . $tip . "'/>"; } else { echo "<input type='checkbox' id='plugin_" . $g->get_id() . "' pname='" . $g->get_name() . "' onclick='drawpolicy()' name='plugins[" . $g->get_id() . "]' {$checked}/>";
} if (intval(POST('redirec')) == 1) { header("Location: modifyplugingroupsform.php?action=edit&id={$group_id}"); exit; } // // Delete group // } elseif (GET('action') == 'delete') { $group_id = GET('id'); ossim_valid($group_id, OSS_HEX, 'illegal:ID'); if (ossim_error()) { die(ossim_error()); } if (Plugin_group::can_delete($conn, $group_id)) { Plugin_group::delete($conn, $group_id); } else { ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> <?php echo _("OSSIM Framework"); ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/> <meta http-equiv="X-UA-Compatible" content="IE=7"/>
$sids = array($plugin_sid); } $close = TRUE; for ($i = 0; $i < count($ids); $i++) { $pid = $ids[$i]; $psid = $sids[$i]; $error_code = Plugin_group::insert_plugin_id_sid($conn, $group_id, $pid, $psid); if ($error_code == 1) { $msg .= _("Skip: ({$pid} {$psid}) is already into selected DS Group") . "<br>"; } } if ($msg != "") { $close = FALSE; } } $groups = Plugin_group::get_list($conn); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> <?php echo gettext("OSSIM Framework"); ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <meta http-equiv="Pragma" content="no-cache"/> <link rel="stylesheet" type="text/css" href="../style/av_common.css?t=<?php echo Util::get_css_id(); ?> "/> <script type="text/javascript" src="../js/jquery.min.js"></script>
if ($nump == 0) { $nump = 500; } if (GET('action') == 'edit') { $group_id = GET('id'); $delete_id = GET('delete'); ossim_valid($group_id, OSS_HEX, 'illegal:ID'); ossim_valid($delete_id, OSS_DIGIT, OSS_NULLABLE, 'illegal:delete'); if (ossim_error()) { die(ossim_error()); } if ($delete_id != "") { Plugin_group::delete_plugin_id($conn, $group_id, $delete_id); } $where = "plugin_group.group_id=unhex('{$group_id}')"; $list = Plugin_group::get_list($conn, $where); if (count($list) != 1) { die(ossim_error(_("Empty DS Group ID"))); } $plug_ed = $list[0]; $name = $plug_ed->get_name(); $descr = $plug_ed->get_description(); $plugs = $plug_ed->get_plugins(); } else { $group_id = $name = $descr = null; $name = GET('pname'); $descr = GET('pdesc'); ossim_valid($name, OSS_ALPHA, OSS_PUNC, OSS_SPACE, OSS_NULLABLE, 'illegal:Name'); ossim_valid($descr, OSS_ALL, OSS_NULLABLE, 'illegal:Description'); if (ossim_error()) { die(ossim_error());
function get_plugin_groups($conn, $data) { $id = $data['id']; $ctx = $data['ctx']; ossim_valid($id, OSS_HEX, OSS_NULLABLE, 'illegal:' . _("Policy ID")); ossim_valid($ctx, OSS_HEX, 'illegal:' . _("CTX")); if (ossim_error()) { $info_error = "Error: " . ossim_get_error(); ossim_clean_error(); $return['error'] = TRUE; $return['msg'] = $info_error; return $return; } $is_engine = is_ctx_engine($conn, $ctx); $result = ''; $result .= "\n\t\t<div style='height:150px;overflow:auto'>\n\t\t<table width='100%' class='transparent' cellspacing='0' cellpadding='0'>\n\t\t\t<tr>"; $iplugin = 1; /* ===== plugin groups ==== */ if ($is_engine) { $pgroups = Plugin_group::get_groups_by_plugin($conn, 1505); $excluded = array(); } else { $pgroups = Plugin_group::get_list($conn, "", "name"); $excluded = Plugin_group::get_groups_by_plugin($conn, 1505); } foreach ($pgroups as $g) { if (isset($excluded[$g->get_id()])) { continue; } $result .= "<td class='nobborder' style='text-align:left;padding-right:10px'>"; $checked = in_array($g->get_id(), $pgroups) ? "checked='checked'" : ""; $mixed = $is_engine ? FALSE : $g->contains_directive_plugin($conn); if ($mixed) { $tip = _('This plugin group cannot be applied because contains the plugin 1505'); $result .= "<input type='checkbox' class='disabled' disabled='disabled' id='plugin_" . $g->get_id() . "' pname='" . $g->get_name() . "'>"; $result .= "<a href='modifyplugingroupsform.php?action=edit&id=" . $g->get_id() . "' class='greybox gray italic tiptip' title='" . _('View DS Group') . "'>" . $g->get_name() . "</a>"; $result .= " <img src='/ossim/pixmaps/warnin_icon.png' id='dg_locked' class='tiptip_dg' title='" . $tip . "'/>"; } else { $result .= "<input type='checkbox' id='plugin_" . $g->get_id() . "' pname='" . $g->get_name() . "' onclick='drawpolicy()' name='plugins[" . $g->get_id() . "]' {$checked}/>"; $result .= "<a href='modifyplugingroupsform.php?action=edit&id=" . $g->get_id() . "' class='greybox' title='" . _('View DS Group') . "'>" . $g->get_name() . "</a>"; } if ($iplugin++ % 4 == 0) { $result .= "<tr></tr>"; } } $result .= "\n\t\t\t</tr>\n\t\t</table></div>"; $return['error'] = FALSE; $return['data'] = $result; return $return; }