function queryByAction($obj) { global $wpdb; $table_name = $wpdb->prefix . "vlib_templates"; $action = htmlspecialchars(trim($obj['action'])); switch ($action) { /* ************************** */ /* PLOTS */ case 'save': $name = $obj['name']; $descr = $obj['description']; $graph = $obj['sceneGraph']; $placeholders = $obj['placeholders']; $thumbnail = $obj['thumbnail']; $tId = createTemplateQuery($name, $descr, $graph, $thumbnail); foreach ($placeholders as $pattern) { $pId = createPlaceholderQuery($pattern); createTemplateHasPlaceholderQuery($tId, $pId); } echo $tId; break; case 'update_t': $tId = $obj['id']; $name = $obj['name']; $descr = $obj['description']; $graph = $obj['sceneGraph']; $placeholders = $obj['placeholders']; $thumbnail = $obj['thumbnail']; /* delete patterns */ $patterns = getPlaceholdersByPlotIdQuery($tId); if ($patterns) { foreach ($patterns as $pattern) { deletePlaceholderByIdQuery($pattern->id); } /* delete plot-pattern mappings */ deleteTemplateHasPlaceholderQuery($tId); } foreach ($placeholders as $pattern) { $pId = createPlaceholderQuery($pattern); createTemplateHasPlaceholderQuery($tId, $pId); } updateTemplateQuery($tId, $name, $descr, $graph, $thumbnail); print "Template <b>{$name}</b> has been updated."; break; case 'delete_t': $name = $obj['name']; $tId = $obj["id"]; /* delete patterns */ $patterns = getPlaceholdersByPlotIdQuery($tId); if ($patterns) { foreach ($patterns as $pattern) { deletePlaceholderByIdQuery($pattern->id); } /* delete plot-pattern mappings */ deleteTemplateHasPlaceholderQuery($tId); } /* delete plot*/ $results = deleteTemplateByIdQuery($tId); if ($results === 1) { print $results; } else { print "There has been an error deleting the template!"; } break; case 'get_t': $results = getTemplatesQuery(); if (count($results) > 0) { print json_encode($results); } break; case 'get_t_id': $id = $obj['id']; $results = getTemplateByIdQuery($id); if (count($results) > 0) { print json_encode($results); } break; /* ************************** */ /* GROUPS */ /* ************************** */ /* GROUPS */ case 'save-group': $name = $obj['group']['config']['name']; $descr = $obj['group']['config']['description']; $group = $obj['group']; print createGroupQuery($name, $descr, $group); break; case 'load-group': $id = $obj['id']; $result = getGroupByIdQuery($id); $response = array(id => $result[0]->id, name => $result[0]->name, description => $result[0]->description, group => json_decode($result[0]->group_json)); print json_encode($response); break; case 'load-all-groups': $result = getAllGroups(); print json_encode($result); break; case 'load-all-group-definitions': $result = getAllGroupDefinitions(); print json_encode($result); break; case 'delete-group': $id = $obj["id"]; return deleteGroupQuery($id); break; case 'update-group': $id = $obj["id"]; $name = $obj['group']['config']['name']; $description = $obj['group']['config']['description']; $group = $obj['group']; return updateGroupQuery($id, $name, $description, $group); break; /* ************************** */ /* FILES */ /* ************************** */ /* FILES */ case 'get_file_by_id': $id = $obj['id']; $results = getFileByIdQuery($id); echo json_encode($results); break; case 'get_files': $results = getFilesQuery(); echo json_encode($results); break; case 'update-file-visibility': $id = $obj["id"]; $isVisible = $obj['isVisible']; echo updateFileVisibilityQuery($id, $isVisible); break; case 'get_visible_files': $results = getVisibleFilesQuery(); if (count($results) > 0) { print json_encode($results); } break; case 'delete_files': $files_ids = implode(",", $obj['files']); $dataFolder = "data/"; /* unlink */ foreach ($obj['files'] as $fileId) { $file = getFileByIdQuery($fileId); echo "try to unlink " . $dataFolder . $file[0]->file_path; if ($file[0]->file_path !== "") { echo "try to unlink " . $dataFolder . $file[0]->file_path; if (!unlink($dataFolder . $file[0]->file_path)) { echo "unlink( " . $file[0]->file_path . " ) failed."; } else { echo "unlink " . $dataFolder . $file[0]->file_path; } } } $results = deleteFilesQuery($files_ids); if (count($results) > 0) { print $results; } else { print "There has been an error deleting the file! "; } break; default: } }
$folders = getFolders($uploaddir); $group = getGroupFolder($fileName, $fileDescription); $files = getFiles($uploaddir); /* DB - ADD FILES TO FOLDER */ foreach ($files as $file) { //echo "File: ".$file->getBasename()." in ".$file->getPath()."<br />"; $fDescr = "Size: " . round($file->getSize() / 1024, 2) . " Kb."; $baseFolder = str_replace($uploaddir, "", $file->getPath()); //echo "BASE: ".$baseFolder.' #### '; if ($baseFolder[0] === DIRECTORY_SEPARATOR) { $baseFolder = substr($baseFolder, 1); } if (strcmp($PLOT_FILE_EXTENSION, getExtension($file)) === 0) { $fd = file_get_contents($file->getPath() . "/" . $file->getBasename()); $json = json_decode($fd, true); $fileId = createTemplateQuery($json["name"], $json["description"], json_encode($json["sceneGraph"]), $json['thumbnail']); if ($createGroup) { $f = getGroupPlot($file->getBasename(), $fDescr); $f["config"]["file"] = array("id" => $fileId, "name" => $json["name"], "description" => $json["description"]); groupAddFile($group, $baseFolder, $f); } } else { $fPath = strRemove($file->getPath() . "/" . $file->getBasename(), $dataFolder); //echo "PATH: ".$fPath.' ###### '; $fileId = createFileQuery($file->getBasename(), $fDescr, $fPath, $filesVisible); if ($createGroup) { $f = getGroupFile($file->getBasename(), $fDescr); $f["config"]["file"] = array("id" => $fileId, "name" => $file->getBasename(), "description" => $fDescr, "path" => $fPath, "fullName" => $file->getBasename()); $p = getGroupPlot('plot', ''); $f["parentId"] = $p["id"]; array_push($p['childs'], $f);