diff --git a/modules/user_homes/helpers/user_homes_event.php b/modules/user_homes/helpers/user_homes_event.php index 7636079a..68cfa8ce 100644 --- a/modules/user_homes/helpers/user_homes_event.php +++ b/modules/user_homes/helpers/user_homes_event.php @@ -1,187 +1,163 @@ where("id", $user->id)->find(); - if ($home) - { - if ($home->home!=0) - { - $session = Session::instance(); - $session->set("redirect_home",$home->home); - } - } +class user_homes_event_Core { + /** + * Called when a user logs in. This will setup the session with the + * user home if it exists on the database. This means when the page + * is refreshed after logging in the direction can occur. + */ + static function user_login($user) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); + if ($home->loaded && $home->home != 0) { + Session::instance()->set("redirect_home", $home->home); + } + } - } + /** + * called after a log in occurs and when the first gallery is loaded. + * if the home variable exists on the session then a redirect will + * occur to that home and the variable removed from the session to + */ + static function gallery_ready() { + $session = Session::instance(); + $home = $session->get("redirect_home"); + if ($home) { + // Remove from session to ensure redirect does not occur again + $session->set("redirect_home",null); + url::redirect("albums/$home"); + } + } - /** - * called after a log in occurs and when the first gallery is loaded. - * if the home variable exists on the session then a redirect will - * occur to that home and the variable removed from the session to - */ - static function gallery_ready() - { - - $session = Session::instance(); - $home = $session->get("redirect_home"); - if ($home) - { - // remove from session to ensure redirect does not - // occur again - $session->set("redirect_home",null); - url::redirect("albums/$home"); - } + /** + * Called just before a user is deleted. This will remove the user from + * the user_homes directory. + */ + static function user_before_delete($user) { + ORM::factory("user_home") + ->where("id", $user->id) + ->delete_all(); + } - } + /** + * Called when admin is adding a user + */ + static function user_add_form_admin($user, $form) { + $form->add_user->dropdown("user_home") + ->label(t("Home Gallery")) + ->options(self::createGalleryArray()) + ->selected(0); + } - /** - * called just before a user is deleted. This will remove the user from - * the user_homes directory. - */ - static function user_before_delete($user) - { - ORM::factory("user_home") - ->where("id", $user->id) - ->delete_all(); - } + /** + * Called after a user has been added + */ + static function user_add_form_admin_completed($user, $form) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); + $home->id = $user->id; + $home->home = $form->add_user->user_home->value; + $home->save(); + } - /** - * called when admin is adding a user - */ - static function user_add_form_admin($user, $form) - { - $form->add_user->dropdown("user_home") - ->label(t("Home Gallery")) - ->options(self::createGalleryArray()) - ->selected(0); - } + /** + * Called when admin is editing a user + */ + static function user_edit_form_admin($user, $form) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); + if ($home->loaded) { + $selected = $home->home; + } else { + $selected = 0; + } + $form->edit_user->dropdown("user_home") + ->label(t("Home Gallery")) + ->options(self::createGalleryArray()) + ->selected($selected); + } - /** - * called after a user has been added - */ - static function user_add_form_admin_completed($user, $form) - { - $home = ORM::factory("user_home") - ->where("id", $user->id)->find(); - $home->id=$user->id; - $home->home=$form->add_user->user_home->value; - $home->save(); - } + /** + * Called after a user had been edited by the admin + */ + static function user_edit_form_admin_completed($user, $form) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); + $home->id = $user->id; + $home->home = $form->edit_user->user_home->value; + $home->save(); + } - /** - * called when admin is editing a user - */ - static function user_edit_form_admin($user, $form) - { - $home = ORM::factory("user_home") - ->where("id", $user->id)->find(); - if ($home) - { - $selected = $home->home; - } - else - { - $selected = 0; - } - $form->edit_user->dropdown("user_home") - ->label(t("Home Gallery")) - ->options(self::createGalleryArray()) - ->selected($selected); - } - /** - * called after a user had been edited by the admin - */ - static function user_edit_form_admin_completed($user, $form) - { - $home = ORM::factory("user_home") - ->where("id", $user->id)->find(); - $home->id=$user->id; - $home->home=$form->edit_user->user_home->value; - $home->save(); - - } + /** + * Called when user is editing their own form + */ + static function user_edit_form($user, $form) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); - - /** - * called when user is editing their own form - */ - static function user_edit_form($user, $form) - { - $home = ORM::factory("user_home") - ->where("id", $user->id)->find(); + if ($home->loaded) { + $selected = $home->home; + } else { + $selected = 0; + } - if ($home) - { - $selected = $home->home; - } - else - { - $selected = 0; - } - $form->edit_user->dropdown("user_home") - ->label(t("Home Gallery")) - ->options(self::createGalleryArray()) - ->selected($selected); - } + $form->edit_user->dropdown("user_home") + ->label(t("Home Gallery")) + ->options(self::createGalleryArray()) + ->selected($selected); + } - /** - * called after a user had been edited by the user - */ - static function user_edit_form_completed($user, $form) - { - $home = ORM::factory("user_home") - ->where("id", $user->id)->find(); - $home->id=$user->id; - $home->home=$form->edit_user->user_home->value; - $home->save(); - - } - - /** - * creates an array of galleries - */ - static function createGalleryArray() - { - $array[0] = "none"; - $root = ORM::factory("item", 1); - self::tree($root, "", $array); + /** + * Called after a user had been edited by the user + */ + static function user_edit_form_completed($user, $form) { + $home = ORM::factory("user_home")->where("id", $user->id)->find(); + $home->id = $user->id; + $home->home = $form->edit_user->user_home->value; + $home->save(); + } - return $array; - } + /** + * Creates an array of galleries + */ + static function createGalleryArray() { + $array[0] = "none"; + $root = ORM::factory("item", 1); + self::tree($root, "", $array); + return $array; + } - /** - * recursive function to build array for drop down list - */ - static function tree($parent, $dashes, &$array) - { - if ($parent->id == "1") - { - $array[$parent->id] = "home"; - } - else - { - $array[$parent->id] = "$dashes $parent->name"; - } + /** + * recursive function to build array for drop down list + */ + static function tree($parent, $dashes, &$array) { + if ($parent->id == "1") { + $array[$parent->id] = ORM::factory("item", 1)->title; + } else { + $array[$parent->id] = "$dashes $parent->name"; + } - $albums = ORM::factory("item") - ->where(array("parent_id" => $parent->id, "type" => "album")) - ->orderby(array("title" => "ASC")) - ->find_all(); - foreach ($albums as $album) - { - self::tree($album, "-$dashes", $array); - } - return; - } - - + $albums = ORM::factory("item") + ->where(array("parent_id" => $parent->id, "type" => "album")) + ->orderby(array("title" => "ASC")) + ->find_all(); + foreach ($albums as $album) { + self::tree($album, "-$dashes", $array); + } + return; + } } diff --git a/modules/user_homes/helpers/user_homes_installer.php b/modules/user_homes/helpers/user_homes_installer.php index ff464736..0e80e6c1 100644 --- a/modules/user_homes/helpers/user_homes_installer.php +++ b/modules/user_homes/helpers/user_homes_installer.php @@ -1,35 +1,47 @@ query("CREATE TABLE IF NOT EXISTS {user_homes} ( - `id` int(9) NOT NULL, - `home` int(9) default NULL, - PRIMARY KEY (`id`), - UNIQUE KEY(`id`)) - ENGINE=InnoDB DEFAULT CHARSET=utf8;"); - } + /** + * Installs the table of user homes when the module is installed. + */ + static function activate() { + $db = Database::instance(); + $db->query("CREATE TABLE IF NOT EXISTS {user_homes} ( + `id` int(9) NOT NULL, + `home` int(9) default NULL, + PRIMARY KEY (`id`), + UNIQUE KEY(`id`)) + ENGINE=InnoDB DEFAULT CHARSET=utf8;"); + module::set_version("user_homes", 1); + } - /** - * drops the table of user homes when the - * module is uninstalled - */ - static function deactivate() - { - $db = Database::instance(); - $db->query("DROP TABLE IF EXISTS {user_homes};"); - } + /** + * Drops the table of user homes when the module is uninstalled. + */ + static function deactivate() { + $db = Database::instance(); + $db->query("DROP TABLE IF EXISTS {user_homes};"); + } } diff --git a/modules/user_homes/models/user_home.php b/modules/user_homes/models/user_home.php index 83cef0df..2524a29d 100644 --- a/modules/user_homes/models/user_home.php +++ b/modules/user_homes/models/user_home.php @@ -1,5 +1,22 @@