From 1019f6c86f09bb674ffd7024730fe58731ff48b5 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Mon, 6 Sep 2010 18:24:25 -0700 Subject: [PATCH] New User Albums module that creates a personal, editable album any time a new user is created. --- .../user_albums/helpers/user_albums_event.php | 53 +++++++++++++++++++ modules/user_albums/module.info | 3 ++ 2 files changed, 56 insertions(+) create mode 100644 modules/user_albums/helpers/user_albums_event.php create mode 100644 modules/user_albums/module.info diff --git a/modules/user_albums/helpers/user_albums_event.php b/modules/user_albums/helpers/user_albums_event.php new file mode 100644 index 00000000..d11e5ac5 --- /dev/null +++ b/modules/user_albums/helpers/user_albums_event.php @@ -0,0 +1,53 @@ +name}"; + $group = identity::lookup_group_by_name($group_name); + if (!$group) { + $group = identity::create_group($group_name); + identity::add_user_to_group($user, $group); + } + + // Create an album for the user, if it doesn't exist + $album = ORM::factory("item") + ->where("parent_id", "=", item::root()->id) + ->where("name", "=", $user->name) + ->find(); + if (!$album->loaded()) { + $album->type = "album"; + $album->name = $user->name; + $album->title = "{$user->name}'s album"; + $album->parent_id = item::root()->id; + $album->sort_column = "weight"; + $album->sort_order = "asc"; + $album->save(); + + access::allow($group, "view", item::root()); + access::allow($group, "view_full", $album); + access::allow($group, "edit", $album); + access::allow($group, "add", $album); + } + } +} diff --git a/modules/user_albums/module.info b/modules/user_albums/module.info new file mode 100644 index 00000000..8e685e8c --- /dev/null +++ b/modules/user_albums/module.info @@ -0,0 +1,3 @@ +name = "User Albums" +description = "Create a personal album for new users" +version = 1