function get_accessable_courses()
 {
     $courses = $this->get_assigned_courses_ids();
     $new_course_array = array();
     foreach ($courses as $course) {
         $can_update = CoursePress_Capabilities::can_update_course($course->ID, $this->ID);
         $can_delete = CoursePress_Capabilities::can_delete_course($course->ID, $this->ID);
         $can_publish = CoursePress_Capabilities::can_change_course_status($course->ID, $this->ID);
         $can_view_unit = CoursePress_Capabilities::can_view_course_units($course->ID, $this->ID);
         $my_course = CoursePress_Capabilities::is_course_instructor($course->ID, $this->ID);
         $creator = CoursePress_Capabilities::is_course_creator($course->ID, $this->ID);
         if (!$my_course && !$creator && !$can_update && !$can_delete && !$can_publish && !$can_view_unit) {
             continue;
         } else {
             $new_course_array[] = $course;
         }
     }
     return $new_course_array;
 }
    								  ?>
    								  <input type="submit" name="submit-unit" class="button button-units save-unit-button" value="<?php _e('Save Draft', 'cp'); ?>">
    								  <input type="submit" name="submit-unit-publish" class="button button-units button-publish" value="<?php _e('Publish', 'cp'); ?>">
    
    								  <?php } */
    ?>

								<?php 
    /* if (( $course_id != 0 && current_user_can('coursepress_update_course_cap') ) || ( $course_id != 0 && current_user_can('coursepress_update_my_course_cap') && $course_details->post_author == get_current_user_id() )) {//do not show anything
    	  ?>
    	  <input type="submit" name="submit-unit" class="button button-units save-unit-button" value="<?php echo ( $course_details->post_status == 'unpublished' ) ? __('Save Draft', 'cp') : __('Publish', 'cp'); ?>">
    	  <?php } */
    ?>

								<?php 
    if ($course_id != 0 && CoursePress_Capabilities::can_update_course($course_id)) {
        //do not show anything
        ?>
									<a class="button button-preview-overview" href="<?php 
        echo get_permalink($course_id);
        ?>
" target="_new"><?php 
        _e('Preview', 'cp');
        ?>
</a>

									<?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
        	  } */
Пример #3
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();
 }
Пример #4
0
    ?>
			<tbody class="<?php 
    if ($selected_course_order_by == 'course_order') {
        echo 'course-rows';
    }
    ?>
">
					   <?php 
    $style = '';
    $can_list_count = 0;
    $list_order = 1;
    $courses = $wp_course_search->get_results();
    foreach ($courses as $course) {
        $can_list = false;
        // $can_create = CoursePress_Capabilities::can_creare_course();
        $can_update = CoursePress_Capabilities::can_update_course($course->ID);
        $can_delete = CoursePress_Capabilities::can_delete_course($course->ID);
        $can_publish = CoursePress_Capabilities::can_change_course_status($course->ID);
        $can_create_unit = CoursePress_Capabilities::can_create_course_unit($course->ID);
        $can_update_unit = CoursePress_Capabilities::can_update_course_unit($course->ID);
        $can_view_unit = CoursePress_Capabilities::can_view_course_units($course->ID);
        $can_delete_unit = CoursePress_Capabilities::can_delete_course_unit($course->ID);
        $can_publish_unit = CoursePress_Capabilities::can_change_course_unit_status($course->ID);
        $my_course = CoursePress_Capabilities::is_course_instructor($course->ID);
        $creator = CoursePress_Capabilities::is_course_creator($course->ID);
        $zero_instructor_courses = false;
        if (!$my_course && !$creator && !$can_update && !$can_delete && !$can_publish && !$can_view_unit) {
            continue;
        } else {
            $can_list = true;
            $can_list_count++;