Beispiel #1
0
 function display($tmpl = null, $separator = false)
 {
     global $_js_helper;
     switch ($this->snap_task) {
         case 'save':
             $jobssnap_data = $_POST;
             $jobssnap_id = JS_Helper::get_input('id');
             $author = $jobssnap_data['author'];
             $title = $jobssnap_data['title'];
             $snap_tag = $jobssnap_data['snap_tag'];
             $content = $jobssnap_data['description'];
             unset($jobssnap_data['author']);
             unset($jobssnap_data['title']);
             unset($jobssnap_data['snap_tag']);
             unset($jobssnap_data['description']);
             unset($jobssnap_data['terms']);
             $args = array('ID' => $jobssnap_id, 'post_title' => $title, 'post_content' => $content, 'author' => $author, 'tax_input' => array('snap_tag' => $snap_tag));
             wp_update_post($args);
             foreach ($jobssnap_data as $meta_key => $meta_value) {
                 if ($meta_key == 'date') {
                     $meta_value = date('n/j/Y', strtotime($meta_value));
                 }
                 update_post_meta($jobssnap_id, $meta_key, $meta_value);
             }
             $hours_diff = JS_Helper::calc_total_hours($jobssnap_data['time_from'], $jobssnap_data['time_to']);
             update_post_meta($jobssnap_id, 'total_hour', $hours_diff);
             wp_redirect($_js_helper->getHomeUrl('my-jobssnaps'));
             exit;
             break;
         case 'edit':
             $this->item = $this->prepareItem(get_post(JS_Helper::get_input('id')));
             break;
         case 'add':
             $current_user = JS_User::getUser(get_current_user_id());
             $current_slot = $current_user->slots;
             $jobssnap_data = $_POST;
             if (empty($jobssnap_data)) {
                 break;
             }
             $author = $jobssnap_data['author'];
             $title = $jobssnap_data['title'];
             $snap_tag = $jobssnap_data['snap_tag'];
             $content = $jobssnap_data['description'];
             unset($jobssnap_data['author']);
             unset($jobssnap_data['title']);
             unset($jobssnap_data['snap_tag']);
             unset($jobssnap_data['description']);
             unset($jobssnap_data['terms']);
             $args = array('post_title' => $title, 'post_type' => 'jobssnap', 'post_content' => $content, 'author' => $author, 'tax_input' => array('snap_tag' => $snap_tag), 'post_status' => 'publish');
             $jobssnap = wp_insert_post($args, true);
             if (!is_wp_error($jobssnap)) {
                 foreach ($jobssnap_data as $meta_key => $meta_value) {
                     if ($meta_key == 'date') {
                         $meta_value = date('n/j/Y', strtotime($meta_value));
                     }
                     update_post_meta($jobssnap, $meta_key, $meta_value);
                 }
                 update_post_meta($jobssnap, 'snap_job_status', 'opened');
                 $hours_diff = JS_Helper::calc_total_hours($jobssnap_data['time_from'], $jobssnap_data['time_to']);
                 update_post_meta($jobssnap, 'total_hour', $hours_diff);
                 $slot = intval($current_slot) - 1;
                 update_user_meta($author, 'snap_package_post_jobs_slot', $slot);
                 wp_redirect($_js_helper->getHomeUrl('my-jobssnaps'));
                 exit;
             }
             break;
     }
     parent::display($tmpl, $separator);
 }
