You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
240 lines
7.2 KiB
240 lines
7.2 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> |
|
<html> |
|
<head> |
|
<title>Online vCard Converter</title> |
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
|
<meta name="keywords" content="vcard,vcf,ldif,ldap,csv,gmail,convert,mac,addresses,contacts,export,import" /> |
|
<meta name="description" content="Convert your vCard files to CSV or LDIF in order to import them to Gmail (like A to G) or Outlook" /> |
|
<style type="text/css"> |
|
|
|
body { |
|
margin: 1em; |
|
background: #fff; |
|
font-family:'Lucida Grande', Geneva, Verdana, Arial, Helvetica, sans-serif; |
|
font-size: small; |
|
} |
|
|
|
td.cell { |
|
background:#efefef; |
|
padding-right: 0.6em; |
|
} |
|
|
|
td.label { |
|
color: #333; |
|
font-weight: bold; |
|
text-align: right; |
|
} |
|
|
|
.title { |
|
font-size:20px; |
|
font-weight:bold; |
|
} |
|
|
|
.hint { |
|
color: #999999; |
|
} |
|
|
|
.error { |
|
color: #cc0000; |
|
} |
|
|
|
.disclaimer { |
|
width: 48em; |
|
color: #333; |
|
font-size: 0.9em; |
|
border: 1px solid #cc6; |
|
background: #ffd; |
|
margin-top: 1em; |
|
padding: 1em; |
|
} |
|
|
|
.disclaimer h4 { |
|
margin-top: 0; |
|
} |
|
|
|
</style> |
|
<script type="text/javascript"> |
|
|
|
function set_form_fields(elem) |
|
{ |
|
var format = elem.options[elem.selectedIndex].value; |
|
var header = elem.form._header; |
|
var delimiter = elem.form._delimiter; |
|
var encoding = elem.form._encoding; |
|
var newlines = elem.form._newlines; |
|
var dn = elem.form._dn; |
|
|
|
switch (format) |
|
{ |
|
case 'gmail': |
|
encoding.selectedIndex = 0; |
|
newlines.selectedIndex = 0; |
|
|
|
case 'ldif': |
|
case 'img': |
|
header.disabled = true; |
|
delimiter.disabled = true; |
|
encoding.disabled = true; |
|
newlines.disabled = true; |
|
dn.disabled = true; |
|
break; |
|
|
|
case 'ldap': |
|
header.disabled = true; |
|
delimiter.disabled = true; |
|
encoding.disabled = false; |
|
newlines.disabled = true; |
|
dn.disabled = false; |
|
break; |
|
|
|
case 'csv': |
|
header.disabled = false; |
|
delimiter.disabled = false; |
|
encoding.disabled = false; |
|
newlines.disabled = false; |
|
dn.disabled = true; |
|
break; |
|
|
|
case 'fritzbox': |
|
encoding.selectedIndex = 1; |
|
delimiter.selectedIndex = 1; |
|
newlines.selectedIndex = 2; |
|
header.checked = true; |
|
header.disabled = true; |
|
delimiter.disabled = true; |
|
encoding.disabled = true; |
|
newlines.disabled = true; |
|
dn.disabled = true; |
|
break; |
|
} |
|
|
|
var rootdnrow = document.getElementById('ldaprootdn'); |
|
rootdnrow.style.display = dn.disabled ? 'none' : (document.all && !window.opera ? 'block' : 'table-row'); |
|
} |
|
|
|
</script> |
|
</head> |
|
<body> |
|
|
|
<form method="post" action="index.php" enctype="multipart/form-data"> |
|
|
|
<table border="0" cellspacing="0" cellpadding="0"><tr> |
|
|
|
<td width="180" height="90"><img src="vcf2csv_logo.jpg" width="170" height="78" alt="VCard to CSV Logo"></td> |
|
<td class="title">vCard to LDIF/CSV Converter</td> |
|
|
|
</tr></table> |
|
|
|
<p>Preferred to export Apple's Address Book to Mozilla Thunderbird.<br /> |
|
<span class="hint">Simply drag all contacts from the Address Book to your desktop and upload the created vCard file.</span></p> |
|
|
|
<?php |
|
|
|
if (!empty($GLOBALS['error_msg'])) |
|
print '<p class="error">'.$GLOBALS['error_msg']."</p>\n"; |
|
|
|
?> |
|
|
|
<table border="0" cellspacing="1" cellpadding="2"><tr> |
|
|
|
<td class="cell label">vCard-File:</td> |
|
<td class="cell"><input type="file" size="30" name="_vcards"> |
|
<span class="hint" style="padding-left:1em">(max. <?php echo show_bytes(parse_bytes(ini_get('upload_max_filesize'))); ?>)</span></td> |
|
|
|
</tr><tr> |
|
|
|
<td class="cell label">Format:</td> |
|
<td class="cell"><select name="_format" onChange="set_form_fields(this)"> |
|
<option value="ldif">LDIF (Mozilla Thunderbird)</option> |
|
<option value="ldap">LDIF (Import to LDAP server)</option> |
|
<option value="csv">CSV</option> |
|
<option value="gmail">Gmail (CSV)</option> |
|
<option value="fritzbox">FritzBox (CSV)</option> |
|
<option value="img">Images</option> |
|
</select> |
|
<select name="_delimiter" disabled> |
|
<option value="tab">Tab</option> |
|
<option value=";">Semicolon</option> |
|
<option value=",">Comma</option> |
|
</select> |
|
<input type="checkbox" name="_header" id="checkHeader" value="1" disabled><label for="checkHeader"> Add header line</label></td> |
|
|
|
</tr><tr id="ldaprootdn" style="display:none"> |
|
|
|
<td class="cell label">Root DN:</td> |
|
<td class="cell"> |
|
<input type="text" name="_dn" id="dnID" style="width:30em;" disabled> |
|
<label for="accessCode"><br>Use as Root DN LDAP identifier, to add it at the end of the "dn:" LDIF line <br>(for example: dc=Users, dc=nodomain)</label> |
|
<span class="hint" style="padding-left:1em">(max. 255 chars)</span> |
|
</td> |
|
|
|
</tr><tr> |
|
|
|
<td class="cell label">Encoding:</td> |
|
<td class="cell"> |
|
<select name="_encoding" disabled> |
|
<option value="UTF-8" selected>Unicode (UTF-8)</option> |
|
<option value="UTF-16LE">Unicode (UTF-16LE)</option> |
|
<option value="ISO-8859-1">Windows Latin-1 (ISO-8859-1)</option> |
|
<option value="ISO-8859-15">Windows Latin-9 (ISO-8859-15)</option> |
|
<option value="MS-ANSI">Microsoft ANSI (Windows-1252)</option> |
|
<!--<option value="MacRoman">Macintosh (Mac Roman)</option>--> |
|
</select> |
|
<select name="_newlines" disabled> |
|
<option value="lf" selected>Line Feed (Default)</option> |
|
<option value="cr">Carriage Return (old Mac OS)</option> |
|
<option value="crlf">CR-LF (Windows)</option> |
|
</select> |
|
</td> |
|
|
|
</tr><tr valign="top"> |
|
|
|
<td class="cell label">Filter:</td> |
|
<td class="cell"> |
|
<input type="checkbox" name="_mailonly" id="checkMailonly" value="1"><label for="checkMailonly"> vCards with e-mail only</label><br /> |
|
<input type="checkbox" name="_phoneonly" id="checkPhoneonly" value="1"><label for="checkPhoneonly"> vCards with phone numbers only</label> |
|
</td> |
|
|
|
</tr><tr> |
|
|
|
<td class="cell label">Modifications:</td> |
|
<td class="cell"> |
|
<input type="text" name="_accesscode" id="accessCode" style="width:3em;"> |
|
<label for="accessCode">replace this International Access Code with «0»</label> |
|
</td> |
|
|
|
</tr><tr> |
|
|
|
<td></td> |
|
<td><br><input type="submit" value="convert"></td> |
|
|
|
</tr></table> |
|
</form> |
|
|
|
<div class="disclaimer"> |
|
<h4>How to convert files</h4> |
|
|
|
<ol> |
|
<li>Select a file from your computer's local drive for the field "vCard-File"</li> |
|
<li>Choose the desired output format</li> |
|
<li>Click the "convert" button</li> |
|
</ol> |
|
|
|
<p>The converted file is automatically downloaded to your computer. |
|
If you're not prompted where to save the file, you'll find it in the "Downloads" folder on your computer.</p> |
|
|
|
<h4>Privacy Policy</h4> |
|
|
|
<p>This public service is intended to provide simple functions to convert any vCard file into another format. |
|
It was created for personal needs and is now provided on a private and non commercial basis. |
|
The uploaded file will not be stored permanently nor will the converted addresses be kept on the server.</p> |
|
|
|
<p>You can also <a href="https://github.com/thomascube/vcfconvert/releases">download</a> the script |
|
and run it locally. All you need is a webserver or a shell with PHP installed. This software is free and open source |
|
and everybody is welcome to help us improving it. Fork us on <a href="https://github.com/thomascube/vcfconvert">github</a>!</p> |
|
|
|
<p>For questions about development, privacy or security, please contact tellme@brotherli.ch</p> |
|
</div> |
|
|
|
</body> |
|
</html>
|
|
|