/** * Event method for signin * @param $eventControler -- Object */ function eventSignIn(EventControler $eventControler) { parent::eventSignIn($eventControler); if ($eventControler->goto == "i_contacts.php") { $this->is_mobile = true; } }
function validateaccount($email, $rand_key_confirm) { $rand_key = $rand_key_confirm; $PDO = Record::getConnection(); $check_validated = "SELECT * FROM " . TABLE_PREFIX . "user WHERE email='{$email}'"; $result = $PDO->prepare($check_validated); $result->execute(); $count = $result->rowCount(); if ($count > 0) { $settings = Plugin::getAllSettings("registered_users"); $met = $settings["message_error_technical"]; $message_empty_name = $settings["message_empty_name"]; $message_empty_email = $settings["message_empty_email"]; $message_empty_username = $settings["message_empty_username"]; $message_empty_password = $settings["message_empty_password"]; $message_empty_password_confirm = $settings["message_empty_password_confirm"]; $message_notvalid_password = $settings["message_notvalid_password"]; $message_notvalid_username = $settings["message_notvalid_username"]; $message_notvalid_email = $settings["message_notvalid_email"]; $message_error_already_validated = $settings["message_error_already_validated"]; echo $message_error_already_validated; } else { $today = date('Y-m-d G:i:s'); $registration_temp = "SELECT * FROM " . TABLE_PREFIX . "registered_users_temp WHERE email='{$email}'"; foreach ($PDO->query($registration_temp) as $row) { $name = $row['name']; $email = $row['email']; $username = $row['username']; $password = $row['password']; $rand_key = $row['rand_key']; $reg_date = $row['reg_date']; $welcome_message = $row['welcome_message']; $message_notvalid_password = $row['message_notvalid_password']; } if ($rand_key_confirm == $rand_key) { // Let's transfer the user from the temp table to the user table //$update_user_table = "INSERT INTO ".TABLE_PREFIX."user (`id`,`name`,`email`,`username`,`password`,`created_on`,`updated_on`,`created_by_id`,`updated_by_id`) VALUES ('','$name','$email','$username','$password','$reg_date','$today','','');"; //$stmt = $__CMS_CONN__->prepare($update_user_table); //$stmt->execute(); $user = new User(); $user->name = $name; $user->email = $email; $user->username = $username; $user->salt = AuthUser::generateSalt(); $user->password = AuthUser::generateHashedPassword($password, $user->salt); $user->created_on = $reg_date; $user->updated_on = $today; $user->save(); // We don't need them in the temp table anymore $delete_temp_user = "******" . TABLE_PREFIX . "registered_users_temp WHERE email='{$email}'"; $stmt = $PDO->prepare($delete_temp_user); $stmt->execute(); // And let's make sure we have some permissions set so that user can then do something! // First we need the default permssion ID $def_permission = Plugin::getSetting("default_permissions", "registered_users"); // Then we need the correct user ID /*$user = "******".TABLE_PREFIX."user WHERE email='$email'"; foreach ($__CMS_CONN__->query($user) as $row) { $id = $row['id']; }*/ $id = $user->id; $set_permissions = "INSERT INTO " . TABLE_PREFIX . "user_role (`user_id`,`role_id`) VALUES ('{$id}','{$permission_id}');"; $stmt = $PDO->prepare($set_permissions); $stmt->execute(); // We also need to add the profile settings into DB $addprofile = "INSERT INTO " . TABLE_PREFIX . "user_profile (`id`,`firstlogin`,`subscribe`,`sysnotifications`,`haspic`,`profile_blurb`) VALUES ({$id},'1','1','1','0','your public profile...');"; $addprofile = $PDO->prepare($addprofile); $addprofile->execute(); echo $welcome_message; $loadloginclass = new RegisteredUser(); $loadloginclass->login_page(); } else { echo $message_notvalid_password; } } }
function ru_reset_page() { $registered_users_class = new RegisteredUser(); $reset_page = $registered_users_class->password_reset(); echo $reset_page; }
//RegisteredUser UNIT TESTS //////////////////////////////// printf("/////////////////////////////////\n"); printf("STARTING RegisteredUser UNIT TESTS\n"); printf("/////////////////////////////////\n"); $user = new RegisteredUser(); //register new user $user->register("armand", "abc123", "*****@*****.**", "Armand", "Nokbak", "MS", "Starkville"); unset($user); //get existing user $user = new RegisteredUser('armand'); //get existing user data $email = $user->getEmail(); printf("Armand's email is %s\n", $email); //get existing user $user2 = new RegisteredUser("armand5"); //login successful (print true) $loginSuccess = $user2->login("armand5", "abc123"); if (is_null($loginSuccess)) { $pass_fail = "fail"; } else { $pass_fail = $loginSuccess; } printf("User %s logged in successfully: %s\n", "armand5", $pass_fail); //login unsuccessful (print false) $loginSuccess2 = $user2->login("armand5", "abc12"); if (is_null($loginSuccess2)) { $pass_fail = "fail"; } else { $pass_fail = $loginSuccess2; }
<?php /** * Generates RegisteredUsers and stores them in the database for testing */ const MAX_USERS_TO_GENERATE = 20; require_once __DIR__ . '/../models/RegisteredUser.php'; if ($_SERVER['REQUEST_METHOD'] != 'POST') { echo "This page must be requested using POST."; die; } $usersToGenerate = filter_input(INPUT_POST, 'usersToGenerate', FILTER_VALIDATE_INT); if (empty($usersToGenerate) || $usersToGenerate < 1 || $usersToGenerate > MAX_USERS_TO_GENERATE) { echo "Number of users to generate must be between 1 and " . MAX_USERS_TO_GENERATE; die; } const ALPHABET = 'abcdefghijklmnopqrstuvwxyz'; for ($i = 0; $i < $usersToGenerate; $i++) { $user = new RegisteredUser(); $user->displayName = str_shuffle(ALPHABET); $user->email = "{$user->displayName}@example.com"; $user->dateRegistered = date('Y-m-d H:i:s'); $user->dateLastLoggedIn = date('Y-m-d H:i:s'); $user->accountEnabled = false; $user->admin = false; $user->setPassword($user->displayName); $user->save(); } echo "Done.";
} } /** * Check if user is activated or not. * * @return type bool */ public function checkIfEnabled() { return $this->accountEnabled; } public function createVerificationHash() { $this->verificationHash = md5(rand()); } /** * Activate user once they click verification link from email. * * @param type $hash */ public function activateUser($hash) { if ($hash == $this->verificationHash) { $this->accountEnabled = true; } else { echo "Hash did not match."; } } } RegisteredUser::$objects = new RegisteredUserManager('RegisteredUser');
<!DOCTYPE html> <?php /** * Testing script for RegisteredUser model * * @author Ben Saylor */ require_once "../models/RegisteredUser.php"; $goodPassword = "******"; $badPassword = "******"; $user = new RegisteredUser(); $user->setPassword($goodPassword); ?> <html> <head> <meta charset="UTF-8"> <title>Test RegisteredUser</title> </head> <body> <h1>Testing checkPassword()</h1> <pre> <?php if ($user->checkPassword($goodPassword)) { echo "checkPassword gave goodPassword a thumbs-up -- OK!\n"; } else { echo "checkPassword gave goodPassword a thumbs-down -- Not OK!\n"; } if ($user->checkPassword($badPassword)) { echo "checkPassword gave badPassword a thumbs-up -- Not OK!\n"; } else {
session_name("PAWS_SESSION_ID"); session_start(); require_once __DIR__ . '/../models/RegisteredUser.php'; require_once __DIR__ . '/../models/Message.php'; require_once __DIR__ . '/../messaging/MessagingService.php'; /* * Validates entries and stores them in the RegisteredUser model. */ if ($_SERVER['REQUEST_METHOD'] != 'POST') { echo "This page must be requested using POST."; die; } // Insterting new user. if (empty($_POST['id'])) { $user = new RegisteredUser(); } // Making sure all fields are valid. if (formValidation()) { // Saving user to database. $user->email = $_POST['email']; $user->displayName = $_POST['displayName']; $user->dateRegistered = date("Y-m-d H:i:s"); $user->dateLastLoggedIn = date("Y-m-d H:i:s"); $user->setPassword($_POST['password']); $user->createVerificationHash(); $user->save(); // Generating a verification email. $message = new Message(); $message->recipientId = $user->id; $message->subject = 'PAWS Signup Verification';
/** * Get a summary of task timing for a given period * * @param RegisteredUser $user * @param int $taskid * @param int $projectid * @param int $clientid * @param time $start * @param time $end * @return ArrayObject */ public function getSummaryTimesheet($user = null, $taskid = null, $projectid = null, $clientid = null, $timesheet = -1, $start = null, $end = null) { $select = $this->dbService->select()->from('task', array(new Zend_Db_Expr('task.title as title'), 'id'))->joinLeft('crmuser', 'task.userid=crmuser.username', 'username')->joinLeft('timesheetrecord', 'task.id=timesheetrecord.taskid', new Zend_Db_Expr('SUM(endtime - starttime) as timespent')); $select = $this->filterBaseTimesheetQuery($select, $taskid, $projectid, $clientid, $start, $end); // If we weren't passed a user, just load // one from the request if ($user != null) { $select->where('task.userid = ?', $user->getUsername()); } if ($timesheet >= 0) { $select->where('timesheetrecord.timesheetid = ?', $timesheet); } $select->group(new Zend_Db_Expr('task.id')); $select->order('endtime DESC'); $tasks = $this->dbService->fetchObjects('task', $select); return $tasks; }