Пример #1
0
function validate_form()
{
    $error = array();
    $NumberTickets = clean_int($_POST['numberoftickets']);
    $MaxMb = clean_number($_POST['MaxMb']);
    $Max_Mb = clean_number($_POST['Max_Mb']);
    $MaxTime = clean_int($_POST['MaxTime']);
    $Max_Time = clean_int($_POST['Max_Time']);
    $error[] = validate_int($NumberTickets);
    if (!\Grase\Validate::numericLimit($MaxMb)) {
        $error[] = sprintf(T_("Invalid value '%s' for Data Limit"), $MaxMb);
    }
    if (!\Grase\Validate::numericLimit($Max_Mb)) {
        $error[] = sprintf(T_("Invalid value '%s' for Data Limit"), $Max_Mb);
    }
    if (!\Grase\Validate::numericLimit($MaxTime)) {
        $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $MaxTime);
    }
    if (!\Grase\Validate::numericLimit($Max_Time)) {
        $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $Max_Time);
    }
    if ((is_numeric($Max_Mb) || $_POST['Max_Mb'] == 'inherit') && is_numeric($MaxMb)) {
        $error[] = T_("Only set one Data limit field");
    }
    if ((is_numeric($Max_Time) || $_POST['Max_Time'] == 'inherit') && is_numeric($MaxTime)) {
        $error[] = T_("Only set one Time limit field");
    }
    // 1000 seems like a reasonable number, if someone wants it increased we can now that we can delete batches
    if ($NumberTickets > 1000) {
        $error[] = T_("Max of 1000 tickets per batch");
    }
    $error[] = validate_group($_POST['Group']);
    return array_filter($error);
}
Пример #2
0
function validate_form($userDetails, $type = 'User')
{
    $error = array();
    if ($type == 'User') {
        if (!DatabaseFunctions::getInstance()->checkUniqueUsername($userDetails['Username'])) {
            $error[] = T_("Username already taken");
        }
        if (!$userDetails['Username'] || !$userDetails['Password']) {
            $error[] = T_("Username and Password are both Required");
        }
    }
    if ($type == 'Computer') {
        if (!DatabaseFunctions::getInstance()->checkUniqueUsername($userDetails['mac'])) {
            $error[] = T_("MAC Address already has an account");
        }
        if (!\Grase\Validate::MACAddress($userDetails['mac'])) {
            $error[] = T_("MAC Address not in correct format");
        }
    }
    if (!\Grase\Validate::numericLimit($userDetails['MaxMb']) && $userDetails['MaxMb'] != '') {
        $error[] = sprintf(T_("Invalid value '%s' for 1 Data Limit"), $userDetails['MaxMb']);
    }
    if (!\Grase\Validate::numericLimit($userDetails['Max_Mb']) && $userDetails['Max_Mb'] != 'inherit') {
        $error[] = sprintf(T_("Invalid value '%s' for Data Limit"), $userDetails['Max_Mb']);
    }
    if (!\Grase\Validate::numericLimit($userDetails['MaxTime']) && $userDetails['MaxTime'] != '') {
        $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $userDetails['MaxTime']);
    }
    if (!\Grase\Validate::numericLimit($userDetails['Max_Time']) && $userDetails['Max_Time'] != 'inherit') {
        $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $userDetails['Max_Time']);
    }
    if ((is_numeric($userDetails['Max_Mb']) || $userDetails['Max_Mb'] == 'inherit') && is_numeric($userDetails['MaxMb'])) {
        $error[] = T_("Only set one Data limit field");
    }
    if ((is_numeric($userDetails['Max_Time']) || $userDetails['Max_Time'] == 'inherit') && is_numeric($userDetails['MaxTime'])) {
        $error[] = T_("Only set one Time limit field");
    }
    $error[] = validate_group($userDetails['Group']);
    return array_filter($error);
}
Пример #3
0
     }
     $PAGE_GROUPS = get_viewed_groups(PERM_READ_WRITE, $params);
     $PAGE_HOSTS = get_viewed_hosts(PERM_READ_WRITE, $PAGE_GROUPS['selected'], $params);
     validate_group($PAGE_GROUPS, $PAGE_HOSTS, false);
     break;
 case 5:
     $options = array('only_current_node');
     if (isset($_REQUEST['form']) || isset($_REQUEST['massupdate'])) {
         array_push($options, 'do_not_select_if_empty');
     }
     foreach ($options as $option) {
         $params[$option] = 1;
     }
     $PAGE_GROUPS = get_viewed_groups(PERM_READ_WRITE, $params);
     $PAGE_HOSTS = get_viewed_hosts(PERM_READ_WRITE, $PAGE_GROUPS['selected'], $params);
     validate_group($PAGE_GROUPS, $PAGE_HOSTS, false);
     break;
 case 6:
     $options = array('only_current_node', 'allow_all');
     foreach ($options as $option) {
         $params[$option] = 1;
     }
     $PAGE_GROUPS = get_viewed_groups(PERM_READ_WRITE, $params);
     $PAGE_HOSTS = get_viewed_hosts(PERM_READ_WRITE, $PAGE_GROUPS['selected'], $params);
     validate_group_with_host($PAGE_GROUPS, $PAGE_HOSTS, false);
     break;
 default:
     $options = array('only_current_node');
     if (isset($_REQUEST['form']) || isset($_REQUEST['massupdate'])) {
         array_push($options, 'do_not_select_if_empty');
     }
