/** * Update the keys of a node. Specified keys overwrite existing keys, others are left untouched. * A null key value removes the key. * @param {Integer} $id node index * @param {Array} $keys keys Array of key/value pairs to update (usually comming from json_decode) * @return {Boolean} true on success, false otherwise */ static function update($id, $keys) { foreach ($keys as $k => $v) { if ($v === null) { model::removeKey($id, $k); } else { model::setKey($id, $k, $v); } } return true; }
} echo json_encode(model_json::node($id, 1, $NODE_TAG | $NODE_PRM)); break; case "lock": if (model::getKey(arg("id"), 'lock')) { header("HTTP/1.1: 304 Not Modified - Asset is already locked"); exit; } if (!model::setKey(arg("id"), "lock", getUser())) { header("HTTP/1.1: 304 Not Modified - Asset lock failure"); exit; } break; case "unlock": if (getUser() == model::getKey(arg('id'), 'lock')) { model::removeKey(arg("id"), 'lock'); break; } header("HTTP/1.1: 304 Not Modified - Not locked by " . getUser()); exit; case "upload_set_image": // // this is the content type required by ajaxupload.js // header('Content-type: application/javascript'); if (is_uploaded_file($_FILES['file']['tmp_name'])) { $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); if (move_uploaded_file($_FILES['file']['tmp_name'], $assetsLCL . '/upload/' . arg("id") . '.' . $extension)) { $ret = model::setKey(arg("id"), 'image', '/upload/' . arg("id") . '.' . $extension); // // The result must be true for ajaxupload.js