mirror of
https://github.com/php/php-src.git
synced 2026-04-11 10:03:18 +02:00
patch from jtaskine@hit.fi - add deleted info to imap_mailboxmsginfo() and
fix some prototype info.
This commit is contained in:
@@ -2044,8 +2044,8 @@ PHP_FUNCTION(imap_binary)
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ proto array imap_mailboxmsginfo(int stream_id)
|
||||
Returns info about the current mailbox in an associative array */
|
||||
/* {{{ proto object imap_mailboxmsginfo(int stream_id)
|
||||
Returns info about the current mailbox */
|
||||
PHP_FUNCTION(imap_mailboxmsginfo)
|
||||
{
|
||||
zval **streamind;
|
||||
@@ -2053,7 +2053,7 @@ PHP_FUNCTION(imap_mailboxmsginfo)
|
||||
int ind, ind_type;
|
||||
unsigned int msgno;
|
||||
pils *imap_le_struct;
|
||||
unsigned unreadmsg, msize;
|
||||
unsigned unreadmsg, deletedmsg, msize;
|
||||
|
||||
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &streamind) == FAILURE) {
|
||||
ZEND_WRONG_PARAM_COUNT();
|
||||
@@ -2070,21 +2070,23 @@ PHP_FUNCTION(imap_mailboxmsginfo)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
/* Initialize return array */
|
||||
/* Initialize return object */
|
||||
if (object_init(return_value) == FAILURE) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
unreadmsg = 0;
|
||||
deletedmsg = 0;
|
||||
msize = 0;
|
||||
for (msgno = 1; msgno <= imap_le_struct->imap_stream->nmsgs; msgno++) {
|
||||
MESSAGECACHE * cache = mail_elt (imap_le_struct->imap_stream,msgno);
|
||||
mail_fetchstructure (imap_le_struct->imap_stream,msgno,NIL);
|
||||
unreadmsg = cache->recent ? (cache->seen ? unreadmsg : unreadmsg++) : unreadmsg;
|
||||
unreadmsg = (cache->recent | cache->seen) ? unreadmsg : unreadmsg++;
|
||||
if (!cache->seen || cache->recent) unreadmsg++;
|
||||
if (cache->deleted) deletedmsg++;
|
||||
msize = msize + cache->rfc822_size;
|
||||
}
|
||||
add_property_long(return_value, "Unread", unreadmsg);
|
||||
add_property_long(return_value, "Deleted", deletedmsg);
|
||||
add_property_long(return_value, "Nmsgs", imap_le_struct->imap_stream->nmsgs);
|
||||
add_property_long(return_value, "Size", msize);
|
||||
rfc822_date(date);
|
||||
|
||||
Reference in New Issue
Block a user