From: Art Cancro Date: Mon, 6 Jul 2020 02:13:46 +0000 (-0400) Subject: ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel X-Git-Tag: v939~248 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=425c3723bd35cf6e2048027e36c721a78784b8c7;hp=5ac2920028e92a453c686c799327d7a66b3e7b49 ZZMerge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel --- diff --git a/webcit/static/t/aide/edituser/box_select.html b/webcit/static/t/aide/edituser/box_select.html index 1016faade..d77a8ad67 100644 --- a/webcit/static/t/aide/edituser/box_select.html +++ b/webcit/static/t/aide/edituser/box_select.html @@ -4,6 +4,7 @@
+
diff --git a/webcit/static/t/menu/your_info.html b/webcit/static/t/menu/your_info.html index b8ecf5527..5c0cc1835 100644 --- a/webcit/static/t/menu/your_info.html +++ b/webcit/static/t/menu/your_info.html @@ -1,6 +1,6 @@
  • -
  • +
  • diff --git a/webcit/static/t/vcard/edit.html b/webcit/static/t/vcard/edit.html index ebf0c3f4f..7990ce18e 100644 --- a/webcit/static/t/vcard/edit.html +++ b/webcit/static/t/vcard/edit.html @@ -50,6 +50,7 @@ +
    @@ -63,6 +64,7 @@
    + diff --git a/webcit/useredit.c b/webcit/useredit.c index a6b4d4b44..e1fb110ff 100644 --- a/webcit/useredit.c +++ b/webcit/useredit.c @@ -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"), diff --git a/webcit/vcard_edit.c b/webcit/vcard_edit.c index 81efa290f..9327ec291 100644 --- a/webcit/vcard_edit.c +++ b/webcit/vcard_edit.c @@ -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); diff --git a/webcit/webcit.h b/webcit/webcit.h index 73f352386..7059b1214 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -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 */