diff --git a/modules/ldap/helpers/ldap_installer.php b/modules/ldap/helpers/ldap_installer.php index c68ac6b6..dbdfb048 100644 --- a/modules/ldap/helpers/ldap_installer.php +++ b/modules/ldap/helpers/ldap_installer.php @@ -18,15 +18,19 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class ldap_installer { - static function install() { - module::set_version("ldap", 1); - $root = item::root(); - $ldap_provider = new IdentityProvider("ldap"); - foreach ($ldap_provider->groups() as $group) { - module::event("group_created", $group); - access::allow($group, "view", $root); - access::allow($group, "view_full", $root); + static function can_activate() { + $messages = array(); + if (array_search("ldap", get_loaded_extensions()) === false) { + $messages["error"][] = + t("Cannot install LDAP identity provider as the PHP LDAP extension module is not enabled."); + } else { + $messages["warn"][] = IdentityProvider::confirmation_message(); } + return $messages; + } + + static function install() { + IdentityProvider::change_provider("ldap"); } static function uninstall() { @@ -36,4 +40,14 @@ class ldap_installer { module::event("group_deleted", $group); } } + + static function initialize() { + module::set_version("ldap", 1); + $root = item::root(); + foreach (IdentityProvider::instance()->groups() as $group) { + module::event("group_created", $group); + access::allow($group, "view", $root); + access::allow($group, "view_full", $root); + } + } } \ No newline at end of file diff --git a/modules/ldap/module.info b/modules/ldap/module.info index 1b7bef08..06fa311b 100644 --- a/modules/ldap/module.info +++ b/modules/ldap/module.info @@ -1,6 +1,3 @@ name = "LDAP" description = "Use LDAP for authentication" version = 1 - -; Don't show this module on the module administration screen -no_module_admin = 1 diff --git a/modules/user_homes/helpers/user_homes_event.php b/modules/user_homes/helpers/user_homes_event.php index 561666df..a866de52 100644 --- a/modules/user_homes/helpers/user_homes_event.php +++ b/modules/user_homes/helpers/user_homes_event.php @@ -161,4 +161,17 @@ class user_homes_event_Core { } return; } + + static function show_user_profile($data) { + $home = ORM::factory("user_home")->where("id", "=", $data->user->id)->find(); + + if ($home->loaded()) { + $view = new View("user_profile_home.html"); + $item = ORM::factory("item")->where("id", "=", $home->home)->find(); + if ($item->loaded()) { + $view->item = $item; + $data->content[] = (object)array("title" => t("Home album"), "view" => $view); + } + } + } } diff --git a/modules/user_homes/views/user_profile_home.html.php b/modules/user_homes/views/user_profile_home.html.php new file mode 100644 index 00000000..33e8c5c2 --- /dev/null +++ b/modules/user_homes/views/user_profile_home.html.php @@ -0,0 +1,10 @@ + +
+ +