document_quota.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. $language_file = array('document');
  3. require_once '../inc/global.inc.php';
  4. require_once api_get_path(LIBRARY_PATH).'fileDisplay.lib.php';
  5. if (!api_is_allowed_to_edit(null, true)) {
  6. api_not_allowed(true);
  7. }
  8. $current_course_tool = TOOL_DOCUMENT;
  9. $this_section = SECTION_COURSES;
  10. $tool_name = get_lang('DocumentQuota');
  11. $interbreadcrumb[] = array('url' => 'document.php', 'name' => get_lang('Documents'));
  12. $htmlHeadXtra[] = api_get_js('jqplot/jquery.jqplot.min.js');
  13. $htmlHeadXtra[] = api_get_js('jqplot/plugins/jqplot.pieRenderer.min.js');
  14. $htmlHeadXtra[] = api_get_js('jqplot/plugins/jqplot.donutRenderer.min.js');
  15. $htmlHeadXtra[] = api_get_css(api_get_path(WEB_LIBRARY_PATH).'javascript/jqplot/jquery.jqplot.min.css');
  16. $course_code = api_get_course_id();
  17. $course_id = api_get_course_int_id();
  18. $session_id = api_get_session_id();
  19. $group_id = api_get_group_id();
  20. $session = array();
  21. $session_list = SessionManager::get_session_by_course($course_code);
  22. $total_quota_bytes = DocumentManager::get_course_quota();
  23. $quota_bytes = DocumentManager::documents_total_space($course_id, 0 , 0);
  24. $quota_percentage = round($quota_bytes/$total_quota_bytes, 2)*100;
  25. $session[] = array(get_lang('Course').' ('.format_file_size($quota_bytes).')', $quota_percentage);
  26. $used_quota_bytes = $quota_bytes;
  27. if (!empty($session_list)) {
  28. foreach ($session_list as $session_data) {
  29. $quota_percentage = 0;
  30. $quota_bytes = intval(DocumentManager::documents_total_space($course_id, null, $session_data['id']));
  31. if (!empty($quota_bytes)) {
  32. $quota_percentage = round($quota_bytes/$total_quota_bytes, 2)*100;
  33. }
  34. if ($session_id == $session_data['id']) {
  35. $session_data['name'] = $session_data['name'] . ' * ';
  36. }
  37. $used_quota_bytes += $quota_bytes;
  38. $session[] = array(addslashes(get_lang('Session').': '.$session_data['name']).' ('.format_file_size($quota_bytes).')', $quota_percentage);
  39. }
  40. }
  41. $group_list = GroupManager::get_groups();
  42. if (!empty($group_list)) {
  43. foreach ($group_list as $group_data) {
  44. $quota_percentage = 0;
  45. $my_group_id = $group_data['id'];
  46. $quota_bytes = intval(DocumentManager::documents_total_space($course_id, $my_group_id, 0));
  47. if (!empty($quota_bytes)) {
  48. $quota_percentage = round($quota_bytes/$total_quota_bytes, 2)*100;
  49. }
  50. if ($group_id == $my_group_id) {
  51. $group_data['name'] = $group_data['name'] . ' * ';
  52. }
  53. $used_quota_bytes += $quota_bytes;
  54. $session[] = array(addslashes(get_lang('Group').': '.$group_data['name']).' ('.format_file_size($quota_bytes).')', $quota_percentage);
  55. }
  56. }
  57. $quota_percentage = round(($total_quota_bytes - $used_quota_bytes)/$total_quota_bytes, 2)*100;
  58. $session[] = array(addslashes(get_lang('ShowCourseQuotaUse')).' ('.format_file_size($total_quota_bytes - $used_quota_bytes).') ', $quota_percentage);
  59. $quota_data = json_encode($session);
  60. $htmlHeadXtra[] = "
  61. <script>
  62. $(document).ready(function(){
  63. var data = ".$quota_data.";
  64. var plot1 = jQuery.jqplot ('chart1', [data], {
  65. seriesDefaults: {
  66. // Make this a pie chart
  67. renderer: jQuery.jqplot.PieRenderer,
  68. rendererOptions: {
  69. // Put data labels on the pie slices.
  70. // By default, labels show the percentage of the slice.
  71. showDataLabels: true
  72. }
  73. },
  74. legend: { show:true, location: 'e' }
  75. }
  76. );
  77. });
  78. </script>";
  79. $tpl = new Template($tool_name);
  80. $content = Display::page_subheader(get_lang('ShowCourseQuotaUse')).'<div id="chart1"></div>';
  81. $tpl->assign('actions', $actions);
  82. $tpl->assign('message', $message);
  83. $tpl->assign('content', $content);
  84. $tpl->display_one_col_template();