From 38eda65735e81d2774759a2aa6e9922c7131f830 Mon Sep 17 00:00:00 2001 From: eric Date: Mon, 21 Jun 2004 19:36:54 +0000 Subject: working on the accounts stuff --- web/README.txt | 45 +++++ web/html/account.php | 406 +++++++++++++++++++++++++++++++++++++++++++- web/html/css/containers.css | 1 + web/html/index.php | 13 +- web/lang/account_po.inc | 185 ++++++++++++++++++++ web/lang/aur_po.inc | 15 ++ web/lang/common_po.inc | 55 ++++++ web/lang/common_po.list | 11 ++ web/lang/index_po.inc | 15 ++ web/lib/aur.inc | 77 ++++++++- 10 files changed, 807 insertions(+), 16 deletions(-) (limited to 'web') diff --git a/web/README.txt b/web/README.txt index dbc3c6d..938504a 100644 --- a/web/README.txt +++ b/web/README.txt @@ -1,3 +1,48 @@ +Setup on ArchLinux: +=================== +1) Install Apache, MySQL, PHP, and Subversion + # pacman -Sy apache mysql php subversion + +2) Set a local 'hostname' of 'aur' + - Edit /etc/hosts and append 'aur' to loopback address + 127.0.0.1 localhost aur + +3) Configure Apache + - Edit /etc/httpd/conf/httpd.conf and append the following: + Replace MYUSER with your username. + + + Servername aur + DocumentRoot /home/MYUSER/aur/web/html + ErrorLog /var/log/httpd/aur-error.log + CustomLog /var/log/httpd/aur-access.log combined + + Options Indexes FollowSymLinks + AllowOverride All + + + +4) Configure PHP + - Edit /etc/php.ini and uncomment the mysql extension line: + extension=mysql.so + +5) Configure MySQL + - Connect to the mysql client + # mysql -uroot + + - Issue the following commands to the mysql client + mysql> create database AUR; + mysql> grant all privileges on AUR.* to aur@localhost identified by 'aur'; + mysql> flush privileges; + mysql> quit + +6) Check out the AUR project (using the MYUSER from above) + $ cd + $ svn co https://xentac.net/svn/aur/trunk aur + +7) Point your browser to http://aur + + Web Interface: ============== diff --git a/web/html/account.php b/web/html/account.php index 4d2cd9f..b03aee5 100644 --- a/web/html/account.php +++ b/web/html/account.php @@ -5,12 +5,412 @@ set_lang(); # this sets up the visitor's language check_sid(); # see if they're still logged in html_header(); # print out the HTML header +# Display the standard Account form +# SID: the session id cookie value (if any) +# A: what "form" name to use +# U: value to display for username +# T: value to display for account type +# S: value to display for account suspended +# E: value to display for email address +# P: password value +# C: confirm password value +# R: value to display for RealName +# L: value to display for Language preference +# I: value to display for IRC nick +# N: new package notify value +function display_account_form($SID,$A,$U="",$T="",$S="",$E="",$P="",$C="",$R="",$L="",$I="",$N="") { + global $SUPPORTED_LANGS; -# Any text you print out to the visitor, use the __() function -# for i18n support. See 'testpo.php' for more details. + print "
\n"; + print "\n"; + print "
\n"; + print "\n"; + print "\n"; + + # figure out what account type the visitor is + # + if ($SID) { + $atype = account_from_sid($SID); + } else { + $atype = ""; + } + + print ""; + print ""; + print ""; + print "\n"; + + if ($atype == "Trusted User" || $atype == "Developer") { + # only TUs or Devs can promote/demote/suspend a user + # + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print "\n"; + } + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print "\n"; + + print "\n"; + print ""; + print ""; + print ""; + print "\n"; + + print "
 
".__("Username:")." (".__("required").")
".__("Account Type:")."
".__("Account Suspended:").""; + } else { + print ">"; + } + print "
".__("Email Address:")." (".__("required").")
".__("Password:")." (".__("required").")
".__("Re-type password:")." (".__("required").")
".__("Real Name:")."
".__("IRC Nick:")."
".__("Language:")."
".__("New Package Notify:").""; + } else { + print ">"; + } + print "
 
 "; + if ($A == "ModifyAccount") { + print "   "; + } else { + print "   "; + } + print ""; + print "
