X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=register.php;h=33a6628f41cf1a78141234bf7ced39d5f8f592fc;hb=5f0a3741d0a549849b503eca7b6d7b87d9903069;hp=15caf7d3838d1536e7c139574cb172dddfe4c9b2;hpb=fe7537b5dd0449a074cd0e7f2daefae21e78d16f;p=tt-rss.git diff --git a/register.php b/register.php index 15caf7d3..33a6628f 100644 --- a/register.php +++ b/register.php @@ -4,28 +4,65 @@ // 1) templates/register_notice.txt - displayed above the registration form // 2) register_expire_do.php - contains user expiration queries when necessary - error_reporting(E_ERROR | E_WARNING | E_PARSE); + set_include_path(get_include_path() . PATH_SEPARATOR . "include"); + + require_once 'lib/phpmailer/class.phpmailer.php'; $action = $_REQUEST["action"]; + require_once "functions.php"; require_once "sessions.php"; - require_once "sanity_check.php"; - require_once "functions.php"; require_once "config.php"; require_once "db.php"; - - $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); - init_connection($link); + $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); + + if (!init_connection($link)) return; + + if ($_REQUEST["format"] == "feed") { + header("Content-Type: text/xml"); + + print ''; + print " + ".htmlspecialchars(SELF_URL_PATH . "/register.php")." + Tiny Tiny RSS registration slots + + "; + + if (ENABLE_REGISTRATION) { + $result = db_query($link, "SELECT COUNT(*) AS cu FROM ttrss_users"); + $num_users = db_fetch_result($result, 0, "cu"); + + $num_users = REG_MAX_USERS - $num_users; + if ($num_users < 0) $num_users = 0; + $reg_suffix = "enabled"; + } else { + $num_users = 0; + $reg_suffix = "disabled"; + } + + print " + ".htmlspecialchars(SELF_URL_PATH)."/register.php?$num_users"." + "; + + print "$num_users slots are currently available, registration $reg_suffix"; + print "$num_users slots are currently available, registration $reg_suffix"; + + print ""; + + print ""; + + return; + } /* 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($link, "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($link, "DELETE FROM ttrss_users WHERE last_login IS NULL AND created < DATE_SUB(NOW(), INTERVAL 1 DAY) AND access_level = 0"); } @@ -40,7 +77,7 @@ $result = db_query($link, "SELECT id FROM ttrss_users WHERE LOWER(login) = LOWER('$login')"); - + $is_registered = db_num_rows($result) > 0; print ""; @@ -58,7 +95,7 @@ Create new account - + @@ -77,11 +114,11 @@ return false; } - var query = "register.php?action=check&login=" + + var query = "register.php?action=check&login=" + param_escape(login); new Ajax.Request(query, { - onComplete: function(transport) { + onComplete: function(transport) { try { @@ -96,7 +133,7 @@ } else { new Effect.Highlight(f.login, {startcolor : '#ff0000'}); f.sub_btn.disabled = true; - } + } } catch (e) { exception_error("checkUsername_callback", e); } @@ -143,7 +180,7 @@ - +

@@ -151,7 +188,8 @@ if (!ENABLE_REGISTRATION) { print_error(__("New user registrations are administratively disabled.")); - print "

+ print "

+

"; return; @@ -163,7 +201,7 @@ $num_users = db_fetch_result($result, 0, "cu"); } ?> - + @@ -171,10 +209,10 @@ require_once "templates/register_notice.txt"; } ?> - - -

- + + +

+
@@ -184,73 +222,73 @@ - -
+
+
- " - disabled="true" onclick='return validateRegForm()'> +
-
+
"; ?> - - - + +
+ print "

"; return; } - + if ($test == "four" || $test == "4") { - + $result = db_query($link, "SELECT id FROM ttrss_users WHERE login = '$login'"); - + $is_registered = db_num_rows($result) > 0; - + if ($is_registered) { print_error(__('Sorry, this username is already taken.')); - print "

+ print "

"; } else { - + $password = make_password(); - + $pwd_hash = encrypt_password($password, $login); - - db_query($link, "INSERT INTO ttrss_users + + db_query($link, "INSERT INTO ttrss_users (login,pwd_hash,access_level,last_login, email, created) VALUES ('$login', '$pwd_hash', 0, null, '$email', NOW())"); - - $result = db_query($link, "SELECT id FROM ttrss_users WHERE + + $result = db_query($link, "SELECT id FROM ttrss_users WHERE login = '$login' AND pwd_hash = '$pwd_hash'"); - + if (db_num_rows($result) != 1) { print_error(__('Registration failed.')); - print "

+ print "

"; } else { - + $new_uid = db_fetch_result($result, 0, "id"); - + initialize_user($link, $new_uid); - + $reg_text = "Hi!\n". "\n". "You are receiving this message, because you (or somebody else) have opened\n". @@ -265,95 +303,95 @@ "it will be deleted in 24 hours.\n". "\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 = DIGEST_FROM_ADDRESS; $mail->FromName = DIGEST_FROM_NAME; $mail->AddAddress($email); - + if (DIGEST_SMTP_HOST) { $mail->Host = DIGEST_SMTP_HOST; $mail->Mailer = "smtp"; $mail->Username = DIGEST_SMTP_LOGIN; $mail->Password = DIGEST_SMTP_PASSWORD; } - + // $mail->IsHTML(true); $mail->Subject = "Registration information for Tiny Tiny RSS"; $mail->Body = $reg_text; // $mail->AltBody = $digest_text; - + $rc = $mail->Send(); - + if (!$rc) print_error($mail->ErrorInfo); - + $reg_text = "Hi!\n". "\n". "New user had registered at your Tiny Tiny RSS installation.\n". "\n". "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 = DIGEST_FROM_ADDRESS; $mail->FromName = DIGEST_FROM_NAME; $mail->AddAddress(REG_NOTIFY_ADDRESS); - + if (DIGEST_SMTP_HOST) { $mail->Host = DIGEST_SMTP_HOST; $mail->Mailer = "smtp"; $mail->Username = DIGEST_SMTP_LOGIN; $mail->Password = DIGEST_SMTP_PASSWORD; } - + // $mail->IsHTML(true); $mail->Subject = "Registration notice for Tiny Tiny RSS"; $mail->Body = $reg_text; // $mail->AltBody = $digest_text; - + $rc = $mail->Send(); - + print_notice(__("Account created successfully.")); - - print "

+ + print "

"; - + } - + } - + } else { print_error('Plese check the form again, you have failed the robot test.'); - print "

+ print "

"; - + } } ?> - + -
+
"; ?> - +