include_once("pdainclude.html");
checkpdasession($id);
if($addaddress || ($modaddress && is_array($item)))
{
if(($modaddress && is_array($item))) $addressid=$item[0];
include("addressitem.html");
exit;
}
$arrsort = getsort();
if($selcategory && $selcategory!=$arrsort['DefCategory_PDA_AB'])
{
$arrsort['DefCategory_PDA_AB']=$selcategory;
setsort($arrsort);
}
if(!isset($global)) $global=$arrsort[ADDRESS_GLOBAL];
if(!isset($showgroups)) $showgroups=$arrsort[ADDRESS_GROUPS];
//********Sort & POSTFIX
if($sort || (($arrsort[ADDRESS_GLOBAL]?'2':'')!=$global) || $arrsort[ADDRESS_GROUPS]!=$showgroups)
{
$arrsort['ADDRESS_GLOBAL']=$global?2:0;
$arrsort['ADDRESS_GROUPS']=$showgroups;
if($sort) $arrsort['PDA_ADDRESS']=$sort;
if($postfix) $arrsort['POSTFIX']=$postfix;
setsort($arrsort);
}
$sort=($arrsort['PDA_ADDRESS']?$arrsort['PDA_ADDRESS']:'name');
$private=!$global;
//calendar DB connection
if(!$otherconfig[DISABLESERVERADDRESS] && $otherconfig["FULLMERAK"])
{
require_once("../inc/function.calendar.php");
if($global==2)
{
$global=1;
$xglob=$otherconfig[GLOBALGWACCOUNT];
}
elseif(!$global)
$xglob=1;
else
$xglob="";
if($ext==1) $xglob=""; //open from calendar
if($otherconfig[GLOBALGWACCOUNT] || !$global) $sessid=logtocalendar($user,$config['EMAIL'],$config['PASS'],$xglob);
}
// add/modify
if($addaddress_x!="")
{
if(!$addressname)
{
if($addressname1 || $addressname3)
$addressname=trim($addressname1." ".$addressname3);
elseif($addressnick)
$addressname=$addressnick;
else
$addressname=$lang["MSG_NONAME"];
}
//to DB
if($store && $share && $groupsessid)
{
//existing flatfile -> DB
if($addressid!="" && strlen($addressid)!=12)
{
$addresses = getaddresses($id, $private,2);
$addresses[$addressid]["DELETED"] = true;
saveaddresses($id,$addresses, $private);
$addressid="";
}
unset($datain);
$datain[ITMFIRSTNAME]=$addressname1;
$datain[ITMMIDDLENAME]=$addressname2;
$datain[ITMSHARETYPE]=$share;
$datain[ITMCATEGORY]=$addresscategory;
$datain[ITMTITLE]=$addresstitle;
$datain[ITMSURNAME]=$addressname3;
$datain[ITMCOMPANY]=$addressorganization;
$datain[ITMCLASSIFYAS]=$addressname?$addressname:$lang["MSG_NONAME"];
$datain[ITMDESCRIPTION]=$addressnote;
$datain[ITMGENDER]=$addresssex;
$cid=calendarfunctioncall("AddContactInfo",$groupsessid,createcalendarparameters($datain),$addressid);
if($cid)
{
if($addressid)
{
$oldlocations = parsecalendarresult(calendarfunctioncall("GetContactLocations",$groupsessid,$addressid));
if($oldlocations[0]['LCT_ID']) $oldphones = parsecalendarresult(calendarfunctioncall("GetContactLocationPhones",$groupsessid,($oldlocations[0]['LCT_ID'])));
calendarfunctioncall("DeleteContactLocations",$groupsessid,$cid);
}
if($addressemail1 || $addressemail2 || $addressemail3 || $addressurl)
{
if(!is_array($oldlocations))
{
$oldlocations[0][LCTTYPE]="B";
$oldlocations[0][LCTTYPE]="H";
$oldlocations[0][LCTTYPE]="O";
}
foreach($oldlocations as $k => $v)
{
$v[LCTWEBPAGE]=$addressurl;
$v[LCTEMAIL1]=$addressemail1;
$v[LCTEMAIL2]=$addressemail2;
$v[LCTEMAIL3]=$addressemail3;
$iddat = calendarfunctioncall("AddContactLocation",$groupsessid,$cid,createcalendarparameters($v));
if($iddat)
{
if(is_array($oldphones[0])){ unset($oldphones[0]['PHNLCT_ID']); calendarfunctioncall("AddContactLocationPhone",$groupsessid,$LcB,createcalendarparameters($oldphones[0]));}
if(is_array($oldphones[1])){ unset($oldphones[1]['PHNLCT_ID']); calendarfunctioncall("AddContactLocationPhone",$groupsessid,$LcB,createcalendarparameters($oldphones[1]));}
if(is_array($oldphones[2])){ unset($oldphones[2]['PHNLCT_ID']); calendarfunctioncall("AddContactLocationPhone",$groupsessid,$LcB,createcalendarparameters($oldphones[2]));}
if(is_array($oldphones[3])){ unset($oldphones[3]['PHNLCT_ID']); calendarfunctioncall("AddContactLocationPhone",$groupsessid,$LcB,createcalendarparameters($oldphones[3]));}
}
}
}
}
}
//to flat file
else
{
if(strlen($addressid)==12)
{
calendarfunctioncall("DeleteContact",$groupsessid,$addressid);
$addressid="";
}
$addresses = getaddresses($id, $private,2);
if($addressid!="")
{
$address["ID"] = $addressid;
$index = getaddress($addresses, $addressid);
if ($index) $address = $addresses[$index - 1];
}
$address["TITLE"] = $addresstitle;
$address["NAME"] = $addressname;
$address["NAME1"] = $addressname1;
$address["NAME2"] = $addressname2;
$address["NAME3"] = $addressname3;
$address["EMAIL"] = $addressemail1;
$address["EMAIL2"] = $addressemail2;
$address["EMAIL3"] = $addressemail3;
$address["CATEGORY"] = $addresscategory;
$address["ORGANIZATION"] = $addressorganization;
$address["URL"] = $addressurl;
$address["NOTE"] = $addressnote;
if ($addressid=="")
{
$address["ID"] = getfreeaddressindex($addresses);
$addresses[$address["ID"]] = $address;
}
elseif($index)
$addresses[$index - 1] = $address;
saveaddresses($id, $addresses, $private);
}
}
// delete item
if($delete_x && is_array($item))
{
$addresses = getaddresses($id, $private,2);
for ($i = 0; $i < count($item); $i++)
{
if(strlen($item[$i])>9) //server
{
calendarfunctioncall("DeleteContact",$groupsessid,$item[$i]);
}
else //local
{
$index = getaddress($addresses, $item[$i]);
if ($index)
{
$deleted=1;
$addresses[$index - 1]["DELETED"] = true;
}
}
}
if($deleted) saveaddresses($id,$addresses, $private);
}
if($towritemail!="" && (is_array($item1) || is_array($item2) || is_array($item3)))
{
if($retrieve=retrievemail()) foreach($retrieve as $k => $v) $retrieve[$k] = base64_decode($v);
if(is_array($item1)) $retrieve[0] = (trim($retrieve[0])?trim($retrieve[0]) .';':''). join(";",$item1);
if(is_array($item2)) $retrieve[1] = (trim($retrieve[1])?trim($retrieve[1]) .';':''). join(";",$item2);
if(is_array($item3)) $retrieve[2] = (trim($retrieve[2])?trim($retrieve[2]) .';':''). join(";",$item3);
storemail($retrieve);
include('writemail.html');
exit;
}
$address = getaddresses($id,$private,1);
$createdata ='
'.$lang['MSG_BOTTOM'].'
'.($global?'':'').$lang[MSG_LINKS_PRIVATE_BOOK].($global?'':'').'
'.($global?'':'').$lang[MSG_LINKS_GLOBAL_BOOK].($global?'':'').'