1
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
3
class Cms extends CI_Controller {
8
function __construct() {
10
//Load required library
11
$this->load->model('user', '', TRUE);
12
$this->load->model('admin/admin_model', '', TRUE);
13
$this->load->model('filetree');
17
*Temporary function to be able to be logged in to reach the page
19
public function tempLogin() {
20
$this->load->model('user');
21
$loginDetails = array(
22
'username' => 'tempTeacher',
24
'usertype' => 'Teacher',
26
'activeCourse' => 'DA525G');
27
$this->session->set_userdata('authenticated', $loginDetails);
28
redirect(base_url().'cms', 'refresh');
30
public function tempLogout() {
31
$this->load->model('user');
32
$this->session->unset_userdata('authenticated');
33
redirect(base_url().'home', 'refresh');
37
* This function runs when the user navigates directly to this controller
39
public function index() {
40
if($this->user->isLoggedIn()) {
41
//User already logged in
42
$this->drawCmsPage('');
44
//Display the start page
45
redirect(base_url().'home', 'refresh');
49
public function test(){
51
$result = $this->admin_model->getStudentCourses("student");
52
foreach($result as $res) {
53
echo $res->courseID. ' - ';
64
* This function draws the cms page.
66
private function drawCmsPage() {
67
$userName = $this->user->getUserName();
68
$userType = $this->user->getUserType();
69
$activeCourse = $this->user->getActiveCourse();
70
//Creates an array with all courses.
71
$courses = $this->admin_model->getCourses();
72
//Creates an array with all categories for active course
73
$categories = $this->admin_model->getCategories($activeCourse['courseID']);
75
//Creates an array with the variables that the bannermenu-view is expecting.
77
'userType' => $userType,
78
'userName' => $userName,
79
'courses' => $courses,
80
'categories' => $categories,
81
'activeCourse' => $activeCourse
84
//Creates an array with the variables that the cmsindex-view is expecting.
88
$categories = $this->filetree->getCategories($data['activeCourse']['courseID']);
89
foreach ($categories as $category) {
90
$filetree[$category->categoryName] = array();
93
$subcategories = $this->filetree->getSubCategories($category->categoryName, $data['activeCourse']['courseID']);
94
foreach ($subcategories as $subcategory) {
95
$filetree[$category->categoryName][$subcategory->subCategoryName] = array();
98
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'] = array();
99
$examples = $this->filetree->getExamples($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']);
100
foreach ($examples as $example) {
101
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'][] = $example->exampleName;
105
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'] = array();
106
$quizzes = $this->filetree->getQuizzes($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']);
107
foreach ($quizzes as $quiz) {
108
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'][] = $quiz->quizNr;
113
//Creates an array with the necessary css- and jsfiles needed for the views that are about to be shown.
114
$headTagData = array(
115
'cssFiles' => array('bannermenu', 'sidemenu', 'cmsindex'),
116
'jsFiles' => array('bannermenu')
119
//Puts the array above in <head></head>
120
$this->load->view('headTag', array('headTagData' => $headTagData));
122
$this->load->view('bannermenu', $data);
123
$this->load->view('sidemenu', $data);
124
$this->load->view('cmsindex', array('filetree' => $filetree));