request.class.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <?php
  2. namespace Glossary;
  3. use \ChamiloSession as Session;
  4. /**
  5. * Html request for course description.
  6. *
  7. * @author Laurent Opprecht <laurent@opprecht.info> for the Univesity of Genevas
  8. * @license /license.txt
  9. */
  10. class Request extends \Request
  11. {
  12. const PARAM_ID = 'id';
  13. const PARAM_IDS = 'ids';
  14. const PARAM_C_ID = 'c_id';
  15. const PARAM_SESSION_ID = 'id_session';
  16. const PARAM_ACTION = 'action';
  17. const PARAM_SEC_TOKEN = 'sec_token';
  18. const PARAM_IS_STUDENT_VIEW = 'isStudentView';
  19. const PARAM_SORT_COLUMN = 'sort_column';
  20. const PARAM_SORT_DIRECTION = 'sort_direction';
  21. const PARAM_PAGE = 'page';
  22. const PARAM_VIEW = 'view';
  23. /**
  24. * Action to perform. *
  25. * @return string
  26. */
  27. public static function get_action()
  28. {
  29. $result = Request::get(self::PARAM_ACTION, '');
  30. return $result;
  31. }
  32. /**
  33. * Returns the object id.
  34. *
  35. * @return int
  36. */
  37. public static function get_id()
  38. {
  39. $result = \Request::get(self::PARAM_ID, 0);
  40. $result = intval($result);
  41. return $result;
  42. }
  43. /**
  44. * List of objet ids
  45. *
  46. * @return array
  47. */
  48. public static function get_ids()
  49. {
  50. $result = Request::get(self::PARAM_IDS, array());
  51. if (is_array($result)) {
  52. return $result;
  53. }
  54. $result = trim($result);
  55. if (empty($result)) {
  56. return array();
  57. }
  58. $result = explode(',', $result);
  59. return $result;
  60. }
  61. /**
  62. * Returns the course id.
  63. *
  64. * @return int
  65. */
  66. public static function get_c_id()
  67. {
  68. $result = Request::get(self::PARAM_C_ID, 0);
  69. $result = intval($result);
  70. $result = $result ? $result : api_get_real_course_id();
  71. $result = $result ? $result : 0;
  72. return $result;
  73. }
  74. /**
  75. * Returns the session id.
  76. *
  77. * @return int
  78. */
  79. public static function get_session_id()
  80. {
  81. $result = Request::get(self::PARAM_SESSION_ID, 0);
  82. $result = intval($result);
  83. return $result;
  84. }
  85. /**
  86. * Returns the security token.
  87. *
  88. * @return string
  89. */
  90. public static function get_security_token()
  91. {
  92. $result = Request::get(self::PARAM_SEC_TOKEN, 0);
  93. return $result;
  94. }
  95. /**
  96. * Returns true if the user is in "student view". False otherwise.
  97. *
  98. * @return bool
  99. */
  100. public static function is_student_view()
  101. {
  102. return Request::get(self::PARAM_IS_STUDENT_VIEW, false) == 'true';
  103. }
  104. /**
  105. * Returns a course key parameters. I.e. not a real course but an
  106. * object with the course c_id and session set up.
  107. *
  108. * @return object
  109. */
  110. public static function get_course_key()
  111. {
  112. $result = (object) array();
  113. $result->c_id = Request::get_c_id();
  114. $result->session_id = Request::get_session_id();
  115. return $result;
  116. }
  117. /**
  118. * Returns an item key. I.e. not a real entity object but an
  119. * object with the object keys set up.
  120. *
  121. * @return object
  122. */
  123. public static function get_item_key()
  124. {
  125. $result = (object) array();
  126. $result->c_id = Request::get_c_id();
  127. $result->id = Request::get_id();
  128. return $result;
  129. }
  130. public static function get_sort_column()
  131. {
  132. $result = Request::get(self::PARAM_SORT_COLUMN, 'name');
  133. $result = ($result == 'description') ? 'description' : 'name';
  134. return $result;
  135. }
  136. public static function get_sort_direction(){
  137. $result = Request::get(self::PARAM_SORT_DIRECTION, 'name');
  138. $result = strtoupper($result);
  139. $result = ($result == 'DESC') ? 'DESC' : 'ASC';
  140. return $result;
  141. }
  142. public static function get_page(){
  143. $result = Request::get(self::PARAM_PAGE, 0);
  144. return (int)$result;
  145. }
  146. public static function get_view(){
  147. $result = Request::get(self::PARAM_VIEW);
  148. $result = $result ? $result : Session::read(self::PARAM_VIEW, 'list');
  149. $result = ($result == 'table') ? 'table' : 'list';
  150. return $result;
  151. }
  152. }