'; print " ".htmlspecialchars(SELF_URL_PATH . "/register.php")." Tiny Tiny RSS registration slots "; if (ENABLE_REGISTRATION) { $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; 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( "DELETE FROM ttrss_users WHERE last_login IS NULL AND created < NOW() - INTERVAL '1 day' AND access_level = 0"); } else { db_query( "DELETE FROM ttrss_users WHERE last_login IS NULL AND created < DATE_SUB(NOW(), INTERVAL 1 DAY) AND access_level = 0"); } if (file_exists("register_expire_do.php")) { require_once "register_expire_do.php"; } if ($action == "check") { header("Content-Type: application/xml"); $login = trim(db_escape_string( $_REQUEST['login'])); $result = db_query( "SELECT id FROM ttrss_users WHERE LOWER(login) = LOWER('$login')"); $is_registered = db_num_rows($result) > 0; print ""; printf("%d", $is_registered); print ""; return; } ?> Create new account

"; return; } ?> 0) { $result = db_query( "SELECT COUNT(*) AS cu FROM ttrss_users"); $num_users = db_fetch_result($result, 0, "cu"); } ?>

"; ?>
"; return; } if ($test == "four" || $test == "4") { $result = db_query( "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 "

"; } else { $password = make_password(); $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); $pwd_hash = encrypt_password($password, $salt, true); 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( "SELECT id FROM ttrss_users WHERE login = '$login' AND pwd_hash = '$pwd_hash'"); if (db_num_rows($result) != 1) { print_error(__('Registration failed.')); print "

"; } else { $new_uid = db_fetch_result($result, 0, "id"); initialize_user( $new_uid); $reg_text = "Hi!\n". "\n". "You are receiving this message, because you (or somebody else) have opened\n". "an account at Tiny Tiny RSS.\n". "\n". "Your login information is as follows:\n". "\n". "Login: $login\n". "Password: $password\n". "\n". "Don't forget to login at least once to your new account, otherwise\n". "it will be deleted in 24 hours.\n". "\n". "If that wasn't you, just ignore this message. Thanks."; $mailer = new Mailer(); $rc = $mailer->mail(["to_address" => $email, "subject" => "Registration information for Tiny Tiny RSS", "message" => $reg_text]); if (!$rc) print_error($mailer->error()); $reg_text = "Hi!\n". "\n". "New user had registered at your Tiny Tiny RSS installation.\n". "\n". "Login: $login\n". "Email: $email\n"; $mailer = new Mailer(); $rc = $mailer->mail(["to_address" => REG_NOTIFY_ADDRESS, "subject" => "Registration notice for Tiny Tiny RSS", "message" => $reg_text]); if (!$rc) print_error($mailer->error()); print_notice(__("Account created successfully.")); print "

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

"; } } ?>
"; ?>