diff options
Diffstat (limited to 'register.php')
-rw-r--r-- | register.php | 103 |
1 files changed, 34 insertions, 69 deletions
diff --git a/register.php b/register.php index b0c9bd95f..5bc6563b0 100644 --- a/register.php +++ b/register.php @@ -7,8 +7,8 @@ set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR . get_include_path()); - require_once 'lib/phpmailer/class.phpmailer.php'; - + require_once 'classes/ttrssmailer.php'; + require_once "autoload.php"; require_once "functions.php"; require_once "sessions.php"; require_once "sanity_check.php"; @@ -17,9 +17,7 @@ $action = $_REQUEST["action"]; - $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); - - if (!init_connection($link)) return; + if (!init_plugins()) return; if ($_REQUEST["format"] == "feed") { header("Content-Type: text/xml"); @@ -32,7 +30,7 @@ <link rel=\"alternate\" href=\"".htmlspecialchars(SELF_URL_PATH)."\"/>"; if (ENABLE_REGISTRATION) { - $result = db_query($link, "SELECT COUNT(*) AS cu FROM ttrss_users"); + $result = db_query( "SELECT COUNT(*) AS cu FROM ttrss_users"); $num_users = db_fetch_result($result, 0, "cu"); $num_users = REG_MAX_USERS - $num_users; @@ -60,10 +58,10 @@ /* Remove users which didn't login after receiving their registration information */ if (DB_TYPE == "pgsql") { - db_query($link, "DELETE FROM ttrss_users WHERE last_login IS NULL + db_query( "DELETE FROM ttrss_users WHERE last_login IS NULL AND created < NOW() - INTERVAL '1 day' AND access_level = 0"); } else { - db_query($link, "DELETE FROM ttrss_users WHERE last_login IS NULL + db_query( "DELETE FROM ttrss_users WHERE last_login IS NULL AND created < DATE_SUB(NOW(), INTERVAL 1 DAY) AND access_level = 0"); } @@ -74,9 +72,9 @@ if ($action == "check") { header("Content-Type: application/xml"); - $login = trim(db_escape_string($_REQUEST['login'])); + $login = trim(db_escape_string( $_REQUEST['login'])); - $result = db_query($link, "SELECT id FROM ttrss_users WHERE + $result = db_query( "SELECT id FROM ttrss_users WHERE LOWER(login) = LOWER('$login')"); $is_registered = db_num_rows($result) > 0; @@ -181,10 +179,12 @@ <body> -<div class="floatingLogo"><img src="images/logo_wide.png"></div> +<div class="floatingLogo"><img src="images/logo_small.png"></div> <h1><?php echo __("Create new account") ?></h1> +<div class="content"> + <?php if (!ENABLE_REGISTRATION) { print_error(__("New user registrations are administratively disabled.")); @@ -198,7 +198,7 @@ ?> <?php if (REG_MAX_USERS > 0) { - $result = db_query($link, "SELECT COUNT(*) AS cu FROM ttrss_users"); + $result = db_query( "SELECT COUNT(*) AS cu FROM ttrss_users"); $num_users = db_fetch_result($result, 0, "cu"); } ?> @@ -219,15 +219,15 @@ <table> <tr> <td><?php echo __('Desired login:') ?></td><td> - <input name="login"> + <input name="login" required> </td><td> <input type="submit" value="<?php echo __('Check availability') ?>" onclick='return checkUsername()'> </td></tr> <tr><td><?php echo __('Email:') ?></td><td> - <input name="email"> + <input name="email" type="email" required> </td></tr> <tr><td><?php echo __('How much is two plus two:') ?></td><td> - <input name="turing_test"></td></tr> + <input name="turing_test" required></td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="sub_btn" value="<?php echo __('Submit registration') ?>" disabled="disabled" onclick='return validateRegForm()'> @@ -242,9 +242,9 @@ <?php } else if ($action == "do_register") { ?> <?php - $login = mb_strtolower(trim(db_escape_string($_REQUEST["login"]))); - $email = trim(db_escape_string($_REQUEST["email"])); - $test = trim(db_escape_string($_REQUEST["turing_test"])); + $login = mb_strtolower(trim(db_escape_string( $_REQUEST["login"]))); + $email = trim(db_escape_string( $_REQUEST["email"])); + $test = trim(db_escape_string( $_REQUEST["turing_test"])); if (!$login || !$email || !$test) { print_error(__("Your registration information is incomplete.")); @@ -256,7 +256,7 @@ if ($test == "four" || $test == "4") { - $result = db_query($link, "SELECT id FROM ttrss_users WHERE + $result = db_query( "SELECT id FROM ttrss_users WHERE login = '$login'"); $is_registered = db_num_rows($result) > 0; @@ -273,11 +273,11 @@ $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); $pwd_hash = encrypt_password($password, $salt, true); - db_query($link, "INSERT INTO ttrss_users + db_query( "INSERT INTO ttrss_users (login,pwd_hash,access_level,last_login, email, created, salt) VALUES ('$login', '$pwd_hash', 0, null, '$email', NOW(), '$salt')"); - $result = db_query($link, "SELECT id FROM ttrss_users WHERE + $result = db_query( "SELECT id FROM ttrss_users WHERE login = '$login' AND pwd_hash = '$pwd_hash'"); if (db_num_rows($result) != 1) { @@ -289,7 +289,7 @@ $new_uid = db_fetch_result($result, 0, "id"); - initialize_user($link, $new_uid); + initialize_user( $new_uid); $reg_text = "Hi!\n". "\n". @@ -306,33 +306,15 @@ "\n". "If that wasn't you, just ignore this message. Thanks."; - $mail = new PHPMailer(); - - $mail->PluginDir = "lib/phpmailer/"; - $mail->SetLanguage("en", "lib/phpmailer/language/"); - - $mail->CharSet = "UTF-8"; - - $mail->From = SMTP_FROM_ADDRESS; - $mail->FromName = SMTP_FROM_NAME; - $mail->AddAddress($email); - - if (SMTP_HOST) { - $mail->Host = SMTP_HOST; - $mail->Mailer = "smtp"; - $mail->Username = SMTP_LOGIN; - $mail->Password = SMTP_PASSWORD; - } - - // $mail->IsHTML(true); - $mail->Subject = "Registration information for Tiny Tiny RSS"; - $mail->Body = $reg_text; - // $mail->AltBody = $digest_text; - - $rc = $mail->Send(); + $mail = new ttrssMailer(); + $mail->IsHTML(false); + $rc = $mail->quickMail($email, "", "Registration information for Tiny Tiny RSS", $reg_text, false); if (!$rc) print_error($mail->ErrorInfo); + unset($reg_text); + unset($mail); + unset($rc); $reg_text = "Hi!\n". "\n". "New user had registered at your Tiny Tiny RSS installation.\n". @@ -340,30 +322,11 @@ "Login: $login\n". "Email: $email\n"; - $mail = new PHPMailer(); - - $mail->PluginDir = "lib/phpmailer/"; - $mail->SetLanguage("en", "lib/phpmailer/language/"); - - $mail->CharSet = "UTF-8"; - $mail->From = SMTP_FROM_ADDRESS; - $mail->FromName = SMTP_FROM_NAME; - $mail->AddAddress(REG_NOTIFY_ADDRESS); - - if (SMTP_HOST) { - $mail->Host = SMTP_HOST; - $mail->Mailer = "smtp"; - $mail->Username = SMTP_LOGIN; - $mail->Password = SMTP_PASSWORD; - } - - // $mail->IsHTML(true); - $mail->Subject = "Registration notice for Tiny Tiny RSS"; - $mail->Body = $reg_text; - // $mail->AltBody = $digest_text; - - $rc = $mail->Send(); + $mail = new ttrssMailer(); + $mail->IsHTML(false); + $rc = $mail->quickMail(REG_NOTIFY_ADDRESS, "", "Registration notice for Tiny Tiny RSS", $reg_text, false); + if (!$rc) print_error($mail->ErrorInfo); print_notice(__("Account created successfully.")); @@ -395,6 +358,8 @@ <?php } ?> + </div> + </body> </html> |