Beispiel #2
0
 function display($tmpl = null, $separator = false)
 {
     global $wp, $_js_helper;
     $snap_task = JS_Helper::get_input('snap_task') ? JS_Helper::get_input('snap_task') : null;
     unset($_POST['snap_task']);
     if (JS_Helper::get_input('view') == 'list') {
         $tmpl = 'timesnaps.viewlisting';
         $snap_task = 'list';
     }
     switch ($snap_task) {
         case 'add':
             $timesnap_data = $_POST;
             if (empty($timesnap_data)) {
                 $this->dates = $_REQUEST['dates'];
                 break;
             }
             if (isset($timesnap_data['snap_category_new'])) {
                 $timesnap_data['snap_category'] = $timesnap_data['snap_category_new'];
             }
             $author = $timesnap_data['author'];
             $snap_category = $timesnap_data['snap_category'];
             $snap_tag = $timesnap_data['snap_tag'];
             unset($timesnap_data['author']);
             unset($timesnap_data['snap_tag']);
             unset($timesnap_data['terms']);
             $args = array('post_type' => 'timesnap', 'author' => $author, 'tax_input' => array('snap_category' => array($snap_category), 'snap_tag' => $snap_tag), 'post_status' => 'publish');
             $dates = explode(',', $timesnap_data['dates']);
             unset($timesnap_data['dates']);
             $success = 0;
             foreach ($dates as $date) {
                 $selected_day = date_create_from_format('m/d/Y', $date);
                 if (!$selected_day) {
                     continue;
                 }
                 $post_title = date_format($selected_day, 'd . F . Y (l)');
                 $args['post_title'] = $post_title;
                 $timesnap_data['date'] = $date;
                 $timesnap = wp_insert_post($args, true);
                 if (!is_wp_error($timesnap)) {
                     foreach ($timesnap_data as $meta_key => $meta_value) {
                         update_post_meta($timesnap, $meta_key, $meta_value);
                     }
                     $hours_diff = JS_Helper::calc_total_hours($timesnap_data['time_from'], $timesnap_data['time_to']);
                     update_post_meta($timesnap, 'total_hour', $hours_diff);
                     $success++;
                 }
             }
             if ($success) {
                 wp_redirect($_js_helper->getHomeUrl('my-timesnaps'));
                 exit;
             }
             break;
         case 'item':
         case 'edit':
             $timesnap_id = $_GET['id'] ? $_GET['id'] : JS_Helper::get_input('id');
             $this->item = $this->prepareItem(get_post($timesnap_id));
             $this->dates = $this->item->date;
             $timesnap_data = $_POST;
             if (empty($timesnap_data)) {
                 break;
             }
             if (isset($timesnap_data['snap_category_new'])) {
                 $timesnap_data['snap_category'] = $timesnap_data['snap_category_new'];
             }
             $args = array('ID' => $timesnap_id, 'tax_input' => array('snap_category' => $timesnap_data['snap_category'], 'snap_tag' => $timesnap_data['snap_tag']));
             $timesnap = wp_update_post($args, true);
             unset($timesnap_data['author']);
             unset($timesnap_data['snap_tag']);
             unset($timesnap_data['terms']);
             $dates = explode(',', $timesnap_data['dates']);
             $timesnap_data['date'] = $dates[0];
             unset($timesnap_data['dates']);
             if (!is_wp_error($timesnap)) {
                 foreach ($timesnap_data as $meta_key => $meta_value) {
                     update_post_meta($timesnap, $meta_key, $meta_value);
                 }
                 $hours_diff = JS_Helper::calc_total_hours($timesnap_data['time_from'], $timesnap_data['time_to']);
                 update_post_meta($timesnap, 'total_hour', $hours_diff);
                 wp_redirect($_js_helper->getHomeUrl('my-timesnaps'));
                 exit;
             }
             break;
         case 'list':
             $timesnaps = $this->getData();
             $this->prepareItems($timesnaps);
             break;
         case 'calendar':
             $timesnaps = array();
             for ($i = 1; $i <= date('t'); $i++) {
                 $date = date('n/j/Y', mktime(0, 0, 0, date('n'), $i, date('Y')));
                 $timesnaps[$date] = $this->prepareItems($this->getDataByDate($date));
             }
             $this->items = json_encode($timesnaps);
             break;
         case 'form':
             break;
     }
     parent::display($tmpl, $separator);
 }