From 49231646260598303936dd7b00ad4d23f23d3e40 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Tue, 12 Jan 2010 10:49:58 -0800 Subject: [PATCH 1/5] Change the offset from zero to null on the item->find_all call. Changed with K2.4 --- modules/gwtorganise/controllers/json_album.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gwtorganise/controllers/json_album.php b/modules/gwtorganise/controllers/json_album.php index 85cf1128..40f14028 100644 --- a/modules/gwtorganise/controllers/json_album.php +++ b/modules/gwtorganise/controllers/json_album.php @@ -34,7 +34,7 @@ class Json_Album_Controller extends Controller { $item = ORM::factory("item", $item_id); access::required("view", $item); - $children = $item->children(null, 0, $where); + $children = $item->children(null, null, $where); $encoded = array(); foreach ($children as $id => $child){ $encoded[$id] = self::child_json_encode($child); From 9a96a37681dd68e6031659b10d97c1abab506515 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 14 Jan 2010 13:41:40 -0800 Subject: [PATCH 2/5] Another 2.4 migration-ism. Need to pass the where clause in an appropriate format. array(fieldname, operator, value); --- modules/gwtorganise/controllers/json_album.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gwtorganise/controllers/json_album.php b/modules/gwtorganise/controllers/json_album.php index 40f14028..6f7dc97c 100644 --- a/modules/gwtorganise/controllers/json_album.php +++ b/modules/gwtorganise/controllers/json_album.php @@ -54,7 +54,7 @@ class Json_Album_Controller extends Controller { function albums($item_id) { - print $this->child_elements($item_id,array("type" => "album")); + print $this->child_elements($item_id, array("type", "=", "album")); } function children($item_id){ From 4309f8822cc3ded51dd7191980826344abfaacbf Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 14 Jan 2010 20:16:15 -0800 Subject: [PATCH 3/5] 1) Insure that a group input is always part of the form, either a dropdown or hidden field 2) Create a "dummy validation function" in order to have the group and email_validation fields copied from the $_POST array. --- modules/register/controllers/admin_register.php | 9 +++++++++ modules/register/views/admin_register.html.php | 2 ++ 2 files changed, 11 insertions(+) diff --git a/modules/register/controllers/admin_register.php b/modules/register/controllers/admin_register.php index d93d9ad1..6e1e4155 100755 --- a/modules/register/controllers/admin_register.php +++ b/modules/register/controllers/admin_register.php @@ -32,6 +32,9 @@ class Admin_register_Controller extends Admin_Controller { access::verify_csrf(); $post = new Validation($_POST); + $post->add_rules("policy", "required"); + $post->add_rules("group", array($this, "passthru")); + $post->add_rules("email_verification", array($this, "passthru")); $group_list = array(); if ($post->validate()) { module::set_var("registration", "policy", $post->policy); @@ -49,6 +52,12 @@ class Admin_register_Controller extends Admin_Controller { } } + // We need this validation callback in order to have the optional fields copied to + // validation array. + public function passthru($field) { + return true; + } + public function activate() { access::verify_csrf(); diff --git a/modules/register/views/admin_register.html.php b/modules/register/views/admin_register.html.php index 865a8e56..d624865c 100644 --- a/modules/register/views/admin_register.html.php +++ b/modules/register/views/admin_register.html.php @@ -31,6 +31,8 @@ "group"), $group_list, $form["group"]) ?> + +
  • From b98b1391e90fc2070ec54e78494d6de2aad8443f Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 15 Jan 2010 08:58:31 -0800 Subject: [PATCH 4/5] A further fix for 977. create the user immediately if the policy is visitor w/o a confirmation email. --- modules/register/controllers/register.php | 4 ++-- modules/register/helpers/register.php | 14 ++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/register/controllers/register.php b/modules/register/controllers/register.php index 66d420c6..ec50d646 100755 --- a/modules/register/controllers/register.php +++ b/modules/register/controllers/register.php @@ -37,13 +37,13 @@ class register_Controller extends Controller { $policy = module::get_var("registration", "policy"); if ($policy == "visitor") { if ($pending_user->state == 1) { - Session::instance()->set("registration_first_usage"); $user = register::create_new_user($pending_user->id); + Session::instance()->set("registration_first_usage"); auth::login($user); Session::instance()->set("registration_first_usage", true); $pending_user->delete(); } else { - register::send_confirmation($pending_user); + $user = register::create_new_user($pending_user->id, true); message::success(t("A confirmation email has been sent to your email address.")); } } else if ($pending_user->state == 1) { diff --git a/modules/register/helpers/register.php b/modules/register/helpers/register.php index 159f3237..d46b381c 100644 --- a/modules/register/helpers/register.php +++ b/modules/register/helpers/register.php @@ -21,8 +21,13 @@ class register_Core { private static $_states; static function format_registration_state($state) { - if (empty(self::$_state)) { - self::$_states = array(t("Unconfirmed"), t("Confirmed"), t("Activated")); + if (empty(self::$_states)) { + $policy = module::get_var("registration", "policy"); + $email_verification = module::get_var("registration", "email_verification"); + $pending = $policy == "admin_only" || ($policy == "admin_approval" && !$email_verification); + self::$_states = array(t("Unconfirmed"), + $pending ? t("Pending") : t("Confirmed"), + t("Activated")); } return self::$_states[$state]; } @@ -37,10 +42,11 @@ class register_Core { return $user->loaded(); } - static function send_user_created_confirmation($user) { + static function send_user_created_confirmation($user, $requires_first=false) { $message = new View("register_welcome.html"); $message->user = $user; - $message->site_url = url::abs_site("register/first/{$user->hash}"); + $message->site_url = $requires_first ? url::abs_site("register/first/{$user->hash}") : + url::abs_site(""); self::_sendemail($user->email, t("Your userid has been created"), $message); } From 7380d7bc761d1e1ebdf6652a2b41fb6c85d6906c Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 17 Jan 2010 09:27:48 -0800 Subject: [PATCH 5/5] 1) Call identity::active_user instead of user::active() 2) The where clause needs to be passed as array of arrays when filtering for albums. --- modules/gwtorganise/controllers/json_album.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/gwtorganise/controllers/json_album.php b/modules/gwtorganise/controllers/json_album.php index 6f7dc97c..da36fd98 100644 --- a/modules/gwtorganise/controllers/json_album.php +++ b/modules/gwtorganise/controllers/json_album.php @@ -44,7 +44,7 @@ class Json_Album_Controller extends Controller { } function is_admin() { - if (user::active()->admin) { + if (identity::active_user()->admin) { print json_encode(array("result" => "success", "csrf" => access::csrf_token())); return; } @@ -54,7 +54,7 @@ class Json_Album_Controller extends Controller { function albums($item_id) { - print $this->child_elements($item_id, array("type", "=", "album")); + print $this->child_elements($item_id, array(array("type", "=", "album"))); } function children($item_id){