Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
wp-includes /
blocks /
Delete
Unzip
Name
Size
Permission
Date
Action
accordion
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
accordion-heading
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
accordion-item
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
accordion-panel
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
archives
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
audio
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
avatar
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
block
[ DIR ]
drwxr-sr-x
2024-07-23 20:49
breadcrumbs
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
button
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
buttons
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
calendar
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
categories
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
code
[ DIR ]
drwxr-sr-x
2022-11-02 08:49
column
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
columns
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
comment-author-name
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
comment-content
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comment-date
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
comment-edit-link
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
comment-reply-link
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
comment-template
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comments
[ DIR ]
drwxr-sr-x
2022-11-02 08:49
comments-pagination
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comments-pagination-next
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comments-pagination-numbers
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comments-pagination-previous
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
comments-title
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
cover
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
details
[ DIR ]
drwxr-sr-x
2023-08-08 20:49
embed
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
file
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
footnotes
[ DIR ]
drwxr-sr-x
2023-08-08 20:49
freeform
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
gallery
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
group
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
heading
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
home-link
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
html
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
icon
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
image
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
latest-comments
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
latest-posts
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
legacy-widget
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
list
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
list-item
[ DIR ]
drwxr-sr-x
2022-11-02 08:49
loginout
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
math
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
media-text
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
missing
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
more
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
navigation
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
navigation-link
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
navigation-overlay-close
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
navigation-submenu
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
nextpage
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
page-list
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
page-list-item
[ DIR ]
drwxr-sr-x
2023-03-29 20:58
paragraph
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
pattern
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
playlist
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
playlist-track
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
post-author
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
post-author-biography
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
post-author-name
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
post-comments-count
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
post-comments-form
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
post-comments-link
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
post-content
[ DIR ]
drwxr-sr-x
2025-04-16 15:00
post-date
[ DIR ]
drwxr-sr-x
2022-11-02 08:49
post-excerpt
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
post-featured-image
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
post-navigation-link
[ DIR ]
drwxr-sr-x
2023-03-29 20:58
post-template
[ DIR ]
drwxr-sr-x
2025-04-16 15:00
post-terms
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
post-time-to-read
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
post-title
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
preformatted
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
pullquote
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
query
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
query-no-results
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
query-pagination
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
query-pagination-next
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
query-pagination-numbers
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
query-pagination-previous
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
query-title
[ DIR ]
drwxr-sr-x
2022-11-02 08:49
query-total
[ DIR ]
drwxr-sr-x
2025-04-16 15:00
quote
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
read-more
[ DIR ]
drwxr-sr-x
2022-05-24 20:50
rss
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
search
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
separator
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
shortcode
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
site-logo
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
site-tagline
[ DIR ]
drwxr-sr-x
2024-11-14 00:00
site-title
[ DIR ]
drwxr-sr-x
2023-03-29 20:58
social-link
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
social-links
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
spacer
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
tab-list
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
tab-panel
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
tab-panels
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
table
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
tabs
[ DIR ]
drwxr-sr-x
2026-08-20 16:07
tag-cloud
[ DIR ]
drwxr-sr-x
2026-07-03 02:00
template-part
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
term-count
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
term-description
[ DIR ]
drwxr-sr-x
2023-08-08 20:49
term-name
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
term-template
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
terms-query
[ DIR ]
drwxr-sr-x
2025-12-28 11:24
text-columns
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
verse
[ DIR ]
drwxr-sr-x
2021-12-06 16:06
video
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
widget-group
[ DIR ]
drwxr-sr-x
2022-03-04 08:12
accordion-item.php
2.98
KB
-rw-r--r--
2026-08-20 16:07
accordion.php
1.12
KB
-rw-r--r--
2025-12-28 11:24
archives.php
4.28
KB
-rw-r--r--
2026-07-03 02:00
avatar.php
5.51
KB
-rw-r--r--
2026-08-20 16:07
block.php
3.05
KB
-rw-r--r--
2026-08-20 16:07
blocks-json.php
205.72
KB
-rw-r--r--
2026-08-20 16:07
breadcrumbs.php
18.61
KB
-rw-r--r--
2026-07-03 02:00
button.php
4.11
KB
-rw-r--r--
2026-08-20 16:07
calendar.php
5.93
KB
-rw-r--r--
2024-07-16 20:49
categories.php
4.82
KB
-rw-r--r--
2026-07-03 02:00
comment-author-name.php
2.09
KB
-rw-r--r--
2026-08-20 16:07
comment-content.php
2.4
KB
-rw-r--r--
2024-07-16 20:49
comment-date.php
1.82
KB
-rw-r--r--
2026-08-20 16:07
comment-edit-link.php
1.67
KB
-rw-r--r--
2024-07-16 20:49
comment-reply-link.php
2.03
KB
-rw-r--r--
2024-07-16 20:49
comment-template.php
4.39
KB
-rw-r--r--
2024-07-16 20:49
comments-pagination-next.php
1.88
KB
-rw-r--r--
2024-11-14 00:00
comments-pagination-numbers.php
1.59
KB
-rw-r--r--
2024-07-16 20:49
comments-pagination-previous.php
1.75
KB
-rw-r--r--
2024-11-14 00:00
comments-pagination.php
1.23
KB
-rw-r--r--
2025-12-28 11:24
comments-title.php
2.72
KB
-rw-r--r--
2026-07-03 02:00
comments.php
6.63
KB
-rw-r--r--
2025-12-28 11:24
cover.php
7.23
KB
-rw-r--r--
2026-08-20 16:07
details.php
1.46
KB
-rw-r--r--
2026-07-03 02:00
file.php
1.83
KB
-rw-r--r--
2025-12-28 11:24
footnotes.php
3.73
KB
-rw-r--r--
2026-07-03 02:00
gallery.php
21.82
KB
-rw-r--r--
2026-08-20 16:07
heading.php
1.27
KB
-rw-r--r--
2024-07-16 20:49
home-link.php
4.59
KB
-rw-r--r--
2026-08-20 16:07
icon.php
4.27
KB
-rw-r--r--
2026-08-20 16:07
image.php
17.23
KB
-rw-r--r--
2026-08-20 16:07
index.php
4.98
KB
-rw-r--r--
2026-08-20 16:07
latest-comments.php
5.49
KB
-rw-r--r--
2026-08-20 16:07
latest-posts.php
10.21
KB
-rw-r--r--
2026-08-20 16:07
legacy-widget.php
3.92
KB
-rw-r--r--
2025-12-28 11:24
list.php
1.24
KB
-rw-r--r--
2024-07-16 20:49
loginout.php
2.07
KB
-rw-r--r--
2026-08-20 16:07
media-text.php
4.2
KB
-rw-r--r--
2026-07-03 02:00
navigation-link.php
16.26
KB
-rw-r--r--
2026-08-20 16:07
navigation-overlay-close.php
1.72
KB
-rw-r--r--
2026-07-03 02:00
navigation-submenu.php
10.79
KB
-rw-r--r--
2026-08-20 16:07
navigation.php
69.23
KB
-rw-r--r--
2026-08-20 16:07
page-list-item.php
361
B
-rw-r--r--
2024-07-16 20:49
page-list.php
13.54
KB
-rw-r--r--
2026-08-20 16:07
paragraph.php
1.11
KB
-rw-r--r--
2026-07-03 02:00
pattern.php
1.75
KB
-rw-r--r--
2025-04-16 15:00
playlist-track.php
2.43
KB
-rw-r--r--
2026-08-20 16:07
playlist.php
6.46
KB
-rw-r--r--
2026-08-20 16:07
post-author-biography.php
1.49
KB
-rw-r--r--
2024-07-16 20:49
post-author-name.php
1.92
KB
-rw-r--r--
2026-08-20 16:07
post-author.php
2.67
KB
-rw-r--r--
2025-04-30 21:00
post-comments-count.php
1.25
KB
-rw-r--r--
2025-12-28 11:24
post-comments-form.php
2.74
KB
-rw-r--r--
2024-07-16 20:49
post-comments-link.php
2.18
KB
-rw-r--r--
2025-12-28 11:24
post-content.php
2.61
KB
-rw-r--r--
2026-08-20 16:07
post-date.php
3.61
KB
-rw-r--r--
2026-08-20 16:07
post-excerpt.php
4.21
KB
-rw-r--r--
2026-07-03 02:00
post-featured-image.php
9.23
KB
-rw-r--r--
2026-08-20 16:07
post-navigation-link.php
4.69
KB
-rw-r--r--
2026-07-03 02:00
post-template.php
5.8
KB
-rw-r--r--
2026-08-20 16:07
post-terms.php
3.55
KB
-rw-r--r--
2025-04-16 15:00
post-time-to-read.php
6.26
KB
-rw-r--r--
2026-07-03 02:00
post-title.php
2.09
KB
-rw-r--r--
2024-07-16 20:49
query-no-results.php
1.8
KB
-rw-r--r--
2024-07-16 20:49
query-pagination-next.php
3.59
KB
-rw-r--r--
2026-07-03 02:00
query-pagination-numbers.php
4.59
KB
-rw-r--r--
2026-07-03 02:00
query-pagination-previous.php
3.39
KB
-rw-r--r--
2026-07-03 02:00
query-pagination.php
1.15
KB
-rw-r--r--
2024-07-16 20:49
query-title.php
2.71
KB
-rw-r--r--
2026-08-20 16:07
query-total.php
2.41
KB
-rw-r--r--
2026-07-03 02:00
query.php
5.56
KB
-rw-r--r--
2025-04-16 15:00
read-more.php
1.8
KB
-rw-r--r--
2026-08-20 16:07
require-dynamic-blocks.php
5.13
KB
-rw-r--r--
2026-08-20 16:07
require-static-blocks.php
535
B
-rw-r--r--
2026-08-20 16:07
rss.php
4.5
KB
-rw-r--r--
2026-08-20 16:07
search.php
25
KB
-rw-r--r--
2026-08-20 16:07
shortcode.php
735
B
-rw-r--r--
2024-07-16 20:49
site-logo.php
6.19
KB
-rw-r--r--
2024-11-14 00:00
site-tagline.php
1.17
KB
-rw-r--r--
2024-07-16 20:49
site-title.php
1.82
KB
-rw-r--r--
2025-12-28 11:24
social-link.php
66.02
KB
-rw-r--r--
2026-07-03 02:00
tab-list.php
2.27
KB
-rw-r--r--
2026-08-20 16:07
tab-panel.php
1.63
KB
-rw-r--r--
2026-08-20 16:07
tabs.php
3.86
KB
-rw-r--r--
2026-08-20 16:07
tag-cloud.php
1.55
KB
-rw-r--r--
2026-08-20 16:07
template-part.php
9.73
KB
-rw-r--r--
2026-08-20 16:07
term-count.php
1.8
KB
-rw-r--r--
2025-12-28 11:24
term-description.php
1.73
KB
-rw-r--r--
2025-12-28 11:24
term-name.php
1.99
KB
-rw-r--r--
2026-07-03 02:00
term-template.php
4.41
KB
-rw-r--r--
2026-07-03 02:00
video.php
2.67
KB
-rw-r--r--
2025-12-28 11:24
widget-group.php
2.38
KB
-rw-r--r--
2024-07-16 20:49
Save
Rename
<?php /** * Server-side rendering of the `core/playlist` block. * * @package WordPress */ /** * Renders the `core/playlist` block on server. * * @since 7.1.0 * * @param array $attributes The block attributes. * @param string $content The block content. * @param WP_Block $block The block instance. * * @return string Returns the Playlist. */ function render_block_core_playlist( $attributes, $content, $block ) { $playlist_id = wp_unique_id( 'playlist-' ); $playlist_tracks = array(); $tracks_data = array(); $show_play_button_artwork = ! empty( $attributes['showPlayButtonArtwork'] ); // Parse inner blocks to extract track data. // This approach avoids duplicating track data in the HTML output. if ( ! empty( $block->inner_blocks ) ) { foreach ( $block->inner_blocks as $inner_block ) { if ( 'core/playlist-track' === $inner_block->name ) { $track_attributes = $inner_block->attributes; if ( empty( $track_attributes['id'] ) ) { continue; } $track_id = 'track-' . count( $playlist_tracks ); $playlist_tracks[] = $track_id; // Extract track metadata from block attributes. $title = isset( $track_attributes['title'] ) && ! empty( $track_attributes['title'] ) ? $track_attributes['title'] : __( 'Unknown title' ); $artist = $track_attributes['artist'] ?? ''; $album = $track_attributes['album'] ?? ''; $image = $track_attributes['image'] ?? ''; $image_alt = $track_attributes['imageAlt'] ?? ''; $url = $track_attributes['src'] ?? ''; $aria_label = $title; if ( $title && $artist && $album ) { $aria_label = sprintf( /* translators: %1$s: track title, %2$s: artist name, %3$s: album name. */ _x( '%1$s by %2$s from the album %3$s', 'track title, artist name, album name' ), $title, $artist, $album ); } // Data is passed to wp_interactivity_state() which JSON-encodes it, // so we use wp_strip_all_tags() instead of esc_html() to prevent // HTML injection without double-encoding. URLs still use esc_url(). $tracks_data[ $track_id ] = array( 'url' => esc_url( $url ), 'title' => wp_strip_all_tags( $title ), 'artist' => wp_strip_all_tags( $artist ), 'album' => wp_strip_all_tags( $album ), 'image' => esc_url( $image ), 'imageAlt' => wp_strip_all_tags( $image_alt ), 'ariaLabel' => wp_strip_all_tags( $aria_label ), ); } } } if ( empty( $playlist_tracks ) ) { return ''; } wp_enqueue_script_module( '@wordpress/block-library/playlist/view' ); // Add the playlist tracks to the global state, // but keep them isolated from other playlists with the help of playlistId. wp_interactivity_state( 'core/playlist', array( 'playlists' => array( $playlist_id => array( 'tracks' => $tracks_data, ), ), ) ); // Add waveform player container with translated button labels. $label_play = esc_attr__( 'Play' ); $label_pause = esc_attr__( 'Pause' ); $label_seek = esc_attr__( 'Seek' ); /* translators: %1$s: current audio time, %2$s: total audio duration. */ $label_seek_value = esc_attr_x( '%1$s of %2$s', 'audio current time of total duration' ); $waveform_color_attribute = ''; $waveform_gradient_attribute = ''; $waveform_background_color_attribute = ''; $waveform_background_gradient_attribute = ''; if ( ! empty( $attributes['waveformColor'] ) ) { $waveform_color_attribute = sprintf( ' data-waveform-player-color="%s"', esc_attr( $attributes['waveformColor'] ) ); } if ( ! empty( $attributes['waveformGradient'] ) ) { $waveform_gradient_attribute = sprintf( ' data-waveform-player-gradient="%s"', esc_attr( $attributes['waveformGradient'] ) ); } if ( ! empty( $attributes['waveformBackgroundColor'] ) ) { $waveform_background_color_attribute = sprintf( ' data-waveform-player-background-color="%s"', esc_attr( $attributes['waveformBackgroundColor'] ) ); } if ( ! empty( $attributes['waveformBackgroundGradient'] ) ) { $waveform_background_gradient_attribute = sprintf( ' data-waveform-player-background-gradient="%s"', esc_attr( $attributes['waveformBackgroundGradient'] ) ); } $html = '<div class="wp-block-playlist__waveform-player"' . $waveform_color_attribute . $waveform_gradient_attribute . $waveform_background_color_attribute . $waveform_background_gradient_attribute . ' data-wp-watch="callbacks.initWaveformPlayer" data-label-play="' . $label_play . '" data-label-pause="' . $label_pause . '" data-label-seek="' . $label_seek . '" data-label-seek-value="' . $label_seek_value . '" ></div>'; // Add the waveform player container inside the figure. $figure = null; preg_match( '/<figure[^>]*>/', $content, $figure ); if ( ! empty( $figure[0] ) ) { $content = preg_replace( '/(<figure[^>]*>)/', '$1' . $html, $content, 1 ); } $processor = new WP_HTML_Tag_Processor( $content ); $processor->next_tag( 'figure' ); $processor->set_attribute( 'data-wp-interactive', 'core/playlist' ); $waveform_style = $attributes['waveformStyle'] ?? 'bars'; $processor->set_attribute( 'data-wp-context', wp_json_encode( array( 'playlistId' => $playlist_id, 'currentId' => $playlist_tracks[0], 'isPlaying' => false, 'tracks' => $playlist_tracks, 'waveformStyle' => $waveform_style, 'showPlayButtonArtwork' => $show_play_button_artwork, 'labelPauseTrack' => __( 'Pause' ), 'labelSelectTrack' => __( 'Play' ), ) ) ); // Track IDs are render-time only. Add them after inner blocks have rendered // so track buttons can update the Interactivity API state without storing // persistent unique IDs in post content. $track_index = 0; while ( $processor->next_tag( array( 'class_name' => 'wp-block-playlist-track__button' ) ) ) { $track_id = $playlist_tracks[ $track_index ] ?? null; if ( null === $track_id ) { break; } $processor->set_attribute( 'data-wp-context', wp_json_encode( array( 'trackId' => $track_id, ) ) ); ++$track_index; } return $processor->get_updated_html(); } /** * Registers the `core/playlist` block on server. * * @since 7.1.0 */ function register_block_core_playlist() { register_block_type_from_metadata( __DIR__ . '/playlist', array( 'render_callback' => 'render_block_core_playlist', ) ); } add_action( 'init', 'register_block_core_playlist' );