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
* This function runs when the user navigates directly to this controller
19
public function index() {
20
if($this->user->isLoggedIn()) {
21
//User already logged in
22
$this->drawCmsPage('');
24
//Display the start page
25
redirect(base_url().'home', 'refresh');
30
* This function draws the cms page.
32
private function drawCmsPage() {
33
$userName = $this->user->getUserName();
34
$userType = $this->user->getUserType();
35
$activeCourse = $this->user->getActiveCourse();
37
if($userName != "" && $userType == "Teacher") {
38
//Creates an array with all courses.
39
$courses = $this->admin_model->getCourses();
40
} elseif($userName != "" && $userType == "Student") {
41
$courses = $this->admin_model->getStudentCourses($userName);
43
$courses = $this->admin_model->getPublicCourses();
47
//Creates an array with all categories for active course
48
$categories = $this->admin_model->getCategories($activeCourse['courseID']);
50
//Creates an array with the variables that the bannermenu-view is expecting.
52
'userType' => $userType,
53
'userName' => $userName,
54
'courses' => $courses,
55
'categories' => $categories,
56
'activeCourse' => $activeCourse
59
//Creates an array with the variables that the cmsindex-view is expecting.
63
$categories = $this->filetree->getCategories($data['activeCourse']['courseID']);
64
foreach ($categories as $category) {
65
$filetree[$category->categoryName] = array();
68
$subcategories = $this->filetree->getSubCategories($category->categoryName, $data['activeCourse']['courseID']);
69
foreach ($subcategories as $subcategory) {
70
$filetree[$category->categoryName][$subcategory->subCategoryName] = array();
73
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'] = array();
74
$examples = $this->filetree->getExamples($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']);
75
foreach ($examples as $example) {
76
$filetree[$category->categoryName][$subcategory->subCategoryName]['examples'][] = $example->exampleName;
80
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'] = array();
81
$quizzes = $this->filetree->getQuizzes($subcategory->subCategoryName, $category->categoryName, $data['activeCourse']['courseID']);
82
foreach ($quizzes as $quiz) {
83
$filetree[$category->categoryName][$subcategory->subCategoryName]['quizzes'][] = $quiz->quizNr;
88
//Creates an array with the necessary css- and jsfiles needed for the views that are about to be shown.
90
'cssFiles' => array('bannermenu', 'sidemenu', 'cmsindex'),
91
'jsFiles' => array('bannermenu')
94
//Puts the array above in <head></head>
95
$this->load->view('headTag', array('headTagData' => $headTagData));
97
$this->load->view('bannermenu', $data);
98
$this->load->view('sidemenu', $data);
99
$this->load->view('cmsindex', array('filetree' => $filetree));