public static function registerUser() { $newUser = new User(); $username = $_POST['username']; $password = $_POST['password']; $password2 = $_POST['password2']; $boo = FALSE; $errors = User::validateUsername($username); if (count($errors) > 0) { View::make('/user/register.html', array('message' => $errors[0])); } $errors = User::validatePassword($password); if (count($errors) > 0) { View::make('/user/register.html', array('username' => $username, 'message' => $errors[0])); } $newUser->setUsername($username); $newUser->setPassword($password); $newUser->setAdmin($boo); if ($password == $password2) { $newUser->saveUser(); $_SESSION['user'] = $newUser->user_id; } else { Redirect::to('/register', array('username' => $username, 'message' => 'Passwords do not match.')); } Redirect::to('/', array('message' => 'User has been registered.')); }
function create_new_user() { $u = new User(); $u->setUsername($_POST['username']); $u->setPassword($_POST['password']); $u->setAdmin(isset($_POST['role'])); $u->save(); return $u->getMessages(); }
public static function createSampleUser($forename, $surname, $dn) { $u = new User(); $u->setForename($forename); $u->setSurname($surname); $u->setCertificateDn($dn); $u->setAdmin(FALSE); return $u; }
public function fillUserAttributesFromQuery($row) { $user = new User(); $user->setUser_id($row->user_id); $user->setUsername($row->username); $user->setPassword($row->password); $user->setAdmin($row->admin); $user->setLast_login($row->last_login); return $user; }
// echo "Identical DN inserted apart from right hand whitespace: " // . $dn . "-----------\r\n"; // continue; // } // $rightWhiteDNs[rtrim($dn)] = true; $doctrineUser = new User(); $doctrineUser->setForename((string) $user->FORENAME); $doctrineUser->setSurname((string) $user->SURNAME); $doctrineUser->setTitle((string) $user->TITLE); $doctrineUser->setEmail((string) $user->EMAIL); $doctrineUser->setTelephone((string) $user->TEL); $doctrineUser->setWorkingHoursStart((string) $user->WORKING_HOURS_START); $doctrineUser->setWorkingHoursEnd((string) $user->WORKING_HOURS_END); //$doctrineUser->setCertificateDn((string) $user->CERTDN); $doctrineUser->setCertificateDn($dn); $doctrineUser->setAdmin(false); // echo "DN is " . (string) $doctrineUser->getCertificateDn() . ".\r\n"; // Roughly half of users don't have a home site set if ($user->HOMESITE != "" && !isBad($user->HOMESITE)) { // get the home site entity $dql = "SELECT s from Site s WHERE s.shortName = ?1"; $homeSites = $entityManager->createQuery($dql)->setParameter(1, (string) $user->HOMESITE)->getResult(); /* Error checking: ensure each "home site" refers to exactly * one home site */ if (count($homeSites) !== 1) { throw new Exception(count($homeSites) . " sites found with short name: " . $user->HOMESITE . ". user DN is " . $user->CERTDN); } foreach ($homeSites as $result) { $homeSite = $result; } $doctrineUser->setHomeSiteDoJoin($homeSite);
function login_ldap($username, $password) { // ldap connecting: must be a valid LDAP server! try { $ds = ldap_connect("ds.uni-sofia.bg"); } catch (Exception $e) { $error = new Error("User: {$username} failed login:"******"uid={$username},ou=People,dc=uni-sofia,dc=bg"; $userbind = ldap_bind($ds, $user_dn, $password); // verify binding if ($userbind) { global $ldapRdn; global $ldapPass; // set ldap bind variables $ldaprdn = $ldapRdn; $ldappass = $ldapPass; // binding to ldap server $ldapbind = ldap_bind($ds, $ldaprdn, $ldappass); // verify binding if ($ldapbind) { // data array $array = array("displayname", "mail", "title", "suscientifictitle", "suscientificdegree", "suFaculty", "suDepartment", "suStudentFaculty", "ou", "objectclass"); //$array = array("displayname", "mail", "title"); $sr = ldap_search($ds, "ou=People,dc=uni-sofia,dc=bg", "(uid={$username})", $array, 0, 0, 0); $pass = md5($password); $email = ""; $givenname = ""; $title = ""; $staff_groups = ""; $student_groups = ""; $staff_groups_id = array(); $student_groups_id = array(); $student_groups_array = array(); $staff_groups_array = array(); $info = ldap_get_entries($ds, $sr); for ($i = 0; $i < count($info); $i++) { if (isset($info[$i]['mail'])) { $email = $info[$i]['mail'][0]; } if (isset($info[$i]['displayname'])) { $givenname = $info[$i]['displayname'][0]; } if (isset($info[$i]['title'])) { $title .= $info[$i]['title'][0]; } if (isset($info[$i]['suscientifictitle'])) { $title .= " " . $info[$i]['suscientifictitle'][0]; } if (isset($info[$i]['suscientificdegree'])) { $title .= " " . $info[$i]['suscientificdegree'][0]; } if (isset($info[$i]['objectclass'])) { if (in_array("suStudentPerson", $info[$i]['objectclass']) && !in_array("suFacultyPerson", $info[$i]['objectclass'])) { if (isset($info[$i]['sustudentfaculty'])) { foreach ($info[$i]['sustudentfaculty'] as $student_group) { if (!is_int($student_group)) { array_push($student_groups_array, $student_group); } } } elseif (isset($info[$i]['sufaculty'])) { foreach ($info[$i]['sufaculty'] as $student_group) { if (!is_int($student_group)) { array_push($student_groups_array, $student_group); } } } } if (in_array("suStaffPerson", $info[$i]['objectclass']) || in_array("suFacultyPerson", $info[$i]['objectclass'])) { if (isset($info[$i]['sufaculty'])) { foreach ($info[$i]['sufaculty'] as $staff_group) { if (!is_int($staff_group) && !in_array($staff_group, $student_groups_array)) { array_push($staff_groups_array, $staff_group); } } } if (isset($info[$i]['sudepartment'])) { foreach ($info[$i]['sudepartment'] as $staff_group) { if (!is_int($staff_group)) { array_push($staff_groups_array, $staff_group); } } } } } } // get the ids of the staff groups foreach ($staff_groups_array as $staff_group_name) { $staff_group_ids = get_group_by_name($staff_group_name); if (!empty($staff_group_ids)) { foreach ($staff_group_ids as $group_id) { $group = new Group(); $group->get_from_db($group_id); if ($group->getLocal() == "0" && $group->getStudent() == "0" && $group->getStaff() == "1") { array_push($staff_groups_id, $group_id); } } } } // get the ids of the student groups foreach ($student_groups_array as $student_group_name) { $student_group_ids = get_group_by_name($student_group_name); if (!empty($student_group_ids)) { foreach ($student_group_ids as $group_id) { $group = new Group(); $group->get_from_db($group_id); if ($group->getLocal() == "0" && $group->getStudent() == "1" && $group->getStaff() == "0") { array_push($student_groups_id, $group_id); } } } } // set common properties $staff_groups .= serialize($staff_groups_id); $student_groups .= serialize($student_groups_id); $user = new User(); $user->setUsername($username); $user->setPassword($pass); $user->setLocal(0); $user_exists = get_user_by_username($username); $time_now = date("Y-m-d H:i:s"); if (!empty($user_exists)) { $user->get_from_db($user_exists[0]); $user->setGivenname($givenname); $user->setTitle($title); $user->setStaffGroups($staff_groups); $user->setStudentGroups($student_groups); $user->setId($user_exists[0]); $user->setId($pass); $user->setLastEditedOn($time_now); $user->update_in_db(); $info = new Info("User: id " . $user->getId() . " update in db"); $info->writeLog(); } else { $user->setEmail($email); $user->setCanVote(1); $user->setCanAsk(0); $user->setAdmin(0); $user->setGivenname($givenname); $user->setTitle($title); $user->setStaffGroups($staff_groups); $user->setStudentGroups($student_groups); $user->setLocalGroups(serialize(array())); $user->setIsActive(1); $user->setCreatedOn($time_now); $user->setLastEditedOn($time_now); $user->store_in_db(); $info = new Info("User: {$username} added in db"); $info->writeLog(); } ldap_close($ds); } } } catch (Exception $e) { $error = new Error("User: {$username} failed login:"******"LDAP server unavailable"); $error->writeLog(); } }
/** * Array * ( * [TITLE] => Mr * [FORENAME] => Testing * [SURNAME] => TestFace * [EMAIL] => JCasson@gmail.com * [TELEPHONE] => 01235 44 5010 * [CERTIFICATE_DN] => /C=UK/O=eScience/OU=CLRC/L=RAL/CN=claire devereuxxxx * ) * @param array $values User details, defined above */ public function register($values) { // validate the input fields for the user $this->validateUser($values); // Check the DN isn't already registered $user = $this->getUserByPrinciple($values['CERTIFICATE_DN']); if (!is_null($user)) { throw new \Exception("DN is already registered in GOCDB"); } //Explicity demarcate our tx boundary $this->em->getConnection()->beginTransaction(); $user = new \User(); try { $user->setTitle($values['TITLE']); $user->setForename($values['FORENAME']); $user->setSurname($values['SURNAME']); $user->setEmail($values['EMAIL']); $user->setTelephone($values['TELEPHONE']); $user->setCertificateDn($values['CERTIFICATE_DN']); $user->setAdmin(false); $this->em->persist($user); $this->em->flush(); $this->em->getConnection()->commit(); } catch (\Exception $ex) { $this->em->getConnection()->rollback(); $this->em->close(); throw $ex; } return $user; }
function find($criteria = null, $order = null, $limit = 1000, $from = 0) { $result = $this->database->query($this->buildFindQuery($criteria, $order, $limit, $from)); if (!is_null($result->getError())) { return $result->getError(); } $users = array(); while ($row = $result->fetchRow()) { $user = new User(); $value = $row[0]; $user->setId($value); $value = $row[1]; $user->setUser($value); $value = $row[2]; $user->setPassword($value); $value = $row[3]; $value = $this->database->toBoolean($value); $user->setActive($value); $value = $row[4]; $value = $this->database->toBoolean($value); $user->setAdmin($value); $value = $row[5]; $user->setR_date($value); $value = $row[6]; $user->setR_user($value); if ($order != null) { array_push($users, $user); } else { $users[$user->getId()] = $user; } } return $users; }
} $this_user->setUsername($parms->getParm('username')); $this_user->setFullname($parms->getParm('fullname')); // check password matches if ($parms->getParm('newpassword') != $parms->getParm('repeatpassword')) { // in future should instead recreate form with rest of details readded header("Location: adduser.php?message=passwordmatch"); exit(0); } $this_user->setPassword(md5($parms->getParm('newpassword'))); $this_user->setAccess($parms->getParm('access')); $this_user->setEnabled($parms->getParm('status')); // expiry is a value in secs - no need to convert $this_user->setLoginexpiry($parms->getParm('loginexpiry')); $this_user->setSupervisor($parms->getParm('supervisor')); $this_user->setAdmin($parms->getParm('admin')); // save entry $kdb->insertUser($this_user); include "inc/dashboardheaders.php"; print <<<EOT {$header} {$login_banner} {$main_banner} {$menu_banner} {$main_menu} <h1>New user added</h1> <p>Click below to see all users.</p> <p><a href="listusers.php">Dashboard - List Users</a></p>. {$footer} EOT;