class-simple-job-board-meta-box-application-status.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php if (!defined('ABSPATH')) { exit; } // Exit if accessed directly
  2. /**
  3. * Simple_Job_Board_Meta_Box_Application_Status Class
  4. *
  5. * This meta box is designed for storing application's status.
  6. *
  7. * @link https://wordpress.org/plugins/simple-job-board
  8. * @since 2.5.0
  9. *
  10. * @package Simple_Job_Board
  11. * @subpackage Simple_Job_Board/admin/partials/meta-boxes
  12. * @author PressTigers <support@presstigers.com>
  13. */
  14. class Simple_Job_Board_Meta_Box_Application_Status {
  15. /**
  16. * Add job data meta box options.
  17. *
  18. * @since 2.5.0
  19. */
  20. public static function sjb_meta_box_output() {
  21. global $post;
  22. // Add a nonce field so we can check for it later.
  23. wp_nonce_field('sjb_jobpostapp_meta_box', 'jobpostapp_meta_box_nonce');
  24. $crt_status = get_post_meta( $post->ID, 'sjb_jobapp_status', TRUE) ? get_post_meta($post->ID, 'sjb_jobapp_status', TRUE) :
  25. apply_filters('sjb_default_status', 'not_any');
  26. // Application Statuses
  27. $app_statuses = apply_filters( 'job_application_statuses', array(
  28. 'not_any' => __('Not Any', 'simple-job-board'),
  29. 'new' => __('New', 'simple-job-board'),
  30. 'in-process' => __('In Process', 'simple-job-board'),
  31. 'shortlisted' => __('Shortlisted', 'simple-job-board'),
  32. 'rejected' => __('Rejected', 'simple-job-board'),
  33. 'selected' => __('Selected', 'simple-job-board'),
  34. ) );
  35. ?>
  36. <div class="job-application-metabox">
  37. <p><b><?php _e('Status', 'simple-job-board'); ?></b></p>
  38. <select name="sjb_jobapp_status" class="app-status">
  39. <?php
  40. foreach ($app_statuses as $key => $status) {
  41. if ($key == $crt_status) {
  42. $selected = 'selected=selected';
  43. } else {
  44. $selected = '';
  45. }
  46. echo '<option value="' . $key . '"' . $selected . '>' . $status . '</option>';
  47. }
  48. ?>
  49. </select>
  50. </div>
  51. <?php
  52. }
  53. /**
  54. * Save job application meta box.
  55. *
  56. * @since 2.5.0
  57. *
  58. * @param int $post_id Post id
  59. * @return void
  60. */
  61. public static function sjb_save_jobpost_applicants_meta($post_id) {
  62. $POST_data = filter_input_array(INPUT_POST);
  63. foreach ( $POST_data as $key => $value ) {
  64. if (strstr($key, 'sjb_jobapp_status')) {
  65. update_post_meta( $post_id, sanitize_key( $key ), $value );
  66. }
  67. }
  68. }
  69. }