1--TEST-- 2Test imap_fetch_overview() function : usage variations - multipart message 3--SKIPIF-- 4<?php 5require_once(dirname(__FILE__).'/skipif.inc'); 6?> 7--FILE-- 8<?php 9/* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options]) 10 * Description: Read an overview of the information in the headers of the given message sequence 11 * Source code: ext/imap/php_imap.c 12 */ 13 14/* 15 * Pass a multipart message to imap_fetch_overview() to test the contents of returned array 16 */ 17 18echo "*** Testing imap_fetch_overview() : usage variations ***\n"; 19 20require_once(dirname(__FILE__).'/imap_include.inc'); 21 22$stream_id = setup_test_mailbox('', 0, $mailbox); // setup temp mailbox 23create_multipart_message($stream_id, $mailbox); 24 25// refresh msg numbers 26imap_check($stream_id); 27$msg_no = 1; 28 29$a = imap_fetch_overview($stream_id, $msg_no); 30echo "\n--> Object #1\n"; 31displayOverviewFields($a[0]); 32 33 34 35 36/** 37 * Create a multipart message with subparts 38 * 39 * @param resource $imap_stream 40 * @param string $mailbox 41 */ 42function create_multipart_message($imap_stream, $mailbox) { 43 global $users, $domain; 44 $envelope["from"]= "foo@anywhere.com"; 45 $envelope["to"] = "$users[0]@$domain"; 46 $envelope["subject"] = "Test msg 1"; 47 48 $part1["type"] = TYPEMULTIPART; 49 $part1["subtype"] = "mixed"; 50 51 $part2["type"] = TYPETEXT; 52 $part2["subtype"] = "plain"; 53 $part2["description"] = "imap_mail_compose() function"; 54 $part2["contents.data"] = "message 1:xxxxxxxxxxxxxxxxxxxxxxxxxx"; 55 56 $part3["type"] = TYPETEXT; 57 $part3["subtype"] = "plain"; 58 $part3["description"] = "Example"; 59 $part3["contents.data"] = "message 2:yyyyyyyyyyyyyyyyyyyyyyyyyy"; 60 61 $file_handle = fopen(__FILE__, 'r+'); 62 $file_size = 1; 63 64 $part4["type"] = TYPEAPPLICATION; 65 $part4["encoding"] = ENCBASE64; 66 $part4["subtype"] = "octet-stream"; 67 $part4["description"] = 'Test'; 68 $part4['disposition.type'] = 'attachment'; 69 $part4['disposition'] = array ('filename' => 'Test'); 70 $part4['type.parameters'] = array('name' => 'Test'); 71 $part4["contents.data"] = base64_encode(fread($file_handle, 1)); 72 73 $body[1] = $part1; 74 $body[2] = $part2; 75 $body[3] = $part3; 76 $body[4] = $part4; 77 78 $msg = imap_mail_compose($envelope, $body); 79 80 if (imap_append($imap_stream, $mailbox, $msg) === false) { 81 echo imap_last_error() . "\n"; 82 echo "TEST FAILED : could not append new message to mailbox '$mailbox'\n"; 83 exit; 84 } 85} 86 87?> 88===DONE=== 89--CLEAN-- 90<?php 91require_once(dirname(__FILE__).'/clean.inc'); 92?> 93--EXPECTF-- 94*** Testing imap_fetch_overview() : usage variations *** 95Create a temporary mailbox and add 0 msgs 96.. mailbox '{%s}%s' created 97 98--> Object #1 99size is %d 100uid is %d 101msgno is 1 102recent is %d 103flagged is 0 104answered is 0 105deleted is 0 106seen is 0 107draft is 0 108udate is OK 109===DONE=== 110