function after() { if (class_exists('DebugToolbar')) { echo DebugToolbar::render(); } return parent::after(); }
function action_index() { $this->request->title = "Schedule Page"; $hourHeight = 50; $borderWidth = 1; $db = Database::instance(); $query = DB::Query(Database::SELECT, 'SELECT * FROM eventTypes', 'Model_User'); $result = $query->execute(); $eventTypes = $result->as_array('id'); $query = DB::Query(Database::SELECT, "SELECT UNIX_TIMESTAMP(date(startTime)) as day, max(hour(endTime)) as maxHour, max(minute(endTime)) as maxMin, min(hour(startTime)) as minHour, min(minute(startTime)) as minMin from events group by date(startTime)"); $result = $query->execute(); $hourData = $result->as_array('day'); $query = DB::Query(Database::SELECT, "SELECT e.*,r.name AS roomName,date(e.startTime) as eventDate FROM events e JOIN rooms r ON (e.roomId=r.id)"); $result = $query->execute(); do { $day = strtotime($result->get('eventDate')); $startTime = strtotime($result->get('startTime')); $realEndTime = strtotime($result->get('endTime')); $endTime = $realEndTime; do { $sameDay = date('z', $startTime) == date('z', $endTime); if (!$sameDay) { $endTime = strtotime(date('Y-m-d', $startTime) . 'T23:59:59' . date('O', $startTime)); } $eventData = array('name' => $result->get('name'), 'length' => 1, 'startTime' => $startTime, 'endTime' => $endTime, 'startTimeString' => date('c', $startTime), 'endTimeString' => date('c', $endTime)); foreach (range(1, 4) as $i) { $eventTypeName = $result->get('eventType' . $i) ? $eventTypes[$result->get('eventType' . $i)]['nameKey'] : 'closed'; $eventData['type'][$eventTypeName] = 1; } $eventData['type'] = array_keys($eventData['type']); $eventData['length'] = (int) floor(($eventData['endTime'] - $eventData['startTime']) / 60 / 30); $data[$result->get('roomName')][$day][$startTime] = $eventData; if (!$sameDay) { $hourData[$day]['maxHour'] = 23; $hourData[$day]['maxMin'] = 00; $startTime += 60 * 60 * 24; /* = 1 day*/ $day += 60 * 60 * 24; /* = 1 day*/ $startTime = strtotime(date('Y-m-d', $startTime) . 'T00:00:00' . date('O', $startTime)); $endTime = $realEndTime; $hourData[$day]['minHour'] = 00; $hourData[$day]['minMin'] = 00; } } while (!$sameDay); } while ($result->next() && $result->valid()); $days = array_keys($hourData); $rooms = array_keys($data); sort($rooms); $this->template->content = View::factory('schedule/index', array('eventTypes' => $eventTypes, 'borderWidth' => $borderWidth, 'days' => $days, 'rooms' => $rooms, 'hourData' => $hourData, 'hourHeight' => $hourHeight, 'data' => $data)); if (class_exists('DebugToolbar')) { echo DebugToolbar::render(); } }
echo "<h2>{$heading}</h2>"; } ?> <?php if ($subheading) { echo "<p class='h2'>{$subheading}</p>"; } ?> <!-- content start --> <?php print $content; ?> <?php print $profiler; ?> <!-- content end --> <br /> </div> </div> <?php if (class_exists('DebugToolbar', TRUE)) { echo DebugToolbar::render(); } ?> </body> </html>
/** * Returns the panel data in raw format. * * @return array */ public function getPanelData() { $data = array(); foreach ($this->_templates as $k => $v) { foreach ($v['vars'] as $kv => $vv) { $v['vars'][$kv] = DebugToolbar::prepareData($v['vars'][$kv]); } $data[$k] = $v; } return $data; }
* @var array $scriptProperties */ if ($modx->context->get('key') == 'mgr' || $modx->getOption('dbt.show_debug_toolbar') != '1') { return; } if ($modx->event->name == 'OnHandleRequest') { $jquery = 'document.write("<script src=\'assets/components/debugtoolbar/js/jquery-1.7.1.min.js\'>\\x3C/script>");'; $modx->regClientScript("<script>window.jQuery || " . $jquery . "</script>"); $modx->regClientScript(MODX_ASSETS_URL . 'components/debugtoolbar/js/debug_toolbar.js'); $modx->regClientCSS(MODX_ASSETS_URL . 'components/debugtoolbar/css/debug_toolbar.css'); $modx->regClientCSS(MODX_ASSETS_URL . 'components/debugtoolbar/css/highlight.css'); $target = array('target' => 'FILE', 'options' => array('filename' => 'debug.log')); $modx->setLogTarget($target); $dbt_class = 'core.components.debugtoolbar.om.debugtoolbar'; $modx->loadClass($dbt_class, MODX_BASE_PATH, true); } if ($modx->event->name == 'OnParseDocument') { if (isset(DebugToolbar::$petCount[md5($content)])) { DebugToolbar::$petCount[md5($content)]['count']++; } else { DebugToolbar::$petCount[md5($content)] = array('count' => 1); } if (DebugToolbar::$petCount[md5($content)]['count'] > 20) { DebugToolbar::$petCount[md5($content)]['content'] = $content; } } if ($modx->event->name == 'OnWebPagePrerender') { DebugToolbar::$disableLogging = true; $modx->setOption('dbt.show_debug_toolbar', 0); $modx->resource->_output = str_replace('</body>', DebugToolbar::printLog() . '</body>', $modx->resource->_output); }
/** * Return the debug toolbar template. * * @return mixed */ public function debug_toolbar() { if (Kohana::$environment === Kohana::DEVELOPMENT and class_exists('DebugToolbar')) { return DebugToolbar::render(); } }
/** * Returns the panel data in raw format. * * @return array */ public function getPanelData() { $data = array(); foreach ($this->_log as $k => $v) { if (isset($v['trace'])) { foreach ($v['trace'] as $kt => $vt) { if (isset($vt['object'])) { // need to truncate object entry in trace items because it's generating enormous amount of data $v['trace'][$kt]['object'] = DebugToolbar::prepareData($vt['object'], -1); } $v['trace'][$kt]['args'] = DebugToolbar::prepareData($vt['args']); } } $data[$k] = $v; } return $data; }
public function __construct($dsn, $username = null, $password = null) { self::$base_path = MODX_CORE_PATH . 'components/logger/'; parent::__construct($dsn, $username, $password); }
/** * Creates a formatted array of all Benchmarks * * @return array formatted benchmarks */ public static function get_benchmarks() { if (Kohana::$profiling == FALSE) { return array(); } if (self::$_benchmarks !== FALSE) { return self::$_benchmarks; } $groups = Profiler::groups(); $result = array(); foreach (array_keys($groups) as $group) { if (strpos($group, 'database (') === FALSE) { foreach ($groups[$group] as $name => $marks) { $stats = Profiler::stats($marks); $result[$group][] = array('name' => $name, 'count' => count($marks), 'total_time' => $stats['total']['time'], 'avg_time' => $stats['average']['time'], 'total_memory' => $stats['total']['memory'], 'avg_memory' => $stats['average']['memory']); } } } // add total stats $total = Profiler::application(); $result['application'] = array('count' => 1, 'total_time' => $total['current']['time'], 'avg_time' => $total['average']['time'], 'total_memory' => $total['current']['memory'], 'avg_memory' => $total['average']['memory']); self::$_benchmarks = $result; return $result; }
public function run() { if (!class_exists('DebugToolbar')) { return parent::run(); } if (!DebugToolbar::isEnable()) { return parent::run(); } $this->init(); $this->_memory['init'] = memory_get_usage(); $this->_mempeak['init'] = memory_get_peak_usage(); $this->_time['init'] = microtime(true); if ($this->checkAccess()) { $this->_memory['checkAccess'] = memory_get_usage(); $this->_mempeak['checkAccess'] = memory_get_peak_usage(); $this->_time['checkAccess'] = microtime(true); if (!$this->content_only && ($this->display_header || isset($this->className) && $this->className)) { $this->setMedia(); } $this->_memory['setMedia'] = memory_get_usage(); $this->_mempeak['setMedia'] = memory_get_peak_usage(); $this->_time['setMedia'] = microtime(true); // postProcess handles ajaxProcess $this->postProcess(); $this->_memory['postProcess'] = memory_get_usage(); $this->_mempeak['postProcess'] = memory_get_peak_usage(); $this->_time['postProcess'] = microtime(true); if (!empty($this->redirect_after)) { $this->redirect(); } if (!$this->content_only && ($this->display_header || isset($this->className) && $this->className)) { $this->initHeader(); } $this->_memory['initHeader'] = memory_get_usage(); $this->_mempeak['initHeader'] = memory_get_peak_usage(); $this->_time['initHeader'] = microtime(true); $this->initContent(); $this->_memory['initContent'] = memory_get_usage(); $this->_mempeak['initContent'] = memory_get_peak_usage(); $this->_time['initContent'] = microtime(true); if (!$this->content_only && ($this->display_footer || isset($this->className) && $this->className)) { $this->initFooter(); } $this->_memory['initFooter'] = memory_get_usage(); $this->_mempeak['initFooter'] = memory_get_peak_usage(); $this->_time['initFooter'] = microtime(true); // default behavior for ajax process is to use $_POST[action] or $_GET[action] // then using displayAjax[action] if ($this->ajax) { $action = Tools::getValue('action'); if (!empty($action) && method_exists($this, 'displayAjax' . Tools::toCamelCase($action))) { $this->{'displayAjax' . $action}(); } elseif (method_exists($this, 'displayAjax')) { $this->displayAjax(); } } else { $this->displayDebug(); } } else { $this->initCursedPage(); $this->displayDebug(); } }