public function assets() { return [function () { $renderer = $this->debugBar->getJavascriptRenderer(); $renderer->setOpenHandlerUrl('/open.php'); $this->debugBar->sendDataInHeaders(true); return $renderer->renderHead() . $renderer->render(); }]; }
/** * Constructor * @param mixed $options Options for the wrapper and/or debugbar * @param StandardDebugBar $debugbar The PHP debug bar object for test mocking */ public function __construct($options = array(), $debugbar = null) { // set defaults $this->options = array_merge(array('enabled' => true, 'base_url' => ''), $options); // set debugbar // if null, we can assume that the develop wants to use the StandardDebugBar // otherwise, we can pass in a mock instance for testing so not too tightly // coupled if ($debugbar instanceof StandardDebugBar) { $this->debugbar = $debugbar; } else { $this->debugbar = new StandardDebugBar(); } // set renderer $this->debugbarRenderer = $this->debugbar->getJavascriptRenderer()->setBaseUrl($this->options['base_url']); }
/** * @param string $autoloadPath */ public function initAjaxDebuger($autoloadPath) { $uploadDir = $this->getUploadDir(); $this->initOpenHandler($uploadDir['path'], $autoloadPath); $this->setStorage($uploadDir['path']); $this->debugBar->getJavascriptRenderer()->setOpenHandlerUrl($uploadDir['url'] . '/open.php'); $this->debugBar->sendDataInHeaders(true); }
/** * Sets up Php Debug Bar * @throws \DebugBar\DebugBarException */ private function setDebugging() { // check debug $this->load->config('php_debug_bar', true, true); $debugConfig = $this->config->item('php_debug_bar'); $this->twig->addGlobal('debug', $debugConfig['init_debug_bar']); $this->debuggerEnabled = $debugConfig['init_debug_bar']; if ($debugConfig['init_debug_bar']) { $this->load->helper('url'); $this->debugBar = new \DebugBar\StandardDebugBar(); $this->twig->addGlobal('debugger', $this->debugBar->getJavascriptRenderer()->setBaseUrl(base_url() . 'debug/')); // attach doctrine hook if ($debugConfig['doctrine_hook']) { $stack = $this->doctrine->getDebugStack(); if ($stack) { $this->debugBar->addCollector(new DebugBar\Bridge\DoctrineCollector($stack)); } } } }
/** * Add the debugger assets to the Grav Assets * * @return $this */ public function addAssets() { if ($this->enabled()) { /** @var Assets $assets */ $assets = $this->grav['assets']; // Add jquery library $assets->add('jquery', 101); $this->renderer = $this->debugbar->getJavascriptRenderer(); $this->renderer->setIncludeVendors(false); // Get the required CSS files list($css_files, $js_files) = $this->renderer->getAssets(null, JavascriptRenderer::RELATIVE_URL); foreach ($css_files as $css) { $assets->addCss($css); } $assets->addCss('/system/assets/debugger.css'); foreach ($js_files as $js) { $assets->addJs($js); } } return $this; }
function __construct() { global $debugbar; $debugbar = new StandardDebugBar(); return; if (is_admin()) { add_action('admin_head', function () use($debugbar) { $this->debugbarRenderer = $debugbar->getJavascriptRenderer(get_template_directory_uri() . '/vendor/maximebf/debugbar/src/DebugBar/Resources'); echo $this->debugbarRenderer->renderHead(); }); add_action('admin_footer', function () { $this->debugbarRenderer->setOpenHandlerUrl(get_bloginfo('template_url') . '/app/helpers/open.php'); echo $this->debugbarRenderer->render(); }); } else { add_action('wp_head', function () use($debugbar) { $this->debugbarRenderer = $debugbar->getJavascriptRenderer(get_template_directory_uri() . '/vendor/maximebf/debugbar/src/DebugBar/Resources'); echo $this->debugbarRenderer->renderHead(); }); add_action('wp_footer', function () { echo $this->debugbarRenderer->render(); }); } }
public function render($menuContent, $pageContent, $extKey) { $mainConfig = Config::load('app'); if ($mainConfig['mode'] === 'development') { $debugbar = new StandardDebugBar(); $debugbarRenderer = $debugbar->getJavascriptRenderer(); $debugbarHead = $debugbarRenderer->renderHead(); $debugbarFoot = $debugbarRenderer->render(); } else { $debugbarHead = ''; $debugbarFoot = ''; } $templates = new Twig_Loader_Filesystem(APP . 'design/themes' . DS . $mainConfig['theme'] . DS . 'templates/ext'); $skeletons = new Twig_Loader_Filesystem(APP . 'design/skeletons/' . $mainConfig['skeleton']); $twigTemplate = new Twig_Environment($templates); $twigSkeleton = new Twig_Environment($skeletons); $skeleton = $twigSkeleton->loadTemplate($mainConfig['skeleton'] . '.twig'); $renderedPage = $twigTemplate->render($extKey . '.twig', ['debugbarHead' => $debugbarHead, 'debugbarFoot' => $debugbarFoot, 'menuContent' => $menuContent, 'pageContent' => $pageContent, 'skeleton' => $skeleton]); return $renderedPage; }
public function route($uri = false) { if (!$uri) { if (empty($_SERVER['REDIRECT_URL'])) { if (stristr($_SERVER['REQUEST_URI'], '?') !== false) { $uri = stristr($_SERVER['REQUEST_URI'], '?', true); } else { $uri = $_SERVER['REQUEST_URI']; } } else { $uri = $_SERVER['REDIRECT_URL']; } } $context = new RequestContext($uri); $locator = new FileLocator(array(dirname(__FILE__) . '/../conf')); $router = new Router(new PhpFileLoader($locator), 'routes.php', array('cache_dir' => null), $context); if (!$uri) { $uri = $this->httpRequest->getPathInfo(); } $this->route = $router->match($uri); $this->controller = new $this->route['class']($this); if (DEBUG_BAR) { $this->debugbar->addCollector(new ConfigCollector($this->config)); $debugbarRenderer = $this->debugbar->getJavascriptRenderer(); $this->debugbar["messages"]->addMessage("Debug Bar enabled"); $this->controller->setData('debugbarRenderer', $debugbarRenderer); } //set action to index is its not set if (empty($this->route['action'])) { $this->route['action'] = $this->route['_route'] == '/' ? "index" : $this->route['_route']; } $action = $this->route['action']; if (!method_exists($this->controller, $action)) { throw new Exception('Method Not found'); } $this->controller->{$action}(); }
$folder = $includesDir . "/classes"; $files = scandir($folder); foreach ($files as $filename) { if ($filename != "." && $filename != "..") { if (strpos($filename, '.php') !== false) { require $folder . "/" . $filename; } } } if (DISPLAY_DEBUG) { ini_set("display_errors", 1); ini_set("log_errors", true); error_reporting(E_WARNING && E_ERROR); $debugbar = new StandardDebugBar(); $debugbar->addCollector(new \DebugBar\DataCollector\MessagesCollector('database')); $debugbarRenderer = $debugbar->getJavascriptRenderer(); //Initialize a global $db object (and include the logger) once to lighten memory usage $db = new Database($debugbar); } else { ini_set("display_errors", 0); ini_set("log_errors", true); error_reporting(0); //Initialize a global $db object once to lighten memory usage $db = new Database(); } //include all helper functions $folder = $includesDir . "/helpers"; $files = scandir($folder); foreach ($files as $filename) { if ($filename != "." && $filename != "..") { if (strpos($filename, '.php') !== false) {
public function getRenderer() { $this->renderer = $this->debugBar->getJavascriptRenderer("/debugbar"); return $this->renderer; }
/** * DebugBarProvider constructor. * @param StandardDebugBar $debugBar */ public function init(StandardDebugBar $debugBar) { $this->debugBar = $debugBar; $this->debugBarRenderer = $debugBar->getJavascriptRenderer(); }
<?php include __DIR__ . '/../tests/bootstrap.php'; // for stack data session_start(); use DebugBar\StandardDebugBar; $debugbar = new StandardDebugBar(); $debugbarRenderer = $debugbar->getJavascriptRenderer()->setBaseUrl('../src/DebugBar/Resources')->setEnableJqueryNoConflict(false); // // create a writable profiles folder in the demo directory to uncomment the following lines // // $debugbar->setStorage(new DebugBar\Storage\FileStorage(__DIR__ . '/profiles')); // $debugbar->setStorage(new DebugBar\Storage\RedisStorage(new Predis\Client())); // $debugbarRenderer->setOpenHandlerUrl('open.php'); function render_demo_page(Closure $callback = null) { global $debugbarRenderer; ?> <html> <head> <?php echo $debugbarRenderer->renderHead(); ?> <script type="text/javascript"> $(function() { $('.ajax').click(function() { var container = $(this).parent().html('...'); $.get(this.href, function(data) { container.html(data); }); return false;