limitations under the License. */ require_once dirname(__FILE__) . '/common/delegate.php'; if (!isset($_SESSION)) { session_start(); } if (!is_numeric($_REQUEST['diagramId'])) { echo 'No diagram Id'; exit; } $delegate = new Delegate(); $diagram = $delegate->diagramGetById($_REQUEST['diagramId']); $diagramdata = $delegate->diagramdataGetByDiagramIdAndType($_REQUEST['diagramId'], Diagramdata::TYPE_CSV); $links = array(); if ($diagramdata->fileSize > 0) { $fh = fopen(getStorageFolder() . '/' . $diagramdata->diagramId . '.csv', 'r'); $data = fread($fh, $diagramdata->fileSize); fclose($fh); $csvLines = explode("\n", $data); foreach ($csvLines as $csvLine) { $shards = explode(',', $csvLine); $links[] = $shards; } } //check if diagram is public if (!is_object($diagram)) { print "No diagram found"; exit; } if (!$diagram->public) { print "Diagram is not public. A Diagram must be public to be publicly visible.";
function deleteDiagramExe() { if (!is_numeric($_SESSION['userId'])) { print "Wrong way"; exit; } if (!is_numeric($_REQUEST['diagramId'])) { print "Wrong diagram id : " . $_REQUEST['diagramId']; exit; } //TODO: usually ONLY the author can delete the diagram $d = new Delegate(); $userdiagram = $d->userdiagramGetByIds($_SESSION['userId'], $_REQUEST['diagramId']); if (is_object($userdiagram) && is_numeric($userdiagram->userId)) { //delete diagramdata $diagramDatas = $d->diagramdataGetByDiagramId($userdiagram->diagramId); $storageFolder = getStorageFolder(); foreach ($diagramDatas as $diagramData) { //TODO: we can make more tests here unlink($storageFolder . '/' . $diagramData->fileName); $d->diagramdataDeleteByDiagramIdAndType($diagramData->diagramId, $diagramData->type); } //delete all users linked to this diagram $userdiagrams = $d->userdiagramGetByDiagramId($userdiagram->diagramId); foreach ($userdiagrams as $userdiagram) { $d->userdiagramDelete($userdiagram->userId, $userdiagram->diagramId); } //delete diagram if ($d->diagramDelete($userdiagram->diagramId)) { addMessage("Diagram deleted"); } else { addError("Diagram could not be deleted from database"); } redirect('../myDiagrams.php'); } else { print 'Error: no right over that diagram'; } }
$contents = fread($handle, filesize($jpgPath)); fclose($handle); //end load jpg binray data //print data header("content-type: image/jpeg"); print $contents; } else { header("content-type: text/plain"); print 'You are not allowed to see this information'; } //load data break; case 'svg': if ($display) { $svgData = $delegate->diagramdataGetByDiagramIdAndType($diagram->id, Diagramdata::TYPE_SVG); // $fh = fopen(getStorageFolder() . '/' . $diagram->id . '.svg', 'r'); // $data = fread($fh, $svgData->fileSize); // fclose($fh); $data = file_get_contents(getStorageFolder() . '/' . $diagram->id . '.svg'); header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past header('Content-type: image/svg+xml'); print $data; } else { header("content-type: text/plain"); print 'You are not allowed to see this information'; } break; }
function deleteDiagramExe() { if (!is_numeric($_SESSION['userId'])) { print "Wrong way"; exit; } if (!is_numeric($_REQUEST['diagramId'])) { print "Wrong diagram id : " . $_REQUEST['diagramId']; exit; } //TODO: usually ONLY the author can delete the diagram $d = new Delegate(); // print_r($_REQUEST); // exit(); //delete diagramdata $diagramDatas = $d->diagramdataGetByDiagramId($_REQUEST['diagramId']); $storageFolder = getStorageFolder(); foreach ($diagramDatas as $diagramData) { //TODO: we can make more tests here unlink($storageFolder . '/' . $diagramData->fileName); $d->diagramdataDeleteByDiagramIdAndType($diagramData->diagramId, $diagramData->type); } //delete diagram if ($d->diagramDelete($_REQUEST['diagramId'])) { addMessage("Diagram deleted"); } else { addError("Diagram could not be deleted from database"); } redirect('../myDiagrams.php'); }