Sindbad~EG File Manager
<?php
add_theme_support('post-thumbnails');
if (function_exists('acf_add_options_page')) {
acf_add_options_page(array(
'page_title' => 'General Settings',
'menu_title' => 'General Settings',
'menu_slug' => 'general-settings',
'capability' => 'edit_posts',
'redirect' => false
));
}
/* custom pretty var_dump */
function cd($data, $label = '', $return = false)
{
$debug = debug_backtrace();
$callingFile = $debug[0]['file'];
$callingFileLine = $debug[0]['line'];
ob_start();
var_dump($data);
$c = ob_get_contents();
ob_end_clean();
$c = preg_replace("/\r\n|\r/", "\n", $c);
$c = str_replace("]=>\n", '] = ', $c);
$c = preg_replace('/= {2,}/', '= ', $c);
$c = preg_replace("/\[\"(.*?)\"\] = /i", "[$1] = ", $c);
$c = preg_replace('/ /', " ", $c);
$c = preg_replace("/\"\"(.*?)\"/i", "\"$1\"", $c);
$c = preg_replace("/(int|float)\(([0-9\.]+)\)/i", "$1() <span class=\"number\">$2</span>", $c);
// Syntax Highlighting of Strings. This seems cryptic, but it will also allow non-terminated strings to get parsed.
$c = preg_replace("/(\[[\w ]+\] = string\([0-9]+\) )\"(.*?)/sim", "$1<span class=\"string\">\"", $c);
$c = preg_replace("/(\"\n{1,})( {0,}\})/sim", "$1</span>$2", $c);
$c = preg_replace("/(\"\n{1,})( {0,}\[)/sim", "$1</span>$2", $c);
$c = preg_replace("/(string\([0-9]+\) )\"(.*?)\"\n/sim", "$1<span class=\"string\">\"$2\"</span>\n", $c);
$regex = array(
// Numberrs
'numbers' => array('/(^|] = )(array|float|int|string|resource|object\(.*\)|\&object\(.*\))\(([0-9\.]+)\)/i', '$1$2(<span class="number">$3</span>)'),
// Keywords
'null' => array('/(^|] = )(null)/i', '$1<span class="keyword">$2</span>'),
'bool' => array('/(bool)\((true|false)\)/i', '$1(<span class="keyword">$2</span>)'),
// Types
'types' => array('/(of type )\((.*)\)/i', '$1(<span class="type">$2</span>)'),
// Objects
'object' => array('/(object|\&object)\(([\w]+)\)/i', '$1(<span class="object">$2</span>)'),
// Function
'function' => array('/(^|] = )(array|string|int|float|bool|resource|object|\&object)\(/i', '$1<span class="function">$2</span>('),
);
foreach ($regex as $x) {
$c = preg_replace($x[0], $x[1], $c);
}
$style = '
/* outside div - it will float and match the screen */
.dumpr {
margin: 2px;
padding: 2px;
background-color: #fbfbfb;
float: left;
clear: both;
}
/* font size and family */
.dumpr pre {
color: #000000;
font-size: 9pt;
font-family: "Courier New",Courier,Monaco,monospace;
margin: 0px;
padding-top: 5px;
padding-bottom: 7px;
padding-left: 9px;
padding-right: 9px;
}
/* inside div */
.dumpr div {
background-color: #fcfcfc;
border: 1px solid #d9d9d9;
float: left;
clear: both;
}
/* syntax highlighting */
.dumpr span.string {color: #c40000;}
.dumpr span.number {color: #ff0000;}
.dumpr span.keyword {color: #007200;}
.dumpr span.function {color: #0000c4;}
.dumpr span.object {color: #ac00ac;}
.dumpr span.type {color: #0072c4;}
';
$style = preg_replace("/ {2,}/", "", $style);
$style = preg_replace("/\t|\r\n|\r|\n/", "", $style);
$style = preg_replace("/\/\*.*?\*\//i", '', $style);
$style = str_replace('}', '} ', $style);
$style = str_replace(' {', '{', $style);
$style = trim($style);
$c = trim($c);
$c = preg_replace("/\n<\/span>/", "</span>\n", $c);
if ($label == '') {
$line1 = '';
} else {
$line1 = "<strong>$label</strong> \n";
}
$out = "\n<!-- Dumpr Begin -->\n" .
"<style type=\"text/css\">" . $style . "</style>\n" .
"<div class=\"dumpr\">
<div><pre>$line1 $callingFile : $callingFileLine \n$c\n</pre></div></div><div style=\"clear:both;\"> </div>" .
"\n<!-- Dumpr End -->\n";
if ($return) {
return $out;
} else {
echo $out;
}
}
function render_component($component_path, $props = [])
{
// Vérifie si le fichier existe
$full_path = get_template_directory() . '/' . $component_path;
if (!file_exists($full_path)) {
return "<!-- Component $component_path not found -->";
}
// Extrait les props en variables locales
extract($props);
// Capture le contenu du composant
ob_start();
include $full_path;
return ob_get_clean();
}
function custom_comment_output($comment, $args, $depth)
{
$GLOBALS['comment'] = $comment;
?>
<li <?php comment_class(); ?>>
<div class="comment-author">
<?php echo get_avatar($comment, 50); ?>
<div class="comment-author-details">
<p class="subheading font-semibold text-purple500 comment-meta-author">
<?php comment_author(); ?>
</p>
<span class="body-1 comment-meta-date">
<?php comment_date(); ?>
</span>
</div>
</div>
<div class="body-2 comment-content">
<?php comment_text(); ?>
</div>
<!-- <div class="comment-reply">
<?php comment_reply_link(array_merge($args, array('depth' => $depth, 'max_depth' => $args['max_depth']))); ?>
</div> -->
</li>
<?php
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists