| @@ -1,7 +1,7 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -use LP\Helpers\Config; | |
| 3 | +use LearnPress\Helpers\Config; | |
| 4 | 4 | |
| 5 | 5 | /** |
| 6 | 6 | * Class LP_Settings_Courses |
| 7 | 7 | * |
| @@ -18,39 +18,22 @@ | ||
| 18 | 18 | parent::__construct(); |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | public function save() { |
| 22 | - $course_permalink = LP_Helper::sanitize_params_submitted( $_POST['learn_press_course_base'] ?? '' ); | |
| 23 | - | |
| 24 | - if ( ! $course_permalink ) { | |
| 25 | - return; | |
| 26 | - } | |
| 27 | - | |
| 28 | - if ( $course_permalink == 'custom' ) { | |
| 29 | - $course_permalink = trim( $_POST['course_permalink_structure'], '/' ); | |
| 30 | - | |
| 31 | - if ( '%course_category%' == $course_permalink ) { | |
| 32 | - $course_permalink = _x( 'courses', 'slug', 'learnpress' ) . '/' . $course_permalink; | |
| 22 | + // Check role publish course of user teacher | |
| 23 | + if ( ! empty( $_POST ) && isset( $_GET['tab'] ) && $_GET['tab'] === 'courses' ) { | |
| 24 | + $teacher = get_role( LP_TEACHER_ROLE ); | |
| 25 | + if ( $teacher ) { | |
| 26 | + $course_cap = LP_COURSE_CPT . 's'; | |
| 27 | + $review_course_instructor = $_POST['learn_press_required_review'] ?? false; | |
| 28 | + if ( $review_course_instructor ) { | |
| 29 | + $teacher->remove_cap( 'publish_' . $course_cap ); | |
| 30 | + } else { | |
| 31 | + $teacher->add_cap( 'publish_' . $course_cap ); | |
| 32 | + } | |
| 33 | 33 | } |
| 34 | - | |
| 35 | - $course_permalink = '/' . $course_permalink; | |
| 36 | - update_option( 'learn_press_course_base_type', 'custom' ); | |
| 37 | - | |
| 38 | - } else { | |
| 39 | - delete_option( 'learn_press_course_base_type' ); | |
| 40 | 34 | } |
| 41 | - | |
| 42 | - $course_base = untrailingslashit( $course_permalink ); | |
| 43 | - | |
| 44 | - update_option( 'learn_press_course_base', $course_base ); | |
| 45 | - $courses_page_id = learn_press_get_page_id( 'courses' ); | |
| 46 | - $courses_permalink = ( $courses_page_id > 0 && get_post( $courses_page_id ) ) ? get_page_uri( $courses_page_id ) : _x( 'courses', 'default-slug', 'learnpress' ); | |
| 47 | - | |
| 48 | - if ( $courses_page_id && trim( $course_base, '/' ) === $courses_permalink ) { | |
| 49 | - update_option( 'learn_press_use_verbose_page_rules', 'yes' ); | |
| 50 | - } else { | |
| 51 | - delete_option( 'learn_press_use_verbose_page_rules' ); | |
| 52 | - } | |
| 35 | + // End check role publish course of user teacher | |
| 53 | 36 | } |
| 54 | 37 | |
| 55 | 38 | /** |
| 56 | 39 | * Get config settings courses. |
| @@ -78,7 +61,16 @@ | ||
| 78 | 61 | * |
| 79 | 62 | * @return bool |
| 80 | 63 | */ |
| 81 | 64 | public static function is_no_load_ajax_first_courses(): bool { |
| 82 | - return self::is_ajax_load_courses() && LP_Settings::get_option( 'courses_first_no_ajax', 'no' ) === 'yes'; | |
| 65 | + return LP_Settings::get_option( 'courses_first_no_ajax', 'no' ) === 'yes'; | |
| 66 | + } | |
| 67 | + | |
| 68 | + /** | |
| 69 | + * Get option type Pagination. | |
| 70 | + * | |
| 71 | + * @return string | |
| 72 | + */ | |
| 73 | + public static function get_type_pagination(): string { | |
| 74 | + return LP_Settings::get_option( 'course_pagination_type', 'number' ); | |
| 83 | 75 | } |
| 84 | 76 | } |