示例#1
0
     if (!$ret) {
         header('HTTP/1.1: 404 Not Found');
         exit;
     }
     echo json_encode($ret);
     break;
 case "children":
     if (is_null(arg('id'))) {
         header('HTTP/1.1: 400 Bad Request');
         exit;
     }
     // Here we implemented the children method to return indexes for performance, keeping the backward compatibility
     if (arg("int") === '1') {
         echo json_encode(model::children(arg('id')));
     } else {
         echo json_encode(model_json::multi(model::children(arg('id'))));
     }
     break;
 case "move":
     if (is_null(arg('id')) || is_null(arg('target'))) {
         header("HTTP/1.1: 400 Bad Request");
         echo "Bad command";
         exit;
     }
     if (!model::move(arg("id"), arg("target"))) {
         header("HTTP/1.1: 409 Conflict");
         echo "move Error, please change your values";
         exit;
     }
     break;
 default:
示例#2
0
     if (!file_exists($assetsLCL . $path)) {
         header("HTTP/1.1: 404 Not Found");
         echo "File " . $path . " not found";
         exit;
     }
     if (!is_readable($assetsLCL . $path)) {
         header("HTTP/1.1: 403 Forbidden");
         echo "The file is not readable";
         exit;
     }
     $id = assets::version_backup(arg("id"));
     if (!$id) {
         header('HTTP/1.1: 304 Not Modified Error on create');
         exit;
     }
     echo json_encode(model_json::node($id, 1, $NODE_TAG | $NODE_PRM));
     break;
 case "version_increment":
     if (!assets::version_increment(arg("id"), arg("message"))) {
         header("HTTP/1.1: 304 Not Modified Asset Not updated");
         exit;
     }
     echo json_encode(true);
     break;
 case "version_increment2":
     if (!assets::version_increment2(arg("id"), arg("message"))) {
         header("HTTP/1.1: 304 Not Modified Asset Not updated");
         exit;
     }
     echo json_encode(true);
     break;
示例#3
0
        }
        echo json_encode(array($ret));
    } else {
        echo json_encode(model_json::multi(explode(",", $_GET['id'])));
    }
    exit;
}
if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
    damas_service::allowed("model::update");
    if (!isset($_PUT['id']) || !isset($_PUT['keys']) || ($_PUT['id'] == '' || $_PUT['keys'] == '')) {
        header("HTTP/1.1: 400 Bad Request");
        echo "Bad command";
        exit;
    }
    $id = model::update($_PUT['id'], json_decode($_PUT['keys']));
    echo json_encode(model_json::node(arg("id"), 1, $NODE_TAG | $NODE_PRM));
    damas_service::log_event();
    exit;
}
if ($_SERVER['REQUEST_METHOD'] == 'DELETE') {
    damas_service::allowed("model::delete");
    if (!isset($_DELETE['id']) || $_DELETE['id'] == '') {
        header("HTTP/1.1: 400 Bad Request");
        echo "Bad command";
        exit;
    }
    if (!model::delete($_DELETE['id'])) {
        header("HTTP/1.1: 409 Conflict");
        echo "delete Error, please change your values";
        exit;
    }
示例#4
0
 /**
  * Gets a node and subnodes in array format
  * @param {Integer} $id node index
  * @param {Integer} $depth integer depth of recursion (0 means no limit, 1 for single node)
  * @param {Integer} $flags integer of needed informations for the nodes
  * @return {Array} array of nodes or empty array if no node found
  */
 static function node($id, $depth = 0, $flags = 15)
 {
     if ($id === false) {
         return false;
     }
     if ($id === null) {
         return false;
     }
     if ($id === "") {
         return false;
     }
     $contents = array();
     $tags = model::tags($id);
     if ($tags) {
         $contents["tags"] = $tags;
     }
     $keys = model::keys($id);
     if ($keys) {
         $contents["keys"] = $keys;
     }
     if ($flags & 8) {
         $contents["links"] = model_json::links($id);
         $contents["rlinks"] = model_json::rlink($id);
     }
     if ($depth != 1) {
         $children = model::children($id);
         for ($i = 0; $i < sizeof($children); $i++) {
             $contents["children"][] = model_json::node($children[$i], max($depth - 1, 0));
         }
     }
     return model_json::node_jsontag($id, $contents);
 }