bzr branch
http://gegoxaren.bato24.eu/bzr/lenasys/trunk
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
1 |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); |
2 |
||
3 |
class Cms 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); |
|
|
90.1.13
by a11emmjo
Changed so that cms-controller loads filetree (before known as examplesController, examplesBody, examplesMenu). |
13 |
$this->load->model('filetree'); |
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
14 |
}
|
|
90.1.10
by a11emmjo
Removed coursemenu and statsmenu and replaced it with new combined sidemenu. |
15 |
|
16 |
/*
|
|
17 |
*Temporary function to be able to be logged in to reach the page
|
|
18 |
*/
|
|
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
19 |
public function tempLogin() { |
20 |
$this->load->model('user'); |
|
21 |
$loginDetails = array( |
|
22 |
'username' => 'tempTeacher', |
|
23 |
'name' => 'tempFoo', |
|
24 |
'usertype' => 'Teacher', |
|
25 |
'ssn' => '0000', |
|
26 |
'activeCourse' => 'DA525G'); |
|
27 |
$this->session->set_userdata('authenticated', $loginDetails); |
|
|
90.1.8
by a11emmjo
Fixed some redirect-links. |
28 |
redirect(base_url().'cms', 'refresh'); |
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
29 |
}
|
30 |
public function tempLogout() { |
|
31 |
$this->load->model('user'); |
|
32 |
$this->session->unset_userdata('authenticated'); |
|
|
90.1.8
by a11emmjo
Fixed some redirect-links. |
33 |
redirect(base_url().'home', 'refresh'); |
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
34 |
}
|
|
90.1.10
by a11emmjo
Removed coursemenu and statsmenu and replaced it with new combined sidemenu. |
35 |
|
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
36 |
/*
|
37 |
* This function runs when the user navigates directly to this controller
|
|
38 |
*/
|
|
39 |
public function index() { |
|
40 |
if($this->user->isLoggedIn()) { |
|
41 |
//User already logged in
|
|
42 |
$this->drawCmsPage(''); |
|
43 |
} else { |
|
44 |
//Display the start page
|
|
45 |
redirect(base_url().'home', 'refresh'); |
|
46 |
}
|
|
47 |
}
|
|
48 |
||
49 |
/*
|
|
50 |
* This function draws the cms page.
|
|
51 |
*/
|
|
52 |
private function drawCmsPage() { |
|
53 |
$userName = $this->user->getUserName(); |
|
54 |
$userType = $this->user->getUserType(); |
|
55 |
$activeCourse = $this->user->getActiveCourse(); |
|
56 |
//Creates an array with all courses.
|
|
57 |
$courses = $this->admin_model->getCourses(); |
|
|
90.1.10
by a11emmjo
Removed coursemenu and statsmenu and replaced it with new combined sidemenu. |
58 |
//Creates an array with all categories for active course
|
59 |
$categories = $this->admin_model->getCategories($activeCourse['courseID']); |
|
60 |
||
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
61 |
//Creates an array with the variables that the bannermenu-view is expecting.
|
62 |
$data = array( |
|
63 |
'userType' => $userType, |
|
64 |
'userName' => $userName, |
|
65 |
'courses' => $courses, |
|
66 |
'categories' => $categories, |
|
67 |
'activeCourse' => $activeCourse |
|
68 |
);
|
|
69 |
||
|
90.1.13
by a11emmjo
Changed so that cms-controller loads filetree (before known as examplesController, examplesBody, examplesMenu). |
70 |
//Creates an array with the variables that the cmsindex-view is expecting.
|
71 |
$filetree = array(); |
|
72 |
||
73 |
//Categories
|
|
74 |
$categories = $this->filetree->getCategories($data['activeCourse']['courseID']); |
|
75 |
foreach ($categories as $category) { |
|
76 |
$filetree[$category->categoryName] = array(); |
|
77 |
||
78 |
//Sub categories
|
|
79 |
$subcategories = $this->filetree->getSubCategories($category->categoryName, $data['activeCourse']['courseID']); |
|
80 |
foreach ($subcategories as $subcategory) { |
|
81 |
$filetree[$category->categoryName][$subcategory->subCategoryName] = array(); |
|
82 |
||
83 |
//Examples
|
|
84 |
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'] = array(); |
|
85 |
$examples = $this->filetree->getExamples($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']); |
|
86 |
foreach ($examples as $example) { |
|
87 |
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'][] = $example->exampleName; |
|
88 |
}
|
|
89 |
||
90 |
//Quizzes
|
|
91 |
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'] = array(); |
|
92 |
$quizzes = $this->filetree->getQuizzes($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']); |
|
93 |
foreach ($quizzes as $quiz) { |
|
94 |
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'][] = $quiz->quizNr; |
|
95 |
}
|
|
96 |
}
|
|
97 |
}
|
|
98 |
||
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
99 |
//Creates an array with the necessary css- and jsfiles needed for the views that are about to be shown.
|
100 |
$headTagData = array( |
|
|
90.1.13
by a11emmjo
Changed so that cms-controller loads filetree (before known as examplesController, examplesBody, examplesMenu). |
101 |
'cssFiles' => array('bannermenu', 'sidemenu', 'cmsindex'), |
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
102 |
'jsFiles' => array('bannermenu') |
103 |
);
|
|
104 |
||
105 |
//Puts the array above in <head></head>
|
|
106 |
$this->load->view('headTag', array('headTagData' => $headTagData)); |
|
107 |
||
108 |
$this->load->view('bannermenu', $data); |
|
|
90.1.10
by a11emmjo
Removed coursemenu and statsmenu and replaced it with new combined sidemenu. |
109 |
$this->load->view('sidemenu', $data); |
|
90.1.13
by a11emmjo
Changed so that cms-controller loads filetree (before known as examplesController, examplesBody, examplesMenu). |
110 |
$this->load->view('cmsindex', array('filetree' => $filetree)); |
|
85.1.8
by a11andoh
added the cms controller to load all content pages. |
111 |
}
|
112 |
}
|
|
113 |
?>
|