3
* This is a controller. It links the views related to the codeviewer together with the model, which holds
6
* Function names equals path. Example: codeviewer/show in the url calls the function show in the controller
7
* codeviewer (this file below).
9
* The params after the url equals the input arguments of the function. Function show() has 3 arguments
10
* and therefore requires 3 arguments to be given in the url, like so: codeviewer/show/courseid/exampleid/pageid
3
12
class Codeviewer extends CI_Controller {
5
public function show($course, $example, $page){
6
$this->load->model('codeviewer/Codeviewer_model');
14
/*Temporarily redirects the user to the startpage*/
15
public function index(){
8
$files = $this->Codeviewer_model->getFiles($course, $example,$page);
10
foreach ($files as $file) {
11
$editorHTML .= $this->Codeviewer_model->showFile($file, "html");
20
* This shows the codeviewer page
22
public function show($cid = null, $category = null, $subcategory = null, $example = null){
23
if(!is_null($cid) && !is_null($category) && !is_null($subcategory) && !is_null($example)){
25
$headTagData['cssFiles'] = array('headTag', 'bannermenu', 'codeviewer');
26
$headTagData['jsFiles'] = array('ace/ace', 'bannermenu');
28
$this->load->model('codeviewer/Codeviewer_model');
29
$this->load->model('user', '', TRUE);
30
$this->load->model('admin/admin_model', '', TRUE);
32
$editorHTML = $this->Codeviewer_model->getCode($cid, $category, $subcategory, $example);
34
$activeCourse = $this->user->getActiveCourse();
36
'userType' => $this->user->getUserType(),
37
'userName' => $this->user->getUserName(),
38
'courses' => $this->admin_model->getCourses(),
39
'categories' => $this->admin_model->getCategories($activeCourse['courseID']),
40
'activeCourse' => $activeCourse
43
$this->load->helper('form');
45
/* $doc = $this->Codeviewer_model->getDoc($cid, $category, $subcategory, $example);
46
* This loads the view. It's stored in application/views/codeviewer/codeviewer.php
47
* Do note that application/views should not be in the first argument of view()
48
* The second argument is data to be shown in the view. "editors" => "test" would
49
* generate an $editors variable in the view containing "test"
51
$this->load->view('headTag', array('headTagData' => $headTagData));
52
$this->load->view('bannermenu', $userInfo);
53
$this->load->view('codeviewer/codeviewer', array("editors" => $editorHTML));
55
/*Redirects to the startpage if no arguments are supplied.*/
14
$doc = $this->Codeviewer_model->getDoc($course, $example, $page);
16
$this->load->view('codeviewer/codeviewer', array("editors" => $editorHTML, "documentation" => $doc));
b'\\ No newline at end of file'