/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
1
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3
	class Start extends CI_Controller {
4
	
5
		/*
6
		 *	Constructor
7
		 */
8
		function __construct() {
9
			parent::__construct();
10
			//Load required library
11
			$this->load->model('user', '', TRUE);
12
			$this->load->model('admin/admin_model', '', TRUE);
13
		}
14
	
15
		/*
90.1.9 by a11emmjo
Updated branch.
16
		 *Temporary function to be able to be logged in to reach the page
17
		 */
18
		public function tempLogin() {
19
			$this->load->model('user');
20
			$loginDetails = array(
21
			'username' => 'tempTeacher',
22
			'name' => 'tempFoo',
23
			'usertype' => 'Teacher',
24
			'ssn' => '0000',
25
			'activeCourse' => 'DA525G');
26
			$this->session->set_userdata('authenticated', $loginDetails);
27
			redirect(base_url().'start', 'refresh');
28
		}
29
		public function tempLogout() {
30
			$this->load->model('user');
31
			$this->session->unset_userdata('authenticated');
32
			redirect(base_url().'home', 'refresh');
33
		}
34
	
35
		/*
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
36
		 *	This function runs when the user navigates directly to the start controller
37
		 */
38
		public function index() {
39
			if($this->user->isLoggedIn()) {
40
				//User already logged in
90.1.9 by a11emmjo
Updated branch.
41
				redirect(base_url().'cms', 'refresh');
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
42
			} else {
43
				//Display the start page
44
				$this->drawStartPage('');
45
			}
46
		}		
47
	
48
		/*
49
		 *	This function draws the start page.
50
		 */
51
		private function drawStartPage() {
52
			$userName = $this->user->getUserName();
53
			$userType = $this->user->getUserType();
90.1.9 by a11emmjo
Updated branch.
54
			//Creates an array with active course info.
55
			$activeCourse = $this->user->getActiveCourse();
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
56
			//Creates an array with all courses.
57
			$courses = $this->admin_model->getCourses();
58
			
90.1.9 by a11emmjo
Updated branch.
59
			
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
60
			//Creates an array with the variables that the bannermenu-view is expecting.
61
			$data = array(
62
				'userType' => $userType,
63
				'userName' => $userName,
90.1.9 by a11emmjo
Updated branch.
64
				'activeCourse' => $activeCourse,
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
65
				'courses' => $courses
66
			);
67
			
68
			//Creates an array with the necessary css- and jsfiles needed for the views that are about to be shown.
69
			$headTagData = array(
70
				'cssFiles' => array('bannermenu', 'startview'),
83.2.16 by elof.bigestans at gmail
* Merged trunk AND
71
				'jsFiles' => array('bannermenu', 'login')
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
72
			);
73
			
74
			//Puts the array above in <head></head>
75
			$this->load->view('headTag', array('headTagData' => $headTagData));	
76
			
77
			$this->load->view('bannermenu', $data);
78
			$this->load->view('startview', $data);
79
		}
83.2.12 by elof.bigestans at gmail
* Merged trunk
80
81
		/* Login and logout functionality */
82
		public function login() {
83
			$this->load->library('user_agent');
84
			$this->load->library('form_validation');
85
86
			//Sets validation rules
87
			$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
88
			$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
89
			
90
			//Run validation
91
			if($this->form_validation->run() == FALSE) {
92
				//Field validation failed. Display login form (with error message).
93
				echo validation_errors();
94
			} else {
95
				$username = $this->input->post('username');
96
				$password = $this->input->post('password');
97
98
				$this->load->model('user');
99
				
100
				//Try to login
101
				if ($this->user->login($username, $password)) {
102
					// If the login is successful, Redirects user to the page it came from
83.2.22 by elof.bigestans at gmail
* Moved login JS to bannermenu.js and removed login.js
103
					echo "true";
83.2.12 by elof.bigestans at gmail
* Merged trunk
104
				} else {
83.2.22 by elof.bigestans at gmail
* Moved login JS to bannermenu.js and removed login.js
105
					echo "<p>Wrong username or password</p>";
83.2.12 by elof.bigestans at gmail
* Merged trunk
106
				}
107
			}
108
		}
109
110
		public function logout() {
111
			$this->load->model('user');
112
			if($this->user->isLoggedIn()) {
113
				$this->session->unset_userdata('authenticated');
114
				redirect($_SERVER['HTTP_REFERER']);
115
			} else {
116
				echo "You're not logged in!";
117
			}
118
		}
85.2.1 by a11emmjo
Combined bannermenu with startview to get correct start-page.
119
	}
120
?>