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/inc/abstracts/abstract-shortcode.php
<?php
/**
 * Abstract Class for Shortcodes.
 *
 * @author   ThimPress
 * @category Abstract
 * @package  Learnpress/Classes
 * @version  3.0.0
 */

/**
 * Prevent loading this file directly
 */
defined( 'ABSPATH' ) || exit();


if ( ! class_exists( 'LP_Abstract_Shortcode' ) ) {

	/**
	 * Class LP_Abstract_Shortcode
	 */
	abstract class LP_Abstract_Shortcode {
		/**
		 * Shortcode attributes.
		 *
		 * @var array|null
		 */
		protected $_atts = null;

		/**
		 * @var string
		 */
		protected $_name = '';

		/**
		 * LP_Abstract_Shortcode constructor.
		 *
		 * @param mixed $atts
		 */
		public function __construct( $atts = '' ) {
			$this->_atts = (array) $atts;
		}

		/**
		 * Return content of the shortcode.
		 *
		 * @return mixed
		 */
		abstract function output();

		/**
		 * Get shortcode attributes.
		 *
		 * @return mixed
		 */
		public function get_atts() {
			return apply_filters( 'learn-press/shortcode-' . $this->get_name() . '-atts', $this->_atts );
		}

		/**
		 * Get default name of shortcode (without prefix learn_press_) if it is not set.
		 *
		 * @return mixed|string
		 */
		public function get_name() {
			if ( ! $this->_name ) {
				if ( preg_match( '~^lp_(.*)_shortcode$~i', get_class( $this ), $m ) ) {
					$this->_name = preg_replace( '~_~', '-', strtolower( $m[1] ) );
				}
			}

			return $this->_name;
		}

		/**
		 * Convert to string
		 *
		 * @return mixed
		 */
		public function __toString() {
			return $this->output();
		}
	}
}