public function registerpost($f3) { // Exit immediately if public registrations are disabled if (!$f3->get("site.public_registration")) { $f3->error(400); return; } $errors = array(); $user = new \Model\User(); // Check for existing users $user->load(array("email=?", $f3->get("POST.register-email"))); if ($user->id) { $user->reset(); $errors[] = "A user already exists with this email address."; } $user->load(array("username=?", $f3->get("POST.register-username"))); if ($user->id) { $user->reset(); $errors[] = "A user already exists with this username."; } // Validate user data if (!$f3->get("POST.register-name")) { $errors[] = "Name is required"; } if (!preg_match("/^[0-9a-z]{4,}\$/i", $f3->get("POST.register-username"))) { $errors[] = "Usernames must be at least 4 characters and can only contain letters and numbers."; } if (!filter_var($f3->get("POST.register-email"), FILTER_VALIDATE_EMAIL)) { $errors[] = "A valid email address is required."; } if (strlen($f3->get("POST.register-password")) < 6) { $errors[] = "Password must be at least 6 characters."; } // Show errors or create new user if ($errors) { $f3->set("register.error", implode("<br>", $errors)); $this->_render("index/login.html"); } else { $user->reset(); $user->username = trim($f3->get("POST.register-username")); $user->email = trim($f3->get("POST.register-email")); $user->name = trim($f3->get("POST.register-name")); $security = \Helper\Security::instance(); extract($security->hash($f3->get("POST.register-password"))); $user->password = $hash; $user->salt = $salt; $user->task_color = sprintf("#%02X%02X%02X", mt_rand(0, 0xff), mt_rand(0, 0xff), mt_rand(0, 0xff)); $user->save(); // Create a session and use it $session = new \Model\Session($user->id); $session->setCurrent(); $f3->reroute("/"); } }
if (is_string($truncate)) { $truncate = $f3->split($truncate); } foreach ($truncate as $truncator) { $parts = explode($truncator, $message); $message = $parts[0]; } // is the sender a user? $from = $header->from[0]->mailbox . "@" . $header->from[0]->host; $user = new \Model\User(); $user->load(array('email=? AND (deleted_date IS NULL OR deleted_date = ?)', $from, '0000-00-00 00:00:00')); if (!empty($user->id)) { $author = $user->id; // find an owner from the recipients foreach ($header->to as $owner_email) { $user->reset(); $to = $owner_email->mailbox . "@" . $owner_email->host; $user->load(array('email=?', $to)); if (!empty($user->id)) { $owner = $user->id; break; } else { $owner = $author; } } preg_match("/\\[#([0-9]+)\\] -/", $header->subject, $matches); $issue = new \Model\Issue(); !empty($matches[1]) ? $issue->load($matches[1]) : ''; // post a comment if replying to an issue if (!empty($issue->id)) { if (!empty($message)) {