\n"; + print "
\n"; + print "
\n"; +} # function display_account_form() + + +# Main page processing here # -print __("Under construction...")."
\n"; +if (isset($_COOKIE["AURSID"])) { + # visitor is logged in + # + $dbh = db_connect(); + + if ($_REQUEST["Action"] == "SearchAccounts") { + # the user has entered search criteria, find any matching accounts + # + $HITS_PER_PAGE = 50; + $OFFSET = 0; + + $q = "SELECT Users.*, AccountTypes.AccountType "; + $q.= "FROM Users, AccountTypes "; + $q.= "WHERE AccountTypes.ID = Users.AccountTypeID "; + if ($_REQUEST["T"] == "u") { + $q.= "AND AccountTypes.ID = 1 "; + } elseif ($_REQUEST["T"] == "t") { + $q.= "AND AccountTypes.ID = 2 "; + } elseif ($_REQUEST["T"] == "d") { + $q.= "AND AccountTypes.ID = 3 "; + } + if ($_REQUEST["S"]) { + $q.= "AND Users.Suspended = 1 "; + } + if ($_REQUEST["U"]) { + $q.= "AND Username LIKE '%".mysql_escape_string($_REQUEST["U"])."%' "; + } + if ($_REQUEST["E"]) { + $q.= "AND Email LIKE '%".mysql_escape_string($_REQUEST["E"])."%' "; + } + if ($_REQUEST["R"]) { + $q.= "AND RealName LIKE '%".mysql_escape_string($_REQUEST["R"])."%' "; + } + if ($_REQUEST["I"]) { + $q.= "AND IRCNick LIKE '%".mysql_escape_string($_REQUEST["I"])."%' "; + } + $q.= "LIMIT ". $OFFSET . ", " . $HITS_PER_PAGE; + $result = db_query($q, $dbh); + if (!$result) { + print __("No results matched your search criteria."); + } else { + print "
\n"; + print "\n"; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + print "
"; + print "\n"; + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print "\n"; + $i = 0; + while ($row = mysql_fetch_assoc($result)) { + if ($i % 2) { + print ""; + } else { + print ""; + } + print ""; + print ""; + print ""; + print ""; + print ""; + print ""; + print "\n"; + $i++; + } + print "
".__("Username")."".__("Type")."".__("Status")."".__("Real Name")."".__("IRC Nick")."".__("Last Voted")."
".$row["Username"]."".user_type($row["AccountType"]).""; + if ($row["Suspended"]) { + print __("Suspended"); + } else { + print __("Active"); + } + print ""; + $row["RealName"] ? print $row["RealName"] : print " "; + print ""; + $row["IRCNick"] ? print $row["IRCNick"] : print " "; + print ""; + $row["LastVoted"] + ? print date("Ymd", $row["LastVoted"]) + : print __("Never"); + print "
\n"; + print "
"; + print "
\n"; + print "\n"; + print "\n"; + print ""; + print "
\n"; + print "
"; + print "
\n"; + print "\n"; + print "\n"; + print ""; + print "
\n"; + print "
\n"; + print "
\n"; + } + + + } elseif ($_REQUEST["Action"] == "DisplayAccount") { + # the user has clicked 'edit', display the account details in a form + # + + } elseif ($_REQUEST["Action"] == "UpdateAccount") { + # user is submitting their modifications to an existing account + # + + } else { + # display the search page + # + print "
\n"; + print "\n"; + print "
\n"; + print "\n"; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print ""; + print ""; + print ""; + print "\n"; + + print "
 
".__("Username:")."
".__("Account Type:")."
".__("Account Suspended:").""; + print "
".__("Email Address:")."
".__("Real Name:")."
".__("IRC Nick:")."
 "; + print "   "; + print "
