/frontend/server/src/DAO/VO/Courses.php

https://github.com/omegaup/omegaup · PHP · 284 lines · 151 code · 21 blank · 112 comment · 21 complexity · a6cc0f468c6f4f088b4fcac0698d746e MD5 · raw file

  1. <?php
  2. /** ************************************************************************ *
  3. * !ATENCION! *
  4. * *
  5. * Este codigo es generado automáticamente. Si lo modificas, tus cambios *
  6. * serán reemplazados la proxima vez que se autogenere el código. *
  7. * *
  8. * ************************************************************************* */
  9. namespace OmegaUp\DAO\VO;
  10. /**
  11. * Value Object class for table `Courses`.
  12. *
  13. * @access public
  14. */
  15. class Courses extends \OmegaUp\DAO\VO\VO {
  16. const FIELD_NAMES = [
  17. 'course_id' => true,
  18. 'name' => true,
  19. 'description' => true,
  20. 'objective' => true,
  21. 'alias' => true,
  22. 'group_id' => true,
  23. 'acl_id' => true,
  24. 'level' => true,
  25. 'start_time' => true,
  26. 'finish_time' => true,
  27. 'admission_mode' => true,
  28. 'school_id' => true,
  29. 'needs_basic_information' => true,
  30. 'requests_user_information' => true,
  31. 'show_scoreboard' => true,
  32. 'languages' => true,
  33. 'archived' => true,
  34. 'minimum_progress_for_certificate' => true,
  35. ];
  36. public function __construct(?array $data = null) {
  37. if (empty($data)) {
  38. return;
  39. }
  40. $unknownColumns = array_diff_key($data, self::FIELD_NAMES);
  41. if (!empty($unknownColumns)) {
  42. throw new \Exception(
  43. 'Unknown columns: ' . join(', ', array_keys($unknownColumns))
  44. );
  45. }
  46. if (isset($data['course_id'])) {
  47. $this->course_id = intval(
  48. $data['course_id']
  49. );
  50. }
  51. if (isset($data['name'])) {
  52. $this->name = is_scalar(
  53. $data['name']
  54. ) ? strval($data['name']) : '';
  55. }
  56. if (isset($data['description'])) {
  57. $this->description = is_scalar(
  58. $data['description']
  59. ) ? strval($data['description']) : '';
  60. }
  61. if (isset($data['objective'])) {
  62. $this->objective = is_scalar(
  63. $data['objective']
  64. ) ? strval($data['objective']) : '';
  65. }
  66. if (isset($data['alias'])) {
  67. $this->alias = is_scalar(
  68. $data['alias']
  69. ) ? strval($data['alias']) : '';
  70. }
  71. if (isset($data['group_id'])) {
  72. $this->group_id = intval(
  73. $data['group_id']
  74. );
  75. }
  76. if (isset($data['acl_id'])) {
  77. $this->acl_id = intval(
  78. $data['acl_id']
  79. );
  80. }
  81. if (isset($data['level'])) {
  82. $this->level = is_scalar(
  83. $data['level']
  84. ) ? strval($data['level']) : '';
  85. }
  86. if (isset($data['start_time'])) {
  87. /**
  88. * @var \OmegaUp\Timestamp|string|int|float $data['start_time']
  89. * @var \OmegaUp\Timestamp $this->start_time
  90. */
  91. $this->start_time = (
  92. \OmegaUp\DAO\DAO::fromMySQLTimestamp(
  93. $data['start_time']
  94. )
  95. );
  96. } else {
  97. $this->start_time = new \OmegaUp\Timestamp(
  98. 946706400
  99. ); // 2000-01-01 06:00:00
  100. }
  101. if (isset($data['finish_time'])) {
  102. /**
  103. * @var \OmegaUp\Timestamp|string|int|float $data['finish_time']
  104. * @var \OmegaUp\Timestamp $this->finish_time
  105. */
  106. $this->finish_time = (
  107. \OmegaUp\DAO\DAO::fromMySQLTimestamp(
  108. $data['finish_time']
  109. )
  110. );
  111. }
  112. if (isset($data['admission_mode'])) {
  113. $this->admission_mode = is_scalar(
  114. $data['admission_mode']
  115. ) ? strval($data['admission_mode']) : '';
  116. }
  117. if (isset($data['school_id'])) {
  118. $this->school_id = intval(
  119. $data['school_id']
  120. );
  121. }
  122. if (isset($data['needs_basic_information'])) {
  123. $this->needs_basic_information = boolval(
  124. $data['needs_basic_information']
  125. );
  126. }
  127. if (isset($data['requests_user_information'])) {
  128. $this->requests_user_information = is_scalar(
  129. $data['requests_user_information']
  130. ) ? strval($data['requests_user_information']) : '';
  131. }
  132. if (isset($data['show_scoreboard'])) {
  133. $this->show_scoreboard = boolval(
  134. $data['show_scoreboard']
  135. );
  136. }
  137. if (isset($data['languages'])) {
  138. $this->languages = is_scalar(
  139. $data['languages']
  140. ) ? strval($data['languages']) : '';
  141. }
  142. if (isset($data['archived'])) {
  143. $this->archived = boolval(
  144. $data['archived']
  145. );
  146. }
  147. if (isset($data['minimum_progress_for_certificate'])) {
  148. $this->minimum_progress_for_certificate = intval(
  149. $data['minimum_progress_for_certificate']
  150. );
  151. }
  152. }
  153. /**
  154. * [Campo no documentado]
  155. * Llave Primaria
  156. * Auto Incremento
  157. *
  158. * @var int|null
  159. */
  160. public $course_id = 0;
  161. /**
  162. * [Campo no documentado]
  163. *
  164. * @var string|null
  165. */
  166. public $name = null;
  167. /**
  168. * [Campo no documentado]
  169. *
  170. * @var string|null
  171. */
  172. public $description = null;
  173. /**
  174. * [Campo no documentado]
  175. *
  176. * @var string|null
  177. */
  178. public $objective = null;
  179. /**
  180. * [Campo no documentado]
  181. *
  182. * @var string|null
  183. */
  184. public $alias = null;
  185. /**
  186. * [Campo no documentado]
  187. *
  188. * @var int|null
  189. */
  190. public $group_id = null;
  191. /**
  192. * [Campo no documentado]
  193. *
  194. * @var int|null
  195. */
  196. public $acl_id = null;
  197. /**
  198. * [Campo no documentado]
  199. *
  200. * @var string|null
  201. */
  202. public $level = null;
  203. /**
  204. * Hora de inicio de este curso
  205. *
  206. * @var \OmegaUp\Timestamp
  207. */
  208. public $start_time; // 2000-01-01 06:00:00
  209. /**
  210. * [Campo no documentado]
  211. *
  212. * @var \OmegaUp\Timestamp|null
  213. */
  214. public $finish_time = null;
  215. /**
  216. * Modalidad en la que se registra un curso.
  217. *
  218. * @var string
  219. */
  220. public $admission_mode = 'private';
  221. /**
  222. * [Campo no documentado]
  223. *
  224. * @var int|null
  225. */
  226. public $school_id = null;
  227. /**
  228. * Un campo opcional para indicar si es obligatorio que el usuario pueda ingresar a un curso sólo si ya llenó su información de perfil
  229. *
  230. * @var bool
  231. */
  232. public $needs_basic_information = false;
  233. /**
  234. * Se solicita información de los participantes para contactarlos posteriormente.
  235. *
  236. * @var string
  237. */
  238. public $requests_user_information = 'no';
  239. /**
  240. * Los estudiantes pueden visualizar el scoreboard de un curso.
  241. *
  242. * @var bool
  243. */
  244. public $show_scoreboard = false;
  245. /**
  246. * Un filtro (opcional) de qué lenguajes se pueden usar en un curso
  247. *
  248. * @var string|null
  249. */
  250. public $languages = null;
  251. /**
  252. * Indica si el curso ha sido archivado por el administrador.
  253. *
  254. * @var bool
  255. */
  256. public $archived = false;
  257. /**
  258. * Progreso mínimo que debe cumplir el estudiante para que se le otorgue el diploma del curso. NULL indica que el curso no da diplomas.
  259. *
  260. * @var int|null
  261. */
  262. public $minimum_progress_for_certificate = null;
  263. }