Exemple #1
0
 /**
  * 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;
 }
Exemple #2
0
     }
     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