/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/models/admin/admin_model.php

  • Committer: b11johgu
  • Date: 2013-05-14 12:30:38 UTC
  • mto: This revision was merged to the branch mainline in revision 65.
  • Revision ID: b11johgu@student.his.se-20130514123038-rthxj3f34o32gpxy
ExamplesController:
- Added expand/collapse arrows for categories/subcategories.
- Added category positioning (incomplete).

more general changes made.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
        }
30
30
 
31
 
        function getMenu(){
32
 
                $menu = array();
33
 
                $courses = $this->db->get("Courses");
34
 
                foreach ($courses->result() as $course) {
35
 
                        $menu[$course->name] = array();
36
 
                        $menu[$course->name]['CID'] = $course->courseID;
37
 
                        $categories = $this->db->get_where("Categories", array("courseID" => $course->courseID));
38
 
 
39
 
                        foreach($categories->result() as $category){
40
 
                                $menu[$course->name][$category->categoryName] = array();
41
 
 
42
 
                                $subcategories = $this->db->get_where("SubCategories", array("courseID" => $course->courseID, "categoryName" => $category->categoryName));
43
 
 
44
 
                                foreach($subcategories->result() as $subcategory){
45
 
                                        $menu[$course->name][$category->categoryName][$subcategory->subCategoryName] = array();
46
 
 
47
 
                                }
48
 
                        }
49
 
                }
50
 
                
51
 
                return $menu;
52
 
 
53
 
        }
54
 
 
55
 
        function getCategories($cid) {
56
 
                $query = $this->db->get_where('Categories', array("courseID" => $cid));
57
 
                return $query->result();
58
 
        }
59
 
 
60
 
        function addCategory($cid, $categoryName){
61
 
                $this->db->select_max("orderNr");
62
 
                $query = $this->db->get_where('Categories', array("courseID" => $cid));
63
 
 
64
 
                $result = $query->result();
65
 
                $data = array(
66
 
                        'courseID' => $cid ,
67
 
                        'categoryName' => $categoryName,
68
 
                        'orderNr' => $result[0]->orderNr+1
69
 
                        );
70
 
 
71
 
                $this->db->insert('Categories', $data); 
72
 
                mkdir("../courses/".$cid."/".$categoryName);
73
 
 
74
 
        }
75
 
 
76
 
        function getSubCategories($cid, $categoryName) {
77
 
                $query = $this->db->get_where('SubCategories', array("courseID" => $cid, "categoryName" => $categoryName));
78
 
                return $query->result();
79
 
        }
80
 
 
81
 
        function addSubCategory($cid, $categoryName, $subCategoryName){
82
 
                $this->db->select_max("orderNr");
83
 
                $query = $this->db->get_where('SubCategories', array("courseID" => $cid, "categoryName" => $categoryName));
84
 
 
85
 
                $result = $query->result();
86
 
                $data = array(
87
 
                        'courseID' => $cid ,
88
 
                        'subCategoryName' => $subCategoryName,
89
 
                        'categoryName' => $categoryName,
90
 
                        'orderNr' => $result[0]->orderNr+1
91
 
                        );
92
 
 
93
 
                $this->db->insert('SubCategories', $data); 
94
 
                mkdir("../courses/".$cid."/".$categoryName."/".$subCategoryName);
95
 
 
96
 
        }
97
 
 
98
 
        function getExamples($cid, $categoryName, $subCategoryName) {
99
 
                $query = $this->db->get_where('Examples', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName));
100
 
                return $query->result();
101
 
        }
102
 
 
103
 
        function getQuizzes($cid, $categoryName, $subCategoryName) {
104
 
                $query = $this->db->get_where('Quizzes', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName));
105
 
                return $query->result();
106
 
        }
107
 
 
108
 
        function addExample($cid, $categoryName, $subCategoryName, $example, $description){
109
 
                $this->db->select_max("orderNr");
110
 
                $query = $this->db->get_where('Examples', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName));
111
 
                $result = $query->result();
 
31
        function getExamples($cid) {
 
32
                $query = $this->db->get_where('Examples', array("courseID" => $cid));
 
33
                return $query->result();
 
34
        }
 
