From 0eedd1ffc3b9a10bdf735b624a847d020ad88627 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Fri, 16 Mar 2001 01:31:25 +0000 Subject: [PATCH] Table upgrade and changes to implement better vcard std and more useful fields --- addressbook/add.php | 85 ++-- addressbook/conv/Import from Netscape | 40 +- addressbook/conv/Import from Outlook | 49 +- addressbook/edit.php | 94 ++-- .../inc/class.contacts_sql_test.inc.php | 47 +- addressbook/inc/functions.inc.php | 459 +++++++++--------- addressbook/index.php | 5 +- addressbook/preferences.php | 5 +- addressbook/templates/default/form.tpl | 297 ++++++++---- addressbook/vcardin.php | 41 +- addressbook/vcardout.php | 140 ++++-- addressbook/view.php | 23 +- 12 files changed, 752 insertions(+), 533 deletions(-) diff --git a/addressbook/add.php b/addressbook/add.php index 532faf12f7..12c0b286b7 100755 --- a/addressbook/add.php +++ b/addressbook/add.php @@ -47,40 +47,63 @@ $url = ""; } - $fields["org_name"] = $company; - $fields["org_unit"] = $department; - $fields["n_given"] = $firstname; - $fields["n_family"] = $lastname; - $fields["n_middle"] = $middle; - $fields["n_prefix"] = $prefix; - $fields["n_suffix"] = $suffix; + $fields["org_name"] = $company; + $fields["org_unit"] = $department; + $fields["n_given"] = $firstname; + $fields["n_family"] = $lastname; + $fields["n_middle"] = $middle; + $fields["n_prefix"] = $prefix; + $fields["n_suffix"] = $suffix; if ($prefix) { $pspc = " "; } if ($middle) { $mspc = " "; } else { $nspc = " "; } if ($suffix) { $sspc = " "; } - $fields["fn"] = $prefix.$pspc.$firstname.$nspc.$mspc.$middle.$mspc.$lastname.$sspc.$suffix; - $fields["d_email"] = $email; - $fields["d_emailtype"] = $email_type; - $fields["title"] = $title; - $fields["a_tel"] = $wphone; - $fields["a_tel_work"] = "y"; - $fields["b_tel"] = $hphone; - $fields["b_tel_home"] = "y"; - $fields["c_tel"] = $fax; - $fields["c_tel_fax"] = "y"; - $fields["pager"] = $pager; - $fields["mphone"] = $mphone; - $fields["ophone"] = $ophone; - $fields["adr_street"] = $street; - $fields["address2"] = $address2; - $fields["adr_locality"] = $city; - $fields["adr_region"] = $state; - $fields["adr_postalcode"] = $zip; - $fields["adr_countryname"] = $country; - $fields["tz"] = $timezone; - $fields["bday"] = $bday; - $fields["url"] = $url; - $fields["note"] = $notes; - + $fields["fn"] = $prefix.$pspc.$firstname.$nspc.$mspc.$middle.$mspc.$lastname.$sspc.$suffix; + $fields["email"] = $email; + $fields["email_type"] = $email_type; + $fields["title"] = $title; + $fields["tel_work"] = $wphone; + $fields["tel_home"] = $hphone; + $fields["tel_fax"] = $fax; + $fields["tel_pager"] = $pager; + $fields["tel_cel"] = $mphone; + $fields["tel_msg"] = $ophone; + $fields["adr_one_street"] = $bstreet; + $fields["adr_one_locality"] = $bcity; + $fields["adr_one_region"] = $bstate; + $fields["adr_one_postalcode"] = $bzip; + $fields["adr_one_countryname"] = $bcountry; + + reset($this->adr_types); + $typed = ''; + while (list($type,$val) = each($this->adr_types)) { + $ftype = 'one_'.$type; + eval("if (\$\$ftype=='on'\) { \$typed \.= \$type\.';'; }"); + } + $fields["adr_one_type"] = substr($typed,0,-1); + + $fields["address2"] = $address2; + $fields["address3"] = $address3; + + $fields["adr_two_street"] = $hstreet; + $fields["adr_two_locality"] = $hcity; + $fields["adr_two_region"] = $hstate; + $fields["adr_two_postalcode"] = $hzip; + $fields["adr_two_countryname"] = $hcountry; + + reset($this->adr_types); + $typed = ''; + while (list($type,$val) = each($this->adr_types)) { + $ftype = 'two_'.$type; + eval("if \(\$\$ftype=='on'\) { \$typed \.= \$type\.';'; }"); + } + $fields["adr_two_type"] = substr($typed,0,-1); + + $fields["tz"] = $timezone; + $fields["bday"] = $bday; + $fields["url"] = $url; + $fields["pubkey"] = $pubkey; + $fields["note"] = $notes; + addressbook_add_entry($phpgw_info["user"]["account_id"],$fields); $ab_id = addressbook_get_lastid(); diff --git a/addressbook/conv/Import from Netscape b/addressbook/conv/Import from Netscape index 2e24a1f376..7d6f95336d 100644 --- a/addressbook/conv/Import from Netscape +++ b/addressbook/conv/Import from Netscape @@ -22,25 +22,25 @@ var $type = 'ldif'; var $import = array( - "title" => "title", - "givenname" => "n_given", - "sn" => "n_family", - "cn" => "fn", - "o" => "org_name", - "ou" => "org_unit", - "streetaddress" => "adr_street", - "locality" => "adr_locality", - "st" => "adr_region", - "postalcode" => "adr_postalcode", - "countryname" => "adr_countryname", - "telephonenumber" => "a_tel", - "homephone" => "b_tel", - "facsimiletelephonenumber" => "c_tel", + "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" => "ophone", - "cellphone" => "mphone", + "cellphone" => "tel_cell", "description" => "note", - "pagerphone" => "pager", - "mail" => "d_email", + "pagerphone" => "tel_pager", + "mail" => "email", "homeurl" => "url", "xmozillauseconferenceserver" => "", "xmozillanickname" => "", @@ -63,7 +63,10 @@ //echo '
'.$i.': '.$name.' => '.$value; $entry[$i][$name] = $value; } - $entry[$i]['d_emailtype'] = 'INTERNET'; + $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]); } @@ -89,7 +92,6 @@ } function import_new_attrib($buffer,$name,$value) { - //$value = str_replace("\n","
",$value); // chop leading space from value $value = trim($value); $value = str_replace("\r","",$value); diff --git a/addressbook/conv/Import from Outlook b/addressbook/conv/Import from Outlook index 1ba6bf09c7..f1002971d8 100644 --- a/addressbook/conv/Import from Outlook +++ b/addressbook/conv/Import from Outlook @@ -38,18 +38,18 @@ "Company" => "org_name", //objectclass: organization "Department" => "org_unit", //objectclass: organizationalPerson "Job Title" => "title", //objectclass: organizationalPerson - "Business Street" => "address2", - "Business Street 2" => "", - "Business Street 3" => "", - "Business City" => "", - "Business State" => "", - "Business Postal Code" => "", - "Business Country" => "", - "Home Street" => "adr_street", - "Home City" => "adr_locality", - "Home State" => "adr_region", - "Home Postal Code" => "adr_postalcode", - "Home Country" => "adr_countryname", + "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" => "", @@ -57,21 +57,21 @@ "Other State" => "", "Other Postal Code" => "", "Other Country" => "", - "Assistant's Phone" => "", - "Business Fax" => "c_tel", - "Business Phone" => "a_tel", + "Assistant's Phone" => "tel_msg", + "Business Fax" => "tel_fax", + "Business Phone" => "tel_work", "Business Phone 2" => "ophone", "Callback" => "", - "Car Phone" => "", + "Car Phone" => "tel_car", "Company Main Phone" => "", "Home Fax" => "", - "Home Phone" => "b_tel", + "Home Phone" => "tel_home", "Home Phone 2" => "", //This will make another homePhone entry - "ISDN" => "", - "Mobile Phone" => "mphone", //newPilotPerson + "ISDN" => "tel_isdn", + "Mobile Phone" => "tel_cell", //newPilotPerson "Other Fax" => "", "Other Phone" => "", - "Pager" => "pager", + "Pager" => "tel_pager", "Primary Phone" => "", "Radio Phone" => "", "TTY/TDD Phone" => "", @@ -84,9 +84,9 @@ "Categories" => "", "Children" => "", "Directory Server" => "", - "E-mail Address" => "d_email", + "E-mail Address" => "email", "E-mail Display Name" => "", - "E-mail 2 Address" => "", + "E-mail 2 Address" => "email_home", "E-mail 2 Display Name" => "", "E-mail 3 Address" => "", //add another... "E-mail 3 Display Name" => "", @@ -130,7 +130,10 @@ //echo '
'.$i.': '.$name.' => '.$value; $entry[$i][$name] = $value; } - $entry[$i]['d_emailtype'] = 'INTERNET'; + $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]); } diff --git a/addressbook/edit.php b/addressbook/edit.php index 4e7eb34c45..9aa6c718f3 100755 --- a/addressbook/edit.php +++ b/addressbook/edit.php @@ -37,10 +37,9 @@ // not checking acl here, only on submit - that ok? // merge in extra fields $extrafields = array( - "pager" => "pager", - "mphone" => "mphone", "ophone" => "ophone", "address2" => "address2", + "address3" => "address3" ); $qfields = $this->stock_contact_fields + $extrafields; $fields = addressbook_read_entry($ab_id,$qfields); @@ -55,41 +54,70 @@ $bday = "$bday_month/$bday_day/$bday_year"; } - $fields["org_name"] = $company; - $fields["org_unit"] = $department; - $fields["n_given"] = $firstname; - $fields["n_family"] = $lastname; - $fields["n_middle"] = $middle; - $fields["n_prefix"] = $prefix; - $fields["n_suffix"] = $suffix; + $fields["org_name"] = $company; + $fields["org_unit"] = $department; + $fields["n_given"] = $firstname; + $fields["n_family"] = $lastname; + $fields["n_middle"] = $middle; + $fields["n_prefix"] = $prefix; + $fields["n_suffix"] = $suffix; if ($prefix) { $pspc = " "; } if ($middle) { $mspc = " "; } else { $nspc = " "; } if ($suffix) { $sspc = " "; } - $fields["fn"] = $prefix.$pspc.$firstname.$nspc.$mspc.$middle.$mspc.$lastname.$sspc.$suffix; - $fields["d_email"] = $email; - $fields["d_emailtype"] = $email_type; - $fields["title"] = $title; - $fields["a_tel"] = $wphone; - $fields["b_tel"] = $hphone; - $fields["c_tel"] = $fax; - $fields["pager"] = $pager; - $fields["mphone"] = $mphone; - $fields["ophone"] = $ophone; - $fields["adr_street"] = $street; - $fields["address2"] = $address2; - $fields["adr_locality"] = $city; - $fields["adr_region"] = $state; - $fields["adr_postalcode"] = $zip; - $fields["adr_countryname"] = $country; - $fields["tz"] = $timezone; - $fields["bday"] = $bday; - $fields["url"] = $url; - $fields["note"] = $notes; + $fields["fn"] = $prefix.$pspc.$firstname.$nspc.$mspc.$middle.$mspc.$lastname.$sspc.$suffix; + $fields["email"] = $email; + $fields["email_type"] = $email_type; + $fields["email_home"] = $hemail; + $fields["email_home_type"] = $hemail_type; + + $fields["title"] = $title; + $fields["tel_work"] = $wphone; + $fields["tel_home"] = $hphone; + $fields["tel_fax"] = $fax; + $fields["tel_pager"] = $pager; + $fields["tel_cel"] = $mphone; + $fields["tel_msg"] = $ophone; + $fields["tel_prefer"] = $tel_prefer; + + $fields["adr_one_street"] = $bstreet; + $fields["adr_one_locality"] = $bcity; + $fields["adr_one_region"] = $bstate; + $fields["adr_one_postalcode"] = $bzip; + $fields["adr_one_countryname"] = $bcountry; + + reset($this->adr_types); + $typed = ''; + while (list($type,$val) = each($this->adr_types)) { + $ftype = 'one_'.$type; + eval("if (\$\$ftype=='on'\) { \$typed \.= \$type\.';'; }"); + } + $fields["adr_one_type"] = substr($typed,0,-1); + + $fields["address2"] = $address2; + $fields["address3"] = $address3; + + $fields["adr_two_street"] = $hstreet; + $fields["adr_two_locality"] = $hcity; + $fields["adr_two_region"] = $hstate; + $fields["adr_two_postalcode"] = $hzip; + $fields["adr_two_countryname"] = $hcountry; + + reset($this->adr_types); + $typed = ''; + while (list($type,$val) = each($this->adr_types)) { + $ftype = 'two_'.$type; + eval("if \(\$\$ftype=='on'\) { \$typed \.= \$type\.';'; }"); + } + $fields["adr_two_type"] = substr($typed,0,-1); + + $fields["tz"] = $timezone; + $fields["bday"] = $bday; + $fields["url"] = $url; + $fields["pubkey"] = $pubkey; + $fields["note"] = $notes; + + $userid = $phpgw_info["user"]["account_id"]; - // this is now in functions.inc.php and will handle acl soon - //if (!$userid) { - $userid = $phpgw_info["user"]["account_id"]; - //} addressbook_update_entry($ab_id,$userid,$fields); Header("Location: " . $phpgw->link("/addressbook/view.php","ab_id=$ab_id&order=$order&sort=$sort&filter=$filter&start=$start")); diff --git a/addressbook/inc/class.contacts_sql_test.inc.php b/addressbook/inc/class.contacts_sql_test.inc.php index 3e24ce7092..e5c30894a2 100644 --- a/addressbook/inc/class.contacts_sql_test.inc.php +++ b/addressbook/inc/class.contacts_sql_test.inc.php @@ -383,13 +383,13 @@ while(list($name,$value)=each($stock_fields)) { $std .= "a.".$name.","; } - //$std = substr($std,0,-1); + $std = substr($std,0,-1); if ($extra_fields) { while(list($name,$value)=each($extra_fields)) { $ext .= "b.".$name.","; } } - //$ext = substr($ext,0,-1); + $ext = substr($ext,0,-1); if (!empty($fieldlist2)) { $filtertemp = " AND " . $filterlist2 . " "; } @@ -398,21 +398,30 @@ echo "
DEBUG - Final SELECT - Filtering with: #" . $filtertemp . "#"; } - $qfields = $std . $ext; - $qfields = substr($qfields,0,-1); + //$qfields = $std . $ext; + //$qfields = substr($qfields,0,-1); if ($query) { $squery = " AND (n_family like '%$query%' OR n_middle like '" - . "%$query%' OR n_given like '%$query%' OR d_email like '%$query%' OR " - . "adr_street like '%$query%' OR adr_locality like '%$query%' OR adr_region " - . "like '%$query%' OR adr_postalcode like '%$query%' OR org_unit like " - . "'%$query%' OR adr_countryname like '%$query%' OR " + . "%$query%' OR n_given like '%$query%' OR email like '%$query%' OR " + . "adr_one_street like '%$query%' OR adr_one_locality like '%$query%' OR adr_one_region " + . "like '%$query%' OR adr_one_postalcode like '%$query%' OR org_unit like " + . "'%$query%' OR adr_one_countryname like '%$query%' OR " . "org_name like '%$query%')"; } - - $sql = 'SELECT a.id,a.tid,a.lid,a.owner,b.contact_id,' - . $qfields . $extra_fields.' FROM '.$this->std_table.' AS a '. $join . ' ' - . $this->ext_table .' AS b ON a.id=b.contact_id ' . $squery; + if ($ext) { + $equery = " AND ("; + $extf = split(',',$ext); + for ($i=0;$istd_table.' AS a '. $join . ' ' + . $this->ext_table .' AS b ON a.id=b.contact_id ' . $squery . $equery; $this->db3->query($sql,__LINE__,__FILE__); $this->total_records = $this->db3->num_rows(); @@ -431,13 +440,23 @@ if (gettype($stock_fieldnames) == "array") { while (list($f_name) = each($fields)) { - $return_fields[$i][$f_name] = $this->db->f($f_name); + if ($DEBUG) { echo "
FNAME is '".$f_name."'"; } + reset($extra_fields); + while(list($stock)=each($extra_fields)) { + if ($stock == $f_name) { + if ($DEBUG) { echo " and is an extra field"; } + $f_value = $this->db->f('contact_value'); + } else { + $f_value = $this->db->f($f_name); + } + } + if ($DEBUG) { echo " equal to '".$f_value."'"; } + $return_fields[$i][$f_name] = $f_value; } reset($fields); } $i++; } - // $this->db->query("DROP TABLE $tmp_table"); return $return_fields; } diff --git a/addressbook/inc/functions.inc.php b/addressbook/inc/functions.inc.php index 1b2009fcd2..0f4e628126 100755 --- a/addressbook/inc/functions.inc.php +++ b/addressbook/inc/functions.inc.php @@ -43,49 +43,42 @@ "n_middle" => "middle name", "n_family" => "last name", //lastname "n_suffix" => "suffix", - "label" => "label", - "adr_street" => "street", - "adr_locality" => "city", //city - "adr_region" => "state", //state - "adr_postalcode" => "zip code", //zip - "adr_countryname" => "country", - "adr_work" => "", //yn - "adr_home" => "", //yn - "adr_parcel" => "", //yn - "adr_postal" => "", //yn + "label" => "label", + "adr_one_street" => "business street", + "adr_one_locality" => "business city", //city + "adr_one_region" => "business state", //state + "adr_one_postalcode" => "business zip code", //zip + "adr_one_countryname" => "business country", + "adr_two_street" => "home street", + "adr_two_locality" => "home city", //city + "adr_two_region" => "home state", //state + "adr_two_postalcode" => "home zip code", //zip + "adr_two_countryname" => "home country", "tz" => "time zone", "geo" => "geo", - "a_tel" => "work phone", - "a_tel_work" => "", //yn - "a_tel_home" => "", //yn - "a_tel_voice" => "", //yn - "a_tel_msg" => "", //yn - "a_tel_fax" => "", //yn - "a_tel_prefer" => "", //yn - "b_tel" => "home phone", - "b_tel_work" => "", //yn - "b_tel_home" => "", //yn - "b_tel_voice" => "", //yn - "b_tel_msg" => "", //yn - "b_tel_fax" => "", //yn - "b_tel_prefer" => "", //yn - "c_tel" => "fax", - "c_tel_work" => "", //yn - "c_tel_home" => "", //yn - "c_tel_voice" => "", //yn - "c_tel_msg" => "", //yn - "c_tel_fax" => "", //yn - "c_tel_prefer" => "", //yn - "d_email" => "email", - "d_emailtype" => "email type", //'INTERNET','CompuServe',etc... - "d_email_work" => "", //yn - "d_email_home" => "", //yn - "pager" => "Pager", - "mphone" => "mobile phone", - "ophone" => "other phone", - "address2" => "address2", + "tel_work" => "work phone", //yn + "tel_home" => "home phone", //yn + "tel_voice" => "voice phone", //yn + "tel_msg" => "msg phone", //yn + "tel_fax" => "fax", //yn + "tel_pager" => "pager", + "tel_cell" => "mobile phone", + "tel_bbs" => "bbs phone", + "tel_modem" => "modem phone", + "tel_isdn" => "isdn phone", + "tel_car" => "car phone", + "tel_video" => "video phone", + + "tel_prefer" => "prefer", //yn + "email" => "work email", + "email_type" => "work email type", //'INTERNET','CompuServe',etc... + "email_home" => "home email", //yn + "email_home_type" => "home email type", + "address2" => "address line 2", + "address3" => "address line 3", "bday" => "birthday", "url" => "url", + "pubkey" => "public key", "note" => "notes" ); @@ -141,77 +134,104 @@ $t = new Template($phpgw->common->get_tpl_dir("addressbook")); $t->set_file(array( "form" => "form.tpl")); - $email = $fields["d_email"]; - $emailtype = $fields["d_emailtype"]; + $email = $fields["email"]; + $emailtype = $fields["email_type"]; + $hemail = $fields["email_home"]; + $hemailtype = $fields["email_home_type"]; $firstname = $fields["n_given"]; $middle = $fields["n_middle"]; $prefix = $fields["n_prefix"]; $suffix = $fields["n_suffix"]; $lastname = $fields["n_family"]; $title = $fields["title"]; - $wphone = $fields["a_tel"]; - $hphone = $fields["b_tel"]; - $fax = $fields["c_tel"]; - $pager = $fields["pager"]; - $mphone = $fields["mphone"]; + $wphone = $fields["tel_work"]; + $hphone = $fields["tel_home"]; + $fax = $fields["tel_fax"]; + $pager = $fields["tel_pager"]; + $mphone = $fields["tel_cell"]; $ophone = $fields["ophone"]; - $street = $fields["adr_street"]; + $msgphone = $fields["tel_msg"]; + $isdnphone = $fields["tel_isdn"]; + $carphone = $fields["tel_car"]; + $vidphone = $fields["tel_video"]; + $preferred = $fields["tel_prefer"]; + + $bstreet = $fields["adr_one_street"]; $address2 = $fields["address2"]; - $city = $fields["adr_locality"]; - $state = $fields["adr_region"]; - $zip = $fields["adr_postalcode"]; - $country = $fields["adr_countryname"]; + $address3 = $fields["address3"]; + $bcity = $fields["adr_one_locality"]; + $bstate = $fields["adr_one_region"]; + $bzip = $fields["adr_one_postalcode"]; + $bcountry = $fields["adr_one_countryname"]; + $one_dom = $fields["one_dom"]; + $one_intl = $fields["one_intl"]; + $one_parcel = $fields["one_parcel"]; + $one_postal = $fields["one_postal"]; + + $hstreet = $fields["adr_two_street"]; + $hcity = $fields["adr_two_locality"]; + $hstate = $fields["adr_two_region"]; + $hzip = $fields["adr_two_postalcode"]; + $hcountry = $fields["adr_two_countryname"]; + $btype = $fields["adr_two_type"]; + $two_dom = $fields["two_dom"]; + $two_intl = $fields["two_intl"]; + $two_parcel = $fields["two_parcel"]; + $two_postal = $fields["two_postal"]; + $timezone = $fields["tz"]; $bday = $fields["bday"]; $notes = stripslashes($fields["note"]); $company = $fields["org_name"]; $department = $fields["org_unit"]; $url = $fields["url"]; - //$access = $fields["access"]; + $pubkey = $fields["pubkey"]; + + $this = CreateObject("phpgwapi.contacts"); if ($format != "view") { - $email = ""; - $firstname = ""; - $lastname = ""; - $middle = ""; - $prefix = ""; - $suffix = ""; - $title = ""; - $hphone = ""; - $wphone = ""; - $fax = ""; - $pager = ""; - $mphone = ""; - $ophone = ""; - $street = ""; - $address2 = ""; - $city = ""; - $state = ""; - $zip = ""; - $country = ""; + $email = ""; + $firstname = ""; + $lastname = ""; + $middle = ""; + $prefix = ""; + $suffix = ""; + $title = ""; -/* - if($phpgw_info["apps"]["timetrack"]["enabled"]) { - $company = '"; - } else { */ - $company = ""; + while (list($name,$val) = each($this->tel_types)) { + $str[$name] = "\n".' ".$str['home']; + $wphone = " ".$str['work']; + $msgphone = " ".$str['msg']; + $isdnphone = " ".$str['isdn']; + $carphone = " ".$str['car']; + $vidphone = " ".$str['video']; + $fax = " ".$str['fax']; + $pager = " ".$str['pager']; + $mphone = " ".$str['cell']; + + $ophone = ""; + $bstreet = ""; + $address2 = ""; + $address3 = ""; + $bcity = ""; + $bstate = ""; + $bzip = ""; + $bcountry = ""; + $company = ""; $department = ""; -/* } */ + + $hemail = ""; + $hstreet = ""; + $hcity = ""; + $hstate = ""; + $hzip = ""; + $hcountry = ""; if (strlen($bday) > 2) { list( $month, $day, $year ) = split( '/', $bday ); @@ -265,7 +285,6 @@ } $time_zone .= "\n"; - $this = CreateObject("phpgwapi.contacts"); $email_type = '"; - + + reset($this->email_types); + $hemail_type = '"; + + reset($this->adr_types); + while (list($type,$val) = each($this->adr_types)) { + $badrtype .= "\n".'adr_types); + while (list($type,$val) = each($this->adr_types)) { + $hadrtype .= "\n".''; + $pubkey = ''; } else { $notes = "
"; if ($bday == "//") $bday = ""; - -/* - if($phpgw_info["apps"]["timetrack"]["enabled"]) { - $company = $company_name; - } else { */ - $company = $company; -/* } */ } if ($action) { echo "
link('/addressbook/' . $action)."\" method=\"post\">\n"; } - // test: - //echo "Time track app status = " . $phpgw_info["apps"]["timetrack"]["enabled"]; - if (! ereg("^http://",$url)) { $url = "http://". $url; } $birthday = $phpgw->common->dateformatorder($bday_year,$bday_month,$bday_day) . '(e.g. 1969)'; -/* - // This is now handled by acl code, and should go away - if ($format == "Edit") { - if ($access != "private" && $access != "public") { - $access_link .= ''.lang("Group access").':' - . '' - . $phpgw->accounts->convert_string_to_names($access); - } else { - $access_link .= ''.lang("Access").':' - . '' . $access; - } - } else { - $access_link .= ''.lang("Access").': - - - '; - else - $access_link .= '>'.lang("Group Public").''; - - $access_link .= ' - '; - } - - if ($format != "view") { - $access_link .= '' . lang("Which groups") - . ':'; - $t->set_var("lang_access",lang("access")); - } else { - $access_link = ''; - $t->set_var("lang_access",''); - } -*/ if ($format == "view") $create .= ''.lang("Created by").':' . '' @@ -370,6 +353,10 @@ else $create = ''; + $t->set_var("lang_home",lang("Home")); + $t->set_var("lang_business",lang("Business")); + $t->set_var("lang_personal",lang("Personal")); + $t->set_var("lang_lastname",lang("Last Name")); $t->set_var("lastname",$lastname); $t->set_var("lang_firstname",lang("First Name")); @@ -380,50 +367,83 @@ $t->set_var("prefix",$prefix); $t->set_var("lang_suffix",lang("Suffix")); $t->set_var("suffix",$suffix); + $t->set_var("lang_birthday",lang("Birthday")); + $t->set_var("birthday",$birthday); + $t->set_var("lang_company",lang("Company Name")); $t->set_var("company",$company); $t->set_var("lang_department",lang("Department")); $t->set_var("department",$department); $t->set_var("lang_title",lang("Title")); $t->set_var("title",$title); - $t->set_var("lang_email",lang("Email")); + $t->set_var("lang_email",lang("Business Email")); $t->set_var("email",$email); - $t->set_var("lang_email_type",lang("EMail Type")); + $t->set_var("lang_email_type",lang("Business EMail Type")); $t->set_var("email_type",$email_type); $t->set_var("lang_url",lang("URL")); $t->set_var("url",$url); $t->set_var("lang_timezone",lang("time zone offset")); $t->set_var("timezone",$time_zone); - $t->set_var("lang_hphone",lang("Home Phone")); - $t->set_var("hphone",$hphone); - $t->set_var("lang_fax",lang("fax")); + $t->set_var("lang_fax",lang("Business Fax")); $t->set_var("fax",$fax); - $t->set_var("lang_wphone",lang("Work Phone")); + $t->set_var("lang_wphone",lang("Business Phone")); $t->set_var("wphone",$wphone); $t->set_var("lang_pager",lang("Pager")); $t->set_var("pager",$pager); - $t->set_var("lang_mphone",lang("Mobile")); + $t->set_var("lang_mphone",lang("Cell Phone")); $t->set_var("mphone",$mphone); + $t->set_var("lang_msgphone",lang("Message Phone")); + $t->set_var("msgphone",$msgphone); + $t->set_var("lang_isdnphone",lang("ISDN Phone")); + $t->set_var("isdnphone",$isdnphone); + $t->set_var("lang_carphone",lang("Car Phone")); + $t->set_var("carphone",$carphone); + $t->set_var("lang_vidphone",lang("Video Phone")); + $t->set_var("vidphone",$vidphone); + $t->set_var("lang_ophone",lang("Other Number")); $t->set_var("ophone",$ophone); - $t->set_var("lang_street",lang("Street")); - $t->set_var("street",$street); - $t->set_var("lang_birthday",lang("Birthday")); - $t->set_var("birthday",$birthday); - $t->set_var("lang_address2",lang("Line 2")); + $t->set_var("lang_bstreet",lang("Business Street")); + $t->set_var("bstreet",$bstreet); + $t->set_var("lang_address2",lang("Address Line 2")); $t->set_var("address2",$address2); - $t->set_var("lang_city",lang("city")); - $t->set_var("city",$city); - $t->set_var("lang_state",lang("state")); - $t->set_var("state",$state); - $t->set_var("lang_zip",lang("Zip Code")); - $t->set_var("zip",$zip); - $t->set_var("lang_country",lang("Country")); - $t->set_var("country",$country); - $t->set_var("access_link",$access_link); + $t->set_var("lang_address3",lang("Address Line 3")); + $t->set_var("address3",$address3); + $t->set_var("lang_bcity",lang("Business City")); + $t->set_var("bcity",$bcity); + $t->set_var("lang_bstate",lang("Business State")); + $t->set_var("bstate",$bstate); + $t->set_var("lang_bzip",lang("Business Zip Code")); + $t->set_var("bzip",$bzip); + $t->set_var("lang_bcountry",lang("Business Country")); + $t->set_var("bcountry",$bcountry); + $t->set_var("lang_badrtype",lang("Address Type")); + $t->set_var("badrtype",$badrtype); + + $t->set_var("lang_hphone",lang("Home Phone")); + $t->set_var("hphone",$hphone); + $t->set_var("lang_hemail",lang("Home Email")); + $t->set_var("hemail",$hemail); + $t->set_var("lang_hemail_type",lang("Home EMail Type")); + $t->set_var("hemail_type",$hemail_type); + $t->set_var("lang_hstreet",lang("Home Street")); + $t->set_var("hstreet",$hstreet); + $t->set_var("lang_hcity",lang("Home City")); + $t->set_var("hcity",$hcity); + $t->set_var("lang_hstate",lang("Home State")); + $t->set_var("hstate",$hstate); + $t->set_var("lang_hzip",lang("Home Zip Code")); + $t->set_var("hzip",$hzip); + $t->set_var("lang_hcountry",lang("Home Country")); + $t->set_var("hcountry",$hcountry); + $t->set_var("lang_hadrtype",lang("Address Type")); + $t->set_var("hadrtype",$hadrtype); + $t->set_var("create",$create); $t->set_var("lang_notes",lang("notes")); $t->set_var("notes",$notes); + $t->set_var("lang_pubkey",lang("Public Key")); + $t->set_var("pubkey",$pubkey); $t->parse("out","form"); $t->pparse("out","form"); @@ -611,55 +631,28 @@ $i++; } // All of the values that are getting filled are. -/* if($phpgw_info["apps"]["timetrack"]["enabled"]) { - $sql = "insert into addressbook (ab_owner,ab_access,ab_firstname,ab_lastname,ab_title,ab_email," - . "ab_hphone,ab_wphone,ab_fax,ab_pager,ab_mphone,ab_ophone,ab_street,ab_address2,ab_city," - . "ab_state,ab_zip,ab_bday," - . "ab_notes,ab_company_id) values ('" . $phpgw_info["user"]["account_id"] . "','$access','" - . addslashes($firstname). "','" - . addslashes($lastname) . "','" - . addslashes($title) . "','" - . addslashes($email) . "','" - . addslashes($hphone) . "','" - . addslashes($wphone) . "','" - . addslashes($fax) . "','" - . addslashes($pager) . "','" - . addslashes($mphone) . "','" - . addslashes($ophone) . "','" - . addslashes($street) . "','" - . addslashes($address2) . "','" - . addslashes($city) . "','" - . addslashes($state) . "','" - . addslashes($zip) . "','" - . addslashes($bday) . "','" - . addslashes($notes) . "','" - . addslashes($company). "')"; - } else { -*/ + $fields["owner"] = $phpgw_info["user"]["account_id"]; + $fields["n_given"] = addslashes($firstname); + $fields["n_family"] = addslashes($lastname); + $fields["fn"] = addslashes($firstname . " " . $lastname); + $fields["title"] = addslashes($title); + $fields["d_email"] = addslashes($email); + $fields["tel_work"] = addslashes($wphone); + $fields["tel_home"] = addslashes($hphone); + $fields["tel_fax"] = addslashes($fax); + $fields["tel_pager"] = addslashes($pager); + $fields["tel_cell"] = addslashes($mphone); + $fields["tel_msg"] = addslashes($ophone); + $fields["adr_one_street"] = addslashes($street); + $fields["address2"] = addslashes($address2); + $fields["adr_one_locality"] = addslashes($city); + $fields["adr_one_region"] = addslashes($state); + $fields["adr_one_postalcode"] = addslashes($zip); + $fields["bday"] = addslashes($bday); + $fields["url"] = $url; + $fields["note"] = addslashes($notes); + $fields["org_name"] = addslashes($company); - $fields["owner"] = $phpgw_info["user"]["account_id"]; - //$fields["access"] = $access; - $fields["n_given"] = addslashes($firstname); - $fields["n_family"] = addslashes($lastname); - $fields["fn"] = addslashes($firstname . " " . $lastname); - $fields["title"] = addslashes($title); - $fields["d_email"] = addslashes($email); - $fields["a_tel"] = addslashes($wphone); - $fields["b_tel"] = addslashes($hphone); - $fields["c_tel"] = addslashes($fax); - $fields["pager"] = addslashes($pager); - $fields["mphone"] = addslashes($mphone); - $fields["ophone"] = addslashes($ophone); - $fields["adr_street"] = addslashes($street); - $fields["address2"] = addslashes($address2); - $fields["adr_locality"] = addslashes($city); - $fields["adr_region"] = addslashes($state); - $fields["adr_postalcode"] = addslashes($zip); - $fields["bday"] = addslashes($bday); - $fields["url"] = $url; - $fields["note"] = addslashes($notes); - $fields["org_name"] = addslashes($company); - $this = CreateObject("phpgwapi.contacts"); $this->add($phpgw_info["user"]["account_id"],$fields); } diff --git a/addressbook/index.php b/addressbook/index.php index 2d27ea5783..9719d5e499 100755 --- a/addressbook/index.php +++ b/addressbook/index.php @@ -29,10 +29,9 @@ $this = CreateObject("phpgwapi.contacts"); $extrafields = array( - "pager" => "pager", - "mphone" => "mphone", "ophone" => "ophone", "address2" => "address2", + "address3" => "address3" ); $qfields = $this->stock_contact_fields + $extrafields; @@ -159,7 +158,7 @@ if ( !empty($coldata) && (substr($coldata,0,7) != 'http://') ) { $coldata = 'http://' . $coldata; } $ref=''; $data=$coldata.''; - } elseif ($column[0] == "d_email") { + } elseif ( ($column[0] == "email") || ($column[0] == "email_home") ) { if ($phpgw_info["user"]["apps"]["email"]) { $ref=''; } else { diff --git a/addressbook/preferences.php b/addressbook/preferences.php index 93c986f881..2ae5564e3b 100644 --- a/addressbook/preferences.php +++ b/addressbook/preferences.php @@ -22,12 +22,13 @@ include("../header.inc.php"); $this = CreateObject("phpgwapi.contacts"); + $extrafields = array( - "pager" => "pager", - "mphone" => "mphone", "ophone" => "ophone", "address2" => "address2", + "address3" => "address3" ); + $qfields = $this->stock_contact_fields + $extrafields; if ($submit) { diff --git a/addressbook/templates/default/form.tpl b/addressbook/templates/default/form.tpl index dc0f4c2a5b..85f73cfa6b 100755 --- a/addressbook/templates/default/form.tpl +++ b/addressbook/templates/default/form.tpl @@ -2,6 +2,12 @@ + + + + + + + + + - - - + + {birthday} + + + + + + + + + - - - - + + @@ -74,6 +80,23 @@ + + + + + + + + @@ -83,93 +106,62 @@ - + + - - - - - - - - - - - - - - - - - - - - + {bstreet} + + - - + - + + + + + + + + + + - + + - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - {access_link} - {create} diff --git a/addressbook/vcardin.php b/addressbook/vcardin.php index 14baad837a..d1a607d48f 100644 --- a/addressbook/vcardin.php +++ b/addressbook/vcardin.php @@ -30,8 +30,6 @@ // Some of the methods where borrowed from // Squirrelmail http://www.squirrelmail.org - - //$sep = $phpgw->common->filesystem_separator(); $sep = SEP; $uploaddir = $phpgw_info["server"]["temp_dir"] . $sep . $phpgw_info["user"]["sessionid"] . $sep; @@ -52,11 +50,6 @@ // This has to be non-interactive in case of a multi-entry vcard. $filename = $uploaddir . $newfilename; - //$n_groups = $phpgw->accounts->array_to_string($access,$n_groups); - - //if($access == "group") - // $access = $n_groups; - //echo $access . "
"; parsevcard($filename,$access); // Delete the temp file. @@ -73,47 +66,19 @@ echo "
You must select a vcard. (*.vcf)


"; } - $t = new Template($phpgw->common->get_tpl_dir("addressbook")); $t->set_file(array("vcardin" => "vcardin.tpl")); - + $vcard_header = "

 " . lang("Address book - VCard in") . "


"; $t->set_var(vcard_header,$vcard_header); $t->set_var(action_url,$phpgw->link("/addressbook/vcardin.php")); $t->set_var(lang_access,lang("Access")); $t->set_var(lang_groups,lang("Which groups")); -/* - $access_option = "

 " . lang("Address book - view") . $noprefs . "


"; @@ -80,7 +80,7 @@ if ($column[0] == "url") { $ref=''; $data=$coldata.''; - } elseif ($column[0] == "email") { + } elseif (($column[0] == "email") || ($column[0] == "email_home")) { if ($phpgw_info["user"]["apps"]["email"]) { $ref=''; } else { @@ -93,15 +93,6 @@ $columns_html .= "

"; } -/* - if ($access == "private") { - $access_link .= lang("Record Access") . " - " . $access; - } elseif ($access != "private" && $access != "public") { - $access_link .= lang("Group access") . " - " . $phpgw->accounts->convert_string_to_names_access($access); - } else { - $access_link =""; - } -*/ $columns_html .= '' . '
{lang_personal}:
{lang_prefix}: @@ -9,6 +15,7 @@
{lang_firstname}: @@ -21,6 +28,7 @@
{lang_lastname}: @@ -28,37 +36,35 @@
{lang_suffix}: {suffix}
- {lang_email}: - {lang_birthday}: - {email} -
{lang_business}:
- {lang_title}: + {lang_title}: {title} -
- {lang_email_type}: - - {email_type} -
{lang_company}:
+ {lang_email}: + + + {email} + + {lang_email_type}: + + {email_type} +
{lang_department}:
{lang_hphone}:{lang_bstreet}: - {hphone} - {lang_fax}: - - {fax} -
{lang_wphone}: - - {wphone} - {lang_pager}: - - {pager} -
{lang_mphone}: - - {mphone} - {lang_ophone}: - - {ophone} -
{lang_street}: - - {street} - {lang_birthday}: - {birthday} -
{lang_address2}: {address2}
{lang_city}:{lang_address3}: - {city} + {address3} +
{lang_bcity}: + + {bcity} + {lang_bstate}: + + {bstate}
{lang_state}:{lang_bzip}: - {state} -
{lang_zip}: - - {zip} + {bzip}
{lang_country}:{lang_bcountry}: - {country} + {bcountry} {lang_timezone}: @@ -179,14 +171,157 @@
{lang_badrtype}: + + {badrtype} +
{lang_wphone}: + + {wphone} + {lang_fax}: + + {fax} +
{lang_pager}: + + {pager} + {lang_mphone}: + + {mphone} +
{lang_msgphone}: + + {msgphone} + {lang_isdnphone}: + + {isdnphone} +
{lang_carphone}: + + {carphone} + {lang_vidphone}: + + {vidphone} +
{lang_pubkey}: + + {pubkey} +
{lang_home}:
+ {lang_hemail}: + + + {hemail} + + {lang_hemail_type}: + + {hemail_type} +
{lang_hstreet}: + + {hstreet} +
{lang_hcity}: + + {hcity} + {lang_hstate}: + + {hstate} +
{lang_hzip}: + + {hzip} +
{lang_hcountry}: + + {hcountry} +
{lang_hadrtype}: + + {hadrtype} +
{lang_hphone}: + + {hphone} +
" . $ref . $data . "
 
' . lang("Record owner") . '' . $phpgw->common->grab_owner_name($record_owner) . '' @@ -110,7 +101,7 @@ $editlink = $phpgw->common->check_owner($record_owner,"/addressbook/edit.php",lang("edit"),"ab_id=" . $ab_id . "&start=".$start."&sort=".$sort."&order=".$order); $vcardlink = ''; $donelink = ''; - + $t->set_var("access_link",$access_link); $t->set_var("ab_id",$ab_id); $t->set_var("sort",$sort); @@ -130,6 +121,6 @@ $t->parse("out","view"); $t->pparse("out","view"); - + $phpgw->common->phpgw_footer(); ?>