golden hour
/home/doctorbruno/public_html/pgmed.org/wp-content/plugins/jetpack/modules/shortcodes
⬆️ Go Up
Upload
File/Folder
Size
Actions
archiveorg-book.php
3.41 KB
Del
OK
archiveorg.php
5.15 KB
Del
OK
archives.php
3.36 KB
Del
OK
bandcamp.php
7.79 KB
Del
OK
brightcove.php
8.81 KB
Del
OK
cartodb.php
850 B
Del
OK
class.filter-embedded-html-objects.php
13.17 KB
Del
OK
codepen.php
312 B
Del
OK
crowdsignal.php
22.03 KB
Del
OK
css
-
Del
OK
dailymotion.php
15.37 KB
Del
OK
descript.php
3.1 KB
Del
OK
facebook.php
7.13 KB
Del
OK
flatio.php
430 B
Del
OK
flickr.php
9.5 KB
Del
OK
getty.php
7.64 KB
Del
OK
gist.php
8.47 KB
Del
OK
googleapps.php
9.94 KB
Del
OK
googlemaps.php
9.22 KB
Del
OK
googleplus.php
1.08 KB
Del
OK
gravatar.php
6.18 KB
Del
OK
houzz.php
967 B
Del
OK
images
-
Del
OK
img
-
Del
OK
inline-pdfs.php
1.19 KB
Del
OK
instagram.php
14.61 KB
Del
OK
js
-
Del
OK
kickstarter.php
2.49 KB
Del
OK
mailchimp.php
7.04 KB
Del
OK
medium.php
3.27 KB
Del
OK
mixcloud.php
3.66 KB
Del
OK
others.php
2.11 KB
Del
OK
pinterest.php
1.84 KB
Del
OK
presentations.php
14.57 KB
Del
OK
quiz.php
9.2 KB
Del
OK
recipe.php
18.83 KB
Del
OK
scribd.php
2.49 KB
Del
OK
shortcode-utils.php
955 B
Del
OK
sitemap.php
609 B
Del
OK
slideshare.php
3.83 KB
Del
OK
slideshow.php
9.66 KB
Del
OK
smartframe.php
3.74 KB
Del
OK
soundcloud.php
8.79 KB
Del
OK
spotify.php
3.3 KB
Del
OK
ted.php
3.62 KB
Del
OK
tweet.php
5.07 KB
Del
OK
twitchtv.php
2.59 KB
Del
OK
twitter-timeline.php
1.98 KB
Del
OK
twitter.php
2.6 KB
Del
OK
unavailable.php
3.33 KB
Del
OK
untappd-menu.php
2.5 KB
Del
OK
upcoming-events.php
1.73 KB
Del
OK
ustream.php
3.18 KB
Del
OK
videopress.php
470 B
Del
OK
vimeo.php
11.59 KB
Del
OK
vine.php
2.66 KB
Del
OK
vr.php
4.93 KB
Del
OK
wufoo.php
3.43 KB
Del
OK
youtube.php
23.54 KB
Del
OK
Edit: quiz.php
<?php //phpcs:ignore WordPress.Files.FileName.InvalidClassFileNam use Automattic\Jetpack\Assets; if ( ! defined( 'ABSPATH' ) ) { exit( 0 ); } /** * 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();
Save