mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-01-11 01:07:39 +08:00
57 lines
1.2 KiB
PHP
57 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
/*
|
||
|
* This file is part of the Predis package.
|
||
|
*
|
||
|
* (c) Daniele Alessandri <suppakilla@gmail.com>
|
||
|
*
|
||
|
* For the full copyright and license information, please view the LICENSE
|
||
|
* file that was distributed with this source code.
|
||
|
*/
|
||
|
|
||
|
namespace Predis\Command;
|
||
|
|
||
|
/**
|
||
|
* @link http://redis.io/commands/info
|
||
|
*
|
||
|
* @author Daniele Alessandri <suppakilla@gmail.com>
|
||
|
*/
|
||
|
class ServerInfoV26x extends ServerInfo
|
||
|
{
|
||
|
/**
|
||
|
* {@inheritdoc}
|
||
|
*/
|
||
|
public function parseResponse($data)
|
||
|
{
|
||
|
if ($data === '') {
|
||
|
return array();
|
||
|
}
|
||
|
|
||
|
$info = array();
|
||
|
|
||
|
$current = null;
|
||
|
$infoLines = preg_split('/\r?\n/', $data);
|
||
|
|
||
|
if (isset($infoLines[0]) && $infoLines[0][0] !== '#') {
|
||
|
return parent::parseResponse($data);
|
||
|
}
|
||
|
|
||
|
foreach ($infoLines as $row) {
|
||
|
if ($row === '') {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
if (preg_match('/^# (\w+)$/', $row, $matches)) {
|
||
|
$info[$matches[1]] = array();
|
||
|
$current = &$info[$matches[1]];
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
list($k, $v) = $this->parseRow($row);
|
||
|
$current[$k] = $v;
|
||
|
}
|
||
|
|
||
|
return $info;
|
||
|
}
|
||
|
}
|