2000-08-18 05:24:22 +02:00
|
|
|
<?php
|
2001-04-14 16:58:29 +02:00
|
|
|
/**************************************************************************\
|
|
|
|
* phpGroupWare - addressbook *
|
|
|
|
* http://www.phpgroupware.org *
|
|
|
|
* Written by Joseph Engo <jengo@phpgroupware.org> *
|
|
|
|
* -------------------------------------------- *
|
|
|
|
* 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$ */
|
2000-08-18 05:24:22 +02:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
if ($submit || $AddVcard) {
|
2001-02-19 04:35:43 +01:00
|
|
|
$phpgw_info["flags"] = array(
|
|
|
|
"noheader" => True,
|
|
|
|
"nonavbar" => True
|
|
|
|
);
|
2001-02-10 13:56:49 +01:00
|
|
|
}
|
2001-03-27 01:19:36 +02:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
$phpgw_info["flags"]["currentapp"] = "addressbook";
|
2001-05-04 02:59:06 +02:00
|
|
|
$phpgw_info["flags"]["enable_contacts_class"] = True;
|
2001-02-10 13:56:49 +01:00
|
|
|
include("../header.inc.php");
|
2001-03-27 01:19:36 +02:00
|
|
|
|
2001-05-10 14:21:16 +02:00
|
|
|
$t = new Template(PHPGW_APP_TPL);
|
2001-02-10 13:56:49 +01:00
|
|
|
$t->set_file(array("add" => "add.tpl"));
|
2001-03-27 01:19:36 +02:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
$this = CreateObject("phpgwapi.contacts");
|
2001-03-16 18:56:18 +01:00
|
|
|
|
|
|
|
// Read in user custom fields, if any
|
|
|
|
$phpgw->preferences->read_repository();
|
|
|
|
$customfields = array();
|
2001-03-18 16:44:30 +01:00
|
|
|
while (list($col,$descr) = @each($phpgw_info["user"]["preferences"]["addressbook"])) {
|
2001-03-16 18:56:18 +01:00
|
|
|
if ( substr($col,0,6) == 'extra_' ) {
|
|
|
|
$field = ereg_replace('extra_','',$col);
|
|
|
|
$field = ereg_replace(' ','_',$field);
|
|
|
|
$customfields[$field] = ucfirst($field);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
if ($AddVcard){
|
2001-03-09 00:55:58 +01:00
|
|
|
Header("Location: " . $phpgw->link("/addressbook/vcardin.php"));
|
2001-02-10 13:56:49 +01:00
|
|
|
} else if ($add_email) {
|
2001-04-14 19:10:58 +02:00
|
|
|
$named = explode(" ", $name);
|
|
|
|
for ($i=count($named);$i>=0;$i--) { $names[$i] = $named[$i]; }
|
|
|
|
if ($names[2])
|
|
|
|
{
|
|
|
|
$fields["n_given"] = $names[0];
|
|
|
|
$fields["n_middle"] = $names[1];
|
|
|
|
$fields["n_family"] = $names[2];
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
$fields["n_given"] = $names[0];
|
|
|
|
$fields["n_family"] = $names[1];
|
|
|
|
}
|
|
|
|
$fields["email"] = $add_email;
|
2001-03-25 11:07:58 +02:00
|
|
|
addressbook_form("","add.php","Add",$fields,'',$cat_id);
|
2001-02-10 13:56:49 +01:00
|
|
|
} else if (! $submit && ! $add_email) {
|
2001-03-18 17:23:00 +01:00
|
|
|
// Default
|
2001-03-25 11:07:58 +02:00
|
|
|
addressbook_form("","add.php","Add","",$customfields,$cat_id);
|
2001-03-18 00:52:36 +01:00
|
|
|
} elseif ($submit && $fields) {
|
|
|
|
// This came from the view form, Copy entry
|
|
|
|
$extrafields = array(
|
|
|
|
"ophone" => "ophone",
|
|
|
|
"address2" => "address2",
|
|
|
|
"address3" => "address3"
|
|
|
|
);
|
|
|
|
$qfields = $this->stock_contact_fields + $extrafields + $customfields;
|
|
|
|
$addnew = unserialize(rawurldecode($fields));
|
|
|
|
$addnew['note'] .= "\nCopied from ".$phpgw->accounts->id2name($addnew['owner']).", record #".$addnew['id'].".";
|
|
|
|
$addnew['owner'] = $phpgw_info["user"]["account_id"];
|
|
|
|
$addnew['id'] = '';
|
2001-03-27 01:19:36 +02:00
|
|
|
|
2001-03-27 01:41:34 +02:00
|
|
|
if ($addnew['tid']) { addressbook_add_entry($addnew['owner'],$addnew,'','',$addnew['tid']); }
|
2001-03-27 01:19:36 +02:00
|
|
|
else { addressbook_add_entry($addnew['owner'],$addnew); }
|
|
|
|
|
2001-03-18 00:52:36 +01:00
|
|
|
$fields = addressbook_read_last_entry($qfields);
|
|
|
|
$newid = $fields[0]['id'];
|
2001-03-25 07:41:06 +02:00
|
|
|
Header("Location: "
|
2001-04-14 22:21:41 +02:00
|
|
|
. $phpgw->link('/addressbook/edit.php',"ab_id=$newid&order=$order&sort=$sort&filter=$filter&start=$start&query=$query&cat_id=$cat_id"));
|
2001-02-10 13:56:49 +01:00
|
|
|
} else {
|
|
|
|
if (! $bday_month && ! $bday_day && ! $bday_year) {
|
|
|
|
$bday = "";
|
|
|
|
} else {
|
2001-04-08 09:33:09 +02:00
|
|
|
if (strlen ($bday_day) == 1)
|
|
|
|
{
|
|
|
|
$bday_day = "0".$bday_day;
|
|
|
|
}
|
2001-02-10 13:56:49 +01:00
|
|
|
$bday = "$bday_month/$bday_day/$bday_year";
|
|
|
|
}
|
2001-02-11 04:23:58 +01:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
if ($url == "http://") {
|
|
|
|
$url = "";
|
|
|
|
}
|
2000-08-18 05:24:22 +02:00
|
|
|
|
2001-03-16 02:31:25 +01:00
|
|
|
$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;
|
2001-02-10 13:56:49 +01:00
|
|
|
if ($prefix) { $pspc = " "; }
|
2001-03-12 03:21:20 +01:00
|
|
|
if ($middle) { $mspc = " "; } else { $nspc = " "; }
|
2001-02-10 13:56:49 +01:00
|
|
|
if ($suffix) { $sspc = " "; }
|
2001-03-16 02:31:25 +01:00
|
|
|
$fields["fn"] = $prefix.$pspc.$firstname.$nspc.$mspc.$middle.$mspc.$lastname.$sspc.$suffix;
|
|
|
|
$fields["email"] = $email;
|
|
|
|
$fields["email_type"] = $email_type;
|
2001-04-03 08:18:54 +02:00
|
|
|
$fields["email_home"] = $hemail;
|
|
|
|
$fields["email_home_type"] = $hemail_type;
|
2001-03-16 02:31:25 +01:00
|
|
|
$fields["title"] = $title;
|
|
|
|
$fields["tel_work"] = $wphone;
|
|
|
|
$fields["tel_home"] = $hphone;
|
|
|
|
$fields["tel_fax"] = $fax;
|
|
|
|
$fields["tel_pager"] = $pager;
|
2001-03-17 16:31:44 +01:00
|
|
|
$fields["tel_cell"] = $mphone;
|
2001-03-20 23:53:06 +01:00
|
|
|
$fields["tel_msg"] = $msgphone;
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["tel_car"] = $carphone;
|
|
|
|
$fields["tel_video"] = $vidphone;
|
|
|
|
$fields["tel_isdn"] = $isdnphone;
|
2001-03-16 02:31:25 +01:00
|
|
|
$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\.';'; }");
|
|
|
|
}
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["adr_one_type"] = substr($typed,0,-1);
|
2001-03-16 02:31:25 +01:00
|
|
|
|
|
|
|
$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\.';'; }");
|
|
|
|
}
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["adr_two_type"] = substr($typed,0,-1);
|
2001-03-16 02:31:25 +01:00
|
|
|
|
2001-03-16 18:56:18 +01:00
|
|
|
reset($customfields);
|
|
|
|
while (list($name,$val) = each($customfields)) {
|
|
|
|
$cust = '';
|
|
|
|
eval("if (\$name\) { \$cust \.= \$\$name; }");
|
|
|
|
if ($cust) { $fields[$name] = $cust; }
|
|
|
|
}
|
|
|
|
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["ophone"] = $ophone;
|
|
|
|
$fields["tz"] = $timezone;
|
|
|
|
$fields["bday"] = $bday;
|
|
|
|
$fields["url"] = $url;
|
|
|
|
$fields["pubkey"] = $pubkey;
|
|
|
|
$fields["note"] = $notes;
|
|
|
|
$fields["label"] = $label;
|
2001-03-16 02:31:25 +01:00
|
|
|
|
2001-03-24 16:21:56 +01:00
|
|
|
if ($access == True) {
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["access"] = 'private';
|
2001-03-24 16:21:56 +01:00
|
|
|
} else {
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["access"] = 'public';
|
2001-03-24 16:21:56 +01:00
|
|
|
}
|
|
|
|
|
2001-05-01 11:32:52 +02:00
|
|
|
$fields["cat_id"] = $cat_id;
|
2001-03-25 07:41:06 +02:00
|
|
|
|
|
|
|
addressbook_add_entry($phpgw_info["user"]["account_id"],$fields,$fields["access"],$fields["cat_id"]);
|
2001-02-19 04:35:43 +01:00
|
|
|
$ab_id = addressbook_get_lastid();
|
2001-04-14 16:58:29 +02:00
|
|
|
$referer = urlencode($referer);
|
2001-03-25 07:41:06 +02:00
|
|
|
Header("Location: "
|
2001-04-14 16:58:29 +02:00
|
|
|
. $phpgw->link("/addressbook/view.php","ab_id=$ab_id&order=$order&sort=$sort&filter=$filter&start=$start&cat_id=$cat_id&referer=$referer"));
|
2001-02-19 04:35:43 +01:00
|
|
|
$phpgw->common->phpgw_exit();
|
2001-02-10 13:56:49 +01:00
|
|
|
}
|
2000-11-03 21:07:57 +01:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
$t->set_var("lang_ok",lang("ok"));
|
|
|
|
$t->set_var("lang_clear",lang("clear"));
|
|
|
|
$t->set_var("lang_cancel",lang("cancel"));
|
2001-03-29 12:45:29 +02:00
|
|
|
$t->set_var("cancel_url",$phpgw->link("/addressbook/index.php"));
|
2001-02-10 13:56:49 +01:00
|
|
|
$t->parse("out","add");
|
|
|
|
$t->pparse("out","add");
|
2001-03-19 19:02:06 +01:00
|
|
|
|
2001-02-10 13:56:49 +01:00
|
|
|
$phpgw->common->phpgw_footer();
|
2001-01-14 03:43:14 +01:00
|
|
|
?>
|