ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
authorArt Cancro <ajc@citadel.org>
Mon, 6 Jul 2020 02:13:46 +0000 (22:13 -0400)
committerArt Cancro <ajc@citadel.org>
Mon, 6 Jul 2020 02:13:46 +0000 (22:13 -0400)
webcit/static/t/aide/edituser/box_select.html
webcit/static/t/menu/your_info.html
webcit/static/t/vcard/edit.html
webcit/useredit.c
webcit/vcard_edit.c
webcit/webcit.h

index 1016faadef6d1daebd7955983143c6df3d331a70..d77a8ad67ce807ad9121165990cbe1d10ed476d2 100644 (file)
@@ -4,6 +4,7 @@
 <center>
   <form method="POST" action="display_edituser">
    <input type="hidden" name="nonce" value="<?NONCE>">
+   <input type="hidden" name="suppress_email" value="1">
    <select name="username" size=10 style="width:100%">
 <?ITERATE("USERLIST", ="aide_edituser_section")>
 </select><br />
index b8ecf5527905c0621609861c4be54932ba918366..5c0cc18350d2660b9b60e02f25dc330a64515e38 100644 (file)
@@ -1,6 +1,6 @@
 <ul class="adminitems">
 <li><a href="do_template?template=preferences"><?_("Change your preferences and settings")></a></li>
-<li><a href="display_reg"><?_("Update your contact information")></a></li>
+<li><a href="display_reg?suppress_email=1"><?_("Update your contact information")></a></li>
 <li><a href="do_template?template=menu_change_pw"><?_("Change your password")></a></li>
 <li><a href="do_template?template=user_edit_bio"><?_("Enter your 'bio'")></a></li>
 <li><a href="display_editpic"><?_("Edit your online photo")></a></li>
index ebf0c3f4f091ee2faaf889928cb5d94d53f6b4da..7990ce18efeeb684ce56585264bece63982a8a84 100644 (file)
@@ -50,6 +50,7 @@
   <td><?_("Fax number:")></td>       <td><input type="text" name='VC:<?DEF:VAL(#"VC:.tel;fax")>' value='<?VC:ITEM(#"VC:.tel;fax", "X")>' maxlength="29"></td>
 </tr></table>
 
+<??("COND:VC:SUPPRESS_EMAIL_FIELDS", 1)>
 <table class="vcard_edit_background_alt">
 <tr>
   <td>
@@ -63,6 +64,7 @@
     </tr>
     </table>
 </td></tr></table>
+<??("X", 1)>
 
 <input type="hidden" name='VC:<?DEF:VAL(#"VC:.version")>' value='<?VC:ITEM(#"VC:.version", "X")>'>
 <input type="hidden" name='VC:<?DEF:VAL(#"VC:.rev")>' value='<?VC:ITEM(#"VC:.rev", "X")>'>
index a6b4d4b44df152eb836e8acc4d06ee6a04e4cb2a..e1fb110ff4e2b3ca774c71339e01cf73a85da005 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996-2017 by the citadel.org team
+ * Copyright (c) 1996-2020 by the citadel.org team
  *
  * This program is open source software.  You can redistribute it and/or
  * modify it under the terms of the GNU General Public License, version 3.
@@ -382,18 +382,22 @@ void tmplput_USERLIST_UID(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendPrintf(Target, "%d", ul->UID, 0);
 }
 
+
 void tmplput_USERLIST_LastLogonNo(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
 
        StrBufAppendPrintf(Target,"%ld", ul->LastLogonT, 0);
 }
+
+
 void tmplput_USERLIST_LastLogonStr(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
        StrEscAppend(Target, NULL, asctime(localtime(&ul->LastLogonT)), 0, 0);
 }
 
