From 41c5abd4e8849e6a84ed2af405e9c25a74e018f3 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 22 Sep 2013 17:09:57 +0200 Subject: Move user_logged_in check to controller constructor TL;DR: Allows us to show a proper error page if encryption_key is missing from the config. muser->logged_in() can load the session class which will die if encryption_key is not set in the config causing an error to be displayed. Because the header is also loaded when we display an error loading the class will be tried again. CI maintains an array with information which classes have been tried to be loaded and will simply return true without loading again. muser->logged_in() will then try to access $this->session which doesn't exist. Since all of this happens when we are already in the header the error message appears in the navigation being hard to read. Signed-off-by: Florian Pritz --- application/controllers/file.php | 1 - application/controllers/user.php | 2 -- application/core/MY_Controller.php | 3 +++ application/helpers/filebin_helper.php | 7 ------- application/views/file/upload_form.php | 2 +- application/views/header.php | 4 ++-- 6 files changed, 6 insertions(+), 13 deletions(-) diff --git a/application/controllers/file.php b/application/controllers/file.php index 98ccae884..b02cdd8ce 100644 --- a/application/controllers/file.php +++ b/application/controllers/file.php @@ -20,7 +20,6 @@ class File extends MY_Controller { parent::__construct(); $this->load->model('mfile'); - $this->load->model('muser'); if (is_cli_client()) { $this->var->view_dir = "file_plaintext"; diff --git a/application/controllers/user.php b/application/controllers/user.php index 823166ea5..356cc430b 100644 --- a/application/controllers/user.php +++ b/application/controllers/user.php @@ -18,8 +18,6 @@ class User extends MY_Controller { { parent::__construct(); - $this->load->model("muser"); - $this->var->view_dir = "user/"; } diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index 47083035c..043b52ef7 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -99,5 +99,8 @@ class MY_Controller extends CI_Controller { } $this->data['title'] = "FileBin"; + + $this->load->model("muser"); + $this->data["user_logged_in"] = $this->muser->logged_in(); } } diff --git a/application/helpers/filebin_helper.php b/application/helpers/filebin_helper.php index bed696c8c..6e4c84e43 100644 --- a/application/helpers/filebin_helper.php +++ b/application/helpers/filebin_helper.php @@ -323,13 +323,6 @@ function auth_driver_function_implemented($function) return $result[$function]; } -function user_logged_in() -{ - $CI =& get_instance(); - $CI->load->model("muser"); - return $CI->muser->logged_in(); -} - function send_json_reply($array, $status = "success") { $reply = array(); diff --git a/application/views/file/upload_form.php b/application/views/file/upload_form.php index a977aaa92..b472bcc10 100644 --- a/application/views/file/upload_form.php +++ b/application/views/file/upload_form.php @@ -1,4 +1,4 @@ - +
diff --git a/application/views/header.php b/application/views/header.php index 396841a0e..7d4ba1f54 100644 --- a/application/views/header.php +++ b/application/views/header.php @@ -54,7 +54,7 @@ if (is_cli_client() && !isset($force_full_html)) {