/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/application/controllers/cms.php

  • Committer: Gustav Hartvigsson
  • Date: 2013-04-12 19:13:58 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20130412191358-lvnmll48cw7idkzk
added:
* COPYING - licensing information
* COPYRIGHT_HEADER - the header that should be in every file related to
  the project.
* README - Information about the project.
* lgpl-3.0 - The license that is used by this project.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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);
13
 
                        $this->load->model('filetree');
14
 
                }
15
 
                
16
 
                /*
17
 
                 *Temporary function to be able to be logged in to reach the page
18
 
                 */
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);
28
 
                        redirect(base_url().'cms', 'refresh');
29
 
                }
30
 
                public function tempLogout() {
31
 
                        $this->load->model('user');
32
 
                        $this->session->unset_userdata('authenticated');
33
 
                        redirect(base_url().'home', 'refresh');
34
 
                }
35
 
                
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
 
                public function test(){
50
 
                        
51
 
                        $result = $this->admin_model->getStudentCourses("student");
52
 
                        foreach($result as $res) {
53
 
                                echo $res->courseID. ' - ';
54
 
                                echo $res->name;
55
 
                                echo "<br>";
56
 
                                
57
 
                        }
58
 
                        
59
 
                        //var_dump($result);
60
 
                }
61
 
                
62
 
                
63
 
                /*
64
 
                 *      This function draws the cms page.
65
 
                 */
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']);
74
 
                        
75
 
                        //Creates an array with the variables that the bannermenu-view is expecting.
76
 
                        $data = array(
77
 
                                'userType' => $userType,
78
 
                                'userName' => $userName,
79
 
                                'courses' => $courses,
80
 
                                'categories' => $categories,
81
 
                                'activeCourse' => $activeCourse
82
 
                        );
83
 
                        
84
 
                        //Creates an array with the variables that the cmsindex-view is expecting.
85
 
                        $filetree = array();
86
 
                        
87
 
                        //Categories
88
 
                        $categories = $this->filetree->getCategories($data['activeCourse']['courseID']);
89
 
                        foreach ($categories as $category) {
90
 
                                $filetree[$category->categoryName] = array();
91
 
                                
92
 
                                //Sub categories
93
 
                                $subcategories = $this->filetree->getSubCategories($category->categoryName, $data['activeCourse']['courseID']);
94
 
                                foreach ($subcategories as $subcategory) {
95
 
                                        $filetree[$category->categoryName][$subcategory->subCategoryName] = array();
96
 
                                        
97
 
                                        //Examples
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;
102
 
                                        }
103
 
                                        
104
 
                                        //Quizzes
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;
109
 
                                        }
110
 
                                }
111
 
                        }
112
 
                        
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')
117
 
                        );
118
 
                        
119
 
                        //Puts the array above in <head></head>
120
 
                        $this->load->view('headTag', array('headTagData' => $headTagData));     
121
 
                        
122
 
                        $this->load->view('bannermenu', $data);
123
 
                        $this->load->view('sidemenu', $data);
124
 
                        $this->load->view('cmsindex', array('filetree' => $filetree));
125
 
                }
126
 
        }
127
 
?>