<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to support-requests</title><link href="https://sourceforge.net/p/migrationtool/support-requests/" rel="alternate"/><link href="https://sourceforge.net/p/migrationtool/support-requests/feed.atom" rel="self"/><id>https://sourceforge.net/p/migrationtool/support-requests/</id><updated>2005-06-27T14:43:11Z</updated><subtitle>Recent changes to support-requests</subtitle><entry><title>some changes archive.php</title><link href="https://sourceforge.net/p/migrationtool/support-requests/1/" rel="alternate"/><published>2005-06-27T14:43:11Z</published><updated>2005-06-27T14:43:11Z</updated><author><name>jochem</name><uri>https://sourceforge.net/u/hupskadee/</uri></author><id>https://sourceforge.neta90af235b8da3979581d1f0482daa871fd4e2273</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;For a project at the Vrije Universiteit Amsterdam I &lt;br /&gt;
thought I would use your software. With a friend of mine &lt;br /&gt;
I made some changes to archive.php (attached) and &lt;br /&gt;
libimap.php (below). We tested it and it works for &lt;br /&gt;
exchange 2000 as source and cyrus imap as &lt;br /&gt;
destination. It is even possible to use it in bulk migration &lt;br /&gt;
if you run it from the command line. But, alas, we are &lt;br /&gt;
not going to use it in real life as a colleague of mine &lt;br /&gt;
recommended me to use imapsync 1.133 &lt;br /&gt;
(http://www.linux-france.org/prj/imapsync/dist/). &lt;br /&gt;
However, I didn't want to withhold you some of the &lt;br /&gt;
advances we made...&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;br /&gt;
Jochem Markestijn (jochem.markestijn@gmail.com)&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;/p&gt;
&lt;p&gt;function error () {&lt;br /&gt;
global $src_username;&lt;br /&gt;
//die ("Error: user \"" . &lt;br /&gt;
$src_username . "\": " . imap_last_error ());&lt;br /&gt;
print ("Error: user \"" . &lt;br /&gt;
$src_username . "\": " . imap_last_error () . "\n");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function warning () {&lt;br /&gt;
global $src_username;&lt;br /&gt;
print ("Error-- warning: user \"" . &lt;br /&gt;
$src_username . "\": " . imap_last_error () . "\n");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function getmailboxes ($conn, $server) {&lt;br /&gt;
global $src_username;&lt;br /&gt;
$mailboxes = imap_getmailboxes ($in, &lt;br /&gt;
$src_server, "*");&lt;/p&gt;
&lt;p&gt;if (!is_array ($mailboxes)) {&lt;br /&gt;
error ();&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return $mailboxes;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function createmailbox($conn, $server, $mailbox) {&lt;br /&gt;
global $src_username;&lt;/p&gt;
&lt;p&gt;if (imap_createmailbox($conn,&lt;br /&gt;
imap_utf7_encode("{". &lt;br /&gt;
$server . "}" . $mailbox))) {&lt;/p&gt;
&lt;p&gt;if (!@imap_status($conn,&lt;br /&gt;
"{". $server . "}" . &lt;br /&gt;
$mailbox, SA_ALL)) {&lt;/p&gt;
&lt;p&gt;return false;&lt;br /&gt;
}&lt;br /&gt;
return true;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return false;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function folderExists($conn, $server, $mailbox) {&lt;br /&gt;
$folders = imap_listmailbox($conn, "{" . &lt;br /&gt;
$server . "}", $mailbox);&lt;br /&gt;
return (!empty ($folders));&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function deletemsg ($conn, $msg_no) {&lt;br /&gt;
if (!imap_delete ($conn, $msg_no)) {&lt;br /&gt;
warning ();&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return true;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function deletemsgs($mbox, $first_msg_no, &lt;br /&gt;
$last_msg_no) {&lt;br /&gt;
if (!imap_delete&lt;br /&gt;
($mbox, "$first_msg_no:$last_msg_no")) {&lt;br /&gt;
warning ();&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return true;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function expunge ($conn) {&lt;br /&gt;
imap_expunge ($conn);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function getMailBoxStatus ($conn, $server, $mailbox) {&lt;br /&gt;
return (@imap_status($conn,"{" . &lt;br /&gt;
$server . "}" . $mailbox,SA_ALL));&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function isFlagSet($mbox, $msg_no, $flag) {&lt;br /&gt;
$headerinfo = imap_headerinfo($mbox, $msg_no);&lt;br /&gt;
switch ($flag) {&lt;br /&gt;
case "Seen":&lt;br /&gt;
$result = ($headerinfo-&amp;gt;Unseen == 'U' || $headerinfo-&lt;br /&gt;
&amp;gt;Recent == 'N') ? false : true;&lt;br /&gt;
break;&lt;br /&gt;
case "Answered":&lt;br /&gt;
$result = ($headerinfo-&amp;gt;Answered == 'A') ? true : &lt;br /&gt;
false;&lt;br /&gt;
break;&lt;br /&gt;
case "Flagged":&lt;br /&gt;
$result = ($headerinfo-&amp;gt;Flagged == 'F') ? true : false;&lt;br /&gt;
break;&lt;br /&gt;
case "Deleted":&lt;br /&gt;
$result = ($headerinfo-&amp;gt;Deleted == 'D') ? true : false;&lt;br /&gt;
break;&lt;br /&gt;
case "Draft";&lt;br /&gt;
$result = ($headerinfo-&amp;gt;Draft == 'X') ? true : false;&lt;br /&gt;
break;&lt;br /&gt;
default:&lt;br /&gt;
if ($debug) print "ERROR - Flag specified no defined &lt;br /&gt;
in isFlagSet() function!";&lt;br /&gt;
$result = false;&lt;br /&gt;
}&lt;br /&gt;
return $result;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function setFlag($mbox, $msg_no, $flag) {&lt;br /&gt;
return (imap_setflag_full($mbox, $msg_no, &lt;br /&gt;
$flag));&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;function setDestFlagsToSrcFlags($dest_mbox, &lt;br /&gt;
$src_mbox, $msg_no) {&lt;br /&gt;
if (isFlagSet($src_mbox, $msg_no, "Seen")) {&lt;br /&gt;
setFlag($dest_mbox, $msg_no, "\\Seen");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;if (isFlagSet($src_mbox, $msg_no, "Answered")) {&lt;br /&gt;
setFlag($dest_mbox, $msg_no, "\\Answered");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;if (isFlagSet($src_mbox, $msg_no, "Deleted")) {&lt;br /&gt;
setFlag($dest_mbox, $msg_no, "\\Deleted");&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;if (isFlagSet($src_mbox, $msg_no, "Draft")) {&lt;br /&gt;
setFlag($dest_mbox, $msg_no, "\\Draft");&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;?&amp;gt;&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>