PageRenderTime 46ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/wp-content/plugins/ajax-event-calendar/inc/admin-event.php

https://bitbucket.org/nathancorbier/wastark.com
PHP | 300 lines | 289 code | 5 blank | 6 comment | 29 complexity | 1a536f88069745fac52f19b81a3886b5 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. $aec_options = get_option('aec_options');
  3. if (isset($_POST['event'])) {
  4. // edit existing event
  5. if (isset($_POST['event']['id'])) {
  6. // populate form with content from database
  7. $event = $this->db_query_event($_POST['event']['id']);
  8. $event->title = $this->render_i18n_data($event->title);
  9. $event->description = $this->render_i18n_data($event->description);
  10. $event->link = $this->render_i18n_data($event->link);
  11. $event->venue = $this->render_i18n_data($event->venue);
  12. $event->address = $this->render_i18n_data($event->address);
  13. $event->city = $this->render_i18n_data($event->city);
  14. $event->state = $this->render_i18n_data($event->state);
  15. $event->zip = $this->render_i18n_data($event->zip);
  16. $event->country = $this->render_i18n_data($event->country);
  17. $event->contact = $this->render_i18n_data($event->contact);
  18. $event->contact_info = $this->render_i18n_data($event->contact_info);
  19. // add new event
  20. }else{
  21. global $current_user;
  22. // initialize form for new event
  23. get_currentuserinfo(); // wp data
  24. $event->id = '';
  25. $event->user_id = $current_user->ID;
  26. $event->title = '';
  27. $event->start = $_POST['event']['start'];
  28. $event->end = $_POST['event']['end'];
  29. $event->allDay = $_POST['event']['allDay'];
  30. $event->repeat_freq = 0;
  31. $event->repeat_int = 0;
  32. $event->repeat_end = $_POST['event']['end'];
  33. $event->category_id = 1;
  34. $event->description = '';
  35. $event->link = '';
  36. $event->venue = '';
  37. $event->address = '';
  38. $event->city = '';
  39. $event->state = '';
  40. $event->zip = '';
  41. $event->country = '';
  42. $event->contact = '';
  43. $event->contact_info = '';
  44. $event->access = 0;
  45. $event->rsvp = 0;
  46. }
  47. // split database formatted datetime value into display formatted date and time values
  48. list($event->start_date, $event->start_time) = $this->split_datetime($event->start);
  49. list($event->end_date, $event->end_time) = $this->split_datetime($event->end);
  50. $event->repeat_end = $this->convert_date($event->repeat_end, AEC_DB_DATETIME_FORMAT, $this->get_wp_date_format());
  51. }
  52. // populate checkboxes
  53. $allday_checked = ($event->allDay) ? 'checked="checked" ' : '';
  54. $accessible_checked = ($event->access) ? 'checked="checked" ' : '';
  55. $rsvp_checked = ($event->rsvp) ? 'checked="checked" ' : '';
  56. ?>
  57. <!doctype html>
  58. <html>
  59. <head>
  60. <meta charset="utf-8">
  61. <title>Event Form</title>
  62. </head>
  63. <body>
  64. <form method="post" action="<?php echo __FILE__; ?>" id="event-form" class="aec-form">
  65. <input type="hidden" name="id" id="id" value="<?php echo $event->id; ?>">
  66. <input type="hidden" name="user_id" id="user_id" value="<?php echo $event->user_id; ?>">
  67. <input type="hidden" name="allDay" value="0">
  68. <input type="hidden" name="venue" value="">
  69. <input type="hidden" name="address" value="">
  70. <input type="hidden" name="city" value="">
  71. <input type="hidden" name="state" value="">
  72. <input type="hidden" name="zip" value="">
  73. <input type="hidden" name="country" value="">
  74. <input type="hidden" name="link" value="">
  75. <input type="hidden" name="description" value="">
  76. <input type="hidden" name="contact" value="">
  77. <input type="hidden" name="contact_info" value="">
  78. <input type="hidden" name="repeat_freq" value="0">
  79. <input type="hidden" name="repeat_int" value="0">
  80. <input type="hidden" name="repeat_end" value="">
  81. <input type="hidden" name="access" value="0">
  82. <input type="hidden" name="rsvp" value="0">
  83. <ul>
  84. <li>
  85. <label for="allDay">
  86. <?php _e('Duration', AEC_NAME); ?>
  87. <span>
  88. <input class="auto" type="checkbox" name="allDay" id="allDay" value="1" <?php echo $allday_checked ?>>
  89. <label class="box"><?php _e('All Day', AEC_NAME); ?></label>
  90. </span>
  91. </label>
  92. <ul class="hvv">
  93. <li>
  94. <label for="start_date"><?php _e('From', AEC_NAME); ?></label>
  95. <input class="auto picker" type="text" name="start_date" id="start_date" size="11" readonly="readonly" value="<?php echo $event->start_date; ?>">
  96. </li>
  97. <li>
  98. <label>&nbsp;</label>
  99. <input class="auto picker cb" type="text" name="start_time" id="start_time" size="8" readonly="readonly" value="<?php echo strtoupper($event->start_time); ?>">
  100. </li>
  101. <li>
  102. <label for="end_date"><?php _e('To', AEC_NAME); ?></label>
  103. <input class="auto picker" type="text" name="end_date" id="end_date" size="11" readonly="readonly" value="<?php echo $event->end_date; ?>">
  104. </li>
  105. <li>
  106. <label>&nbsp;</label>
  107. <input class="auto picker cb" type="text" name="end_time" id="end_time" size="8" readonly="readonly" value="<?php echo strtoupper($event->end_time); ?>">
  108. </li>
  109. </ul>
  110. </li>
  111. <li>
  112. <label>&nbsp;</label>
  113. <span class="duration"></span>
  114. </li>
  115. <li><label><?php _e('Repeats', AEC_NAME); ?></label>
  116. <ul class="hhh">
  117. <li>
  118. <select class="select auto" name="repeat_freq" id="repeat_freq">
  119. <?php
  120. $every = __('Every', AEC_NAME);
  121. $repeat_options = array(__('Never', AEC_NAME), $every);
  122. $frequency = 2;
  123. while ($frequency < 31) {
  124. array_push($repeat_options, "{$every} $frequency");
  125. $frequency++;
  126. }
  127. foreach ($repeat_options as $option => $value) {
  128. $selected = ($event->repeat_freq == $option) ? ' selected="selected"' : '';
  129. echo "<option value='{$option}'{$selected}>{$value}</option>\n";
  130. }
  131. ?>
  132. </select>
  133. </li>
  134. <li>
  135. <select class="select auto" name="repeat_int" id="repeat_int">
  136. <?php
  137. $repeat_options = array(__('Day(s)', AEC_NAME),
  138. __('Week(s)', AEC_NAME),
  139. __('Month(s)', AEC_NAME),
  140. __('Year(s)', AEC_NAME));
  141. foreach ($repeat_options as $option => $value) {
  142. $selected = ($event->repeat_int == $option) ? ' selected="selected"' : '';
  143. echo "<option value='{$option}'{$selected}>{$value}</option>\n";
  144. }
  145. ?>
  146. </select>
  147. </li>
  148. <li><label for="repeat_end" id="repeat_label" class="auto"><?php _e('Until this date', AEC_NAME); ?></label>
  149. <input class="auto picker" type="text" name="repeat_end" id="repeat_end" size="11" readonly="readonly" value="<?php echo $event->repeat_end; ?>">
  150. </li>
  151. </ul>
  152. </li>
  153. <li>
  154. <label for="title"><?php _e('Title', AEC_NAME); ?></label>
  155. <input type="text" name="title" id="title" class="wide" value="<?php echo $event->title; ?>">
  156. </li>
  157. <li>
  158. <label for="category_id"><?php _e('Category', AEC_NAME); ?></label>
  159. <select class="wide" name="category_id" id="category_id" >
  160. <?php
  161. $categories = $this->db_query_categories();
  162. foreach ($categories as $category) {
  163. $category_selected = ($category->id == $event->category_id) ? ' selected="selected"' : '';
  164. echo '<option value="' . $category->id . '"'. $category_selected . '>' . $this->render_i18n_data($category->category) . '</option>';
  165. }
  166. ?>
  167. </select>
  168. </li>
  169. <?php if ($aec_options['venue'] > 0) { ?>
  170. <li>
  171. <label for="venue"><?php _e('Venue', AEC_NAME); ?></label>
  172. <input class="wide" type="text" name="venue" id="venue" value="<?php echo $event->venue; ?>">
  173. </li>
  174. <?php
  175. }
  176. if ($aec_options['address'] > 0 || $aec_options['city'] > 0 || $aec_options['state'] > 0 || $aec_options['zip'] > 0) { ?>
  177. <li>
  178. <label><?php _e('Address', AEC_NAME); ?></label>
  179. <ul class="hvv">
  180. <?php if ($aec_options['address'] > 0) { ?>
  181. <li>
  182. <label for="address"><?php _e('Neighborhood or Street Address', AEC_NAME); ?></label>
  183. <input class="wide" type="text" name="address" id="address" value="<?php echo $event->address; ?>">
  184. </li>
  185. <?php
  186. }
  187. if ($aec_options['city'] > 0) { ?>
  188. <li>
  189. <label for="city"><?php _e('City', AEC_NAME); ?></label>
  190. <input class="auto" type="text" name="city" id="city" size="20" value="<?php echo $event->city; ?>">
  191. </li>
  192. <?php
  193. }
  194. if ($aec_options['state'] > 0) { ?>
  195. <li>
  196. <label for="state"><?php _e('State/Province', AEC_NAME); ?></label>
  197. <input class="auto" type="text" name="state" id="state" size="10" maxlength="50" value="<?php echo $event->state; ?>">
  198. </li>
  199. <?php
  200. }
  201. if ($aec_options['zip'] > 0) { ?>
  202. <li>
  203. <label for="zip"><?php _e('Postal Code', AEC_NAME); ?></label>
  204. <input class="auto" type="text" name="zip" id="zip" size="10" maxlength="10" value="<?php echo $event->zip; ?>">
  205. </li>
  206. <?php
  207. }
  208. if ($aec_options['country'] > 0) { ?>
  209. <li>
  210. <label for="country"><?php _e('Country', AEC_NAME); ?></label>
  211. <input class="auto" type="text" name="country" id="country" size="10" maxlength="50" value="<?php echo $event->country; ?>">
  212. </li>
  213. <?php } ?>
  214. </ul>
  215. </li>
  216. <?php
  217. }
  218. if ($aec_options['link'] > 0) { ?>
  219. <li>
  220. <label for="link"><?php _e('Website Link', AEC_NAME); ?></label>
  221. <input type="text" name="link" id="link" class="wide" value="<?php echo $event->link; ?>">
  222. </li>
  223. <?php
  224. }
  225. if ($aec_options['description'] > 0) { ?>
  226. <li>
  227. <label for="description"><?php _e('Description', AEC_NAME); ?></label>
  228. <textarea class="wide" name="description" id="description"><?php echo $event->description; ?></textarea>
  229. </li>
  230. <?php
  231. }
  232. if ($aec_options['contact'] > 0 || $aec_options['contact_info']) { ?>
  233. <li>
  234. <label><?php _e('Contact Person', AEC_NAME); ?></label>
  235. <ul class="hvv">
  236. <?php if ($aec_options['contact'] > 0) { ?>
  237. <li>
  238. <label for="contact"><?php _e('Name', AEC_NAME); ?></label>
  239. <input class="semi" type="text" name="contact" id="contact" value="<?php echo $event->contact; ?>">
  240. </li>
  241. <?php
  242. }
  243. if ($aec_options['contact_info'] > 0) { ?>
  244. <li>
  245. <label for="contact_info"><?php _e('Phone or Email Address', AEC_NAME); ?></label>
  246. <input class="semi" type="text" name="contact_info" id="contact_info" value="<?php echo $event->contact_info; ?>">
  247. </li>
  248. <?php } ?>
  249. </ul>
  250. </li>
  251. <?php
  252. }
  253. if ($aec_options['accessible']) { ?>
  254. <li>
  255. <label></label>
  256. <input type="checkbox" value="1" name="access" id="access" <?php echo $accessible_checked; ?>/>
  257. <label for="access" class="box"><?php _e('This event is accessible to people with disabilities.', AEC_NAME); ?></label>
  258. </li>
  259. <?php
  260. }
  261. if ($aec_options['rsvp']) { ?>
  262. <li>
  263. <label></label>
  264. <input type="checkbox" value="1" name="rsvp" id="rsvp" <?php echo $rsvp_checked; ?>/>
  265. <label for="rsvp" class="box"><?php _e('Please register with the contact person for this event.', AEC_NAME); ?></label>
  266. </li>
  267. <?php } ?>
  268. <li class="buttons">
  269. <input type="button" name="cancel_event" value="<?php _e('Cancel', AEC_NAME); ?>" class="button-secondary" id="cancel_event">
  270. <?php if ($event->id) { ?>
  271. <span class="fl"><input type="button" name="delete_event" value="<?php _e('Delete', AEC_NAME); ?>" class="button" id="delete_event"></span>
  272. <input type="button" name="copy_event" value="<?php _e('Copy', AEC_NAME); ?>" class="button" id="copy_event">
  273. <input type="button" name="update_event" value="<?php _e('Update', AEC_NAME); ?>" class="button-primary" id="update_event">
  274. <?php } else { ?>
  275. <input type="button" name="add_event" value="<?php _e('Add', AEC_NAME); ?>" class="button-primary" id="add_event">
  276. <?php } ?>
  277. </li>
  278. <?php
  279. if ($event->id) {
  280. $is_admin = (current_user_can('aec_manage_calendar') == true) ? 1 : 0;
  281. if ($is_admin) {
  282. $first_name = get_user_meta($event->user_id, 'first_name', true);
  283. $last_name = get_user_meta($event->user_id, 'last_name', true);
  284. $organization = (isset($organization)) ? ' (' . get_user_meta($event->user_id, 'organization', true) . ')' : '';
  285. $out = '<li><span>' . __('Created by', AEC_NAME) . ': ';
  286. $author = ($event->user_id > 0) ? "{$first_name} {$last_name} {$organization}" : __('Ajax Event Calendar', AEC_NAME);
  287. $out .= '<strong>' . $author . '</strong></span></li>';
  288. echo $out;
  289. }
  290. }
  291. ?>
  292. </ul>
  293. </form>
  294. </body>
  295. </html>