HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
Disabled: 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
Upload Files
File: /home/h340499/public_html/wp-content/plugins/learnpress/inc/Shortcodes/CourseButtonShortcode.php
<?php
namespace LearnPress\Shortcodes;

use LearnPress\Helpers\Singleton;
use LearnPress\Models\CourseModel;
use LearnPress\Models\UserModel;
use LearnPress\TemplateHooks\Course\SingleCourseModernLayout;
use Throwable;

defined( 'ABSPATH' ) || exit();


/**
 * Class CourseButtonShortcode
 *
 * Refactor from LP_Shortcode_Button_Course
 *
 * @since 4.3.0
 * @version 1.0.0
 */
class CourseButtonShortcode extends AbstractShortcode {
	use singleton;

	protected $shortcode_name = 'button_course';

	/**
	 * Output button course.
	 *
	 * @param $atts
	 *
	 * @return string
	 */
	public function render( $atts ): string {
		$html = '';
		wp_enqueue_style( 'learnpress' );

		$course_id = $atts['id'] ?? 0;
		if ( 'current' === $course_id ) {
			$course_id = get_the_ID();
		}

		try {
			$singleCourseModernLayout = SingleCourseModernLayout::instance();
			$courseModel              = CourseModel::find( $course_id, true );
			if ( ! $courseModel ) {
				return '';
			}

			$userModel = UserModel::find( get_current_user_id(), true );

			// Load js button course.
			wp_enqueue_script( 'lp-single-course' );

			$html = $singleCourseModernLayout->html_buttons( $courseModel, $userModel );
		} catch ( Throwable $e ) {
			error_log( $e->getMessage() );
		}

		return $html;
	}
}