Subiendo proyecto completo sin restricciones de git ignore
This commit is contained in:
117
vendor/maximebf/debugbar/src/DebugBar/OpenHandler.php
vendored
Normal file
117
vendor/maximebf/debugbar/src/DebugBar/OpenHandler.php
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
<?php
|
||||
/*
|
||||
* This file is part of the DebugBar package.
|
||||
*
|
||||
* (c) 2013 Maxime Bouroumeau-Fuseau
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace DebugBar;
|
||||
|
||||
/**
|
||||
* Handler to list and open saved dataset
|
||||
*/
|
||||
class OpenHandler
|
||||
{
|
||||
protected $debugBar;
|
||||
|
||||
/**
|
||||
* @param DebugBar $debugBar
|
||||
* @throws DebugBarException
|
||||
*/
|
||||
public function __construct(DebugBar $debugBar)
|
||||
{
|
||||
if (!$debugBar->isDataPersisted()) {
|
||||
throw new DebugBarException("DebugBar must have a storage backend to use OpenHandler");
|
||||
}
|
||||
$this->debugBar = $debugBar;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the current request
|
||||
*
|
||||
* @param array $request Request data
|
||||
* @param bool $echo
|
||||
* @param bool $sendHeader
|
||||
* @return string
|
||||
* @throws DebugBarException
|
||||
*/
|
||||
public function handle($request = null, $echo = true, $sendHeader = true)
|
||||
{
|
||||
if ($request === null) {
|
||||
$request = $_REQUEST;
|
||||
}
|
||||
|
||||
$op = 'find';
|
||||
if (isset($request['op'])) {
|
||||
$op = $request['op'];
|
||||
if (!in_array($op, array('find', 'get', 'clear'))) {
|
||||
throw new DebugBarException("Invalid operation '{$request['op']}'");
|
||||
}
|
||||
}
|
||||
|
||||
if ($sendHeader) {
|
||||
$this->debugBar->getHttpDriver()->setHeaders(array(
|
||||
'Content-Type' => 'application/json'
|
||||
));
|
||||
}
|
||||
|
||||
$response = json_encode(call_user_func(array($this, $op), $request));
|
||||
if ($echo) {
|
||||
echo $response;
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find operation
|
||||
* @param $request
|
||||
* @return array
|
||||
*/
|
||||
protected function find($request)
|
||||
{
|
||||
$max = 20;
|
||||
if (isset($request['max'])) {
|
||||
$max = $request['max'];
|
||||
}
|
||||
|
||||
$offset = 0;
|
||||
if (isset($request['offset'])) {
|
||||
$offset = $request['offset'];
|
||||
}
|
||||
|
||||
$filters = array();
|
||||
foreach (array('utime', 'datetime', 'ip', 'uri', 'method') as $key) {
|
||||
if (isset($request[$key])) {
|
||||
$filters[$key] = $request[$key];
|
||||
}
|
||||
}
|
||||
|
||||
return $this->debugBar->getStorage()->find($filters, $max, $offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get operation
|
||||
* @param $request
|
||||
* @return array
|
||||
* @throws DebugBarException
|
||||
*/
|
||||
protected function get($request)
|
||||
{
|
||||
if (!isset($request['id'])) {
|
||||
throw new DebugBarException("Missing 'id' parameter in 'get' operation");
|
||||
}
|
||||
return $this->debugBar->getStorage()->get($request['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear operation
|
||||
*/
|
||||
protected function clear($request)
|
||||
{
|
||||
$this->debugBar->getStorage()->clear();
|
||||
return array('success' => true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user