>";
}
}
$layout = new TLayout("add2", "ExtravaganzaAvenue", "MobileAvenue");
$layout->version = 2;
$layout->blocks["top"] = array();
$layout->containers["all"] = array();
$layout->containers["all"][] = array("name"=>"wrapper",
"block"=>"", "substyle"=>1 , "container"=>"add" );
$layout->containers["add"] = array();
$layout->containers["add"][] = array("name"=>"addheader",
"block"=>"addheader", "substyle"=>2 );
$layout->containers["add"][] = array("name"=>"message",
"block"=>"message_block", "substyle"=>1 );
$layout->containers["add"][] = array("name"=>"wrapper",
"block"=>"", "substyle"=>1 , "container"=>"fields" );
$layout->containers["fields"] = array();
$layout->containers["fields"][] = array("name"=>"addfields",
"block"=>"", "substyle"=>1 );
$layout->containers["fields"][] = array("name"=>"addbuttons",
"block"=>"addbuttons", "substyle"=>2 );
$layout->skins["fields"] = "fields";
$layout->skins["add"] = "1";
$layout->skins["all"] = "empty";
$layout->blocks["top"][] = "all";
$page_layouts["Joint_Account_add"] = $layout;
$layout->skinsparams = array();
$layout->skinsparams["empty"] = array("button"=>"button2");
$layout->skinsparams["menu"] = array("button"=>"button1");
$layout->skinsparams["hmenu"] = array("button"=>"button1");
$layout->skinsparams["undermenu"] = array("button"=>"button1");
$layout->skinsparams["fields"] = array("button"=>"button1");
$layout->skinsparams["form"] = array("button"=>"button1");
$layout->skinsparams["1"] = array("button"=>"button1");
$layout->skinsparams["2"] = array("button"=>"button1");
$layout->skinsparams["3"] = array("button"=>"button1");
$filename = "";
$status = "";
$message = "";
$mesClass = "rnr-error";
$usermessage = "";
$error_happened = false;
$readavalues = false;
$keys = array();
$showValues = array();
$showRawValues = array();
$showFields = array();
$showDetailKeys = array();
$IsSaved = false;
$HaveData = true;
$popUpSave = false;
$sessionPrefix = $strTableName;
$onFly = false;
if(postvalue("onFly"))
$onFly = true;
if(@$_REQUEST["editType"]=="inline")
$inlineadd = ADD_INLINE;
elseif(@$_REQUEST["editType"]==ADD_POPUP)
{
$inlineadd = ADD_POPUP;
if(@$_POST["a"]=="added" && postvalue("field")=="" && postvalue("category")=="")
$popUpSave = true;
}
elseif(@$_REQUEST["editType"]==ADD_MASTER)
$inlineadd = ADD_MASTER;
elseif($onFly)
{
$inlineadd = ADD_ONTHEFLY;
$sessionPrefix = $strTableName."_add";
}
else
$inlineadd = ADD_SIMPLE;
if($inlineadd == ADD_INLINE)
{
$templatefile = GetTemplateName("Joint_Account", "inline_add");
}
else
{
$templatefile = GetTemplateName("Joint_Account", "add");
}
$id = postvalue("id");
if(intval($id)==0)
$id = 1;
//If undefined session value for mastet table, but exist post value master table, than take second
//It may be happen only when use dpInline mode on page add
if(!@$_SESSION[$sessionPrefix."_mastertable"] && postvalue("mastertable"))
$_SESSION[$sessionPrefix."_mastertable"] = postvalue("mastertable");
$xt = new Xtempl();
// assign an id
$xt->assign("id",$id);
$auditObj = GetAuditObject($strTableName);
//array of params for classes
$params = array("pageType" => PAGE_ADD,"id" => $id,"mode" => $inlineadd);
$params['xt'] = &$xt;
$params['tName'] = $strTableName;
$params['locale_info'] = $locale_info;
$params['baseTableName'] = postvalue("table");
$params['useTabsOnAdd'] = $gSettings->useTabsOnAdd();
$params['templatefile'] = $templatefile;
$params['pageAddLikeInline'] = ($inlineadd==ADD_INLINE);
$params['needSearchClauseObj'] = false;
$params['strOriginalTableName'] = $strOriginalTableName;
if($params['useTabsOnAdd'])
$params['arrAddTabs'] = $gSettings->getAddTabs();
$pageObject = new AddPage($params);
$pageObject->init();
if(isset($_REQUEST['afteradd'])){
HeaderRedirect("Joint_Account", "add");
if($eventObj->exists("AfterAdd") && isset($_SESSION['after_add_data'][$_REQUEST['afteradd']])){
$data = $_SESSION['after_add_data'][$_REQUEST['afteradd']];
$eventObj->AfterAdd($data['avalues'], $data['keys'],$data['inlineadd'], $pageObject);
}
unset($_SESSION['after_add_data'][$_REQUEST['afteradd']]);
foreach (is_array($_SESSION['after_add_data']) ? $_SESSION['after_add_data'] : array() as $k=>$v){
if (!is_array($v) or !array_key_exists('time',$v)) {
unset($_SESSION['after_add_data'][$k]);
continue;
}
if ($v['time'] < time() - 3600){
unset($_SESSION['after_add_data'][$k]);
}
}
exit();
}
//Get detail table keys
$detailKeys = $pageObject->detailKeysByM;
//Array of fields, which appear on add page
$addFields = $pageObject->getFieldsByPageType();
// add button events if exist
if ($inlineadd == ADD_SIMPLE || $inlineadd == ADD_ONTHEFLY)
$pageObject->addButtonHandlers();
//For show detail tables on master page add
if($inlineadd==ADD_SIMPLE || $inlineadd==ADD_MASTER || $inlineadd==ADD_POPUP)
{
$dpParams = array();
if($pageObject->isShowDetailTables && !isMobile())
{
$ids = $id;
$countDetailsIsShow = 0;
$pageObject->jsSettings['tableSettings'][$strTableName]['isShowDetails'] = $countDetailsIsShow > 0 ? true : false;
$pageObject->jsSettings['tableSettings'][$strTableName]['dpParams'] = array('tableNames'=>$dpParams['strTableNames'], 'ids'=>$dpParams['ids']);
}
}
// Before Process event
if($eventObj->exists("BeforeProcessAdd"))
{
$eventObj->BeforeProcessAdd($conn, $pageObject);
}
// proccess captcha
if ($inlineadd==ADD_SIMPLE || $inlineadd==ADD_MASTER || $inlineadd==ADD_POPUP)
{
if($pageObject->captchaExists())
{
$pageObject->doCaptchaCode();
}
}
// insert new record if we have to
if(@$_POST["a"]=="added")
{
$afilename_values=array();
$avalues=array();
$blobfields=array();
$lookupMainSettings = getLookupMainTableSettings($strTableName, postvalue("table"), postvalue("field"));
if($lookupMainSettings)
{
$mainField = postvalue("field");
if($lookupMainSettings->useCategory($mainField) && !isset($avalues[$lookupMainSettings->getCategoryFilter($mainField)]))
{
$avalues[$lookupMainSettings->getCategoryFilter($mainField)] = postvalue("category");
}
}
$failed_inline_add=false;
// add filenames to values
foreach($afilename_values as $akey=>$value)
$avalues[$akey]=$value;
// before Add event
$retval = true;
if($eventObj->exists("BeforeAdd"))
$retval = $eventObj->BeforeAdd($avalues,$usermessage,(bool)$inlineadd, $pageObject);
if($retval)
{
//check if some values are duplicated for the fields not allowing duplicates
$retval = !$pageObject->hasDeniedDuplicateValues($avalues, $usermessage);
}
// if get save data and user is logged and not check permission
if ($avalues && !CheckTablePermissions($strTableName, "A") && isLogged()) {
$retval = false;
$usermessage = 'You have no permissions to complete this action.';
}
// if get save data and user is not logged or guest
if ($avalues && ((!CheckTablePermissions($strTableName, "A") && isLoggedAsGuest()) || !isLogged())) {
$retval = false;
$usermessage = mlang_message("SESSION_EXPIRED1") . "" . mlang_message("SESSION_EXPIRED3") . "" . mlang_message("SESSION_EXPIRED4");
}
if($retval && $pageObject->isCaptchaOk)
{
//add or set updated lat-lng values for all map fileds with 'UpdateLatLng' ticked
$pageObject->setUpdatedLatLng( $avalues );
$_SESSION[$strTableName."_count_captcha"] = $_SESSION[$strTableName."_count_captcha"]+1;
$customAddResult = true;
$customAddError = false;
if($eventObj->exists("CustomAdd"))
{
$customAddResult = $eventObj->CustomAdd($avalues, $keys, $customAddError, (boolean)$inlineadd, $pageObject);
if($keys && !is_array($keys))
$keys = array("ID" => $keys);
elseif((is_array($keys) && !count($keys)) || !$keys)
$keys = prepareTableKeysAfterInsert($strOriginalTableName, $avalues, $pageObject, $keys);
if(!$customAddResult && !$customAddError)
$mesClass = "";
}
if($customAddResult && !$customAddError)
{
if(DoInsertRecord($strOriginalTableName,$avalues,$blobfields,$id,$pageObject, $pageObject->cipherer, $keys))
{
$IsSaved=true;
// after edit event
if($auditObj || $eventObj->exists("AfterAdd"))
{
foreach($keys as $idx=>$val)
$avalues[$idx]=$val;
}
if($auditObj)
$auditObj->LogAdd($strTableName,$avalues,$keys);
// Give possibility to all edit controls to clean their data
$afterAdd_id = '';
if($eventObj->exists("AfterAdd") && $inlineadd!=ADD_MASTER){
$eventObj->AfterAdd($avalues,$keys,(bool)$inlineadd, $pageObject);
} else if ($eventObj->exists("AfterAdd") && $inlineadd==ADD_MASTER){
if($onFly)
$eventObj->AfterAdd($avalues,$keys,(bool)$inlineadd, $pageObject);
else{
$afterAdd_id = generatePassword(20);
$_SESSION['after_add_data'][$afterAdd_id] = array(
'avalues'=>$avalues,
'keys'=>$keys,
'inlineadd'=>(bool)$inlineadd,
'time' => time()
);
}
}
if($inlineadd==ADD_SIMPLE || $inlineadd==ADD_MASTER)
{
$permis = array();
$keylink = "";$k = 0;
foreach($keys as $idx=>$val)
{
if($k!=0)
$keylink .="&";
$keylink .="editid".(++$k)."=".runner_htmlspecialchars(rawurlencode(@$val));
}
$permis = $pageObject->getPermissions();
if (count($keys))
{
$message .="";
if($pageObject->pSet->hasEditPage() && $permis['edit'])
$message .=" ".mlang_message("EDIT")." ";
if($pageObject->pSet->hasViewPage() && $permis['search'])
$message .=" ".mlang_message("VIEW")." ";
}
$mesClass = "";
}
}
}
elseif($customAddError)
$message = $customAddError;
}
else
{
$message = $usermessage;
$status = "DECLINED";
$readavalues = true;
}
}
if($message)
$message = "
".$message."
";
// PRG rule, to avoid POSTDATA resend
if (no_output_done() && $inlineadd==ADD_SIMPLE && $IsSaved)
{
// saving message
$_SESSION["message_add"] = ($message ? $message : "");
// redirect
HeaderRedirect("Joint_Account", $pageObject->getPageType());
// turned on output buffering, so we need to stop script
exit();
}
if($inlineadd==ADD_MASTER && $IsSaved)
$_SESSION["message_add"] = ($message ? $message : "");
// for PRG rule, to avoid POSTDATA resend. Saving mess in session
if($inlineadd==ADD_SIMPLE && isset($_SESSION["message_add"]))
{
$message = $_SESSION["message_add"];
unset($_SESSION["message_add"]);
}
$defvalues=array();
// copy record
if(array_key_exists("copyid1",$_REQUEST) || array_key_exists("editid1",$_REQUEST))
{
$copykeys=array();
if(array_key_exists("copyid1",$_REQUEST))
{
$copykeys["UID"]=postvalue("copyid1");
}
else
{
$copykeys["UID"]=postvalue("editid1");
}
$strWhere=KeyWhere($copykeys);
$strSQL = $gQuery->gSQLWhere($strWhere);
LogInfo($strSQL);
$rs = db_query($strSQL,$conn);
$defvalues = $pageObject->cipherer->DecryptFetchedArray($rs);
if(!$defvalues)
$defvalues=array();
// clear key fields
$defvalues["UID"]="";
//call CopyOnLoad event
if($eventObj->exists("CopyOnLoad"))
$eventObj->CopyOnLoad($defvalues,$strWhere, $pageObject);
}
else
{
}
$lookupMainSettings = getLookupMainTableSettings($strTableName, postvalue("table"), postvalue("field"));
if($lookupMainSettings)
{
$mainField = postvalue("field");
if($lookupMainSettings->useCategory($mainField) && !isset($avalues[$lookupMainSettings->getCategoryFilter($mainField)]))
{
$defvalues[$lookupMainSettings->getCategoryFilter($mainField)] = postvalue("category");
}
}
if($readavalues)
{
}
if($eventObj->exists("ProcessValuesAdd"))
$eventObj->ProcessValuesAdd($defvalues, $pageObject);
//for basic files
$includes="";
if($inlineadd!=ADD_INLINE)
{
if($inlineadd!=ADD_ONTHEFLY && $inlineadd!=ADD_POPUP)
{
$includes .= GetBaseScriptsForPage(false);
if (!isMobile())
$includes.="\r\n";
}
if($inlineadd!=ADD_ONTHEFLY && $inlineadd!=ADD_POPUP)
{
$pageObject->body["begin"] .= $includes;
$xt->assign("backbutton_attrs","id=\"backButton".$id."\"");
$xt->assign("mbackbutton_attrs","id=\"extraBackButton".$id."\"");
$xt->assign("back_button",true);
}
else
{
$xt->assign("cancelbutton_attrs", "id=\"cancelButton".$id."\"");
$xt->assign("cancel_button",true);
$xt->assign("header","");
}
$xt->assign("save_button",true);
}
$xt->assign("savebutton_attrs","id=\"saveButton".$id."\"");
$xt->assign("message_block",true);
$xt->assign("message",$message);
if(!strlen($message))
{
$xt->displayBrickHidden("message");
}
// show readonly fields
$linkdata="";
$i = 0;
$jsKeys = array();
$keyFields = array();
foreach($keys as $field=>$value)
{
$keyFields[$i] = $field;
$jsKeys[$i++] = $value;
}
if(@$_POST["a"]=="added" && $inlineadd==ADD_ONTHEFLY)
{
if( !$error_happened && $status!="DECLINED")
{
$addedData = $pageObject->GetAddedDataLookupQuery( $keys, false, postvalue("table"), postvalue("field") );
$data =& $addedData[0];
if($data)
{
$respData = array($addedData[1]["linkField"] => @$data[$addedData[1]["linkFieldIndex"]], $addedData[1]["displayField"] => @$data[$addedData[1]["displayFieldIndex"]]);
}
else
{
$respData = array($addedData[1]["linkField"] => @$avalues[$addedData[1]["linkField"]], $addedData[1]["displayField"] => @$avalues[$addedData[1]["displayField"]]);
}
$returnJSON['success'] = true;
$returnJSON['keys'] = $jsKeys;
$returnJSON['keyFields'] = $keyFields;
$returnJSON['vals'] = $respData;
$returnJSON['fields'] = $showFields;
}
else
{
$returnJSON['success'] = false;
$returnJSON['message'] = $message;
}
echo printJSON($returnJSON);
exit();
}
if(@$_POST["a"]=="added" && ($inlineadd == ADD_INLINE || $inlineadd == ADD_MASTER || $inlineadd==ADD_POPUP))
{
//Preparation view values
// get current values and show edit controls
$dispFieldAlias = "";
$data=0;
$linkAndDispVals = array();
if(count($keys))
{
$where=KeyWhere($keys);
$forLookup = postvalue('forLookup');
if ($forLookup)
{
$addedData = $pageObject->GetAddedDataLookupQuery( $keys, true, postvalue("table"), postvalue("field") );
$data =& $addedData[0];
$linkAndDispVals = array('linkField' => $addedData[0][$addedData[1]["linkField"]], 'displayField' => $addedData[0][$addedData[1]["displayField"]]);
}
else
{
$strSQL = $gQuery->gSQLWhere_having_fromQuery('', $where, '');
LogInfo($strSQL);
$rs=db_query($strSQL,$conn);
$data = $pageObject->cipherer->DecryptFetchedArray($rs);
}
}
if(!$data)
{
$data=$avalues;
$HaveData=false;
}
//check if correct values added
$keylink="";
$keylink.="&key1=".runner_htmlspecialchars(rawurlencode(@$data["UID"]));
////////////////////////////////////////////
// Title
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Title"] = $pageObject->showDBValue("Title", $data, $keylink);
$showFields[] = "Title";
}
// English name
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["English name"] = $pageObject->showDBValue("English name", $data, $keylink);
$showFields[] = "English name";
}
// Chinese name
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Chinese name"] = $pageObject->showDBValue("Chinese name", $data, $keylink);
$showFields[] = "Chinese name";
}
// Tel
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Tel"] = $pageObject->showDBValue("Tel", $data, $keylink);
$showFields[] = "Tel";
}
// E-mail
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["E-mail"] = $pageObject->showDBValue("E-mail", $data, $keylink);
$showFields[] = "E-mail";
}
// Account Type
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Account Type"] = $pageObject->showDBValue("Account Type", $data, $keylink);
$showFields[] = "Account Type";
}
// ID card no
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["ID card no"] = $pageObject->showDBValue("ID card no", $data, $keylink);
$showFields[] = "ID card no";
}
// sex
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["sex"] = $pageObject->showDBValue("sex", $data, $keylink);
$showFields[] = "sex";
}
// Residential Address
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Residential Address"] = $pageObject->showDBValue("Residential Address", $data, $keylink);
$showFields[] = "Residential Address";
}
// QQ
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["QQ"] = $pageObject->showDBValue("QQ", $data, $keylink);
$showFields[] = "QQ";
}
// WeChat
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["WeChat"] = $pageObject->showDBValue("WeChat", $data, $keylink);
$showFields[] = "WeChat";
}
// Create Date
$display = false;
if($inlineadd==ADD_INLINE || $inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
$display = true;
if($display)
{
$showValues["Create Date"] = $pageObject->showDBValue("Create Date", $data, $keylink);
$showFields[] = "Create Date";
}
$showRawValues["UID"] = substr($data["UID"],0,100);
$showRawValues["Title"] = substr($data["Title"],0,100);
$showRawValues["English name"] = substr($data["English name"],0,100);
$showRawValues["Chinese name"] = substr($data["Chinese name"],0,100);
$showRawValues["Tel"] = substr($data["Tel"],0,100);
$showRawValues["E-mail"] = substr($data["E-mail"],0,100);
$showRawValues["Account Type"] = substr($data["Account Type"],0,100);
$showRawValues["ID card no"] = substr($data["ID card no"],0,100);
$showRawValues["Passport no"] = substr($data["Passport no"],0,100);
$showRawValues["Issue Country"] = substr($data["Issue Country"],0,100);
$showRawValues["Nationality"] = substr($data["Nationality"],0,100);
$showRawValues["Date of Birth"] = substr($data["Date of Birth"],0,100);
$showRawValues["sex"] = substr($data["sex"],0,100);
$showRawValues["Residential Address"] = substr($data["Residential Address"],0,100);
$showRawValues["correspondence address"] = substr($data["correspondence address"],0,100);
$showRawValues["Residential Tel"] = substr($data["Residential Tel"],0,100);
$showRawValues["Date of Birth (day)"] = substr($data["Date of Birth (day)"],0,100);
$showRawValues["Date of Birth (Month)"] = substr($data["Date of Birth (Month)"],0,100);
$showRawValues["Date of Birth (Year)"] = substr($data["Date of Birth (Year)"],0,100);
$showRawValues["Employ status"] = substr($data["Employ status"],0,100);
$showRawValues["Company post"] = substr($data["Company post"],0,100);
$showRawValues["Company name"] = substr($data["Company name"],0,100);
$showRawValues["Business nature"] = substr($data["Business nature"],0,100);
$showRawValues["香港證券現金帳戶"] = substr($data["香港證券現金帳戶"],0,100);
$showRawValues["香港證券保證金帳戶"] = substr($data["香港證券保證金帳戶"],0,100);
$showRawValues["環球證券保證金帳戶"] = substr($data["環球證券保證金帳戶"],0,100);
$showRawValues["貴金屬帳戶"] = substr($data["貴金屬帳戶"],0,100);
$showRawValues["期貨帳戶"] = substr($data["期貨帳戶"],0,100);
$showRawValues["Statement post method"] = substr($data["Statement post method"],0,100);
$showRawValues["主要入帳銀行"] = substr($data["主要入帳銀行"],0,100);
$showRawValues["帳戶號碼"] = substr($data["帳戶號碼"],0,100);
$showRawValues["貨幣"] = substr($data["貨幣"],0,100);
$showRawValues["入帳銀行帳戶持有人"] = substr($data["入帳銀行帳戶持有人"],0,100);
$showRawValues["SWIFT編號"] = substr($data["SWIFT編號"],0,100);
$showRawValues["D8"] = substr($data["D8"],0,100);
$showRawValues["D9"] = substr($data["D9"],0,100);
$showRawValues["D10"] = substr($data["D10"],0,100);
$showRawValues["D11"] = substr($data["D11"],0,100);
$showRawValues["D12"] = substr($data["D12"],0,100);
$showRawValues["D13"] = substr($data["D13"],0,100);
$showRawValues["每年收入"] = substr($data["每年收入"],0,100);
$showRawValues["淨資產值"] = substr($data["淨資產值"],0,100);
$showRawValues["流動產值"] = substr($data["流動產值"],0,100);
$showRawValues["香港上市証券"] = substr($data["香港上市証券"],0,100);
$showRawValues["海外上市證券"] = substr($data["海外上市證券"],0,100);
$showRawValues["香港期貨及期權"] = substr($data["香港期貨及期權"],0,100);
$showRawValues["海外期貨及期權"] = substr($data["海外期貨及期權"],0,100);
$showRawValues["投資目的 (收入)"] = substr($data["投資目的 (收入)"],0,100);
$showRawValues["投資目的 (對沖)"] = substr($data["投資目的 (對沖)"],0,100);
$showRawValues["投資目的 (資本增值)"] = substr($data["投資目的 (資本增值)"],0,100);
$showRawValues["投資目的 (投機)"] = substr($data["投資目的 (投機)"],0,100);
$showRawValues["E9"] = substr($data["E9"],0,100);
$showRawValues["閣下自己、閣下之配偶、父母、及/或子女是否富泰中順的公司帳戶的董事及/或股東?"] = substr($data["閣下自己、閣下之配偶、父母、及/或子女是否富泰中順的公司帳戶的董事及/或股東?"],0,100);
$showRawValues["閣下的配偶、及/或子女是否富泰中順的客戶?"] = substr($data["閣下的配偶、及/或子女是否富泰中順的客戶?"],0,100);
$showRawValues["閣下是否個人或與閣下之配偶共同控制任何富泰中順的公司客戶35%或以上的投票權?"] = substr($data["閣下是否個人或與閣下之配偶共同控制任何富泰中順的公司客戶35%或以上的投票權?"],0,100);
$showRawValues["閣下是否與富泰中順任何顧員有親屬關係?"] = substr($data["閣下是否與富泰中順任何顧員有親屬關係?"],0,100);
$showRawValues["閣下是否香港證監會持牌人或註冊人的顧員?"] = substr($data["閣下是否香港證監會持牌人或註冊人的顧員?"],0,100);
$showRawValues["閣下是否此帳戶之最終受益人?"] = substr($data["閣下是否此帳戶之最終受益人?"],0,100);
$showRawValues["(請註明詳情)"] = substr($data["(請註明詳情)"],0,100);
$showRawValues["(請註明詳情)1"] = substr($data["(請註明詳情)1"],0,100);
$showRawValues["(請註明詳情)2"] = substr($data["(請註明詳情)2"],0,100);
$showRawValues["(請註明詳情) "] = substr($data["(請註明詳情) "],0,100);
$showRawValues["(請註明詳情)3"] = substr($data["(請註明詳情)3"],0,100);
$showRawValues["(請註明詳情)4"] = substr($data["(請註明詳情)4"],0,100);
$showRawValues["閣下於過去三年,曾執行五次或以上有關衍生產品的交易"] = substr($data["閣下於過去三年,曾執行五次或以上有關衍生產品的交易"],0,100);
$showRawValues["閣下現時或過去擁有與衍生產品有關的工作經驗"] = substr($data["閣下現時或過去擁有與衍生產品有關的工作經驗"],0,100);
$showRawValues["職位"] = substr($data["職位"],0,100);
$showRawValues["公司名稱"] = substr($data["公司名稱"],0,100);
$showRawValues["工作年期"] = substr($data["工作年期"],0,100);
$showRawValues["有關工作經驗詳情"] = substr($data["有關工作經驗詳情"],0,100);
$showRawValues["閣下曾接受有關衍生產品的培訓或修讀相關課程"] = substr($data["閣下曾接受有關衍生產品的培訓或修讀相關課程"],0,100);
$showRawValues["詳情"] = substr($data["詳情"],0,100);
$showRawValues["風險披露聲明或就在交易所買賣的衍生產品所附帶的風險作出解釋」。"] = substr($data["風險披露聲明或就在交易所買賣的衍生產品所附帶的風險作出解釋」。"],0,100);
$showRawValues["Title1"] = substr($data["Title1"],0,100);
$showRawValues["English name1"] = substr($data["English name1"],0,100);
$showRawValues["Chinese name1"] = substr($data["Chinese name1"],0,100);
$showRawValues["Tel1"] = substr($data["Tel1"],0,100);
$showRawValues["E-mail1"] = substr($data["E-mail1"],0,100);
$showRawValues["ID card no1"] = substr($data["ID card no1"],0,100);
$showRawValues["Passport no1"] = substr($data["Passport no1"],0,100);
$showRawValues["Issue Country1"] = substr($data["Issue Country1"],0,100);
$showRawValues["Nationality1"] = substr($data["Nationality1"],0,100);
$showRawValues["Date of Birth1"] = substr($data["Date of Birth1"],0,100);
$showRawValues["sex1"] = substr($data["sex1"],0,100);
$showRawValues["Residential Address1"] = substr($data["Residential Address1"],0,100);
$showRawValues["correspondence address1"] = substr($data["correspondence address1"],0,100);
$showRawValues["Residential Tel1"] = substr($data["Residential Tel1"],0,100);
$showRawValues["Date of Birth (day)1"] = substr($data["Date of Birth (day)1"],0,100);
$showRawValues["Date of Birth (Month)1"] = substr($data["Date of Birth (Month)1"],0,100);
$showRawValues["Date of Birth (Year)1"] = substr($data["Date of Birth (Year)1"],0,100);
$showRawValues["Employ status1"] = substr($data["Employ status1"],0,100);
$showRawValues["Company post1"] = substr($data["Company post1"],0,100);
$showRawValues["Company name1"] = substr($data["Company name1"],0,100);
$showRawValues["Business nature1"] = substr($data["Business nature1"],0,100);
$showRawValues["QQ"] = substr($data["QQ"],0,100);
$showRawValues["WeChat"] = substr($data["WeChat"],0,100);
$showRawValues["QQ1"] = substr($data["QQ1"],0,100);
$showRawValues["WeChat1"] = substr($data["WeChat1"],0,100);
$showRawValues["Create Date"] = substr($data["Create Date"],0,100);
// for custom expression for display field
if ($dispFieldAlias)
{
$showValues[] = $data[$dispFieldAlias];
$showFields[] = $dispFieldAlias;
$showRawValues[] = substr($data[$dispFieldAlias],0,100);
}
if($inlineadd==ADD_INLINE || $inlineadd==ADD_POPUP)
{
if($IsSaved && count($showValues))
{
$returnJSON['success'] = true;
if($HaveData){
$returnJSON['noKeys'] = false;
}else{
$returnJSON['noKeys'] = true;
}
$returnJSON['keys'] = $jsKeys;
$returnJSON['keyFields'] = $keyFields;
$returnJSON['vals'] = $showValues;
$returnJSON['fields'] = $showFields;
$returnJSON['rawVals'] = $showRawValues;
$returnJSON['detKeys'] = $showDetailKeys;
$returnJSON['userMess'] = $usermessage;
$returnJSON['hrefs'] = $pageObject->buildDetailGridLinks($showDetailKeys);
// add link and display value if list page is lookup with search
if(array_key_exists('linkField', $linkAndDispVals))
{
$returnJSON['linkValue'] = $linkAndDispVals['linkField'];
$returnJSON['displayValue'] = $linkAndDispVals['displayField'];
}
if($globalEvents->exists("IsRecordEditable", $strTableName))
{
if(!$globalEvents->IsRecordEditable($showRawValues, true, $strTableName))
$returnJSON['nonEditable'] = true;
}
if($inlineadd==ADD_POPUP && isset($_SESSION[$strTableName."_count_captcha"]) || $_SESSION[$strTableName."_count_captcha"]>0 || $_SESSION[$strTableName."_count_captcha"]<5)
$returnJSON['hideCaptcha'] = true;
}
else
{
$returnJSON['success'] = false;
$returnJSON['message'] = $message;
if(!$pageObject->isCaptchaOk)
$returnJSON['captcha'] = false;
}
echo printJSON($returnJSON);
exit();
}
}
/////////////////////////////////////////////////////////////
if($inlineadd==ADD_MASTER)
{
$respJSON = array();
if(($_POST["a"]=="added" && $IsSaved))
{
$respJSON['afterAddId'] = $afterAdd_id;
$respJSON['success'] = true;
$respJSON['fields'] = $showFields;
$respJSON['vals'] = $showValues;
if($onFly){
if($HaveData)
$respJSON['noKeys'] = false;
else
$respJSON['noKeys'] = true;
$respJSON['keys'] = $jsKeys;
$respJSON['keyFields'] = $keyFields;
$respJSON['rawVals'] = $showRawValues;
$respJSON['detKeys'] = $showDetailKeys;
$respJSON['userMess'] = $usermessage;
$respJSON['hrefs'] = $pageObject->buildDetailGridLinks($showDetailKeys);
if($globalEvents->exists("IsRecordEditable", $strTableName))
{
if(!$globalEvents->IsRecordEditable($showRawValues, true, $strTableName))
$respJSON['nonEditable'] = true;
}
}
$respJSON['mKeys'] = array();
for($i=0;$igSQLWhere($where);
LogInfo($strSQL);
$rs = db_query($strSQL,$conn);
$data = $pageObject->cipherer->DecryptFetchedArray($rs);
}
if(!$data)
$data=$avalues;
$mKeyId = 1;
foreach($mKeys[$dpParams['strTableNames'][$i]] as $mk)
{
if($data[$mk])
$respJSON['mKeys'][$dpParams['strTableNames'][$i]]['masterkey'.$mKeyId++] = $data[$mk];
else
$respJSON['mKeys'][$dpParams['strTableNames'][$i]]['masterkey'.$mKeyId++] = '';
}
}
if(isset($_SESSION[$strTableName."_count_captcha"]) || $_SESSION[$strTableName."_count_captcha"]>0 || $_SESSION[$strTableName."_count_captcha"]<5)
$respJSON['hidecaptcha'] = true;
}
else{
$respJSON['success'] = false;
if(!$pageObject->isCaptchaOk)
$respJSON['captcha'] = false;
else
$respJSON['error'] = $message;
if($onFly)
$respJSON['message'] = $message;
}
echo printJSON($respJSON);
exit();
}
/////////////////////////////////////////////////////////////
// prepare Edit Controls
/////////////////////////////////////////////////////////////
// validation stuff
$control = array();
$controlFields = $addFields;
if( $inlineadd == ADD_INLINE ) //#9069
$pageObject->removeHiddenColumnsFromInlineFields( $controlFields, postvalue("screenWidth"), postvalue("screenHeight"), postvalue("orientation") );
foreach($controlFields as $fName)
{
$gfName = GoodFieldName($fName);
$controls = array('controls'=>array());
if(!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category"))
{
$control[$gfName] = array();
$parameters = array();
$parameters["id"] = $id;
$parameters["ptype"] = PAGE_ADD;
$parameters["field"] = $fName;
$parameters["value"] = @$defvalues[$fName];
$parameters["pageObj"] = $pageObject;
if($pageObject->pSet->isUseRTE($fName))
$_SESSION[$strTableName."_".$fName."_rte"] = @$defvalues[$fName];
// Begin Add validation
$arrValidate = $pageObject->pSet->getValidation($fName);
$parameters["validate"] = $arrValidate;
// End Add validation
}
$controls["controls"]['ctrlInd'] = 0;
$controls["controls"]['id'] = $id;
$controls["controls"]['fieldName'] = $fName;
//if richEditor for field
if($pageObject->pSet->isUseRTE($fName))
{
if(!$detailKeys || !in_array($fName, $detailKeys))
$parameters["mode"]="add";
$controls["controls"]['mode'] = "add";
}
else
{
if($inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
{
if(!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category"))
$parameters["mode"]="inline_add";
$controls["controls"]['mode'] = "inline_add";
}
else
{
if(!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category"))
$parameters["mode"]="add";
$controls["controls"]['mode'] = "add";
}
}
if(!$detailKeys || !in_array($fName, $detailKeys))
{
AssignFunction($control[$gfName], "xt_buildeditcontrol", $parameters);
$xt->assignbyref($gfName."_editcontrol",$control[$gfName]);
}
elseif($detailKeys && in_array($fName, $detailKeys))
{
$controls["controls"]['value'] = @$defvalues[$fName];
}
// category control field
$strCategoryControl = $pageObject->getMainLookupFieldNameForDependant($fName);
if($strCategoryControl !== "" && in_array($strCategoryControl, $controlFields))
$vals = array($fName => @$defvalues[$fName], $strCategoryControl => @$defvalues[$strCategoryControl]);
else
$vals = array($fName => @$defvalues[$fName]);
$preload = $pageObject->fillPreload($fName, $vals);
if($preload!==false)
{
$controls["controls"]['preloadData'] = $preload;
if(!@$defvalues[$fName] && count($preload["vals"])>0)
$defvalues[$fName] = $preload["vals"][0];
}
$pageObject->fillControlsMap($controls);
//fill field tool tips
$pageObject->fillFieldToolTips($fName);
// fill special settings for timepicker
if($pageObject->pSet->getEditFormat($fName) == 'Time')
$pageObject->fillTimePickSettings($fName, @$defvalues[$fName]);
if((($detailKeys && in_array($fName, $detailKeys)) || $fName == postvalue("category")) && array_key_exists($fName, $defvalues))
{
$value = $pageObject->showDBValue($fName, $defvalues);
$xt->assign($gfName."_editcontrol", $value);
}
}
//fill tab groups name and sections name to controls
$pageObject->fillCntrlTabGroups();
/////////////////////////////////////////////////////////////
if($pageObject->isShowDetailTables && ($inlineadd==ADD_SIMPLE || $inlineadd==ADD_POPUP) && !isMobile())
{
if(count($dpParams['ids']))
{
$xt->assign("detail_tables",true);
include('classes/listpage.php');
include('classes/listpage_embed.php');
include('classes/listpage_dpinline.php');
include("classes/searchclause.php");
}
$dControlsMap = array();
$dViewControlsMap = array();
$flyId = $ids+1;
for($d=0;$dAddCSSFile($layout->getCSSFiles(isRTL(), isMobile()));
}
$options['xt'] = new Xtempl();
$options['id'] = $dpParams['ids'][$d];
$options['flyId'] = $flyId++;
$mkr = 1;
foreach($mKeys[$strTableName] as $mk)
{
if($defvalues[$mk])
$options['masterKeysReq'][$mkr++] = $defvalues[$mk];
else
$options['masterKeysReq'][$mkr++] = '';
}
$listPageObject = ListPage::createListPage($strTableName,$options);
// prepare code
$listPageObject->prepareForBuildPage();
$flyId = $listPageObject->recId+1;
//set page events
foreach($listPageObject->eventsObject->events as $event => $name)
$listPageObject->xt->assign_event($event, $listPageObject->eventsObject, $event, array());
//add detail settings to master settings
$listPageObject->addControlsJSAndCSS();
$listPageObject->fillSetCntrlMaps();
$pageObject->jsSettings['tableSettings'][$strTableName] = $listPageObject->jsSettings['tableSettings'][$strTableName];
$dControlsMap[$strTableName] = $listPageObject->controlsMap;
$dViewControlsMap[$strTableName] = $listPageObject->viewControlsMap;
foreach($listPageObject->jsSettings["global"]["shortTNames"] as $tName => $shortTName){
$pageObject->settingsMap["globalSettings"]["shortTNames"][$tName] = $shortTName;
}
//Add detail's js files to master's files
$pageObject->copyAllJSFiles($listPageObject->grabAllJSFiles());
//Add detail's css files to master's files
$pageObject->copyAllCSSFiles($listPageObject->grabAllCSSFiles());
$xt->assign("details_".GoodFieldName($listPageObject->tName), true);
$xtParams = array("params" => false);
AssignMethod($xtParams, 'showPage', $listPageObject);
$xt->assign("displayDetailTable_".GoodFieldName($listPageObject->tName), $xtParams);
$pageObject->controlsMap['dpTablesParams'][] = array('tName'=>$strTableName, 'id'=>$options['id'], 'pType'=>PAGE_LIST);
}
$pageObject->controlsMap['dControlsMap'] = $dControlsMap;
$pageObject->viewControlsMap['dViewControlsMap'] = $dViewControlsMap;
$strTableName = "Joint Account";
}
/////////////////////////////////////////////////////////////
//fill jsSettings and ControlsHTMLMap
$pageObject->fillSetCntrlMaps();
$pageObject->addCommonJs();
if($inlineadd == ADD_SIMPLE)
{
$pageObject->body['end'] = array();
AssignMethod($pageObject->body['end'], "assignBodyEnd", $pageObject);
$xt->assign("flybody", true);
$xt->assign("body", $pageObject->body);
$pageObject->assignFormFooterAndHeaderBricks( true );
}
if($inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_MASTER || $inlineadd==ADD_POPUP)
{
$xt->assign("footer",false);
$xt->assign("header",false);
$xt->assign("flybody", $pageObject->body);
$xt->assign("body",true);
}
$xt->assign("style_block",true);
if($eventObj->exists("BeforeShowAdd"))
$eventObj->BeforeShowAdd($xt, $templatefile, $pageObject);
if($inlineadd != ADD_SIMPLE)
{
$returnJSON['controlsMap'] = $pageObject->controlsHTMLMap;
$returnJSON['viewControlsMap'] = $pageObject->viewControlsHTMLMap;
$returnJSON['settings'] = $pageObject->jsSettings;
}
if($inlineadd==ADD_ONTHEFLY || $inlineadd==ADD_POPUP)
{
$pageObject->displayAJAX($templatefile, $id+1);
exit(); // .net compatibility
}
elseif ($inlineadd == ADD_INLINE)
{
$xt->load_template($templatefile);
$returnJSON["html"] = array();
foreach($controlFields as $fName)
{
$returnJSON["html"][$fName] = $xt->fetchVar(GoodFieldName($fName)."_editcontrol");
}
$returnJSON["additionalJS"] = $pageObject->grabAllJsFiles();
$returnJSON["additionalCSS"] = $pageObject->grabAllCSSFiles();
echo printJSON($returnJSON);
exit(); // .net compatibility
}
else
$pageObject->display($templatefile);
?>