summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-26 04:54:43 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-26 04:54:43 +0000
commit9c60566197a1edeb1c7d758886c8d518b5b99388 (patch)
tree0c486ae87d994f49497a4e295c0403fe7e9ce799
parent226df2a8f855010a3400fb4d8bb72469ad43d91a (diff)
Add support for marking users as "admin"
-rw-r--r--core/controllers/welcome.php3
-rw-r--r--core/views/welcome.html.php1
-rw-r--r--modules/user/helpers/user.php4
-rw-r--r--modules/user/helpers/user_installer.php1
4 files changed, 7 insertions, 2 deletions
diff --git a/core/controllers/welcome.php b/core/controllers/welcome.php
index 08bfcb56..821744e8 100644
--- a/core/controllers/welcome.php
+++ b/core/controllers/welcome.php
@@ -390,7 +390,8 @@ class Welcome_Controller extends Template_Controller {
public function add_user() {
$name = $this->input->post("user_name");
- user::create($name, $name, $name);
+ $admin = (bool)$this->input->post("admin");
+ user::create($name, $name, $name, $admin);
url::redirect("welcome");
}
diff --git a/core/views/welcome.html.php b/core/views/welcome.html.php
index 8a397f4b..70e9eb19 100644
--- a/core/views/welcome.html.php
+++ b/core/views/welcome.html.php
@@ -280,6 +280,7 @@
<form method="post" action="<?= url::site("welcome/add_user") ?>">
<input name="user_name" type="text"/>
<input type="submit" value="create"/>
+ <input type="checkbox" name="admin">Admin</input>
</form>
</fieldset>
</div>
diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php
index 6551891c..6c2cdeaa 100644
--- a/modules/user/helpers/user.php
+++ b/modules/user/helpers/user.php
@@ -64,9 +64,10 @@ class user_Core {
* @param string $name
* @param string $display_name
* @param string $password
+ * @param boolean $admin true if this user is a site admin
* @return User_Model
*/
- static function create($name, $display_name, $password) {
+ static function create($name, $display_name, $password, $admin=false) {
$user = ORM::factory("user");
if ($user->loaded) {
throw new Exception("@todo USER_ALREADY_EXISTS $name");
@@ -75,6 +76,7 @@ class user_Core {
$user->name = $name;
$user->display_name = $name;
$user->password = $name;
+ $user->admin = $admin;
$user->save();
group::add_user(group::REGISTERED_USERS, $user->id);
diff --git a/modules/user/helpers/user_installer.php b/modules/user/helpers/user_installer.php
index 4a86692c..13811804 100644
--- a/modules/user/helpers/user_installer.php
+++ b/modules/user/helpers/user_installer.php
@@ -35,6 +35,7 @@ class user_installer {
`login_count` int(10) unsigned NOT NULL DEFAULT 0,
`last_login` int(10) unsigned NOT NULL DEFAULT 0,
`email` varchar(255) default NULL,
+ `admin` BOOLEAN default 0,
PRIMARY KEY (`id`),
UNIQUE KEY(`display_name`))
ENGINE=InnoDB DEFAULT CHARSET=utf8;");