Пример #4
0
update_profile('web.overview.type', $_REQUEST['type'], PROFILE_TYPE_INT);
$options = array('allow_all_hosts', 'monitored_hosts', 'with_monitored_items');
if ($_REQUEST['type'] == SHOW_TRIGGERS) {
    array_push($options, 'with_monitored_triggers');
}
if (!$ZBX_WITH_ALL_NODES) {
    array_push($options, 'only_current_node');
}
//SDI($_REQUEST['groupid']);
$params = array();
foreach ($options as $option) {
    $params[$option] = 1;
}
$PAGE_GROUPS = get_viewed_groups(PERM_READ_ONLY, $params);
$PAGE_HOSTS = get_viewed_hosts(PERM_READ_ONLY, $PAGE_GROUPS['selected'], $params);
validate_group($PAGE_GROUPS, $PAGE_HOSTS);
$form = new CForm();
$form->setMethod('get');
$available_groups = $PAGE_GROUPS['groupids'];
$cmbGroups = new CComboBox('groupid', $PAGE_GROUPS['selected'], 'javascript: submit();');
foreach ($PAGE_GROUPS['groups'] as $groupid => $name) {
    $cmbGroups->addItem($groupid, get_node_name_by_elid($groupid) . $name);
}
$form->addItem(array(S_GROUP . SPACE, $cmbGroups, SPACE));
$cmbType = new CComboBox('type', $_REQUEST['type'], 'submit()');
$cmbType->addItem(SHOW_TRIGGERS, S_TRIGGERS);
$cmbType->addItem(SHOW_DATA, S_DATA);
$form->addItem(array(S_TYPE . SPACE, $cmbType));
$help = new CHelp('web.view.php', 'right');
$help_table = new CTableInfo();
$help_table->setAttribute('style', 'width: 200px');
Пример #5
0
//		VAR			TYPE	OPTIONAL FLAGS	VALIDATION	EXCEPTION
$fields = array('groupid' => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), 'hostid' => array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), 'prof_type' => array(T_ZBX_INT, O_OPT, P_SYS, null, NULL));
check_fields($fields);
validate_sort_and_sortorder('h.host', ZBX_SORT_UP);
$reset_hostid = isset($_REQUEST['hostid']) ? false : true;
$params = array();
$options = array('allow_all_hosts', 'real_hosts');
if (!$ZBX_WITH_ALL_NODES) {
    array_push($options, 'only_current_node');
}
foreach ($options as $option) {
    $params[$option] = 1;
}
$PAGE_GROUPS = get_viewed_groups(PERM_READ_ONLY, $params);
$PAGE_HOSTS = get_viewed_hosts(PERM_READ_ONLY, $PAGE_GROUPS['selected'], $params);
validate_group($PAGE_GROUPS, $PAGE_HOSTS, $reset_hostid);
$r_form = new CForm();
$r_form->setMethod('get');
/// +++ create "Host Groups" combobox +++ ///
$cmbGroups = new CComboBox('groupid', $PAGE_GROUPS['selected'], 'javascript: submit();');
$cmbGroups->addItem(0, S_ALL_S);
//select groups where hosts with profiles exists
$sql = 'SELECT hg.groupid, g.name ' . ' FROM hosts_profiles p, hosts_profiles_ext pe, hosts_groups hg, groups g' . ' WHERE (hg.hostid=p.hostid OR hg.hostid=pe.hostid) ' . ' AND g.groupid=hg.groupid ' . ' AND ' . DBcondition('hg.groupid', $PAGE_GROUPS['groupids']) . ' GROUP BY hg.groupid';
$result = DBselect($sql);
while ($row = DBfetch($result)) {
    $cmbGroups->addItem($row['groupid'], get_node_name_by_elid($row['groupid']) . $row['name']);
}
$r_form->addItem(array(S_GROUP . SPACE, $cmbGroups));
/// --- --- ///
/// +++ find out what type of profile selected group hosts contains	+++ ///
/// if they contain only one type profile, combobox with Profile types won't appear ///
Пример #6
0
if (isset($_POST['updateusersubmit'])) {
    // Process form for changed items and do updates
    $addMb = clean_number($_POST['Add_Mb']);
    $maxMb = clean_number($_POST['MaxMb']);
    $addTime = clean_number($_POST['Add_Time']);
    $maxTime = clean_number($_POST['MaxTime']);
    // Update password
    if (\Grase\Clean::text($_POST['Password']) && \Grase\Clean::text($_POST['Password']) != $user['Password']) {
        DatabaseFunctions::getInstance()->setUserPassword($username, \Grase\Clean::text($_POST['Password']));
        // TODO: Check return for success
        $success[] = T_("Password Changed");
        AdminLog::getInstance()->log("Password changed for {$username}");
    }
    // Update group if changed
    if (\Grase\Clean::text($_POST['Group']) && \Grase\Clean::text($_POST['Group']) != $user['Group']) {
        $temperror = validate_group($_POST['Group']);
        if (array_filter($temperror)) {
            $error = array_merge($error, $temperror);
        } else {
            DatabaseFunctions::getInstance()->setUserGroup($username, \Grase\Clean::text($_POST['Group']));
            DatabaseFunctions::getInstance()->setUserExpiry($username, expiry_for_group(DatabaseFunctions::getInstance()->getUserGroup($username)));
            // TODO: Check return for success
            $success[] = T_("Group Changed");
            AdminLog::getInstance()->log("Group changed for {$username}");
        }
    }
    // Update comment if changed
    if (\Grase\Clean::text($_POST['Comment']) != $user['Comment']) {
        DatabaseFunctions::getInstance()->setUserComment($username, \Grase\Clean::text($_POST['Comment']));
        // TODO: Check return for success
        $success[] = T_("Comment Changed");
Пример #7
0
/**
 * Controller for validation of zones
 *
 * @param string $zone (blog, vm or group)
 * @return boolean
 */
function validate_zone($zone)
{
    switch ($zone) {
        case 'blog':
            return validate_blog();
            break;
        case 'group':
            return validate_group();
            break;
        case 'vm':
            return validate_vm();
            break;
    }
    return false;
}