m_category.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. // $Id: m_category.php,v 1.2 2006/05/09 08:51:14 kvansteenkiste Exp $
  3. /*
  4. ==============================================================================
  5. Dokeos - elearning and course management software
  6. Copyright (c) 2004-2008 Dokeos SPRL
  7. Copyright (c) Sebastien Jacobs (www.spiritual-coder.com)
  8. Copyright (c) Kristof Van Steenkiste
  9. Copyright (c) Julio Montoya Armas
  10. For a full list of contributors, see "credits.txt".
  11. The full license can be read in "license.txt".
  12. This program is free software; you can redistribute it and/or
  13. modify it under the terms of the GNU General Public License
  14. as published by the Free Software Foundation; either version 2
  15. of the License, or (at your option) any later version.
  16. See the GNU General Public License for more details.
  17. Contact address: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium
  18. Mail: info@dokeos.com
  19. ==============================================================================
  20. */
  21. /**
  22. ---------------------------------------------------------------------
  23. Category-manager (add, edit & delete)
  24. ---------------------------------------------------------------------
  25. */
  26. require_once 'rsys.php';
  27. // TODO: The global initialization scripts loads once again here. To be checked.
  28. $language_file = 'admin';
  29. $cidReset = true;
  30. require '../inc/global.inc.php';
  31. //
  32. $this_section = SECTION_PLATFORM_ADMIN;
  33. api_protect_admin_script();
  34. Rsys :: protect_script('m_category');
  35. $tool_name = get_lang('BookingSystem');
  36. $interbreadcrumb[] = array ('url' => '../admin/index.php', 'name' => get_lang('PlatformAdmin'));
  37. /**
  38. ---------------------------------------------------------------------
  39. */
  40. /**
  41. * Filter to display the modify-buttons
  42. *
  43. * @param - int $id The ResourceType-id
  44. */
  45. function modify_filter($id) {
  46. return '<a href="m_category.php?action=edit&amp;id='.$id.'" title="'.get_lang("EditResourceType").'"><img alt="" src="../img/edit.gif" /></a>'.' <a href="m_category.php?action=delete&amp;id='.$id.'" title="'.get_lang("DeleteResourceType").'" onclick="javascript:if(!confirm('."'".addslashes(api_htmlentities(get_lang("ConfirmDeleteResourceType")))."'".')) return false;"><img alt="" src="../img/delete.gif" /></a>';
  47. }
  48. /**
  49. ---------------------------------------------------------------------
  50. */
  51. switch ($_GET['action']) {
  52. case 'add' :
  53. $interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
  54. Display :: display_header(get_lang('AddNewResourceType'));
  55. api_display_tool_title(get_lang('AddNewResourceType'));
  56. $form = new FormValidator('category', 'post', 'm_category.php?action=add');
  57. $form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
  58. $form->addElement('style_submit_button', 'submit', get_lang('CreateResourceType'),'class="add"');
  59. if ($form->validate()) {
  60. $values = $form->exportValues();
  61. if (Rsys :: add_category($values['name']))
  62. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeAdded'), "m_category.php", $tool_name),false);
  63. else
  64. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=add", get_lang('AddNewResourceType')),false);
  65. } else
  66. $form->display();
  67. break;
  68. case 'edit' :
  69. $interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
  70. Display :: display_header(get_lang('EditResourceType'));
  71. api_display_tool_title(get_lang('EditResourceType'));
  72. $form = new FormValidator('category', 'post', 'm_category.php?action=edit');
  73. $form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
  74. $form->addElement('hidden', 'id', $_GET['id']);
  75. $form->addElement('style_submit_button', 'submit', get_lang('ModifyResourceType'),'class="save"');
  76. $form->setDefaults(Rsys :: get_category($_GET['id']));
  77. if ($form->validate()) {
  78. $values = $form->exportValues();
  79. if (Rsys :: edit_category($values['id'], $values['name']))
  80. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeEdited'), "m_category.php", $tool_name),false);
  81. else
  82. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=edit&id=".$values['id'], get_lang('EditRight')),false);
  83. } else
  84. $form->display();
  85. break;
  86. case 'delete' :
  87. $result = Rsys :: delete_category($_GET['id']);
  88. ob_start();
  89. if ($result == 0)
  90. Display :: display_normal_message(get_lang('ResourceTypeDeleted'),false);
  91. else
  92. Display :: display_normal_message(str_replace('#NUM#', $result, get_lang('ResourceTypeHasItems')),false);
  93. $msg = ob_get_contents();
  94. ob_end_clean();
  95. default :
  96. $NoSearchResults = get_lang('NoCategories');
  97. Display :: display_header($tool_name);
  98. api_display_tool_title($tool_name);
  99. echo $msg;
  100. echo '<div class="actions">';
  101. echo '<a href="m_category.php?action=add"><img src="../img/view_more_stats.gif" border="0" alt="" title="'.get_lang('AddNewBookingPeriod').'"/>'.get_lang('AddNewResourceType').'</a><br />';
  102. echo '</div>';
  103. if (isset ($_POST['action'])) {
  104. switch ($_POST['action']) {
  105. case 'delete_categories' :
  106. $ids = $_POST['categories'];
  107. if (count($ids) > 0) {
  108. foreach ($ids as $index => $id) {
  109. $result = Rsys :: delete_category($id);
  110. if ($result != 0)
  111. $warning = true;
  112. }
  113. }
  114. if ($warning) {
  115. ob_start();
  116. Display :: display_normal_message(get_lang('ResourceTypeNotDeleted'),false);
  117. $msg2 = ob_get_contents();
  118. ob_end_clean();
  119. }
  120. break;
  121. }
  122. }
  123. echo $msg2;
  124. $table = new SortableTable('category', array ('Rsys', 'get_num_categories'), array ('Rsys', 'get_table_categories'), 1);
  125. $table->set_header(0, '', false, array ('style' => 'width:10px'));
  126. $table->set_header(1, '', false);
  127. $table->set_header(2, '', false, array ('style' => 'width:50px;'));
  128. $table->set_column_filter(2, 'modify_filter');
  129. $table->set_form_actions(array ('delete_categories' => get_lang('DeleteSelectedCategories')), 'categories');
  130. $table->display();
  131. }
  132. /**
  133. ---------------------------------------------------------------------
  134. */
  135. Display :: display_footer();
  136. ?>