SILENT KILLERPanel

Current Path: > home > codekrsu > > ameliagraphics.com > wp-content > plugins > jetpack > modules > shortcodes


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//ameliagraphics.com/wp-content/plugins/jetpack/modules/shortcodes

NameTypeSizeLast ModifiedActions
css Directory - -
images Directory - -
img Directory - -
js Directory - -
archiveorg-book.php File 3394 bytes June 29 2021 21:18:02.
archiveorg.php File 4015 bytes June 29 2021 21:18:02.
archives.php File 2437 bytes February 23 2021 21:08:42.
bandcamp.php File 7935 bytes May 22 2023 19:04:58.
brightcove.php File 8980 bytes October 27 2020 21:15:38.
cartodb.php File 803 bytes February 23 2021 21:08:42.
class.filter-embedded-html-objects.php File 13324 bytes November 25 2023 02:41:46.
codepen.php File 265 bytes February 23 2021 21:08:42.
crowdsignal.php File 22379 bytes June 02 2025 21:34:10.
dailymotion.php File 15634 bytes December 06 2022 21:08:36.
descript.php File 3067 bytes January 25 2022 23:38:06.
facebook.php File 7203 bytes April 28 2025 19:38:34.
flatio.php File 383 bytes February 23 2021 21:08:42.
flickr.php File 9601 bytes June 24 2025 00:56:26.
getty.php File 7720 bytes November 21 2023 01:33:54.
gist.php File 8630 bytes June 03 2025 23:22:42.
googleapps.php File 10079 bytes November 25 2023 02:41:46.
googlemaps.php File 8160 bytes November 25 2023 02:41:46.
googleplus.php File 1054 bytes February 23 2021 21:08:42.
gravatar.php File 6280 bytes November 14 2023 22:55:08.
houzz.php File 920 bytes February 23 2021 21:08:42.
inline-pdfs.php File 1168 bytes January 11 2022 22:52:08.
instagram.php File 14854 bytes December 23 2024 20:47:38.
kickstarter.php File 2448 bytes December 06 2022 21:08:36.
mailchimp.php File 7194 bytes January 17 2023 01:35:44.
medium.php File 3300 bytes January 17 2023 01:35:44.
mixcloud.php File 3703 bytes November 25 2023 02:41:46.
others.php File 2115 bytes January 06 2025 22:47:52.
pinterest.php File 1834 bytes November 21 2023 01:33:54.
presentations.php File 14881 bytes September 20 2023 01:19:10.
quiz.php File 9378 bytes March 29 2022 23:04:42.
recipe.php File 19461 bytes June 16 2025 23:21:40.
scribd.php File 2504 bytes February 23 2021 21:08:42.
sitemap.php File 562 bytes February 23 2021 21:08:42.
slideshare.php File 3903 bytes February 23 2021 21:08:42.
slideshow.php File 9493 bytes October 07 2024 23:44:04.
smartframe.php File 3728 bytes May 15 2023 20:47:16.
soundcloud.php File 8884 bytes May 22 2023 19:04:58.
spotify.php File 3336 bytes January 15 2024 23:54:22.
ted.php File 3429 bytes February 23 2021 21:08:42.
tweet.php File 5148 bytes September 20 2023 01:19:10.
twitchtv.php File 2688 bytes February 23 2021 21:08:42.
twitter-timeline.php File 1979 bytes February 23 2021 21:08:42.
twitter.php File 2615 bytes March 31 2025 22:37:54.
unavailable.php File 3315 bytes January 17 2023 01:35:44.
untappd-menu.php File 2464 bytes January 17 2023 01:35:44.
upcoming-events.php File 1724 bytes November 04 2024 17:29:56.
ustream.php File 3206 bytes February 23 2021 21:08:42.
videopress.php File 423 bytes August 17 2022 14:12:24.
vimeo.php File 11785 bytes September 02 2024 18:34:18.
vine.php File 2674 bytes February 23 2021 21:08:42.
vr.php File 5035 bytes April 16 2024 00:40:26.
wufoo.php File 3463 bytes October 11 2022 18:22:12.
youtube.php File 24018 bytes May 05 2025 21:43:40.

Reading File: /home/codekrsu//ameliagraphics.com/wp-content/plugins/jetpack/modules/shortcodes/quiz.php

<?php //phpcs:ignore WordPress.Files.FileName.InvalidClassFileNam

use Automattic\Jetpack\Assets;

/**
 * Quiz shortcode.
 *
 * Usage:
 *
 * [quiz]
 * [question]What's the right answer?[/question]
 * [wrong]This one?[explanation]Nope[/explanation][/wrong]
 * [answer]Yes, this is the one![explanation]Yay![/explanation][/answer]
 * [wrong]Maybe this one[explanation]Keep trying[/explanation][/wrong]
 * [wrong]How about this one?[explanation]Try again[/explanation][/wrong]
 * [/quiz]
 *
 * Can also be wrapped in [quiz-wrapper] to display all quizzes together.
 */
class Quiz_Shortcode {

	/**
	 * Parameters admitted by [quiz] shortcode.
	 *
	 * @since 4.5.0
	 *
	 * @var array
	 */
	private static $quiz_params = array();