+
 void tmplput_USERLIST_nLogons(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -401,6 +405,7 @@ void tmplput_USERLIST_nLogons(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendPrintf(Target, "%d", ul->nLogons, 0);
 }
 
+
 void tmplput_USERLIST_nPosts(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -408,6 +413,7 @@ void tmplput_USERLIST_nPosts(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendPrintf(Target, "%d", ul->nPosts, 0);
 }
 
+
 void tmplput_USERLIST_Flags(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -415,6 +421,7 @@ void tmplput_USERLIST_Flags(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendPrintf(Target, "%d", ul->Flags, 0);
 }
 
+
 void tmplput_USERLIST_DaysTillPurge(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -422,6 +429,7 @@ void tmplput_USERLIST_DaysTillPurge(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendPrintf(Target, "%d", ul->DaysTillPurge, 0);
 }
 
+
 int ConditionalUser(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -435,12 +443,14 @@ int ConditionalUser(StrBuf *Target, WCTemplputParams *TP)
                return 0;
 }
 
+
 int ConditionalFlagINetEmail(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
        return (ul->Flags & US_INTERNET) != 0;
 }
 
+
 int ConditionalUserAccess(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -455,6 +465,8 @@ int ConditionalUserAccess(StrBuf *Target, WCTemplputParams *TP)
                ==
                ul->AccessLevel;
 }
+
+
 int ConditionalHaveBIO(StrBuf *Target, WCTemplputParams *TP)
 {
        UserListEntry *ul = (UserListEntry*) CTX(CTX_USERLIST);
@@ -464,6 +476,13 @@ int ConditionalHaveBIO(StrBuf *Target, WCTemplputParams *TP)
        return ul->HasBio;
 }
 
+
+int ConditionalSuppressEmailFields(StrBuf *Target, WCTemplputParams *TP)
+{
+       return 0;               // FIXME this makes all email fields display
+}
+
+
 void tmplput_USER_BIO(StrBuf *Target, WCTemplputParams *TP)
 {
        int Done = 0;
@@ -643,7 +662,7 @@ void display_edit_address_book_entry(const char *username, long usernum) {
 }
 
 /*
- *  burge a user 
+ *  purge a user 
  *  username the name of the user to remove
  */
 void delete_user(char *username) {
@@ -816,10 +835,9 @@ void edituser(void) {
 }
 
 
-
 /*
- *  create a new user
- * take the web environment username and create it on the citadel server
+ * create a new user
+ * (take the web environment username and create it on the citadel server)
  */
 void create_user(void) {
        long FullState;
@@ -881,6 +899,7 @@ void _display_edituser(void) {
        display_edituser(NULL, 0);
 }
 
+
 void 
 InitModule_USEREDIT
 (void)
@@ -908,16 +927,13 @@ InitModule_USEREDIT
 
        RegisterNamespace("USER:BIO", 1, 2, tmplput_USER_BIO,  NULL, CTX_NONE);
 
-       RegisterConditional("COND:USERNAME",  0,    ConditionalUser, CTX_USERLIST);
-       RegisterConditional("COND:USERACCESS", 0,   ConditionalUserAccess, CTX_USERLIST);
-       RegisterConditional("COND:USERLIST:FLAG:USE_INTERNET", 0, ConditionalFlagINetEmail, CTX_USERLIST);
-       RegisterConditional("COND:USERLIST:HAVEBIO", 0, ConditionalHaveBIO, CTX_USERLIST);
-
-       RegisterConditional("COND:USER:PIC", 1, Conditional_USER_HAS_PIC,  CTX_NONE);
+       RegisterConditional("COND:USERNAME",                    0,      ConditionalUser,                CTX_USERLIST);
+       RegisterConditional("COND:USERACCESS",                  0,      ConditionalUserAccess,          CTX_USERLIST);
+       RegisterConditional("COND:USERLIST:FLAG:USE_INTERNET",  0,      ConditionalFlagINetEmail,       CTX_USERLIST);
+       RegisterConditional("COND:USERLIST:HAVEBIO",            0,      ConditionalHaveBIO,             CTX_USERLIST);
+       RegisterConditional("COND:USER:PIC",                    1,      Conditional_USER_HAS_PIC,       CTX_NONE);
 
        RegisterIterator("USERLIST", 0, NULL, iterate_load_userlist, NULL, DeleteHash, CTX_USERLIST, CTX_NONE, IT_FLAG_DETECT_GROUPCHANGE);
-       
-
 
        RegisterSortFunc(HKEY("user:name"),
                         HKEY("userlist"),
index 81efa290fe6c8f8d3c2d7d16d0d493cca4990b70..9327ec291e6f7795169c3c8bbe42392f888db640 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996-2017 by the citadel.org team
+ * Copyright (c) 1996-2020 by the citadel.org team
  *
  * This program is open source software.  You can redistribute it and/or
  * modify it under the terms of the GNU General Public License, version 3.
@@ -389,6 +389,16 @@ int conditional_VC_Havetype(StrBuf *Target, WCTemplputParams *TP)
        return rc;
 }
 
+
+/* Returns 1 to suppress the "email" fields in the vCard editor, if we're editing a user's contact info.
+ * Returns 0 to present those fields, if we're editing a vCard in an address book.
+ */
+int conditional_VC_SuppressEmailFields(StrBuf *Target, WCTemplputParams *TP)
+{      
+       return(atoi(bstr("suppress_email")));
+}
+
+
 /******************************************************************************
  *              parse one VCard                                               *
  ******************************************************************************/
@@ -1180,7 +1190,9 @@ InitModule_VCARD
        REGISTERTokenParamDefine(TerminateList);
        REGISTERTokenParamDefine(Address);
 
-       RegisterConditional("VC:HAVE:TYPE",      1, conditional_VC_Havetype, CTX_VCARD);
+       RegisterConditional("VC:HAVE:TYPE",                     1,      conditional_VC_Havetype, CTX_VCARD);
+       RegisterConditional("COND:VC:SUPPRESS_EMAIL_FIELDS",    1,      conditional_VC_SuppressEmailFields, CTX_VCARD);
+
        RegisterFilteredIterator("VC:TYPE", 1, DefineToToken, NULL, NULL, NULL, filter_VC_ByType, CTX_VCARD_TYPE, CTX_VCARD, IT_NOFLAG);
        RegisterFilteredIterator("VC:TYPE:ITEMS", 0, NULL, getContextVcard, NULL, NULL, filter_VC_ByContextType, CTX_STRBUF, CTX_VCARD_TYPE, IT_NOFLAG);
 
index 73f352386b219bca136b1f869170365f571da71c..7059b12140def9e2289a9f75a90588f41cff01bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1987-2019 by the citadel.org team
+ * Copyright (c) 1987-2020 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License version 3.
@@ -127,7 +127,7 @@ extern char *ssl_cipher_list;
 #define PORT_NUM               2000            /* port number to listen on */
 #define DEVELOPER_ID           0
 #define CLIENT_ID              4
-#define CLIENT_VERSION         925             /* This version of WebCit */
+#define CLIENT_VERSION         926             /* This version of WebCit */
 #define MINIMUM_CIT_VERSION    924             /* Minimum required version of Citadel server */
 #define        LIBCITADEL_MIN          924             /* Minimum required version of libcitadel */
 #define DEFAULT_HOST           "localhost"     /* Default Citadel server */