repository.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /**
  3. * Aditional system config settings for document repositories, the Dokeos LMS
  4. * @author Juan Carlos Raña
  5. * @since 31/December/2008
  6. */
  7. require_once api_get_path(LIBRARY_PATH).'/fileUpload.lib.php';
  8. $permissions_for_new_directories = api_get_setting('permissions_for_new_directories');
  9. $permissions_for_new_directories = octdec(!empty($permissions_for_new_directories) ? $permissions_for_new_directories : octdec(0777));
  10. $permissions_for_new_files = api_get_setting('permissions_for_new_files');
  11. $permissions_for_new_files = octdec(!empty($permissions_for_new_files) ? $permissions_for_new_files : octdec(0777));
  12. if (!empty($_course['path'])) {
  13. require_once api_get_path(LIBRARY_PATH).'/document.lib.php';
  14. require_once api_get_path(LIBRARY_PATH).'/groupmanager.lib.php';
  15. // Get the Dokeos session properties. Before ajaximagemanager!!!
  16. $to_group_id = !empty($_SESSION['_gid']) ? $_SESSION['_gid'] : 0 ;
  17. $group_properties = GroupManager::get_group_properties($_SESSION['_gid']);
  18. $is_user_in_group = GroupManager::is_user_in_group($_user['user_id'],$_SESSION['_gid']);
  19. }
  20. $user_folder = api_get_path(SYS_PATH).'main/upload/users/'.api_get_user_id().'/my_files/';
  21. // Sanity checks for Dokeos.
  22. // Creation of a user owned folder if it does not exist.
  23. if (!file_exists($user_folder)) {
  24. // A recursive call of mkdir function.
  25. @mkdir($user_folder, 0777, true);
  26. chmod($user_folder, $permissions_for_new_directories);
  27. }
  28. // Creation of repository used by paltform administrators if it does not exist.
  29. if (api_is_platform_admin()) {
  30. $homepage_folder = api_get_path(SYS_PATH).'home/default_platform_document/';
  31. if (!file_exists($homepage_folder)) {
  32. @mkdir($homepage_folder);
  33. chmod($homepage_folder, $permissions_for_new_directories);
  34. }
  35. }
  36. // Creation in the course document repository of a shared folder if it does not exist.
  37. if (api_is_in_course()) {
  38. $course_shared_folder = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/';
  39. if (!file_exists($course_shared_folder)) {
  40. @mkdir($course_shared_folder);
  41. chmod($course_shared_folder, $permissions_for_new_directories);
  42. $doc_id = add_document($_course, '/shared_folder', 'folder', 0, 'shared_folder');
  43. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id());
  44. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id());
  45. }
  46. // Added by Ivan Tcholakov.
  47. // When the current user is inside a course, his/her own hidden folder is created (if it does not exist) under shared_folder.
  48. if (!file_exists($course_shared_folder.'sf_user_'.api_get_user_id())) {
  49. //@todo call the create_unexisting_directory function and replace this code Julio Montoya
  50. $new_user_dir = api_get_path(SYS_PATH).'courses/'.$_course['path'].'/document/shared_folder/sf_user_'.api_get_user_id().'/';
  51. @mkdir($new_user_dir);
  52. chmod($new_user_dir,$permissions_for_new_directories);
  53. $doc_id = add_document($_course, '/shared_folder/sf_user_'.api_get_user_id(), 'folder', 0, api_get_person_name($_user['firstName'], $_user['lastName']));
  54. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'FolderCreated', api_get_user_id());
  55. api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', api_get_user_id());
  56. }
  57. }
  58. ?>