repository.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. $permissions_for_new_directories = api_get_permissions_for_new_directories();
  21. $permissions_for_new_files = api_get_permissions_for_new_files();
  22. if (!empty($_course['path'])) {
  23. // Get the Chamilo session properties. Before ajaximagemanager!!!
  24. $to_group_id = api_get_group_id();
  25. $group_properties = GroupManager::get_group_properties($to_group_id);
  26. $is_user_in_group = GroupManager::is_user_in_group($_user['user_id'], $to_group_id);
  27. }
  28. $my_path = UserManager::get_user_picture_path_by_id(api_get_user_id(), 'system');
  29. $user_folder = $my_path['dir'].'my_files/';
  30. // Sanity checks for Chamilo.
  31. // Creation of a user owned folder if it does not exist.
  32. if (!file_exists($user_folder)) {
  33. // A recursive call of mkdir function.
  34. @mkdir($user_folder, $permissions_for_new_directories, true);
  35. }
  36. // Create course shared folders
  37. if (api_is_in_course()) {
  38. $course_dir = $_course['path'].'/document';
  39. $sys_course_path = api_get_path(SYS_COURSE_PATH);
  40. $base_work_dir = $sys_course_path.$course_dir;
  41. $current_session_id = api_get_session_id();
  42. $userinfo = api_get_user_info(api_get_user_id());
  43. if ($current_session_id == 0) {
  44. //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.
  45. if (!file_exists($base_work_dir.'/shared_folder')) {
  46. $usf_dir_title = get_lang('SharedFolder');
  47. $usf_dir_name = '/shared_folder';
  48. $to_group_id = 0;
  49. $visibility = 0;
  50. FileManager::create_unexisting_directory(
  51. $_course,
  52. $_user['user_id'],
  53. api_get_session_id(),
  54. $to_group_id,
  55. $to_user_id,
  56. $base_work_dir,
  57. $usf_dir_name,
  58. $usf_dir_title,
  59. $visibility
  60. );
  61. }
  62. // Create dynamic user shared folder
  63. if (!file_exists($base_work_dir.'/shared_folder/sf_user_'.api_get_user_id())) {
  64. $usf_dir_title = api_get_person_name($_user['firstName'], $_user['lastName']);
  65. $usf_dir_name = '/shared_folder/sf_user_'.api_get_user_id();
  66. $to_group_id = 0;
  67. $visibility = 1;
  68. FileManager::create_unexisting_directory(
  69. $_course,
  70. $_user['user_id'],
  71. api_get_session_id(),
  72. $to_group_id,
  73. $to_user_id,
  74. $base_work_dir,
  75. $usf_dir_name,
  76. $usf_dir_title,
  77. $visibility
  78. );
  79. }
  80. } else {
  81. //Create shared folder session
  82. if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id)) {
  83. $usf_dir_title = get_lang('SharedFolder').' ('.api_get_session_name($current_session_id).')';
  84. $usf_dir_name = '/shared_folder_session_'.$current_session_id;
  85. $to_group_id = 0;
  86. $visibility = 0;
  87. FileManager::create_unexisting_directory(
  88. $_course,
  89. $_user['user_id'],
  90. api_get_session_id(),
  91. $to_group_id,
  92. $to_user_id,
  93. $base_work_dir,
  94. $usf_dir_name,
  95. $usf_dir_title,
  96. $visibility
  97. );
  98. }
  99. //Create dynamic user shared folder into a shared folder session
  100. if (!file_exists($base_work_dir.'/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id())) {
  101. $usf_dir_title = api_get_person_name($_user['firstName'], $_user['lastName']).'('.api_get_session_name(
  102. $current_session_id
  103. ).')';
  104. $usf_dir_name = '/shared_folder_session_'.$current_session_id.'/sf_user_'.api_get_user_id();
  105. $to_group_id = 0;
  106. $visibility = 1;
  107. FileManager::create_unexisting_directory(
  108. $_course,
  109. $_user['user_id'],
  110. api_get_session_id(),
  111. $to_group_id,
  112. $to_user_id,
  113. $base_work_dir,
  114. $usf_dir_name,
  115. $usf_dir_title,
  116. $visibility
  117. );
  118. }
  119. }
  120. }