From 6f958c739b33442e8df8339d1d3398af32a57586 Mon Sep 17 00:00:00 2001 From: Alex Lushpai Date: Tue, 15 Mar 2016 12:59:19 +0300 Subject: [PATCH] exception, custom mail folder --- retailcrm/data/config/settings-dist.ini | 2 +- retailcrm/src/Components/Mail.php | 7 ++++++- retailcrm/src/Components/RequestProxy.php | 11 +++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/retailcrm/data/config/settings-dist.ini b/retailcrm/data/config/settings-dist.ini index 1ef0160..66b97b5 100644 --- a/retailcrm/data/config/settings-dist.ini +++ b/retailcrm/data/config/settings-dist.ini @@ -18,7 +18,7 @@ driver=mysql enabled=false [mail] -mail@example.com=login,password,imap.example.com,993,imap +mail@example.com=login,password,imap.example.com,993,imap,SpecialFolderName mail@example.org=login,password,pop.example.org,995,pop enabled=false diff --git a/retailcrm/src/Components/Mail.php b/retailcrm/src/Components/Mail.php index 23ad47a..2c9c3bd 100644 --- a/retailcrm/src/Components/Mail.php +++ b/retailcrm/src/Components/Mail.php @@ -13,7 +13,7 @@ class Mail $this->mailBox = $mailBox; if (is_array($this->container->mail)) { - if(isset($this->container->mail[$mailBox])) { + if (isset($this->container->mail[$mailBox])) { $this->mailSettings = explode( ',', $this->container->mail[$mailBox] @@ -32,6 +32,7 @@ class Mail public function parse() { + $server = new Server( $this->mailSettings[2], $this->mailSettings[3], @@ -43,6 +44,10 @@ class Mail $this->mailSettings[1] ); + if (!empty($this->mailSettings[5])) { + $server->setMailBox($this->mailSettings[5]); + } + $mailCriteria = $this->clean($this->mailBox, 'criteria'); $mailHandler = $this->clean($this->mailBox, 'handler'); diff --git a/retailcrm/src/Components/RequestProxy.php b/retailcrm/src/Components/RequestProxy.php index 4e68083..02ba03c 100644 --- a/retailcrm/src/Components/RequestProxy.php +++ b/retailcrm/src/Components/RequestProxy.php @@ -46,11 +46,22 @@ class RequestProxy "[$method] " . $e->getMessage() . "\n", $this->container->errorLog ); + + return null; } catch (InvalidJsonException $e) { $this->logger->write( "[$method] " . $e->getMessage() . "\n", $this->container->errorLog ); + + return null; + } catch (InvalidArgumentException $e) { + $this->logger->write( + "[$method] " . $e->getMessage() . "\n", + $this->container->errorLog + ); + + return null; } } }