Fixing copy course message + some fixes + adding session_id in the create_unexisting_directory() document function see BT#2386

skala
Julio Montoya 14 years ago
parent a5a3319baf
commit 9fc67539d2
  1. 2
      main/admin/promotions.php
  2. 2
      main/conference/api.php
  3. 4
      main/coursecopy/classes/CourseBuilder.class.php
  4. 145
      main/coursecopy/classes/CourseRestorer.class.php
  5. 10
      main/document/document.php
  6. 2
      main/inc/lib/document.lib.php
  7. 2
      main/inc/lib/fckeditor/editor/plugins/ImageManager/Classes/ImageManager.php
  8. 8
      main/inc/lib/fckeditor/repository.php
  9. 13
      main/inc/lib/fileUpload.lib.php
  10. 2
      main/inc/lib/groupmanager.lib.php
  11. 3
      main/inc/lib/sessionmanager.lib.php
  12. 2
      main/newscorm/openoffice_document.class.php
  13. 4
      main/upload/upload.document.php

@ -165,7 +165,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'add') {
}
$res = $promotion->copy($_GET['id'], null, true);
if ($res) {
Display::display_confirmation_message(get_lang('ItemCopied'));
Display::display_confirmation_message(get_lang('ItemCopied').' - '.get_lang('ExerciseAndLPsAreInvisibleInTheNewCourse'));
}
$promotion->display();
} else {

@ -97,7 +97,7 @@ else if ($action == "upload")
/*==== creation of /videoconf ====*/
if (!is_dir($destPath))
{
$result = create_unexisting_directory($_course,$user_id,0,NULL,$coursePath,VIDEOCONF_UPLOAD_PATH);
$result = create_unexisting_directory($_course,$user_id, api_get_session_id(), 0,NULL,$coursePath,VIDEOCONF_UPLOAD_PATH);
if (!$result)
{
if ($debug>0) error_log("Can't create ".$destPath." folder",0);

@ -153,7 +153,7 @@ class CourseBuilder {
$sql = 'SELECT d.id, d.path, d.comment, d.title, d.filetype, d.size FROM '.$table_doc.' d, '.$table_prop.' p
WHERE tool = \''.TOOL_DOCUMENT.'\' AND p.ref = d.id AND p.visibility != 2 '.$session_condition.' ORDER BY path';
}
$db_result = Database::query($sql);
while ($obj = Database::fetch_object($db_result)) {
$doc = new Document($obj->id, $obj->path, $obj->comment, $obj->title, $obj->filetype, $obj->size);
@ -167,7 +167,7 @@ class CourseBuilder {
$sql = 'SELECT d.id, d.path, d.comment, d.title, d.filetype, d.size FROM '.$table_doc.' d, '.$table_prop.' p WHERE tool = \''.TOOL_DOCUMENT.'\' AND p.ref = d.id AND p.visibility != 2 AND path NOT LIKE \'/images/gallery%\' AND d.session_id = 0 ORDER BY path';
else
$sql = 'SELECT d.id, d.path, d.comment, d.title, d.filetype, d.size FROM '.$table_doc.' d, '.$table_prop.' p WHERE tool = \''.TOOL_DOCUMENT.'\' AND p.ref = d.id AND p.visibility != 2 AND d.session_id = 0 ORDER BY path';
$db_result = Database::query($sql);
while ($obj = Database::fetch_object($db_result)) {
$doc = new Document($obj->id, $obj->path, $obj->comment, $obj->title, $obj->filetype, $obj->size);

@ -216,7 +216,8 @@ class CourseRestorer
*/
function restore_documents($session_id = 0, $destination_course_code = '') {
$perm = api_get_permissions_for_new_directories();
$course_info = api_get_course_info($destination_course_code);
if ($this->course->has_resources(RESOURCE_DOCUMENT)) {
$table = Database :: get_course_table(TABLE_DOCUMENT, $this->course->destination_db);
@ -224,42 +225,72 @@ class CourseRestorer
$destination_course['dbName']= $this->course->destination_db;
foreach ($resources[RESOURCE_DOCUMENT] as $id => $document) {
//var_dump($document);
$path = api_get_path(SYS_COURSE_PATH).$this->course->destination_path.'/';
$dirs = explode('/', dirname($document->path));
if ($document->file_type==FOLDER) {
if (empty($document->item_properties[0]['id_session'])) {
$my_session_id = 0;
} else {
$my_session_id = $session_id;
}
if ($document->file_type == FOLDER) {
$visibility = $document->item_properties[0]['visibility'];
if (!empty($document->title)) {
$title = $document->title;
} else {
$title = basename($new);
}
$new = substr($document->path, 8);
if (!is_dir($path.'document/'.$new)) {
$created_dir = create_unexisting_directory($destination_course,api_get_user_id(),0, 0 ,$path.'document',$new,basename($new),$visibility);
}
$created_dir = create_unexisting_directory($destination_course, api_get_user_id(), $my_session_id, 0, 0 ,$path.'document', $new, $title, $visibility);
//echo 'creating dir'; var_dump($created_dir);
}
} elseif ($document->file_type == DOCUMENT) {
/*
echo 'option'; var_dump($this->file_option);
echo 'file type'; var_dump($document->file_type);
echo 'session'; var_dump($session_id);
echo 'file _exists'; var_dump($path.$document->path); var_dump(file_exists($path.$document->path));
*/
if (!is_dir($path.dirname($document->path))) {
continue;
//echo '! is dir'; var_dump($path.dirname($document->path));
$visibility = $document->item_properties[0]['visibility'];
$new = substr($document->path, 8);
//$new = $path.dirname($document->path);
//$new = substr($new, 8);
$new = substr($document->path, 8);
if (!empty($document->title)) {
$title = $document->title;
} else {
$title = basename($new);
}
// This code fixes the possibility for a file without a directory entry to be
$created_dir = create_unexisting_directory($destination_course,api_get_user_id(),0, 0 ,$path.'document',$new,basename($new),$visibility,true);
$created_dir = create_unexisting_directory($destination_course, api_get_user_id(), $my_session_id, 0, 0 , $path.'document', $new, $title, $visibility, true);
}
if (file_exists($path.$document->path)) {
if (file_exists($path.$document->path)) {
//var_dump ('enter');
switch ($this->file_option) {
case FILE_OVERWRITE :
$origin_path = $this->course->backup_path.'/'.$document->path;
if (file_exists($origin_path)) {
copy($origin_path, $path.$document->path);
}
}
//Replace old course code with the new destination code
if (file_exists($path.$document->path)) {
$file_info = pathinfo($path.$document->path);
if (in_array($file_info['extension'], array('html','htm'))) {
$content = file_get_contents($path.$document->path);
$content = DocumentManager::replace_urls_inside_content_html_from_copy_course($content ,$this->course->code,$this->course->destination_path);
$result = file_put_contents($path.$document->path,$content);
}
}
$file_info = pathinfo($path.$document->path);
if (in_array($file_info['extension'], array('html','htm'))) {
$content = file_get_contents($path.$document->path);
$content = DocumentManager::replace_urls_inside_content_html_from_copy_course($content ,$this->course->code,$this->course->destination_path);
$result = file_put_contents($path.$document->path,$content);
}
$sql = "SELECT id FROM ".$table." WHERE path='/".substr($document->path, 9)."'";
$res = Database::query($sql);
@ -275,7 +306,6 @@ class CourseRestorer
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $obj->id;
break;
case FILE_RENAME :
$i = 1;
$ext = explode('.', basename($document->path));
if (count($ext) > 1) {
@ -300,7 +330,8 @@ class CourseRestorer
$course_path = $path; // "/var/www/wiener/courses/"
$orig_base_folder = $document_path[1];
$orig_base_path = $course_path.$document_path[0].'/'.$document_path[1];
//echo '$orig_base_path'; var_dump($orig_base_path);
if (is_dir($orig_base_path)) {
$new_base_foldername = $orig_base_folder; // e.g: "carpeta1"
@ -336,12 +367,14 @@ class CourseRestorer
$basedir_dest_path = dirname($dest_document_path); // e.g: "/var/www/wiener/courses/CURSO4/document/carpeta1_1/subcarpeta1"
$dest_filename = basename($dest_document_path); // e.g: "collaborative.png"
$base_path_document = $course_path.$document_path[0]; // e.g: "/var/www/wiener/courses/CURSO4/document"
$course_info = api_get_course_info($destination_course_code);
$path_title = '/'.$new_base_foldername.'/'.$document_path[2];
copy_folder_course_session($basedir_dest_path, $base_path_document, $session_id, $course_info, $document);
copy($course_path.$document->path, $dest_document_path);
if (file_exists($course_path.$document->path)) {
copy($course_path.$document->path, $dest_document_path);
}
//Replace old course code with the new destination code see BT#1985
if (file_exists($dest_document_path)) {
@ -353,13 +386,17 @@ class CourseRestorer
}
}
$sql = "INSERT INTO $table SET path = '$path_title', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string(basename($path_title))."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$session_id'";
$sql = "INSERT INTO $table SET path = '$path_title', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string(basename($path_title))."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$my_session_id'";
Database::query($sql);
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = Database::insert_id();
} else {
copy($path.$document->path, $path.$new_file_name);
$document_id = Database::insert_id();
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $document_id;
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
} else {
if (file_exists($path.$document->path)) {
copy($path.$document->path, $path.$new_file_name);
}
//Replace old course code with the new destination code see BT#1985
if (file_exists($path.$new_file_name)) {
@ -369,12 +406,15 @@ class CourseRestorer
$content = DocumentManager::replace_urls_inside_content_html_from_copy_course($content ,$this->course->code,$this->course->destination_path);
$result = file_put_contents($path.$new_file_name, $content);
}
}
}
$sql = "INSERT INTO ".$table." SET path = '/".Database::escape_string(substr($new_file_name, 9))."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$session_id'";
$sql = "INSERT INTO ".$table." SET path = '/".Database::escape_string(substr($new_file_name, 9))."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$my_session_id'";
Database::query($sql);
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = Database::insert_id();
$document_id = Database::insert_id();
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $document_id;
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
}
} else {
@ -388,11 +428,14 @@ class CourseRestorer
$content = DocumentManager::replace_urls_inside_content_html_from_copy_course($content ,$this->course->code,$this->course->destination_path);
$result = file_put_contents($path.$new_file_name, $content);
}
}
$sql = "INSERT INTO ".$table." SET path = '/".Database::escape_string(substr($new_file_name, 9))."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."'";
}
$sql = "INSERT INTO ".$table." SET path = '/".Database::escape_string(substr($new_file_name, 9))."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$my_session_id'";
Database::query($sql);
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = Database::insert_id();
$document_id = Database::insert_id();
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $document_id;
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
}
break;
@ -400,7 +443,7 @@ class CourseRestorer
} else { // end if file exists
//make sure the source file actually exists
if (is_file($this->course->backup_path.'/'.$document->path) && is_readable($this->course->backup_path.'/'.$document->path) && is_dir(dirname($path.$document->path)) && is_writeable(dirname($path.$document->path))) {
//echo 'Copying';
copy($this->course->backup_path.'/'.$document->path, $path.$document->path);
//Replace old course code with the new destination code see BT#1985
@ -413,10 +456,13 @@ class CourseRestorer
}
}
$sql = "INSERT INTO ".$table." SET path = '/".substr($document->path, 9)."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."'";
$sql = "INSERT INTO ".$table." SET path = '/".substr($document->path, 9)."', comment = '".Database::escape_string($document->comment)."', title = '".Database::escape_string($document->title)."' ,filetype='".$document->file_type."', size= '".$document->size."', session_id = '$my_session_id'";
Database::query($sql);
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = Database::insert_id();
$document_id = Database::insert_id();
$this->course->resources[RESOURCE_DOCUMENT][$id]->destination_id = $document_id;
api_item_property_update($course_info, TOOL_DOCUMENT, $document_id, 'DocumentAdded', $document->item_properties[0]['insert_user_id'], $document->item_properties[0]['to_group_id'], $document->item_properties[0]['to_user_id'], null, null, $my_session_id);
} else {
//echo 'not Copying';
if(is_file($this->course->backup_path.'/'.$document->path) && is_readable($this->course->backup_path.'/'.$document->path)) {
error_log('Course copy generated an ignoreable error while trying to copy '.$this->course->backup_path.'/'.$document->path.': file not found');
}
@ -445,6 +491,7 @@ class CourseRestorer
}*/
} // end folder
} // end for each
// Delete sessions for the copy the new folder in session
unset($_SESSION['new_base_foldername']);
unset($_SESSION['orig_base_foldername']);
@ -581,15 +628,15 @@ class CourseRestorer
$forum_cat_table = Database :: get_course_table(TABLE_FORUM_CATEGORY, $this->course->destination_db);
$resources = $this->course->resources;
$forum_cat = $resources[RESOURCE_FORUMCATEGORY][$id];
if (!$forum_cat->is_restored())
{
if (!$forum_cat->is_restored()) {
$title = $forum_cat->title;
if (!preg_match('/.*\((.+)\)$/', $title, $matches)) // This is for avoiding repetitive adding of training code after several backup/restore cycles.
{
if ($matches[1] != $this->course->code)
{
$title = $title.' ('.$this->course->code.')';
}
if (!empty($title)) {
if (!preg_match('/.*\((.+)\)$/', $title, $matches)) {
// This is for avoiding repetitive adding of training code after several backup/restore cycles.
if ($matches[1] != $this->course->code) {
$title = $title.' ('.$this->course->code.')';
}
}
}
$sql = "INSERT INTO ".$forum_cat_table.
" SET cat_title = '".Database::escape_string($title).

@ -262,7 +262,7 @@ if ($current_session_id==0) {
$usf_dir_name = '/shared_folder';
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, api_get_user_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
// Create dynamic user shared folder
if (!file_exists($base_work_dir.'/shared_folder/sf_user_'.api_get_user_id())) {
@ -270,7 +270,7 @@ if ($current_session_id==0) {
$usf_dir_name = '/shared_folder/sf_user_'.api_get_user_id();
$to_group_id = 0;
$visibility = 1;
create_unexisting_directory($_course, api_get_user_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
} else {
//Create shared folder session
@ -279,7 +279,7 @@ if ($current_session_id==0) {
$usf_dir_name = '/shared_folder_session_'.$current_session_id;
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, api_get_user_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
//Create dynamic user shared folder into a shared folder session
if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id())) {
@ -287,7 +287,7 @@ if ($current_session_id==0) {
$usf_dir_name = '/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id();
$to_group_id = 0;
$visibility = 1;
create_unexisting_directory($_course, api_get_user_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
}
@ -609,7 +609,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'copytomyfiles' && api_get_sett
$dir_check = $base_work_dir.$dir_name;
if (!is_dir($dir_check)) {
$created_dir = create_unexisting_directory($_course, api_get_user_id(), $to_group_id, $to_user_id, $base_work_dir, $dir_name, $post_dir_name);
$created_dir = create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $dir_name, $post_dir_name);
if ($created_dir) {
Display::display_confirmation_message('<span title="'.$created_dir.'">'.get_lang('DirCr').'</span>', false);
// Uncomment if you want to enter the created dir

@ -1317,7 +1317,7 @@ class DocumentManager {
$post_dir_name=get_lang('CertificatesFiles');
$visibility_command='invisible';
if (!is_dir($base_work_dir_test)) {
$created_dir = create_unexisting_directory($course_info, api_get_user_id() ,$to_group_id,$to_user_id,$base_work_dir,$dir_name,$post_dir_name);
$created_dir = create_unexisting_directory($course_info, api_get_user_id(), api_get_session_id(), $to_group_id,$to_user_id,$base_work_dir,$dir_name,$post_dir_name);
$update_id=DocumentManager::get_document_id_of_directory_certificate();
api_item_property_update($course_info, TOOL_DOCUMENT, $update_id, $visibility_command, api_get_user_id());
}

@ -842,7 +842,7 @@ class ImageManager
//@todo make this str to functions
$base_dir = substr($path, 0, strpos($path,'/document/')+9); //
$new_dir = substr($fullpath, strlen($base_dir),-1); //
$created_dir = create_unexisting_directory($_course, api_get_user_id(),0,0, $base_dir, $new_dir,$newDir);
$created_dir = create_unexisting_directory($_course, api_get_user_id(), api_get_session_id(), 0,0, $base_dir, $new_dir,$newDir);
$doc_id = DocumentManager::get_document_id($_course, $new_dir );
$current_session_id = api_get_session_id();
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(),null,null,null,null,$current_session_id);

@ -68,7 +68,7 @@ if (api_is_in_course()) {
$usf_dir_name = '/shared_folder';
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
// Create dynamic user shared folder
if (!file_exists($base_work_dir.'/shared_folder/sf_user_'.api_get_user_id())) {
@ -76,7 +76,7 @@ if (api_is_in_course()) {
$usf_dir_name = '/shared_folder/sf_user_'.api_get_user_id();
$to_group_id = 0;
$visibility = 1;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
}
else{
@ -86,7 +86,7 @@ if (api_is_in_course()) {
$usf_dir_name = '/shared_folder_session_'.$current_session_id;
$to_group_id = 0;
$visibility = 0;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
//Create dynamic user shared folder into a shared folder session
if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id())) {
@ -94,7 +94,7 @@ if (api_is_in_course()) {
$usf_dir_name = '/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id();
$to_group_id = 0;
$visibility = 1;
create_unexisting_directory($_course, $_user['user_id'], $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), $to_group_id, $to_user_id, $base_work_dir, $usf_dir_name, $usf_dir_title, $visibility);
}
}
}

@ -1027,16 +1027,16 @@ function search_img_from_html($html_file) {
* @return string actual directory name if it succeeds,
* boolean false otherwise
*/
function create_unexisting_directory($_course, $user_id, $to_group_id, $to_user_id, $base_work_dir, $desired_dir_name, $title = null, $visibility = '') {
function create_unexisting_directory($_course, $user_id, $session_id, $to_group_id, $to_user_id, $base_work_dir, $desired_dir_name, $title = null, $visibility = '') {
$nb = '';
// add numerical suffix to directory if another one of the same number already exists
while (file_exists($base_work_dir.$desired_dir_name.$nb)) {
$nb += 1;
}
if($title == null) {
if ($title == null) {
$title = basename($desired_dir_name);
}
if (mkdir($base_work_dir.$desired_dir_name.$nb, api_get_permissions_for_new_directories(), true)) {
// Check if pathname already exists inside document table
$tbl_document = Database::get_course_table(TABLE_DOCUMENT, $_course['dbName']);
@ -1045,13 +1045,12 @@ function create_unexisting_directory($_course, $user_id, $to_group_id, $to_user_
if (Database::num_rows($rs) == 0) {
$document_id = add_document($_course, $desired_dir_name.$nb, 'folder', 0, $title);
if ($document_id) {
// Update document item_property
$current_session_id = api_get_session_id();
// Update document item_property
if ($visibility !== '') {
$visibilities = array(0 => 'invisible', 1 => 'visible', 2 => 'delete');
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, $visibilities[$visibility], $user_id, $to_group_id, $to_user_id, null, null, $current_session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, $visibilities[$visibility], $user_id, $to_group_id, $to_user_id, null, null, $session_id);
} else {
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'FolderCreated', $user_id, $to_group_id, $to_user_id, null, null, $current_session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $document_id, 'FolderCreated', $user_id, $to_group_id, $to_user_id, null, null, $session_id);
}
return $desired_dir_name.$nb;
}

@ -213,7 +213,7 @@ class GroupManager {
$desired_dir_name= '/'.replace_dangerous_char($name,'strict').'_groupdocs';
$my_path = api_get_path(SYS_COURSE_PATH).$currentCourseRepository.'/document';
$unique_name = create_unexisting_directory($_course,$_user['user_id'],$lastId,NULL,$my_path, $desired_dir_name);
$unique_name = create_unexisting_directory($_course,$_user['user_id'], api_get_session_id(), $lastId,NULL,$my_path, $desired_dir_name);
/* Stores the directory path into the group table */
$sql = "UPDATE ".$table_group." SET name = '".Database::escape_string($name)."', secret_directory = '".$unique_name."' WHERE id ='".$lastId."'";

@ -1455,8 +1455,7 @@ class SessionManager {
$course_info = CourseManager::copy_course_simple($course_data['title'].' '.get_lang('Copy'), $course_data['course_code'], $id, $sid);
if ($course_info) {
//By default new elements are invisible
if ($set_exercises_lp_invisible) {
if ($set_exercises_lp_invisible) {
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$list = new LearnpathList('', $course_info['code'], $sid);
$flat_list = $list->get_flat_list();

@ -51,7 +51,7 @@ abstract class OpenofficeDocument extends learnpath {
// Create the directory.
$this->base_work_dir = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
$this->created_dir = create_unexisting_directory($_course, $_user['user_id'], 0, 0, $this->base_work_dir, $dir_name);
$this->created_dir = create_unexisting_directory($_course, $_user['user_id'], api_get_session_id(), 0, 0, $this->base_work_dir, $dir_name);
$ppt2lp_host = api_get_setting('service_ppt2lp', 'host');

@ -106,7 +106,7 @@ if(isset($_POST['submit_image'])) {
//we could also create a function for this, I'm not sure...
//create a directory for the missing files
$img_directory = str_replace('.','_',$_POST['related_file']."_files");
$missing_files_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$img_directory);
$missing_files_dir = create_unexisting_directory($_course,$_user['user_id'],api_get_session_id(), $to_group_id,$to_user_id,$base_work_dir,$img_directory);
//put the uploaded files in the new directory and get the paths
$paths_to_replace_in_file = move_uploaded_file_collection_into_directory($_course, $_FILES['img_file'],$base_work_dir,$missing_files_dir,$_user['user_id'],$to_group_id,$to_user_id,$max_filled_space);
//open the html file and replace the paths
@ -120,7 +120,7 @@ if(isset($_POST['create_dir']) && $_POST['dirname']!='')
{
$added_slash = ($path=='/')?'':'/';
$dir_name = $path.$added_slash.replace_dangerous_char($_POST['dirname']);
$created_dir = create_unexisting_directory($_course,$_user['user_id'],$to_group_id,$to_user_id,$base_work_dir,$dir_name,$_POST['dirname']);
$created_dir = create_unexisting_directory($_course,$_user['user_id'],api_get_session_id(), $to_group_id,$to_user_id,$base_work_dir,$dir_name,$_POST['dirname']);
if($created_dir)
{
//Display::display_normal_message("<strong>".$created_dir."</strong> was created!");

Loading…
Cancel
Save