Pony.fm/app/ProfileRequest.php
2015-10-23 18:22:14 -07:00

79 lines
1.5 KiB
PHP

<?php
namespace Poniverse\Ponyfm;
use DB;
class ProfileRequest
{
private $_id = null;
private $_data = null;
public static function load($data)
{
$req = new ProfileRequest();
$req->_data = json_decode($data);
return $req;
}
/**
* @return ProfileRequest
*/
public static function create()
{
$req = new ProfileRequest();
$req->_id = uniqid();
return $req;
}
private function __construct()
{
$this->_data = ['log' => []];
}
public function toArray()
{
return $this->_data;
}
public function toString()
{
return json_encode($this->_data);
}
public function getId()
{
return $this->_id;
}
public function recordQueries()
{
$this->_data['queries'] = [];
foreach (DB::getQueryLog() as $query) {
if (starts_with($query['query'], 'select * from `cache` where')) {
continue;
}
if (starts_with($query['query'], 'delete from `cache` where')) {
continue;
}
if (starts_with($query['query'], 'insert into `cache`')) {
continue;
}
$this->_data['queries'][] = $query;
}
}
public function log($level, $message, $context)
{
$this->_data['log'][] = [
'level' => $level,
'message' => $message
];
}
}