gradebook_add_cat.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. $language_file = 'gradebook';
  4. require_once '../inc/global.inc.php';
  5. $_in_course = true;
  6. $course_code = api_get_course_id();
  7. if ( empty ($course_code ) ) {
  8. $_in_course = false;
  9. }
  10. require_once 'lib/be.inc.php';
  11. require_once 'lib/gradebook_functions.inc.php';
  12. require_once 'lib/fe/catform.class.php';
  13. api_block_anonymous_users();
  14. block_students();
  15. $get_select_cat=Security::remove_XSS($_GET['selectcat']);
  16. $catadd = new Category();
  17. $my_user_id = api_get_user_id();
  18. $catadd->set_user_id($my_user_id);
  19. $catadd->set_parent_id(Database::escape_string($get_select_cat));
  20. $catcourse = Category :: load ($get_select_cat);
  21. if ($_in_course) {
  22. $catadd->set_course_code($course_code);
  23. } else {
  24. $catadd->set_course_code($catcourse[0]->get_course_code());
  25. }
  26. $form = new CatForm(CatForm :: TYPE_ADD, $catadd, 'add_cat_form', null, api_get_self() . '?selectcat='.$get_select_cat);
  27. if ($form->validate()) {
  28. $values = $form->exportValues();
  29. $select_course=isset($values['select_course']) ? $values['select_course'] : array();
  30. $cat = new Category();
  31. if ($values['hid_parent_id'] == '0') {
  32. if ($select_course == 'COURSEINDEPENDENT') {
  33. $cat->set_name($values['name']);
  34. $cat->set_course_code(null);
  35. } else {
  36. $cat->set_course_code($select_course);
  37. $cat->set_name($values['name']);
  38. }
  39. } else {
  40. $cat->set_name($values['name']);
  41. $cat->set_course_code($values['course_code']);//?
  42. }
  43. $cat->set_description($values['description']);
  44. $cat->set_user_id($values['hid_user_id']);
  45. $cat->set_parent_id($values['hid_parent_id']);
  46. $cat->set_weight($values['weight']);
  47. if (empty ($values['visible'])) {
  48. $visible = 0;
  49. } else {
  50. $visible = 1;
  51. }
  52. $cat->set_visible($visible);
  53. $cat->add();
  54. header('Location: '.Security::remove_XSS($_SESSION['gradebook_dest']).'?addcat=&selectcat=' . $cat->get_parent_id());
  55. exit;
  56. }
  57. if ( !$_in_course ) {
  58. $interbreadcrumb[] = array ('url' => Security::remove_XSS($_SESSION['gradebook_dest']).'?selectcat='.$get_select_cat,'name' => get_lang('Gradebook'));
  59. }
  60. Display :: display_header(get_lang('NewCategory'));
  61. $form->display();
  62. Display :: display_footer();