HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux newsites.squeezer-software.com 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/sites/ileskneiss/wp-content/plugins/learnpress-course-review/inc/CourseReviewShortCode.php
<?php
/**
 * Course review shortcode class.
 *
 * @author   ThimPress
 * @package  LearnPress\CourseReview\CourseReviewShortCode
 * @version  1.0.0
 */

namespace LearnPress\CourseReview;

use LearnPress\Helpers\Singleton;
use LearnPress\Helpers\Template;
use LearnPress\Models\CourseModel;
use LearnPress\Models\UserModel;
use LearnPress\Shortcodes\AbstractShortcode;
use LP_Debug;
use Throwable;

defined( 'ABSPATH' ) || exit;

/**
 * Class CourseReviewShortCode.
 */
class CourseReviewShortCode extends AbstractShortcode {
	use Singleton;

	protected $shortcode_name = 'review';

	public function render( $attrs ): string {
		$html = '';

		try {
			if ( empty( $attrs ) ) {
				$attrs = [];
			}

			$course_id   = $attrs['course_id'] ?? 0;
			$courseModel = CourseModel::find( $course_id, true );
			$userModel   = UserModel::find( get_current_user_id(), true );
			if ( ! $courseModel ) {
				$html = Template::print_message(
					__( 'Course is invalid', 'learnpress-course-review' ),
					'warning',
					false
				);
			} else {
				ob_start();
				do_action( 'learn-press/course-review/rating-reviews', $courseModel, $userModel );
				$html = ob_get_clean();
			}
		} catch ( Throwable $e ) {
			$html = Template::print_message(
				$e->getMessage(),
				'error',
				false
			);
		}

		return $html;
	}
}