\n"; + print "
\n"; + print "
\n"; + } + +} else { + # visitor is not logged in + # + if ($_REQUEST["Action"] == "NewAccount") { + # error check and process request for a new account + # + $dbh = db_connect(); + $error = ""; + if (!isset($_REQUEST["E"]) || !isset($_REQUEST["P"]) || + !isset($_REQUEST["C"])) { + $error = __("Missing a required field."); + } + if (!$error && ($_REQUEST["P"] != $_REQUEST["C"])) { + $error = __("Password fields do not match."); + } + if (!$error && !valid_email($_REQUEST["E"])) { + $error = __("The email address is invalid."); + } + if (!$error && !array_key_exists($_REQUEST["L"], $SUPPORTED_LANGS)) { + $error = __("Language is not currently supported."); + } + if (!$error) { + # check to see if this username is available + # NOTE: a race condition exists here if we care... + # + $q = "SELECT COUNT(*) AS CNT FROM Users "; + $q.= "WHERE Username = '".mysql_escape_string($_REQUEST["U"])."'"; + $result = db_query($q, $dbh); + if ($result) { + $row = mysql_fetch_array($result); + if ($row[0]) { + $error = __("The username, %h%s%h, is already in use.", + array("", $_REQUEST["U"], "")); + } + } + } + if (!$error) { + # check to see if this email address is available + # NOTE: a race condition exists here if we care... + # + $q = "SELECT COUNT(*) AS CNT FROM Users "; + $q.= "WHERE Email = '".mysql_escape_string($_REQUEST["E"])."'"; + $result = db_query($q, $dbh); + if ($result) { + $row = mysql_fetch_array($result); + if ($row[0]) { + $error = __("The address, %h%s%h, is already in use.", + array("", $_REQUEST["E"], "")); + } + } + } + if ($error) { + print "".$error."
\n"; + display_account_form("", "NewAccount", "", "", + $_REQUEST["U"], $_REQUEST["E"], $_REQUEST["R"], $_REQUEST["L"], + $_REQUEST["I"], $_REQUEST["N"]); + } else { + # no errors, go ahead and create the unprivileged user + # + $q = "INSERT INTO Users (AccountTypeID, Suspended, Username, Email, "; + $q.= "Passwd, RealName, LangPreference, IRCNick, NewPkgNotify) "; + $q.= "VALUES (1, 0, '".mysql_escape_string($_REQUEST["U"])."'"; + $q.= ", '".mysql_escape_string($_REQUEST["E"])."'"; + $q.= ", '".mysql_escape_string($_REQUEST["P"])."'"; + $q.= ", '".mysql_escape_string($_REQUEST["R"])."'"; + $q.= ", '".mysql_escape_string($_REQUEST["L"])."'"; + $q.= ", '".mysql_escape_string($_REQUEST["I"])."'"; + if ($_REQUEST["N"] == "on") { + $q.= ", 1)"; + } else { + $q.= ", 0)"; + } + $result = db_query($q, $dbh); + if (!$result) { + print __("Error trying to create account, %h%s%h: %s.", + array("", $_REQUEST["U"], "", mysql_error($dbh))); + } else { + # account created, tell them so. + # + print __("The account, %h%s%h, has been successfully created.", + array("", $_REQUEST["U"], "")); + print "

\n"; + print __("Click on the Home link above to login."); + print "

\n"; + } + } + } else { + # display the account request form + # + display_account_form("", "NewAccount"); + } +} html_footer("\$Id$"); +# vim: ts=2 sw=2 noet ft=php ?> diff --git a/web/html/css/containers.css b/web/html/css/containers.css index 69ed1d9..1f437e7 100644 --- a/web/html/css/containers.css +++ b/web/html/css/containers.css @@ -76,6 +76,7 @@ { background-color: #ffffff; border-right: 1px solid #000; + border-left: 1px solid #000; border-bottom: 1px solid #000; text-align: center; vertical-align: top; diff --git a/web/html/index.php b/web/html/index.php index ad7b73f..dd9b2cc 100644 --- a/web/html/index.php +++ b/web/html/index.php @@ -11,7 +11,7 @@ if (isset($_REQUEST["user"]) || isset($_REQUEST["pass"])) { # Attempting to log in # if (!isset($_REQUEST['user'])) { - $login_error = __("You must supply a username."); + $login_error = __("You must supply an email address."); } if (!isset($_REQUEST['pass'])) { $login_error = __("You must supply a password."); @@ -21,11 +21,11 @@ if (isset($_REQUEST["user"]) || isset($_REQUEST["pass"])) { # $dbh = db_connect(); $q = "SELECT ID, Suspended FROM Users "; - $q.= "WHERE Email = '" . mysql_escape_string($_REQUEST["user"]) . "' "; + $q.= "WHERE Username = '" . mysql_escape_string($_REQUEST["user"]) . "' "; $q.= "AND Passwd = '" . mysql_escape_string($_REQUEST["pass"]) . "'"; $result = db_query($q, $dbh); if (!$result) { - $login_error = __("Incorrect password for username %s.", + $login_error = __("Incorrect password for email address, %s.", array($_REQUEST["user"])); } else { $row = mysql_fetch_row($result); @@ -70,13 +70,16 @@ html_header(); print "\n"; print "\n"; -print " "; -print " "; +print " "; print " \n"; print " \n"; print " \n"; print "
 