	/**
	 * Whether the [quiz-wrapper] shortcode is used.
	 *
	 * @since 10.1
	 *
	 * @var bool
	 */
	private static $quiz_wrapper = false;

	/**
	 * Whether the scripts were enqueued.
	 *
	 * @since 4.5.0
	 *
	 * @var bool
	 */
	private static $scripts_enqueued = false;

	/**
	 * In a8c training, store user currently logged in.
	 *
	 * @since 4.5.0
	 *
	 * @var null
	 */
	private static $username = null;

	/**
	 * Whether the noscript tag was already printed.
	 *
	 * @since 4.5.0
	 *
	 * @var bool
	 */
	private static $noscript_info_printed = false;

	/**
	 * Whether JavaScript is available.
	 *
	 * @since 4.5.0
	 *
	 * @var null
	 */
	private static $javascript_unavailable = null;

	/**
	 * Register all shortcodes.
	 *
	 * @since 4.5.0
	 */
	public static function init() {
		add_shortcode( 'quiz-wrapper', array( __CLASS__, 'shortcode_wrapper' ) );
		add_shortcode( 'quiz', array( __CLASS__, 'shortcode' ) );
		add_shortcode( 'question', array( __CLASS__, 'question_shortcode' ) );
		add_shortcode( 'answer', array( __CLASS__, 'answer_shortcode' ) );
		add_shortcode( 'wrong', array( __CLASS__, 'wrong_shortcode' ) );
		add_shortcode( 'explanation', array( __CLASS__, 'explanation_shortcode' ) );
	}

	/**
	 * Enqueue assets needed by the quiz,
	 *
	 * @since 4.5.0
	 */
	private static function enqueue_scripts() {
		wp_enqueue_style( 'quiz', plugins_url( 'css/quiz.css', __FILE__ ), array(), JETPACK__VERSION );
		wp_enqueue_script(
			'quiz',
			Assets::get_file_url_for_environment( '_inc/build/shortcodes/js/quiz.min.js', 'modules/shortcodes/js/quiz.js' ),
			array( 'jquery' ),
			JETPACK__VERSION,
			true
		);
	}

	/**
	 * Check if this is a feed and thus JS is unavailable.
	 *
	 * @since 4.5.0
	 *
	 * @return bool|null
	 */
	private static function is_javascript_unavailable() {
		if ( self::$javascript_unavailable !== null ) {
			return self::$javascript_unavailable;
		}

		if ( is_feed() ) {
			self::$javascript_unavailable = true;
			return self::$javascript_unavailable;
		}

		self::$javascript_unavailable = false;
		return self::$javascript_unavailable;
	}

	/**
	 * Display message when JS is not available.
	 *
	 * @since 4.5.0
	 *
	 * @return string
	 */
	private static function noscript_info() {
		if ( self::$noscript_info_printed ) {
			return '';
		}
		self::$noscript_info_printed = true;
		return '<noscript><div><i>' . esc_html__( 'Please view this post in your web browser to complete the quiz.', 'jetpack' ) . '</i></div></noscript>';
	}

	/**
	 * Check if we're in WordPress.com.
	 *
	 * @since 4.5.0
	 *
	 * @return bool
	 */
	public static function is_wpcom() {
		return defined( 'IS_WPCOM' ) && IS_WPCOM;
	}

	/**
	 * Parse shortcode arguments and render its output.
	 *
	 * @since 4.5.0
	 *
	 * @param array  $atts    Shortcode parameters.
	 * @param string $content Content enclosed by shortcode tags.
	 *
	 * @return string
	 */
	public static function shortcode( $atts, $content = null ) {

		// There's nothing to do if there's nothing enclosed.
		if ( empty( $content ) ) {
			return '';
		}

		$id = '';

		if ( self::is_javascript_unavailable() ) {
			// in an e-mail print the question and the info sentence once per question, too.
			self::$noscript_info_printed = false;
		} else {

			if ( ! self::$scripts_enqueued ) {
				// lazy enqueue cannot use the wp_enqueue_scripts action anymore.
				self::enqueue_scripts();
				self::$scripts_enqueued = true;
			}

			$default_atts = self::is_wpcom()
				? array(
					'trackid'     => '',
					'a8ctraining' => '',
				)
				: array(
					'trackid' => '',
				);

			self::$quiz_params = shortcode_atts( $default_atts, $atts );

			if ( ! empty( self::$quiz_params['trackid'] ) ) {
				$id .= ' data-trackid="' . esc_attr( self::$quiz_params['trackid'] ) . '"';
			}
			if ( self::is_wpcom() && ! empty( self::$quiz_params['a8ctraining'] ) ) {
				if ( self::$username === null ) {
					self::$username = wp_get_current_user()->user_login;
				}
				$id .= ' data-a8ctraining="' . esc_attr( self::$quiz_params['a8ctraining'] ) . '" data-username="' . esc_attr( self::$username ) . '"';
			}
		}

		$quiz         = self::do_shortcode( $content );
		$quiz_options = '';

		if ( self::$quiz_wrapper ) {
			$quiz_options = '<div class="jetpack-quiz-options">
			<span class="jetpack-quiz-count"></span>
			<a class="jetpack-quiz-option-button" data-quiz-option="previous" role="button" aria-label="' . esc_attr__( 'Previous quiz', 'jetpack' ) . '">
			<svg viewBox="0 0 24 24" class="quiz-gridicon">
			<g><path d="M14 20l-8-8 8-8 1.414 1.414L8.828 12l6.586 6.586"></path></g></svg></a>
			<a class="jetpack-quiz-option-button" data-quiz-option="next" role="button" aria-label="' . esc_attr__( 'Next quiz', 'jetpack' ) . '">
			<svg viewBox="0 0 24 24" class="quiz-gridicon">
			<g><path d="M10 20l8-8-8-8-1.414 1.414L15.172 12l-6.586 6.586"></path></g></svg></a>
			</div>';
		}

		return '<div class="jetpack-quiz quiz"' . $id . '>' . $quiz . $quiz_options . '</div>';
	}

