From 301754db7365262804a40a59d4cbf277d7d1085e Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 18 Oct 2009 18:16:19 -0700 Subject: Create a administration page that allows the administrator to change the the Identity provider if more than two are Identity providers are installed --- modules/gallery/controllers/admin_identity.php | 57 ++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 modules/gallery/controllers/admin_identity.php (limited to 'modules/gallery/controllers') diff --git a/modules/gallery/controllers/admin_identity.php b/modules/gallery/controllers/admin_identity.php new file mode 100644 index 00000000..dd1cfb4b --- /dev/null +++ b/modules/gallery/controllers/admin_identity.php @@ -0,0 +1,57 @@ +content = new View("admin_identity.html"); + $view->content->available = Identity::active(); + $view->content->active = module::get_var("gallery", "identity_provider", "user"); + print $view; + } + + public function confirm() { + access::verify_csrf(); + + $v = new View("admin_identity_confirm.html"); + $v->new_provider = $this->input->post("provider"); + + print $v; + } + + public function change() { + access::verify_csrf(); + + $active_provider = module::get_var("gallery", "identity_provider", "user"); + $providers = Identity::active(); + + $new_provider = $this->input->post("provider"); + + if ($new_provider != $active_provider) { + module::event("identity_change", $new_provider); + + // @todo this type of collation is questionable from an i18n perspective + message::success(t("Changed to %description", + array("description" => $providers->$new_provider))); + } + + url::redirect("admin/identity"); + } +} + -- cgit v1.2.3