User   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 95
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 1
dl 0
loc 95
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 1
B intranet() 0 24 1
A dashboard() 0 19 1
A passkey() 0 22 1
A encrypt_password_callback() 0 4 1
A decrypt_password_callback() 0 5 1
1
<?php defined('BASEPATH') OR exit('No direct script access allowed');
2
3
class User extends My_Force_Admin {
4
5
    public function __construct() {
6
        
7
	parent::__construct();
8
            $this->load->library('encrypt');
9
            $this->load->library('grocery_CRUD');
10
            $this->load->model('user_model');
11
            
12
    }
13
    
14
    public function index() {
15
        
16
        redirect('admin/user/intranet');
17
    }
18
    
19
    public function intranet() {
20
        
21
        $this->db = $this->load->database('intranet',true);
22
        
23
        $crud = new grocery_CRUD();
24
        $crud->set_table('Users');
25
        $crud->set_subject('User', 'Users');
26
        $crud->columns('uID','uName', 'uEmail', 'uDateAdded','uLastLogin','uNumLogins');
27
        $crud->display_as('uID','Intranet UID')->display_as('uName', 'Username')->display_as('uEmail', 'Email Address')
28
              ->display_as('uDateAdded', 'First Login')->display_as('uLastLogin', 'Last Login')->display_as('uNumLogins', 'Logins');
29
        $crud->unset_delete();
30
        $crud->unset_read();
31
        $crud->unset_add();
32
        $crud->unset_edit();
33
        $output = $crud->render();
34
        
35
        $this->db = $this->load->database('default',true);
36
        
37
        $this->load->view('templates/header.php');
38
        $this->load->view('admin/user/view.php', $output);
39
        $this->load->view('templates/footer.php');
40
        $this->load->view('templates/table_assets.php', $output);
41
        
42
    }
43
    
44
    public function dashboard() {
45
        
46
        $crud = new grocery_CRUD();
47
        $crud->set_table('users');
48
        $crud->set_subject('users', 'Dashboard Users');
49
        $crud->display_as('uid','Intranet UID')->display_as('ip_last', 'Last IP')->display_as('ip_internal', 'Last internal IP')->display_as('ip_external', 'Last external IP')
50
              ->display_as('os', 'OS')->display_as('last_external', 'Last active external');
51
        $crud->unset_read();
52
        $crud->unset_edit();
53
        $crud->unset_delete();
54
        $crud->unset_add();
55
        $output = $crud->render();
56
        
57
        $this->load->view('templates/header.php');
58
        $this->load->view('admin/user/view.php', $output);
59
        $this->load->view('templates/footer.php');
60
        $this->load->view('templates/table_assets.php', $output);
61
        
62
    } // END index
63
    
64
    public function passkey() {
65
        
66
        $crud = new grocery_CRUD();
67
        $crud->set_table('passkey');
68
        $crud->set_subject('passkey', 'Passkey');
69
        $crud->display_as('passid','PassID')->display_as('passkey', 'Passkey')->display_as('url', 'URL');
70
        $crud->unset_columns('id'); 
71
        $crud->unset_edit_fields('id'); 
72
        $crud->unset_read();
73
        $crud->unset_print();
74
        $crud->unset_export();
75
        $crud->callback_before_insert(array($this,'encrypt_password_callback'));
76
        $crud->callback_before_update(array($this,'encrypt_password_callback'));
77
        $crud->callback_edit_field('passkey',array($this,'decrypt_password_callback'));
78
        $output = $crud->render();
79
        
80
        $this->load->view('templates/header.php');
81
        $this->load->view('admin/user/passkey.php', $output);
82
        $this->load->view('templates/footer.php');
83
        $this->load->view('templates/table_assets.php', $output);
84
        
85
    }
86
    
87
    function encrypt_password_callback($post_array, $primary_key = null) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
88
        $post_array['passkey'] = $this->encrypt->encode($post_array['passkey']);
89
        return $post_array;
90
    }
91
    
92
    function decrypt_password_callback($value) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
93
        
94
        $decrypted_password = $this->encrypt->decode($value);
95
        return "<input type='text' name='password' value='$decrypted_password' />";
96
    }
97
} // END controller
98