cvs: pear /Net_IMAP IMAP.php
| From: | Sebastian Ebling | Date: | Mon, 11 Feb 2008 22:09:49 +0000 |
| Subject: | cvs: pear /Net_IMAP IMAP.php | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-50983@lists.php.net to get a copy of this message | ||
hudeldudel Mon Feb 11 22:09:49 2008 UTC
Modified files:
/pear/Net_IMAP IMAP.php
Log:
removed about 800 violations agains pear coding rules.
codesniffer now shows no more errors. some warnings about line length left
http://cvs.php.net/viewvc.cgi/pear/Net_IMAP/IMAP.php?r1=1.23&r2=1.24&diff_format=u Index: pear/Net_IMAP/IMAP.php diff -u pear/Net_IMAP/IMAP.php:1.23 pear/Net_IMAP/IMAP.php:1.24 --- pear/Net_IMAP/IMAP.php:1.23 Wed Feb 6 23:55:11 2008 +++ pear/Net_IMAP/IMAP.php Mon Feb 11 22:09:49 2008 @@ -1,21 +1,17 @@ <?php -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Author: Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> | -// +----------------------------------------------------------------------+ - +/** + * Net_IMAP provides an implementation of the IMAP protocol + * + * PHP Version 4 + * + * @category Networking + * @package Net_IMAP + * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @copyright 1997-2003 The PHP Group + * @license PHP license + * @version CVS: $Id: IMAP.php,v 1.24 2008/02/11 22:09:49 hudeldudel Exp $ + * @link http://pear.php.net/package/Net_IMAP + */ require_once 'Net/IMAPProtocol.php'; @@ -24,20 +20,23 @@ * Provides an implementation of the IMAP protocol using PEAR's * Net_Socket:: class. * - * @package Net_IMAP - * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @category Networking + * @package Net_IMAP + * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @license PHP license + * @link http://pear.php.net/package/Net_IMAP */ -class Net_IMAP extends Net_IMAPProtocol { - +class Net_IMAP extends Net_IMAPProtocol +{ /** * Constructor * * Instantiates a new Net_SMTP object, overriding any defaults * with parameters that are passed in. * - * @param string The server to connect to. - * @param int The port to connect to. - * @param bool $enableSTARTTLS enable STARTTLS support + * @param string $host The server to connect to. + * @param int $port The port to connect to. + * @param bool $enableSTARTTLS Enable STARTTLS support */ function Net_IMAP($host = 'localhost', $port = 143, $enableSTARTTLS = true) { @@ -49,8 +48,9 @@ /** * Attempt to connect to the IMAP server located at $host $port - * @param string $host The IMAP server - * @param string $port The IMAP port + * + * @param string $host The IMAP server + * @param string $port The IMAP port * @param bool $enableSTARTTLS enable STARTTLS support * * It is only useful in a very few circunstances @@ -68,7 +68,8 @@ // Determine server capabilities $res = $this->cmdCapability(); - // check if we can enable TLS via STARTTLS (requires PHP 5 >= 5.1.0RC1 for stream_socket_enable_crypto) + // check if we can enable TLS via STARTTLS + // (requires PHP 5 >= 5.1.0RC1 for stream_socket_enable_crypto) if ($this->hasCapability('STARTTLS') === true && $enableSTARTTLS === true && function_exists('stream_socket_enable_crypto') === true) { @@ -78,15 +79,17 @@ } return $ret; } - if(empty($ret)){ + if (empty($ret)) { return new PEAR_Error("Unexpected response on connection"); } - if(PEAR::isError($ret) ){ + if (PEAR::isError($ret)) { return $ret; } - if(isset( $ret["RESPONSE"]["CODE"] ) ){ - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (isset($ret['RESPONSE']['CODE'])) { + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } @@ -97,13 +100,15 @@ /** * Attempt to authenticate to the IMAP server. - * @param string $user The userid to authenticate as. - * @param string $pass The password to authenticate with. - * @param string $useauthenticate true: authenticate using + * + * @param string $user The userid to authenticate as. + * @param string $pass The password to authenticate with. + * @param string $useauthenticate true: authenticate using * the IMAP AUTHENTICATE command. false: authenticate using * the IMAP AUTHENTICATE command. 'string': authenticate using * the IMAP AUTHENTICATE command but using the authMethod in 'string' - * @param boolean $selectMailbox automaticaly select inbox on login (false does not) + * @param boolean $selectMailbox automaticaly select inbox on login + * (false does not) * * @return true on success or PEAR_Error * @@ -112,50 +117,65 @@ */ function login($user, $pass, $useauthenticate = true, $selectMailbox=true) { - if ( $useauthenticate ){ - //$useauthenticate is a string if the user hardcodes an AUTHMethod - // (the user calls $imap->login("user","password","CRAM-MD5"); for example! + if ($useauthenticate) { + // $useauthenticate is a string if the user hardcodes an AUTHMethod + // (the user calls $imap->login("user","password","CRAM-MD5"); for + // example! - $method = is_string( $useauthenticate ) ? $useauthenticate : null; + if (is_string($useauthenticate)) { + $method = $useauthenticate; + } else { + $method = null; + } //Try the selected Auth method - if ( PEAR::isError( $ret = $this->cmdAuthenticate( $user , $pass , $method ) ) ) { + if (PEAR::isError($ret = $this->cmdAuthenticate($user, + $pass, + $method))) { // Verify the methods that we have in common with the server - if(is_array($this->_serverAuthMethods)){ - $commonMethods=array_intersect ($this->supportedAuthMethods, $this->_serverAuthMethods ); - }else{ - $this->_serverAuthMethods=null; + if (is_array($this->_serverAuthMethods)) { + $commonMethods = array_intersect($this->supportedAuthMethods, $this->_serverAuthMethods); + } else { + $this->_serverAuthMethods = null; } - if($this->_serverAuthMethods == null || count($commonMethods) == 0 || $this->supportedAuthMethods == null ){ + if ($this->_serverAuthMethods == null + || count($commonMethods) == 0 + || $this->supportedAuthMethods == null) { // The server does not have any auth method, so I try LOGIN - if ( PEAR::isError( $ret = $this->cmdLogin( $user, $pass ) ) ) { + if ( PEAR::isError($ret = $this->cmdLogin($user, $pass))) { return $ret; } - }else{ + } else { return $ret; } } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - }else{ + } else { //The user request "PLAIN" auth, we use the login command - if ( PEAR::isError( $ret = $this->cmdLogin( $user, $pass ) ) ) { + if (PEAR::isError($ret = $this->cmdLogin($user, $pass))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } - if($selectMailbox){ + if ($selectMailbox) { //Select INBOX - if ( PEAR::isError( $ret=$this->cmdSelect( $this->getCurrentMailbox() ) ) ) { + if (PEAR::isError($ret = $this->cmdSelect($this->getCurrentMailbox()))) { return $ret; } } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -166,7 +186,7 @@ * Disconnect function. Sends the QUIT command * and closes the socket. * - * @param boolean $expungeOnExit (default = false) + * @param boolean $expungeOnExit (default = false) * * @return mixed true on success / Pear_Error on failure * @@ -174,21 +194,25 @@ */ function disconnect($expungeOnExit = false) { - if($expungeOnExit){ - if (PEAR::isError($ret=$this->cmdExpunge())) { + if ($expungeOnExit) { + if (PEAR::isError($ret = $this->cmdExpunge())) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - $ret=$this->cmdLogout(); - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + $ret = $this->cmdLogout(); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } - if (PEAR::isError($ret=$this->cmdLogout())) { + if (PEAR::isError($ret = $this->cmdLogout())) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -199,19 +223,21 @@ /** * Changes the default/current mailbox to $mailbox * - * @param string $mailbox Mailbox to select + * @param string $mailbox Mailbox to select * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function selectMailbox($mailbox) { - if (PEAR::isError($ret=$this->cmdSelect($mailbox))) { + if (PEAR::isError($ret = $this->cmdSelect($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -221,24 +247,26 @@ /** * Checks the mailbox $mailbox * - * @param string $mailbox Mailbox to examine + * @param string $mailbox Mailbox to examine * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function examineMailbox($mailbox) { - if (PEAR::isError($ret=$this->cmdExamine($mailbox))) { + if (PEAR::isError($ret = $this->cmdExamine($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } //$ret_aux["EXISTS"]=$ret["PARSED"]["EXISTS"]; //$ret_aux["RECENT"]=$ret["PARSED"]["RECENT"]; - $ret = $ret["PARSED"]; + $ret = $ret['PARSED']; return $ret; } @@ -247,33 +275,36 @@ /** * Returns the raw headers of the specified message. * - * @param int $msg_id Message number - * @param $part_id Part ID - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param string $part_id Part ID + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either raw headers or false on error + * @return mixed Either raw headers or false on error * - * @access public + * @access public */ function getRawHeaders($msg_id, $part_id = '', $uidFetch = false) { - if($part_id != '') { - $command = "BODY[$part_id.HEADER]"; + if ($part_id != '') { + $command = 'BODY[' . $part_id . '.HEADER]'; } else { - $command = "BODY[HEADER]"; + $command = 'BODY[HEADER]'; } - if($uidFetch == true) { - $ret=$this->cmdUidFetch($msg_id, $command); + if ($uidFetch == true) { + $ret = $this->cmdUidFetch($msg_id, $command); } else { - $ret=$this->cmdFetch($msg_id, $command); + $ret = $this->cmdFetch($msg_id, $command); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"][$command]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT'][$command]['CONTENT']; return $ret; } @@ -286,27 +317,34 @@ * having the same names, eg Received:, the array value will be * an indexed array of all the header values. * - * @param int $msg_id Message number - * @param boolean $keysToUpper false (default) original header names - * true change keys (header names) toupper - * @param $part_id Part ID - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param boolean $keysToUpper false (default) original header names + * true change keys (header names) toupper + * @param string $part_id Part ID + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either array of headers or false on error + * @return mixed Either array of headers or false on error * - * @access public + * @access public */ - function getParsedHeaders($msg_id, $keysToUpper = false, $part_id = '', $uidFetch = false) - { - if (PEAR::isError($ret=$this->getRawHeaders($msg_id, $part_id, $uidFetch))) { + function getParsedHeaders($msg_id, + $keysToUpper = false, + $part_id = '', + $uidFetch = false) + { + if (PEAR::isError($ret = $this->getRawHeaders($msg_id, + $part_id, + $uidFetch))) { return $ret; } $raw_headers = rtrim($ret); - $raw_headers = preg_replace("/\r\n[ \t]+/", ' ', $raw_headers); // Unfold headers + // Unfold headers + $raw_headers = preg_replace("/\r\n[ \t]+/", ' ', $raw_headers); $raw_headers = explode("\r\n", $raw_headers); foreach ($raw_headers as $value) { - $name = substr($value, 0, $pos = strpos($value, ':')); + $name = substr($value, 0, $pos = strpos($value, ':')); if ($keysToUpper) { $name = strtoupper($name); } @@ -330,31 +368,36 @@ * message selection can be a valid IMAP command, a number or an array of * messages * - * @param $msg_id Message number + * @param string $msg_id Message number * - * @return mixed Either array of message data or PearError on error + * @return mixed Either array of message data or PearError on error * - * @access public + * @access public */ function getMessagesList($msg_id = null) { - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if (PEAR::isError($ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID)"))) { + if (PEAR::isError($ret = $this->cmdFetch($message_set, + '(RFC822.SIZE UID)'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); - } - foreach($ret["PARSED"] as $msg){ - $ret_aux[]=array("msg_id"=>$msg["NRO"],"size" => $msg["EXT"]["RFC822.SIZE"],"uidl"=> $msg["EXT"]["UID"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); + } + foreach ($ret['PARSED'] as $msg) { + $ret_aux[] = array('msg_id' => $msg['NRO'], + 'size' => $msg['EXT']['RFC822.SIZE'], + 'uidl' => $msg['EXT']['UID']); } return $ret_aux; } @@ -364,59 +407,64 @@ /** * Message summary * - * @param mixed $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param mixed $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either array of headers or PEAR::Error on error + * @return mixed Either array of headers or PEAR::Error on error * - * @access public + * @access public */ function getSummary($msg_id = null, $uidFetch = false) { - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidFetch) { - $ret=$this->cmdUidFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($message_set, + '(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])'); } else { - $ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])"); + $ret = $this->cmdFetch($message_set, + '(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])'); } - #$ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY[1.MIME])"); + // $ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY[1.MIME])"); if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - #print "<hr>"; var_dump($ret["PARSED"]); print "<hr>"; + // print "<hr>"; var_dump($ret["PARSED"]); print "<hr>"; - if(isset( $ret["PARSED"] ) ){ - for($i=0; $i<count($ret["PARSED"]) ; $i++){ - $a=$ret["PARSED"][$i]['EXT']['ENVELOPE']; - $a['MSG_NUM']=$ret["PARSED"][$i]['NRO']; - $a['UID']=$ret["PARSED"][$i]['EXT']['UID']; - $a['FLAGS']=$ret["PARSED"][$i]['EXT']['FLAGS']; - $a['INTERNALDATE']=$ret["PARSED"][$i]['EXT']['INTERNALDATE']; - $a['SIZE']=$ret["PARSED"][$i]['EXT']['RFC822.SIZE']; - if(isset($ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'])) { - if(preg_match('/^content-type: (.*);/iU', $ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'], $matches)) { - $a['MIMETYPE']=strtolower($matches[1]); + if (isset($ret['PARSED'])) { + for ($i=0; $i<count($ret['PARSED']); $i++) { + $a = $ret['PARSED'][$i]['EXT']['ENVELOPE']; + $a['MSG_NUM'] = $ret["PARSED"][$i]['NRO']; + $a['UID'] = $ret["PARSED"][$i]['EXT']['UID']; + $a['FLAGS'] = $ret["PARSED"][$i]['EXT']['FLAGS']; + $a['INTERNALDATE'] = $ret["PARSED"][$i]['EXT']['INTERNALDATE']; + $a['SIZE'] = $ret["PARSED"][$i]['EXT']['RFC822.SIZE']; + if (isset($ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'])) { + if (preg_match('/^content-type: (.*);/iU', $ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'], $matches)) { + $a['MIMETYPE'] = strtolower($matches[1]); } - } elseif (isset($ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'])) { + } elseif (isset($ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'])) { // some versions of cyrus send "CONTENT-TYPE" and CONTENT-TYPE only - if (preg_match('/^content-type: (.*);/iU', $ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'], $matches)) { - $a['MIMETYPE']=strtolower($matches[1]); + if (preg_match('/^content-type: (.*);/iU', $ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'], $matches)) { + $a['MIMETYPE'] = strtolower($matches[1]); } } - $env[]=$a; - $a=null; + $env[] = $a; + $a = null; } return $env; } @@ -429,28 +477,31 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param sting $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getBody($msg_id, $uidFetch = false) { - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODY[TEXT]"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODY[TEXT]'); } else { - $ret=$this->cmdFetch($msg_id,"BODY[TEXT]"); + $ret = $this->cmdFetch($msg_id, 'BODY[TEXT]'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODY[TEXT]"]["CONTENT"]; - //$ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT']['BODY[TEXT]']['CONTENT']; + // $ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; return $ret; } @@ -458,28 +509,31 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param string $partId Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param string $partId Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getBodyPart($msg_id, $partId, $uidFetch = false) { - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODY[$partId]"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODY[' . $partId . ']'); } else { - $ret=$this->cmdFetch($msg_id,"BODY[$partId]"); + $ret = $this->cmdFetch($msg_id, 'BODY[' . $partId . ']'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODY[$partId]"]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT']['BODY[' . $partId . ']']['CONTENT']; //$ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; return $ret; } @@ -489,31 +543,33 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getStructure($msg_id, $uidFetch = false) { - #print "IMAP.php::getStructure<pre>"; - #$this->setDebug(true); - #print "<pre>"; - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODYSTRUCTURE"); + // print "IMAP.php::getStructure<pre>"; + // $this->setDebug(true); + // print "<pre>"; + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODYSTRUCTURE'); } else { - $ret=$this->cmdFetch($msg_id,"BODYSTRUCTURE"); + $ret = $this->cmdFetch($msg_id, 'BODYSTRUCTURE'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODYSTRUCTURE"][0]; - $structure = array(); + $ret = $ret['PARSED'][0]['EXT']['BODYSTRUCTURE'][0]; $mimeParts = array(); $this->_parseStructureArray($ret, $mimeParts); @@ -525,11 +581,13 @@ /** * Parse structure array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID - * @return nothing - * @access private + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID + * + * @return nothing + * + * @access private */ function _parseStructureArray($_structure, &$_mimeParts, $_partID = '') { @@ -550,17 +608,23 @@ $this->_parseStructureMultipartArray($_structure, $_mimeParts, $_partID); } else { switch (strtoupper($_structure[0])) { - case 'TEXT': - $this->_parseStructureTextArray($_structure, $_mimeParts, $partID.$subPartID); - break; + case 'TEXT': + $this->_parseStructureTextArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; - case 'MESSAGE': - $this->_parseStructureMessageArray($_structure, $_mimeParts, $partID.$subPartID); - break; + case 'MESSAGE': + $this->_parseStructureMessageArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; - default: - $this->_parseStructureApplicationArray($_structure, $_mimeParts, $partID.$subPartID); - break; + default: + $this->_parseStructureApplicationArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; } } } @@ -570,16 +634,19 @@ /** * Parse multibpart structure array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID - * @param boolean $_parentIsMessage - * - * @return noting - * - * @access private - */ - function _parseStructureMultipartArray($_structure, &$_mimeParts, $_partID, $_parentIsMessage = false) + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID + * @param boolean $_parentIsMessage Parent is message/rfc822 + * + * @return noting + * + * @access private + */ + function _parseStructureMultipartArray($_structure, + &$_mimeParts, + $_partID, + $_parentIsMessage = false) { // a multipart/mixed, multipart/report or multipart/alternative // or multipart/related get's no own partid, if the parent @@ -591,48 +658,64 @@ break; } } - if ($subType == 'mixed' || $subType == 'report' || $subType == 'alternative' || $subType == 'related') { + if ($subType == 'mixed' + || $subType == 'report' + || $subType == 'alternative' + || $subType == 'related') { $_partID = substr($_partID, 0, strrpos($_partID, '.')); } } $subPartID = 1; - $partID = ($_partID == '') ? '' : $_partID.'.'; + if ($_partID == '') { + $partID = ''; + } else { + $partID = $_partID . '.'; + } $subMimeParts = array(); foreach ($_structure as $structurePart) { if (is_array($structurePart)) { if (is_array($structurePart[0])) { // another multipart inside the multipart - $this->_parseStructureMultipartArray($structurePart, $subMimeParts, $partID.$subPartID); + $this->_parseStructureMultipartArray($structurePart, + $subMimeParts, + $partID . $subPartID); } else { switch(strtoupper($structurePart[0])) { - case 'IMAGE': - $this->_parseStructureImageArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - case 'MESSAGE': - $this->_parseStructureMessageArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - case 'TEXT': - $this->_parseStructureTextArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - default: - $this->_parseStructureApplicationArray($structurePart, $subMimeParts, $partID.$subPartID); - break; + case 'IMAGE': + $this->_parseStructureImageArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + case 'MESSAGE': + $this->_parseStructureMessageArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + case 'TEXT': + $this->_parseStructureTextArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + default: + $this->_parseStructureApplicationArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; } } $subPartID++; } else { - $part = new stdClass; - $part->type = 'MULTIPART'; - $part->subType = strtoupper($structurePart); - + $part = new stdClass; + $part->type = 'MULTIPART'; + $part->subType = strtoupper($structurePart); $part->subParts = $subMimeParts; if ($_partID == '') { $part->partID = 0; - $_mimeParts = array(0 => $part); + $_mimeParts = array(0 => $part); } else { - $part->partID = $_partID; + $part->partID = $_partID; $_mimeParts[$_partID] = $part; } return; @@ -640,22 +723,24 @@ } } + + /** * Parse structure image array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return noting + * @return noting * - * @access private + * @access private */ function _parseStructureImageArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureImageArray _partID: $_partID<br>"; - $part = $this->_parseStructureCommonFields($_structure); - $part->cid = $_structure[3]; + // print "Net_IMAP::_parseStructureImageArray _partID: $_partID<br>"; + $part = $this->_parseStructureCommonFields($_structure); + $part->cid = $_structure[3]; $part->partID = $_partID; $_mimeParts[$_partID] = $part; @@ -666,29 +751,31 @@ /** * Parse structure application array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return noting + * @return noting * - * @access private + * @access private */ - function _parseStructureApplicationArray($_structure, &$_mimeParts, $_partID) + function _parseStructureApplicationArray($_structure, + &$_mimeParts, + $_partID) { - #print "Net_IMAP::_parseStructureApplicationArray _partID: $_partID<br>"; + // print "Net_IMAP::_parseStructureApplicationArray _partID: $_partID<br>"; $part = $this->_parseStructureCommonFields($_structure); - if(is_array($_structure[8])) { - if(isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { - $part->disposition = strtoupper($_structure[8][0]); - } - if(is_array($_structure[8][1])) { - foreach($_structure[8][1] as $key => $value) { - if($key%2 == 0) { - $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; - } + if (is_array($_structure[8])) { + if (isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { + $part->disposition = strtoupper($_structure[8][0]); + } + if (is_array($_structure[8][1])) { + foreach ($_structure[8][1] as $key => $value) { + if ($key%2 == 0) { + $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; + } + } } - } } $part->partID = $_partID; @@ -700,27 +787,32 @@ /** * Parse structure message array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return nothing + * @return nothing * - * @access private + * @access private */ function _parseStructureMessageArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureMessageArray _partID: $_partID<br>"; + // print "Net_IMAP::_parseStructureMessageArray _partID: $_partID<br>"; $part = $this->_parseStructureCommonFields($_structure); - if(is_array($_structure[8][0])) { - $this->_parseStructureMultipartArray($_structure[8], $subMimeParts, $_partID.'.1', true); + if (is_array($_structure[8][0])) { + $this->_parseStructureMultipartArray($_structure[8], + $subMimeParts, + $_partID . '.1', + true); } else { - $this->_parseStructureArray($_structure[8], $subMimeParts, $_partID); + $this->_parseStructureArray($_structure[8], + $subMimeParts, + $_partID); } - if(is_array($subMimeParts)) { - $part->subParts = $subMimeParts; + if (is_array($subMimeParts)) { + $part->subParts = $subMimeParts; } $part->partID = $_partID; @@ -732,30 +824,31 @@ /** * Parse structure text array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return nothing + * @return nothing * - * @access private + * @access private */ function _parseStructureTextArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; - $part = $this->_parseStructureCommonFields($_structure); + // print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; + $part = $this->_parseStructureCommonFields($_structure); $part->lines = $_structure[7]; - if(is_array($_structure[8])) { - if(isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { - $part->disposition = strtoupper($_structure[8][0]); - } - if(is_array($_structure[8][1])) { - foreach($_structure[8][1] as $key => $value) { - if($key%2 == 0) { - $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; - } + + if (is_array($_structure[8])) { + if (isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { + $part->disposition = strtoupper($_structure[8][0]); + } + if (is_array($_structure[8][1])) { + foreach ($_structure[8][1] as $key => $value) { + if ($key%2 == 0) { + $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; + } + } } - } } if (is_array($_structure[9])) { @@ -781,27 +874,28 @@ /** * Parse structure common fields * - * @param &$_structure + * @param array &$_structure Structure array * - * @return object part object (stdClass) + * @return object part object (stdClass) * - * @access private + * @access private */ function _parseStructureCommonFields(&$_structure) { - #print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; - $part = new stdClass; - $part->type = strtoupper($_structure[0]); + // print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; + $part = new stdClass; + $part->type = strtoupper($_structure[0]); $part->subType = strtoupper($_structure[1]); - if(is_array($_structure[2])) { - foreach($_structure[2] as $key => $value) { - if($key%2 == 0) { - $part->parameters[strtoupper($_structure[2][$key])] = $_structure[2][$key+1]; + + if (is_array($_structure[2])) { + foreach ($_structure[2] as $key => $value) { + if ($key%2 == 0) { + $part->parameters[strtoupper($_structure[2][$key])] = $_structure[2][$key+1]; + } } - } } $part->encoding = strtoupper($_structure[5]); - $part->bytes = $_structure[6]; + $part->bytes = $_structure[6]; return $part; } @@ -811,50 +905,53 @@ /** * Returns the entire message with given message number. * - * @param $msg_id Message number (default = null) - * @param boolean $indexIsMessageNumber (default = true) + * @param int $msg_id Message number (default = null) + * @param boolean $indexIsMessageNumber true if index is a message number + * (default = true) * - * @return mixed Either entire message or false on error + * @return mixed Either entire message or false on error * - * @access public + * @access public */ function getMessages($msg_id = null, $indexIsMessageNumber=true) { - //$resp=$this->cmdFetch($msg_id,"(BODY[TEXT] BODY[HEADER])"); - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; - } - }else{ - $message_set="1:*"; - } - - if (!$indexIsMessageNumber) { - $ret = $this->cmdUidFetch($message_set, 'RFC822'); - } else { - $ret = $this->cmdFetch($message_set, 'RFC822'); - } + // $resp=$this->cmdFetch($msg_id,"(BODY[TEXT] BODY[HEADER])"); + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; + } + } else { + $message_set = '1:*'; + } + + if (!$indexIsMessageNumber) { + $ret = $this->cmdUidFetch($message_set, 'RFC822'); + } else { + $ret = $this->cmdFetch($message_set, 'RFC822'); + } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset($ret["PARSED"])){ - foreach($ret["PARSED"] as $msg){ - if(isset($msg["EXT"]["RFC822"]["CONTENT"])){ - if($indexIsMessageNumber){ - $ret_aux[$msg["NRO"]]=$msg["EXT"]["RFC822"]["CONTENT"]; - }else{ - $ret_aux[]=$msg["EXT"]["RFC822"]["CONTENT"]; + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $msg) { + if (isset($msg['EXT']['RFC822']['CONTENT'])) { + if ($indexIsMessageNumber) { + $ret_aux[$msg['NRO']] = $msg['EXT']['RFC822']['CONTENT']; + } else { + $ret_aux[] = $msg['EXT']['RFC822']['CONTENT']; } - } + } } return $ret_aux; - } - return array(); + } + return array(); } @@ -862,29 +959,32 @@ /** * Returns number of messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfMessages($mailbox = '') { - if ( $mailbox == '' || $mailbox == null ){ - $mailbox=$this->getCurrentMailbox(); + if ($mailbox == '' || $mailbox == null) { + $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'MESSAGES'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); - } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"] ) ){ - // if this array does not exists means that there is no messages in the mailbox + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); + } + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES'])) { + // if this array does not exists means that there is no + // messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES']; } } @@ -896,29 +996,31 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfUnSeenMessages($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '' ) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'UNSEEN'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret["RESPONSE"]["CODE"] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"] ) ){ + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN'])) { // if this array does not exists means that there is no messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN']; } } @@ -930,29 +1032,31 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfRecentMessages($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '' ) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'RECENT'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { // if this array does not exists means that there is no messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT']; } } @@ -964,25 +1068,27 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on error + * @return mixed Either number of messages or Pear_Error on error * - * @access public + * @access public */ function getStatus($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '') { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, array('MESSAGES', 'RECENT', 'UIDNEXT', 'UIDVALIDITY', 'UNSEEN')))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]; + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { + return $ret['PARSED']['STATUS']['ATTRIBUTES']; } return 0; } @@ -992,54 +1098,57 @@ /** * Returns an array containing the message envelope * - * @param $mailbox get's not used anywhere (will be removed with next major release) - * @param mixed $msg_id Message number (default = null) - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param string $mailbox get's not used anywhere (will be removed + * with next major release) + * @param mixed $msg_id Message number (default = null) + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either the envelopes or Pear_Error on error + * @return mixed Either the envelopes or Pear_Error on error * * @access public */ function getEnvelope($mailbox = '', $msg_id = null, $uidFetch = false) { - if ( $mailbox == '' ){ + if ($mailbox == '') { $mailbox = $this->getCurrentMailbox(); } - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidFetch) { - $ret=$this->cmdUidFetch($message_set,"ENVELOPE"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($message_set, 'ENVELOPE'); } else { - $ret=$this->cmdFetch($message_set,"ENVELOPE"); + $ret = $this->cmdFetch($message_set, 'ENVELOPE'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset( $ret["PARSED"] ) ){ - for($i=0; $i<count($ret["PARSED"]) ; $i++){ - $a=$ret["PARSED"][$i]['EXT']['ENVELOPE']; - $a['MSG_NUM']=$ret["PARSED"][$i]['NRO']; - $env[]=$a; + if (isset($ret['PARSED'])) { + for ($i=0; $i<count($ret['PARSED']); $i++) { + $a = $ret['PARSED'][$i]['EXT']['ENVELOPE']; + $a['MSG_NUM'] = $ret['PARSED'][$i]['NRO']; + $env[] = $a; } return $env; } - return new PEAR_Error('Error, undefined number of messages'); - + return new PEAR_Error('Error, undefined number of messages'); } @@ -1050,51 +1159,53 @@ * if you have a lot of messages in the mailbox * Use with care! * - * @params string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox The mailbox (default is current mailbox) * - * @return mixed Either size of maildrop or false on error + * @return mixed Either size of maildrop or false on error * - * @access public + * @access public */ function getMailboxSize($mailbox = '') { - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { // store the actual selected mailbox name $mailbox_aux = $this->getCurrentMailbox(); - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox ) ) ) { + if (PEAR::isError($ret = $this->selectMailbox($mailbox))) { return $ret; } } - $ret=$this->cmdFetch("1:*","RFC822.SIZE"); - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - // Restore the default mailbox if it was changed - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox_aux ) ) ) { + $ret = $this->cmdFetch('1:*', 'RFC822.SIZE'); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // Restore the default mailbox if it was changed + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { + if (PEAR::isError($ret = $this->selectMailbox($mailbox_aux))) { return $ret; - } } - // return 0 because the server says that there is no message in the mailbox - return 0; + } + // return 0 because the server says that there is no message + // in the mailbox + return 0; } - $sum=0; + $sum = 0; - if(!isset($ret["PARSED"]) ){ + if (!isset($ret['PARSED'])) { // if the server does not return a "PARSED" part - // we think that it does not suppoprt select or has no messages in it. + // we think that it does not suppoprt select or has no messages + // in it. return 0; } - foreach($ret["PARSED"] as $msgSize){ - if( isset($msgSize["EXT"]["RFC822.SIZE"]) ){ - $sum+= $msgSize["EXT"]["RFC822.SIZE"]; + foreach ($ret['PARSED'] as $msgSize) { + if (isset($msgSize['EXT']['RFC822.SIZE'])) { + $sum += $msgSize['EXT']['RFC822.SIZE']; } } - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ - // re-select the mailbox - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox_aux ) ) ) { + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { + // re-select the mailbox + if (PEAR::isError($ret = $this->selectMailbox($mailbox_aux))) { return $ret; } } @@ -1109,12 +1220,13 @@ * disconnect() method is called with auto-expunge on true or expunge() * method is called. * - * @param $msg_id Message to delete (default = null) - * @param boolean $uidStore msg_id contains UID's instead of Message Sequence Number if set to true (default = false) + * @param int $msg_id Message to delete (default = null) + * @param boolean $uidStore msg_id contains UID's instead of Message + * Sequence Number if set to true (default = false) * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function deleteMessages($msg_id = null, $uidStore = false) { @@ -1125,31 +1237,33 @@ S: * 4 FETCH FLAGS (\Deleted \Flagged \Seen) S: A003 OK STORE completed */ - //Called without parammeters deletes all the messages in the mailbox + // Called without parammeters deletes all the messages in the mailbox // You can also provide an array of numbers to delete those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - $dataitem="+FLAGS.SILENT"; - $value="\Deleted"; - if($uidStore == true) { - $ret=$this->cmdUidStore($message_set,$dataitem,$value); + $dataitem = '+FLAGS.SILENT'; + $value = '\Deleted'; + if ($uidStore == true) { + $ret = $this->cmdUidStore($message_set, $dataitem, $value); } else { - $ret=$this->cmdStore($message_set,$dataitem,$value); + $ret = $this->cmdStore($message_set, $dataitem, $value); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1159,48 +1273,55 @@ /** * Copies mail from one folder to another * - * @param string $dest_mailbox mailbox name to copy sessages to - * @param mixed $msg_id the messages that I want to copy (all by default) it also - * can be an array - * @param string $source_mailbox mailbox name from where the messages are copied (default is current mailbox) - * @param bool $uidCopy msg_id contains UID's instead of Message Sequence Number if set to true + * @param string $dest_mailbox mailbox name to copy sessages to + * @param mixed $msg_id the messages that I want to copy (all + * by default) it also can be an array + * @param string $source_mailbox mailbox name from where the messages are + * copied (default is current mailbox) + * @param boolean $uidCopy msg_id contains UID's instead of Message + * Sequence Number if set to true * * @return mixed true on Success/PearError on Failure * * @access public * @since 1.0 */ - function copyMessages($dest_mailbox, $msg_id = null , $source_mailbox = null, $uidCopy = false ) + function copyMessages($dest_mailbox, + $msg_id = null, + $source_mailbox = null, + $uidCopy = false) { - if($source_mailbox == null){ + if ($source_mailbox == null) { $source_mailbox = $this->getCurrentMailbox(); - }else{ - if ( PEAR::isError( $ret = $this->selectMailbox( $source_mailbox ) ) ) { + } else { + if (PEAR::isError($ret = $this->selectMailbox($source_mailbox))) { return $ret; } } - //Called without parammeters copies all messages in the mailbox + // Called without parammeters copies all messages in the mailbox // You can also provide an array of numbers to copy those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidCopy == true) { - $ret = $this->cmdUidCopy($message_set, $dest_mailbox ); + if ($uidCopy == true) { + $ret = $this->cmdUidCopy($message_set, $dest_mailbox); } else { - $ret = $this->cmdCopy($message_set, $dest_mailbox ); + $ret = $this->cmdCopy($message_set, $dest_mailbox); } if (PEAR::isError($ret)) { return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'].', '.$ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -1211,26 +1332,29 @@ /** * Appends a mail to a mailbox * - * @param string $rfc_message the message to append in RFC822 format - * @param string $mailbox mailbox name to append to (default is current mailbox) - * @param string $flags_list set flags appended message + * @param string $rfc_message the message to append in RFC822 format + * @param string $mailbox mailbox name to append to (default is + * current mailbox) + * @param string $flags_list set flags appended message * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * * @access public * @since 1.0 */ - function appendMessage($rfc_message, $mailbox = null , $flags_list = '') + function appendMessage($rfc_message, $mailbox = null, $flags_list = '') { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } - $ret=$this->cmdAppend($mailbox,$rfc_message,$flags_list); + $ret = $this->cmdAppend($mailbox, $rfc_message, $flags_list); if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1238,24 +1362,26 @@ /** - * Get the namespace + * Returns the namespace * - * @return mixed namespace or PearError on failure + * @return mixed namespace or PearError on failure * - * @access public - * @since 1.1 + * @access public + * @since 1.1 */ function getNamespace() { if (PEAR::isError($ret = $this->cmdNamespace())) { return $ret; } - if(strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - foreach($ret["PARSED"]["NAMESPACES"] as $type => $singleNameSpace) { - if(!is_array($singleNameSpace)) { + foreach ($ret['PARSED']['NAMESPACES'] as $type => $singleNameSpace) { + if (!is_array($singleNameSpace)) { continue; } @@ -1279,35 +1405,36 @@ ******************************************************************/ /** - * Gets the HierachyDelimiter character used to create subfolders cyrus users "." - * and wu-imapd uses "/" + * Gets the HierachyDelimiter character used to create subfolders + * cyrus users "." + * and wu-imapd uses "/" * - * $param string the mailbox to get the hierarchy from + * @param string $mailbox The mailbox to get the hierarchy from * - * @return string the hierarchy delimiter + * @return string The hierarchy delimiter * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getHierarchyDelimiter( $mailbox = '' ) + function getHierarchyDelimiter($mailbox = '') { - - /* RFC2060 says: "the command LIST "" "" means get the hierachy delimiter: - An empty ("" string) mailbox name argument is a special request to - return the hierarchy delimiter and the root name of the name given - in the reference. The value returned as the root MAY be null if - the reference is non-rooted or is null. In all cases, the - hierarchy delimiter is returned. This permits a client to get the - hierarchy delimiter even when no mailboxes by that name currently - exist." + /* RFC2060 says: + "the command LIST "" "" means get the hierachy delimiter: + An empty ("" string) mailbox name argument is a special request to + return the hierarchy delimiter and the root name of the name given + in the reference. The value returned as the root MAY be null if + the reference is non-rooted or is null. In all cases, the + hierarchy delimiter is returned. This permits a client to get the + hierarchy delimiter even when no mailboxes by that name currently + exist." */ - if( PEAR::isError( $ret = $this->cmdList( $mailbox , '' ) ) ){ + if (PEAR::isError($ret = $this->cmdList($mailbox, ''))) { return $ret; } - if(isset($ret["PARSED"][0]["EXT"]["LIST"]["HIERACHY_DELIMITER"]) ){ - return $ret["PARSED"][0]["EXT"]["LIST"]["HIERACHY_DELIMITER"]; + if (isset($ret['PARSED'][0]['EXT']['LIST']['HIERACHY_DELIMITER'])) { + return $ret['PARSED'][0]['EXT']['LIST']['HIERACHY_DELIMITER']; } - return new PEAR_Error( 'the IMAP Server does not support HIERACHY_DELIMITER!' ); + return new PEAR_Error('the IMAP Server does not support HIERACHY_DELIMITER!'); } @@ -1315,68 +1442,80 @@ /** * Returns an array containing the names of the selected mailboxes * - * @param string $reference base mailbox to start the search (default is current mailbox) - * @param string $restriction_search false or 0 means return all mailboxes - * true or 1 return only the mailbox that contains that exact name - * 2 return all mailboxes in that hierarchy level - * @param string $returnAttributes true means return an assoc array containing mailbox names and mailbox attributes - * false - the default - means return an array of mailboxes + * @param string $reference base mailbox to start the search + * (default is current mailbox) + * @param string $restriction_search false or 0 means return all mailboxes + * true or 1 return only the mailbox that + * contains that exact name + * 2 return all mailboxes in that + * hierarchy level + * @param string $returnAttributes true means return an assoc array + * containing mailbox names and mailbox + * attributes,false - the default - means + * return an array of mailboxes * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getMailboxes($reference = '', $restriction_search = 0, $returnAttributes=false) + function getMailboxes($reference = '', + $restriction_search = 0, + $returnAttributes = false) { - if ( is_bool($restriction_search) ){ + if (is_bool($restriction_search)) { $restriction_search = (int) $restriction_search; } - if ( is_int( $restriction_search ) ){ - switch ( $restriction_search ) { - case 0: - $mailbox = "*"; - break; - case 1: - $mailbox = $reference; - $reference = ''; - break; - case 2: - $mailbox = "%"; - break; + if (is_int($restriction_search)) { + switch ($restriction_search) { + case 0: + $mailbox = '*'; + break; + case 1: + $mailbox = $reference; + $reference = ''; + break; + case 2: + $mailbox = '%'; + break; } - }else{ - if ( is_string( $restriction_search ) ){ + } else { + if (is_string($restriction_search)) { $mailbox = $restriction_search; - }else { + } else { return new PEAR_Error('Wrong data for 2nd parameter'); } } - if( PEAR::isError( $ret = $this->cmdList($reference, $mailbox) ) ){ + if (PEAR::isError($ret = $this->cmdList($reference, $mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret_aux=array(); - if( isset($ret["PARSED"]) ){ - foreach( $ret["PARSED"] as $mbox ){ + $ret_aux = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $mbox) { - //If the folder has the \NoSelect atribute we don't put in the list - // it solves a bug in wu-imap that crash the IMAP server if we select that mailbox + // If the folder has the \NoSelect atribute we don't put in + // the list + // it solves a bug in wu-imap that crash the IMAP server if + // we select that mailbox if (isset($mbox['EXT']['LIST']['NAME_ATTRIBUTES'])) { // if (!in_array('\NoSelect', $mbox['EXT']['LIST']['NAME_ATTRIBUTES'])) { - if ($returnAttributes) { - $ret_aux[]=array('MAILBOX' => $mbox['EXT']['LIST']['MAILBOX_NAME'], - 'ATTRIBUTES' => $mbox['EXT']['LIST']['NAME_ATTRIBUTES'], - 'HIERACHY_DELIMITER' => $mbox['EXT']['LIST']['HIERACHY_DELIMITER']); - } else { - $ret_aux[] = $mbox['EXT']['LIST']['MAILBOX_NAME']; - } + if ($returnAttributes) { + $ret_aux[] = array( + 'MAILBOX' => $mbox['EXT']['LIST']['MAILBOX_NAME'], + 'ATTRIBUTES' => $mbox['EXT']['LIST']['NAME_ATTRIBUTES'], + 'HIERACHY_DELIMITER' => $mbox['EXT']['LIST']['HIERACHY_DELIMITER']); + } else { + $ret_aux[] = $mbox['EXT']['LIST']['MAILBOX_NAME']; + } // } } } @@ -1387,22 +1526,22 @@ /** - * check if the mailbox name exists + * Check if the mailbox name exists * - * @param string $mailbox mailbox name to check existance + * @param string $mailbox Mailbox name to check existance * - * @return mixed boolean true/false or PEAR_Error on failure + * @return mixed boolean true/false or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function mailboxExist($mailbox) { // true means do an exact match - if( PEAR::isError( $ret = $this->getMailboxes( $mailbox , true ) ) ){ + if (PEAR::isError($ret = $this->getMailboxes($mailbox, true))) { return $ret; } - if( count( $ret ) > 0 ){ + if (count($ret) > 0) { foreach ($ret as $mailbox_name) { if ($mailbox_name == $mailbox) { return true; @@ -1417,21 +1556,23 @@ /** * Creates the mailbox $mailbox * - * @param string $mailbox mailbox name to create - * @param array $options options to pass to create (default is no options) + * @param string $mailbox Mailbox name to create + * @param array $options Options to pass to create (default is no options) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function createMailbox($mailbox, $options = null) { if (PEAR::isError($ret = $this->cmdCreate($mailbox, $options))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1441,22 +1582,26 @@ /** * Deletes the mailbox $mailbox * - * @param string $mailbox mailbox name to delete + * @param string $mailbox Name of the Mailbox that should be deleted * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function deleteMailbox($mailbox) { - // TODO verificar que el mailbox se encuentra vacio y, sino borrar los mensajes antes~!!!!!! - // ToDo find someone who can translate the above todo + // TODO verificar que el mailbox se encuentra vacio y, sino borrar los + // mensajes antes~!!!!!! + // ToDo find someone who can translate the above todo + if (PEAR::isError($ret = $this->cmdDelete($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1466,22 +1611,26 @@ /** * Renames the mailbox $mailbox * - * @param string $oldmailbox mailbox name to rename - * @param string $newmailbox new name for the mailbox - * @param array $options options to pass to rename + * @param string $oldmailbox mailbox name to rename + * @param string $newmailbox new name for the mailbox + * @param array $options options to pass to rename * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function renameMailbox($oldmailbox, $newmailbox, $options = null) { - if (PEAR::isError($ret = $this->cmdRename($oldmailbox, $newmailbox, $options))) { + if (PEAR::isError($ret = $this->cmdRename($oldmailbox, + $newmailbox, + $options))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1498,23 +1647,26 @@ /** * Subscribes to the selected mailbox * - * @param string $mailbox mailbox name to subscribe (default is current mailbox) + * @param string $mailbox Mailbox name to subscribe (default is current + * mailbox) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function subscribeMailbox($mailbox = null ) + function subscribeMailbox($mailbox = null) { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdSubscribe($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1524,23 +1676,26 @@ /** * Removes the subscription to a mailbox * - * @param string $mailbox mailbox name to unsubscribe (default is current mailbox) + * @param string $mailbox Mailbox name to unsubscribe (default is current + * mailbox) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function unsubscribeMailbox($mailbox = null) { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdUnsubscribe($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1550,65 +1705,70 @@ /** * Lists the subscription to mailboxes * - * @param string $mailbox_base mailbox name start the search (see to getMailboxes() ) - * @param string $mailbox_name mailbox name filter the search (see to getMailboxes() ) + * @param string $reference Mailbox name start the search (see to + * getMailboxes() ) + * @param string $restriction_search Mailbox_name Mailbox name filter the + * search (see to getMailboxes() ) + * @param boolean $returnAttributes Return the attributes * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function listsubscribedMailboxes($reference = '' , $restriction_search = 0, $returnAttributes = false) + function listsubscribedMailboxes($reference = '', + $restriction_search = 0, + $returnAttributes = false) { - if ( is_bool($restriction_search) ){ + if (is_bool($restriction_search)) { $restriction_search = (int) $restriction_search; } - if ( is_int( $restriction_search ) ){ - switch ( $restriction_search ) { - case 0: - $mailbox = "*"; - break; - case 1: - $mailbox = $reference; - $reference = '%'; - break; - case 2: - $mailbox = "%"; - break; + if (is_int($restriction_search)) { + switch ($restriction_search) { + case 0: + $mailbox = '*'; + break; + case 1: + $mailbox = $reference; + $reference = '%'; + break; + case 2: + $mailbox = '%'; + break; } - }else{ - if ( is_string( $restriction_search ) ){ + } else { + if (is_string($restriction_search)) { $mailbox = $restriction_search; - }else { - return new PEAR_Error("UPS... you "); + } else { + return new PEAR_Error('UPS... you '); } } - if( PEAR::isError( $ret=$this->cmdLsub($reference, $mailbox) ) ){ + if (PEAR::isError($ret = $this->cmdLsub($reference, $mailbox))) { return $ret; } - //$ret=$this->cmdLsub($mailbox_base, $mailbox_name); - + // $ret=$this->cmdLsub($mailbox_base, $mailbox_name); - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret_aux=array(); - if( isset($ret["PARSED"]) ){ - foreach( $ret["PARSED"] as $mbox ){ - if( isset($mbox["EXT"]["LSUB"]["MAILBOX_NAME"]) ){ - if( $returnAttributes){ - $ret_aux[]=array( - 'MAILBOX' => $mbox["EXT"]["LSUB"]["MAILBOX_NAME"], - 'ATTRIBUTES' => $mbox["EXT"]["LSUB"]["NAME_ATTRIBUTES"], - 'HIERACHY_DELIMITER' => $mbox["EXT"]["LSUB"]["HIERACHY_DELIMITER"] - ) ; - }else{ - $ret_aux[]=$mbox["EXT"]["LSUB"]["MAILBOX_NAME"]; - - } + $ret_aux = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $mbox) { + if (isset($mbox['EXT']['LSUB']['MAILBOX_NAME'])) { + if ($returnAttributes) { + $ret_aux[] = array( + 'MAILBOX' => $mbox['EXT']['LSUB']['MAILBOX_NAME'], + 'ATTRIBUTES' => $mbox['EXT']['LSUB']['NAME_ATTRIBUTES'], + 'HIERACHY_DELIMITER' => $mbox['EXT']['LSUB']['HIERACHY_DELIMITER'] + ); + } else { + $ret_aux[] = $mbox['EXT']['LSUB']['MAILBOX_NAME']; + } } } } @@ -1627,38 +1787,40 @@ /** * Lists the flags of the selected messages * - * @param mixed $msg_id the message list + * @param mixed $msg_id the message list * - * @return mixed array on success/PearError on failure + * @return mixed array on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getFlags( $msg_id = null ) + function getFlags($msg_id = null) { - // You can also provide an array of numbers to those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + // You can also provide an array of numbers to those emails + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } if (PEAR::isError($ret = $this->cmdFetch($message_set, 'FLAGS'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $flags=array(); - if(isset($ret["PARSED"])){ - foreach($ret["PARSED"] as $msg_flags){ - if(isset($msg_flags["EXT"]["FLAGS"])){ - $flags[]=$msg_flags["EXT"]["FLAGS"]; + $flags = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $msg_flags) { + if (isset($msg_flags['EXT']['FLAGS'])) { + $flags[] = $msg_flags['EXT']['FLAGS']; } } } @@ -1670,17 +1832,18 @@ /** * Sets the flags of the selected messages * - * @param mixed $msg_id the message list or string "all" for all - * @param mixed $flags flags to set (space separated String or array) - * @param string $mod "set" to set flags (default) - * "add" to add flags - * "remove" to remove flags - * @param boolean $uidStore msg_id contains UID's instead of Message Sequence Number if set to true + * @param mixed $msg_id the message list or string "all" for all + * @param mixed $flags flags to set (space separated String or array) + * @param string $mod "set" to set flags (default), + * "add" to add flags, + * "remove" to remove flags + * @param boolean $uidStore msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function setFlags($msg_id, $flags, $mod = 'set', $uidStore = false) { @@ -1703,31 +1866,33 @@ } switch ($mod) { - case 'set': - $dataitem = 'FLAGS'; - break; - case 'add': - $dataitem = '+FLAGS'; - break; - case 'remove': - $dataitem = '-FLAGS'; - break; - default: - // Wrong Input - return new PEAR_Error('wrong input $mod'); - break; + case 'set': + $dataitem = 'FLAGS'; + break; + case 'add': + $dataitem = '+FLAGS'; + break; + case 'remove': + $dataitem = '-FLAGS'; + break; + default: + // Wrong Input + return new PEAR_Error('wrong input for $mod'); + break; } - if($uidStore == true) { - $ret=$this->cmdUidStore($message_set, $dataitem, $flaglist); + if ($uidStore == true) { + $ret = $this->cmdUidStore($message_set, $dataitem, $flaglist); } else { - $ret=$this->cmdStore($message_set, $dataitem, $flaglist); + $ret = $this->cmdStore($message_set, $dataitem, $flaglist); } if (PEAR::isError($ret)) { return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -1738,13 +1903,13 @@ /** * adds flags to the selected messages * - * @param mixed $flags flags to set (space separated String or array) - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all + * @param mixed $flags Flags to set (space separated String or array) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addFlags($msg_id, $flags) { @@ -1756,12 +1921,12 @@ /** * adds the Seen flag (\Seen) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addSeen($msg_id) { @@ -1773,12 +1938,12 @@ /** * adds the Answered flag (\Answered) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addAnswered($msg_id) { @@ -1790,12 +1955,12 @@ /** * adds the Deleted flag (\Deleted) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addDeleted($msg_id) { @@ -1807,12 +1972,12 @@ /** * adds the Flagged flag (\Flagged) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addFlagged($msg_id) { @@ -1824,12 +1989,12 @@ /** * adds the Draft flag (\Draft) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addDraft($msg_id) { @@ -1841,13 +2006,13 @@ /** * remove flags from the selected messages * - * @param mixed $flags flags to remove (space separated string or array) - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all + * @param mixed $flags Flags to remove (space separated string or array) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeFlags($msg_id, $flags) { @@ -1859,12 +2024,12 @@ /** * remove the Seen flag (\Seen) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeSeen($msg_id) { @@ -1876,12 +2041,12 @@ /** * remove the Answered flag (\Answered) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeAnswered($msg_id) { @@ -1893,12 +2058,12 @@ /** * remove the Deleted flag (\Deleted) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeDeleted($msg_id) { @@ -1910,12 +2075,12 @@ /** * remove the Flagged flag (\Flagged) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeFlagged($msg_id) { @@ -1927,12 +2092,12 @@ /** * remove the Draft flag (\Draft) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeDraft($msg_id) { @@ -1944,16 +2109,16 @@ /** * check the Seen flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on Failure + * @return mixed true or false if the flag is set PearError on Failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isSeen($message_nro) { - return $this->hasFlag( $message_nro, "\\Seen" ); + return $this->hasFlag($message_nro, '\Seen'); } @@ -1961,16 +2126,16 @@ /** * check the Answered flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isAnswered($message_nro) { - return $this->hasFlag( $message_nro, "\\Answered" ); + return $this->hasFlag($message_nro, '\Answered'); } @@ -1978,16 +2143,16 @@ /** * check the flagged flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isFlagged($message_nro) { - return $this->hasFlag( $message_nro, "\\Flagged" ); + return $this->hasFlag($message_nro, '\Flagged'); } @@ -1995,16 +2160,16 @@ /** * check the Draft flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isDraft($message_nro) { - return $this->hasFlag( $message_nro, "\\Draft" ); + return $this->hasFlag($message_nro, '\Draft'); } @@ -2012,16 +2177,16 @@ /** * check the Deleted flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isDeleted($message_nro) { - return $this->hasFlag( $message_nro, "\\Deleted" ); + return $this->hasFlag($message_nro, '\Deleted'); } @@ -2029,23 +2194,24 @@ /** * checks if a flag is set * - * @param mixed $message_nro the message to check - * @param string $flag the flag that should be checked + * @param mixed $message_nro The message to check + * @param string $flag The flag that should be checked * - * @return mixed true or false if the flag is set PearError on Failure + * @return mixed true or false if the flag is set PearError on Failure * - * @since 1.0 - * @access public + * @access public + * @since 1.0 */ - function hasFlag($message_nro,$flag) + function hasFlag($message_nro, $flag) { - if ( PEAR::isError( $resp = $this->getFlags( $message_nro ) ) ) { + if (PEAR::isError($resp = $this->getFlags($message_nro))) { return $resp; } - if(isset($resp[0]) ){ - if( is_array( $resp[0] ) ){ - if( in_array( $flag , $resp[0] ) ) + if (isset($resp[0])) { + if (is_array($resp[0])) { + if (in_array($flag, $resp[0])) { return true; + } } } return false; @@ -2064,18 +2230,20 @@ /** * expunge function. Sends the EXPUNGE command * - * @return mixed true on success / PEAR Error on failure + * @return mixed true on success / PEAR Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function expunge() { if (PEAR::isError($ret = $this->cmdExpunge())) { return $ret; } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2083,30 +2251,32 @@ /** - * search function. Sends the SEARCH command + * Search function. Sends the SEARCH command * - * @param string $search_list search criterias - * @param boolean $uidSearch if set to true UID SEARCH is send instead of SEARCH + * @param string $search_list Search criterias + * @param boolean $uidSearch If set to true UID SEARCH is send instead of SEARCH * - * @return mixed message array or PEAR Error on failure + * @return mixed Message array or PEAR Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function search($search_list, $uidSearch = false) { - if($uidSearch){ + if ($uidSearch) { $ret = $this->cmdUidSearch($search_list); - }else{ + } else { $ret = $this->cmdSearch($search_list); } if (PEAR::isError($ret)) { return $ret; } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - return $ret["PARSED"]["SEARCH"]["SEARCH_LIST"]; + return $ret['PARSED']['SEARCH']['SEARCH_LIST']; } @@ -2114,19 +2284,26 @@ /** * sort function. Sends the SORT command * - * @param string $sort_list sort program - * @param string $charset charset specification (default = 'US-ASCII') - * @param string $search_list searching criteria - * @param boolean $uidSort if set to true UID SORT is send instead of SORT + * @param string $sort_list sort program + * @param string $charset charset specification (default = 'US-ASCII') + * @param string $search_list searching criteria + * @param boolean $uidSort if set to true UID SORT is send instead + * of SORT * - * @return mixed message array or PEAR Error on failure + * @return mixed message array or PEAR Error on failure * - * @access public - * @since 1.1 + * @access public + * @since 1.1 */ - function sort($sort_list, $charset='US-ASCII', $search_list = '', $uidSort = false) - { - $sort_command = sprintf("(%s) %s %s", $sort_list, strtoupper($charset), $search_list); + function sort($sort_list, + $charset = 'US-ASCII', + $search_list = '', + $uidSort = false) + { + $sort_command = sprintf("(%s) %s %s", + $sort_list, + strtoupper($charset), + $search_list); if ($uidSort) { $ret = $this->cmdUidSort($sort_command); @@ -2137,7 +2314,9 @@ return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ", " . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return $ret['PARSED']['SORT']['SORT_LIST']; } @@ -2155,34 +2334,39 @@ /** * Returns STORAGE quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getStorageQuotaRoot($mailbox_name = null ) + function getStorageQuotaRoot($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdGetQuotaRoot($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuotaRoot($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,9) == "QUOTAROOT" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set + // return an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 9) == 'QUOTAROOT') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['STORAGE'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['STORAGE'])) { return $ret['PARSED']['EXT']['QUOTA']['STORAGE']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2193,34 +2377,39 @@ /** * Returns STORAGE quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or PEAR_Error + * on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getStorageQuota($mailbox_name = null ) + function getStorageQuota($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdGetQuota($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuota($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,5) == "QUOTA" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set + // return an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 5) == 'QUOTA') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['STORAGE'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['STORAGE'])) { return $ret['PARSED']['EXT']['QUOTA']['STORAGE']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2231,33 +2420,39 @@ /** * Returns MESSAGES quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or PEAR_Error + * on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getMessagesQuota($mailbox_name = null ) + function getMessagesQuota($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdGetQuota($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuota($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,5) == "QUOTA" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set return + // an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 5) == 'QUOTA') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['MESSAGES'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['MESSAGES'])) { return $ret['PARSED']['EXT']['QUOTA']['MESSAGES']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2268,21 +2463,23 @@ /** * sets STORAGE quota * - * @param string $mailbox_name Mailbox to set quota - * @param int $quota Quotasize + * @param string $mailbox_name Mailbox to set quota + * @param int $quota Quotasize * - * @return true on success or PEAR_Error on failure + * @return true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setStorageQuota($mailbox_name, $quota) { - if ( PEAR::isError( $ret = $this->cmdSetQuota($mailbox_name,$quota) ) ) { + if (PEAR::isError($ret = $this->cmdSetQuota($mailbox_name, $quota))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2292,21 +2489,25 @@ /** * sets MESSAGES quota * - * @param string $mailbox_name Mailbox to set quota - * @param int $quota Quotasize + * @param string $mailbox_name Mailbox to set quota + * @param int $quota Quotasize * - * @return true on success or PEAR_Error on failure + * @return true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setMessagesQuota($mailbox_name, $quota) { - if ( PEAR::isError( $ret = $this->cmdSetQuota($mailbox_name,'',$quota) ) ) { + if (PEAR::isError($ret = $this->cmdSetQuota($mailbox_name, + '', + $quota))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2324,29 +2525,32 @@ /** * get the Access Control List details * - * @param string $mailbox_name Mailbox to get ACL info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get ACL info. (default is + * current mailbox) * - * @return mixed string on success or false or PEAR_Error on failure + * @return mixed string on success or false or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getACL($mailbox_name = null ) + function getACL($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdGetACL($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetACL($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret['PARSED']['USERS']) ){ - return $ret['PARSED']['USERS']; - }else{ + if (isset($ret['PARSED']['USERS'])) { + return $ret['PARSED']['USERS']; + } else { return false; } } @@ -2356,22 +2560,24 @@ /** * Set ACL on a mailbox * - * @param string $mailbox_name the mailbox - * @param string $user user to set the ACL - * @param string $acl ACL list + * @param string $mailbox_name The mailbox + * @param string $user User to set the ACL + * @param string $acl ACL list * - * @return mixed true on success or PEAR_Error on failure + * @return mixed true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setACL($mailbox_name, $user, $acl) { - if ( PEAR::isError( $ret = $this->cmdSetACL($mailbox_name, $user, $acl) ) ) { + if (PEAR::isError($ret = $this->cmdSetACL($mailbox_name, $user, $acl))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2381,21 +2587,23 @@ /** * deletes the ACL on a mailbox * - * @param string $mailbox_name the mailbox - * @param string $user user to delete the ACL + * @param string $mailbox_name The mailbox + * @param string $user User to delete the ACL * - * @return mixed true on success, or PEAR_Error on failure + * @return mixed true on success, or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function deleteACL($mailbox_name, $user) { - if ( PEAR::isError( $ret = $this->cmdDeleteACL($mailbox_name, $user) ) ) { + if (PEAR::isError($ret = $this->cmdDeleteACL($mailbox_name, $user))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2406,33 +2614,35 @@ * returns the rights that the user logged on has on the mailbox * this method can be used by any user, not only the administrator * - * @param string $mailbox_name the mailbox to query rights (default is current mailbox) + * @param string $mailbox_name The mailbox to query rights (default is + * current mailbox) * - * @return mixed string containing the list of rights on success, or PEAR_Error on failure + * @return mixed string containing the list of rights on success, or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function getMyRights($mailbox_name = null) { - - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdMyRights($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdMyRights($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset($ret['PARSED']['GRANTED'])){ + if (isset($ret['PARSED']['GRANTED'])) { return $ret['PARSED']['GRANTED']; } - return new PEAR_Error('Bogus response from server!' ); + return new PEAR_Error('Bogus response from server!'); } @@ -2441,36 +2651,38 @@ * returns an array containing the rights for given user on the mailbox * this method can be used by any user, not only the administrator * - * @param string $user the user to query rights - * @param string $mailbox_name the mailbox to query rights (default is current mailbox) + * @param string $user The user to query rights + * @param string $mailbox_name The mailbox to query rights (default is + * current mailbox) * - * @return mixed string containing the list of rights on success, or PEAR_Error on failure + * @return mixed string containing the list of rights on success, or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function getACLRights($user,$mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdListRights($mailbox_name, $user) ) ) { + if (PEAR::isError($ret = $this->cmdListRights($mailbox_name, $user))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - - if(isset($ret['PARSED']['GRANTED'])){ + if (isset($ret['PARSED']['GRANTED'])) { return $ret['PARSED']['GRANTED']; } - return new PEAR_Error('Bogus response from server!' ); - + return new PEAR_Error('Bogus response from server!'); } @@ -2486,26 +2698,30 @@ /** * set annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entry Entry + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed true on success or PEAR Error on failure + * @return mixed true on success or PEAR Error on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ - function setAnnotation($entry, $values, $mailbox_name = null ) + function setAnnotation($entry, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if (PEAR::isError($ret = $this->cmdSetAnnotation($mailbox_name, $entry, $values))) { + if (PEAR::isError($ret = $this->cmdSetAnnotation($mailbox_name, + $entry, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2514,26 +2730,30 @@ /** * delete annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entry Entry + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed true on success or PEAR Error on failure + * @return mixed true on success or PEAR Error on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ - function deleteAnnotation($entry, $values, $mailbox_name = null ) + function deleteAnnotation($entry, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if (PEAR::isError($ret = $this->cmdDeleteAnnotation($mailbox_name, $entry, $values))) { + if (PEAR::isError($ret = $this->cmdDeleteAnnotation($mailbox_name, + $entry, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2542,18 +2762,19 @@ /** * get annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entries Entries + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed array containing annotations on success or PEAR Error on failure + * @return mixed array containing annotations on success or PEAR Error + * on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ function getAnnotation($entries, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } if (!is_array($entries)) { @@ -2563,29 +2784,34 @@ $values = array($values); } - if (PEAR::isError($ret = $this->cmdGetAnnotation($mailbox_name, $entries, $values))) { + if (PEAR::isError($ret = $this->cmdGetAnnotation($mailbox_name, + $entries, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } $ret_aux = array(); if (isset($ret['PARSED'])) { foreach ($ret['PARSED'] as $mbox) { $rawvalues = $mbox['EXT']['ATTRIBUTES']; - $values = array(); + $values = array(); for ($i = 0; $i < count($rawvalues); $i += 2) { $values[$rawvalues[$i]] = $rawvalues[$i + 1]; } $mbox['EXT']['ATTRIBUTES'] = $values; - $ret_aux[] = $mbox['EXT']; + $ret_aux[] = $mbox['EXT']; } } if (count($ret_aux) == 1 && $ret_aux[0]['MAILBOX'] == $mailbox_name) { if (count($entries) == 1 && $ret_aux[0]['ENTRY'] == $entries[0]) { - if (count($ret_aux[0]['ATTRIBUTES']) == 1 && count($values) == 1) { + if (count($ret_aux[0]['ATTRIBUTES']) == 1 + && count($values) == 1) { $attrs = array_keys($ret_aux[0]['ATTRIBUTES']); - $vals = array_keys($values); + $vals = array_keys($values); if ($attrs[0] == $vals[0]) { return $ret_aux[0]['ATTRIBUTES'][$attrs[0]]; } @@ -2600,15 +2826,15 @@ /** * Transform an array to a list to be used in the cmdFetch method * - * @param array $arr array to transform + * @param array $arr Array that should be transformed * - * @return string transformed array + * @return string transformed array * - * @access private + * @access private */ - function _getSearchListFromArray($arr){ - - $txt=implode(',' , $arr); + function _getSearchListFromArray($arr) + { + $txt = implode(',', $arr); return $txt; } @@ -2628,11 +2854,12 @@ * same as getMailboxSize() * Net_POP3 Compatibility function * - * @return same as getMailboxSize(); + * @return same as getMailboxSize(); * - * @access public + * @access public */ - function getSize(){ + function getSize() + { return $this->getMailboxSize(); } @@ -2640,13 +2867,14 @@ * same as getNumberOfMessages($mailbox) * Net_POP3 Compatibility function * - * @param string $mailbox Mailbox (default is current mailbox) + * @param string $mailbox Mailbox (default is current mailbox) * - * @return same as getNumberOfMessages($mailbox) + * @return same as getNumberOfMessages($mailbox) * - * @access public + * @access public */ - function numMsg($mailbox = null){ + function numMsg($mailbox = null) + { return $this->getNumberOfMessages($mailbox); } @@ -2655,11 +2883,11 @@ * Returns the entire message with given message number. * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return mixed either entire message or PEAR Error on failure + * @return mixed Either entire message or PEAR Error on failure * - * @access public + * @access public */ function getMsg($msg_id) { @@ -2667,12 +2895,11 @@ return $ret; } // false means that getMessages() must not use the msg number as array key - if(isset($ret[0])){ + if (isset($ret[0])) { return $ret[0]; - }else{ + } else { return $ret; } - } @@ -2681,11 +2908,11 @@ * same as getMessagesList($msg_id) * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return same as getMessagesList() + * @return same as getMessagesList() * - * @access public + * @access public */ function getListing($msg_id = null) { @@ -2698,16 +2925,16 @@ * same as deleteMessages($msg_id) * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return same as deleteMessages() + * @return same as deleteMessages() * - * @access public + * @access public */ - function deleteMsg($msg_id){ + function deleteMsg($msg_id) + { return $this->deleteMessages($msg_id); } - } ?>
http://cvs.php.net/viewvc.cgi/pear/Net_IMAP/IMAP.php?r1=1.23&r2=1.24&diff_format=u Index: pear/Net_IMAP/IMAP.php diff -u pear/Net_IMAP/IMAP.php:1.23 pear/Net_IMAP/IMAP.php:1.24 --- pear/Net_IMAP/IMAP.php:1.23 Wed Feb 6 23:55:11 2008 +++ pear/Net_IMAP/IMAP.php Mon Feb 11 22:09:49 2008 @@ -1,21 +1,17 @@ <?php -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Author: Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> | -// +----------------------------------------------------------------------+ - +/** + * Net_IMAP provides an implementation of the IMAP protocol + * + * PHP Version 4 + * + * @category Networking + * @package Net_IMAP + * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @copyright 1997-2003 The PHP Group + * @license PHP license + * @version CVS: $Id: IMAP.php,v 1.24 2008/02/11 22:09:49 hudeldudel Exp $ + * @link http://pear.php.net/package/Net_IMAP + */ require_once 'Net/IMAPProtocol.php'; @@ -24,20 +20,23 @@ * Provides an implementation of the IMAP protocol using PEAR's * Net_Socket:: class. * - * @package Net_IMAP - * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @category Networking + * @package Net_IMAP + * @author Damian Alejandro Fernandez Sosa <damlists@cnba.uba.ar> + * @license PHP license + * @link http://pear.php.net/package/Net_IMAP */ -class Net_IMAP extends Net_IMAPProtocol { - +class Net_IMAP extends Net_IMAPProtocol +{ /** * Constructor * * Instantiates a new Net_SMTP object, overriding any defaults * with parameters that are passed in. * - * @param string The server to connect to. - * @param int The port to connect to. - * @param bool $enableSTARTTLS enable STARTTLS support + * @param string $host The server to connect to. + * @param int $port The port to connect to. + * @param bool $enableSTARTTLS Enable STARTTLS support */ function Net_IMAP($host = 'localhost', $port = 143, $enableSTARTTLS = true) { @@ -49,8 +48,9 @@ /** * Attempt to connect to the IMAP server located at $host $port - * @param string $host The IMAP server - * @param string $port The IMAP port + * + * @param string $host The IMAP server + * @param string $port The IMAP port * @param bool $enableSTARTTLS enable STARTTLS support * * It is only useful in a very few circunstances @@ -68,7 +68,8 @@ // Determine server capabilities $res = $this->cmdCapability(); - // check if we can enable TLS via STARTTLS (requires PHP 5 >= 5.1.0RC1 for stream_socket_enable_crypto) + // check if we can enable TLS via STARTTLS + // (requires PHP 5 >= 5.1.0RC1 for stream_socket_enable_crypto) if ($this->hasCapability('STARTTLS') === true && $enableSTARTTLS === true && function_exists('stream_socket_enable_crypto') === true) { @@ -78,15 +79,17 @@ } return $ret; } - if(empty($ret)){ + if (empty($ret)) { return new PEAR_Error("Unexpected response on connection"); } - if(PEAR::isError($ret) ){ + if (PEAR::isError($ret)) { return $ret; } - if(isset( $ret["RESPONSE"]["CODE"] ) ){ - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (isset($ret['RESPONSE']['CODE'])) { + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } @@ -97,13 +100,15 @@ /** * Attempt to authenticate to the IMAP server. - * @param string $user The userid to authenticate as. - * @param string $pass The password to authenticate with. - * @param string $useauthenticate true: authenticate using + * + * @param string $user The userid to authenticate as. + * @param string $pass The password to authenticate with. + * @param string $useauthenticate true: authenticate using * the IMAP AUTHENTICATE command. false: authenticate using * the IMAP AUTHENTICATE command. 'string': authenticate using * the IMAP AUTHENTICATE command but using the authMethod in 'string' - * @param boolean $selectMailbox automaticaly select inbox on login (false does not) + * @param boolean $selectMailbox automaticaly select inbox on login + * (false does not) * * @return true on success or PEAR_Error * @@ -112,50 +117,65 @@ */ function login($user, $pass, $useauthenticate = true, $selectMailbox=true) { - if ( $useauthenticate ){ - //$useauthenticate is a string if the user hardcodes an AUTHMethod - // (the user calls $imap->login("user","password","CRAM-MD5"); for example! + if ($useauthenticate) { + // $useauthenticate is a string if the user hardcodes an AUTHMethod + // (the user calls $imap->login("user","password","CRAM-MD5"); for + // example! - $method = is_string( $useauthenticate ) ? $useauthenticate : null; + if (is_string($useauthenticate)) { + $method = $useauthenticate; + } else { + $method = null; + } //Try the selected Auth method - if ( PEAR::isError( $ret = $this->cmdAuthenticate( $user , $pass , $method ) ) ) { + if (PEAR::isError($ret = $this->cmdAuthenticate($user, + $pass, + $method))) { // Verify the methods that we have in common with the server - if(is_array($this->_serverAuthMethods)){ - $commonMethods=array_intersect ($this->supportedAuthMethods, $this->_serverAuthMethods ); - }else{ - $this->_serverAuthMethods=null; + if (is_array($this->_serverAuthMethods)) { + $commonMethods = array_intersect($this->supportedAuthMethods, $this->_serverAuthMethods); + } else { + $this->_serverAuthMethods = null; } - if($this->_serverAuthMethods == null || count($commonMethods) == 0 || $this->supportedAuthMethods == null ){ + if ($this->_serverAuthMethods == null + || count($commonMethods) == 0 + || $this->supportedAuthMethods == null) { // The server does not have any auth method, so I try LOGIN - if ( PEAR::isError( $ret = $this->cmdLogin( $user, $pass ) ) ) { + if ( PEAR::isError($ret = $this->cmdLogin($user, $pass))) { return $ret; } - }else{ + } else { return $ret; } } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - }else{ + } else { //The user request "PLAIN" auth, we use the login command - if ( PEAR::isError( $ret = $this->cmdLogin( $user, $pass ) ) ) { + if (PEAR::isError($ret = $this->cmdLogin($user, $pass))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } - if($selectMailbox){ + if ($selectMailbox) { //Select INBOX - if ( PEAR::isError( $ret=$this->cmdSelect( $this->getCurrentMailbox() ) ) ) { + if (PEAR::isError($ret = $this->cmdSelect($this->getCurrentMailbox()))) { return $ret; } } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -166,7 +186,7 @@ * Disconnect function. Sends the QUIT command * and closes the socket. * - * @param boolean $expungeOnExit (default = false) + * @param boolean $expungeOnExit (default = false) * * @return mixed true on success / Pear_Error on failure * @@ -174,21 +194,25 @@ */ function disconnect($expungeOnExit = false) { - if($expungeOnExit){ - if (PEAR::isError($ret=$this->cmdExpunge())) { + if ($expungeOnExit) { + if (PEAR::isError($ret = $this->cmdExpunge())) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - $ret=$this->cmdLogout(); - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + $ret = $this->cmdLogout(); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } } - if (PEAR::isError($ret=$this->cmdLogout())) { + if (PEAR::isError($ret = $this->cmdLogout())) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -199,19 +223,21 @@ /** * Changes the default/current mailbox to $mailbox * - * @param string $mailbox Mailbox to select + * @param string $mailbox Mailbox to select * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function selectMailbox($mailbox) { - if (PEAR::isError($ret=$this->cmdSelect($mailbox))) { + if (PEAR::isError($ret = $this->cmdSelect($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -221,24 +247,26 @@ /** * Checks the mailbox $mailbox * - * @param string $mailbox Mailbox to examine + * @param string $mailbox Mailbox to examine * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function examineMailbox($mailbox) { - if (PEAR::isError($ret=$this->cmdExamine($mailbox))) { + if (PEAR::isError($ret = $this->cmdExamine($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } //$ret_aux["EXISTS"]=$ret["PARSED"]["EXISTS"]; //$ret_aux["RECENT"]=$ret["PARSED"]["RECENT"]; - $ret = $ret["PARSED"]; + $ret = $ret['PARSED']; return $ret; } @@ -247,33 +275,36 @@ /** * Returns the raw headers of the specified message. * - * @param int $msg_id Message number - * @param $part_id Part ID - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param string $part_id Part ID + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either raw headers or false on error + * @return mixed Either raw headers or false on error * - * @access public + * @access public */ function getRawHeaders($msg_id, $part_id = '', $uidFetch = false) { - if($part_id != '') { - $command = "BODY[$part_id.HEADER]"; + if ($part_id != '') { + $command = 'BODY[' . $part_id . '.HEADER]'; } else { - $command = "BODY[HEADER]"; + $command = 'BODY[HEADER]'; } - if($uidFetch == true) { - $ret=$this->cmdUidFetch($msg_id, $command); + if ($uidFetch == true) { + $ret = $this->cmdUidFetch($msg_id, $command); } else { - $ret=$this->cmdFetch($msg_id, $command); + $ret = $this->cmdFetch($msg_id, $command); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"][$command]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT'][$command]['CONTENT']; return $ret; } @@ -286,27 +317,34 @@ * having the same names, eg Received:, the array value will be * an indexed array of all the header values. * - * @param int $msg_id Message number - * @param boolean $keysToUpper false (default) original header names - * true change keys (header names) toupper - * @param $part_id Part ID - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param boolean $keysToUpper false (default) original header names + * true change keys (header names) toupper + * @param string $part_id Part ID + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either array of headers or false on error + * @return mixed Either array of headers or false on error * - * @access public + * @access public */ - function getParsedHeaders($msg_id, $keysToUpper = false, $part_id = '', $uidFetch = false) - { - if (PEAR::isError($ret=$this->getRawHeaders($msg_id, $part_id, $uidFetch))) { + function getParsedHeaders($msg_id, + $keysToUpper = false, + $part_id = '', + $uidFetch = false) + { + if (PEAR::isError($ret = $this->getRawHeaders($msg_id, + $part_id, + $uidFetch))) { return $ret; } $raw_headers = rtrim($ret); - $raw_headers = preg_replace("/\r\n[ \t]+/", ' ', $raw_headers); // Unfold headers + // Unfold headers + $raw_headers = preg_replace("/\r\n[ \t]+/", ' ', $raw_headers); $raw_headers = explode("\r\n", $raw_headers); foreach ($raw_headers as $value) { - $name = substr($value, 0, $pos = strpos($value, ':')); + $name = substr($value, 0, $pos = strpos($value, ':')); if ($keysToUpper) { $name = strtoupper($name); } @@ -330,31 +368,36 @@ * message selection can be a valid IMAP command, a number or an array of * messages * - * @param $msg_id Message number + * @param string $msg_id Message number * - * @return mixed Either array of message data or PearError on error + * @return mixed Either array of message data or PearError on error * - * @access public + * @access public */ function getMessagesList($msg_id = null) { - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if (PEAR::isError($ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID)"))) { + if (PEAR::isError($ret = $this->cmdFetch($message_set, + '(RFC822.SIZE UID)'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); - } - foreach($ret["PARSED"] as $msg){ - $ret_aux[]=array("msg_id"=>$msg["NRO"],"size" => $msg["EXT"]["RFC822.SIZE"],"uidl"=> $msg["EXT"]["UID"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); + } + foreach ($ret['PARSED'] as $msg) { + $ret_aux[] = array('msg_id' => $msg['NRO'], + 'size' => $msg['EXT']['RFC822.SIZE'], + 'uidl' => $msg['EXT']['UID']); } return $ret_aux; } @@ -364,59 +407,64 @@ /** * Message summary * - * @param mixed $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param mixed $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either array of headers or PEAR::Error on error + * @return mixed Either array of headers or PEAR::Error on error * - * @access public + * @access public */ function getSummary($msg_id = null, $uidFetch = false) { - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidFetch) { - $ret=$this->cmdUidFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($message_set, + '(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])'); } else { - $ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])"); + $ret = $this->cmdFetch($message_set, + '(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY.PEEK[HEADER.FIELDS (CONTENT-TYPE)])'); } - #$ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY[1.MIME])"); + // $ret=$this->cmdFetch($message_set,"(RFC822.SIZE UID FLAGS ENVELOPE INTERNALDATE BODY[1.MIME])"); if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - #print "<hr>"; var_dump($ret["PARSED"]); print "<hr>"; + // print "<hr>"; var_dump($ret["PARSED"]); print "<hr>"; - if(isset( $ret["PARSED"] ) ){ - for($i=0; $i<count($ret["PARSED"]) ; $i++){ - $a=$ret["PARSED"][$i]['EXT']['ENVELOPE']; - $a['MSG_NUM']=$ret["PARSED"][$i]['NRO']; - $a['UID']=$ret["PARSED"][$i]['EXT']['UID']; - $a['FLAGS']=$ret["PARSED"][$i]['EXT']['FLAGS']; - $a['INTERNALDATE']=$ret["PARSED"][$i]['EXT']['INTERNALDATE']; - $a['SIZE']=$ret["PARSED"][$i]['EXT']['RFC822.SIZE']; - if(isset($ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'])) { - if(preg_match('/^content-type: (.*);/iU', $ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'], $matches)) { - $a['MIMETYPE']=strtolower($matches[1]); + if (isset($ret['PARSED'])) { + for ($i=0; $i<count($ret['PARSED']); $i++) { + $a = $ret['PARSED'][$i]['EXT']['ENVELOPE']; + $a['MSG_NUM'] = $ret["PARSED"][$i]['NRO']; + $a['UID'] = $ret["PARSED"][$i]['EXT']['UID']; + $a['FLAGS'] = $ret["PARSED"][$i]['EXT']['FLAGS']; + $a['INTERNALDATE'] = $ret["PARSED"][$i]['EXT']['INTERNALDATE']; + $a['SIZE'] = $ret["PARSED"][$i]['EXT']['RFC822.SIZE']; + if (isset($ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'])) { + if (preg_match('/^content-type: (.*);/iU', $ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS (CONTENT-TYPE)]']['CONTENT'], $matches)) { + $a['MIMETYPE'] = strtolower($matches[1]); } - } elseif (isset($ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'])) { + } elseif (isset($ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'])) { // some versions of cyrus send "CONTENT-TYPE" and CONTENT-TYPE only - if (preg_match('/^content-type: (.*);/iU', $ret["PARSED"][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'], $matches)) { - $a['MIMETYPE']=strtolower($matches[1]); + if (preg_match('/^content-type: (.*);/iU', $ret['PARSED'][$i]['EXT']['BODY[HEADER.FIELDS ("CONTENT-TYPE")]']['CONTENT'], $matches)) { + $a['MIMETYPE'] = strtolower($matches[1]); } } - $env[]=$a; - $a=null; + $env[] = $a; + $a = null; } return $env; } @@ -429,28 +477,31 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param sting $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getBody($msg_id, $uidFetch = false) { - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODY[TEXT]"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODY[TEXT]'); } else { - $ret=$this->cmdFetch($msg_id,"BODY[TEXT]"); + $ret = $this->cmdFetch($msg_id, 'BODY[TEXT]'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODY[TEXT]"]["CONTENT"]; - //$ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT']['BODY[TEXT]']['CONTENT']; + // $ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; return $ret; } @@ -458,28 +509,31 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param string $partId Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param string $partId Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getBodyPart($msg_id, $partId, $uidFetch = false) { - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODY[$partId]"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODY[' . $partId . ']'); } else { - $ret=$this->cmdFetch($msg_id,"BODY[$partId]"); + $ret = $this->cmdFetch($msg_id, 'BODY[' . $partId . ']'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODY[$partId]"]["CONTENT"]; + $ret = $ret['PARSED'][0]['EXT']['BODY[' . $partId . ']']['CONTENT']; //$ret=$resp["PARSED"][0]["EXT"]["RFC822"]["CONTENT"]; return $ret; } @@ -489,31 +543,33 @@ /** * Returns the body of the message with given message number. * - * @param $msg_id Message number - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param int $msg_id Message number + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either message body or false on error + * @return mixed Either message body or false on error * - * @access public + * @access public */ function getStructure($msg_id, $uidFetch = false) { - #print "IMAP.php::getStructure<pre>"; - #$this->setDebug(true); - #print "<pre>"; - if($uidFetch) { - $ret=$this->cmdUidFetch($msg_id,"BODYSTRUCTURE"); + // print "IMAP.php::getStructure<pre>"; + // $this->setDebug(true); + // print "<pre>"; + if ($uidFetch) { + $ret = $this->cmdUidFetch($msg_id, 'BODYSTRUCTURE'); } else { - $ret=$this->cmdFetch($msg_id,"BODYSTRUCTURE"); + $ret = $this->cmdFetch($msg_id, 'BODYSTRUCTURE'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret=$ret["PARSED"][0]["EXT"]["BODYSTRUCTURE"][0]; - $structure = array(); + $ret = $ret['PARSED'][0]['EXT']['BODYSTRUCTURE'][0]; $mimeParts = array(); $this->_parseStructureArray($ret, $mimeParts); @@ -525,11 +581,13 @@ /** * Parse structure array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID - * @return nothing - * @access private + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID + * + * @return nothing + * + * @access private */ function _parseStructureArray($_structure, &$_mimeParts, $_partID = '') { @@ -550,17 +608,23 @@ $this->_parseStructureMultipartArray($_structure, $_mimeParts, $_partID); } else { switch (strtoupper($_structure[0])) { - case 'TEXT': - $this->_parseStructureTextArray($_structure, $_mimeParts, $partID.$subPartID); - break; + case 'TEXT': + $this->_parseStructureTextArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; - case 'MESSAGE': - $this->_parseStructureMessageArray($_structure, $_mimeParts, $partID.$subPartID); - break; + case 'MESSAGE': + $this->_parseStructureMessageArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; - default: - $this->_parseStructureApplicationArray($_structure, $_mimeParts, $partID.$subPartID); - break; + default: + $this->_parseStructureApplicationArray($_structure, + $_mimeParts, + $partID . $subPartID); + break; } } } @@ -570,16 +634,19 @@ /** * Parse multibpart structure array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID - * @param boolean $_parentIsMessage - * - * @return noting - * - * @access private - */ - function _parseStructureMultipartArray($_structure, &$_mimeParts, $_partID, $_parentIsMessage = false) + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID + * @param boolean $_parentIsMessage Parent is message/rfc822 + * + * @return noting + * + * @access private + */ + function _parseStructureMultipartArray($_structure, + &$_mimeParts, + $_partID, + $_parentIsMessage = false) { // a multipart/mixed, multipart/report or multipart/alternative // or multipart/related get's no own partid, if the parent @@ -591,48 +658,64 @@ break; } } - if ($subType == 'mixed' || $subType == 'report' || $subType == 'alternative' || $subType == 'related') { + if ($subType == 'mixed' + || $subType == 'report' + || $subType == 'alternative' + || $subType == 'related') { $_partID = substr($_partID, 0, strrpos($_partID, '.')); } } $subPartID = 1; - $partID = ($_partID == '') ? '' : $_partID.'.'; + if ($_partID == '') { + $partID = ''; + } else { + $partID = $_partID . '.'; + } $subMimeParts = array(); foreach ($_structure as $structurePart) { if (is_array($structurePart)) { if (is_array($structurePart[0])) { // another multipart inside the multipart - $this->_parseStructureMultipartArray($structurePart, $subMimeParts, $partID.$subPartID); + $this->_parseStructureMultipartArray($structurePart, + $subMimeParts, + $partID . $subPartID); } else { switch(strtoupper($structurePart[0])) { - case 'IMAGE': - $this->_parseStructureImageArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - case 'MESSAGE': - $this->_parseStructureMessageArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - case 'TEXT': - $this->_parseStructureTextArray($structurePart, $subMimeParts, $partID.$subPartID); - break; - default: - $this->_parseStructureApplicationArray($structurePart, $subMimeParts, $partID.$subPartID); - break; + case 'IMAGE': + $this->_parseStructureImageArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + case 'MESSAGE': + $this->_parseStructureMessageArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + case 'TEXT': + $this->_parseStructureTextArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; + default: + $this->_parseStructureApplicationArray($structurePart, + $subMimeParts, + $partID . $subPartID); + break; } } $subPartID++; } else { - $part = new stdClass; - $part->type = 'MULTIPART'; - $part->subType = strtoupper($structurePart); - + $part = new stdClass; + $part->type = 'MULTIPART'; + $part->subType = strtoupper($structurePart); $part->subParts = $subMimeParts; if ($_partID == '') { $part->partID = 0; - $_mimeParts = array(0 => $part); + $_mimeParts = array(0 => $part); } else { - $part->partID = $_partID; + $part->partID = $_partID; $_mimeParts[$_partID] = $part; } return; @@ -640,22 +723,24 @@ } } + + /** * Parse structure image array * - * @param $_structure - * @param &$_mimeParts - * @param $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return noting + * @return noting * - * @access private + * @access private */ function _parseStructureImageArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureImageArray _partID: $_partID<br>"; - $part = $this->_parseStructureCommonFields($_structure); - $part->cid = $_structure[3]; + // print "Net_IMAP::_parseStructureImageArray _partID: $_partID<br>"; + $part = $this->_parseStructureCommonFields($_structure); + $part->cid = $_structure[3]; $part->partID = $_partID; $_mimeParts[$_partID] = $part; @@ -666,29 +751,31 @@ /** * Parse structure application array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return noting + * @return noting * - * @access private + * @access private */ - function _parseStructureApplicationArray($_structure, &$_mimeParts, $_partID) + function _parseStructureApplicationArray($_structure, + &$_mimeParts, + $_partID) { - #print "Net_IMAP::_parseStructureApplicationArray _partID: $_partID<br>"; + // print "Net_IMAP::_parseStructureApplicationArray _partID: $_partID<br>"; $part = $this->_parseStructureCommonFields($_structure); - if(is_array($_structure[8])) { - if(isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { - $part->disposition = strtoupper($_structure[8][0]); - } - if(is_array($_structure[8][1])) { - foreach($_structure[8][1] as $key => $value) { - if($key%2 == 0) { - $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; - } + if (is_array($_structure[8])) { + if (isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { + $part->disposition = strtoupper($_structure[8][0]); + } + if (is_array($_structure[8][1])) { + foreach ($_structure[8][1] as $key => $value) { + if ($key%2 == 0) { + $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; + } + } } - } } $part->partID = $_partID; @@ -700,27 +787,32 @@ /** * Parse structure message array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return nothing + * @return nothing * - * @access private + * @access private */ function _parseStructureMessageArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureMessageArray _partID: $_partID<br>"; + // print "Net_IMAP::_parseStructureMessageArray _partID: $_partID<br>"; $part = $this->_parseStructureCommonFields($_structure); - if(is_array($_structure[8][0])) { - $this->_parseStructureMultipartArray($_structure[8], $subMimeParts, $_partID.'.1', true); + if (is_array($_structure[8][0])) { + $this->_parseStructureMultipartArray($_structure[8], + $subMimeParts, + $_partID . '.1', + true); } else { - $this->_parseStructureArray($_structure[8], $subMimeParts, $_partID); + $this->_parseStructureArray($_structure[8], + $subMimeParts, + $_partID); } - if(is_array($subMimeParts)) { - $part->subParts = $subMimeParts; + if (is_array($subMimeParts)) { + $part->subParts = $subMimeParts; } $part->partID = $_partID; @@ -732,30 +824,31 @@ /** * Parse structure text array * - * @params $_structure - * @params &$_mimeParts - * @params $_partID + * @param array $_structure Structure array + * @param array &$_mimeParts Mime parts + * @param int $_partID Part ID * - * @return nothing + * @return nothing * - * @access private + * @access private */ function _parseStructureTextArray($_structure, &$_mimeParts, $_partID) { - #print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; - $part = $this->_parseStructureCommonFields($_structure); + // print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; + $part = $this->_parseStructureCommonFields($_structure); $part->lines = $_structure[7]; - if(is_array($_structure[8])) { - if(isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { - $part->disposition = strtoupper($_structure[8][0]); - } - if(is_array($_structure[8][1])) { - foreach($_structure[8][1] as $key => $value) { - if($key%2 == 0) { - $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; - } + + if (is_array($_structure[8])) { + if (isset($_structure[8][0]) && $_structure[8][0] != 'NIL') { + $part->disposition = strtoupper($_structure[8][0]); + } + if (is_array($_structure[8][1])) { + foreach ($_structure[8][1] as $key => $value) { + if ($key%2 == 0) { + $part->dparameters[strtoupper($_structure[8][1][$key])] = $_structure[8][1][$key+1]; + } + } } - } } if (is_array($_structure[9])) { @@ -781,27 +874,28 @@ /** * Parse structure common fields * - * @param &$_structure + * @param array &$_structure Structure array * - * @return object part object (stdClass) + * @return object part object (stdClass) * - * @access private + * @access private */ function _parseStructureCommonFields(&$_structure) { - #print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; - $part = new stdClass; - $part->type = strtoupper($_structure[0]); + // print "Net_IMAP::_parseStructureTextArray _partID: $_partID<br>"; + $part = new stdClass; + $part->type = strtoupper($_structure[0]); $part->subType = strtoupper($_structure[1]); - if(is_array($_structure[2])) { - foreach($_structure[2] as $key => $value) { - if($key%2 == 0) { - $part->parameters[strtoupper($_structure[2][$key])] = $_structure[2][$key+1]; + + if (is_array($_structure[2])) { + foreach ($_structure[2] as $key => $value) { + if ($key%2 == 0) { + $part->parameters[strtoupper($_structure[2][$key])] = $_structure[2][$key+1]; + } } - } } $part->encoding = strtoupper($_structure[5]); - $part->bytes = $_structure[6]; + $part->bytes = $_structure[6]; return $part; } @@ -811,50 +905,53 @@ /** * Returns the entire message with given message number. * - * @param $msg_id Message number (default = null) - * @param boolean $indexIsMessageNumber (default = true) + * @param int $msg_id Message number (default = null) + * @param boolean $indexIsMessageNumber true if index is a message number + * (default = true) * - * @return mixed Either entire message or false on error + * @return mixed Either entire message or false on error * - * @access public + * @access public */ function getMessages($msg_id = null, $indexIsMessageNumber=true) { - //$resp=$this->cmdFetch($msg_id,"(BODY[TEXT] BODY[HEADER])"); - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; - } - }else{ - $message_set="1:*"; - } - - if (!$indexIsMessageNumber) { - $ret = $this->cmdUidFetch($message_set, 'RFC822'); - } else { - $ret = $this->cmdFetch($message_set, 'RFC822'); - } + // $resp=$this->cmdFetch($msg_id,"(BODY[TEXT] BODY[HEADER])"); + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; + } + } else { + $message_set = '1:*'; + } + + if (!$indexIsMessageNumber) { + $ret = $this->cmdUidFetch($message_set, 'RFC822'); + } else { + $ret = $this->cmdFetch($message_set, 'RFC822'); + } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset($ret["PARSED"])){ - foreach($ret["PARSED"] as $msg){ - if(isset($msg["EXT"]["RFC822"]["CONTENT"])){ - if($indexIsMessageNumber){ - $ret_aux[$msg["NRO"]]=$msg["EXT"]["RFC822"]["CONTENT"]; - }else{ - $ret_aux[]=$msg["EXT"]["RFC822"]["CONTENT"]; + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $msg) { + if (isset($msg['EXT']['RFC822']['CONTENT'])) { + if ($indexIsMessageNumber) { + $ret_aux[$msg['NRO']] = $msg['EXT']['RFC822']['CONTENT']; + } else { + $ret_aux[] = $msg['EXT']['RFC822']['CONTENT']; } - } + } } return $ret_aux; - } - return array(); + } + return array(); } @@ -862,29 +959,32 @@ /** * Returns number of messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfMessages($mailbox = '') { - if ( $mailbox == '' || $mailbox == null ){ - $mailbox=$this->getCurrentMailbox(); + if ($mailbox == '' || $mailbox == null) { + $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'MESSAGES'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); - } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"] ) ){ - // if this array does not exists means that there is no messages in the mailbox + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); + } + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES'])) { + // if this array does not exists means that there is no + // messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["MESSAGES"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['MESSAGES']; } } @@ -896,29 +996,31 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfUnSeenMessages($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '' ) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'UNSEEN'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret["RESPONSE"]["CODE"] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"] ) ){ + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN'])) { // if this array does not exists means that there is no messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["UNSEEN"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['UNSEEN']; } } @@ -930,29 +1032,31 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on failure + * @return mixed Either number of messages or Pear_Error on failure * - * @access public + * @access public */ function getNumberOfRecentMessages($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '' ) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, 'RECENT'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ - if( !is_numeric( $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { + if (!is_numeric($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { // if this array does not exists means that there is no messages in the mailbox return 0; - }else{ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"]; + } else { + return $ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT']; } } @@ -964,25 +1068,27 @@ /** * Returns number of UnSeen messages in this mailbox * - * @param string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox the mailbox (default is current mailbox) * - * @return mixed Either number of messages or Pear_Error on error + * @return mixed Either number of messages or Pear_Error on error * - * @access public + * @access public */ function getStatus($mailbox = '') { - if ( $mailbox == '' ){ + if ($mailbox == '') { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdStatus($mailbox, array('MESSAGES', 'RECENT', 'UIDNEXT', 'UIDVALIDITY', 'UNSEEN')))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret["PARSED"]["STATUS"]["ATTRIBUTES"]["RECENT"] ) ){ - return $ret["PARSED"]["STATUS"]["ATTRIBUTES"]; + if (isset($ret['PARSED']['STATUS']['ATTRIBUTES']['RECENT'])) { + return $ret['PARSED']['STATUS']['ATTRIBUTES']; } return 0; } @@ -992,54 +1098,57 @@ /** * Returns an array containing the message envelope * - * @param $mailbox get's not used anywhere (will be removed with next major release) - * @param mixed $msg_id Message number (default = null) - * @param boolean $uidFetch msg_id contains UID's instead of Message Sequence Number if set to true + * @param string $mailbox get's not used anywhere (will be removed + * with next major release) + * @param mixed $msg_id Message number (default = null) + * @param boolean $uidFetch msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed Either the envelopes or Pear_Error on error + * @return mixed Either the envelopes or Pear_Error on error * * @access public */ function getEnvelope($mailbox = '', $msg_id = null, $uidFetch = false) { - if ( $mailbox == '' ){ + if ($mailbox == '') { $mailbox = $this->getCurrentMailbox(); } - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidFetch) { - $ret=$this->cmdUidFetch($message_set,"ENVELOPE"); + if ($uidFetch) { + $ret = $this->cmdUidFetch($message_set, 'ENVELOPE'); } else { - $ret=$this->cmdFetch($message_set,"ENVELOPE"); + $ret = $this->cmdFetch($message_set, 'ENVELOPE'); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset( $ret["PARSED"] ) ){ - for($i=0; $i<count($ret["PARSED"]) ; $i++){ - $a=$ret["PARSED"][$i]['EXT']['ENVELOPE']; - $a['MSG_NUM']=$ret["PARSED"][$i]['NRO']; - $env[]=$a; + if (isset($ret['PARSED'])) { + for ($i=0; $i<count($ret['PARSED']); $i++) { + $a = $ret['PARSED'][$i]['EXT']['ENVELOPE']; + $a['MSG_NUM'] = $ret['PARSED'][$i]['NRO']; + $env[] = $a; } return $env; } - return new PEAR_Error('Error, undefined number of messages'); - + return new PEAR_Error('Error, undefined number of messages'); } @@ -1050,51 +1159,53 @@ * if you have a lot of messages in the mailbox * Use with care! * - * @params string $mailbox the mailbox (default is current mailbox) + * @param string $mailbox The mailbox (default is current mailbox) * - * @return mixed Either size of maildrop or false on error + * @return mixed Either size of maildrop or false on error * - * @access public + * @access public */ function getMailboxSize($mailbox = '') { - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { // store the actual selected mailbox name $mailbox_aux = $this->getCurrentMailbox(); - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox ) ) ) { + if (PEAR::isError($ret = $this->selectMailbox($mailbox))) { return $ret; } } - $ret=$this->cmdFetch("1:*","RFC822.SIZE"); - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - // Restore the default mailbox if it was changed - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox_aux ) ) ) { + $ret = $this->cmdFetch('1:*', 'RFC822.SIZE'); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // Restore the default mailbox if it was changed + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { + if (PEAR::isError($ret = $this->selectMailbox($mailbox_aux))) { return $ret; - } } - // return 0 because the server says that there is no message in the mailbox - return 0; + } + // return 0 because the server says that there is no message + // in the mailbox + return 0; } - $sum=0; + $sum = 0; - if(!isset($ret["PARSED"]) ){ + if (!isset($ret['PARSED'])) { // if the server does not return a "PARSED" part - // we think that it does not suppoprt select or has no messages in it. + // we think that it does not suppoprt select or has no messages + // in it. return 0; } - foreach($ret["PARSED"] as $msgSize){ - if( isset($msgSize["EXT"]["RFC822.SIZE"]) ){ - $sum+= $msgSize["EXT"]["RFC822.SIZE"]; + foreach ($ret['PARSED'] as $msgSize) { + if (isset($msgSize['EXT']['RFC822.SIZE'])) { + $sum += $msgSize['EXT']['RFC822.SIZE']; } } - if ( $mailbox != '' && $mailbox != $this->getCurrentMailbox() ){ - // re-select the mailbox - if ( PEAR::isError( $ret = $this->selectMailbox( $mailbox_aux ) ) ) { + if ($mailbox != '' && $mailbox != $this->getCurrentMailbox()) { + // re-select the mailbox + if (PEAR::isError($ret = $this->selectMailbox($mailbox_aux))) { return $ret; } } @@ -1109,12 +1220,13 @@ * disconnect() method is called with auto-expunge on true or expunge() * method is called. * - * @param $msg_id Message to delete (default = null) - * @param boolean $uidStore msg_id contains UID's instead of Message Sequence Number if set to true (default = false) + * @param int $msg_id Message to delete (default = null) + * @param boolean $uidStore msg_id contains UID's instead of Message + * Sequence Number if set to true (default = false) * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * - * @access public + * @access public */ function deleteMessages($msg_id = null, $uidStore = false) { @@ -1125,31 +1237,33 @@ S: * 4 FETCH FLAGS (\Deleted \Flagged \Seen) S: A003 OK STORE completed */ - //Called without parammeters deletes all the messages in the mailbox + // Called without parammeters deletes all the messages in the mailbox // You can also provide an array of numbers to delete those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - $dataitem="+FLAGS.SILENT"; - $value="\Deleted"; - if($uidStore == true) { - $ret=$this->cmdUidStore($message_set,$dataitem,$value); + $dataitem = '+FLAGS.SILENT'; + $value = '\Deleted'; + if ($uidStore == true) { + $ret = $this->cmdUidStore($message_set, $dataitem, $value); } else { - $ret=$this->cmdStore($message_set,$dataitem,$value); + $ret = $this->cmdStore($message_set, $dataitem, $value); } if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1159,48 +1273,55 @@ /** * Copies mail from one folder to another * - * @param string $dest_mailbox mailbox name to copy sessages to - * @param mixed $msg_id the messages that I want to copy (all by default) it also - * can be an array - * @param string $source_mailbox mailbox name from where the messages are copied (default is current mailbox) - * @param bool $uidCopy msg_id contains UID's instead of Message Sequence Number if set to true + * @param string $dest_mailbox mailbox name to copy sessages to + * @param mixed $msg_id the messages that I want to copy (all + * by default) it also can be an array + * @param string $source_mailbox mailbox name from where the messages are + * copied (default is current mailbox) + * @param boolean $uidCopy msg_id contains UID's instead of Message + * Sequence Number if set to true * * @return mixed true on Success/PearError on Failure * * @access public * @since 1.0 */ - function copyMessages($dest_mailbox, $msg_id = null , $source_mailbox = null, $uidCopy = false ) + function copyMessages($dest_mailbox, + $msg_id = null, + $source_mailbox = null, + $uidCopy = false) { - if($source_mailbox == null){ + if ($source_mailbox == null) { $source_mailbox = $this->getCurrentMailbox(); - }else{ - if ( PEAR::isError( $ret = $this->selectMailbox( $source_mailbox ) ) ) { + } else { + if (PEAR::isError($ret = $this->selectMailbox($source_mailbox))) { return $ret; } } - //Called without parammeters copies all messages in the mailbox + // Called without parammeters copies all messages in the mailbox // You can also provide an array of numbers to copy those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } - if($uidCopy == true) { - $ret = $this->cmdUidCopy($message_set, $dest_mailbox ); + if ($uidCopy == true) { + $ret = $this->cmdUidCopy($message_set, $dest_mailbox); } else { - $ret = $this->cmdCopy($message_set, $dest_mailbox ); + $ret = $this->cmdCopy($message_set, $dest_mailbox); } if (PEAR::isError($ret)) { return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'].', '.$ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -1211,26 +1332,29 @@ /** * Appends a mail to a mailbox * - * @param string $rfc_message the message to append in RFC822 format - * @param string $mailbox mailbox name to append to (default is current mailbox) - * @param string $flags_list set flags appended message + * @param string $rfc_message the message to append in RFC822 format + * @param string $mailbox mailbox name to append to (default is + * current mailbox) + * @param string $flags_list set flags appended message * - * @return mixed true on success / Pear_Error on failure + * @return mixed true on success / Pear_Error on failure * * @access public * @since 1.0 */ - function appendMessage($rfc_message, $mailbox = null , $flags_list = '') + function appendMessage($rfc_message, $mailbox = null, $flags_list = '') { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } - $ret=$this->cmdAppend($mailbox,$rfc_message,$flags_list); + $ret = $this->cmdAppend($mailbox, $rfc_message, $flags_list); if (PEAR::isError($ret)) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1238,24 +1362,26 @@ /** - * Get the namespace + * Returns the namespace * - * @return mixed namespace or PearError on failure + * @return mixed namespace or PearError on failure * - * @access public - * @since 1.1 + * @access public + * @since 1.1 */ function getNamespace() { if (PEAR::isError($ret = $this->cmdNamespace())) { return $ret; } - if(strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - foreach($ret["PARSED"]["NAMESPACES"] as $type => $singleNameSpace) { - if(!is_array($singleNameSpace)) { + foreach ($ret['PARSED']['NAMESPACES'] as $type => $singleNameSpace) { + if (!is_array($singleNameSpace)) { continue; } @@ -1279,35 +1405,36 @@ ******************************************************************/ /** - * Gets the HierachyDelimiter character used to create subfolders cyrus users "." - * and wu-imapd uses "/" + * Gets the HierachyDelimiter character used to create subfolders + * cyrus users "." + * and wu-imapd uses "/" * - * $param string the mailbox to get the hierarchy from + * @param string $mailbox The mailbox to get the hierarchy from * - * @return string the hierarchy delimiter + * @return string The hierarchy delimiter * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getHierarchyDelimiter( $mailbox = '' ) + function getHierarchyDelimiter($mailbox = '') { - - /* RFC2060 says: "the command LIST "" "" means get the hierachy delimiter: - An empty ("" string) mailbox name argument is a special request to - return the hierarchy delimiter and the root name of the name given - in the reference. The value returned as the root MAY be null if - the reference is non-rooted or is null. In all cases, the - hierarchy delimiter is returned. This permits a client to get the - hierarchy delimiter even when no mailboxes by that name currently - exist." + /* RFC2060 says: + "the command LIST "" "" means get the hierachy delimiter: + An empty ("" string) mailbox name argument is a special request to + return the hierarchy delimiter and the root name of the name given + in the reference. The value returned as the root MAY be null if + the reference is non-rooted or is null. In all cases, the + hierarchy delimiter is returned. This permits a client to get the + hierarchy delimiter even when no mailboxes by that name currently + exist." */ - if( PEAR::isError( $ret = $this->cmdList( $mailbox , '' ) ) ){ + if (PEAR::isError($ret = $this->cmdList($mailbox, ''))) { return $ret; } - if(isset($ret["PARSED"][0]["EXT"]["LIST"]["HIERACHY_DELIMITER"]) ){ - return $ret["PARSED"][0]["EXT"]["LIST"]["HIERACHY_DELIMITER"]; + if (isset($ret['PARSED'][0]['EXT']['LIST']['HIERACHY_DELIMITER'])) { + return $ret['PARSED'][0]['EXT']['LIST']['HIERACHY_DELIMITER']; } - return new PEAR_Error( 'the IMAP Server does not support HIERACHY_DELIMITER!' ); + return new PEAR_Error('the IMAP Server does not support HIERACHY_DELIMITER!'); } @@ -1315,68 +1442,80 @@ /** * Returns an array containing the names of the selected mailboxes * - * @param string $reference base mailbox to start the search (default is current mailbox) - * @param string $restriction_search false or 0 means return all mailboxes - * true or 1 return only the mailbox that contains that exact name - * 2 return all mailboxes in that hierarchy level - * @param string $returnAttributes true means return an assoc array containing mailbox names and mailbox attributes - * false - the default - means return an array of mailboxes + * @param string $reference base mailbox to start the search + * (default is current mailbox) + * @param string $restriction_search false or 0 means return all mailboxes + * true or 1 return only the mailbox that + * contains that exact name + * 2 return all mailboxes in that + * hierarchy level + * @param string $returnAttributes true means return an assoc array + * containing mailbox names and mailbox + * attributes,false - the default - means + * return an array of mailboxes * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getMailboxes($reference = '', $restriction_search = 0, $returnAttributes=false) + function getMailboxes($reference = '', + $restriction_search = 0, + $returnAttributes = false) { - if ( is_bool($restriction_search) ){ + if (is_bool($restriction_search)) { $restriction_search = (int) $restriction_search; } - if ( is_int( $restriction_search ) ){ - switch ( $restriction_search ) { - case 0: - $mailbox = "*"; - break; - case 1: - $mailbox = $reference; - $reference = ''; - break; - case 2: - $mailbox = "%"; - break; + if (is_int($restriction_search)) { + switch ($restriction_search) { + case 0: + $mailbox = '*'; + break; + case 1: + $mailbox = $reference; + $reference = ''; + break; + case 2: + $mailbox = '%'; + break; } - }else{ - if ( is_string( $restriction_search ) ){ + } else { + if (is_string($restriction_search)) { $mailbox = $restriction_search; - }else { + } else { return new PEAR_Error('Wrong data for 2nd parameter'); } } - if( PEAR::isError( $ret = $this->cmdList($reference, $mailbox) ) ){ + if (PEAR::isError($ret = $this->cmdList($reference, $mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret_aux=array(); - if( isset($ret["PARSED"]) ){ - foreach( $ret["PARSED"] as $mbox ){ + $ret_aux = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $mbox) { - //If the folder has the \NoSelect atribute we don't put in the list - // it solves a bug in wu-imap that crash the IMAP server if we select that mailbox + // If the folder has the \NoSelect atribute we don't put in + // the list + // it solves a bug in wu-imap that crash the IMAP server if + // we select that mailbox if (isset($mbox['EXT']['LIST']['NAME_ATTRIBUTES'])) { // if (!in_array('\NoSelect', $mbox['EXT']['LIST']['NAME_ATTRIBUTES'])) { - if ($returnAttributes) { - $ret_aux[]=array('MAILBOX' => $mbox['EXT']['LIST']['MAILBOX_NAME'], - 'ATTRIBUTES' => $mbox['EXT']['LIST']['NAME_ATTRIBUTES'], - 'HIERACHY_DELIMITER' => $mbox['EXT']['LIST']['HIERACHY_DELIMITER']); - } else { - $ret_aux[] = $mbox['EXT']['LIST']['MAILBOX_NAME']; - } + if ($returnAttributes) { + $ret_aux[] = array( + 'MAILBOX' => $mbox['EXT']['LIST']['MAILBOX_NAME'], + 'ATTRIBUTES' => $mbox['EXT']['LIST']['NAME_ATTRIBUTES'], + 'HIERACHY_DELIMITER' => $mbox['EXT']['LIST']['HIERACHY_DELIMITER']); + } else { + $ret_aux[] = $mbox['EXT']['LIST']['MAILBOX_NAME']; + } // } } } @@ -1387,22 +1526,22 @@ /** - * check if the mailbox name exists + * Check if the mailbox name exists * - * @param string $mailbox mailbox name to check existance + * @param string $mailbox Mailbox name to check existance * - * @return mixed boolean true/false or PEAR_Error on failure + * @return mixed boolean true/false or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function mailboxExist($mailbox) { // true means do an exact match - if( PEAR::isError( $ret = $this->getMailboxes( $mailbox , true ) ) ){ + if (PEAR::isError($ret = $this->getMailboxes($mailbox, true))) { return $ret; } - if( count( $ret ) > 0 ){ + if (count($ret) > 0) { foreach ($ret as $mailbox_name) { if ($mailbox_name == $mailbox) { return true; @@ -1417,21 +1556,23 @@ /** * Creates the mailbox $mailbox * - * @param string $mailbox mailbox name to create - * @param array $options options to pass to create (default is no options) + * @param string $mailbox Mailbox name to create + * @param array $options Options to pass to create (default is no options) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function createMailbox($mailbox, $options = null) { if (PEAR::isError($ret = $this->cmdCreate($mailbox, $options))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1441,22 +1582,26 @@ /** * Deletes the mailbox $mailbox * - * @param string $mailbox mailbox name to delete + * @param string $mailbox Name of the Mailbox that should be deleted * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function deleteMailbox($mailbox) { - // TODO verificar que el mailbox se encuentra vacio y, sino borrar los mensajes antes~!!!!!! - // ToDo find someone who can translate the above todo + // TODO verificar que el mailbox se encuentra vacio y, sino borrar los + // mensajes antes~!!!!!! + // ToDo find someone who can translate the above todo + if (PEAR::isError($ret = $this->cmdDelete($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1466,22 +1611,26 @@ /** * Renames the mailbox $mailbox * - * @param string $oldmailbox mailbox name to rename - * @param string $newmailbox new name for the mailbox - * @param array $options options to pass to rename + * @param string $oldmailbox mailbox name to rename + * @param string $newmailbox new name for the mailbox + * @param array $options options to pass to rename * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function renameMailbox($oldmailbox, $newmailbox, $options = null) { - if (PEAR::isError($ret = $this->cmdRename($oldmailbox, $newmailbox, $options))) { + if (PEAR::isError($ret = $this->cmdRename($oldmailbox, + $newmailbox, + $options))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1498,23 +1647,26 @@ /** * Subscribes to the selected mailbox * - * @param string $mailbox mailbox name to subscribe (default is current mailbox) + * @param string $mailbox Mailbox name to subscribe (default is current + * mailbox) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function subscribeMailbox($mailbox = null ) + function subscribeMailbox($mailbox = null) { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdSubscribe($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1524,23 +1676,26 @@ /** * Removes the subscription to a mailbox * - * @param string $mailbox mailbox name to unsubscribe (default is current mailbox) + * @param string $mailbox Mailbox name to unsubscribe (default is current + * mailbox) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function unsubscribeMailbox($mailbox = null) { - if($mailbox == null){ + if ($mailbox == null) { $mailbox = $this->getCurrentMailbox(); } if (PEAR::isError($ret = $this->cmdUnsubscribe($mailbox))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -1550,65 +1705,70 @@ /** * Lists the subscription to mailboxes * - * @param string $mailbox_base mailbox name start the search (see to getMailboxes() ) - * @param string $mailbox_name mailbox name filter the search (see to getMailboxes() ) + * @param string $reference Mailbox name start the search (see to + * getMailboxes() ) + * @param string $restriction_search Mailbox_name Mailbox name filter the + * search (see to getMailboxes() ) + * @param boolean $returnAttributes Return the attributes * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function listsubscribedMailboxes($reference = '' , $restriction_search = 0, $returnAttributes = false) + function listsubscribedMailboxes($reference = '', + $restriction_search = 0, + $returnAttributes = false) { - if ( is_bool($restriction_search) ){ + if (is_bool($restriction_search)) { $restriction_search = (int) $restriction_search; } - if ( is_int( $restriction_search ) ){ - switch ( $restriction_search ) { - case 0: - $mailbox = "*"; - break; - case 1: - $mailbox = $reference; - $reference = '%'; - break; - case 2: - $mailbox = "%"; - break; + if (is_int($restriction_search)) { + switch ($restriction_search) { + case 0: + $mailbox = '*'; + break; + case 1: + $mailbox = $reference; + $reference = '%'; + break; + case 2: + $mailbox = '%'; + break; } - }else{ - if ( is_string( $restriction_search ) ){ + } else { + if (is_string($restriction_search)) { $mailbox = $restriction_search; - }else { - return new PEAR_Error("UPS... you "); + } else { + return new PEAR_Error('UPS... you '); } } - if( PEAR::isError( $ret=$this->cmdLsub($reference, $mailbox) ) ){ + if (PEAR::isError($ret = $this->cmdLsub($reference, $mailbox))) { return $ret; } - //$ret=$this->cmdLsub($mailbox_base, $mailbox_name); - + // $ret=$this->cmdLsub($mailbox_base, $mailbox_name); - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $ret_aux=array(); - if( isset($ret["PARSED"]) ){ - foreach( $ret["PARSED"] as $mbox ){ - if( isset($mbox["EXT"]["LSUB"]["MAILBOX_NAME"]) ){ - if( $returnAttributes){ - $ret_aux[]=array( - 'MAILBOX' => $mbox["EXT"]["LSUB"]["MAILBOX_NAME"], - 'ATTRIBUTES' => $mbox["EXT"]["LSUB"]["NAME_ATTRIBUTES"], - 'HIERACHY_DELIMITER' => $mbox["EXT"]["LSUB"]["HIERACHY_DELIMITER"] - ) ; - }else{ - $ret_aux[]=$mbox["EXT"]["LSUB"]["MAILBOX_NAME"]; - - } + $ret_aux = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $mbox) { + if (isset($mbox['EXT']['LSUB']['MAILBOX_NAME'])) { + if ($returnAttributes) { + $ret_aux[] = array( + 'MAILBOX' => $mbox['EXT']['LSUB']['MAILBOX_NAME'], + 'ATTRIBUTES' => $mbox['EXT']['LSUB']['NAME_ATTRIBUTES'], + 'HIERACHY_DELIMITER' => $mbox['EXT']['LSUB']['HIERACHY_DELIMITER'] + ); + } else { + $ret_aux[] = $mbox['EXT']['LSUB']['MAILBOX_NAME']; + } } } } @@ -1627,38 +1787,40 @@ /** * Lists the flags of the selected messages * - * @param mixed $msg_id the message list + * @param mixed $msg_id the message list * - * @return mixed array on success/PearError on failure + * @return mixed array on success/PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getFlags( $msg_id = null ) + function getFlags($msg_id = null) { - // You can also provide an array of numbers to those emails - if( $msg_id != null){ - if(is_array($msg_id)){ - $message_set=$this->_getSearchListFromArray($msg_id); - }else{ - $message_set=$msg_id; + // You can also provide an array of numbers to those emails + if ($msg_id != null) { + if (is_array($msg_id)) { + $message_set = $this->_getSearchListFromArray($msg_id); + } else { + $message_set = $msg_id; } - }else{ - $message_set="1:*"; + } else { + $message_set = '1:*'; } if (PEAR::isError($ret = $this->cmdFetch($message_set, 'FLAGS'))) { return $ret; } - if(strtoupper($ret["RESPONSE"]["CODE"]) != "OK"){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - $flags=array(); - if(isset($ret["PARSED"])){ - foreach($ret["PARSED"] as $msg_flags){ - if(isset($msg_flags["EXT"]["FLAGS"])){ - $flags[]=$msg_flags["EXT"]["FLAGS"]; + $flags = array(); + if (isset($ret['PARSED'])) { + foreach ($ret['PARSED'] as $msg_flags) { + if (isset($msg_flags['EXT']['FLAGS'])) { + $flags[] = $msg_flags['EXT']['FLAGS']; } } } @@ -1670,17 +1832,18 @@ /** * Sets the flags of the selected messages * - * @param mixed $msg_id the message list or string "all" for all - * @param mixed $flags flags to set (space separated String or array) - * @param string $mod "set" to set flags (default) - * "add" to add flags - * "remove" to remove flags - * @param boolean $uidStore msg_id contains UID's instead of Message Sequence Number if set to true + * @param mixed $msg_id the message list or string "all" for all + * @param mixed $flags flags to set (space separated String or array) + * @param string $mod "set" to set flags (default), + * "add" to add flags, + * "remove" to remove flags + * @param boolean $uidStore msg_id contains UID's instead of Message + * Sequence Number if set to true * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function setFlags($msg_id, $flags, $mod = 'set', $uidStore = false) { @@ -1703,31 +1866,33 @@ } switch ($mod) { - case 'set': - $dataitem = 'FLAGS'; - break; - case 'add': - $dataitem = '+FLAGS'; - break; - case 'remove': - $dataitem = '-FLAGS'; - break; - default: - // Wrong Input - return new PEAR_Error('wrong input $mod'); - break; + case 'set': + $dataitem = 'FLAGS'; + break; + case 'add': + $dataitem = '+FLAGS'; + break; + case 'remove': + $dataitem = '-FLAGS'; + break; + default: + // Wrong Input + return new PEAR_Error('wrong input for $mod'); + break; } - if($uidStore == true) { - $ret=$this->cmdUidStore($message_set, $dataitem, $flaglist); + if ($uidStore == true) { + $ret = $this->cmdUidStore($message_set, $dataitem, $flaglist); } else { - $ret=$this->cmdStore($message_set, $dataitem, $flaglist); + $ret = $this->cmdStore($message_set, $dataitem, $flaglist); } if (PEAR::isError($ret)) { return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; @@ -1738,13 +1903,13 @@ /** * adds flags to the selected messages * - * @param mixed $flags flags to set (space separated String or array) - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all + * @param mixed $flags Flags to set (space separated String or array) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addFlags($msg_id, $flags) { @@ -1756,12 +1921,12 @@ /** * adds the Seen flag (\Seen) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addSeen($msg_id) { @@ -1773,12 +1938,12 @@ /** * adds the Answered flag (\Answered) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addAnswered($msg_id) { @@ -1790,12 +1955,12 @@ /** * adds the Deleted flag (\Deleted) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addDeleted($msg_id) { @@ -1807,12 +1972,12 @@ /** * adds the Flagged flag (\Flagged) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addFlagged($msg_id) { @@ -1824,12 +1989,12 @@ /** * adds the Draft flag (\Draft) to the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function addDraft($msg_id) { @@ -1841,13 +2006,13 @@ /** * remove flags from the selected messages * - * @param mixed $flags flags to remove (space separated string or array) - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all + * @param mixed $flags Flags to remove (space separated string or array) * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeFlags($msg_id, $flags) { @@ -1859,12 +2024,12 @@ /** * remove the Seen flag (\Seen) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeSeen($msg_id) { @@ -1876,12 +2041,12 @@ /** * remove the Answered flag (\Answered) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeAnswered($msg_id) { @@ -1893,12 +2058,12 @@ /** * remove the Deleted flag (\Deleted) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeDeleted($msg_id) { @@ -1910,12 +2075,12 @@ /** * remove the Flagged flag (\Flagged) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeFlagged($msg_id) { @@ -1927,12 +2092,12 @@ /** * remove the Draft flag (\Draft) from the selected messages * - * @param mixed $msg_id the message list or string "all" for all + * @param mixed $msg_id The message list or string "all" for all * - * @return mixed true on success/PearError on failure + * @return mixed true on success/PearError on failure * - * @since 1.1 - * @access public + * @access public + * @since 1.1 */ function removeDraft($msg_id) { @@ -1944,16 +2109,16 @@ /** * check the Seen flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on Failure + * @return mixed true or false if the flag is set PearError on Failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isSeen($message_nro) { - return $this->hasFlag( $message_nro, "\\Seen" ); + return $this->hasFlag($message_nro, '\Seen'); } @@ -1961,16 +2126,16 @@ /** * check the Answered flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isAnswered($message_nro) { - return $this->hasFlag( $message_nro, "\\Answered" ); + return $this->hasFlag($message_nro, '\Answered'); } @@ -1978,16 +2143,16 @@ /** * check the flagged flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isFlagged($message_nro) { - return $this->hasFlag( $message_nro, "\\Flagged" ); + return $this->hasFlag($message_nro, '\Flagged'); } @@ -1995,16 +2160,16 @@ /** * check the Draft flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isDraft($message_nro) { - return $this->hasFlag( $message_nro, "\\Draft" ); + return $this->hasFlag($message_nro, '\Draft'); } @@ -2012,16 +2177,16 @@ /** * check the Deleted flag * - * @param mixed $message_nro the message to check + * @param mixed $message_nro The message to check * - * @return mixed true or false if the flag is set PearError on failure + * @return mixed true or false if the flag is set PearError on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function isDeleted($message_nro) { - return $this->hasFlag( $message_nro, "\\Deleted" ); + return $this->hasFlag($message_nro, '\Deleted'); } @@ -2029,23 +2194,24 @@ /** * checks if a flag is set * - * @param mixed $message_nro the message to check - * @param string $flag the flag that should be checked + * @param mixed $message_nro The message to check + * @param string $flag The flag that should be checked * - * @return mixed true or false if the flag is set PearError on Failure + * @return mixed true or false if the flag is set PearError on Failure * - * @since 1.0 - * @access public + * @access public + * @since 1.0 */ - function hasFlag($message_nro,$flag) + function hasFlag($message_nro, $flag) { - if ( PEAR::isError( $resp = $this->getFlags( $message_nro ) ) ) { + if (PEAR::isError($resp = $this->getFlags($message_nro))) { return $resp; } - if(isset($resp[0]) ){ - if( is_array( $resp[0] ) ){ - if( in_array( $flag , $resp[0] ) ) + if (isset($resp[0])) { + if (is_array($resp[0])) { + if (in_array($flag, $resp[0])) { return true; + } } } return false; @@ -2064,18 +2230,20 @@ /** * expunge function. Sends the EXPUNGE command * - * @return mixed true on success / PEAR Error on failure + * @return mixed true on success / PEAR Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function expunge() { if (PEAR::isError($ret = $this->cmdExpunge())) { return $ret; } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2083,30 +2251,32 @@ /** - * search function. Sends the SEARCH command + * Search function. Sends the SEARCH command * - * @param string $search_list search criterias - * @param boolean $uidSearch if set to true UID SEARCH is send instead of SEARCH + * @param string $search_list Search criterias + * @param boolean $uidSearch If set to true UID SEARCH is send instead of SEARCH * - * @return mixed message array or PEAR Error on failure + * @return mixed Message array or PEAR Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function search($search_list, $uidSearch = false) { - if($uidSearch){ + if ($uidSearch) { $ret = $this->cmdUidSearch($search_list); - }else{ + } else { $ret = $this->cmdSearch($search_list); } if (PEAR::isError($ret)) { return $ret; } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - return $ret["PARSED"]["SEARCH"]["SEARCH_LIST"]; + return $ret['PARSED']['SEARCH']['SEARCH_LIST']; } @@ -2114,19 +2284,26 @@ /** * sort function. Sends the SORT command * - * @param string $sort_list sort program - * @param string $charset charset specification (default = 'US-ASCII') - * @param string $search_list searching criteria - * @param boolean $uidSort if set to true UID SORT is send instead of SORT + * @param string $sort_list sort program + * @param string $charset charset specification (default = 'US-ASCII') + * @param string $search_list searching criteria + * @param boolean $uidSort if set to true UID SORT is send instead + * of SORT * - * @return mixed message array or PEAR Error on failure + * @return mixed message array or PEAR Error on failure * - * @access public - * @since 1.1 + * @access public + * @since 1.1 */ - function sort($sort_list, $charset='US-ASCII', $search_list = '', $uidSort = false) - { - $sort_command = sprintf("(%s) %s %s", $sort_list, strtoupper($charset), $search_list); + function sort($sort_list, + $charset = 'US-ASCII', + $search_list = '', + $uidSort = false) + { + $sort_command = sprintf("(%s) %s %s", + $sort_list, + strtoupper($charset), + $search_list); if ($uidSort) { $ret = $this->cmdUidSort($sort_command); @@ -2137,7 +2314,9 @@ return $ret; } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ", " . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return $ret['PARSED']['SORT']['SORT_LIST']; } @@ -2155,34 +2334,39 @@ /** * Returns STORAGE quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getStorageQuotaRoot($mailbox_name = null ) + function getStorageQuotaRoot($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdGetQuotaRoot($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuotaRoot($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,9) == "QUOTAROOT" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set + // return an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 9) == 'QUOTAROOT') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['STORAGE'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['STORAGE'])) { return $ret['PARSED']['EXT']['QUOTA']['STORAGE']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2193,34 +2377,39 @@ /** * Returns STORAGE quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or PEAR_Error + * on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getStorageQuota($mailbox_name = null ) + function getStorageQuota($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdGetQuota($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuota($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,5) == "QUOTA" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set + // return an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 5) == 'QUOTA') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['STORAGE'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['STORAGE'])) { return $ret['PARSED']['EXT']['QUOTA']['STORAGE']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2231,33 +2420,39 @@ /** * Returns MESSAGES quota details * - * @param string $mailbox_name Mailbox to get quota info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get quota info. (default is + * current mailbox) * - * @return assoc array contaning the quota info on success or PEAR_Error on failure + * @return assoc array contaning the quota info on success or PEAR_Error + * on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getMessagesQuota($mailbox_name = null ) + function getMessagesQuota($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdGetQuota($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetQuota($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - // if the error is that the user does not have quota set return an array - // and not pear error - if( substr(strtoupper($ret["RESPONSE"]["STR_CODE"]),0,5) == "QUOTA" ){ + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + // if the error is that the user does not have quota set return + // an array and not pear error + if (substr(strtoupper($ret['RESPONSE']['STR_CODE']), + 0, + 5) == 'QUOTA') { return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); } - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset( $ret['PARSED']['EXT']['QUOTA']['MESSAGES'] ) ){ + if (isset($ret['PARSED']['EXT']['QUOTA']['MESSAGES'])) { return $ret['PARSED']['EXT']['QUOTA']['MESSAGES']; } return array('USED'=>'NOT SET', 'QMAX'=>'NOT SET'); @@ -2268,21 +2463,23 @@ /** * sets STORAGE quota * - * @param string $mailbox_name Mailbox to set quota - * @param int $quota Quotasize + * @param string $mailbox_name Mailbox to set quota + * @param int $quota Quotasize * - * @return true on success or PEAR_Error on failure + * @return true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setStorageQuota($mailbox_name, $quota) { - if ( PEAR::isError( $ret = $this->cmdSetQuota($mailbox_name,$quota) ) ) { + if (PEAR::isError($ret = $this->cmdSetQuota($mailbox_name, $quota))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2292,21 +2489,25 @@ /** * sets MESSAGES quota * - * @param string $mailbox_name Mailbox to set quota - * @param int $quota Quotasize + * @param string $mailbox_name Mailbox to set quota + * @param int $quota Quotasize * - * @return true on success or PEAR_Error on failure + * @return true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setMessagesQuota($mailbox_name, $quota) { - if ( PEAR::isError( $ret = $this->cmdSetQuota($mailbox_name,'',$quota) ) ) { + if (PEAR::isError($ret = $this->cmdSetQuota($mailbox_name, + '', + $quota))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2324,29 +2525,32 @@ /** * get the Access Control List details * - * @param string $mailbox_name Mailbox to get ACL info. (default is current mailbox) + * @param string $mailbox_name Mailbox to get ACL info. (default is + * current mailbox) * - * @return mixed string on success or false or PEAR_Error on failure + * @return mixed string on success or false or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ - function getACL($mailbox_name = null ) + function getACL($mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdGetACL($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdGetACL($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if( isset($ret['PARSED']['USERS']) ){ - return $ret['PARSED']['USERS']; - }else{ + if (isset($ret['PARSED']['USERS'])) { + return $ret['PARSED']['USERS']; + } else { return false; } } @@ -2356,22 +2560,24 @@ /** * Set ACL on a mailbox * - * @param string $mailbox_name the mailbox - * @param string $user user to set the ACL - * @param string $acl ACL list + * @param string $mailbox_name The mailbox + * @param string $user User to set the ACL + * @param string $acl ACL list * - * @return mixed true on success or PEAR_Error on failure + * @return mixed true on success or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function setACL($mailbox_name, $user, $acl) { - if ( PEAR::isError( $ret = $this->cmdSetACL($mailbox_name, $user, $acl) ) ) { + if (PEAR::isError($ret = $this->cmdSetACL($mailbox_name, $user, $acl))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2381,21 +2587,23 @@ /** * deletes the ACL on a mailbox * - * @param string $mailbox_name the mailbox - * @param string $user user to delete the ACL + * @param string $mailbox_name The mailbox + * @param string $user User to delete the ACL * - * @return mixed true on success, or PEAR_Error on failure + * @return mixed true on success, or PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function deleteACL($mailbox_name, $user) { - if ( PEAR::isError( $ret = $this->cmdDeleteACL($mailbox_name, $user) ) ) { + if (PEAR::isError($ret = $this->cmdDeleteACL($mailbox_name, $user))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2406,33 +2614,35 @@ * returns the rights that the user logged on has on the mailbox * this method can be used by any user, not only the administrator * - * @param string $mailbox_name the mailbox to query rights (default is current mailbox) + * @param string $mailbox_name The mailbox to query rights (default is + * current mailbox) * - * @return mixed string containing the list of rights on success, or PEAR_Error on failure + * @return mixed string containing the list of rights on success, or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function getMyRights($mailbox_name = null) { - - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - - if ( PEAR::isError( $ret = $this->cmdMyRights($mailbox_name) ) ) { + if (PEAR::isError($ret = $this->cmdMyRights($mailbox_name))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - if(isset($ret['PARSED']['GRANTED'])){ + if (isset($ret['PARSED']['GRANTED'])) { return $ret['PARSED']['GRANTED']; } - return new PEAR_Error('Bogus response from server!' ); + return new PEAR_Error('Bogus response from server!'); } @@ -2441,36 +2651,38 @@ * returns an array containing the rights for given user on the mailbox * this method can be used by any user, not only the administrator * - * @param string $user the user to query rights - * @param string $mailbox_name the mailbox to query rights (default is current mailbox) + * @param string $user The user to query rights + * @param string $mailbox_name The mailbox to query rights (default is + * current mailbox) * - * @return mixed string containing the list of rights on success, or PEAR_Error on failure + * @return mixed string containing the list of rights on success, or + * PEAR_Error on failure * - * @access public - * @since 1.0 + * @access public + * @since 1.0 */ function getACLRights($user,$mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if ( PEAR::isError( $ret = $this->cmdListRights($mailbox_name, $user) ) ) { + if (PEAR::isError($ret = $this->cmdListRights($mailbox_name, $user))) { return new PEAR_Error($ret->getMessage()); } - if( strtoupper( $ret["RESPONSE"]["CODE"]) != "OK" ){ - return new PEAR_Error($ret["RESPONSE"]["CODE"] . ", " . $ret["RESPONSE"]["STR_CODE"]); + if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } - - if(isset($ret['PARSED']['GRANTED'])){ + if (isset($ret['PARSED']['GRANTED'])) { return $ret['PARSED']['GRANTED']; } - return new PEAR_Error('Bogus response from server!' ); - + return new PEAR_Error('Bogus response from server!'); } @@ -2486,26 +2698,30 @@ /** * set annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entry Entry + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed true on success or PEAR Error on failure + * @return mixed true on success or PEAR Error on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ - function setAnnotation($entry, $values, $mailbox_name = null ) + function setAnnotation($entry, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if (PEAR::isError($ret = $this->cmdSetAnnotation($mailbox_name, $entry, $values))) { + if (PEAR::isError($ret = $this->cmdSetAnnotation($mailbox_name, + $entry, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2514,26 +2730,30 @@ /** * delete annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entry Entry + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed true on success or PEAR Error on failure + * @return mixed true on success or PEAR Error on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ - function deleteAnnotation($entry, $values, $mailbox_name = null ) + function deleteAnnotation($entry, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } - if (PEAR::isError($ret = $this->cmdDeleteAnnotation($mailbox_name, $entry, $values))) { + if (PEAR::isError($ret = $this->cmdDeleteAnnotation($mailbox_name, + $entry, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } return true; } @@ -2542,18 +2762,19 @@ /** * get annotation * - * @param string $entry - * @param array $values - * @param string $mailbox_name (default is current mailbox) + * @param string $entries Entries + * @param array $values Values + * @param string $mailbox_name Mailbox name (default is current mailbox) * - * @return mixed array containing annotations on success or PEAR Error on failure + * @return mixed array containing annotations on success or PEAR Error + * on failure * - * @access public - * @since 1.0.2 + * @access public + * @since 1.0.2 */ function getAnnotation($entries, $values, $mailbox_name = null) { - if($mailbox_name == null){ + if ($mailbox_name == null) { $mailbox_name = $this->getCurrentMailbox(); } if (!is_array($entries)) { @@ -2563,29 +2784,34 @@ $values = array($values); } - if (PEAR::isError($ret = $this->cmdGetAnnotation($mailbox_name, $entries, $values))) { + if (PEAR::isError($ret = $this->cmdGetAnnotation($mailbox_name, + $entries, + $values))) { return new PEAR_Error($ret->getMessage()); } if (strtoupper($ret['RESPONSE']['CODE']) != 'OK') { - return new PEAR_Error($ret['RESPONSE']['CODE'] . ', ' . $ret['RESPONSE']['STR_CODE']); + return new PEAR_Error($ret['RESPONSE']['CODE'] + . ', ' + . $ret['RESPONSE']['STR_CODE']); } $ret_aux = array(); if (isset($ret['PARSED'])) { foreach ($ret['PARSED'] as $mbox) { $rawvalues = $mbox['EXT']['ATTRIBUTES']; - $values = array(); + $values = array(); for ($i = 0; $i < count($rawvalues); $i += 2) { $values[$rawvalues[$i]] = $rawvalues[$i + 1]; } $mbox['EXT']['ATTRIBUTES'] = $values; - $ret_aux[] = $mbox['EXT']; + $ret_aux[] = $mbox['EXT']; } } if (count($ret_aux) == 1 && $ret_aux[0]['MAILBOX'] == $mailbox_name) { if (count($entries) == 1 && $ret_aux[0]['ENTRY'] == $entries[0]) { - if (count($ret_aux[0]['ATTRIBUTES']) == 1 && count($values) == 1) { + if (count($ret_aux[0]['ATTRIBUTES']) == 1 + && count($values) == 1) { $attrs = array_keys($ret_aux[0]['ATTRIBUTES']); - $vals = array_keys($values); + $vals = array_keys($values); if ($attrs[0] == $vals[0]) { return $ret_aux[0]['ATTRIBUTES'][$attrs[0]]; } @@ -2600,15 +2826,15 @@ /** * Transform an array to a list to be used in the cmdFetch method * - * @param array $arr array to transform + * @param array $arr Array that should be transformed * - * @return string transformed array + * @return string transformed array * - * @access private + * @access private */ - function _getSearchListFromArray($arr){ - - $txt=implode(',' , $arr); + function _getSearchListFromArray($arr) + { + $txt = implode(',', $arr); return $txt; } @@ -2628,11 +2854,12 @@ * same as getMailboxSize() * Net_POP3 Compatibility function * - * @return same as getMailboxSize(); + * @return same as getMailboxSize(); * - * @access public + * @access public */ - function getSize(){ + function getSize() + { return $this->getMailboxSize(); } @@ -2640,13 +2867,14 @@ * same as getNumberOfMessages($mailbox) * Net_POP3 Compatibility function * - * @param string $mailbox Mailbox (default is current mailbox) + * @param string $mailbox Mailbox (default is current mailbox) * - * @return same as getNumberOfMessages($mailbox) + * @return same as getNumberOfMessages($mailbox) * - * @access public + * @access public */ - function numMsg($mailbox = null){ + function numMsg($mailbox = null) + { return $this->getNumberOfMessages($mailbox); } @@ -2655,11 +2883,11 @@ * Returns the entire message with given message number. * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return mixed either entire message or PEAR Error on failure + * @return mixed Either entire message or PEAR Error on failure * - * @access public + * @access public */ function getMsg($msg_id) { @@ -2667,12 +2895,11 @@ return $ret; } // false means that getMessages() must not use the msg number as array key - if(isset($ret[0])){ + if (isset($ret[0])) { return $ret[0]; - }else{ + } else { return $ret; } - } @@ -2681,11 +2908,11 @@ * same as getMessagesList($msg_id) * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return same as getMessagesList() + * @return same as getMessagesList() * - * @access public + * @access public */ function getListing($msg_id = null) { @@ -2698,16 +2925,16 @@ * same as deleteMessages($msg_id) * Net_POP3 Compatibility function * - * @param $msg_id Message number + * @param int $msg_id Message number * - * @return same as deleteMessages() + * @return same as deleteMessages() * - * @access public + * @access public */ - function deleteMsg($msg_id){ + function deleteMsg($msg_id) + { return $this->deleteMessages($msg_id); } - } ?>