mirror of
https://github.com/retailcrm/Fetch.git
synced 2025-02-06 10:39:21 +03:00
Merge pull request #6 from Wiakowe/create-mailbox-method
Added methods for checking if a mailbox exists and to create a mailbox.
This commit is contained in:
commit
17b57c53ec
@ -235,25 +235,36 @@ class Server
|
||||
* @return string
|
||||
*/
|
||||
public function getServerString()
|
||||
{
|
||||
$mailboxPath = $this->getServerSpecification();
|
||||
|
||||
if(isset($this->mailbox))
|
||||
$mailboxPath .= $this->mailbox;
|
||||
|
||||
return $mailboxPath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the server specification, without adding any mailbox.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getServerSpecification()
|
||||
{
|
||||
$mailboxPath = '{' . $this->serverPath;
|
||||
|
||||
if(isset($this->port))
|
||||
if (isset($this->port))
|
||||
$mailboxPath .= ':' . $this->port;
|
||||
|
||||
if($this->service != 'imap')
|
||||
if ($this->service != 'imap')
|
||||
$mailboxPath .= '/' . $this->service;
|
||||
|
||||
foreach($this->flags as $flag)
|
||||
{
|
||||
foreach ($this->flags as $flag) {
|
||||
$mailboxPath .= '/' . $flag;
|
||||
}
|
||||
|
||||
$mailboxPath .= '}';
|
||||
|
||||
if(isset($this->mailbox))
|
||||
$mailboxPath .= $this->mailbox;
|
||||
|
||||
return $mailboxPath;
|
||||
}
|
||||
|
||||
@ -364,4 +375,32 @@ class Server
|
||||
{
|
||||
return imap_expunge($this->getImapStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the given mailbox exists.
|
||||
*
|
||||
* @param $mailbox
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function hasMailBox($mailbox)
|
||||
{
|
||||
return (boolean) imap_getmailboxes(
|
||||
$this->getImapStream(),
|
||||
$this->getServerString(),
|
||||
$this->getServerSpecification() . $mailbox
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the given mailbox.
|
||||
*
|
||||
* @param $mailbox
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function createMailBox($mailbox)
|
||||
{
|
||||
return imap_createmailbox($this->getImapStream(), $this->getServerSpecification() . $mailbox);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user