Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include("include/session.php");
- class Process {
- /* Class constructor */
- function Process() {
- global $session;
- // echo "<pre>";
- // print_r($_POST);
- // echo "</pre>";
- // die();
- /* User submitted login form */
- if (isset($_POST['sublogin'])) {
- $this->procLogin();
- }
- /* User submitted registration form */
- else if (isset($_POST['subjoin'])) {
- $this->procRegister();
- }
- /* User submitted forgot password form */
- else if (isset($_POST['subforgot'])) {
- $this->procForgotPass();
- }
- /* User submitted edit account form */
- else if (isset($_POST['subedit'])) {
- $this->procEditAccount();
- }
- else if (isset($_POST['vacationsrequest'])){
- $this->vacationsRequest();
- }
- else if (isset($_POST['approvevacations'])){
- $this->approveVacations();
- }
- else if (isset($_POST['vacationdatechange'])) {
- $this->changeVacationsUpdate();
- }
- /**
- * The only other reason user should be directed here
- * is if he wants to logout, which means user is
- * logged in currently.
- */ else if ($session->logged_in) {
- $this->procLogout();
- }
- /**
- * Should not get here, which means user is viewing this page
- * by mistake and therefore is redirected.
- */ else {
- header("Location: index.php");
- }
- }
- /**
- * procLogin - Processes the user submitted login form, if errors
- * are found, the user is redirected to correct the information,
- * if not, the user is effectively logged in to the system.
- */
- function procLogin() {
- global $session, $form;
- /* Login attempt */
- $retval = $session->login($_POST['user'], $_POST['pass'], isset($_POST['remember']));
- /* Login successful */
- if ($retval) {
- $session->logged_in = 1;
- header("Location: " . $session->referrer);
- }
- /* Login failed */ else {
- $session->logged_in = null;
- $_SESSION['value_array'] = $_POST;
- $_SESSION['error_array'] = $form->getErrorArray();
- header("Location: " . $session->referrer);
- }
- }
- /**
- * procLogout - Simply attempts to log the user out of the system
- * given that there is no logout form to process.
- */
- function procLogout() {
- global $session;
- $retval = $session->logout();
- header("Location: index.php");
- }
- /**
- * procRegister - Processes the user submitted registration form,
- * if errors are found, the user is redirected to correct the
- * information, if not, the user is effectively registered with
- * the system and an email is (optionally) sent to the newly
- * created user.
- */
- function procRegister() {
- global $session, $form;
- /* Convert username to all lowercase (by option) */
- if (ALL_LOWERCASE) {
- $_POST['user'] = strtolower($_POST['user']);
- }
- /* Registration attempt */
- $retval = $session->register($_POST['user'], $_POST['pass'], $_POST['email']);
- /* Registration Successful */
- if ($retval == 0) {
- $_SESSION['reguname'] = $_POST['user'];
- $_SESSION['regsuccess'] = true;
- header("Location: " . $session->referrer);
- }
- /* Error found with form */ else if ($retval == 1) {
- $_SESSION['value_array'] = $_POST;
- $_SESSION['error_array'] = $form->getErrorArray();
- header("Location: " . $session->referrer);
- }
- /* Registration attempt failed */ else if ($retval == 2) {
- $_SESSION['reguname'] = $_POST['user'];
- $_SESSION['regsuccess'] = false;
- header("Location: " . $session->referrer);
- }
- }
- /**
- * procForgotPass - Validates the given username then if
- * everything is fine, a new password is generated and
- * emailed to the address the user gave on sign up.
- */
- function procForgotPass() {
- global $database, $session, $mailer, $form;
- /* Username error checking */
- $subuser = $_POST['user'];
- $field = "user"; //Use field name for username
- if (!$subuser || strlen($subuser = trim($subuser)) == 0) {
- $form->setError($field, "* Neįvestas vartotojo vardas<br>");
- } else {
- /* Make sure username is in database */
- $subuser = stripslashes($subuser);
- if (strlen($subuser) < 5 || strlen($subuser) > 30 ||
- !eregi("^([0-9a-z])+$", $subuser) ||
- (!$database->usernameTaken($subuser))) {
- $form->setError($field, "* Vartotojas neegzistuoja<br>");
- }
- }
- /* Errors exist, have user correct them */
- if ($form->num_errors > 0) {
- $_SESSION['value_array'] = $_POST;
- $_SESSION['error_array'] = $form->getErrorArray();
- }
- /* Generate new password and email it to user */ else {
- /* Generate new password */
- $newpass = $session->generateRandStr(8);
- /* Get email of user */
- $usrinf = $database->getUserInfo($subuser);
- $email = $usrinf['email'];
- /* Attempt to send the email with new password */
- if ($mailer->sendNewPass($subuser, $email, $newpass)) {
- /* Email sent, update database */
- $database->updateUserField($subuser, "password", md5($newpass));
- $_SESSION['forgotpass'] = true;
- }
- /* Email failure, do not change password */ else {
- $_SESSION['forgotpass'] = false;
- }
- }
- header("Location: " . $session->referrer);
- }
- /**
- * procEditAccount - Attempts to edit the user's account
- * information, including the password, which must be verified
- * before a change is made.
- */
- function procEditAccount() {
- global $session, $form;
- /* Account edit attempt */
- $retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], $_POST['confirm-newpass'], $_POST['email']);
- /* Account edit successful */
- if ($retval) {
- $_SESSION['useredit'] = true;
- header("Location: " . $session->referrer);
- }
- /* Error found with form */ else {
- $_SESSION['value_array'] = $_POST;
- $_SESSION['error_array'] = $form->getErrorArray();
- header("Location: " . $session->referrer);
- }
- }
- function changeVacationsUpdate() {
- global $session, $database, $form;
- /* Username error checking */
- // echo "<pre>";
- // print_r($_POST);
- // echo "</pre>";
- // die();
- /* Errors exist, have user correct them */
- if ($form->num_errors > 0) {
- // die();
- $_SESSION['value_array'] = $_POST;
- $_SESSION['error_array'] = $form->getErrorArray();
- header("Location: " . $session->referrer);
- }
- /* Update user olevel */ else {
- $datefrom = $_POST['datefrom'];
- $dateto = $_POST['dateto'];
- if(strtotime($datefrom) > strtotime($dateto)) {
- $tempdate = $datefrom;
- $datefrom = $dateto;
- $dateto = $tempdate;
- }
- $today=date("Y-m-d");
- if ($datefrom > date('Y-m-d', strtotime($today . ' +14 days'))){
- // echo $datefrom;
- // die();
- $database->updateRequestField($_POST['vacation_request_id'], "vacations_from", $datefrom);
- $database->updateRequestField($_POST['vacation_request_id'], "vacations_till", $dateto);
- }
- else {
- $_SESSION['datechangeerror'] = false;
- }
- header("Location: " . $session->referrer . "?username=" . $_POST['username']);
- }
- }
- /**
- */
- function vacationsRequest() {
- global $session, $database, $form;
- $vacationsRequest = $_POST;
- // echo "<pre>";
- // print_r($vacationsRequest);
- // echo "</pre>";
- // die();
- if( (isset($vacationsRequest['datefrom']) &&
- !strlen($vacationsRequest['datefrom'] = trim($vacationsRequest['datefrom'])) == 0) &&
- (isset($vacationsRequest['dateto']) &&
- !strlen($vacationsRequest['dateto'] = trim($vacationsRequest['dateto'])) == 0)
- ) {
- $vacationsRequest['username'] = $session->username;
- $datefrom = new DateTime($vacationsRequest['datefrom']);
- $dateto = new DateTime($vacationsRequest['dateto']);
- $days_until_appt = $dateto->diff($datefrom)->days+1;
- $user_info = $database->getUserInfo($vacationsRequest['username']);
- if($user_info != NULL) {
- $max_days = $user_info['max_vacation_days'];
- if ($days_until_appt <= $max_days) {
- $return = $database->saveVacations($vacationsRequest);
- $_SESSION['maxdatechangeerror'] = true;
- if($return) {
- }
- }
- else {
- $_SESSION['maxdatechangeerror'] = false;
- }
- }
- }
- // die();
- header("Location: " . $session->referrer);
- }
- }
- function approveVacations() {
- global $session, $database, $form;
- $approveVacations = $_POST;
- // echo "<pre>";
- // print_r($vacationsRequest);
- // echo "</pre>";
- // die();
- if( (isset($approveVacations['datefrom']) &&
- !strlen($approveVacations['datefrom'] = trim($approveVacations['datefrom'])) == 0) &&
- (isset($approveVacations['dateto']) &&
- !strlen($approveVacations['dateto'] = trim($approveVacations['dateto'])) == 0)
- ) {
- $approveVacations['username'] = $session->username;
- // echo "<br>rezultatai:";
- // echo "<pre>";
- // print_r($vacationsRequest);
- // echo "</pre>";
- // die();
- $return = $database->saveApprovedVacations($approveVacations);
- if($return) {
- }
- }
- // die();
- header("Location: " . $session->referrer);
- }
- /* Initialize process */
- $process = new Process;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement