/** * Handles AJAX call for Course Settings auto-update. */ function autoupdate_course_settings() { $user_id = (int) $_POST['user_id']; $course_id = (int) $_POST['course_id']; $nonce_check = wp_verify_nonce($_POST['course_nonce'], 'auto-update-' . $course_id); $cap = 0 == $course_id ? CoursePress_Capabilities::can_create_course($user_id) : CoursePress_Capabilities::can_update_course($course_id, $user_id); $doing_ajax = defined('DOING_AJAX') && DOING_AJAX ? true : false; $ajax_response = array(); if ($nonce_check && $cap && $doing_ajax) { /** * Course auto-update about to start. * * @since 1.2.1 * * @param int course_id Course ID about to be updated. * @param int user_id User initiating the update. */ do_action('coursepress_course_autoupdate_started', $course_id, $user_id); $course = new Course($course_id); if ($course->details) { $course->data['status'] = $course->details->post_status; } else { $course->data['status'] = 'draft'; } if (!empty($_POST['meta_course_setup_marker']) && 'step-2' == $_POST['meta_course_setup_marker']) { $course_categories = $_POST['course_category']; wp_delete_object_term_relationships($course_id, 'course_category'); if (!empty($course_categories) && is_array($course_categories)) { foreach ($course_categories as $course_category) { wp_set_post_terms($course_id, $course_category, 'course_category', true); } } } if (!empty($user_id) && 0 == $course_id) { $course->data['uid'] = $user_id; $ajax_response['instructor'] = $user_id; } $course_id = $course->update_course(); $mp_product_id = $course->mp_product_id(); $ajax_response['success'] = true; $ajax_response['course_id'] = $course_id; $ajax_response['mp_product_id'] = $mp_product_id; $ajax_response['nonce'] = wp_create_nonce('auto-update-' . $course_id); if (!empty($_POST['meta_course_setup_marker']) && 'step-6' == $_POST['meta_course_setup_marker']) { update_post_meta($course_id, 'course_setup_complete', 'yes'); } /** * Course auto-update completed. * * @since 1.2.1 * * @param int course_id Course ID about to be updated. * @param int user_id User initiating the update. */ do_action('coursepress_course_autoupdate_complete', $course_id, $user_id); } else { $ajax_response['success'] = false; $ajax_response['reason'] = __('Invalid request. Security check failed.', 'cp'); } $response = array('what' => 'instructor_invite', 'action' => 'instructor_invite', 'id' => 1, 'data' => json_encode($ajax_response)); ob_end_clean(); ob_start(); $xmlResponse = new WP_Ajax_Response($response); $xmlResponse->send(); ob_end_flush(); }
<?php /* if (current_user_can('coursepress_change_course_status_cap') || ( current_user_can('coursepress_change_my_course_status_cap') && $course_details->post_author == get_current_user_id() )) { ?> <input type="submit" name="submit-unit-<?php echo ( $course_details->post_status == 'unpublished' ) ? 'publish' : 'unpublish'; ?>" class="button button-units button-<?php echo ( $course_details->post_status == 'unpublished' ) ? 'publish' : 'unpublish'; ?>" value="<?php echo ( $course_details->post_status == 'unpublished' ) ? __('Publish', 'cp') : __('Unpublish', 'cp'); ?>"> <?php } */ } ?> </div> <!-- /COURSE BUTTONS --> <!-- COURSE DETAILS --> <div class='course-details'> <?php $wp_course_search = new Course_Search('', 1); if (CoursePress_Capabilities::can_create_course()) { if ($wp_course_search->is_light) { if ($wp_course_search->get_count_of_all_courses() < $wp_course_search->courses_per_page) { $not_limited = true; } else { $not_limited = false; } } else { $not_limited = true; } } if (isset($_GET['course_id']) || !isset($_GET['course_id']) && $not_limited) { ?> <!-- Course Overview --> <div class="course-section step step-1 <?php echo 'step-1' == $course_setup_marker ? 'save-marker active' : '';