Exemplo n.º 1
0
 public function signupFormCallback($args, $action, $mem_redirect, $mem_resend)
 {
     //$mem_redirect->post = $vars;
     foreach ($args->post as $key => $value) {
         $_SESSION['SignupBWVars'][$key] = $value;
     }
     $StrLog = "Entering signupFormCallback ";
     if (!empty($args->post["Username"])) {
         $StrLog = $StrLog . " Username=[" . $args->post["Username"] . "]";
     }
     if (!empty($args->post["geonameid"])) {
         $StrLog = $StrLog . " geonameid=[" . $args->post["geonameid"] . "]";
     }
     if (!empty($args->post["iso_date"])) {
         $StrLog = $StrLog . " iso_date=[" . $args->post["iso_date"] . "]";
     }
     MOD_log::get()->write($StrLog, "Signup");
     $vars = $_SESSION['SignupBWVars'];
     $request = $args->request;
     if (isset($request[1]) && $request[1] == '4') {
         $model = new SignupModel();
         $errors = $model->checkRegistrationForm($vars);
         if (count($errors) > 0) {
             // show form again
             $_SESSION['SignupBWVars']['errors'] = $errors;
             $mem_redirect->post = $vars;
             return false;
         }
         $model->polishFormValues($vars);
         if (!($idTB = $model->registerTBMember($vars))) {
             // MyTB registration didn't work
         } else {
             // signup on MyTB successful, yeah.
             $id = $model->registerBWMember($vars);
             $_SESSION['IdMember'] = $id;
             $vars['feedback'] .= $model->takeCareForNonUniqueEmailAddress($vars['email']);
             $vars['feedback'] .= $model->takeCareForComputerUsedByBWMember();
             $model->writeFeedback($vars['feedback']);
             $View = new SignupView($model);
             // TODO: BW 2007-08-19: $_SYSHCVOL['EmailDomainName']
             // look at that ... a two years plus old todo :) ... and now four years plus :P
             // finally 6 years and counting...
             define('DOMAIN_MESSAGE_ID', 'bewelcome.org');
             // TODO: config
             $View->registerMail($vars, $id, $idTB);
             $View->signupTeamMail($vars);
             unset($_SESSION['IdMember']);
             return 'signup/finish';
         }
     }
     return false;
 }
 public function indexAction()
 {
     header('content-type: application/json');
     header('Access-Control-Allow-Origin: *');
     header('Access-Control-Allow-Methods: POST');
     $valid = true;
     $errors = [];
     $username = trim(ucwords(strtolower(htmlentities($_POST['username']))));
     $first_name = trim(ucwords(strtolower(htmlentities($_POST['first-name']))));
     $last_name = trim(ucwords(strtolower(htmlentities($_POST['last-name']))));
     $mail = trim(htmlentities(strtolower($_POST['mail'])));
     $password = trim(htmlentities($_POST['password']));
     $password2 = trim(htmlentities($_POST['password2']));
     if (!isset($username) || empty($username)) {
         $errors['username'] = '******';
         $valid = false;
     } elseif (strlen($username) < 6) {
         $errors['username'] = '******';
         $valid = false;
     } elseif (strlen($username) > 24) {
         $errors['username'] = '******';
         $valid = false;
     }
     if (!isset($first_name) || empty($first_name)) {
         $errors['firstName'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif (strlen($first_name) < 2) {
         $errors['firstName'] = '<span class="errors">2 caractères min</span>';
         $valid = false;
     } elseif (strlen($first_name) > 32) {
         $errors['firstName'] = '<span class="errors">32 caractères max</span>';
         $valid = false;
     }
     if (!isset($last_name) || empty($last_name)) {
         $errors['lastName'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif (strlen($last_name) < 2) {
         $errors['lastName'] = '<span class="errors">2 caractères min</span>';
         $valid = false;
     } elseif (strlen($last_name) > 32) {
         $errors['lastName'] = '<span class="errors">32 caractères max</span>';
         $valid = false;
     }
     if (!isset($mail) || empty($mail)) {
         $errors['mail'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
         $errors['mail'] = '<span class="errors">Format incorrect</span>';
         $valid = false;
     }
     if (!isset($password) || empty($password)) {
         $errors['password'] = '******';
         $valid = false;
     } elseif (strlen($password) < 8) {
         $errors['password'] = '******';
         $valid = false;
     }
     if (!isset($password2) || empty($password2)) {
         $errors['password2'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif ($password2 !== $password) {
         $errors['password2'] = '<span class="errors">Non identiques</span>';
         $valid = false;
     }
     $errors['valid'] = $valid;
     if ($valid) {
         $timestamp = time();
         $hash = hash('sha256', strrev($timestamp) . $password . '\\Rand0msalT/');
         $errors['create'] = SignupModel::create($this->pdo, $username, $first_name, $last_name, $mail, $hash, $timestamp);
     }
     echo json_encode($errors);
 }