From 9391179df8ba6ed1595de7de533f633d99d57b35 Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 1 Apr 2008 14:20:55 +0000 Subject: User registration gubbins git-svn-id: https://code.elgg.org/elgg/trunk@308 36083f99-b078-4883-b0ff-0f9b5a30f544 --- actions/login.php | 2 +- actions/logout.php | 2 +- actions/register.php | 28 ++++++++++++++++++++++++++++ engine/lib/entities.php | 6 ++++-- engine/lib/users.php | 32 ++++++++++++++++++++++++++++++++ languages/en.php | 4 ++++ views/default/login.php | 5 +++-- 7 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 actions/register.php diff --git a/actions/login.php b/actions/login.php index dbc84bab5..e79799a30 100644 --- a/actions/login.php +++ b/actions/login.php @@ -1,7 +1,7 @@ sitename)); + } else { + system_message(elgg_echo("registerbad")); + } + +?> \ No newline at end of file diff --git a/engine/lib/entities.php b/engine/lib/entities.php index fb161bbd1..66f421a6d 100644 --- a/engine/lib/entities.php +++ b/engine/lib/entities.php @@ -488,8 +488,10 @@ $access_id = (int)$access_id; $time = time(); - if ($type=="") throw new InvalidParameterException("Entity type must be set."); - if ($owner_guid==0) throw new InvalidParameterException("owner_guid must not be 0"); + if ($type=="") throw new InvalidParameterException("Entity type must be set."); + + // Erased by Ben: sometimes we need unauthenticated users to create things! (eg users on registration) + // if ($owner_guid==0) throw new InvalidParameterException("owner_guid must not be 0"); return insert_data("INSERT into {$CONFIG->dbprefix}entities (type, subtype, owner_guid, access_id, time_created, time_updated) values ('$type',$subtype, $owner_guid, $access_id, $time, $time)"); } diff --git a/engine/lib/users.php b/engine/lib/users.php index e8e6554f9..2c2465ced 100644 --- a/engine/lib/users.php +++ b/engine/lib/users.php @@ -457,4 +457,36 @@ return false; } + + function register_user(string $username, string $password, string $name, string $email) { + + // Load the configuration + global $CONFIG; + + // A little sanity checking + if (empty($username) + || empty($password) + || empty($name) + || empty($email)) + return false; + + // Check to see if $username exists already + if ($user = get_user_by_username($username)) { + return false; + } + + // Otherwise ... + $user = new ElggUser(); + $user->username = $username; + $user->password = md5($password); + $user->email = $email; + $user->name = $name; + return $user->save(); + + } + + //register actions ************************************************************* + + register_action("register",true); + ?> \ No newline at end of file diff --git a/languages/en.php b/languages/en.php index 23f398c93..49ac9c647 100644 --- a/languages/en.php +++ b/languages/en.php @@ -46,6 +46,10 @@ 'account' => "Account", + 'register' => "Register", + 'registerok' => "You have successfully registered for %s.", + 'registerbad' => "Your registration was unsuccessful. The username may already exist, or your passwords might not match.", + /** * Welcome */ diff --git a/views/default/login.php b/views/default/login.php index ab096d41f..c17f87b33 100644 --- a/views/default/login.php +++ b/views/default/login.php @@ -15,9 +15,10 @@
- +



- +

+

\ No newline at end of file -- cgit v1.2.3