Example #1
0
 public static function register(&$return)
 {
     /* make sure all data is set */
     foreach (self::$registerFormInputs as $value) {
         if (empty($_POST[$value]) || !isset($_POST[$value])) {
             $return['field'] = $value;
             $return['error'] = 'No data!';
             return $return;
         }
     }
     /* name less then 20 characters */
     $name = formatString($_POST['register_name']);
     /* format the name to make it look nicer */
     if (strlen($name) > 20) {
         $return['field'] = 'register_name';
         $return['error'] = 'Name too long!';
         return $return;
     }
     /* name only a-z09 */
     if (preg_match("/^[a-zA-Z0-9]+\$/", $name) == 0) {
         $return['field'] = 'register_name';
         $return['error'] = 'Invalid characters!';
         return $return;
     }
     /* valid email */
     $email = filter_var($_POST['register_email'], FILTER_SANITIZE_EMAIL);
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
         $return['field'] = 'register_email';
         $return['error'] = 'Invalid email';
         return $return;
     }
     $pass = $_POST['register_pass'];
     $confPass = $_POST['register_conf_pass'];
     /* passwords match */
     if ($pass !== $confPass) {
         $return['field'] = 'register_pass';
         $return['error'] = 'Passwords do not match!';
         return $return;
     }
     /* data should be valid now */
     /* verify name dosn't exist */
     if (self::nameExists($name)) {
         $return['field'] = 'register_name';
         $return['error'] = 'That username is already taken.';
         return $return;
     }
     /* verify email dosn't exist */
     if (self::emailExists($email)) {
         /* dosnt work ! */
         $return['field'] = 'register_email';
         $return['error'] = 'An account with that email already exists!';
         return $return;
     }
     if (self::hasTooManyAccounts()) {
         $return['error'] = 'Too many accounts created from your IP! Please use one of your existing accounts.';
         return $return;
     }
     /* ready to create a new user */
     $user = new Account_User();
     $user->name = $name;
     $user->joinDate = 'CURRENT_TIMESTAMP';
     $user->email = $email;
     $user->privelage = 'REGULAR';
     $user->password = password_hash($pass, PASSWORD_DEFAULT);
     /* create salt, encode password */
     $user->createIP = findIPLong();
     $user->lastIP = findIPLong();
     if ($user->insert('account_user') !== false) {
         $return['sucess'] = true;
     }
     return $return;
 }