<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to support-requests</title><link>https://sourceforge.net/p/migrationtool/support-requests/</link><description>Recent changes to support-requests</description><atom:link href="https://sourceforge.net/p/migrationtool/support-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 27 Jun 2005 14:43:11 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/migrationtool/support-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>some changes archive.php</title><link>https://sourceforge.net/p/migrationtool/support-requests/1/</link><description>&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;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jochem</dc:creator><pubDate>Mon, 27 Jun 2005 14:43:11 -0000</pubDate><guid>https://sourceforge.neta90af235b8da3979581d1f0482daa871fd4e2273</guid></item></channel></rss>