Ejemplo n.º 1
0
/**
 * Delete a node from the repository, optionally recursing into sub-directories (only
 * relevant when the node being deleted is a folder).
 *
 * @param string $uuid      The node UUID.
 * @param bool   $recursive Whether to recursively delete child content.
 * @return mixed
 */
function elis_files_delete($uuid, $recursive = false, $repo = NULL) {

    if (ELIS_FILES_DEBUG_TRACE)  print_object('elis_files_delete(' . $uuid . ', ' . $recursive . ')');

    // Ensure that we set the configured admin user to be the owner of the deleted file before deleting.
    // This is to prevent the user's Alfresco account from having space incorrectly attributed to it.
    // ELIS-1102
    elis_files_request('/moodle/nodeowner/' . $uuid . '?username='******'3.2')) {
        return (true === elis_files_send(elis_files_get_uri($uuid, 'delete'), array(), 'DELETE'));
    } else if (ELIS_files::is_version('3.4')) {
        // Get node type and use descendants delete for folders
        $node_type = elis_files_get_type($uuid);

        if (!(strstr($node_type,ELIS_files::$type_folder) === FALSE)) {
            if (elis_files_send('/cmis/i/' . $uuid.'/descendants', array(), 'DELETE') === false) {
                return false;
            }
        } else {
               //if ($repo->cmis->deleteObject('workspace://SpacesStore/' . $uuid) === false) {
            if (elis_files_send('/cmis/i/' . $uuid, array(), 'DELETE') === false) {
                return false;
            }
        }
        return true;
    }
}
Ejemplo n.º 2
0
/**
 * Delete a node from the repository, optionally recursing into sub-directories (only
 * relevant when the node being deleted is a folder).
 *
 * @uses $CFG
 * @uses $USER
 * @param string $uuid      The node UUID.
 * @param bool   $recursive Whether to recursively delete child content.
 * @return mixed
 */
    function delete($uuid, $recursive = false) {
        global $CFG;

        if (ELIS_FILES_DEBUG_TRACE)  print_object('repo elis_files_delete(' . $uuid . ', ' . $recursive . ')');

        if (!$this->get_defaults()) {
            return false;
        }

        // Ensure that we set the configured admin user to be the owner of the deleted file before deleting.
        // This is to prevent the user's Alfresco account from having space incorrectly attributed to it.
        // ELIS-1102
        elis_files_request('/moodle/nodeowner/' . $uuid . '?username='******'3.2')) {
            return (true === elis_files_send(elis_files_get_uri($uuid, 'delete'), array(), 'DELETE'));
        } else if (self::is_version('3.4')) {
            if ($this->is_dir($uuid)) {
                if (elis_files_send('/cmis/i/' . $uuid.'/descendants', array(), 'DELETE') === false) {
                    return false;
                }
            } else {
                if ($this->cmis->deleteObject('workspace://SpacesStore/' . $uuid) === false) {
                    return false;
                }
            }

            return true;
        }
    }