summaryrefslogtreecommitdiff
path: root/core/helpers/core_installer.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/helpers/core_installer.php')
-rw-r--r--core/helpers/core_installer.php29
1 files changed, 25 insertions, 4 deletions
diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php
index 792798ea..d1e359c7 100644
--- a/core/helpers/core_installer.php
+++ b/core/helpers/core_installer.php
@@ -31,11 +31,15 @@ class core_installer {
}
if ($version == 0) {
- $db->query("CREATE TABLE `access` (
+ $db->query("CREATE TABLE `access_caches` (
+ `id` int(9) NOT NULL auto_increment,
+ `item_id` int(9),
+ PRIMARY KEY (`id`))
+ ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+
+ $db->query("CREATE TABLE `access_intents` (
`id` int(9) NOT NULL auto_increment,
`item_id` int(9),
- `group_id` int(9) NOT NULL,
- `perm` char(255) default NULL,
PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8;");
@@ -70,10 +74,21 @@ class core_installer {
UNIQUE KEY(`name`))
ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+ $db->query("CREATE TABLE `permissions` (
+ `id` int(9) NOT NULL auto_increment,
+ `name` char(255) default NULL,
+ `version` int(9) default NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY(`name`))
+ ENGINE=InnoDB DEFAULT CHARSET=utf8;");
+
foreach (array("albums", "resizes") as $dir) {
@mkdir(VARPATH . $dir);
}
+ access::register_permission("view");
+ access::register_permission("edit");
+
$root = ORM::factory("item");
$root->type = 'album';
$root->title = "Gallery";
@@ -85,13 +100,19 @@ class core_installer {
$root->set_thumbnail(DOCROOT . "core/tests/test.jpg", 200, 150)
->save();
+ access::add_item($root);
+ access::allow(0, "view", $root->id);
+ access::deny(0, "edit", $root->id);
+
module::set_version("core", 1);
}
}
public static function uninstall() {
$db = Database::instance();
- $db->query("DROP TABLE IF EXISTS `access`;");
+ $db->query("DROP TABLE IF EXISTS `access_cache`;");
+ $db->query("DROP TABLE IF EXISTS `access_intent`;");
+ $db->query("DROP TABLE IF EXISTS `permissions`;");
$db->query("DROP TABLE IF EXISTS `items`;");
$db->query("DROP TABLE IF EXISTS `modules`;");
system("/bin/rm -rf " . VARPATH . "albums");