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; //used for buffering to allow uid lines to go first var $type = 'ldif'; var $import = array( "title" => "title", "givenname" => "n_given", "sn" => "n_family", "cn" => "fn", "o" => "org_name", "ou" => "org_unit", "streetaddress" => "adr_one_street", "locality" => "adr_one_locality", "st" => "adr_one_region", "postalcode" => "adr_one_postalcode", "countryname" => "adr_one_countryname", "telephonenumber" => "tel_work", "homephone" => "tel_home", "facsimiletelephonenumber" => "tel_fax", "xmozillaanyphone" => "tel_msg", "cellphone" => "tel_cell", "description" => "note", "pagerphone" => "tel_pager", "mail" => "email", "homeurl" => "url", "xmozillauseconferenceserver" => "", "xmozillanickname" => "", "xmozillausehtmlmail" => "", "modifytimestamp" => "", "objectclass" => "" ); function import_start_file($buffer,$j="",$k="") { $buffer=""; return $buffer; } function import_end_file($buffer) { return $buffer; } function import_start_record($buffer) { $top=""; $this->currentrecord = $top; return $buffer; } function import_end_record($buffer,$private="private") { global $phpgw_info; $row=0; $i=0; $lines = split("##",$this->currentrecord); # Commence the ugly parsing of csv into sql for ($i=0;$i2) { $thisname=$name.","; $thisvalu="'".$value."',"; } else { $thisname=$name.") "; $thisvalu="'".$value."');"; } } else { $thisname=""; $thisvalu=""; } $namelist = $namelist."\nINSERT INTO phpgw_addressbook (owner,".$thisname; $valulist = $valulist."VALUES ('".$phpgw_info["user"]["account_id"]."',".$thisvalu; } elseif ($row==count($lines)-1) { if (!empty($name) && !empty($value)) { $thisname=$name.") "; $thisvalu="'".$value."');"; } else { $thisname=""; $thisvalu=""; } $namelist = $namelist.$thisname; $valulist = $valulist.$thisvalu; } else { if (!empty($name) && !empty($value)) { $thisname=$name.","; $thisvalu="'".$value."',"; } else { $thisname=","; $thisvalu=","; } $namelist = $namelist.$thisname; $valulist = $valulist.$thisvalu; } } return $buffer.$namelist.$valulist; } function import_new_attrib($buffer,$name,$value) { $value = trim($value); $value = str_replace("\n","",$value); $value = str_replace("\r","",$value); if ($value=="") { $value="NULL"; } $this->currentrecord .= $name."%%".$value."##"; return $buffer; } } ?>