* folders from the personal and any empty namespace, we prefix folders
* from the empty namespace with the delimiter.
*
- * @param string $mailbox The folder path.
+ * @param string $folder The folder path.
* @param boolean $append True - convert from preference value.
* False - convert to preference value.
*
strpos($folder, $empty_ns['delimiter']) === 0) {
/* Prefixed with delimiter => from empty namespace. */
$folder = substr($folder, strlen($empty_ns['delimiter']));
- } elseif (($ns = $GLOBALS['imp_imap']->getNamespace($folder, false)) == null) {
+ } elseif (($ns = $GLOBALS['imp_imap']->getNamespace($folder)) == null) {
/* No namespace prefix => from personal namespace. */
$folder = $def_ns['name'] . $folder;
}
$folder = $empty_ns['delimiter'] . $folder;
}
}
+
return $folder;
}
protected $_readonly = array();
/**
- * Namespace cache.
- *
- * @var array
- */
- protected $_nscache = array();
-
- /**
* Default namespace.
*
* @var array
* @param string $mailbox The folder path. If empty, will return info
* on the default namespace (i.e. the first
* personal namespace).
- * @param boolean $empty If true and no matching namespace is found,
- * return the empty namespace, if it exists.
*
* @return mixed The namespace info for the folder path or null if the
* path doesn't exist.
*/
- public function getNamespace($mailbox = null, $empty = true)
+ public function getNamespace($mailbox = null)
{
if ($_SESSION['imp']['protocol'] == 'pop') {
return null;
$mailbox = key($ns);
}
- $key = (int)$empty;
- if (isset($this->_nscache[$key][$mailbox])) {
- return $this->_nscache[$key][$mailbox];
- }
-
foreach ($ns as $key => $val) {
- $mbx = $mailbox . $val['delimiter'];
- if (!empty($key) && (strpos($mbx, $key) === 0)) {
- $this->_nscache[$key][$mailbox] = $val;
+ $mbox = $mailbox . $val['delimiter'];
+ if (!empty($key) && (strpos($mbox, $key) === 0)) {
return $val;
}
}
- $this->_nscache[$key][$mailbox] = ($empty && isset($ns[''])) ? $ns[''] : null;
-
- return $this->_nscache[$key][$mailbox];
+ return isset($ns['']) ? $ns[''] : null;
}
/**