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));
39
foreach($categories->result() as $category){
40
$menu[$course->name][$category->categoryName] = array();
42
$subcategories = $this->db->get_where("SubCategories", array("courseID" => $course->courseID, "categoryName" => $category->categoryName));
44
foreach($subcategories->result() as $subcategory){
45
$menu[$course->name][$category->categoryName][$subcategory->subCategoryName] = array();
55
function getCategories($cid) {
56
$query = $this->db->get_where('Categories', array("courseID" => $cid));
57
return $query->result();
60
function addCategory($cid, $categoryName){
61
$this->db->select_max("orderNr");
62
$query = $this->db->get_where('Categories', array("courseID" => $cid));
64
$result = $query->result();
67
'categoryName' => $categoryName,
68
'orderNr' => $result[0]->orderNr+1
71
$this->db->insert('Categories', $data);
72
mkdir("../courses/".$cid."/".$categoryName);
76
function getSubCategories($cid, $categoryName) {
77
$query = $this->db->get_where('SubCategories', array("courseID" => $cid, "categoryName" => $categoryName));
78
return $query->result();
81
function addSubCategory($cid, $categoryName, $subCategoryName){
82
$this->db->select_max("orderNr");
83
$query = $this->db->get_where('SubCategories', array("courseID" => $cid, "categoryName" => $categoryName));
85
$result = $query->result();
88
'subCategoryName' => $subCategoryName,
89
'categoryName' => $categoryName,
90
'orderNr' => $result[0]->orderNr+1
93
$this->db->insert('SubCategories', $data);
94
mkdir("../courses/".$cid."/".$categoryName."/".$subCategoryName);
98
function getExamples($cid, $categoryName, $subCategoryName) {
99
$query = $this->db->get_where('Examples', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName));
100
return $query->result();
103
function getQuizzes($cid, $categoryName, $subCategoryName) {
104
$query = $this->db->get_where('Quizzes', array("courseID" => $cid, "categoryName" => $categoryName, "subCategoryName" => $subCategoryName));
105
return $query->result();
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();
36
function addExample($cid, $example, $description){
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
121
43
$this->db->insert('Examples', $data);
124
'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
125
'codeLanguage' => "text",
126
'fileType' => "text",
44
mkdir("../courses/".$cid."/".$example);
48
function getPages($cid, $example) {
49
$query = $this->db->get_where('Pages', array("courseID" => $cid, "exampleName" => $example));
50
return $query->result();
53
function addPage($cid, $example, $page){
56
'exampleName' => $example,
60
$this->db->insert('Pages', $data);
61
mkdir("../courses/".$cid."/".$example."/".$page);
64
'fileName' => $cid."/".$example."/".$page."/documentation",
65
'codeLanguage' => $file->lang,
66
'fileType' => $file->type,
130
70
$this->db->insert('Files', $data);
133
'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/documentation",
134
'categoryName' => $categoryName,
135
'subCategoryName' => $subCategoryName,
73
'fileName' => $cid."/".$example."/".$page."/documentation" ,
136
75
'exampleName' => $example,
142
$this->db->insert('Containers', $data);
143
mkdir("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example);
79
$this->db->insert('PageFiles', $data);
147
function updateExample($cid, $categoryName, $subCategoryName, $example, $documentation, $files){
83
function updatePage($cid, $example, $page, $documentation, $files){
149
85
$filearr = json_decode($files);
151
87
foreach ($filearr as $file) {
153
$handle = @fopen("../courses/".$cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename, "r");
89
$handle = @fopen("../courses/".$cid."/".$example."/".$page."/".$file->filename, "r");
156
92
while (($buffer = fgets($handle, 4096)) !== false) {
177
113
$this->db->insert('Files', $data);
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();
184
'fileName' => $cid."/".$categoryName."/".$subCategoryName."/".$example."/".$file->filename ,
185
'categoryName' => $categoryName,
186
'subCategoryName' => $subCategoryName,
116
'fileName' => $file->filename ,
187
118
'exampleName' => $example,
189
'columnNr' => $file->columnNr,
190
'orderNr' => $result[0]->orderNr+1
193
$this->db->insert('Containers', $data);
122
$this->db->insert('PageFiles', $data);
197
126
'dataBlob' => $documentation
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);
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!'));