<?php

try {
    require_once 'phpincludes/init.inc.php';
    auth_require_login();
    // hent medlemskaber
    $grupper = backend_hent_brugers_medlemskaber($_SESSION['brugernavn']);
    // hvis data er sendt
    if ($_POST['action'] == 'save') {
        // opdater mail_modtag for hver af grupperne
        $modtag_mail_grupper = $_POST['modtag_mail'];
        foreach ($grupper as $gruppe) {
            $ny_mail_modtag = $modtag_mail_grupper[$gruppe['gruppenavn']] == 1 || $gruppe['mail_obligatorisk'] == 1 ? true : false;
            if ($gruppe['mail_modtag'] != $ny_mail_modtag) {
                $opdateret = true;
                backend_set_gruppemedlemskab($_SESSION['brugernavn'], $gruppe['gruppenavn'], array('mail_modtag' => $ny_mail_modtag));
            }
        }
        // hvis der er opdateret i et gruppemedlemskab
        if ($opdateret) {
            backend_opdater_datafiler();
            $smarty->assign('messages', array('Your groups are updated.'));
        }
        // hent de opdaterede medlemskaber
        $grupper = backend_hent_brugers_medlemskaber($_SESSION['brugernavn']);
    }
    $smarty->assign('grupper', $grupper);
    $smarty->assign('contenttemplate', 'user-groupmemberships.tpl');
} catch (Exception $e) {
    fatal_error($e);
}
Exemple #2
0
/**
 * Laver brugernavn og password og opretter i databasen. Sætter brugeren på
 * default grupperne.
 *
 * Kan kaste en DatabaseException.
 *
 * @param string $vaerelse
 * @param string $navn
 * @param string $indflytning Dato i format "YYYY-MM-DD"
 * @param string $udflytning Dato i format "YYYY-MM-DD". Her oftest null.
 * @param string $kab_lejemaal_id Unikt ID for lejemål fra KABAS
 * @param string $lejer_type 'lejer1', 'lejer2' (lejl.) eller 'fremlejer'
 * @return Brugernavnet på den oprettede bruger
 */
