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 /** * History Panel * * Provides debug information on previous requests. * * 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 HistoryPanel * * @package DebugKit.Lib.Panel */ class HistoryPanel extends DebugPanel { /** * Number of history elements to keep * * @var string **/ public $history = 5; /** * Constructor * * @param array $settings Array of settings. * @return \HistoryPanel */ public function __construct($settings) { if (isset($settings['history'])) { $this->history = $settings['history']; } } /** * beforeRender callback function * * @param Controller $controller * @return array contents for panel */ public function beforeRender(Controller $controller) { $cacheKey = $controller->Toolbar->cacheKey; $toolbarHistory = Cache::read($cacheKey, 'debug_kit'); $historyStates = array(); if (is_array($toolbarHistory) && !empty($toolbarHistory)) { $prefix = array(); if (!empty($controller->request->params['prefix'])) { $prefix[$controller->request->params['prefix']] = false; } foreach ($toolbarHistory as $i => $state) { if (!isset($state['request']['content']['url'])) { continue; } $title = $state['request']['content']['url']; $query = @$state['request']['content']['query']; if (isset($query['url'])) { unset($query['url']); } if (!empty($query)) { $title .= '?' . urldecode(http_build_query($query)); } $historyStates[] = array( 'title' => $title, 'url' => array_merge($prefix, array( 'plugin' => 'debug_kit', 'controller' => 'toolbar_access', 'action' => 'history_state', $i + 1)) ); } } if (count($historyStates) >= $this->history) { array_pop($historyStates); } return $historyStates; } }