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' : '';
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(); }