Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /AppServ/www/app/Plugin/DebugKit/Lib/Panel/ |
Upload File : |
<?php /** * SqlLog Panel * * Provides debug information on the SQL logs and provides links to an ajax explain interface. * * PHP 5 * * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) * @link http://cakephp.org CakePHP(tm) Project * @package DebugKit.Lib.Panel * @license http://www.opensource.org/licenses/mit-license.php MIT License */ App::uses('DebugPanel', 'DebugKit.Lib'); /** * Class SqlLogPanel * * @package DebugKit.Lib.Panel */ class SqlLogPanel extends DebugPanel { /** * Minimum number of Rows Per Millisecond that must be returned by a query before an explain * is done. * * @var int */ public $slowRate = 20; /** * Gets the connection names that should have logs + dumps generated. * * @param \Controller|string $controller * @return array */ public function beforeRender(Controller $controller) { if (!class_exists('ConnectionManager')) { return array(); } $connections = array(); $dbConfigs = ConnectionManager::sourceList(); foreach ($dbConfigs as $configName) { $driver = null; $db = ConnectionManager::getDataSource($configName); if ( (empty($db->config['driver']) && empty($db->config['datasource'])) || !method_exists($db, 'getLog') ) { continue; } if (isset($db->config['datasource'])) { $driver = $db->config['datasource']; } $explain = false; $isExplainable = (preg_match('/(Mysql|Postgres)$/', $driver)); if ($isExplainable) { $explain = true; } $connections[$configName] = $explain; } return array('connections' => $connections, 'threshold' => $this->slowRate); } }