mirror of
https://github.com/php/php-src.git
synced 2024-10-19 15:34:25 +00:00
126 lines
3.1 KiB
PHP
126 lines
3.1 KiB
PHP
--TEST--
|
|
Test imap_fetch_overview() function : usage variations - multipart message
|
|
--SKIPIF--
|
|
<?php
|
|
require_once(dirname(__FILE__).'/skipif.inc');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
|
|
* Description: Read an overview of the information in the headers of the given message sequence
|
|
* Source code: ext/imap/php_imap.c
|
|
*/
|
|
|
|
/*
|
|
* Pass a multipart message to imap_fetch_overview() to test the contents of returned array
|
|
*/
|
|
|
|
echo "*** Testing imap_fetch_overview() : usage variations ***\n";
|
|
|
|
require_once(dirname(__FILE__).'/imap_include.inc');
|
|
|
|
$stream_id = setup_test_mailbox('', 0, $mailbox); // setup temp mailbox
|
|
create_multipart_message($stream_id, $mailbox);
|
|
|
|
//Set mandatory response fields
|
|
$mandatoryFields = array(
|
|
'size',
|
|
'uid',
|
|
'msgno',
|
|
'recent',
|
|
'flagged',
|
|
'answered',
|
|
'deleted',
|
|
'seen',
|
|
'draft',
|
|
);
|
|
|
|
// refresh msg numbers
|
|
imap_check($stream_id);
|
|
$msg_no = 1;
|
|
|
|
$a = imap_fetch_overview($stream_id, $msg_no);
|
|
echo "\n--> Object #1\n";
|
|
foreach ($mandatoryFields as $mf)
|
|
{
|
|
$z = $a[0]->$mf;
|
|
echo "$mf is $z\n";
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Create a multipart message with subparts
|
|
*
|
|
* @param resource $imap_stream
|
|
* @param string $mailbox
|
|
*/
|
|
function create_multipart_message($imap_stream, $mailbox) {
|
|
global $users, $domain;
|
|
$envelope["from"]= "foo@anywhere.com";
|
|
$envelope["to"] = "$users[0]@$domain";
|
|
$envelope["subject"] = "Test msg 1";
|
|
|
|
$part1["type"] = TYPEMULTIPART;
|
|
$part1["subtype"] = "mixed";
|
|
|
|
$part2["type"] = TYPETEXT;
|
|
$part2["subtype"] = "plain";
|
|
$part2["description"] = "imap_mail_compose() function";
|
|
$part2["contents.data"] = "message 1:xxxxxxxxxxxxxxxxxxxxxxxxxx";
|
|
|
|
$part3["type"] = TYPETEXT;
|
|
$part3["subtype"] = "plain";
|
|
$part3["description"] = "Example";
|
|
$part3["contents.data"] = "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy";
|
|
|
|
$file_handle = fopen(__FILE__, 'r+');
|
|
$file_size = 1;
|
|
|
|
$part4["type"] = TYPEAPPLICATION;
|
|
$part4["encoding"] = ENCBASE64;
|
|
$part4["subtype"] = "octet-stream";
|
|
$part4["description"] = 'Test';
|
|
$part4['disposition.type'] = 'attachment';
|
|
$part4['disposition'] = array ('filename' => 'Test');
|
|
$part4['type.parameters'] = array('name' => 'Test');
|
|
$part4["contents.data"] = base64_encode(fread($file_handle, 1));
|
|
|
|
$body[1] = $part1;
|
|
$body[2] = $part2;
|
|
$body[3] = $part3;
|
|
$body[4] = $part4;
|
|
|
|
$msg = imap_mail_compose($envelope, $body);
|
|
|
|
if (imap_append($imap_stream, $mailbox, $msg) === false) {
|
|
echo imap_last_error() . "\n";
|
|
echo "TEST FAILED : could not append new message to mailbox '$mailbox'\n";
|
|
exit;
|
|
}
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--CLEAN--
|
|
<?php
|
|
require_once(dirname(__FILE__).'/clean.inc');
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing imap_fetch_overview() : usage variations ***
|
|
Create a temporary mailbox and add 0 msgs
|
|
.. mailbox '{localhost/norsh}INBOX.phpttest' created
|
|
|
|
--> Object #1
|
|
size is %d
|
|
uid is %d
|
|
msgno is 1
|
|
recent is %d
|
|
flagged is 0
|
|
answered is 0
|
|
deleted is 0
|
|
seen is 0
|
|
draft is 0
|
|
===DONE===
|