| | |
| | | |
| | | list($mbox, $items) = $this->tokenizeResponse($response, 2); |
| | | |
| | | // Fix for #1487859. Some buggy server returns not quoted |
| | | // folder name with spaces. Let's try to handle this situation |
| | | if (!is_array($items) && ($pos = strpos($response, '(')) !== false) { |
| | | $response = substr($response, $pos); |
| | | $items = $this->tokenizeResponse($response, 1); |
| | | if (!is_array($items)) { |
| | | return $result; |
| | | } |
| | | } |
| | | |
| | | for ($i=0, $len=count($items); $i<$len; $i += 2) { |
| | | $result[$items[$i]] = (int) $items[$i+1]; |
| | | } |
| | |
| | | { |
| | | if (is_array($items) && !empty($items)) { |
| | | foreach ($items as $key => $value) { |
| | | $args[] = $this->escape($key); |
| | | $args[] = $this->escape($value); |
| | | $args[] = $this->escape($key, true); |
| | | $args[] = $this->escape($value, true); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if ($code == self::ERROR_OK && preg_match('/\* ID /i', $response)) { |
| | | $response = substr($response, 5); // remove prefix "* ID " |
| | | $items = $this->tokenizeResponse($response); |
| | | $items = $this->tokenizeResponse($response, 1); |
| | | $result = null; |
| | | |
| | | for ($i=0, $len=count($items); $i<$len; $i += 2) { |