summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/controllers/user.php23
-rw-r--r--application/models/muser.php16
2 files changed, 18 insertions, 21 deletions
diff --git a/application/controllers/user.php b/application/controllers/user.php
index 4a79a6730..1562ae9fd 100644
--- a/application/controllers/user.php
+++ b/application/controllers/user.php
@@ -131,16 +131,7 @@ class User extends CI_Controller {
);
$error = array();
- $query = $this->db->query("
- SELECT `user`, `key`
- FROM actions
- WHERE `key` = ?
- AND `action` = 'invitation'
- ", array($key))->row_array();
-
- if (!isset($query["key"]) || $key != $query["key"]) {
- show_error("Invalid invitation key.");
- }
+ $query = $this->muser->get_action("invitation", $key);
$referrer = $query["user"];
@@ -285,17 +276,7 @@ class User extends CI_Controller {
$key = $this->uri->segment(3);
$error = array();
- // TODO: refactor into common function
- $query = $this->db->query("
- SELECT `user`, `key`
- FROM actions
- WHERE `key` = ?
- AND `action` = 'passwordreset'
- ", array($key))->row_array();
-
- if (!isset($query["key"]) || $key != $query["key"]) {
- show_error("Invalid reset key.");
- }
+ $query = $this->muser->get_action("passwordreset", $key);
$userid = $query["user"];
diff --git a/application/models/muser.php b/application/models/muser.php
index ee086994d..c277118f2 100644
--- a/application/models/muser.php
+++ b/application/models/muser.php
@@ -144,6 +144,22 @@ class Muser extends CI_Model {
}
}
+ function get_action($action, $key)
+ {
+ $query = $this->db->query("
+ SELECT *
+ FROM actions
+ WHERE `key` = ?
+ AND `action` = ?
+ ", array($key, $action))->row_array();
+
+ if (!isset($query["key"]) || $key != $query["key"]) {
+ show_error("Invalid action key");
+ }
+
+ return $query;
+ }
+
function hash_password($password)
{