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 } */
/** * 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(); }
?> <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++;