repository.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * Chamilo LMS
  4. *
  5. * For a full list of contributors, see "credits.txt".
  6. * The full license can be read in "license.txt".
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License
  10. * as published by the Free Software Foundation; either version 2
  11. * of the License, or (at your option) any later version.
  12. *
  13. * See the GNU General Public License for more details.
  14. */
  15. /**
  16. * Aditional system config settings for document repositories, the Chamilo LMS
  17. * @author Juan Carlos Raña
  18. * @since 31/December/2008
  19. */
  20. require_once api_get_path(LIBRARY_PATH).'fileUpload.lib.php';
  21. $permissions_for_new_directories = api_get_permissions_for_new_directories();
  22. $permissions_for_new_files = api_get_permissions_for_new_files();
  23. if (!empty($_course['path'])) {
  24. require_once api_get_path(LIBRARY_PATH).'document.lib.php';
  25. require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
  26. // Get the Chamilo session properties. Before ajaximagemanager!!!
  27. $to_group_id = !empty($_SESSION['_gid']) ? $_SESSION['_gid'] : 0 ;
  28. $group_properties = GroupManager::get_group_properties($_SESSION['_gid']);
  29. $is_user_in_group = GroupManager::is_user_in_group($_user['user_id'],$_SESSION['_gid']);
  30. }
  31. $my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(),'system');
  32. $user_folder = $my_path['dir'].'my_files/';
  33. // Sanity checks for Chamilo.
  34. // Creation of a user owned folder if it does not exist.
  35. if (!file_exists($user_folder)) {
  36. // A recursive call of mkdir function.
  37. @mkdir($user_folder, $permissions_for_new_directories, true);
  38. }
  39. // Creation of repository used by paltform administrators if it does not exist.
  40. if (api_is_platform_admin()) {
  41. $homepage_folder = api_get_path(SYS_PATH).'home/default_platform_document/';
  42. if (!file_exists($homepage_folder)) {
  43. @mkdir($homepage_folder, $permissions_for_new_directories);
  44. }
  45. }
  46. // Create course shared folders
  47. if (api_is_in_course()) {
  48. $course_dir = $_course['path'].'/document';
  49. $sys_course_path = api_get_path(SYS_COURSE_PATH);
  50. $base_work_dir = $sys_course_path.$course_dir;
  51. $current_session_id = api_get_session_id();
  52. if($current_session_id==0){
  53. //Create shared folder. Necessary for courses recycled. Allways session_id should be zero. Allway should be created from a base course, never from a session.
  54. if (!file_exists($base_work_dir.'/shared_folder')) {
  55. $usf_dir_title = get_lang('SharedFolder');
  56. $usf_dir_name = '/shared_folder';
  57. $to_group_id = 0;
  58. $visibility = 0;
  59. 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);
  60. }
  61. // Create dynamic user shared folder
  62. if (!file_exists($base_work_dir.'/shared_folder/sf_user_'.api_get_user_id())) {
  63. $usf_dir_title = api_get_person_name($_user['firstName'], $_user['lastName']);
  64. $usf_dir_name = '/shared_folder/sf_user_'.api_get_user_id();
  65. $to_group_id = 0;
  66. $visibility = 1;
  67. 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);
  68. }
  69. }
  70. else{
  71. //Create shared folder session
  72. if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id)) {
  73. $usf_dir_title = get_lang('SharedFolder').' ('.api_get_session_name($current_session_id).')';
  74. $usf_dir_name = '/shared_folder_session_'.$current_session_id;
  75. $to_group_id = 0;
  76. $visibility = 0;
  77. 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);
  78. }
  79. //Create dynamic user shared folder into a shared folder session
  80. if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id())) {
  81. $usf_dir_title = api_get_person_name($_user['firstName'], $_user['lastName']).' ('.api_get_session_name($current_session_id).')';
  82. $usf_dir_name = '/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id();
  83. $to_group_id = 0;
  84. $visibility = 1;
  85. 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);
  86. }
  87. }
  88. }