First NameMiddle NameLast Name... // PatrickWalsh... // // Where the first line explains each optional field. This is what // will be looked up in the key. // // The array need not be in any order and any fields not defined will // not be transferred. If the val='+', the value will be appended to // the previous field and any text after the '+' will be appended // before the value. For example, the following would add a comma and // a space between LastName and FirstName and store it in FullName: // // array('LastName' => 'FullName','FirstName' => '+, '); // // Also start with a '#' symbol and a comma separated list will be // turned into a number of the same entries. class import_conv { var $currentrecord = array(); //used for buffering to allow uid lines to go first var $id; var $type = 'csv'; var $import = array( 'Title' => 'title', 'First Name' => 'n_given', 'Middle Name' => 'n_middle', 'Last Name' => 'n_family', 'Suffix' => 'n_suffix', 'Company' => 'org_name', //objectclass: organization 'Department' => 'org_unit', //objectclass: organizationalPerson 'Job Title' => 'title', //objectclass: organizationalPerson 'Business Street' => 'adr_one_street', 'Business Street 2' => 'address2', 'Business Street 3' => 'address3', 'Business City' => 'adr_one_locality', 'Business State' => 'adr_one_region', 'Business Postal Code' => 'adr_one_postalcode', 'Business Country' => 'adr_one_countryname', 'Home Street' => 'adr_two_street', 'Home City' => 'adr_two_locality', 'Home State' => 'adr_two_region', 'Home Postal Code' => 'adr_two_postalcode', 'Home Country' => 'adr_two_countryname', 'Home Street 2' => '', 'Home Street 3' => '', 'Other Street' => '', 'Other City' => '', 'Other State' => '', 'Other Postal Code' => '', 'Other Country' => '', "Assistant's Phone" => 'tel_msg', 'Business Fax' => 'tel_fax', 'Business Phone' => 'tel_work', 'Business Phone 2' => 'ophone', 'Callback' => '', 'Car Phone' => 'tel_car', 'Company Main Phone' => '', 'Home Fax' => '', 'Home Phone' => 'tel_home', 'Home Phone 2' => '', //This will make another homePhone entry 'ISDN' => 'tel_isdn', 'Mobile Phone' => 'tel_cell', //newPilotPerson 'Other Fax' => '', 'Other Phone' => '', 'Pager' => 'tel_pager', 'Primary Phone' => '', 'Radio Phone' => '', 'TTY/TDD Phone' => '', 'Telex' => '', //organization 'Account' => '', 'Anniversary' => '', "Assistant's Name" => '', //newPilotPerson 'Billing Information' => '', 'Birthday' => 'bday', 'Categories' => '', 'Children' => '', 'Directory Server' => '', 'E-mail Address' => 'email', 'E-mail Display Name' => '', 'E-mail 2 Address' => 'email_home', 'E-mail 2 Display Name' => '', 'E-mail 3 Address' => '', //add another... 'E-mail 3 Display Name' => '', 'Gender' => '', 'Government ID Number' => '', 'Hobby' => '', 'Initials' => '', 'Internet Free Busy' => '', 'Keywords' => '', 'Language' => '', 'Location' => '', "Manager's Name" => '', 'Mileage' => '', 'Notes' => 'note', 'Office Location' => '', 'Organizational ID Number' => '', 'PO Box' => '', 'Priority' => '', 'Private Profession' => '', 'Referred By' => '', 'Sensitivity' => '', 'Spouse' => '', 'User 1' => '', 'User 2' => '', 'User 3' => '', 'User 4' => '', 'Web Page' => 'url' ); function import_start_file($buffer) { return $buffer; } function import_start_record($buffer) { $top=array(); ++$this->id; $this->currentrecord = $top; return $buffer; } function import_new_attrib($buffer,$name,$value) { $value = trim($value); $value = str_replace('\n','
',$value); $value = str_replace('\r','',$value); $this->currentrecord += array($name => $value); return $buffer; } function import_end_record($buffer) { global $phpgw_info; $buffer[$this->id]=''; while ( list($name, $value) = each($this->currentrecord)) { $buffer[$this->id][$name] = $value; //echo '
'.$name.' => '.$value; } return $buffer; } function import_end_file($buffer,$access='private',$cat_id=0) { global $phpgw,$phpgw_info; $contacts = CreateObject('phpgwapi.contacts'); //echo '
'; for ($i=1;$i<=count($buffer);$i++) { while ( list($name,$value) = @each($buffer[$i]) ) { //echo '
'.$i.': '.$name.' => '.$value; $entry[$i][$name] = $value; } $entry[$i]['email_type'] = 'INTERNET'; $entry[$i]['email_home_type'] = 'INTERNET'; $entry[$i]['adr_one_type'] = 'intl'; $entry[$i]['adr_two_type'] = 'intl'; //echo '
'; $contacts->add($phpgw_info['user']['account_id'],$entry[$i],$access,$cat_id); } $num = $i - 1; return lang('Successfully imported x records into your addressbook.',$num); } } ?>