Пример #1
0
 /**
  * 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' : '';