/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(
23
				'cssFiles' => array('bannermenu', 'popup')
24
			);
25
26
			$userInfo = array(
27
				'userType' => $this->user->getUserType(), // Loads different header for teacher/student
28
				'userName' => $this->user->getUserName()
29
			);
30
31
			// Loads head views, supplying CSS and JS data
32
			$this->load->view('headTag', array('headTagData' => $headTagData));
33
			$this->load->view('bannermenu', $userInfo);
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() {
54
		$user = $this->input->post('hintPwd');
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
55
			$data = array(
56
				'hint' => $this->user->getPasswordHint($user)
57
			);
58
			
59
			//Output JSON data
60
			echo json_encode($data);
61
		}
69.1.3 by Daniel Hermansson
Added ajax functionality for ladok parser
62
63
		/*
64
		 *	This function outputs data: user password hint.
65
		 */
66
		public function ladok() {
67
			$string = $this->input->post('data');
68
			
69
			$parsedArray = $this->user->parseLadok($string);
70
			
71
			if ($parsedArray === FALSE) {
72
				$data = array('status' => FALSE);				
73
			} else {
74
				//Add users to database
75
				foreach ($parsedArray as $key => $value) {
76
					$this->user->addUser($parsedArray[$key]['username'], $parsedArray[$key]['firstname'] . ' ' . $parsedArray[$key]['lastname'], $parsedArray[$key]['ssn'], $parsedArray[$key]['ssn'], 'Student', 'Default', $parsedArray[$key]['email']);
77
				}
78
			
79
				$data = array('status' => TRUE);			
80
			}
81
			
82
			//Output JSON data
83
			echo json_encode($data);
84
		}
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
85
		
86
		/*
87
		 *	This function outputs data: user password hint.
88
		 */
89
		public function pwdchange() {
90
			$pwdOld = $this->input->post('currentPwd');
91
			$pwdNew = $this->input->post('newPwd');
92
			$pwdHint = $this->input->post('hintPwd');
93
		
94
			$data = array(
95
				'status' => $this->user->changePassword($pwdOld, $pwdNew, $pwdHint)
96
			);
97
			
98
			//Output JSON data
99
			echo json_encode($data);
100
		}
64.1.1 by b11johgu
ExamplesController:
101
		
102
		public function categoryOrderDecrease(){
103
			$pwdOld = $this->input->post('currentPwd');
104
			$pwdNew = $this->input->post('newPwd');
105
		}
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
106
107
		// Takes a course ID and sets the course to published (isHidden = 0)
108
		public function publishCourse($courseID) {
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
109
			$this->load->model('user');
110
			$this->load->model('admin/admin_model');
111
112
			if(!$this->user->isLoggedIn() || $this->user->getUserType() != "Teacher") {
113
				$this->load->view('manageCoursesMessage', array('message' => 'You do not have access to this page'));
114
				echo "not logged in";
115
				return;
116
			}
117
118
			$this->admin_model->unsetCourseHidden($courseID);
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
119
		}
120
121
		//Takes a course ID and sets the course to unpublished (isHidden = 1)
122
		public function unpublishCourse($courseID) {
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
123
			$this->load->model('user');
124
			$this->load->model('admin/admin_model');
125
126
			if(!$this->user->isLoggedIn() || $this->user->getUserType() != "Teacher") {
127
				$this->load->view('manageCoursesMessage', array('message' => 'You do not have access to this page'));
128
				echo "not logged in";
129
				return;
130
			}
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
131
			
83.2.5 by elof.bigestans at gmail
* Updated ManageCourses, including JS+Jquery, popups, controller.
132
			$this->admin_model->setCourseHidden($courseID);
83.2.3 by elof.bigestans at gmail
Working on functionality for managecourses
133
		}
52.1.1 by b11johgu
Added controllers for examplepage, templatelayout.
134
	}
135
?>