diff --git a/override/classes/_FrontController.php b/override/classes/_FrontController.php index 759031c8e..1b522efdd 100755 --- a/override/classes/_FrontController.php +++ b/override/classes/_FrontController.php @@ -148,6 +148,15 @@ class FrontController extends FrontControllerCore return 'style="color:green"'; } + private function getObjectModelColor($n) + { + if ($n > 50) + return 'style="color:red"'; + if ($n > 10) + return 'style="color:orange"'; + return 'style="color:green"'; + } + public function __construct() { parent::__construct(); @@ -348,6 +357,7 @@ class FrontController extends FrontControllerCore
  • Go to Stopwatch
  • Go to Doubles
  • Go to Tables
  • + '.(isset(ObjectModel::$debug_list) ? '
  • Go to ObjectModels
  • ' : '').'
    @@ -370,5 +380,25 @@ class FrontController extends FrontControllerCore foreach ($tables as $table => $nb) echo $hr.'getTableColor($nb).'>'.$nb.' '.$table; echo '
    '; + + if (isset(ObjectModel::$debug_list)) + { + echo '
    +

    ObjectModel instances

    '; + $list = ObjectModel::$debug_list; + uasort($list, create_function('$a,$b', 'return (count($a) < count($b)) ? 1 : -1;')); + $i = 0; + foreach ($list as $class => $info) + { + echo $hr.'getObjectModelColor(count($info)).'>'.count($info).' '; + echo ''.$class.''; + echo ''; + $i++; + } + echo '
    '; + } } } diff --git a/override/classes/_ObjectModel.php b/override/classes/_ObjectModel.php new file mode 100644 index 000000000..d8396baef --- /dev/null +++ b/override/classes/_ObjectModel.php @@ -0,0 +1,28 @@ + $row) + if (!isset($backtrace[$trace_id]['class']) || !in_array($backtrace[$trace_id]['class'], $class_list)) + break; + $trace_id--; + + self::$debug_list[$classname][] = array( + 'file' => @$backtrace[$trace_id]['file'], + 'line' => @$backtrace[$trace_id]['line'], + ); + } +} +