	/**
	 * Wrap shortcode contents.
	 *
	 * @since 10.1
	 *
	 * @param array  $atts    Shortcode parameters.
	 * @param string $content Content enclosed by shortcode tags.
	 *
	 * @return string
	 */
	public static function shortcode_wrapper( $atts, $content = null ) {
		self::$quiz_wrapper = true;
		return '<div class="jetpack-quiz-wrapper">' . self::do_shortcode( $content ) . '</div>';
	}

	/**
	 * Strip line breaks, restrict allowed HTML to a few allowed tags and execute nested shortcodes.
	 *
	 * @since 4.5.0
	 *
	 * @param string $content Post content.
	 *
	 * @return mixed|string
	 */
	private static function do_shortcode( $content ) {
		// strip autoinserted line breaks.
		$content = preg_replace( '#(<(?:br /|/?p)>\n?)*(\[/?[a-z]+\])(<(?:br /|/?p)>\n?)*#', '$2', $content );

		// Add internal parameter so it's only rendered when it has it.
		$content = preg_replace( '/\[(question|answer|wrong|explanation)\]/i', '[$1 quiz_item="true"]', $content );
		$content = do_shortcode( $content );
		$content = wp_kses(
			$content,
			array(
				'tt'     => array(),
				'a'      => array(
					'href'             => true,
					'class'            => true,
					'data-quiz-option' => true,
					'aria-label'       => true,
					'role'             => 'button',
				),
				'pre'    => array(),
				'strong' => array(),
				'i'      => array(),
				'svg'    => array(),
				'g'      => array(),
				'path'   => array( 'd' => true ),
				'br'     => array(),
				'span'   => array( 'class' => true ),
				'img'    => array( 'src' => true ),
				'div'    => array(
					'class'            => true,
					'data-correct'     => 1,
					'data-track-id'    => 1,
					'data-a8ctraining' => 1,
					'data-username'    => 1,
					'tabindex'         => false,
				),
			)
		);
		return $content;
	}

	/**
	 * Render question.
	 *
	 * @since 4.5.0
	 *
	 * @param array $atts    Shortcode attributes.
	 * @param null  $content Post content.
	 *
	 * @return string
	 */
	public static function question_shortcode( $atts, $content = null ) {
		return isset( $atts['quiz_item'] )
			? '<div class="jetpack-quiz-question question" tabindex="-1">' . self::do_shortcode( $content ) . '</div>'
			: '';
	}

	/**
	 * Render correct answer.
	 *
	 * @since 4.5.0
	 *
	 * @param array $atts    Shortcode attributes.
	 * @param null  $content Post content.
	 *
	 * @return string
	 */
	public static function answer_shortcode( $atts, $content = null ) {
		if ( self::is_javascript_unavailable() ) {
			return self::noscript_info();
		}

		return isset( $atts['quiz_item'] )
			? '<div class="jetpack-quiz-answer answer" data-correct="1">' . self::do_shortcode( $content ) . '</div>'
			: '';
	}

	/**
	 * Render wrong response.
	 *
	 * @since 4.5.0
	 *
	 * @param array $atts    Shortcode attributes.
	 * @param null  $content Post content.
	 *
	 * @return string
	 */
	public static function wrong_shortcode( $atts, $content = null ) {
		if ( self::is_javascript_unavailable() ) {
			return self::noscript_info();
		}

		return isset( $atts['quiz_item'] )
			? '<div class="jetpack-quiz-answer answer">' . self::do_shortcode( $content ) . '</div>'
			: '';
	}

	/**
	 * Render explanation for wrong or right answer.
	 *
	 * @since 4.5.0
	 *
	 * @param array $atts    Shortcode attributes.
	 * @param null  $content Post content.
	 *
	 * @return string
	 */
	public static function explanation_shortcode( $atts, $content = null ) {
		if ( self::is_javascript_unavailable() ) {
			return self::noscript_info();
		}

		return isset( $atts['quiz_item'] )
			? '<div class="jetpack-quiz-explanation explanation">' . self::do_shortcode( $content ) . '</div>'
			: '';
	}
}

Quiz_Shortcode::init();

SILENT KILLER Tool