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;
 }
/* if ( $unit_id != '' ) {
	  $unit = new Course( $unit_id );
	  if ( $unit->can_show_permalink() ) {
	  ?>
	  <a class="nav-tab view-course-link" href="<?php echo get_permalink( $unit_id ); ?>" target="_new"><?php _e( 'View Unit', 'cp' );?></a>
	  <?php
	  }
	  } */
?>
		<?php 
if (isset($course_id) && $course_id !== '') {
    ?>

			<div class="course-state">
				<?php 
    $can_publish = CoursePress_Capabilities::can_change_course_status($course_id);
    $data_nonce = wp_create_nonce('toggle-' . $course_id);
    ?>
				<div id="course_state_id" data-id="<?php 
    echo $course_id;
    ?>
" data-nonce="<?php 
    echo $data_nonce;
    ?>
"></div>
				<span class="publish-course-message"><?php 
    _e('Publish Course', 'cp');
    ?>
</span>
				<span class="draft <?php 
    echo $course_object->post_status == 'unpublished' ? 'on' : '';
Пример #3
0
 function change_course_state()
 {
     $user_id = empty($_POST['user_id']) ? get_current_user_id() : (int) $_POST['user_id'];
     $course_id = (int) $_POST['course_id'];
     $nonce_check = wp_verify_nonce($_POST['course_nonce'], 'toggle-' . $course_id);
     $cap = CoursePress_Capabilities::can_change_course_status($course_id, $user_id);
     $doing_ajax = defined('DOING_AJAX') && DOING_AJAX ? true : false;
     $ajax_response = array();
     if ($nonce_check && $cap && $doing_ajax) {
         $course = new Course($course_id);
         $course->change_status($_POST['course_state']);
         $ajax_response['toggle'] = true;
         $ajax_response['nonce'] = wp_create_nonce('toggle-' . $course_id);
         /**
          * Course status toggled.
          *
          * @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_status_changed', $course_id, $user_id);
     } else {
         $ajax_response['toggle'] = false;
         $ajax_response['reason'] = __('Invalid request. Security check failed.', 'cp');
         /**
          * Course status not changed.
          *
          * @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_status_change_fail', $course_id, $user_id);
     }
     $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();
 }