"; +print "
"; print __("This is where the intro text will go."); print __("For now, it's just a place holder."); print __("It's more important to get the login functionality finished."); print __("After that, this can be filled in with more meaningful text."); print "  
\n"; +# XXX Is this the proper way to add some spacing between table cells? +# +print "
  \n"; if (!isset($_COOKIE["AURSID"])) { # the user is not logged in, give them login widgets # diff --git a/web/lang/account_po.inc b/web/lang/account_po.inc index 438f50d..ef88307 100644 --- a/web/lang/account_po.inc +++ b/web/lang/account_po.inc @@ -16,4 +16,189 @@ $_t["en"]["Under construction..."] = "Under construction..."; # $_t["fr"]["Under construction..."] = "--> Traduction française ici. <--"; # $_t["de"]["Under construction..."] = "--> Deutsche Übersetzung hier. <--"; +$_t["en"]["Account Suspended:"] = "Account Suspended:"; +# $_t["es"]["Account Suspended:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Account Suspended:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Account Suspended:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Notify:"] = "Notify:"; +# $_t["es"]["Notify:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Notify:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Notify:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Trusted User"] = "Trusted User"; +# $_t["es"]["Trusted User"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Trusted User"] = "--> Traduction française ici. <--"; +# $_t["de"]["Trusted User"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Normal User"] = "Normal User"; +# $_t["es"]["Normal User"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Normal User"] = "--> Traduction française ici. <--"; +# $_t["de"]["Normal User"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Password:"] = "Password:"; +# $_t["es"]["Password:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Password:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Password:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Email Address:"] = "Email Address:"; +# $_t["es"]["Email Address:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Email Address:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Email Address:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Confirm:"] = "Confirm:"; +# $_t["es"]["Confirm:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Confirm:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Confirm:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Real Name:"] = "Real Name:"; +# $_t["es"]["Real Name:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Real Name:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Real Name:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Account Type:"] = "Account Type:"; +# $_t["es"]["Account Type:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Account Type:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Account Type:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["IRC Nick:"] = "IRC Nick:"; +# $_t["es"]["IRC Nick:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["IRC Nick:"] = "--> Traduction française ici. <--"; +# $_t["de"]["IRC Nick:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Language:"] = "Language:"; +# $_t["es"]["Language:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Language:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Language:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Developer"] = "Developer"; +# $_t["es"]["Developer"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Developer"] = "--> Traduction française ici. <--"; +# $_t["de"]["Developer"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["New Package Notify:"] = "New Package Notify:"; +# $_t["es"]["New Package Notify:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["New Package Notify:"] = "--> Traduction française ici. <--"; +# $_t["de"]["New Package Notify:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Password fields do not match."] = "Password fields do not match."; +# $_t["es"]["Password fields do not match."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Password fields do not match."] = "--> Traduction française ici. <--"; +# $_t["de"]["Password fields do not match."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Error trying to create account, %h%s%h: %s."] = "Error trying to create account, %h%s%h: %s."; +# $_t["es"]["Error trying to create account, %h%s%h: %s."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Error trying to create account, %h%s%h: %s."] = "--> Traduction française ici. <--"; +# $_t["de"]["Error trying to create account, %h%s%h: %s."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Missing a required field."] = "Missing a required field."; +# $_t["es"]["Missing a required field."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Missing a required field."] = "--> Traduction française ici. <--"; +# $_t["de"]["Missing a required field."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["This address is already in use."] = "This address is already in use."; +# $_t["es"]["This address is already in use."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["This address is already in use."] = "--> Traduction française ici. <--"; +# $_t["de"]["This address is already in use."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Language is not currently supported."] = "Language is not currently supported."; +# $_t["es"]["Language is not currently supported."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Language is not currently supported."] = "--> Traduction française ici. <--"; +# $_t["de"]["Language is not currently supported."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["The email address is invalid."] = "The email address is invalid."; +# $_t["es"]["The email address is invalid."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["The email address is invalid."] = "--> Traduction française ici. <--"; +# $_t["de"]["The email address is invalid."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Re-type password:"] = "Re-type password:"; +# $_t["es"]["Re-type password:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Re-type password:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Re-type password:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["The account, %h%s%h, has been successfully created."] = "The account, %h%s%h, has been successfully created."; +# $_t["es"]["The account, %h%s%h, has been successfully created."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["The account, %h%s%h, has been successfully created."] = "--> Traduction française ici. <--"; +# $_t["de"]["The account, %h%s%h, has been successfully created."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Click on the Home link above to login."] = "Click on the Home link above to login."; +# $_t["es"]["Click on the Home link above to login."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Click on the Home link above to login."] = "--> Traduction française ici. <--"; +# $_t["de"]["Click on the Home link above to login."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["The address, %h%s%h, is already in use."] = "The address, %h%s%h, is already in use."; +# $_t["es"]["The address, %h%s%h, is already in use."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["The address, %h%s%h, is already in use."] = "--> Traduction française ici. <--"; +# $_t["de"]["The address, %h%s%h, is already in use."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Trusted user"] = "Trusted user"; +# $_t["es"]["Trusted user"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Trusted user"] = "--> Traduction française ici. <--"; +# $_t["de"]["Trusted user"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Normal user"] = "Normal user"; +# $_t["es"]["Normal user"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Normal user"] = "--> Traduction française ici. <--"; +# $_t["de"]["Normal user"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Any type"] = "Any type"; +# $_t["es"]["Any type"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Any type"] = "--> Traduction française ici. <--"; +# $_t["de"]["Any type"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["No results matched your search criteria."] = "No results matched your search criteria."; +# $_t["es"]["No results matched your search criteria."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["No results matched your search criteria."] = "--> Traduction française ici. <--"; +# $_t["de"]["No results matched your search criteria."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Never"] = "Never"; +# $_t["es"]["Never"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Never"] = "--> Traduction française ici. <--"; +# $_t["de"]["Never"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Active"] = "Active"; +# $_t["es"]["Active"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Active"] = "--> Traduction française ici. <--"; +# $_t["de"]["Active"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Suspended"] = "Suspended"; +# $_t["es"]["Suspended"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Suspended"] = "--> Traduction française ici. <--"; +# $_t["de"]["Suspended"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["The username, %h%s%h, is already in use."] = "The username, %h%s%h, is already in use."; +# $_t["es"]["The username, %h%s%h, is already in use."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["The username, %h%s%h, is already in use."] = "--> Traduction française ici. <--"; +# $_t["de"]["The username, %h%s%h, is already in use."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Type"] = "Type"; +# $_t["es"]["Type"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Type"] = "--> Traduction française ici. <--"; +# $_t["de"]["Type"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Status"] = "Status"; +# $_t["es"]["Status"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Status"] = "--> Traduction française ici. <--"; +# $_t["de"]["Status"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["IRC Nick"] = "IRC Nick"; +# $_t["es"]["IRC Nick"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["IRC Nick"] = "--> Traduction française ici. <--"; +# $_t["de"]["IRC Nick"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Last Voted"] = "Last Voted"; +# $_t["es"]["Last Voted"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Last Voted"] = "--> Traduction française ici. <--"; +# $_t["de"]["Last Voted"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Real Name"] = "Real Name"; +# $_t["es"]["Real Name"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Real Name"] = "--> Traduction française ici. <--"; +# $_t["de"]["Real Name"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Username:"] = "Username:"; +# $_t["es"]["Username:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Username:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Username:"] = "--> Deutsche Übersetzung hier. <--"; + ?> \ No newline at end of file diff --git a/web/lang/aur_po.inc b/web/lang/aur_po.inc index 5f4ca98..211a05b 100644 --- a/web/lang/aur_po.inc +++ b/web/lang/aur_po.inc @@ -61,4 +61,19 @@ $_t["en"]["Packages"] = "Packages"; # $_t["fr"]["Packages"] = "--> Traduction française ici. <--"; # $_t["de"]["Packages"] = "--> Deutsche Übersetzung hier. <--"; +$_t["en"]["Trusted user"] = "Trusted user"; +# $_t["es"]["Trusted user"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Trusted user"] = "--> Traduction française ici. <--"; +# $_t["de"]["Trusted user"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["User"] = "User"; +# $_t["es"]["User"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["User"] = "--> Traduction française ici. <--"; +# $_t["de"]["User"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Developer"] = "Developer"; +# $_t["es"]["Developer"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Developer"] = "--> Traduction française ici. <--"; +# $_t["de"]["Developer"] = "--> Deutsche Übersetzung hier. <--"; + ?> \ No newline at end of file diff --git a/web/lang/common_po.inc b/web/lang/common_po.inc index 6c04677..acaf9d2 100644 --- a/web/lang/common_po.inc +++ b/web/lang/common_po.inc @@ -11,4 +11,59 @@ include_once("translator.inc"); global $_t; +$_t["en"]["Password"] = "Password"; +# $_t["es"]["Password"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Password"] = "--> Traduction française ici. <--"; +# $_t["de"]["Password"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Clear"] = "Clear"; +# $_t["es"]["Clear"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Clear"] = "--> Traduction française ici. <--"; +# $_t["de"]["Clear"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["required"] = "required"; +# $_t["es"]["required"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["required"] = "--> Traduction française ici. <--"; +# $_t["de"]["required"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Email Address"] = "Email Address"; +# $_t["es"]["Email Address"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Email Address"] = "--> Traduction française ici. <--"; +# $_t["de"]["Email Address"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Submit"] = "Submit"; +# $_t["es"]["Submit"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Submit"] = "--> Traduction française ici. <--"; +# $_t["de"]["Submit"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Reset"] = "Reset"; +# $_t["es"]["Reset"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Reset"] = "--> Traduction française ici. <--"; +# $_t["de"]["Reset"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Create"] = "Create"; +# $_t["es"]["Create"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Create"] = "--> Traduction française ici. <--"; +# $_t["de"]["Create"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Update"] = "Update"; +# $_t["es"]["Update"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Update"] = "--> Traduction française ici. <--"; +# $_t["de"]["Update"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Less"] = "Less"; +# $_t["es"]["Less"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Less"] = "--> Traduction française ici. <--"; +# $_t["de"]["Less"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["More"] = "More"; +# $_t["es"]["More"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["More"] = "--> Traduction française ici. <--"; +# $_t["de"]["More"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Username"] = "Username"; +# $_t["es"]["Username"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Username"] = "--> Traduction française ici. <--"; +# $_t["de"]["Username"] = "--> Deutsche Übersetzung hier. <--"; + ?> \ No newline at end of file diff --git a/web/lang/common_po.list b/web/lang/common_po.list index 395b894..eb94023 100644 --- a/web/lang/common_po.list +++ b/web/lang/common_po.list @@ -2,3 +2,14 @@ # in more than one PHP script. It only supports one line # strings at the moment. # +Submit +Clear +Create +Reset +Update +required +Email Address +Username +Password +More +Less diff --git a/web/lang/index_po.inc b/web/lang/index_po.inc index e5bfe70..58bb8ab 100644 --- a/web/lang/index_po.inc +++ b/web/lang/index_po.inc @@ -81,4 +81,19 @@ $_t["en"]["Login"] = "Login"; # $_t["fr"]["Login"] = "--> Traduction française ici. <--"; # $_t["de"]["Login"] = "--> Deutsche Übersetzung hier. <--"; +$_t["en"]["Email Address:"] = "Email Address:"; +# $_t["es"]["Email Address:"] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Email Address:"] = "--> Traduction française ici. <--"; +# $_t["de"]["Email Address:"] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["You must supply an email address."] = "You must supply an email address."; +# $_t["es"]["You must supply an email address."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["You must supply an email address."] = "--> Traduction française ici. <--"; +# $_t["de"]["You must supply an email address."] = "--> Deutsche Übersetzung hier. <--"; + +$_t["en"]["Incorrect password for email address, %s."] = "Incorrect password for email address, %s."; +# $_t["es"]["Incorrect password for email address, %s."] = "--> Traducción española aquí. <--"; +# $_t["fr"]["Incorrect password for email address, %s."] = "--> Traduction française ici. <--"; +# $_t["de"]["Incorrect password for email address, %s."] = "--> Deutsche Übersetzung hier. <--"; + ?> \ No newline at end of file diff --git a/web/lib/aur.inc b/web/lib/aur.inc index 54ec5ef..9695229 100644 --- a/web/lib/aur.inc +++ b/web/lib/aur.inc @@ -3,12 +3,12 @@ include_once("aur_po.inc"); # Define global variables # -$LOGIN_TIMEOUT = 10; # number of idle seconds before timeout +$LOGIN_TIMEOUT = 1800; # number of idle seconds before timeout $SUPPORTED_LANGS = array( # what languages we have translations for - "en" => 1, # English - "es" => 1, # Español - "de" => 1, # Deutsch - "fr" => 1, # Français + "en" => "English", + "es" => "Español", + "de" => "Deutsch", + "fr" => "Français", ); # debugging variables @@ -71,6 +71,12 @@ function check_sid() { return; } +# verify that an email address looks like it is legitimate +# +function valid_email($addy) { + return eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,3}$", $addy); +} + # a new seed value for mt_srand() # function make_seed() { @@ -93,9 +99,41 @@ function new_sid() { return strtoupper(md5($id)); } +# obtain the user type from its database ID +# +function user_type($id=0) { + if ($id == 3) { + return __("Developer"); + } elseif ($id == 2) { + return __("Trusted user"); + } else { + return __("User"); + } +} + # obtain the username if given their current SID # function username_from_sid($sid="") { + if (!$sid) { + return ""; + } + $dbh = db_connect(); + $q = "SELECT Username "; + $q.= "FROM Users, Sessions "; + $q.= "WHERE Users.ID = Sessions.UsersID "; + $q.= "AND Sessions.SessionID = '" . mysql_escape_string($sid) . "'"; + $result = db_query($q, $dbh); + if (!$result) { + return ""; + } + $row = mysql_fetch_row($result); + + return $row[0]; +} + +# obtain the email address if given their current SID +# +function email_from_sid($sid="") { if (!$sid) { return ""; } @@ -103,7 +141,29 @@ function username_from_sid($sid="") { $q = "SELECT Email "; $q.= "FROM Users, Sessions "; $q.= "WHERE Users.ID = Sessions.UsersID "; - $q.= "AND SessionID = '" . mysql_escape_string($sid) . "'"; + $q.= "AND Sessions.SessionID = '" . mysql_escape_string($sid) . "'"; + $result = db_query($q, $dbh); + if (!$result) { + return ""; + } + $row = mysql_fetch_row($result); + + return $row[0]; +} + +# obtain the account type if given their current SID +# Return either "", "User", "Trusted User", "Developer" +# +function account_from_sid($sid="") { + if (!$sid) { + return ""; + } + $dbh = db_connect(); + $q = "SELECT AccountType "; + $q.= "FROM Users, AccountTypes, Sessions "; + $q.= "WHERE Users.ID = Sessions.UsersID "; + $q.= "AND AccountTypes.ID = Users.AccountTypesID "; + $q.= "AND Sessions.SessionID = '" . mysql_escape_string($sid) . "'"; $result = db_query($q, $dbh); if (!$result) { return ""; @@ -150,7 +210,7 @@ function db_query($query="", $db_handle="") { fwrite($fp, $query . "\n"); fclose($fp); } - $result = mysql_query($query, $db_handle); + $result = @mysql_query($query, $db_handle); return $result; } @@ -268,6 +328,7 @@ function html_header() { print "
\n"; + print "  
\n"; print "\n\n"; return; @@ -277,7 +338,7 @@ function html_header() { # common footer # function html_footer($ver="") { - print "\n\n"; + print "\n\n\n"; print "
\n"; -- cgit v1.2.3-70-g09d2