function firstSaveExe() { // print_r($_SESSION); // exit(); if (!is_numeric($_SESSION['userId'])) { print "Wrong way"; exit; } //store current time $nowIsNow = now(); //save Diagram $diagram = new Diagram(); $diagram->title = trim($_REQUEST['title']); $diagram->description = trim($_REQUEST['description']); $diagram->public = isset($_REQUEST['public']) && $_REQUEST['public'] == 'true' ? 1 : 0; $diagram->createdDate = $nowIsNow; $diagram->lastUpdate = $nowIsNow; $diagram->size = strlen($_SESSION['tempDiagram']); //TODO: it might be not very accurate $delegate = new Delegate(); // $token = ''; // do { // $token = generateRandom(6); // } while ($delegate->diagramCountByHash($token) > 0); // // $diagram->hash = $token; $diagramId = $delegate->diagramCreate($diagram); //end save Diagram //create Dia file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_DMO; $diagramdata->fileName = $diagramId . '.dmo'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.dmo', 'w'); $size = fwrite($fh, $_SESSION['tempDiagram']); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end Dia file /* //create SVG file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_SVG; $diagramdata->fileName = $diagramId . '.svg'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.svg', 'w'); $size = fwrite($fh, $_SESSION['tempSVG']); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end SVG file */ //create PNG file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_PNG; $diagramdata->fileName = $diagramId . '.png'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.png', 'wb'); $data = substr($_SESSION['tempPNG'], strpos($_SESSION['tempPNG'], ',')); $imgData = base64_decode($data); $size = fwrite($fh, $imgData); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end PNG file //create CSV file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_CSV; $diagramdata->fileName = $diagramId . '.csv'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.csv', 'w'); $size = fwrite($fh, $_SESSION['tempLinkMap']); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end CSV file //clean temporary diagram unset($_SESSION['tempDiagram']); unset($_SESSION['tempSVG']); unset($_SESSION['tempPNG']); unset($_SESSION['tempLinkMap']); redirect("../editor.php?diagramId=" . $diagramId); }
function firstSaveExe() { if (!is_numeric($_SESSION['userId'])) { print "Wrong way"; exit; } //store current time $nowIsNow = now(); //save Diagram $diagram = new Diagram(); $diagram->title = trim($_REQUEST['title']); $diagram->description = trim($_REQUEST['description']); $diagram->public = $_REQUEST['public'] == true ? true : false; $diagram->createdDate = $nowIsNow; $diagram->lastUpdate = $nowIsNow; $diagram->size = strlen($_SESSION['tempDiagram']); //TODO: it might be not very accurate $delegate = new Delegate(); $token = ''; do { $token = generateRandom(6); } while ($delegate->diagramCountByHash($token) > 0); $diagram->hash = $token; $diagramId = $delegate->diagramCreate($diagram); //end save Diagram //create Dia file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_DIA; $diagramdata->fileName = $diagramId . '.dia'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.dia', 'w'); $size = fwrite($fh, $_SESSION['tempDiagram']); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end Dia file //create SVG file $diagramdata = new Diagramdata(); $diagramdata->diagramId = $diagramId; $diagramdata->type = Diagramdata::TYPE_SVG; $diagramdata->fileName = $diagramId . '.svg'; $fh = fopen(getStorageFolder() . '/' . $diagramId . '.svg', 'w'); $size = fwrite($fh, $_SESSION['tempSVG']); fclose($fh); $diagramdata->fileSize = $size; $diagramdata->lastUpdate = $nowIsNow; $delegate->diagramdataCreate($diagramdata); //end SVG file //clean temporary diagram unset($_SESSION['tempDiagram']); unset($_SESSION['tempSVG']); //attach it to an user $userdiagram = new Userdiagram(); $userdiagram->diagramId = $diagramId; $userdiagram->userId = $_SESSION['userId']; $userdiagram->invitedDate = now(); $userdiagram->level = Userdiagram::LEVEL_AUTHOR; $userdiagram->status = Userdiagram::STATUS_ACCEPTED; $delegate->userdiagramCreate($userdiagram); redirect("../editor.php?diagramId=" . $diagramId); }
} } return $diagrams; } function diagramDeleteById($dbhandle, $diagramId) { $query = sprintf("delete FROM diagram where id=%d", $diagramId); $result = sqlite_query($dbhandle, $query); if ($result) { } } if (false && PHP_SAPI == 'cli') { //see http://php.net/manual/en/features.commandline.php print "\nOn the console"; //test $d = new Delegate(); $diagrams = $d->diagramGetAll(); print_r($diagrams); $diagram = new Diagram(); $diagram->title = 'Ana are mere'; $diagram->description = 'Ana are foarte multe mere'; $diagram->public = 0; $diagram->createdDate = gmdate('Y-m-d h:i:s'); $diagram->lastUpdate = gmdate('Y-m-d h:i:s'); $dId = $d->diagramCreate($diagram); print "Diagram Id: " + $dId; $nd = $d->diagramGetById($dId); $nd->title = 'Zzoz'; $d->diagramUpdate($nd); $d->close(); }