Using a php script to convert squirrelmail .abook files to zimbra cvs: Difference between revisions

No edit summary
No edit summary
Line 5: Line 5:
Of course you will need to edit the code to enter the dir where squirrelmail's .abook files are kept, and it isnt a verry secure thing to do but it worked for me. And as i said earlier... its pritty rough ;)
Of course you will need to edit the code to enter the dir where squirrelmail's .abook files are kept, and it isnt a verry secure thing to do but it worked for me. And as i said earlier... its pritty rough ;)


abook.php{
abook.php {
<?php
<?php
if (empty($userid)) {
if (empty($userid)) {

Revision as of 14:45, 21 September 2006

While i was in the process of migrating about 10 users from squirrelmail to zimbra i found that using imapsync did a great job of moving the mail, but i was left with the users adressbooks.

Found some information on the wiki with a python script that could do the conversion, but it didnt work for me. So i made a rough script in php wich (calling it on the server squirrelmail runs on) sends me a cvs file containing an importable file of contacts for zimbra.

Of course you will need to edit the code to enter the dir where squirrelmail's .abook files are kept, and it isnt a verry secure thing to do but it worked for me. And as i said earlier... its pritty rough ;)

abook.php { <?php if (empty($userid)) {

echo "<HTML><HEADER></HEADER><BODY>";
echo "<form action='/abook.php' method='put'>User";
echo "<input type='text' name='userid' size='7'></form>";

}

if (!empty($userid)) {

header("Content-type: application/force-download");
header("Content-disposition: attachment; filename=$userid.cvs");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: nocache");
print("\"Birthday\",\"Business City\",\"Business Country\",\"Business Fax\",\"Business Phone\",\"Business Phone 2\",\"Business Postal Code\",\"Business State\",\"Business Street\",\"Business Street 2\",\"Business Street 3\",\"Callback\",\"Car Phone\",\"Company\",\"Company Main Phone\",\"Department\",\"E-mail Address\",\"E-mail Display Name\",\"E-mail Type\",\"E-mail 2 Address\",\"E-mail 2 Display Name\",\"E-mail 2 Type\",\"E-mail 3 Address\",\"E-mail 3 Display Name\",\"E-mail 3 Type\",\"First Name\",\"Home City\",\"Home Country\",\"Home Fax\",\"Home Phone\",\"Home Phone 2\",\"Home Postal Code\",\"Home State\",\"Home Street\",\"Home Street 2\",\"Home Street 3\",\"Initials\",\"Job Title\",\"Last Name\",\"Middle Name\",\"Mobile Phone\",\"Notes\",\"Other City\",\"Other Country\",\"Other Fax\",\"Other Phone\",\"Other Postal Code\",\"Other State\",\"Other Street\",\"Other Street 2\",\"Other Street 3\",\"Pager\",\"Suffix\",\"Web Page\"

");

$readfile = file("/var/squirrelmail/prefs/".$userid.".abook");
for ($k=0; $k<=count($readfile)-1; $k++) {
 $fields = split("\|",$readfile[$k]);
 print("\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"$fields[3]\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"$fields[1]\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"$fields[2]\",\"\",\"\",\"$fields[4]\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"

");

}

} ?> } i named it 'abook.php' and called it like [url]http://server/abook.php?userid=username[/url] wich in turn returns a download username.cvs....

Hope someone has use for it, and its posted in the proper place.

Jump to: navigation, search