/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: Gustav Hatvigsson
  • Date: 2013-05-16 11:42:01 UTC
  • mfrom: (69.2.1 lenasys)
  • Revision ID: gustav.hartvigsson@gmail.com-20130516114201-kz2o0tju35i3b93m
Merded the changes to the Admin panel so it now is how it chould be.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
        }
30
30
 
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){
 
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();
37
112
                $data = array(
38
113
                        'courseID' => $cid ,
39
114
                        'exampleName' => $example,
40
 
                        'description' => $description
 
115
                        'description' => $description,
 
116
                        'categoryName' => $categoryName,
 
117
                        'subCategoryName' => $subCategoryName,
 
118
                        'orderNr' => $result[0]->orderNr+1
41
119
                        );
42
120
 
43
121
                $this->db->insert('Examples', $data); 
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
 
122
 
 
123
                $data = array(
 
124
                        'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
 
125
                        'codeLanguage' => "text",
 
126
                        'fileType' => "text",
 
127
                        'dataBlob' => ""
68
128
                        );
69
129
 
70
130
                $this->db->insert('Files', $data); 
71
131
 
72
132
                $data = array(
73
 
                        'fileName' =>  $cid."/".$example."/".$page."/documentation"  ,
74
 
                        'pageName' => $page,
 
133
                        'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
 
134
                        'categoryName' => $categoryName,
 
135
                        'subCategoryName' => $subCategoryName,
75
136
                        'exampleName' => $example,
76
 
                        'courseID' => $cid
 
137
                        'courseID' => $cid,
 
138
                        'columnNr' => 1,
 
139
                        'orderNr' => 1
77
140
                        );
78
141
 
79
 
                $this->db->insert('PageFiles', $data); 
 
142
                $this->db->insert('Containers', $data); 
 
143
                mkdir("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example);
80
144
 
81
145
        }
82
146
 
83
 
        function updatePage($cid, $example, $page, $documentation, $files){
 
147
        function updateExample($cid, $categoryName, $subCategoryName, $example,  $documentation, $files){
84
148
 
85
149
                $filearr = json_decode($files);
86
150
 
87
151
                foreach ($filearr as $file) {
88
152
                        $output = "";
89
 
                        $handle = @fopen("../courses/".$cid."/".$example."/".$page."/".$file->filename, "r");
 
153
                        $handle = @fopen("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename, "r");
90
154
                        if ($handle) {
91
155
 
92
156
                                while (($buffer = fgets($handle, 4096)) !== false) {
104
168
                        }
105
169
                        
106
170
                        $data = array(
107
 
                                'fileName' => $file->filename ,
 
171
                                'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename ,
108
172
                                'codeLanguage' => $file->lang,
109
173
                                'fileType' => $file->type,
110
174
                                'dataBlob' => $output
112
176
 
113
177
                        $this->db->insert('Files', $data); 
114
178
 
 
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
 
115
183
                        $data = array(
116
 
                                'fileName' =>  $file->filename  ,
117
 
                                'pageName' => $page,
 
184
                                'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename ,
 
185
                                'categoryName' => $categoryName,
 
186
                                'subCategoryName' => $subCategoryName,
118
187
                                'exampleName' => $example,
119
 
                                'courseID' => $cid
 
188
                                'courseID' => $cid,
 
189
                                'columnNr' => $file->columnNr,
 
190
                                'orderNr' => $result[0]->orderNr+1
120
191
                                );
121
192
 
122
 
                        $this->db->insert('PageFiles', $data); 
 
193
                        $this->db->insert('Containers', $data); 
123
194
                }
124
195
 
125
196
                $data = array(
126
197
                        'dataBlob' => $documentation
127
198
                        );
128
199
 
129
 
                $this->db->where("fileName",$cid."/".$example."/".$page."/"."documentation" );
 
200
                $this->db->where("fileName",$cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation");
130
201
                $this->db->update('Files', $data); 
131
202
                
132
203
 
133
204
        }
134
205
 
135
 
        function uploadFile($files, $cid, $example, $page){
136
 
                if(move_uploaded_file($files['tmp_name'], "../courses/".$cid."/".$example."/".$page."/".$files['name'])){
 
206
        function uploadFile($files, $cid, $categoryName, $subCategoryName, $example){
 
207
                if(move_uploaded_file($files['tmp_name'], "../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example."/".$files['name'])){
137
208
                        echo json_encode(array('status'=>'File was uploaded successfuly!'));
138
209
                }       
139
210
        }