From 41e7082833eda09ac0bc4f5aaa6e9f93ba2e1c7f Mon Sep 17 00:00:00 2001 From: "morse%netscape.com" Date: Tue, 16 Jan 2001 22:02:58 +0000 Subject: [PATCH] bug 63493, VCARD_NAME attribute doesn't work, r=matt@netscape.com, sr=hyatt@netscape.com git-svn-id: svn://10.0.0.236/trunk@84970 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/extensions/wallet/src/MANIFEST | 1 + mozilla/extensions/wallet/src/Makefile.in | 1 + mozilla/extensions/wallet/src/VcardSchema.tbl | 77 +++++++++++++++++++ mozilla/extensions/wallet/src/makefile.win | 2 + mozilla/extensions/wallet/src/wallet.cpp | 31 +++++++- mozilla/xpinstall/packager/packages-mac | 1 + mozilla/xpinstall/packager/packages-unix | 1 + mozilla/xpinstall/packager/packages-win | 1 + 8 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 mozilla/extensions/wallet/src/VcardSchema.tbl diff --git a/mozilla/extensions/wallet/src/MANIFEST b/mozilla/extensions/wallet/src/MANIFEST index f24846b36f4..d7b075da1a0 100644 --- a/mozilla/extensions/wallet/src/MANIFEST +++ b/mozilla/extensions/wallet/src/MANIFEST @@ -1,4 +1,5 @@ FieldSchema.tbl +VcardSchema.tbl SchemaConcat.tbl DistinguishedSchema.tbl SchemaStrings.tbl diff --git a/mozilla/extensions/wallet/src/Makefile.in b/mozilla/extensions/wallet/src/Makefile.in index 5994fa95528..5a6a561c277 100644 --- a/mozilla/extensions/wallet/src/Makefile.in +++ b/mozilla/extensions/wallet/src/Makefile.in @@ -42,6 +42,7 @@ CPPSRCS = \ DEFAULTS_FILES = \ $(srcdir)/DistinguishedSchema.tbl \ $(srcdir)/FieldSchema.tbl \ + $(srcdir)/VcardSchema.tbl \ $(srcdir)/SchemaConcat.tbl \ $(srcdir)/SchemaStrings.tbl \ $(srcdir)/PositionalSchema.tbl \ diff --git a/mozilla/extensions/wallet/src/VcardSchema.tbl b/mozilla/extensions/wallet/src/VcardSchema.tbl new file mode 100644 index 00000000000..e073ca6eae5 --- /dev/null +++ b/mozilla/extensions/wallet/src/VcardSchema.tbl @@ -0,0 +1,77 @@ +vCard.FirstName +name.first + +vCard.MiddleName +name.middle + +vCard.LastName +name.last + +vCard.DisplayName +name + +vCard.Home.StreetAddress +home.street.line1 + +vCard.Home.City +home.city + +vCard.Home.State +home.state + +vCard.Home.Zipcode +home.postalcode + +vCard.Home.Country +home.country + +vCard.Home.Phone +home.phone + +vCard.Home.Fax +home.fax + +vCard.Cellular +home.mobile + +vCard.Pager +home.pager + +vCard.Email +home.email + +vCard.Homepage +home.uri + +vCard.Business.StreetAddress +billto.street.line1 + +vCard.Business.Phone +billto.phone + +vCard.Business.Fax +billto.fax + +vCard.Business.City +billto.city + +vCard.Business.State +billto.state + +vCard.Business.Zipcode +billto.postalcode + +vCard.Business.Country +billto.country + +vCard.Business.URL +billto.uri + +vCard.Company +business.companyname + +vCard.Department +business.department + +vCard.JobTitle +business.jobtitle diff --git a/mozilla/extensions/wallet/src/makefile.win b/mozilla/extensions/wallet/src/makefile.win index eaf0f99fa90..bc9b191156a 100644 --- a/mozilla/extensions/wallet/src/makefile.win +++ b/mozilla/extensions/wallet/src/makefile.win @@ -77,6 +77,7 @@ clobber:: rm -f $(DIST)\lib\$(DLLNAME).lib rm -f $(DIST)\bin\defaults\wallet\DistinguishedSchema.tbl rm -f $(DIST)\bin\defaults\wallet\FieldSchema.tbl + rm -f $(DIST)\bin\defaults\wallet\VcardSchema.tbl rm -f $(DIST)\bin\defaults\wallet\SchemaConcat.tbl rm -f $(DIST)\bin\defaults\wallet\SchemaStrings.tbl rm -f $(DIST)\bin\defaults\wallet\PositionalSchema.tbl @@ -86,6 +87,7 @@ install:: $(DLL) $(MAKE_INSTALL) .\$(OBJDIR)\$(DLLNAME).dll $(DIST)\bin\components $(MAKE_INSTALL) DistinguishedSchema.tbl $(DIST)\bin\defaults\wallet $(MAKE_INSTALL) FieldSchema.tbl $(DIST)\bin\defaults\wallet + $(MAKE_INSTALL) VcardSchema.tbl $(DIST)\bin\defaults\wallet $(MAKE_INSTALL) SchemaConcat.tbl $(DIST)\bin\defaults\wallet $(MAKE_INSTALL) SchemaStrings.tbl $(DIST)\bin\defaults\wallet $(MAKE_INSTALL) PositionalSchema.tbl $(DIST)\bin\defaults\wallet diff --git a/mozilla/extensions/wallet/src/wallet.cpp b/mozilla/extensions/wallet/src/wallet.cpp index 2757fede7cf..c53ee28b013 100644 --- a/mozilla/extensions/wallet/src/wallet.cpp +++ b/mozilla/extensions/wallet/src/wallet.cpp @@ -276,6 +276,7 @@ public: wallet_HelpMac * helpMac; PRIVATE nsVoidArray * wallet_FieldToSchema_list=0; +PRIVATE nsVoidArray * wallet_VcardToSchema_list=0; PRIVATE nsVoidArray * wallet_SchemaToValue_list=0; PRIVATE nsVoidArray * wallet_SchemaConcat_list=0; PRIVATE nsVoidArray * wallet_SchemaStrings_list=0; @@ -980,7 +981,8 @@ wallet_WriteToList( wallet_MapElement * mapElement; if (list == wallet_FieldToSchema_list || list == wallet_SchemaStrings_list || list == wallet_PositionalSchema_list || list == wallet_StateSchema_list || - list == wallet_SchemaConcat_list || list == wallet_DistinguishedSchema_list) { + list == wallet_SchemaConcat_list || list == wallet_DistinguishedSchema_list || + list == wallet_VcardToSchema_list) { mapElement = wallet_AllocateMapElement(); } else { mapElement = new wallet_MapElement; @@ -1286,6 +1288,7 @@ char* schemaValueFileName = nsnull; const char URLFileName[] = "URL.tbl"; const char allFileName[] = "wallet.tbl"; const char fieldSchemaFileName[] = "FieldSchema.tbl"; +const char vcardSchemaFileName[] = "VcardSchema.tbl"; const char schemaConcatFileName[] = "SchemaConcat.tbl"; const char schemaStringsFileName[] = "SchemaStrings.tbl"; const char positionalSchemaFileName[] = "PositionalSchema.tbl"; @@ -2420,7 +2423,12 @@ wallet_GetPrefills( nsCOMPtr element = do_QueryInterface(elementNode); if (element) { nsAutoString vcard; vcard.AssignWithConversion("VCARD_NAME"); - result = element->GetAttribute(vcard, schema); + nsAutoString vcardValue; + result = element->GetAttribute(vcard, vcardValue); + if (NS_OK == result) { + nsVoidArray* dummy; + wallet_ReadFromList(vcardValue, schema, dummy, wallet_VcardToSchema_list, PR_FALSE); + } } } @@ -2520,6 +2528,7 @@ if (schema.Length()) { PUBLIC void Wallet_ReleaseAllLists() { wallet_Clear(&wallet_FieldToSchema_list); /* otherwise we will duplicate the list */ + wallet_Clear(&wallet_VcardToSchema_list); /* otherwise we will duplicate the list */ wallet_Clear(&wallet_SchemaConcat_list); /* otherwise we will duplicate the list */ wallet_Clear(&wallet_SchemaStrings_list); /* otherwise we will duplicate the list */ wallet_Clear(&wallet_PositionalSchema_list); /* otherwise we will duplicate the list */ @@ -2561,6 +2570,7 @@ wallet_Initialize(PRBool unlockDatabase=PR_TRUE) { wallet_ReadFromFile(distinguishedSchemaFileName, wallet_DistinguishedSchema_list, PR_FALSE); #endif wallet_ReadFromFile(fieldSchemaFileName, wallet_FieldToSchema_list, PR_FALSE); + wallet_ReadFromFile(vcardSchemaFileName, wallet_VcardToSchema_list, PR_FALSE); wallet_ReadFromFile(schemaConcatFileName, wallet_SchemaConcat_list, PR_FALSE); wallet_ReadFromFile(schemaStringsFileName, wallet_SchemaStrings_list, PR_FALSE, BY_LENGTH); wallet_ReadFromFile(positionalSchemaFileName, wallet_PositionalSchema_list, PR_FALSE); @@ -2605,6 +2615,9 @@ wallet_Initialize(PRBool unlockDatabase=PR_TRUE) { // fprintf(stdout,"Field to Schema table \n"); // wallet_Dump(wallet_FieldToSchema_list); +// fprintf(stdout,"Vcard to Schema table \n"); +// wallet_Dump(wallet_VcardToSchema_list); + // fprintf(stdout,"SchemaConcat table \n"); // wallet_Dump(wallet_SchemaConcat_list); @@ -3539,7 +3552,12 @@ wallet_CaptureInputElement(nsIDOMNode* elementNode, nsIDocument* doc) { nsCOMPtr element = do_QueryInterface(elementNode); if (element) { nsAutoString vcardName; vcardName.AssignWithConversion("VCARD_NAME"); - result = element->GetAttribute(vcardName, schema); + nsAutoString vcardValue; + result = element->GetAttribute(vcardName, vcardValue); + if (NS_OK == result) { + nsVoidArray* dummy; + wallet_ReadFromList(vcardValue, schema, dummy, wallet_VcardToSchema_list, PR_FALSE); + } } #ifdef IgnoreFieldNames @@ -3598,7 +3616,12 @@ wallet_CaptureSelectElement(nsIDOMNode* elementNode, nsIDocument* doc) { nsCOMPtr element = do_QueryInterface(elementNode); if (element) { nsAutoString vcardName; vcardName.AssignWithConversion("VCARD_NAME"); - result = element->GetAttribute(vcardName, schema); + nsAutoString vcardValue; + result = element->GetAttribute(vcardName, vcardValue); + if (NS_OK == result) { + nsVoidArray* dummy; + wallet_ReadFromList(vcardValue, schema, dummy, wallet_VcardToSchema_list, PR_FALSE); + } } #ifdef IgnoreFieldNames diff --git a/mozilla/xpinstall/packager/packages-mac b/mozilla/xpinstall/packager/packages-mac index 8d4c7e43a0b..f3f4bfd7e3d 100644 --- a/mozilla/xpinstall/packager/packages-mac +++ b/mozilla/xpinstall/packager/packages-mac @@ -199,6 +199,7 @@ viewer:res:language.properties viewer:res:entityTables:* viewer:defaults:wallet:SchemaConcat.tbl viewer:defaults:wallet:FieldSchema.tbl +viewer:defaults:wallet:VcardSchema.tbl viewer:defaults:wallet:DistinguishedSchema.tbl viewer:defaults:wallet:SchemaStrings.tbl viewer:defaults:wallet:PositionalSchema.tbl diff --git a/mozilla/xpinstall/packager/packages-unix b/mozilla/xpinstall/packager/packages-unix index a890eadc381..10939b7cfef 100644 --- a/mozilla/xpinstall/packager/packages-unix +++ b/mozilla/xpinstall/packager/packages-unix @@ -215,6 +215,7 @@ bin/defaults/pref/* bin/plugins/libnullplugin.so bin/res/entityTables/* bin/defaults/wallet/FieldSchema.tbl +bin/defaults/wallet/VcardSchema.tbl bin/defaults/wallet/SchemaConcat.tbl bin/defaults/wallet/DistinguishedSchema.tbl bin/defaults/wallet/SchemaStrings.tbl diff --git a/mozilla/xpinstall/packager/packages-win b/mozilla/xpinstall/packager/packages-win index 482edc06105..bb96cc7b778 100644 --- a/mozilla/xpinstall/packager/packages-win +++ b/mozilla/xpinstall/packager/packages-win @@ -214,6 +214,7 @@ bin\res\ua.css bin\res\forms.css bin\res\quirk.css bin\res\arrow.gif +bin\defaults\wallet\VcardSchema.tbl bin\defaults\wallet\FieldSchema.tbl bin\defaults\wallet\SchemaConcat.tbl bin\defaults\wallet\DistinguishedSchema.tbl