/** * * @param AJXP_Node $oldFile * @param AJXP_Node $newFile * @param Boolean $copy */ public function moveMeta($oldFile, $newFile = null, $copy = false) { if ($oldFile == null) { return; } $feedStore = AJXP_PluginsService::getInstance()->getUniqueActivePluginForType("feed"); if ($feedStore !== false) { $feedStore->updateMetaObject($oldFile->getRepositoryId(), $oldFile->getPath(), $newFile != null ? $newFile->getPath() : null, $copy); return; } if (!$copy && $this->metaStore->inherentMetaMove()) { return; } $oldMeta = $this->metaStore->retrieveMetadata($oldFile, AJXP_META_SPACE_COMMENTS); if (!count($oldMeta)) { return; } // If it's a move or a delete, delete old data if (!$copy) { $this->metaStore->removeMetadata($oldFile, AJXP_META_SPACE_COMMENTS); } // If copy or move, copy data. if ($newFile != null) { $this->metaStore->setMetadata($newFile, AJXP_META_SPACE_COMMENTS, $oldMeta); } }
/** * * @param AJXP_Node $oldNode * @param AJXP_Node $newNode * @param Boolean $copy */ public function updateMetaLocation($oldNode, $newNode = null, $copy = false) { $defs = $this->getMetaDefinition(); $updateField = $createField = null; foreach ($defs as $f => $data) { if ($data["type"] == "updater") { $updateField = $f; } else { if ($data["type"] == "creator") { $createField = $f; } } } $valuesUpdate = isset($updateField) || isset($createField); $currentUser = null; if ($valuesUpdate) { $currentUser = AuthService::getLoggedUser()->getId(); } if ($oldNode == null && !$valuesUpdate) { return; } if (!$copy && !$valuesUpdate && $this->metaStore->inherentMetaMove()) { return; } if ($oldNode == null) { $oldMeta = $this->metaStore->retrieveMetadata($newNode, "users_meta", false, AJXP_METADATA_SCOPE_GLOBAL); } else { $oldMeta = $this->metaStore->retrieveMetadata($oldNode, "users_meta", false, AJXP_METADATA_SCOPE_GLOBAL); } if ($valuesUpdate) { if (isset($updateField)) { $oldMeta[$updateField] = $currentUser; } if (isset($createField) && $oldNode == null) { $oldMeta[$createField] = $currentUser; } } if (!count($oldMeta)) { return; } // If it's a move or a delete, delete old data if ($oldNode != null && !$copy) { $this->metaStore->removeMetadata($oldNode, "users_meta", false, AJXP_METADATA_SCOPE_GLOBAL); } // If copy or move, copy data. if ($newNode != null) { $this->metaStore->setMetadata($newNode, "users_meta", $oldMeta, false, AJXP_METADATA_SCOPE_GLOBAL); } }
/** * * @param AJXP_Node $oldFile * @param AJXP_Node $newFile * @param Boolean $copy */ public function updateMetaLocation($oldFile, $newFile = null, $copy = false) { if ($oldFile == null) { return; } if (!$copy && $this->metaStore->inherentMetaMove()) { return; } $oldMeta = $this->metaStore->retrieveMetadata($oldFile, self::$META_WATCH_NAMESPACE, false, AJXP_METADATA_SCOPE_REPOSITORY); if (count($oldMeta)) { // If it's a move or a delete, delete old data if (!$copy) { $this->metaStore->removeMetadata($oldFile, self::$META_WATCH_NAMESPACE, false, AJXP_METADATA_SCOPE_REPOSITORY); } // If copy or move, copy data. if ($newFile != null) { $this->metaStore->setMetadata($newFile, self::$META_WATCH_NAMESPACE, $oldMeta, false, AJXP_METADATA_SCOPE_REPOSITORY); } } }
/** * * @param AJXP_Node $oldFile * @param AJXP_Node $newFile * @param Boolean $copy */ public function updateMetaLocation($oldFile, $newFile = null, $copy = false) { if ($oldFile == null) { return; } if (!$copy && $this->metaStore->inherentMetaMove()) { return; } $oldMeta = $this->metaStore->retrieveMetadata($oldFile, "users_meta", false, AJXP_METADATA_SCOPE_GLOBAL); if (!count($oldMeta)) { return; } // If it's a move or a delete, delete old data if (!$copy) { $this->metaStore->removeMetadata($oldFile, "users_meta", false, AJXP_METADATA_SCOPE_GLOBAL); } // If copy or move, copy data. if ($newFile != null) { $this->metaStore->setMetadata($newFile, "users_meta", $oldMeta, false, AJXP_METADATA_SCOPE_GLOBAL); } }