function backend_ny_bruger($vaerelse, $navn, $indflytning, $udflytning, $kab_lejemaal_id, $lejer_type)
{
    $brugernavn = backend_generer_brugernavn($navn);
    $q = 'INSERT INTO brugere SET brugernavn=?, vaerelse=?, ' . 'navn=?, indflytning=?, udflytning=?, kab_lejemaal_id=?, lejer_type=?';
    $p = array($brugernavn, $vaerelse, $navn, $indflytning, $udflytning, $kab_lejemaal_id, $lejer_type);
    backend_dbquery($q, $p);
    $password = backend_generer_passwd();
    backend_set_brugerdata($brugernavn, array('password' => $password));
    // tilmeld til default grupper
    backend_set_gruppemedlemskab($brugernavn, 'nyk_alle_beboere');
    backend_set_gruppemedlemskab($brugernavn, 'nyk_meddelelse');
    backend_set_gruppemedlemskab($brugernavn, 'nyk_kc_reklame');
    // tilmeld til lejlighedsgruppe hvis lejlighed, ellers gang-liste
    $r = backend_dbquery('SELECT vaerelse_type ' . 'FROM vaerelser WHERE vaerelse = ?', array($vaerelse));
    if ($r[0]['vaerelse_type'] == 'lejlighed') {
        backend_set_gruppemedlemskab($brugernavn, 'nyk_lejligheder');
    } else {
        if ($r[0]['vaerelse_type'] == 'vaerelse') {
            $bogstav = substr($vaerelse, 0, 1);
            $lige = substr($vaerelse, 1, 2) % 2 == 0;
            if (stripos('ab', $bogstav) !== false && !$lige) {
                $g = 'nyk_ab_ulige';
            }
            if (stripos('ab', $bogstav) !== false && $lige) {
                $g = 'nyk_ab_lige';
            }
            if (stripos('cd', $bogstav) !== false && !$lige) {
                $g = 'nyk_cd_ulige';
            }
            if (stripos('cd', $bogstav) !== false && $lige) {
                $g = 'nyk_cd_lige';
            }
            if (stripos('ef', $bogstav) !== false && !$lige) {
                $g = 'nyk_ef_ulige';
            }
            if (stripos('ef', $bogstav) !== false && $lige) {
                $g = 'nyk_ef_lige';
            }
            if (stripos('gh', $bogstav) !== false && !$lige) {
                $g = 'nyk_gh_ulige';
            }
            if (stripos('gh', $bogstav) !== false && $lige) {
                $g = 'nyk_gh_lige';
            }
            if (stripos('jk', $bogstav) !== false && !$lige) {
                $g = 'nyk_jk_ulige';
            }
            if (stripos('jk', $bogstav) !== false && $lige) {
                $g = 'nyk_jk_lige';
            }
            if (stripos('lm', $bogstav) !== false && !$lige) {
                $g = 'nyk_lm_ulige';
            }
            if (stripos('lm', $bogstav) !== false && $lige) {
                $g = 'nyk_lm_lige';
            }
            if (stripos('no', $bogstav) !== false && !$lige) {
                $g = 'nyk_no_ulige';
            }
            if (stripos('no', $bogstav) !== false && $lige) {
                $g = 'nyk_no_lige';
            }
            if (stripos('st', $bogstav) !== false && !$lige) {
                $g = 'nyk_st_ulige';
            }
            if (stripos('st', $bogstav) !== false && $lige) {
                $g = 'nyk_st_lige';
            }
            if (stripos('pr', $bogstav) !== false && !$lige) {
                $g = 'nyk_pr_ulige';
            }
            if (stripos('pr', $bogstav) !== false && $lige) {
                $g = 'nyk_pr_lige';
            }
            if ($g) {
                backend_set_gruppemedlemskab($brugernavn, $g);
            }
        }
    }
    return $brugernavn;
}
Exemple #3
0
         $delta['mail_forfatter'] = $ny_mail_forfatter;
     }
     // hvis der er rettelser, så sæt gruppemedlemskabet
     if (sizeof($delta) > 0) {
         $opdateret = true;
         backend_set_gruppemedlemskab($medlem['brugernavn'], $gruppenavn, $delta);
     }
 }
 // hvis der blev opdateret i medlemskaber
 if ($opdateret) {
     $messages[] = 'Group members updated.';
 }
 if (!empty($_POST['addmember'])) {
     $opdateret = true;
     try {
         backend_set_gruppemedlemskab($_POST['addmember'], $gruppenavn);
         $messages[] = 'Membership for user <i>' . $_POST['addmember'] . '</i> added.';
     } catch (forkert_input_exception $e) {
         $errors[] = 'Membership for user <i>' . $_POST['addmember'] . '</i> could not be added.';
     }
 }
 if (!empty($_POST['removemember'])) {
     $opdateret = true;
     backend_slet_gruppemedlemskab($_POST['removemember'], $gruppenavn);
     $messages[] = 'Membership for user <i>' . $_POST['removemember'] . '</i> removed.';
 }
 // hvis noget som helst er opdateret
 if ($opdateret) {
     backend_opdater_datafiler();
     // hent de opdaterede gruppemedlmemmer
     $gruppemedlemmer = backend_hent_gruppe_medlemmer($gruppenavn);
Exemple #4
0
function hent_brugers_medlemskaber_test()
{
    echo "Tester hent_brugers_medlemskaber: ";
    setup_testdata1();
    $r = backend_hent_brugers_medlemskaber('nyktte');
    if (count($r) != 0) {
        fejl(__LINE__);
    }
    backend_set_gruppemedlemskab('nyktte', 'testgruppe');
    $r = backend_hent_brugers_medlemskaber('nyktte');
    if (count($r) != 1) {
        fejl(__LINE__);
    }
    if ($r[0]['gruppenavn'] != 'testgruppe') {
        fejl(__LINE__);
    }
    backend_slet_gruppemedlemskab('nyktte', 'testgruppe');
    teardown_testdata1();
    echo "ok\n";
}