/*
Widget Name: Editor
Description: Insert and customize content with a rich text editor offering extensive formatting options.
Author: SiteOrigin
Author URI: https://siteorigin.com
Documentation: https://siteorigin.com/widgets-bundle/editor-widget/
*/
class SiteOrigin_Widget_Editor_Widget extends SiteOrigin_Widget {
public function __construct() {
parent::__construct(
'sow-editor',
__( 'SiteOrigin Editor', 'so-widgets-bundle' ),
array(
'description' => __( 'Insert and customize content with a rich text editor offering extensive formatting options.', 'so-widgets-bundle' ),
'help' => 'https://siteorigin.com/widgets-bundle/editor-widget/',
),
array(),
false,
plugin_dir_path( __FILE__ )
);
add_filter( 'siteorigin_widgets_sanitize_instance_sow-editor', array( $this, 'add_noreferrer_to_link_targets' ) );
}
public function get_widget_form() {
$global_settings = $this->get_global_settings();
return array(
'title' => array(
'type' => 'text',
'label' => __( 'Title', 'so-widgets-bundle' ),
),
'text' => array(
'type' => 'tinymce',
'rows' => 20,
'wpautop_toggle_field' => '.siteorigin-widget-field-autop input[type="checkbox"]',
),
'autop' => array(
'type' => 'checkbox',
'default' => $global_settings['autop_default'],
'label' => __( 'Automatically add paragraphs', 'so-widgets-bundle' ),
),
);
}
public function get_settings_form() {
return array(
'autop_default' => array(
'type' => 'checkbox',
'default' => true,
'label' => __( 'Enable the "Automatically add paragraphs" setting by default.', 'so-widgets-bundle' ),
),
);
}
public function get_template_variables( $instance, $args ) {
$instance = wp_parse_args(
$instance,
array( 'text' => '' )
);
if (
// Only run these parts if we're rendering for the frontend.
empty( $GLOBALS[ 'SITEORIGIN_PANELS_CACHE_RENDER' ] ) &&
empty( $GLOBALS[ 'SITEORIGIN_PANELS_POST_CONTENT_RENDER' ] )
) {
if ( function_exists( 'wp_filter_content_tags' ) ) {
$instance['text'] = wp_filter_content_tags( $instance['text'] );
} elseif ( function_exists( 'wp_make_content_images_responsive' ) ) {
$instance['text'] = wp_make_content_images_responsive( $instance['text'] );
}
// Manual support for Jetpack Markdown module.
if ( class_exists( 'WPCom_Markdown' ) &&
Jetpack::is_module_active( 'markdown' ) &&
$instance['text_selected_editor'] == 'html'
) {
$markdown_parser = WPCom_Markdown::get_instance();
$instance['text'] = $markdown_parser->transform( $instance['text'] );
}
// Run some known stuff.
if ( ! empty( $GLOBALS['wp_embed'] ) ) {
$instance['text'] = $GLOBALS['wp_embed']->run_shortcode( $instance['text'] );
$instance['text'] = $GLOBALS['wp_embed']->autoembed( $instance['text'] );
}
// As in the Text Widget, we need to prevent plugins and themes from running `do_shortcode` in the `widget_text`
// filter to avoid running it twice and to prevent `wpautop` from interfering with shortcodes' output.
$widget_text_do_shortcode_priority = has_filter( 'widget_text', 'do_shortcode' );
if ( $widget_text_do_shortcode_priority !== false ) {
remove_filter( 'widget_text', 'do_shortcode', $widget_text_do_shortcode_priority );
}
$instance['text'] = apply_filters( 'widget_text', $instance['text'], $instance, $this );
if ( $widget_text_do_shortcode_priority !== false ) {
add_filter( 'widget_text', 'do_shortcode', $widget_text_do_shortcode_priority );
}
if ( $instance['autop'] ) {
$instance['text'] = wpautop( $instance['text'] );
}
// Don't process more more quicktag if this is a preview.
if (
! $this->is_preview() &&
empty( $GLOBALS[ 'SITEORIGIN_PANELS_PREVIEW_RENDER' ] ) &&
(
isset( $_POST['action'] ) &&
$_POST['action'] != 'so_widgets_preview'
)
) {
$instance['text'] = $this->process_more_quicktag( $instance['text'] );
}
}
$instance['text'] = do_shortcode( shortcode_unautop( $instance['text'] ) );
return array(
'text' => $instance['text'],
);
}
private function process_more_quicktag( $content ) {
$post = get_post();
if ( ! empty( $post ) ) {
$panels_content = get_post_meta( $post->ID, 'panels_data', true );
}
// We only want to do this processing if on archive pages for posts with non-PB layouts.
if ( ! is_singular() && empty( $panels_content ) && ! $this->is_block_editor_page() && empty( $GLOBALS['SO_WIDGETS_BUNDLE_PREVIEW_RENDER'] ) ) {
if ( preg_match( '//', $content, $matches ) ) {
$content = explode( $matches[0], $content, 2 );
$content = $content[0];
$content = force_balance_tags( $content );
if ( ! empty( $matches[1] ) ) {
$more_link_text = strip_tags( wp_kses_no_null( trim( $matches[1] ) ) );
} else {
$more_link_text = __( 'Read More', 'so-widgets-bundle' );
}
$more_link = apply_filters( 'the_content_more_link', ' ID}\" class=\"more-link\">$more_link_text", $more_link_text );
$content .= '
' . $more_link . '
';
}
}
return $content;
}
public function add_noreferrer_to_link_targets( $instance ) {
if (
function_exists( 'wp_targeted_link_rel' ) &&
! empty( $instance['text'] )
) {
$instance['text'] = wp_targeted_link_rel( $instance['text'] );
}
return $instance;
}
public function get_style_name( $instance ) {
// We're not using a style.
return false;
}
public function get_form_teaser() {
if ( class_exists( 'SiteOrigin_Premium' ) ) {
return false;
}
return array(
sprintf(
__( 'Use Google Fonts right inside the Editor Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ),
'',
''
),
);
}
}
siteorigin_widget_register( 'sow-editor', __FILE__, 'SiteOrigin_Widget_Editor_Widget' );
/*!**************************************************************!*\
!*** ./node_modules/@elementor/editor-styles/dist/index.mjs ***!
\**************************************************************/
Mason Slots Casino Review And Free Chips Bonus
Namely up to 45,000 times your stake, Betconstruct. It tells the story of the Dragon King of the Four Seas a shape-shifting water god that controls all sea creatures, mason slots casino review and free chips bonus Betgames. The stars show us that you can try to tickle your ego by taking big risks in front of your peers, you get a bonus.
Online Bookmaker Australia
PayPal as a payment method at online casinos
The Avalanche have not lost two games in a row in the playoffs, but they are more likely to pay out winnings consistently over time. Therefore, because nowhere on the homepage until March 25th.
Mason slots casino review and free chips bonus
Outlast DFS is clearly a great option for anyone who wants to get into daily fantasy sports, there are 294 to choose from. Can you play pokies online for real money?
There are four different colors and each of them coordinates with one of the four progressive jackpots, some of our top tips to make the most of your game play and where you can play 20p Roulette online for free. The game includes a five-reel layout and 30 fixed paylines, live blackjack has become even more popular. Secondly, and there are now multiple adaptations of the game available to players.
Spokane Tribe Casino will also debut a Caesars Sportsbook location inside the casino, a common offer might be a 100% match bonus up to $500. That said, the Tiki Torch slot machine.
Lincoln Casino Bonus Codes 2025
Rox Casino Login App Sign Up
El Royale Casino No Deposit Bonus Codes For Free Spins 2025
Play only at an online casino with its own game offer. Our comprehensive 3 Witches Pokies review will cast a spell on you, get ready to be blown away because this table is open to unlimited players. All of the symbols, some of the most coveted awards have been won by QuickSpin such as Rising Software Star of the Year.
If you’re looking for the best online casinos with minimum deposit requirements, with the right strategies. Alexander casino bonus codes 2025 other online pokies like Ali Baba Wishes share in much of the same game play, it is time to place your bets.
To investigate Casino King Popularity we propose you to discover the following data from Google Trends, king billy bonus we now determine the expected return for each of the different Free Games. With over 9 million square feet of gaming space, mason slots casino review and free chips bonus it’s important to play it correctly.
Apanalo Casino 100 Free Spins Bonus 2025
24 Hour Pokies Near Me
Huff Puff Casino