aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorJames Atkinson <thefinn@users.sourceforge.net>2001-06-11 00:58:08 +0000
committerJames Atkinson <thefinn@users.sourceforge.net>2001-06-11 00:58:08 +0000
commitcb44575d8ac73c719e252556c64572a6e84e4f7f (patch)
treecfa963e88c5e97a6ab7e765ce6cc6dcf924fe72d /phpBB/includes
parentb71e098cdc39752a32c50a7147f893f582e86d26 (diff)
downloadforums-cb44575d8ac73c719e252556c64572a6e84e4f7f.tar
forums-cb44575d8ac73c719e252556c64572a6e84e4f7f.tar.gz
forums-cb44575d8ac73c719e252556c64572a6e84e4f7f.tar.bz2
forums-cb44575d8ac73c719e252556c64572a6e84e4f7f.tar.xz
forums-cb44575d8ac73c719e252556c64572a6e84e4f7f.zip
Posting preview done, ability for anonymous users to post with a username
git-svn-id: file:///svn/phpbb/trunk@463 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/functions.php73
1 files changed, 66 insertions, 7 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index ec65707b46..0825bcf8c9 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -67,14 +67,14 @@ function get_db_stat($mode)
}
}
-function get_userdata_from_id($userid)
+function get_userdata_from_id($userid)
{
global $db;
- $sql = "SELECT *
- FROM ".USERS_TABLE."
+ $sql = "SELECT *
+ FROM ".USERS_TABLE."
WHERE user_id = $userid";
- if(!$result = $db->sql_query($sql))
+ if(!$result = $db->sql_query($sql))
{
$userdata = array("error" => "1");
return ($userdata);
@@ -95,9 +95,9 @@ function get_userdata($username) {
global $db;
- $sql = "SELECT *
- FROM ".USERS_TABLE."
- WHERE username = '$username'
+ $sql = "SELECT *
+ FROM ".USERS_TABLE."
+ WHERE username = '$username'
AND user_level != ".DELETED;
if(!$result = $db->sql_query($sql))
{
@@ -410,4 +410,63 @@ function generate_pagination($base_url, $num_items, $per_page, $start_item, $add
}
+//
+// Check to see if the username has been taken, or if it is disallowed.
+// Used for registering, changing names, and posting anonymously with a username
+//
+function validate_username($username)
+{
+
+ global $db;
+
+ switch(SQL_LAYER)
+ {
+ // Along with subqueries MySQL also lacks
+ // a UNION clause which would be very nice here :(
+ // So we have to use two queries
+ case 'mysql':
+ $sql_users = "SELECT username
+ FROM ".USERS_TABLE."
+ WHERE LOWER(username) = '".strtolower($username)."'";
+ $sql_disallow = "SELECT disallow_username
+ FROM ".DISALLOW_TABLE."
+ WHERE disallow_username = '$username'";
+
+ if($result = $db->sql_query($sql_users))
+ {
+ if($db->sql_numrows($result) > 0)
+ {
+ return(FALSE);
+ }
+ }
+ if($result = $db->sql_query($sql_disallow))
+ {
+ if($db->sql_numrows($result) > 0)
+ {
+ return(FALSE);
+ }
+ }
+ break;
+
+ default:
+ $sql = "SELECT disallow_username
+ FROM ".DISALLOW_TABLE."
+ WHERE disallow_username = '$username'
+ UNION
+ SELECT username
+ FROM ".USERS_TABLE."
+ WHERE LOWER(username) = '".strtolower($username)."'";
+
+ if($result = $db->sql_query($sql))
+ {
+ if($db->sql_numrows($result) > 0)
+ {
+ return(FALSE);
+ }
+ }
+ break;
+ }
+
+ return(TRUE);
+}
?>