| Server IP : 104.21.28.229 / Your IP : 216.73.216.142 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/learnpress/inc/settings/ |
Upload File : |
<?php
use LearnPress\Helpers\Config;
/**
* Class LP_Settings_Courses
*
* @author ThimPress <[email protected]>
*/
class LP_Settings_Courses extends LP_Abstract_Settings_Page {
/**
* LP_Settings_Courses constructor.
*/
public function __construct() {
$this->id = 'courses';
$this->text = esc_html__( 'Courses', 'learnpress' );
parent::__construct();
}
public function save() {
$course_permalink = LP_Helper::sanitize_params_submitted( $_POST['learn_press_course_base'] ?? '' );
if ( ! $course_permalink ) {
return;
}
if ( $course_permalink == 'custom' ) {
$course_permalink = trim( $_POST['course_permalink_structure'], '/' );
if ( '%course_category%' == $course_permalink ) {
$course_permalink = _x( 'courses', 'slug', 'learnpress' ) . '/' . $course_permalink;
}
$course_permalink = '/' . $course_permalink;
update_option( 'learn_press_course_base_type', 'custom' );
} else {
delete_option( 'learn_press_course_base_type' );
}
$course_base = untrailingslashit( $course_permalink );
update_option( 'learn_press_course_base', $course_base );
$courses_page_id = learn_press_get_page_id( 'courses' );
$courses_permalink = ( $courses_page_id > 0 && get_post( $courses_page_id ) ) ? get_page_uri( $courses_page_id ) : _x( 'courses', 'default-slug', 'learnpress' );
if ( $courses_page_id && trim( $course_base, '/' ) === $courses_permalink ) {
update_option( 'learn_press_use_verbose_page_rules', 'yes' );
} else {
delete_option( 'learn_press_use_verbose_page_rules' );
}
}
/**
* Get config settings courses.
*
* @param string $section
* @param string $tab
*
* @return array
*/
public function get_settings( $section = null, $tab = null ): array {
return Config::instance()->get( 'course', 'settings' );
}
/**
* Get option enable load courses with ajax.
*
* @return bool
*/
public static function is_ajax_load_courses(): bool {
return LP_Settings::get_option( 'courses_load_ajax', 'yes' ) === 'yes';
}
/**
* Get option enable courses archive ajax.
*
* @return bool
*/
public static function is_no_load_ajax_first_courses(): bool {
return LP_Settings::get_option( 'courses_first_no_ajax', 'no' ) === 'yes';
}
/**
* Get option type Pagination.
*
* @return string
*/
public static function get_type_pagination(): string {
return LP_Settings::get_option( 'course_pagination_type', 'number' );
}
}