Example #1
0
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.";
Example #2
0
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';
    }
}
Example #3
0
            $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;
}
Example #4
0
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');
}