35
 
 
36
        function addExample($cid, $example, $description){
112
37
                $data = array(
113
38
                        'courseID' => $cid ,
114
39
                        'exampleName' => $example,
115
 
                        'description' => $description,
116
 
                        'categoryName' => $categoryName,
117
 
                        'subCategoryName' => $subCategoryName,
118
 
                        'orderNr' => $result[0]->orderNr+1
 
40
                        'description' => $description
119
41
                        );
120
42
 
121
43
                $this->db->insert('Examples', $data); 
122
 
 
123
 
                $data = array(
124
 
                        'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
125
 
                        'codeLanguage' => "text",
126
 
                        'fileType' => "text",
127
 
                        'dataBlob' => ""
 
44
                mkdir("../courses/".$cid."/".$example);
 
45
 
 
46
        }
 
47
 
 
48
        function getPages($cid, $example) {
 
49
                $query = $this->db->get_where('Pages', array("courseID" => $cid, "exampleName" => $example));
 
50
                return $query->result();
 
51
        }
 
52
 
 
53
        function addPage($cid, $example, $page){
 
54
                $data = array(
 
55
                        'courseID' => $cid ,
 
56
                        'exampleName' => $example,
 
57
                        'pageName' => $page
 
58
                        );
 
59
 
 
60
                $this->db->insert('Pages', $data); 
 
61
                mkdir("../courses/".$cid."/".$example."/".$page);
 
62
 
 
63
                $data = array(
 
64
                        'fileName' => $cid."/".$example."/".$page."/documentation",
 
65
                        'codeLanguage' => $file->lang,
 
66
                        'fileType' => $file->type,
 
67
                        'dataBlob' => $output
128
68
                        );
129
69
 
130
70
                $this->db->insert('Files', $data); 
131
71
 
132
72
                $data = array(
133
 
                        'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
134
 
                        'categoryName' => $categoryName,
135
 
                        'subCategoryName' => $subCategoryName,
 
73
                        'fileName' =>  $cid."/".$example."/".$page."/documentation"  ,
 
74
                        'pageName' => $page,
136
75
                        'exampleName' => $example,
137
 
                        'courseID' => $cid,
138
 
                        'columnNr' => 1,
139
 
                        'orderNr' => 1
 
76
                        'courseID' => $cid
140
77
                        );
141
78
 
142
 
                $this->db->insert('Containers', $data); 
143
 
                mkdir("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example);
 
79
                $this->db->insert('PageFiles', $data); 
144
80
 
145
81
        }
146
82
 
147
 
        function updateExample($cid, $categoryName, $subCategoryName, $example,  $documentation, $files){
 
83
        function updatePage($cid, $example, $page, $documentation, $files){
148
84
 
149
85
                $filearr = json_decode($files);
150
86
 
151
87
                foreach ($filearr as $file) {
152
88
                        $output = "";
153
 
                        $handle = @fopen("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename, "r");
 
89
                        $handle = @fopen("../courses/".$cid."/".$example."/".$page."/".$file->filename, "r");
154
90
                        if ($handle) {
155
91
 
156
92
                                while (($buffer = fgets($handle, 4096)) !== false) {
168
104
                        }
169
105
                        
170
106
                        $data = array(
171
 
                                'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename ,
 
107
                                'fileName' => $file->filename ,
172
108
                                'codeLanguage' => $file->lang,
173
109
                                'fileType' => $file->type,
174
110
                                'dataBlob' => $output
176
112
 
177
113
                        $this->db->insert('Files', $data); 
178
114
 
179
 
                        $this->db->select_max("orderNr");
180
 
                        $query = $this->db->get_where('Containers', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName, "exampleName" => $example, "columnNr" => $file->columnNr));
181
 
                        $result = $query->result();
182
 
 
183
115
                        $data = array(
184
 
                                'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename ,
185
 
                                'categoryName' => $categoryName,
186
 
                                'subCategoryName' => $subCategoryName,
 
116
                                'fileName' =>  $file->filename  ,
 
117
                                'pageName' => $page,
187
118
                                'exampleName' => $example,
188
 
                                'courseID' => $cid,
189
 
                                'columnNr' => $file->columnNr,
190
 
                                'orderNr' => $result[0]->orderNr+1
 
119
                                'courseID' => $cid
191
120
                                );
192
121
 
193
 
                        $this->db->insert('Containers', $data); 
 
122
                        $this->db->insert('PageFiles', $data); 
194
123
                }
195
124
 
196
125
                $data = array(
197
126
                        'dataBlob' => $documentation
198
127
                        );
199
128
 
200
 
                $this->db->where("fileName",$cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation");
 
129
                $this->db->where("fileName",$cid."/".$example."/".$page."/"."documentation" );
201
130
                $this->db->update('Files', $data); 
202
131
                
203
132
 
204
133
        }
205
134
 
206
 
        function uploadFile($files, $cid, $categoryName, $subCategoryName, $example){
207
 
                if(move_uploaded_file($files['tmp_name'], "../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example."/".$files['name'])){
 
135
        function uploadFile($files, $cid, $example, $page){
 
136
                if(move_uploaded_file($files['tmp_name'], "../courses/".$cid."/".$example."/".$page."/".$files['name'])){
208
137
                        echo json_encode(array('status'=>'File was uploaded successfuly!'));
209
138
                }       
210
139
        }