Linux server1.sbs.cy 5.14.0-362.18.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jan 29 07:05:48 EST 2024 x86_64
Apache
: 199.192.25.12 | : 172.70.131.70
28 Domain
8.1.31
administrator
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
home /
administrator /
landing.sbs.cy /
wp-includes /
[ HOME SHELL ]
Name
Size
Permission
Action
ID3
[ DIR ]
drwxr-xr-x
IXR
[ DIR ]
drwxr-xr-x
PHPMailer
[ DIR ]
drwxr-xr-x
Requests
[ DIR ]
drwxr-xr-x
SimplePie
[ DIR ]
drwxr-xr-x
Text
[ DIR ]
drwxr-xr-x
assets
[ DIR ]
drwxr-xr-x
block-bindings
[ DIR ]
drwxr-xr-x
block-patterns
[ DIR ]
drwxr-xr-x
block-supports
[ DIR ]
drwxr-xr-x
blocks
[ DIR ]
drwxr-xr-x
certificates
[ DIR ]
drwxr-xr-x
css
[ DIR ]
drwxr-xr-x
customize
[ DIR ]
drwxr-xr-x
fonts
[ DIR ]
drwxr-xr-x
html-api
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
interactivity-api
[ DIR ]
drwxr-xr-x
js
[ DIR ]
drwxr-xr-x
l10n
[ DIR ]
drwxr-xr-x
php-compat
[ DIR ]
drwxr-xr-x
pomo
[ DIR ]
drwxr-xr-x
rest-api
[ DIR ]
drwxr-xr-x
sitemaps
[ DIR ]
drwxr-xr-x
sodium_compat
[ DIR ]
drwxr-xr-x
style-engine
[ DIR ]
drwxr-xr-x
theme-compat
[ DIR ]
drwxr-xr-x
widgets
[ DIR ]
drwxr-xr-x
admin-bar.php
36.03
KB
-rw-r--r--
atomlib.php
11.67
KB
-rw-r--r--
author-template.php
18.51
KB
-rw-r--r--
block-bindings.php
5.51
KB
-rw-r--r--
block-editor.php
27.27
KB
-rw-r--r--
block-i18n.json
316
B
-rw-r--r--
block-patterns.php
12.85
KB
-rw-r--r--
block-template-utils.php
52.6
KB
-rw-r--r--
block-template.php
12
KB
-rw-r--r--
blocks.php
80
KB
-rw-r--r--
bookmark-template.php
12.61
KB
-rw-r--r--
bookmark.php
15.06
KB
-rw-r--r--
cache-compat.php
5.83
KB
-rw-r--r--
cache.php
13.16
KB
-rw-r--r--
canonical.php
33.7
KB
-rw-r--r--
capabilities.php
39.09
KB
-rw-r--r--
category-template.php
55.67
KB
-rw-r--r--
category.php
12.41
KB
-rw-r--r--
class-IXR.php
2.48
KB
-rw-r--r--
class-avif-info.php
28.92
KB
-rw-r--r--
class-feed.php
529
B
-rw-r--r--
class-http.php
367
B
-rw-r--r--
class-json.php
42.66
KB
-rw-r--r--
class-oembed.php
401
B
-rw-r--r--
class-phpass.php
6.55
KB
-rw-r--r--
class-phpmailer.php
664
B
-rw-r--r--
class-pop3.php
20.48
KB
-rw-r--r--
class-requests.php
2.18
KB
-rw-r--r--
class-simplepie.php
95.76
KB
-rw-r--r--
class-smtp.php
457
B
-rw-r--r--
class-snoopy.php
36.83
KB
-rw-r--r--
class-walker-category-dropdown...
2.41
KB
-rw-r--r--
class-walker-category.php
8.28
KB
-rw-r--r--
class-walker-comment.php
13.88
KB
-rw-r--r--
class-walker-nav-menu.php
11.05
KB
-rw-r--r--
class-walker-page-dropdown.php
2.65
KB
-rw-r--r--
class-walker-page.php
7.43
KB
-rw-r--r--
class-wp-admin-bar.php
17.43
KB
-rw-r--r--
class-wp-ajax-response.php
5.14
KB
-rw-r--r--
class-wp-application-passwords...
12.55
KB
-rw-r--r--
class-wp-block-bindings-regist...
8.78
KB
-rw-r--r--
class-wp-block-bindings-source...
2.13
KB
-rw-r--r--
class-wp-block-editor-context....
1.32
KB
-rw-r--r--
class-wp-block-list.php
4.65
KB
-rw-r--r--
class-wp-block-parser-block.ph...
2.5
KB
-rw-r--r--
class-wp-block-parser-frame.ph...
1.87
KB
-rw-r--r--
class-wp-block-parser.php
11.26
KB
-rw-r--r--
class-wp-block-pattern-categor...
5.25
KB
-rw-r--r--
class-wp-block-patterns-regist...
11.34
KB
-rw-r--r--
class-wp-block-styles-registry...
5.75
KB
-rw-r--r--
class-wp-block-supports.php
5.39
KB
-rw-r--r--
class-wp-block-template.php
1.91
KB
-rw-r--r--
class-wp-block-type-registry.p...
4.9
KB
-rw-r--r--
class-wp-block-type.php
16.81
KB
-rw-r--r--
class-wp-block.php
16.71
KB
-rw-r--r--
class-wp-classic-to-block-menu...
3.99
KB
-rw-r--r--
class-wp-comment-query.php
46.86
KB
-rw-r--r--
class-wp-comment.php
9.15
KB
-rw-r--r--
class-wp-customize-control.php
25.25
KB
-rw-r--r--
class-wp-customize-manager.php
197.52
KB
-rw-r--r--
class-wp-customize-nav-menus.p...
55.99
KB
-rw-r--r--
class-wp-customize-panel.php
10.42
KB
-rw-r--r--
class-wp-customize-section.php
10.98
KB
-rw-r--r--
class-wp-customize-setting.php
29.19
KB
-rw-r--r--
class-wp-customize-widgets.php
69.93
KB
-rw-r--r--
class-wp-date-query.php
34.89
KB
-rw-r--r--
class-wp-dependencies.php
13.73
KB
-rw-r--r--
class-wp-dependency.php
2.57
KB
-rw-r--r--
class-wp-duotone.php
38.61
KB
-rw-r--r--
class-wp-editor.php
70.47
KB
-rw-r--r--
class-wp-embed.php
15.62
KB
-rw-r--r--
class-wp-error.php
7.33
KB
-rw-r--r--
class-wp-fatal-error-handler.p...
7.76
KB
-rw-r--r--
class-wp-feed-cache-transient....
2.53
KB
-rw-r--r--
class-wp-feed-cache.php
969
B
-rw-r--r--
class-wp-hook.php
15.63
KB
-rw-r--r--
class-wp-http-cookie.php
7.22
KB
-rw-r--r--
class-wp-http-curl.php
12.25
KB
-rw-r--r--
class-wp-http-encoding.php
6.53
KB
-rw-r--r--
class-wp-http-ixr-client.php
3.42
KB
-rw-r--r--
class-wp-http-proxy.php
5.84
KB
-rw-r--r--
class-wp-http-requests-hooks.p...
1.97
KB
-rw-r--r--
class-wp-http-requests-respons...
4.3
KB
-rw-r--r--
class-wp-http-response.php
2.91
KB
-rw-r--r--
class-wp-http-streams.php
16.46
KB
-rw-r--r--
class-wp-http.php
39.76
KB
-rw-r--r--
class-wp-image-editor-gd.php
18.44
KB
-rw-r--r--
class-wp-image-editor-imagick....
31.35
KB
-rw-r--r--
class-wp-image-editor.php
17.19
KB
-rw-r--r--
class-wp-list-util.php
7.27
KB
-rw-r--r--
class-wp-locale-switcher.php
6.47
KB
-rw-r--r--
class-wp-locale.php
15.74
KB
-rw-r--r--
class-wp-matchesmapregex.php
1.79
KB
-rw-r--r--
class-wp-meta-query.php
29.82
KB
-rw-r--r--
class-wp-metadata-lazyloader.p...
6.67
KB
-rw-r--r--
class-wp-navigation-fallback.p...
9
KB
-rw-r--r--
class-wp-network-query.php
18.99
KB
-rw-r--r--
class-wp-network.php
11.9
KB
-rw-r--r--
class-wp-object-cache.php
17.18
KB
-rw-r--r--
class-wp-oembed-controller.php
6.72
KB
-rw-r--r--
class-wp-oembed.php
30.66
KB
-rw-r--r--
class-wp-paused-extensions-sto...
4.97
KB
-rw-r--r--
class-wp-plugin-dependencies.p...
24.8
KB
-rw-r--r--
class-wp-post-type.php
29.28
KB
-rw-r--r--
class-wp-post.php
6.33
KB
-rw-r--r--
class-wp-query.php
148.28
KB
-rw-r--r--
class-wp-recovery-mode-cookie-...
6.72
KB
-rw-r--r--
class-wp-recovery-mode-email-s...
10.92
KB
-rw-r--r--
class-wp-recovery-mode-key-ser...
4.49
KB
-rw-r--r--
class-wp-recovery-mode-link-se...
3.38
KB
-rw-r--r--
class-wp-recovery-mode.php
11.17
KB
-rw-r--r--
class-wp-rewrite.php
61.94
KB
-rw-r--r--
class-wp-role.php
2.46
KB
-rw-r--r--
class-wp-roles.php
8.38
KB
-rw-r--r--
class-wp-script-modules.php
13.16
KB
-rw-r--r--
class-wp-scripts.php
27.25
KB
-rw-r--r--
class-wp-session-tokens.php
7.28
KB
-rw-r--r--
class-wp-simplepie-file.php
3.3
KB
-rw-r--r--
class-wp-simplepie-sanitize-ks...
1.73
KB
-rw-r--r--
class-wp-site-query.php
30.4
KB
-rw-r--r--
class-wp-site.php
7.28
KB
-rw-r--r--
class-wp-styles.php
10.64
KB
-rw-r--r--
class-wp-tax-query.php
19.1
KB
-rw-r--r--
class-wp-taxonomy.php
18.13
KB
-rw-r--r--
class-wp-term-query.php
40.2
KB
-rw-r--r--
class-wp-term.php
5.17
KB
-rw-r--r--
class-wp-text-diff-renderer-in...
979
B
-rw-r--r--
class-wp-text-diff-renderer-ta...
18.37
KB
-rw-r--r--
class-wp-textdomain-registry.p...
9.64
KB
-rw-r--r--
class-wp-theme-json-data.php
1.52
KB
-rw-r--r--
class-wp-theme-json-resolver.p...
24.6
KB
-rw-r--r--
class-wp-theme-json-schema.php
4.12
KB
-rw-r--r--
class-wp-theme-json.php
132.21
KB
-rw-r--r--
class-wp-theme.php
62.81
KB
-rw-r--r--
class-wp-user-meta-session-tok...
2.92
KB
-rw-r--r--
class-wp-user-query.php
42.5
KB
-rw-r--r--
class-wp-user-request.php
2.17
KB
-rw-r--r--
class-wp-user.php
22.29
KB
-rw-r--r--
class-wp-walker.php
12.87
KB
-rw-r--r--
class-wp-widget-factory.php
3.27
KB
-rw-r--r--
class-wp-widget.php
17.96
KB
-rw-r--r--
class-wp-xmlrpc-server.php
209.91
KB
-rw-r--r--
class-wp.php
25.51
KB
-rw-r--r--
class-wpdb.php
116.67
KB
-rw-r--r--
class.wp-dependencies.php
373
B
-rw-r--r--
class.wp-scripts.php
343
B
-rw-r--r--
class.wp-styles.php
338
B
-rw-r--r--
comment-template.php
99.25
KB
-rw-r--r--
comment.php
126.1
KB
-rw-r--r--
compat.php
15.85
KB
-rw-r--r--
cron.php
40.51
KB
-rw-r--r--
date.php
400
B
-rw-r--r--
default-constants.php
10.91
KB
-rw-r--r--
default-filters.php
34.18
KB
-rw-r--r--
default-widgets.php
2.17
KB
-rw-r--r--
deprecated.php
181.5
KB
-rw-r--r--
embed-template.php
338
B
-rw-r--r--
embed.php
36.79
KB
-rw-r--r--
error-protection.php
4.02
KB
-rw-r--r--
feed-atom-comments.php
5.38
KB
-rw-r--r--
feed-atom.php
2.98
KB
-rw-r--r--
feed-rdf.php
2.61
KB
-rw-r--r--
feed-rss.php
1.16
KB
-rw-r--r--
feed-rss2-comments.php
4.04
KB
-rw-r--r--
feed-rss2.php
3.71
KB
-rw-r--r--
feed.php
22.52
KB
-rw-r--r--
fonts.php
9.14
KB
-rw-r--r--
formatting.php
327.83
KB
-rw-r--r--
functions.php
271.83
KB
-rw-r--r--
functions.wp-scripts.php
14.22
KB
-rw-r--r--
functions.wp-styles.php
8.38
KB
-rw-r--r--
general-template.php
164
KB
-rw-r--r--
global-styles-and-settings.php
20.76
KB
-rw-r--r--
http.php
23.29
KB
-rw-r--r--
https-detection.php
5.53
KB
-rw-r--r--
https-migration.php
4.63
KB
-rw-r--r--
kses.php
70.26
KB
-rw-r--r--
l10n.php
63.86
KB
-rw-r--r--
link-template.php
152.42
KB
-rw-r--r--
load.php
53.69
KB
-rw-r--r--
locale.php
162
B
-rw-r--r--
media-template.php
60.37
KB
-rw-r--r--
media.php
205.28
KB
-rw-r--r--
meta.php
62.58
KB
-rw-r--r--
ms-blogs.php
25.13
KB
-rw-r--r--
ms-default-constants.php
4.79
KB
-rw-r--r--
ms-default-filters.php
6.48
KB
-rw-r--r--
ms-deprecated.php
21.25
KB
-rw-r--r--
ms-files.php
2.65
KB
-rw-r--r--
ms-functions.php
89.1
KB
-rw-r--r--
ms-load.php
19.4
KB
-rw-r--r--
ms-network.php
3.69
KB
-rw-r--r--
ms-settings.php
4.03
KB
-rw-r--r--
ms-site.php
39.55
KB
-rw-r--r--
nav-menu-template.php
25.18
KB
-rw-r--r--
nav-menu.php
43.04
KB
-rw-r--r--
option.php
89.21
KB
-rw-r--r--
pluggable-deprecated.php
6.12
KB
-rw-r--r--
pluggable.php
110.49
KB
-rw-r--r--
plugin.php
34.63
KB
-rw-r--r--
post-formats.php
6.93
KB
-rw-r--r--
post-template.php
65.23
KB
-rw-r--r--
post-thumbnail-template.php
10.07
KB
-rw-r--r--
post.php
275.23
KB
-rw-r--r--
query.php
36.17
KB
-rw-r--r--
registration-functions.php
200
B
-rw-r--r--
registration.php
200
B
-rw-r--r--
rest-api.php
96.16
KB
-rw-r--r--
revision.php
30.18
KB
-rw-r--r--
rewrite.php
19.06
KB
-rw-r--r--
robots-template.php
5.06
KB
-rw-r--r--
rss-functions.php
255
B
-rw-r--r--
rss.php
22.54
KB
-rw-r--r--
script-loader.php
127.46
KB
-rw-r--r--
script-modules.php
5.88
KB
-rw-r--r--
session.php
258
B
-rw-r--r--
shortcodes.php
23.39
KB
-rw-r--r--
sitemaps.php
3.16
KB
-rw-r--r--
spl-autoload-compat.php
441
B
-rw-r--r--
style-engine.php
7.03
KB
-rw-r--r--
taxonomy.php
170.9
KB
-rw-r--r--
template-canvas.php
544
B
-rw-r--r--
template-loader.php
2.94
KB
-rw-r--r--
template.php
23.59
KB
-rw-r--r--
theme-i18n.json
1.12
KB
-rw-r--r--
theme-previews.php
2.77
KB
-rw-r--r--
theme-templates.php
6.08
KB
-rw-r--r--
theme.json
7.19
KB
-rw-r--r--
theme.php
129.98
KB
-rw-r--r--
update.php
35.96
KB
-rw-r--r--
user.php
167.56
KB
-rw-r--r--
vars.php
6.24
KB
-rw-r--r--
version.php
930
B
-rw-r--r--
widgets.php
68.95
KB
-rw-r--r--
wp-db.php
445
B
-rw-r--r--
wp-diff.php
647
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : class-wp-block-type.php
<?php /** * Blocks API: WP_Block_Type class * * @package WordPress * @subpackage Blocks * @since 5.0.0 */ /** * Core class representing a block type. * * @since 5.0.0 * * @see register_block_type() */ #[AllowDynamicProperties] class WP_Block_Type { /** * Block API version. * * @since 5.6.0 * @var int */ public $api_version = 1; /** * Block type key. * * @since 5.0.0 * @var string */ public $name; /** * Human-readable block type label. * * @since 5.5.0 * @var string */ public $title = ''; /** * Block type category classification, used in search interfaces * to arrange block types by category. * * @since 5.5.0 * @var string|null */ public $category = null; /** * Setting parent lets a block require that it is only available * when nested within the specified blocks. * * @since 5.5.0 * @var string[]|null */ public $parent = null; /** * Setting ancestor makes a block available only inside the specified * block types at any position of the ancestor's block subtree. * * @since 6.0.0 * @var string[]|null */ public $ancestor = null; /** * Limits which block types can be inserted as children of this block type. * * @since 6.5.0 * @var string[]|null */ public $allowed_blocks = null; /** * Block type icon. * * @since 5.5.0 * @var string|null */ public $icon = null; /** * A detailed block type description. * * @since 5.5.0 * @var string */ public $description = ''; /** * Additional keywords to produce block type as result * in search interfaces. * * @since 5.5.0 * @var string[] */ public $keywords = array(); /** * The translation textdomain. * * @since 5.5.0 * @var string|null */ public $textdomain = null; /** * Alternative block styles. * * @since 5.5.0 * @var array */ public $styles = array(); /** * Block variations. * * @since 5.8.0 * @since 6.5.0 Only accessible through magic getter. null by default. * @var array[]|null */ private $variations = null; /** * Block variations callback. * * @since 6.5.0 * @var callable|null */ public $variation_callback = null; /** * Custom CSS selectors for theme.json style generation. * * @since 6.3.0 * @var array */ public $selectors = array(); /** * Supported features. * * @since 5.5.0 * @var array|null */ public $supports = null; /** * Structured data for the block preview. * * @since 5.5.0 * @var array|null */ public $example = null; /** * Block type render callback. * * @since 5.0.0 * @var callable */ public $render_callback = null; /** * Block type attributes property schemas. * * @since 5.0.0 * @var array|null */ public $attributes = null; /** * Context values inherited by blocks of this type. * * @since 5.5.0 * @var string[] */ private $uses_context = array(); /** * Context provided by blocks of this type. * * @since 5.5.0 * @var string[]|null */ public $provides_context = null; /** * Block hooks for this block type. * * A block hook is specified by a block type and a relative position. * The hooked block will be automatically inserted in the given position * next to the "anchor" block whenever the latter is encountered. * * @since 6.4.0 * @var string[] */ public $block_hooks = array(); /** * Block type editor only script handles. * * @since 6.1.0 * @var string[] */ public $editor_script_handles = array(); /** * Block type front end and editor script handles. * * @since 6.1.0 * @var string[] */ public $script_handles = array(); /** * Block type front end only script handles. * * @since 6.1.0 * @var string[] */ public $view_script_handles = array(); /** * Block type front end only script module IDs. * * @since 6.5.0 * @var string[] */ public $view_script_module_ids = array(); /** * Block type editor only style handles. * * @since 6.1.0 * @var string[] */ public $editor_style_handles = array(); /** * Block type front end and editor style handles. * * @since 6.1.0 * @var string[] */ public $style_handles = array(); /** * Block type front end only style handles. * * @since 6.5.0 * @var string[] */ public $view_style_handles = array(); /** * Deprecated block type properties for script and style handles. * * @since 6.1.0 * @var string[] */ private $deprecated_properties = array( 'editor_script', 'script', 'view_script', 'editor_style', 'style', ); /** * Attributes supported by every block. * * @since 6.0.0 Added `lock`. * @since 6.5.0 Added `metadata`. * @var array */ const GLOBAL_ATTRIBUTES = array( 'lock' => array( 'type' => 'object' ), 'metadata' => array( 'type' => 'object' ), ); /** * Constructor. * * Will populate object properties from the provided arguments. * * @since 5.0.0 * @since 5.5.0 Added the `title`, `category`, `parent`, `icon`, `description`, * `keywords`, `textdomain`, `styles`, `supports`, `example`, * `uses_context`, and `provides_context` properties. * @since 5.6.0 Added the `api_version` property. * @since 5.8.0 Added the `variations` property. * @since 5.9.0 Added the `view_script` property. * @since 6.0.0 Added the `ancestor` property. * @since 6.1.0 Added the `editor_script_handles`, `script_handles`, `view_script_handles, * `editor_style_handles`, and `style_handles` properties. * Deprecated the `editor_script`, `script`, `view_script`, `editor_style`, and `style` properties. * @since 6.3.0 Added the `selectors` property. * @since 6.4.0 Added the `block_hooks` property. * @since 6.5.0 Added the `view_style_handles` property. * * @see register_block_type() * * @param string $block_type Block type name including namespace. * @param array|string $args { * Optional. Array or string of arguments for registering a block type. Any arguments may be defined, * however the ones described below are supported by default. Default empty array. * * @type string $api_version Block API version. * @type string $title Human-readable block type label. * @type string|null $category Block type category classification, used in * search interfaces to arrange block types by category. * @type string[]|null $parent Setting parent lets a block require that it is only * available when nested within the specified blocks. * @type string[]|null $ancestor Setting ancestor makes a block available only inside the specified * block types at any position of the ancestor's block subtree. * @type string[]|null $allowed_blocks Limits which block types can be inserted as children of this block type. * @type string|null $icon Block type icon. * @type string $description A detailed block type description. * @type string[] $keywords Additional keywords to produce block type as * result in search interfaces. * @type string|null $textdomain The translation textdomain. * @type array[] $styles Alternative block styles. * @type array[] $variations Block variations. * @type array $selectors Custom CSS selectors for theme.json style generation. * @type array|null $supports Supported features. * @type array|null $example Structured data for the block preview. * @type callable|null $render_callback Block type render callback. * @type callable|null $variation_callback Block type variations callback. * @type array|null $attributes Block type attributes property schemas. * @type string[] $uses_context Context values inherited by blocks of this type. * @type string[]|null $provides_context Context provided by blocks of this type. * @type string[] $block_hooks Block hooks. * @type string[] $editor_script_handles Block type editor only script handles. * @type string[] $script_handles Block type front end and editor script handles. * @type string[] $view_script_handles Block type front end only script handles. * @type string[] $editor_style_handles Block type editor only style handles. * @type string[] $style_handles Block type front end and editor style handles. * @type string[] $view_style_handles Block type front end only style handles. * } */ public function __construct( $block_type, $args = array() ) { $this->name = $block_type; $this->set_props( $args ); } /** * Proxies getting values for deprecated properties for script and style handles for backward compatibility. * Gets the value for the corresponding new property if the first item in the array provided. * * @since 6.1.0 * * @param string $name Deprecated property name. * * @return string|string[]|null|void The value read from the new property if the first item in the array provided, * null when value not found, or void when unknown property name provided. */ public function __get( $name ) { if ( 'variations' === $name ) { return $this->get_variations(); } if ( 'uses_context' === $name ) { return $this->get_uses_context(); } if ( ! in_array( $name, $this->deprecated_properties, true ) ) { return; } $new_name = $name . '_handles'; if ( ! property_exists( $this, $new_name ) || ! is_array( $this->{$new_name} ) ) { return null; } if ( count( $this->{$new_name} ) > 1 ) { return $this->{$new_name}; } return isset( $this->{$new_name}[0] ) ? $this->{$new_name}[0] : null; } /** * Proxies checking for deprecated properties for script and style handles for backward compatibility. * Checks whether the corresponding new property has the first item in the array provided. * * @since 6.1.0 * * @param string $name Deprecated property name. * * @return bool Returns true when for the new property the first item in the array exists, * or false otherwise. */ public function __isset( $name ) { if ( in_array( $name, array( 'variations', 'uses_context' ), true ) ) { return true; } if ( ! in_array( $name, $this->deprecated_properties, true ) ) { return false; } $new_name = $name . '_handles'; return isset( $this->{$new_name}[0] ); } /** * Proxies setting values for deprecated properties for script and style handles for backward compatibility. * Sets the value for the corresponding new property as the first item in the array. * It also allows setting custom properties for backward compatibility. * * @since 6.1.0 * * @param string $name Property name. * @param mixed $value Property value. */ public function __set( $name, $value ) { if ( ! in_array( $name, $this->deprecated_properties, true ) ) { $this->{$name} = $value; return; } $new_name = $name . '_handles'; if ( is_array( $value ) ) { $filtered = array_filter( $value, 'is_string' ); if ( count( $filtered ) !== count( $value ) ) { _doing_it_wrong( __METHOD__, sprintf( /* translators: %s: The '$value' argument. */ __( 'The %s argument must be a string or a string array.' ), '<code>$value</code>' ), '6.1.0' ); } $this->{$new_name} = array_values( $filtered ); return; } if ( ! is_string( $value ) ) { return; } $this->{$new_name} = array( $value ); } /** * Renders the block type output for given attributes. * * @since 5.0.0 * * @param array $attributes Optional. Block attributes. Default empty array. * @param string $content Optional. Block content. Default empty string. * @return string Rendered block type output. */ public function render( $attributes = array(), $content = '' ) { if ( ! $this->is_dynamic() ) { return ''; } $attributes = $this->prepare_attributes_for_render( $attributes ); return (string) call_user_func( $this->render_callback, $attributes, $content ); } /** * Returns true if the block type is dynamic, or false otherwise. A dynamic * block is one which defers its rendering to occur on-demand at runtime. * * @since 5.0.0 * * @return bool Whether block type is dynamic. */ public function is_dynamic() { return is_callable( $this->render_callback ); } /** * Validates attributes against the current block schema, populating * defaulted and missing values. * * @since 5.0.0 * * @param array $attributes Original block attributes. * @return array Prepared block attributes. */ public function prepare_attributes_for_render( $attributes ) { // If there are no attribute definitions for the block type, skip // processing and return verbatim. if ( ! isset( $this->attributes ) ) { return $attributes; } foreach ( $attributes as $attribute_name => $value ) { // If the attribute is not defined by the block type, it cannot be // validated. if ( ! isset( $this->attributes[ $attribute_name ] ) ) { continue; } $schema = $this->attributes[ $attribute_name ]; // Validate value by JSON schema. An invalid value should revert to // its default, if one exists. This occurs by virtue of the missing // attributes loop immediately following. If there is not a default // assigned, the attribute value should remain unset. $is_valid = rest_validate_value_from_schema( $value, $schema, $attribute_name ); if ( is_wp_error( $is_valid ) ) { unset( $attributes[ $attribute_name ] ); } } // Populate values of any missing attributes for which the block type // defines a default. $missing_schema_attributes = array_diff_key( $this->attributes, $attributes ); foreach ( $missing_schema_attributes as $attribute_name => $schema ) { if ( isset( $schema['default'] ) ) { $attributes[ $attribute_name ] = $schema['default']; } } return $attributes; } /** * Sets block type properties. * * @since 5.0.0 * * @param array|string $args Array or string of arguments for registering a block type. * See WP_Block_Type::__construct() for information on accepted arguments. */ public function set_props( $args ) { $args = wp_parse_args( $args, array( 'render_callback' => null, ) ); $args['name'] = $this->name; // Setup attributes if needed. if ( ! isset( $args['attributes'] ) || ! is_array( $args['attributes'] ) ) { $args['attributes'] = array(); } // Register core attributes. foreach ( static::GLOBAL_ATTRIBUTES as $attr_key => $attr_schema ) { if ( ! array_key_exists( $attr_key, $args['attributes'] ) ) { $args['attributes'][ $attr_key ] = $attr_schema; } } /** * Filters the arguments for registering a block type. * * @since 5.5.0 * * @param array $args Array of arguments for registering a block type. * @param string $block_type Block type name including namespace. */ $args = apply_filters( 'register_block_type_args', $args, $this->name ); foreach ( $args as $property_name => $property_value ) { $this->$property_name = $property_value; } } /** * Get all available block attributes including possible layout attribute from Columns block. * * @since 5.0.0 * * @return array Array of attributes. */ public function get_attributes() { return is_array( $this->attributes ) ? $this->attributes : array(); } /** * Get block variations. * * @since 6.5.0 * * @return array[] */ public function get_variations() { if ( ! isset( $this->variations ) ) { $this->variations = array(); if ( is_callable( $this->variation_callback ) ) { $this->variations = call_user_func( $this->variation_callback ); } } /** * Filters the registered variations for a block type. * * @since 6.5.0 * * @param array $variations Array of registered variations for a block type. * @param WP_Block_Type $block_type The full block type object. */ return apply_filters( 'get_block_type_variations', $this->variations, $this ); } /** * Get block uses context. * * @since 6.5.0 * * @return array[] */ public function get_uses_context() { /** * Filters the registered uses context for a block type. * * @since 6.5.0 * * @param array $uses_context Array of registered uses context for a block type. * @param WP_Block_Type $block_type The full block type object. */ return apply_filters( 'get_block_type_uses_context', $this->uses_context, $this ); } }
Close