本文整理汇总了PHP中DocumentManager::delete_document方法的典型用法代码示例。如果您正苦于以下问题:PHP DocumentManager::delete_document方法的具体用法?PHP DocumentManager::delete_document怎么用?PHP DocumentManager::delete_document使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DocumentManager
的用法示例。
在下文中一共展示了DocumentManager::delete_document方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: convertCopyDocument
/**
* Used to convert copied from document
* @param string $originalPath
* @param string $convertedPath
* @param string $convertedTitle
* @return bool
*/
function convertCopyDocument($originalPath, $convertedPath, $convertedTitle)
{
$_course = api_get_course_info();
$ids = array();
$originalPathInfo = pathinfo($originalPath);
$convertedPathInfo = pathinfo($convertedPath);
$this->base_work_dir = $originalPathInfo['dirname'];
$this->file_path = $originalPathInfo['basename'];
$this->created_dir = $convertedPathInfo['basename'];
$ppt2lpHost = api_get_setting('ppt_to_lp.host');
$permissionFile = api_get_permissions_for_new_files();
$permissionFolder = api_get_permissions_for_new_directories();
if (file_exists($this->base_work_dir . '/' . $this->created_dir)) {
return $ids;
}
if ($ppt2lpHost == 'localhost') {
if (IS_WINDOWS_OS) {
// IS_WINDOWS_OS has been defined in main_api.lib.php
$converterPath = str_replace('/', '\\', api_get_path(SYS_PATH) . 'main/inc/lib/ppt2png');
$classPath = $converterPath . ';' . $converterPath . '/jodconverter-2.2.2.jar;' . $converterPath . '/jodconverter-cli-2.2.2.jar';
$cmd = 'java -Dfile.encoding=UTF-8 -jar "' . $classPath . '/jodconverter-2.2.2.jar"';
} else {
$converterPath = api_get_path(SYS_PATH) . 'main/inc/lib/ppt2png';
$classPath = ' -Dfile.encoding=UTF-8 -jar jodconverter-cli-2.2.2.jar';
$cmd = 'cd ' . $converterPath . ' && java ' . $classPath . ' ';
}
$cmd .= ' -p ' . api_get_setting('ppt_to_lp.port');
// Call to the function implemented by child.
$cmd .= ' "' . $this->base_work_dir . '/' . $this->file_path . '" "' . $this->base_work_dir . '/' . $this->created_dir . '"';
// To allow openoffice to manipulate docs.
@chmod($this->base_work_dir, $permissionFolder);
@chmod($this->base_work_dir . '/' . $this->file_path, $permissionFile);
$locale = $this->original_locale;
// TODO: Improve it because we're not sure this locale is present everywhere.
putenv('LC_ALL=' . $locale);
$files = array();
$return = 0;
$shell = exec($cmd, $files, $return);
// TODO: Chown is not working, root keep user privileges, should be www-data
@chown($this->base_work_dir . '/' . $this->created_dir, 'www-data');
@chmod($this->base_work_dir . '/' . $this->created_dir, $permissionFile);
if ($return != 0) {
// If the java application returns an error code.
switch ($return) {
// Can't connect to openoffice.
case 1:
$this->error = get_lang('CannotConnectToOpenOffice');
break;
// Conversion failed in openoffice.
// Conversion failed in openoffice.
case 2:
$this->error = get_lang('OogieConversionFailed');
break;
// Conversion can't be launch because command failed.
// Conversion can't be launch because command failed.
case 255:
$this->error = get_lang('OogieUnknownError');
break;
}
DocumentManager::delete_document($_course, $this->created_dir, $this->base_work_dir);
return false;
}
} else {
/*
* @TODO Create method to use webservice
// get result from webservices
$result = $this->_get_remote_ppt2lp_files($file);
$result = unserialize(base64_decode($result));
// Save remote images to server
chmod($this->base_work_dir.$this->created_dir, api_get_permissions_for_new_directories());
if (!empty($result['images'])) {
foreach ($result['images'] as $image => $img_data) {
$image_path = $this->base_work_dir.$this->created_dir;
@file_put_contents($image_path . '/' . $image, base64_decode($img_data));
@chmod($image_path . '/' . $image, 0777);
}
}
// files info
$files = $result['files'];
*/
}
if (file_exists($this->base_work_dir . '/' . $this->created_dir)) {
// Register Files to Document tool
$ids[] = add_document($_course, '/' . $this->created_dir, 'file', filesize($this->base_work_dir . '/' . $this->created_dir), $convertedTitle, sprintf(get_lang('FileConvertedFromXToY'), strtoupper($originalPathInfo['extension']), strtoupper($convertedPathInfo['extension'])), 0, true, null, api_get_session_id());
chmod($this->base_work_dir, $permissionFolder);
}
return $ids;
}
示例2: delete_groups
/**
* deletes groups and their data.
* @author Christophe Gesche <christophe.gesche@claroline.net>
* @author Hugues Peeters <hugues.peeters@claroline.net>
* @author Bart Mollet
* @param mixed $groupIdList - group(s) to delete. It can be a single id
* (int) or a list of id (array).
* @param string $course_code Default is current course
* @return integer - number of groups deleted.
*/
public static function delete_groups($group_ids, $course_code = null)
{
$course_info = api_get_course_info($course_code);
$course_id = $course_info['real_id'];
// Database table definitions
$group_table = Database::get_course_table(TABLE_GROUP);
$forum_table = Database::get_course_table(TABLE_FORUM);
$group_ids = is_array($group_ids) ? $group_ids : array($group_ids);
$group_ids = array_map('intval', $group_ids);
if (!api_is_platform_admin() && api_is_course_coach()) {
// A coach can only delete courses from his session
for ($i = 0; $i < count($group_ids); $i++) {
if (!api_is_element_in_the_session(TOOL_GROUP, $group_ids[$i])) {
array_splice($group_ids, $i, 1);
$i--;
}
}
if (count($group_ids) == 0) {
return 0;
}
}
// Unsubscribe all users
self::unsubscribe_all_users($group_ids);
$sql = "SELECT iid, secret_directory, session_id\n FROM {$group_table}\n WHERE c_id = {$course_id} AND iid IN (" . implode(' , ', $group_ids) . ")";
$db_result = Database::query($sql);
while ($group = Database::fetch_object($db_result)) {
// move group-documents to garbage
$source_directory = api_get_path(SYS_COURSE_PATH) . $course_info['path'] . "/document" . $group->secret_directory;
//File to renamed
$destination_dir = api_get_path(SYS_COURSE_PATH) . $course_info['path'] . "/document" . $group->secret_directory . '_DELETED_' . $group->iid;
if (!empty($group->secret_directory)) {
//Deleting from document tool
DocumentManager::delete_document($course_info, $group->secret_directory, $source_directory);
if (file_exists($source_directory)) {
if (api_get_setting('permanently_remove_deleted_files') == 'true') {
// Delete
my_delete($source_directory);
} else {
// Rename
rename($source_directory, $destination_dir);
}
}
}
}
// delete the groups
$sql = "DELETE FROM " . $group_table . " WHERE c_id = {$course_id} AND iid IN ('" . implode("' , '", $group_ids) . "')";
Database::query($sql);
$sql = "DELETE FROM " . $forum_table . " WHERE c_id = {$course_id} AND forum_of_group IN ('" . implode("' , '", $group_ids) . "')";
Database::query($sql);
return Database::affected_rows($result);
}
示例3: deleteDocumentsFromSession
/**
*
* Delete documents from a session in a course.
* @param array $courseInfo
* @param int $sessionId
*
* @return bool
*/
public function deleteDocumentsFromSession($courseInfo, $sessionId)
{
if (empty($courseInfo)) {
return false;
}
if (empty($sessionId)) {
return false;
}
$itemPropertyTable = Database::get_course_table(TABLE_ITEM_PROPERTY);
$documentTable = Database::get_course_table(TABLE_DOCUMENT);
$conditionSession = api_get_session_condition($sessionId, true, false, 'd.session_id');
//get invisible folders
$sql = "SELECT DISTINCT d.id, path\n FROM {$itemPropertyTable} i\n INNER JOIN {$documentTable} d\n ON (i.c_id = d.c_id)\n WHERE\n d.id = i.ref AND\n i.tool = '" . TOOL_DOCUMENT . "'\n {$conditionSession} AND\n i.c_id = {$courseInfo['real_id']} AND\n d.c_id = {$courseInfo['real_id']} ";
$result = Database::query($sql);
$documents = Database::store_result($result, 'ASSOC');
if ($documents) {
$course_dir = $courseInfo['directory'] . '/document';
$sys_course_path = api_get_path(SYS_COURSE_PATH);
$base_work_dir = $sys_course_path . $course_dir;
foreach ($documents as $document) {
$documentId = $document['id'];
DocumentManager::delete_document($courseInfo, null, $base_work_dir, $sessionId, $documentId);
}
}
}
示例4: error_log
if ($permissions != COURSEMANAGER) {
if ($debug > 0) {
error_log("Upload from videoconf not allowed !!!", 0);
}
die;
// this user is not allowed to add upload documents
}
/*==== DELETE ====*/
$path = str_replace('../', '', $_REQUEST["path"]);
if (substr($path, 0, strlen(VIDEOCONF_UPLOAD_PATH)) != VIDEOCONF_UPLOAD_PATH) {
if ($debug > 0) {
error_log("Delete from videoconf for " + $path + " NOT ALLOWED", 0);
}
die;
}
DocumentManager::delete_document($_course, $path, $coursePath);
echo "<result>OK</result>";
// We have to return something to OpenLaszlo
}
}
} else {
if ($action == "download") {
/*==== DOWNLOAD ====*/
//check if the document is in the database
if (!DocumentManager::get_document_id($_course, $_REQUEST['file'])) {
//file not found!
if ($debug > 0) {
error_log("404 " . $_REQUEST["file"]);
}
header("HTTP/1.0 404 Not Found");
$error404 = '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">';
示例5: substr
$fullPath = $doc;
//get Ajaxfilemanager
$chamiloPath = substr($fullPath, strlen($mainPath) - strlen($fullPath) - 1);
//find base_work_dir
$course_dir = $_course['path'] . "/document";
//get Chamilo
$sys_course_path = api_get_path(SYS_COURSE_PATH);
//get Chamilo
$base_work_dir = $sys_course_path . $course_dir;
// sample c:/xampp/htdocs/chamilo2009beta/courses/JUAN2009/document
//delete file
if (!$is_allowed_to_edit && DocumentManager::check_readonly($_course, api_get_user_id(), $chamiloPath)) {
$error = get_lang('CantDeleteReadonlyFiles');
//From Chamilo to Ajaxfilemanager
} else {
$deleted = DocumentManager::delete_document($_course, $chamiloPath, $base_work_dir);
//deleted by Chamilo
//$file->delete($doc); // disabled deleted by ajaxfilemanager
}
} else {
$file->delete($doc);
//deleted by ajaxfilemanager
event_system(LOG_USER_PERSONAL_DOC_DELETED, 'document_path', $doc);
event_system(LOG_MY_FOLDER_DELETE, LOG_MY_FOLDER_PATH, $doc);
}
//////end bridge to Chamilo
}
}
}
}
}
示例6: foreach
case 'delete':
// Check all documents scheduled for deletion
// If one of them is read-only, abandon deletion
// Note: this is only executed once
if (!$readonlyAlreadyChecked) {
foreach ($files as $id) {
if (!$is_allowed_to_edit) {
if (DocumentManager::check_readonly($courseInfo, api_get_user_id(), null, $id, false, $sessionId)) {
$messages .= Display::return_message(get_lang('CantDeleteReadonlyFiles'), 'error');
break 2;
}
}
}
$readonlyAlreadyChecked = true;
}
$deleteDocument = DocumentManager::delete_document($courseInfo, null, $base_work_dir, $sessionId, $documentId, $groupId);
if (!empty($deleteDocument)) {
$messages .= Display::return_message(get_lang('DocDeleted') . ': ' . $data['title'], 'confirmation');
}
break;
}
}
}
// endforeach
Display::addFlash($messages);
}
}
$dirForm = null;
/* CREATE DIRECTORY */
//Only teacher and all users into their group and any user into his/her shared folder
if ($is_allowed_to_edit || $group_member_with_upload_rights || DocumentManager::is_my_shared_folder(api_get_user_id(), $curdirpath, $sessionId)) {
示例7: switch
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'delete':
foreach ($_POST['path'] as $index => &$path) {
if (!$is_allowed_to_edit) {
if (DocumentManager::check_readonly($_course, api_get_user_id(), $path)) {
Display::display_error_message(get_lang('CantDeleteReadonlyFiles'));
break 2;
}
}
}
foreach ($_POST['path'] as $index => &$path) {
if (in_array($path, array('/audio', '/flash', '/images', '/shared_folder', '/video', '/chat_files', '/certificates'))) {
continue;
} else {
$delete_document = DocumentManager::delete_document($_course, $path, $base_work_dir);
}
}
if (!empty($delete_document)) {
Display::display_confirmation_message(get_lang('DocDeleted'));
}
break;
}
}
}
/* CREATE DIRECTORY */
//Only teacher and all users into their group and any user into his/her shared folder
if ($is_allowed_to_edit || $group_member_with_upload_rights || is_my_shared_folder(api_get_user_id(), $curdirpath, $session_id)) {
// Create directory with $_POST data
if (isset($_POST['create_dir']) && $_POST['dirname'] != '') {
// Needed for directory creation
示例8: rm
/**
* {@inheritdoc}
*/
public function rm($hash)
{
// elfinder does not delete the file
//parent::rm($hash);
$this->setConnectorFromPlugin();
if ($this->allow()) {
$path = $this->decode($hash);
$stat = $this->stat($path);
$stat['realpath'] = $path;
$this->removed[] = $stat;
$realFilePath = $path;
$coursePath = $this->getCourseDocumentSysPath();
$filePath = str_replace($coursePath, '/', $realFilePath);
\DocumentManager::delete_document($this->connector->course, $filePath, $coursePath);
return true;
}
return false;
}
示例9: _delDir
/**
* Delete directories recursively.
* @param string $relative the relative path to be deleted.
* @return boolean true if deleted, false otherwise.
*/
function _delDir($relative)
{
$fullpath = Files::makePath($this->getBaseDir(), $relative);
//we can delete recursively even if there are images in the dir
//if($this->countFiles($fullpath) <= 0) {
// now we use the default delete_document function
//return Files::delFolder($fullpath,true); //delete recursively.
global $_course;
if (isset($_course) && !empty($_course) && isset($_course['code'])) {
$path_dir = substr($fullpath, strpos($fullpath, '/document/') + 9, -1);
//
$base_dir = substr($fullpath, 0, strlen($fullpath) - strlen($path_dir));
//
return DocumentManager::delete_document($_course, $path_dir, $base_dir);
} else {
if ($this->countFiles($fullpath) <= 0) {
return Files::delFolder($fullpath, true);
} else {
return false;
}
}
}
示例10: WSDeleteLp
/**
* @param array $params
* @return int|string
*/
function WSDeleteLp($params)
{
global $debug;
if (!WSHelperVerifyKey($params)) {
return return_error(WS_ERROR_SECRET_KEY);
}
require_once api_get_path(SYS_CODE_PATH) . 'newscorm/learnpathList.class.php';
require_once api_get_path(SYS_CODE_PATH) . 'newscorm/learnpath.class.php';
require_once api_get_path(SYS_CODE_PATH) . 'newscorm/learnpathItem.class.php';
$courseIdName = $params['course_id_name'];
$courseIdValue = $params['course_id_value'];
$lpId = $params['lp_id'];
$sessionIdName = isset($params['session_id_name']) ? $params['session_id_name'] : null;
$sessionIdValue = isset($params['session_id_value']) ? $params['session_id_value'] : null;
$courseInfo = CourseManager::getCourseInfoFromOriginalId($courseIdValue, $courseIdName);
if (empty($courseInfo)) {
if ($debug) {
error_log("Course not found: {$courseIdName} : {$courseIdValue}");
}
return 'Course not found';
}
$courseId = $courseInfo['real_id'];
$courseCode = $courseInfo['code'];
$sessionId = 0;
/*
if (!empty($sessionIdName) && !empty($sessionIdValue)) {
$sessionId = SessionManager::get_session_id_from_original_id(
$sessionIdValue,
$sessionIdName
);
if (empty($sessionId)) {
if ($debug) error_log('Session not found');
return 'Session not found';
}
}
*/
$lp = new learnpath($courseCode, $lpId, null);
if ($lp) {
if ($debug) {
error_log("LP deleted {$lpId}");
}
$course_dir = $courseInfo['directory'] . '/document';
$sys_course_path = api_get_path(SYS_COURSE_PATH);
$base_work_dir = $sys_course_path . $course_dir;
$items = $lp->get_flat_ordered_items_list($lpId, 0, $courseId);
if (!empty($items)) {
/** @var $item learnpathItem */
foreach ($items as $itemId) {
$item = new learnpathItem($itemId, null, $courseId);
if ($item) {
$documentId = $item->get_path();
if ($debug) {
error_log("lp item id found #{$itemId}");
}
$documentInfo = DocumentManager::get_document_data_by_id($documentId, $courseInfo['code'], false, $sessionId);
if (!empty($documentInfo)) {
if ($debug) {
error_log("Document id deleted #{$documentId}");
}
DocumentManager::delete_document($courseInfo, null, $base_work_dir, $sessionId, $documentId);
} else {
if ($debug) {
error_log("No document found for id #{$documentId}");
}
}
} else {
if ($debug) {
error_log("Document not found #{$itemId}");
}
}
}
}
$lp->delete($courseInfo, $lpId, 'remove');
return 1;
}
return 0;
}
示例11: convert_document
public function convert_document($file, $action_after_conversion = 'make_lp')
{
$_course = api_get_course_info();
$this->file_name = pathinfo($file['name'], PATHINFO_FILENAME);
// Create the directory
$result = $this->generate_lp_folder($_course, $this->file_name);
// Create the directory
$this->base_work_dir = api_get_path(SYS_COURSE_PATH) . $_course['path'] . '/document';
///learning_path/ppt_dirname directory
$this->created_dir = substr($result['dir'], 0, strlen($result['dir']) - 1);
$this->file_path = $this->created_dir . '/' . api_replace_dangerous_char($file['name'], 'strict');
//var_dump($this->file_name, $this->file_path, $this->base_work_dir, $this->created_dir);
/*
* Original code
global $_course, $_user, $_configuration;
$this->file_name = (strrpos($file['name'], '.') > 0 ? substr($file['name'], 0, strrpos($file['name'], '.')) : $file['name']);
$this->file_name = replace_dangerous_char($this->file_name, 'strict');
$this->file_name = strtolower($this->file_name);
$visio_dir = ($action_after_conversion == 'add_docs_to_visio') ? VIDEOCONF_UPLOAD_PATH : '';
$this->file_path = $visio_dir.'/'.$this->file_name.'.'.pathinfo($file['name'], PATHINFO_EXTENSION);
$dir_name = $visio_dir.'/'.$this->file_name;
// Create the directory.
$this->base_work_dir = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
$this->created_dir = FileManager::create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), 0, 0, $this->base_work_dir, $dir_name);
var_dump($this->file_name, $this->file_path, $this->base_work_dir, $this->created_dir);
*/
$ppt2lp_host = api_get_setting('service_ppt2lp', 'host');
if ($ppt2lp_host == 'localhost') {
move_uploaded_file($file['tmp_name'], $this->base_work_dir . '/' . $this->file_path);
//var_dump( $this->base_work_dir.$this->created_dir.$this->file_path);
$perm = api_get_setting('permissions_for_new_files');
if (IS_WINDOWS_OS) {
// IS_WINDOWS_OS has been defined in api.lib.php
$converter_path = str_replace('/', '\\', api_get_path(SYS_PATH) . 'main/inc/lib/ppt2png');
$class_path = $converter_path . ';' . $converter_path . '/jodconverter-2.2.2.jar;' . $converter_path . '/jodconverter-cli-2.2.2.jar';
//$cmd = 'java -cp "'.$class_path.'" DokeosConverter';
$cmd = 'java -Dfile.encoding=UTF-8 -cp "' . $class_path . '" DokeosConverter';
} else {
$converter_path = api_get_path(SYS_PATH) . 'main/inc/lib/ppt2png';
//$class_path = '-cp .:jodconverter-2.2.1.jar:jodconverter-cli-2.2.1.jar';
$class_path = ' -Dfile.encoding=UTF-8 -cp .:jodconverter-2.2.2.jar:jodconverter-cli-2.2.2.jar';
$cmd = 'cd ' . $converter_path . ' && java ' . $class_path . ' DokeosConverter';
}
$cmd .= ' -p ' . api_get_setting('service_ppt2lp', 'port');
// Call to the function implemented by child.
$cmd .= $this->add_command_parameters();
// To allow openoffice to manipulate docs.
@chmod($this->base_work_dir, 0777);
@chmod($this->base_work_dir . $this->created_dir, 0777);
@chmod($this->base_work_dir . $this->file_path, 0777);
$locale = $this->original_locale;
// TODO: Improve it because we're not sure this locale is present everywhere.
putenv('LC_ALL=' . $locale);
$files = array();
$return = 0;
$shell = exec($cmd, $files, $return);
if ($return != 0) {
// If the java application returns an error code.
switch ($return) {
// Can't connect to openoffice.
case 1:
$this->error = get_lang('CannotConnectToOpenOffice');
break;
// Conversion failed in openoffice.
// Conversion failed in openoffice.
case 2:
$this->error = get_lang('OogieConversionFailed');
break;
// Conversion can't be launch because command failed.
// Conversion can't be launch because command failed.
case 255:
$this->error = get_lang('OogieUnknownError');
break;
}
DocumentManager::delete_document($_course, $this->created_dir, $this->base_work_dir);
return false;
}
} else {
// get result from webservices
$result = $this->_get_remote_ppt2lp_files($file);
$result = unserialize(base64_decode($result));
// Save remote images to server
chmod($this->base_work_dir . $this->created_dir, api_get_permissions_for_new_directories());
if (!empty($result['images'])) {
foreach ($result['images'] as $image => $img_data) {
$image_path = $this->base_work_dir . $this->created_dir;
@file_put_contents($image_path . '/' . $image, base64_decode($img_data));
@chmod($image_path . '/' . $image, 0777);
}
}
// files info
$files = $result['files'];
}
if (!empty($files)) {
// Create lp
$this->lp_id = learnpath::add_lp($_course['id'], $this->file_name, '', 'guess', 'manual');
// Call to the function implemented by child following action_after_conversion parameter.
switch ($action_after_conversion) {
case 'make_lp':
//.........这里部分代码省略.........