/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
1
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3
	class Ajax extends CI_Controller {
4
		/*
5
		 *	Constructor
6
		 */
7
		function __construct() {
8
			parent::__construct();
9
			
10
			//Load required library
11
			$this->load->model('user', '', TRUE);
12
		}
13
		
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
14
		/*
15
		 *	This function loads a popupview to be displayed, the argument is the name of the popupview
16
		 */
17
		public function popup($popupName) {
83.2.8 by elof.bigestans at gmail
Further modifications in popups
18
			$this->load->view('popup/'.$popupName);
19
		}
20
21
		function showPopup($popupName) {
83.2.7 by elof.bigestans at gmail
Started work on normalizing popups. Lots to go.
22
			$headTagData = array(
83.2.12 by elof.bigestans at gmail
* Merged trunk
23
				'cssFiles' => array('popup'),
24
				'jsFiles' => array('login')
83.2.7 by elof.bigestans at gmail
Started work on normalizing popups. Lots to go.
25
			);
26
27
			$userInfo = array(
28
				'userType' => $this->user->getUserType(), // Loads different header for teacher/student
29
				'userName' => $this->user->getUserName()
30
			);
31
32
			// Loads head views, supplying CSS and JS data
33
			$this->load->view('headTag', array('headTagData' => $headTagData));
34
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
35
			$this->load->view('popup/'.$popupName);
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
36
		}
37
		
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
38
		/*
90.1.8 by a11emmjo
Fixed some redirect-links.
39
		 *	This function return TRUE if the user is logged in and FALSE otherwise.
40
		 */
41
		public function isLoggedIn() {
42
			if ($this->user->isLoggedIn()) {
43
				echo 'yes';
44
			}
45
			else {
46
				echo 'no';
47
			}
48
		}
49
		
50
		/*
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
51
		 *	This function outputs data: user password hint.
52
		 */
64.1.1 by b11johgu
ExamplesController:
53
		public function pwdhint() {
83.2.12 by elof.bigestans at gmail
* Merged trunk
54
			$this->load->model('user');
55
			if($this->input->post('username')) {
56
				$username = $this->input->post('username');
57
				$data = array(
58
					'hint' => $this->user->getPasswordHint($username)
59
				);
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
60
			
83.2.12 by elof.bigestans at gmail
* Merged trunk
61
				//Output JSON data
62
				echo json_encode($data);
63
			}
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
64
		}
69.1.3 by Daniel Hermansson
Added ajax functionality for ladok parser
65
66
		/*
67
		 *	This function outputs data: user password hint.
68
		 */
69
		public function ladok() {
70
			$string = $this->input->post('data');
71
			
72
			$parsedArray = $this->user->parseLadok($string);
73
			
74
			if ($parsedArray === FALSE) {
75
				$data = array('status' => FALSE);				
76
			} else {
77
				//Add users to database
78
				foreach ($parsedArray as $key => $value) {
79
					$this->user->addUser($parsedArray[$key]['username'], $parsedArray[$key]['firstname'] . ' ' . $parsedArray[$key]['lastname'], $parsedArray[$key]['ssn'], $parsedArray[$key]['ssn'], 'Student', 'Default', $parsedArray[$key]['email']);
80
				}
81
			
82
				$data = array('status' => TRUE);			
83
			}
84
			
85
			//Output JSON data
86
			echo json_encode($data);
87
		}
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
88
		
89
		/*
90
		 *	This function outputs data: user password hint.
91
		 */
92
		public function pwdchange() {
93
			$pwdOld = $this->input->post('currentPwd');
94
			$pwdNew = $this->input->post('newPwd');
95
			$pwdHint = $this->input->post('hintPwd');
96
		
97
			$data = array(
98
				'status' => $this->user->changePassword($pwdOld, $pwdNew, $pwdHint)
99
			);
100
			
101
			//Output JSON data
102
			echo json_encode($data);
103
		}
64.1.1 by b11johgu
ExamplesController:
104
		
105
		public function categoryOrderDecrease(){
106
			$pwdOld = $this->input->post('currentPwd');
107
			$pwdNew = $this->input->post('newPwd');
108
		}
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
109
110
		// Takes a course ID and sets the course to published (isHidden = 0)
111
		public function publishCourse($courseID) {
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
112
			$this->load->model('user');
113
			$this->load->model('admin/admin_model');
114
115
			if(!$this->user->isLoggedIn() || $this->user->getUserType() != "Teacher") {
116
				$this->load->view('manageCoursesMessage', array('message' => 'You do not have access to this page'));
117
				echo "not logged in";
118
				return;
119
			}
120
121
			$this->admin_model->unsetCourseHidden($courseID);
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
122
		}
123
124
		//Takes a course ID and sets the course to unpublished (isHidden = 1)
125
		public function unpublishCourse($courseID) {
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
126
			$this->load->model('user');
127
			$this->load->model('admin/admin_model');
128
129
			if(!$this->user->isLoggedIn() || $this->user->getUserType() != "Teacher") {
130
				$this->load->view('manageCoursesMessage', array('message' => 'You do not have access to this page'));
131
				echo "not logged in";
132
				return;
133
			}
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
134
			
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
135
			$this->admin_model->setCourseHidden($courseID);
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
136
		}
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
137
	}
138
?>