/* }}} */
-/* {{{ 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;
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();
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);