$formdata_databasehent = true; $messages[] = 'The user is now signed off.'; } // hvis netsignup eller resetpassword er valgt, saa generer ogsaa nyt password if ($formdata['action'] == 'netsignup' || $formdata['action'] == 'resetpassword') { $setbrugerdata['password'] = backend_generer_passwd(); $smarty->assign('printlogin', true); $smarty->assign('password', $setbrugerdata['password']); $messages[] = 'A new login paper is created. <a href="javascript:window.print();">Print this page</a>.'; $formdata_databasehent = true; } if ($formdata['action'] == 'nothing') { $messages[] = 'User data updated.'; } // opdater brugerdata backend_set_brugerdata($brugernavn, $setbrugerdata); backend_opdater_datafiler(); } } else { // hvis data ikke er sendt, brug data fra database $formdata_databasehent = true; } $brugere = backend_hent_brugere(array('brugernavn' => $brugernavn)); $brugerdata = $brugere[0]; if ($formdata_databasehent == true) { $formdata = array('email' => $brugerdata['email'], 'mobilnummer' => $brugerdata['mobilnummer'], 'hjemmeside' => $brugerdata['hjemmeside'], 'skjult_navn' => (bool) $brugerdata['skjult_navn'], 'skjult_email' => (bool) $brugerdata['skjult_email']); } $smarty->assign('brugerdata', $brugerdata); $smarty->assign('formdata', $formdata); $smarty->assign('messages', $messages); $smarty->assign('contenttemplate', 'admin-users-edit.tpl');
$formdata = array('email' => $_POST['email'], 'mobilnummer' => $_POST['mobilnummer'], 'hjemmeside' => $_POST['hjemmeside'], 'skjult_navn' => (bool) $_POST['skjult_navn'], 'skjult_email' => (bool) $_POST['skjult_email']); // valider inputs $validate_errors = array(); if (!validate_email($formdata['email'])) { $validate_errors[] = 'Invalid email address.'; } if (!empty($_POST['newpassword']) && $_POST['newpassword'] != $_POST['newpassword2']) { $validate_errors[] = 'The two password fields is not equal.'; } if (sizeof($validate_errors) > 0) { $smarty->assign('errors', $validate_errors); } else { // ingen valideringsfejl, så opdater data // hvis passwordfeltet er udfyldt, sendes dette med de øvrige data i backend_set_brugerdata if (!empty($_POST['newpassword'])) { $formdata['password'] = $_POST['newpassword']; } backend_set_brugerdata($_SESSION['brugernavn'], $formdata); backend_opdater_datafiler(); $smarty->assign('messages', array('The account data is updated.')); } } else { $formdata = array('email' => $brugerdata['email'], 'mobilnummer' => $brugerdata['mobilnummer'], 'hjemmeside' => $brugerdata['hjemmeside'], 'skjult_navn' => (bool) $brugerdata['skjult_navn'], 'skjult_email' => (bool) $brugerdata['skjult_email']); } $smarty->assign('brugerdata', $brugerdata); $smarty->assign('formdata', $formdata); $smarty->assign('contenttemplate', 'user-account.tpl'); } catch (Exception $e) { fatal_error($e); } $smarty->display(WEBFRONTEND_MAINTEMPLATE);
function valider_bruger_og_password_test() { echo "Tester valider_bruger_og_password: "******"SELECT * FROM brugere WHERE brugernavn LIKE 'nyktte'"); //if($r[0]['password_cleartext'] == '') fejl(__LINE__); backend_set_brugerdata('nyktte', array('password' => 'testpass')); //$r = backend_dbquery("SELECT * FROM brugere WHERE brugernavn LIKE 'nyktte'"); //if($r[0]['password_cleartext'] != 'testpass') fejl(__LINE__); if (backend_valider_bruger_og_password('nyktte', 'testpass') != true) { fejl(__LINE__); } if (backend_valider_bruger_og_password('nyktte', 'x') != false) { fejl(__LINE__); } teardown_testdata1(); echo "ok\n"; }
/** * 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; }
/** * Opdaterer eventuelle felter for fremlejere i bruger-tabellen i databasen ud * fra 'lejemaal'-entry fra KABAS udtræk. * * @param object $lejemaal SimpleXML-objekt af 'lejemaal'-entry */ function opdater_fremlejer_bruger_fra_kabas_lejemaal($lejemaal, $brugernavn) { $r = backend_hent_brugere(array('brugernavn' => $brugernavn), 'vaerelse', false, 'alle'); if (count($r) == 0) { log_skriv('fejl, forsoegte at opdatere fremlejer som ikke var oprettet, ' . 'KAB lejemaal id: ' . $lejemaal->id . ', brugernavn: ' . $brugernavn); } else { $bruger = $r[0]; // ting der skal ændres $delta = array(); // er fremlejer navn blevet ændret? $navn = klargoer_navn($lejemaal->fremlNavn); if ($bruger['navn'] != $navn) { $delta['navn'] = $navn; } // er indflytningsdato blevet ændret? $ind = $lejemaal->fremlFra ? fixfremldate($lejemaal->fremlFra) : null; if ($bruger['indflytning'] != $ind) { $delta['indflytning'] = $ind; } // er udflytningsdato blevet ændret? $ud = $lejemaal->fremlTil ? fixfremldate($lejemaal->fremlTil) : null; if ($bruger['udflytning'] != $ud) { $delta['udflytning'] = $ud; } // hvis der er ændringer skal de gemmes i databasen if ($delta != null) { backend_set_brugerdata($bruger['brugernavn'], $delta); log_skriv('rettet brugerdata for ' . $bruger['brugernavn'] . '. Navn: ' . $navn . ' (fremlejer), KAB lejemaal id: ' . $lejemaal->id . ', delta: ' . json_encode($delta)); } } }