HEX
Server: LiteSpeed
System: Linux melbournecleaninggroup 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: www-data (33)
PHP: 7.3.33-1+focal
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,
Upload Files
File: /var/www/html/wp-content/plugins/brizy/shortcode/abstract-shortcode.php
<?php


abstract class Brizy_Shortcode_AbstractShortcode {

	const BRIZY_SHORTCODES_PREFIX = 'brizy_';
	const BRIZY_SHORTCODES_ACTION_PREFIX = 'brizy_shortcode_';
	const BRIZY_SHORTCODES_FILTER_PREFIX = 'brizy_shortcode_filter_';

	/**
	 * Get shortcode name
	 *
	 * @return string
	 */
	abstract public function getName();

	/**
	 * @param $atts
	 * @param null $content
	 *
	 * @return mixed
	 */
	abstract public function render( $atts, $content = null );

	/**
	 * @param $atts
	 * @param null $content
	 *
	 * @return string
	 */
	final public function masterRender( $atts, $content = null ) {
		ob_start();

		do_action( $this->getBeforeActionName() );

		echo apply_filters( $this->getFilterName(), $this->render( $atts, $content ) );

		do_action( $this->getAfterActionName() );

		return ob_get_clean();
	}

	/**
	 * Brizy_Shortcode_AbstractShortcode constructor.
	 */
	public function __construct() {
		add_shortcode( $this->getShortCodeId(), array( $this, 'masterRender' ) );
	}

	/**
	 * @return string
	 */
	private function getShortCodeId() {
		return self::BRIZY_SHORTCODES_PREFIX . $this->getName();
	}

	/**
	 * @return string
	 */
	private function getBeforeActionName() {
		return self::BRIZY_SHORTCODES_ACTION_PREFIX . 'before_' . $this->getName();
	}

	/**
	 * @return string
	 */
	private function getAfterActionName() {
		return self::BRIZY_SHORTCODES_ACTION_PREFIX . 'after_' . $this->getName();
	}

	/**
	 * @return string
	 */
	private function getFilterName() {
		return self::BRIZY_SHORTCODES_FILTER_PREFIX . $this->getName();
	}
}