repository.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. $user_folder = api_get_path(SYS_PATH).'main/upload/users/'.api_get_user_id().'/my_files/';
  32. // Sanity checks for Chamilo.
  33. // Creation of a user owned folder if it does not exist.
  34. if (!file_exists($user_folder)) {
  35. // A recursive call of mkdir function.
  36. @mkdir($user_folder, $permissions_for_new_directories, true);
  37. }
  38. // Creation of repository used by paltform administrators if it does not exist.
  39. if (api_is_platform_admin()) {
  40. $homepage_folder = api_get_path(SYS_PATH).'home/default_platform_document/';
  41. if (!file_exists($homepage_folder)) {
  42. @mkdir($homepage_folder, $permissions_for_new_directories);
  43. }
  44. }
  45. $current_session_id = api_get_session_id();
  46. // Creation in the course document repository of a shared folder if it does not exist.
  47. if (api_is_in_course()) {
  48. $course_shared_folder = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/';
  49. if (!file_exists($course_shared_folder)) {
  50. @mkdir($course_shared_folder, $permissions_for_new_directories);
  51. $doc_id = add_document($_course, '/shared_folder', 'folder', 0, 'shared_folder');
  52. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id(),null,null,null,null,$current_session_id);
  53. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(),null,null,null,null,$current_session_id);
  54. }
  55. // Added by Ivan Tcholakov.
  56. // When the current user is inside a course, his/her own hidden folder is created (if it does not exist) under shared_folder.
  57. if (!file_exists($course_shared_folder.'sf_user_'.api_get_user_id())) {
  58. //@todo call the create_unexisting_directory function and replace this code Julio Montoya
  59. $new_user_dir = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/sf_user_'.api_get_user_id().'/';
  60. @mkdir($new_user_dir, $permissions_for_new_directories);
  61. $doc_id = add_document($_course, '/shared_folder/sf_user_'.api_get_user_id(), 'folder', 0, api_get_person_name($_user['firstName'], $_user['lastName']));
  62. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id(),null,null,null,null,$current_session_id);
  63. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id(),null,null,null,null,$current_session_id);
  64. }
  65. }