User::passkey()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 18
nc 1
nop 0
dl 0
loc 22
rs 9.2
c 0
b 0
f 0
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