Exemple #1
0
/**
 * Update accesspoint group
 * 
 * @author Alberto Basso
 */
function sumo_update_accesspoint_group($id = 0, $group = FALSE)
{
    $id = intval($id);
    if ($id > 0 && sumo_validate_group($group, FALSE) && sumo_verify_permissions(5, $group)) {
        global $SUMO;
        $query1 = "SELECT usergroup FROM " . SUMO_TABLE_ACCESSPOINTS . " \r\n\t\t\t\t   WHERE id=" . $id;
        $rs = $SUMO['DB']->Execute($query1);
        $tab = $rs->FetchRow();
        $new_group = sumo_get_normalized_group(str_replace($group, '', $tab[0]), TRUE);
        $query2 = "UPDATE " . SUMO_TABLE_ACCESSPOINTS . " \r\n\t\t\t\t   SET usergroup='" . $new_group . "' \r\n\t\t\t\t   WHERE id=" . $id;
        $SUMO['DB']->CacheFlush();
        $SUMO['DB']->Execute($query1);
        $SUMO['DB']->Execute($query2);
        sumo_write_log('I07001X', array($id, $group, $new_group, $SUMO['user']['user']), '0,1', 3, 'system', FALSE);
        return TRUE;
    } else {
        return FALSE;
    }
}
Exemple #2
0
 * 
 * @version    0.5.0
 * @link       http://sumoam.sourceforge.net SUMO Access Manager
 * @author     Alberto Basso <*****@*****.**>
 * @copyright  Copyright &copy; 2003-2009, Alberto Basso
 * @package    SUMO
 * @category   Console
 */
// Create group string
if ($_POST['group']) {
    $_POST['group'] = sumo_get_normalized_group(implode(";", $_POST['group']), TRUE);
}
$_POST['path'] = sumo_get_normalized_accesspoint($_POST['path']);
// If new group exist add it
if ($_POST['newgroup']) {
    $_POST['group'] = sumo_get_normalized_group($_POST['newgroup'] . ";" . $_POST['group'], TRUE);
}
// If registration enabled require reg_group
$reg_group = $_POST['registration'] ? 1 : 0;
$data = array(array('id', $_GET['id'], 1), array('node', $_POST['node'], 1), array('name', $_POST['name'], 1), array('path', $_POST['path'], 1), array('usergroup', $_POST['group'], 1), array('reg_group', $_POST['reg_group'], $reg_group), array('boolean', $_POST['http_auth'], 1), array('boolean', $_POST['filtering'], 1), array('boolean', $_POST['pwd_encrypt'], 1), array('boolean', $_POST['change_pwd'], 1), array('boolean', $_POST['registration'], 1), array('theme', $_POST['theme']));
$validate = sumo_validate_accesspoint_data($data, TRUE);
// verify if accesspoint already exist
//if(sumo_verify_accesspoint_exist($_POST['node'], $_POST['path'])) $validate = array(FALSE, sumo_get_message('I07002C', $_POST['path']));
// Verify submittedd groups with current user group
if ($validate[0]) {
    $submitted_group = sumo_get_grouplevel($_POST['group'], TRUE);
    $available_group = sumo_get_available_group();
    for ($g = 0; $g < count($submitted_group); $g++) {
        if (!in_array($submitted_group[$g], $available_group) && $submitted_group[$g]) {
            //$validate = array(false, sumo_get_message('GroupNotAvailable', $submitted_group[$g]));
            $validate[0] = true;
Exemple #3
0
/**
 * Validate group string
 *
 * @author Alberto Basso <*****@*****.**>
 */
function sumo_validate_group($group = '', $level = TRUE)
{
    if ($group) {
        $only_group = $level ? FALSE : TRUE;
        $group = sumo_get_normalized_group($group, $only_group);
        $group = explode(';', $group);
        $num_group = count($group);
        $err = TRUE;
        if ($level) {
            for ($g = 0; $g < $num_group; $g++) {
                if (!preg_match("/^[[:alpha:]\\/\\-\\_" . SUMO_REGEXP_ALLOWED_CHARS . "]{2,50}:[1-7]{1}\$/i", $group[$g])) {
                    $err = FALSE;
                    break;
                }
            }
        } else {
            for ($g = 0; $g < $num_group; $g++) {
                if (!preg_match("/^[[:alpha:]\\/\\-\\_" . SUMO_REGEXP_ALLOWED_CHARS . "]{2,50}\$/i", $group[$g])) {
                    $err = FALSE;
                    break;
                }
            }
        }
        return $err ? TRUE : FALSE;
    } else {
        return FALSE;
    }
}
Exemple #4
0
/**
 * Update user group
 */
function sumo_update_user_group($id = 0, $group = FALSE)
{
    $group_level = explode(":", $group);
    $id = intval($id);
    if ($id > 0 && sumo_validate_group($group) && sumo_verify_permissions($group_level[1], $group_level[0])) {
        global $SUMO;
        $query1 = "SELECT usergroup FROM " . SUMO_TABLE_USERS . "\n\t\t\t\t   WHERE id=" . $id;
        $rs = $SUMO['DB']->Execute($query1);
        $tab = $rs->FetchRow();
        $new_group = sumo_get_normalized_group(str_replace($group, '', $tab[0]));
        $query2 = "UPDATE " . SUMO_TABLE_USERS . "\n\t\t\t\t   SET usergroup='" . $new_group . "',\n\t\t\t\t   \t\tmodified=" . $SUMO['server']['time'] . "\n\t\t\t\t   WHERE id=" . $id;
        $SUMO['DB']->CacheFlush("SELECT * FROM " . SUMO_TABLE_USERS . "\n\t\t\t\t\t\t \t\t WHERE id=" . $id);
        $SUMO['DB']->Execute($query1);
        $SUMO['DB']->Execute($query2);
        sumo_write_log('I01002X', array($group, $id, $SUMO['user']['user']), '0,1', 3, 'system', FALSE);
        return TRUE;
    } else {
        return FALSE;
    }
}