/** * To register new user * Subject for validations (e.g username length) **/ public function registration() { $username = Param::get('username'); $password = Param::get('pword'); $password_match = Param::get('pword_match'); $fname = Param::get('fname'); $lname = Param::get('lname'); $email = Param::get('email'); $registration = new Registration(); $login_info = array('username' => $username, 'user_password' => $password, 'fname' => $fname, 'lname' => $lname, 'email' => $email); //To check if all keys are null if (!array_filter($login_info)) { $status = ""; } else { try { foreach ($login_info as $key => $value) { if (!is_complete($value)) { throw new ValidationException("Please fill up all fields"); } } if (!is_password_match($password, $password_match)) { throw new ValidationException("Password did not match"); } $info = $registration->userRegistration($login_info); $status = notice("Registration Complete"); } catch (ExistingUserException $e) { $status = notice($e->getMessage(), "error"); } catch (ValidationException $e) { $status = notice($e->getMessage(), "error"); } } $this->set(get_defined_vars()); }
// test password if ($loginCookie != '' && $passwordCookie != '' && $tokenCookie != '') { if (!$ssl && $passwordCookie != $loginUser->mem_password[0]) { $error = $strings['invalid_login']; setcookie('NetOfficeAuthCookie', '', time() - 3600, $base_uri); } else { // password passed, now test token if (!$ssl && $tokenCookie != md5($loginCookie . $cryptKey)) { $error = $strings['invalid_login']; setcookie('NetOfficeAuthCookie', '', time() - 3600, $base_uri); } else { $match = true; } } } else { if (!$ssl and !is_password_match($loginForm, $passwordForm, $loginUser->mem_password[0])) { $error = $strings['invalid_login']; } else { $match = true; } } if ($match == true) { // encrypt password in session using the defined loginMethod from settings.php $passwordForm = get_password($passwordForm); // get the ip addr $ip = SESS_REMOTE_ADDR; // set session variables $_SESSION['browserSession'] = $HTTP_USER_AGENT; $_SESSION['idSession'] = $loginUser->mem_id[0]; $_SESSION['timezoneSession'] = $loginUser->mem_timezone[0]; $_SESSION['languageSession'] = $languageForm;
$_SESSION['icalAuth'] = false; } if (!$_SERVER['PHP_AUTH_USER'] && $_SESSION['icalAuth'] === false) { authenticate(); exit; } if ($_SESSION['icalAuth'] === false) { $tmpquery = "WHERE mem.login = '******'PHP_AUTH_USER']) . "' AND mem.login != 'demo' AND mem.profil != '4'"; $listMember = new request(); $listMember->openMembers($tmpquery); $comptListMember = count($listMember->mem_id); if ($comptListMember != 1) { authenticate(); exit; } if (!is_password_match(mysql_escape_string($_SERVER['PHP_AUTH_USER']), mysql_escape_string($_SERVER['PHP_AUTH_PW']), $listMember->mem_password[0])) { authenticate(); exit; } $_SESSION['idSession'] = $listMember->mem_id[0]; $_SESSION['icalAuth'] = true; } // load the base iCal class require_once '../includes/ical/class.iCal.inc.php'; $iCal = new iCal('-//netoffice.sourceforge.net//NetOffice v' . $version . '//' . strtoupper($langDefault), 0, ''); // now get the open task(s) for user_name $tmpquery = "WHERE tas.assigned_to = '" . $_SESSION['idSession'] . "' AND tas.status IN(0,2,3) AND pro.status IN(0,2,3)"; $listTasks = new request(); $listTasks->openTasks($tmpquery); $comptListTasks = count($listTasks->tas_id); // iCal VTODO: Open Task(s)
} else { // log in user login($email, $password); return true; } } function is_password_match($password, $repeat) { return strcmp($password, $repeat) == 0 ? true : false; } if (isset($_POST['create_account'])) { $name = $_POST['name']; $email = $_POST['email']; $password = $_POST['password']; $repeat_password = $_POST['repeat_password']; $is_valid_password = is_password_match($password, $repeat_password); if ($is_valid_password) { $result = create_account($email, $password, $name); if ($result) { $success = "New account created successfully! Welcome" . $name; } else { $error = "A user with that email already exists. Have you forgotten your password?"; } } else { $error = "Please check that your passwords match!"; } } ?> <!DOCTYPE html> <html lang="en">