* * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ if ($nolname || $nofname) { $phpgw_info['flags'] = array( 'noheader' => False, 'nonavbar' => False, 'noappheader' => False, 'noappfooter' => False ); } else { $phpgw_info['flags'] = array( 'noheader' => True, 'nonavbar' => True, 'noappheader' => True, 'noappfooter' => True ); } $phpgw_info['flags']['enable_contacts_class'] = True; $phpgw_info['flags']['enable_browser_class'] = True; $phpgw_info['flags']['currentapp'] = 'addressbook'; include('../header.inc.php'); if (!$ab_id) { Header('Location: ' . $phpgw->link('/addressbook/index.php')); $phpgw->common->phpgw_exit(); } $contacts = CreateObject('phpgwapi.contacts'); // First, make sure they have permission to this entry $check = addressbook_read_entry($ab_id,array('owner' => 'owner')); $perms = $contacts->check_perms($contacts->grants[$check[0]['owner']],PHPGW_ACL_READ); if ( (!$perms) && ($check[0]['owner'] != $phpgw_info['user']['account_id']) ) { Header("Location: " . $phpgw->link('/addressbook/index.php',"cd=16&order=$order&sort=$sort&filter=$filter&start=$start&query=$query&cat_id=$cat_id")); $phpgw->common->phpgw_exit(); } $extrafields = array('address2' => 'address2'); $qfields = $contacts->stock_contact_fields + $extrafields; $fieldlist = addressbook_read_entry($ab_id,$qfields); $fields = $fieldlist[0]; $email = $fields['email']; $emailtype = $fields['email_type']; if (!$emailtype) { $fields['email_type'] = 'INTERNET'; } $hemail = $fields['email_home']; $hemailtype = $fields['email_home_type']; if (!$hemailtype) { $fields['email_home_type'] = 'INTERNET'; } $firstname = $fields['n_given']; $lastname = $fields['n_family']; if(!$nolname && !$nofname) { /* First name and last must be in the vcard. */ if($lastname == '') { /* Run away here. */ Header('Location: ' . $phpgw->link('/addressbook/vcardout.php', "nolname=1&ab_id=$ab_id&start=$start&order=$order&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id")); } if($firstname == '') { Header('Location: ' . $phpgw->link('/addressbook/vcardout.php', "nofname=1&ab_id=$ab_id&start=$start&order=$order&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id")); } if ($email) { $fn = explode('@',$email); $filename = sprintf("%s.vcf", $fn[0]); } elseif ($hemail) { $fn = explode('@',$hemail); $filename = sprintf("%s.vcf", $fn[0]); } else { $fn = strtolower($firstname); $filename = sprintf("%s.vcf", $fn); } // create vcard object $vcard = CreateObject('phpgwapi.vcard'); // set translation variable $myexport = $vcard->export; // check that each $fields exists in the export array and // set a new array to equal the translation and original value while( list($name,$value) = each($fields) ) { if ($myexport[$name] && ($value != "") ) { //echo '
'.$name."=".$fields[$name]."\n"; $buffer[$myexport[$name]] = $value; } } // create a vcard from this translated array $entry = $vcard->out($buffer); // print it using browser class for headers // filename, mimetype, no length, default nocache True $phpgw->browser->content_header($filename,'text/x-vcard'); echo $entry; $phpgw->common->exit; } /* !nolname && !nofname */ if($nofname) { echo '

'; echo lang("This person's first name was not in the address book.") .'
'; echo lang('Vcards require a first name entry.') . '

'; echo '' . lang('OK') . ''; echo '
'; } if($nolname) { echo '

'; echo lang("This person's last name was not in the address book.") . '
'; echo lang('Vcards require a last name entry.') . '

'; echo '' . lang('OK') . ''; echo '
'; } if($nolname || $nofname) { $phpgw->common->phpgw_footer(); } ?>