mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-08-09 16:41:15 -04:00
Change Identity adminstration to use the uninstall/install methods when changing providers.
This commit is contained in:
@@ -24,91 +24,6 @@
|
||||
* Note: by design, this class does not do any permission checking.
|
||||
*/
|
||||
class user_Core {
|
||||
/**
|
||||
* Initialize the provider so it is ready to use
|
||||
*/
|
||||
static function activate() {
|
||||
$db = Database::instance();
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {users} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`name` varchar(32) NOT NULL,
|
||||
`full_name` varchar(255) NOT NULL,
|
||||
`password` varchar(64) NOT NULL,
|
||||
`login_count` int(10) unsigned NOT NULL DEFAULT 0,
|
||||
`last_login` int(10) unsigned NOT NULL DEFAULT 0,
|
||||
`email` varchar(64) default NULL,
|
||||
`admin` BOOLEAN default 0,
|
||||
`guest` BOOLEAN default 0,
|
||||
`hash` char(32) default NULL,
|
||||
`url` varchar(255) default NULL,
|
||||
`locale` char(10) default NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`hash`),
|
||||
UNIQUE KEY(`name`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {groups} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`name` char(64) default NULL,
|
||||
`special` BOOLEAN default 0,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY(`name`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
$db->query("CREATE TABLE IF NOT EXISTS {groups_users} (
|
||||
`group_id` int(9) NOT NULL,
|
||||
`user_id` int(9) NOT NULL,
|
||||
PRIMARY KEY (`group_id`, `user_id`),
|
||||
UNIQUE KEY(`user_id`, `group_id`))
|
||||
DEFAULT CHARSET=utf8;");
|
||||
|
||||
$everybody = group::create("Everybody");
|
||||
$everybody->special = true;
|
||||
$everybody->save();
|
||||
|
||||
$registered = group::create("Registered Users");
|
||||
$registered->special = true;
|
||||
$registered->save();
|
||||
|
||||
$guest = user::create("guest", "Guest User", "");
|
||||
$guest->guest = true;
|
||||
$guest->remove($registered);
|
||||
$guest->save();
|
||||
|
||||
$admin = user::create("admin", "Gallery Administrator", "admin");
|
||||
$admin->admin = true;
|
||||
$admin->save();
|
||||
|
||||
// Let the admin own everything
|
||||
$db->query("update {items} set owner_id = {$admin->id}");
|
||||
|
||||
$root = ORM::factory("item", 1);
|
||||
access::allow($everybody, "view", $root);
|
||||
access::allow($everybody, "view_full", $root);
|
||||
|
||||
access::allow($registered, "view", $root);
|
||||
access::allow($registered, "view_full", $root);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup up this provider so it is unavailable for use and won't conflict with the current driver
|
||||
*/
|
||||
static function deactivate() {
|
||||
// Delete all users and groups so that we give other modules an opportunity to clean up
|
||||
foreach (ORM::factory("user")->find_all() as $user) {
|
||||
$user->delete();
|
||||
}
|
||||
|
||||
foreach (ORM::factory("group")->find_all() as $group) {
|
||||
$group->delete();
|
||||
}
|
||||
|
||||
$db = Database::instance();
|
||||
$db->query("DROP TABLE IF EXISTS {users};");
|
||||
$db->query("DROP TABLE IF EXISTS {groups};");
|
||||
$db->query("DROP TABLE IF EXISTS {groups_users};");
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the guest user.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user