/** * Takes the $panels data and converts it into an icon only display * @param array $panels * @return array */ public function ee_debug_toolbar_mod_panel(array $panels, array $view = array()) { $this->EE->benchmark->mark('eedt_minimal_start'); $panels = $this->EE->extensions->last_call != '' ? $this->EE->extensions->last_call : $panels; foreach ($panels as $key => $value) { $panels[$key]->set_button_icon_alt_text($panels[$key]->get_name()); $panels[$key]->set_button_label(''); } $theme_css_url = eedt_theme_url() . 'eedt_minimal/css/'; $panels[$key]->add_css($theme_css_url . 'minimal.css', TRUE); $this->EE->benchmark->mark('eedt_minimal_end'); return $panels; }
public function ee_debug_toolbar_add_panel(array $panels, array $view) { $this->EE->benchmark->mark('eedt_log_viewer_start'); $panels = $this->EE->extensions->last_call != '' ? $this->EE->extensions->last_call : $panels; $vars['panel_fetch_url'] = $this->EE->toolbar->create_act_url('get_panel_logs', __CLASS__); $vars['theme_img_url'] = eedt_theme_url() . 'eedt_log_viewer/images/'; $vars['theme_js_url'] = eedt_theme_url() . 'eedt_log_viewer/js/'; $vars['theme_css_url'] = eedt_theme_url() . 'eedt_log_viewer/css/'; $panels['log_viewer'] = new Eedt_panel_model(); $panels['log_viewer']->set_name('log_viewer'); $panels['log_viewer']->set_button_icon($vars['theme_img_url'] . 'logs.png'); $panels['log_viewer']->set_button_label(lang('log_viewer')); $panels['log_viewer']->set_panel_contents($this->EE->load->view('log_viewer', $vars, TRUE)); $panels['log_viewer']->set_panel_fetch_url($vars['panel_fetch_url']); $this->EE->benchmark->mark('eedt_log_viewer_end'); return $panels; }
/** * Create Theme Asset URLs * * @param string $theme * @return string */ public function create_theme_url($theme, $sub_dir = '') { $path = eedt_theme_path(); $url = eedt_theme_url(); if (is_dir($path . "ee_debug_toolbar/themes/" . $theme . "/{$sub_dir}/")) { return $url . "ee_debug_toolbar/themes/" . $theme . "/{$sub_dir}/"; } return $url . "ee_debug_toolbar/themes/" . $this->default_theme . "/{$sub_dir}/"; }
/** * Add panel to UI & track memory and SQL usage * * @param Eedt_panel_model[] $panels * @param array $vars * @return Eedt_panel_model[] */ public function ee_debug_toolbar_add_panel($panels = array(), $vars = array()) { $this->EE->benchmark->mark('eedt_memory_history_start'); $panels = $this->EE->extensions->last_call != '' ? $this->EE->extensions->last_call : $panels; $settings = $this->EE->toolbar->get_settings(); $panels['memory_history'] = new Eedt_panel_model(); $panels['memory_history']->set_name("memory_history"); $panels['memory_history']->set_panel_contents($this->EE->load->view('memory_history', array('position' => $settings['memory_history_position']), true)); $panels['memory_history']->add_js('https://www.google.com/jsapi', true); $panels['memory_history']->add_js(eedt_theme_url() . 'eedt_memory_history/js/memory_history.js', true); $panels['memory_history']->add_css(eedt_theme_url() . 'eedt_memory_history/css/memory_history.css', true); $panels['memory_history']->set_injection_point(Eedt_panel_model::PANEL_AFTER_TOOLBAR); $this->track_memory_and_sql_usage($vars); $this->EE->benchmark->mark('eedt_memory_history_end'); return $panels; }
public function ee_debug_toolbar_mod_panel(array $panels, array $view = array()) { $this->EE->benchmark->mark('eedt_performance_alerts_start'); $panels = $this->EE->extensions->last_call != '' ? $this->EE->extensions->last_call : $panels; $settings = $this->EE->toolbar->get_settings(); $view['settings'] = $settings; //check total time if ($view['elapsed_time'] > $settings['max_exec_time']) { $panels['time']->set_panel_css_class('flash'); } //make sure we're not running too many queries if ($view['query_count'] > $settings['max_queries']) { $panels['database']->set_panel_css_class('flash'); } //and how long did those queries take? if ($view['query_data']['total_time'] > $settings['max_sql_time']) { $panels['database']->set_panel_css_class('flash'); } //is memory usage bad? if ($view['memory_usage'] > $settings['max_memory']) { $panels['memory']->set_panel_css_class('flash'); } $view['perf_theme_img_url'] = eedt_theme_url() . 'eedt_perf_alerts/images/'; $view['perf_theme_js_url'] = eedt_theme_url() . 'eedt_perf_alerts/js/'; $view['perf_theme_css_url'] = eedt_theme_url() . 'eedt_perf_alerts/css/'; $panels['database']->set_panel_contents($this->EE->load->view('db', $view, TRUE)); $panels['database']->add_js($view['perf_theme_js_url'] . 'perf_alerts.js'); $this->EE->benchmark->mark('eedt_performance_alerts_end'); return $panels; }