Esempio n. 1
0
<?php

require_once 'classMessages.php';
require_once 'classUser.php';
session_start();
if (!isset($_SESSION['userID'])) {
    return;
}
if ($_FILES["file"]["error"] > 0) {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
} else {
    $usr = User::getUserByID($_SESSION['userID']);
    if ($usr->isAvailable()) {
        return;
    }
    $fn = generateFileName();
    move_uploaded_file($_FILES["file"]["tmp_name"], $fn);
    Messages::storeMessage($usr->chatID(), $usr->userID(), "img:" . basename($fn));
    echo basename($fn);
}
function generateFileName()
{
    return "upload/" . mt_rand() . "." . end(explode(".", $_FILES["file"]["name"]));
}
// $model is mutable.
function addStmtsToModel($model, $stmts)
{
    foreach ($stmts as $stmt) {
        $model->add($stmt);
    }
}
define("FOAF", "http://xmlns.com/foaf/0.1/");
define("CCO", "http://purl.org/ontology/cco/mappings#");
define("SERENA", "http://www.serena.ac.uk/property/");
define("RDFS", "http://www.w3.org/2000/01/rdf-schema#");
define("RDF", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
define("OWL", "http://www.w3.org/2002/07/owl#");
$model = ModelFactory::getDefaultModel();
$name = $_POST["name"];
$fileName = generateFileName($name);
$userURI = toSerenAURI($fileName);
$stmtsAll = array();
/* First specify foaf:Person type */
$subjRes = new resource($userURI);
$predicateRes = new resource(RDF . "type");
$objRes = new resource(FOAF . "Person");
$stmt = new Statement($subjRes, $predicateRes, $objRes);
$stmtsAll = array($stmt);
/* Now get the singleton fields from the form */
$stmts = mapSingleFormField($userURI, "name", FOAF . "name", "", false);
$stmtsAll = array_merge($stmtsAll, $stmts);
$stmts = mapSingleFormField($userURI, "name", RDFS . "label", "", false);
$stmtsAll = array_merge($stmtsAll, $stmts);
$stmts = mapSingleFormField($userURI, "institute", FOAF . "Organization", "", true);
$stmtsAll = array_merge($stmtsAll, $stmts);
include_once 'jash/staticGraphFunctions.inc';
header('Content-Type: application/json');
header('Cache-Control: public', TRUE);
switch ($_POST['chartType']) {
    case 'graph':
        $chartType = 'graph';
        break;
    case 'histogram':
        $chartType = 'histogram';
        break;
    default:
        die('bad data');
}
$filePath = 'graph/staticGraphData/' . $chartType . '/';
$data = $_POST['chartData'];
$filename = generateFileName($data);
$subPath = generateSubDirs($filename);
if (!file_exists($filePath . $subPath)) {
    mkdir($filePath . $subPath, 0777, true);
}
$file = gzopen($filePath . $subPath . $filename, 'w9');
if ($file) {
    gzwrite($file, $data);
    gzclose($file);
}
if (file_exists($filePath . $subPath . $filename)) {
    $graphId = explode('.', $filename);
    echo json_encode(array('staticGraphUrl' => 'staticGraph.php?id=' . $graphId[0] . '&type=' . $chartType));
} else {
    echo json_encode(array('errorMessage' => 'There is a problem writing data to server filesystem.'));
}