m_category.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. $language_file = 'admin';
  28. $cidReset = true;
  29. require ('../inc/global.inc.php');
  30. $this_section = SECTION_PLATFORM_ADMIN;
  31. api_protect_admin_script();
  32. Rsys :: protect_script('m_category');
  33. $tool_name = get_lang('BookingSystem');
  34. $interbreadcrumb[] = array ("url" => "../admin/index.php", "name" => get_lang('PlatformAdmin'));
  35. /**
  36. ---------------------------------------------------------------------
  37. */
  38. /**
  39. * Filter to display the modify-buttons
  40. *
  41. * @param - int $id The ResourceType-id
  42. */
  43. function modify_filter($id) {
  44. 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>';
  45. }
  46. /**
  47. ---------------------------------------------------------------------
  48. */
  49. switch ($_GET['action']) {
  50. case 'add' :
  51. $interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
  52. Display :: display_header(get_lang('AddNewResourceType'));
  53. api_display_tool_title(get_lang('AddNewResourceType'));
  54. $form = new FormValidator('category', 'post', 'm_category.php?action=add');
  55. $form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
  56. $form->addElement('style_submit_button', 'submit', get_lang('CreateResourceType'),'class="add"');
  57. if ($form->validate()) {
  58. $values = $form->exportValues();
  59. if (Rsys :: add_category($values['name']))
  60. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeAdded'), "m_category.php", $tool_name),false);
  61. else
  62. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=add", get_lang('AddNewResourceType')),false);
  63. } else
  64. $form->display();
  65. break;
  66. case 'edit' :
  67. $interbreadcrumb[] = array ("url" => "m_category.php", "name" => $tool_name);
  68. Display :: display_header(get_lang('EditResourceType'));
  69. api_display_tool_title(get_lang('EditResourceType'));
  70. $form = new FormValidator('category', 'post', 'm_category.php?action=edit');
  71. $form->add_textfield('name', get_lang('ResourceTypeName'), true, array ('maxlength' => '128'));
  72. $form->addElement('hidden', 'id', $_GET['id']);
  73. $form->addElement('style_submit_button', 'submit', get_lang('ModifyResourceType'),'class="save"');
  74. $form->setDefaults(Rsys :: get_category($_GET['id']));
  75. if ($form->validate()) {
  76. $values = $form->exportValues();
  77. if (Rsys :: edit_category($values['id'], $values['name']))
  78. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeEdited'), "m_category.php", $tool_name),false);
  79. else
  80. Display :: display_normal_message(Rsys :: get_return_msg(get_lang('ResourceTypeExist'), "m_category.php?action=edit&id=".$values['id'], get_lang('EditRight')),false);
  81. } else
  82. $form->display();
  83. break;
  84. case 'delete' :
  85. $result = Rsys :: delete_category($_GET['id']);
  86. ob_start();
  87. if ($result == 0)
  88. Display :: display_normal_message(get_lang('ResourceTypeDeleted'),false);
  89. else
  90. Display :: display_normal_message(str_replace('#NUM#', $result, get_lang('ResourceTypeHasItems')),false);
  91. $msg = ob_get_contents();
  92. ob_end_clean();
  93. default :
  94. $NoSearchResults = get_lang('NoCategories');
  95. Display :: display_header($tool_name);
  96. api_display_tool_title($tool_name);
  97. echo $msg;
  98. echo '<div class="actions">';
  99. 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 />';
  100. echo '</div>';
  101. if (isset ($_POST['action'])) {
  102. switch ($_POST['action']) {
  103. case 'delete_categories' :
  104. $ids = $_POST['categories'];
  105. if (count($ids) > 0) {
  106. foreach ($ids as $index => $id) {
  107. $result = Rsys :: delete_category($id);
  108. if ($result != 0)
  109. $warning = true;
  110. }
  111. }
  112. if ($warning) {
  113. ob_start();
  114. Display :: display_normal_message(get_lang('ResourceTypeNotDeleted'),false);
  115. $msg2 = ob_get_contents();
  116. ob_end_clean();
  117. }
  118. break;
  119. }
  120. }
  121. echo $msg2;
  122. $table = new SortableTable('category', array ('Rsys', 'get_num_categories'), array ('Rsys', 'get_table_categories'), 1);
  123. $table->set_header(0, '', false, array ('style' => 'width:10px'));
  124. $table->set_header(1, '', false);
  125. $table->set_header(2, '', false, array ('style' => 'width:50px;'));
  126. $table->set_column_filter(2, 'modify_filter');
  127. $table->set_form_actions(array ('delete_categories' => get_lang('DeleteSelectedCategories')), 'categories');
  128. $table->display();
  129. }
  130. /**
  131. ---------------------------------------------------------------------
  132. */
  133. Display :: display_footer();
  134. ?>