event_type.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <?php
  2. // name of the language file that needs to be included
  3. $language_file = array('admin','events');
  4. $cidReset = true;
  5. require_once '../inc/global.inc.php';
  6. $this_section = SECTION_PLATFORM_ADMIN;
  7. api_protect_admin_script();
  8. $interbreadcrumb[] = array ('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
  9. $tool_name = get_lang('EventsTitle');
  10. $action = isset($_POST['action'])?$_POST['action']:null;
  11. $eventId = isset($_POST['eventId'])?$_POST['eventId']:null;
  12. $eventUsers = isset($_POST['eventUsers'])?$_POST['eventUsers']:null;
  13. $eventMessage = isset($_POST['eventMessage'])?$_POST['eventMessage']:null;
  14. $eventSubject = isset($_POST['eventSubject'])?$_POST['eventSubject']:null;
  15. if($action == 'modEventType') {
  16. if($eventUsers) {
  17. $users = explode(';',$eventUsers);
  18. }
  19. else {
  20. $users = array();
  21. }
  22. eventType_mod($eventId,$users,$eventMessage,$eventSubject);
  23. // echo mysql_error();
  24. header('location: event_type.php');
  25. exit;
  26. }
  27. $ets = eventType_getAll();
  28. $ajaxPath = api_get_path(WEB_CODE_PATH).'inc/ajax/events.ajax.php';
  29. $htmlHeadXtra[] = '<script src="../inc/lib/javascript/jquery.js" type="text/javascript" language="javascript"></script>';
  30. Display::display_header($tool_name);
  31. ?>
  32. <script language="javascript">
  33. var usersList;
  34. var eventTypes = <?php print json_encode($ets) ?>;
  35. $(document).ready(function(){
  36. ajax({action:"getUsers"},function(data) {
  37. usersList = data;
  38. }
  39. );
  40. // ajax({action:"getEventTypes"},function(data) {
  41. // eventTypes = data;
  42. // showEventTypes(data);
  43. // }
  44. // );
  45. });
  46. function ajax(params,func) {
  47. $.ajax({
  48. url: "<?php echo $ajaxPath ?>",
  49. type: "POST",
  50. data: params,
  51. success: func
  52. }
  53. );
  54. }
  55. function refreshUsersList() {
  56. removeAllOption($('#usersList'));
  57. $.each(usersList,function(ind,item) {
  58. addOption($('#usersList'),item.user_id,item.firstname + ' '+item.lastname);
  59. }
  60. );
  61. }
  62. // function showEventTypes(data) {
  63. // $.each(data,function(ind,item) {
  64. // addOption($('#eventList'),item.id,item.name);
  65. // }
  66. // );
  67. // }
  68. function getCurrentEventTypeInd() {
  69. var ind=false;
  70. $.each(eventTypes,function(i,item)
  71. {
  72. if(item.id == $('#eventList option:selected').first().attr('value')) {
  73. ind=i;
  74. return false;
  75. }
  76. }
  77. )
  78. return ind;
  79. }
  80. function showEventType() {
  81. eInd = getCurrentEventTypeInd();
  82. $('#eventId').attr('value',eventTypes[eInd].id);
  83. $('#eventName').attr('value',eventTypes[eInd].name);
  84. $('#eventNameTitle').text(eventTypes[eInd].nameLangVar);
  85. $('#eventMessage').text(eventTypes[eInd].message);
  86. $('#eventSubject').attr('value',eventTypes[eInd].subject);
  87. $('#descLangVar').text(eventTypes[eInd].descLangVar);
  88. ajax({action:"getEventTypeUsers","id":eventTypes[eInd].id},function(data) {
  89. removeAllOption($('#usersSubList'));
  90. refreshUsersList();
  91. usersIds = new Array();
  92. $.each(data,function(ind,item) {
  93. addOption($('#usersSubList'),item.user_id,item.firstname + ' '+item.lastname);
  94. usersIds[ind] = item.value;
  95. removeOption($('#usersList'),item.user_id);
  96. });
  97. $('#eventUsers').attr('value',usersIds.join(';'));
  98. }
  99. );
  100. }
  101. function submitForm() {
  102. if($('#eventId')) {
  103. usersIds = new Array();
  104. $('#usersSubList option').each(function(ind,item)
  105. {
  106. usersIds[ind] = item.value;
  107. }
  108. );
  109. $('#eventUsers').attr('value',usersIds.join(';'));
  110. return true;
  111. }
  112. return false;
  113. }
  114. function addOption(select,value,text) {
  115. select.append('<option value="'+value+'">'+text+'</option>');
  116. }
  117. function removeOption(select,value) {
  118. select.find('option[value='+value+']').remove();
  119. }
  120. function removeAllOption(select) {
  121. select.find('option').remove();
  122. }
  123. function moveUsers(src,dest) {
  124. src.find('option:selected').each(function(index,opt) {
  125. text = opt.text;
  126. val = opt.value;
  127. addOption(dest,val,text);
  128. removeOption(src,val);
  129. });
  130. }
  131. </script>
  132. <h3><?php print get_lang('EventsTitle') ?></h3>
  133. <table id="" width="90%">
  134. <tr>
  135. <td width="5%">
  136. <h4><?php print get_lang('EventsListTitle'); ?></h4>
  137. </td>
  138. <td width="5%">
  139. <h4><?php print get_lang('EventsUserListTile'); ?></h4>
  140. </td>
  141. <td width="5%">
  142. &nbsp;
  143. </td>
  144. <td width="5%">
  145. <h4><?php print get_lang('EventsUserSubListTile'); ?></h4>
  146. </td>
  147. </tr>
  148. <tr>
  149. <td>
  150. <select multiple="1" id="eventList" onChange="showEventType()">
  151. <?php
  152. foreach($ets as $et) {
  153. print '<option value="'.$et['id'].'">'.$et['nameLangVar'].'</option>';
  154. }
  155. ?>
  156. </select>
  157. </td>
  158. <td>
  159. <select multiple="1" id="usersList"></select>
  160. </td>
  161. <td valign="middle">
  162. <button class="arrowr" onclick='moveUsers($("#usersList"),$("#usersSubList")); return false;'></button>
  163. <br />
  164. <button class="arrowl" onclick='moveUsers($("#usersSubList"),$("#usersList")); return false;'></button>
  165. </td>
  166. <td>
  167. <select multiple="1" id="usersSubList"></select>
  168. </td>
  169. </tr>
  170. </table>
  171. <br />
  172. <h2 id="eventNameTitle"></h2>
  173. <form method="POST" onSubmit="return submitForm(); ">
  174. <input type="hidden" name="action" value="modEventType" />
  175. <input type="hidden" name="eventId" id="eventId" />
  176. <input type="hidden" name="eventUsers" id="eventUsers" />
  177. <input type="hidden" id="eventName" />
  178. <br />
  179. <div id="descLangVar">
  180. </div>
  181. <br />
  182. <label for="eventSubject"><h4><?php print get_lang('EventsLabelSubject'); ?></h4></label>
  183. <input type="text" id="eventSubject" name="eventSubject" />
  184. <br /><br />
  185. <label for="eventMessage"><h4><?php print get_lang('EventsLabelMessage'); ?></h4></label>
  186. <textarea cols="100" rows="10" name="eventMessage" id="eventMessage">
  187. </textarea>
  188. <br /><br />
  189. <input type="submit" value="<?php print get_lang('EventsButtonMod'); ?>" />
  190. </form>
  191. <?php
  192. Display :: display_footer();
  193. ?>