Version 2.5.6-1

SVN revision: 1185
This commit is contained in:
Stefan Ritt 2005-01-25 21:06:56 +00:00
parent 2d91668c65
commit 264e396f18
13 changed files with 80 additions and 57 deletions

View File

@ -11,8 +11,8 @@ On PC4534:
- Do a "make indent" - Do a "make indent"
- Do a "make loc" - Do a "make loc"
- Translate new strings in eloglang.german - Translate new strings in eloglang.german
- c:\elog> cvs commit -m "Version x.x.x" - c:\elog> cvs commit -m "Version x.x.x-1"
- build xxx - build xxx-1
On PC5082: On PC5082:

View File

@ -1,3 +1,32 @@
Version 2.5.6, released Januar 25th, 2005
=========================================
- Implemented 'Mirror exclude'
- Switched from GIF to PNG
- Remove any CR/LF from attributes submitted from browser
- Implemented OR'ing of MOptions values in find page
- Display thread in single entry page if present
- Implemented 'show attributes'
- Made extendable attributes work with MOptions
- Added message_id and date to CSV export
- Made extendable attributes work with conditional attributes
- Logbook hierarchy can now be deeper than two levels
- Cancel button on 'create new logbook' now also works without password files
- Fixed non-functioning Cancel button in 'create new logbook'
- Changed date format to RFC-822 in RSS feed
- Fixed endless loop with handcrafted POST header
- Changed locale to 'C' for email header date
- Use hostname from -n parameter for redirection if given
- Fixed attribute substitutions in 'use email from'
- Fixed problem with invalid RFC2822 date in email header for different locale
- Implemented 'sort attribute'
- Look for parameters first under conditions, then unconditional if not found
- Fixed bug in XML export
- Implemented USERLIST as attribute type
- Increased NAME_LENGTH to 1500, requires a stack size of 4MB
- Changed charset for RSS feeds
- Fixed wrong link if last entry in logbook has been moved
Version 2.5.5, released November 3rd, 2004 Version 2.5.5, released November 3rd, 2004
========================================== ==========================================

View File

@ -25,7 +25,7 @@
&nbsp;[<a class="nav" href="#links">Links</a>]&nbsp; *&nbsp;</div> &nbsp;[<a class="nav" href="#links">Links</a>]&nbsp; *&nbsp;</div>
<P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch"> <P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
Stefan Ritt</a></P> Stefan Ritt</a></P>
<div class="version">Current version is : 2.5.5</div> <div class="version">Current version is : 2.5.6</div>
<hr> <hr>
<a name="whatis"> <a name="whatis">
<div class="section">&nbsp; What is ELOG ? &nbsp;</div> <div class="section">&nbsp; What is ELOG ? &nbsp;</div>

View File

@ -339,7 +339,6 @@ Hide all =
Show all = Show all =
This logbook requires authentication = This logbook requires authentication =
Attachment file <b>"%s"</b> empty or not found = Attachment file <b>"%s"</b> empty or not found =
Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions = Text fields may contain regular expressions =
Case sensitive = Case sensitive =
List = List =

View File

@ -340,8 +340,6 @@ Previous Year =
Next Year = Ñëåäâàùà ãîäèíà Next Year = Ñëåäâàùà ãîäèíà
Error: Command "<b>%s</b>" not allowed = Ãðåøêà: Êîìàíäàòà "<b>%s</b>" íå å ïîçâîëåíà Error: Command "<b>%s</b>" not allowed = Ãðåøêà: Êîìàíäàòà "<b>%s</b>" íå å ïîçâîëåíà
Attachment file <b>"%s"</b> empty or not found = Ïðèêà÷åíèÿò ôàéë <b>"%s"</b> å ïðàçåí èëè íå å íàìåðåí Attachment file <b>"%s"</b> empty or not found = Ïðèêà÷åíèÿò ôàéë <b>"%s"</b> å ïðàçåí èëè íå å íàìåðåí
Please increase <b>"Max content length"</b> in config file = Ìîëÿ, óâåëè÷åòå <b>"Max content length"</b> âúâ ôàéëà ñ íàñòðîéêè
# #
#---- please translate following items and then remove this comment ----# #---- please translate following items and then remove this comment ----#
# #

View File

@ -339,7 +339,6 @@ Hide all =
Show all = Show all =
This logbook requires authentication = This logbook requires authentication =
Attachment file <b>"%s"</b> empty or not found = Attachment file <b>"%s"</b> empty or not found =
Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions = Text fields may contain regular expressions =
Case sensitive = Case sensitive =
List = List =

View File

@ -337,7 +337,6 @@ Hide all = Alles Verbergen
Show all = Alles laten zien Show all = Alles laten zien
This logbook requires authentication = Dit logboek vereist authenticatie This logbook requires authentication = Dit logboek vereist authenticatie
Attachment file <b>"%s"</b> empty or not found = Bijlage bestand <b>"%s"</b> leeg of niet gevonden Attachment file <b>"%s"</b> empty or not found = Bijlage bestand <b>"%s"</b> leeg of niet gevonden
Please increase <b>"Max content length"</b> in config file = Verhoog astublieft de <b>"Max content length" (maximale lengte van inhoud)</b> in het configuratie bestand
Text fields may contain regular expressions = Tekstvelden kunnen reguliere uitdrukkingen bevatten Text fields may contain regular expressions = Tekstvelden kunnen reguliere uitdrukkingen bevatten
Case sensitive = Hoofdlettergevoelig Case sensitive = Hoofdlettergevoelig
From = Van From = Van

View File

@ -334,7 +334,6 @@ Hide all = Cacher tout
Show all = Montrer tout Show all = Montrer tout
This logbook requires authentication = Ce registre nécessite une authentification This logbook requires authentication = Ce registre nécessite une authentification
Attachment file <b>"%s"</b> empty or not found = Fichier joint <b>"%s"</b> vide ou non trouvé Attachment file <b>"%s"</b> empty or not found = Fichier joint <b>"%s"</b> vide ou non trouvé
Please increase <b>"Max content length"</b> in config file = Veuiller augmenter <b>"Max content length"</b> dans le fichier de configuration
Text fields may contain regular expressions = Les champs "texte" peuvent contenir des expressions régulières Text fields may contain regular expressions = Les champs "texte" peuvent contenir des expressions régulières
Case sensitive = Tient compte de la casse Case sensitive = Tient compte de la casse
List = Liste List = Liste

View File

@ -334,7 +334,6 @@ Hide all = Alle verstecken
Show all = Alle anzeigen Show all = Alle anzeigen
This logbook requires authentication = Dieses Logbuch erfordert Authentifizierung This logbook requires authentication = Dieses Logbuch erfordert Authentifizierung
Attachment file <b>"%s"</b> empty or not found = Datei <b>"%s"</b> ist leer oder nicht vorhanden Attachment file <b>"%s"</b> empty or not found = Datei <b>"%s"</b> ist leer oder nicht vorhanden
Please increase <b>"Max content length"</b> in config file = Bitte <b>"Max content length"</b> in Konfigurationsdatei erhöhen
Text fields may contain regular expressions = Texteingabefelder können Reguläre Ausdrücke enthalten Text fields may contain regular expressions = Texteingabefelder können Reguläre Ausdrücke enthalten
Case sensitive = Großschrteibung beachten Case sensitive = Großschrteibung beachten
List = Liste List = Liste

View File

@ -338,7 +338,6 @@ Hide all =
Show all = Show all =
This logbook requires authentication = This logbook requires authentication =
Attachment file <b>"%s"</b> empty or not found = Attachment file <b>"%s"</b> empty or not found =
Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions = Text fields may contain regular expressions =
Case sensitive = Case sensitive =
List = List =

View File

@ -337,7 +337,6 @@ Hide all =
Show all = Show all =
This logbook requires authentication = This logbook requires authentication =
Attachment file <b>"%s"</b> empty or not found = Attachment file <b>"%s"</b> empty or not found =
Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions = Text fields may contain regular expressions =
Case sensitive = Case sensitive =
List = List =

View File

@ -331,8 +331,6 @@ Hide all = Esconder todo
Show all = Mostrar todo Show all = Mostrar todo
This logbook requires authentication = Este libro de anotaciones requiere autenticación This logbook requires authentication = Este libro de anotaciones requiere autenticación
Attachment file <b>"%s"</b> empty or not found = Archivo adjunto <b>"%s"</b> está vacio o no se encontró Attachment file <b>"%s"</b> empty or not found = Archivo adjunto <b>"%s"</b> está vacio o no se encontró
Please increase <b>"Max content length"</b> in config file = Por favor aumente <b>"Max content length"</b> en el archivo de configuración
# #
#---- please translate following items and then remove this comment ----# #---- please translate following items and then remove this comment ----#
# #

View File

@ -6,6 +6,9 @@
Contents: Web server program for Electronic Logbook ELOG Contents: Web server program for Electronic Logbook ELOG
$Log$ $Log$
Revision 1.546 2005/01/25 21:06:56 ritt
Version 2.5.6-1
Revision 1.545 2005/01/25 20:49:18 ritt Revision 1.545 2005/01/25 20:49:18 ritt
Implemented 'Mirror exclude' Implemented 'Mirror exclude'
@ -746,7 +749,7 @@
\********************************************************************/ \********************************************************************/
/* Version of ELOG */ /* Version of ELOG */
#define VERSION "2.5.5-4" #define VERSION "2.5.6-1"
char cvs_revision[] = "$Id$"; char cvs_revision[] = "$Id$";
/* ELOG identification */ /* ELOG identification */
@ -3454,7 +3457,7 @@ void check_config()
void retrieve_email_from(LOGBOOK * lbs, char *ret, char attrib[MAX_N_ATTR][NAME_LENGTH]) void retrieve_email_from(LOGBOOK * lbs, char *ret, char attrib[MAX_N_ATTR][NAME_LENGTH])
{ {
char str[256]; char str[256];
char slist[MAX_N_ATTR+10][NAME_LENGTH], svalue[MAX_N_ATTR+10][NAME_LENGTH]; char slist[MAX_N_ATTR + 10][NAME_LENGTH], svalue[MAX_N_ATTR + 10][NAME_LENGTH];
int i; int i;
if (!getcfg(lbs->name, "Use Email from", str, sizeof(str))) { if (!getcfg(lbs->name, "Use Email from", str, sizeof(str))) {
@ -6376,9 +6379,9 @@ LBLIST get_logbook_hierarchy(void)
for (j = 0; j < root->n_members; j++) { for (j = 0; j < root->n_members; j++) {
if (i != j && root->member[j] != NULL && if (i != j && root->member[j] != NULL &&
(pgrp = get_subgroup(root->member[j], root->member[i]->name)) != NULL) { (pgrp = get_subgroup(root->member[j], root->member[i]->name)) != NULL) {
/* node is allocated twice, so free one...*/ /* node is allocated twice, so free one... */
xfree(*pgrp); xfree(*pgrp);
/* ... and reference the other */ /* ... and reference the other */
@ -6808,7 +6811,7 @@ void set_login_cookies(LOGBOOK * lbs, char *user, char *enc_pwd)
if (getcfg(lbs->name, "Login expiration", str, sizeof(str)) || atof(str) > 0) if (getcfg(lbs->name, "Login expiration", str, sizeof(str)) || atof(str) > 0)
strcpy(exp, str); strcpy(exp, str);
else if (isparam("remember")) { else if (isparam("remember")) {
strcpy(exp, "744"); /* one month by default = 31*24 */ strcpy(exp, "744"); /* one month by default = 31*24 */
} else } else
exp[0] = 0; exp[0] = 0;
@ -7986,8 +7989,8 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
/* generate list of attributes to show */ /* generate list of attributes to show */
if (getcfg(lbs->name, "Show attributes", str, sizeof(str))) { if (getcfg(lbs->name, "Show attributes", str, sizeof(str))) {
n_disp_attr = strbreak(str, list, MAX_N_ATTR, ","); n_disp_attr = strbreak(str, list, MAX_N_ATTR, ",");
for (i=0 ; i<n_disp_attr ; i++) { for (i = 0; i < n_disp_attr; i++) {
for (j=0 ; j<n_attr ; j++) for (j = 0; j < n_attr; j++)
if (strieq(attr_list[j], list[i])) if (strieq(attr_list[j], list[i]))
break; break;
if (!strieq(attr_list[j], list[i])) if (!strieq(attr_list[j], list[i]))
@ -7996,7 +7999,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
attr_index[i] = j; attr_index[i] = j;
} }
} else { } else {
for (i=0 ; i<n_attr ; i++) for (i = 0; i < n_attr; i++)
attr_index[i] = i; attr_index[i] = i;
n_disp_attr = n_attr; n_disp_attr = n_attr;
} }
@ -8188,7 +8191,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
/* display emtpy option */ /* display emtpy option */
rsprintf("<option value=\"\">- %s -\n", loc("please select")); rsprintf("<option value=\"\">- %s -\n", loc("please select"));
for (i = 0; ; i++) { for (i = 0;; i++) {
if (!enum_user_line(lbs, i, login_name)) if (!enum_user_line(lbs, i, login_name))
break; break;
get_user_line(lbs->name, login_name, NULL, str, NULL, NULL); get_user_line(lbs->name, login_name, NULL, str, NULL, NULL);
@ -8239,12 +8242,12 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
if (attr_flags[index] & AF_MULTI) if (attr_flags[index] & AF_MULTI)
rsprintf rsprintf
("<input type=\"text\" size=20 maxlength=%d name=\"%s_0\" value=\"%s\" onChange=\"mod();\">\n", ("<input type=\"text\" size=20 maxlength=%d name=\"%s_0\" value=\"%s\" onChange=\"mod();\">\n",
input_maxlen, ua, attrib[index]); input_maxlen, ua, attrib[index]);
else else
rsprintf rsprintf
("<input type=\"text\" size=20 maxlength=%d name=\"%s\" value=\"%s\" onChange=\"mod();\">\n", ("<input type=\"text\" size=20 maxlength=%d name=\"%s\" value=\"%s\" onChange=\"mod();\">\n",
input_maxlen, ua, attrib[index]); input_maxlen, ua, attrib[index]);
rsprintf("</td>\n"); rsprintf("</td>\n");
@ -13706,8 +13709,7 @@ void display_line(LOGBOOK * lbs, int message_id, int number, char *mode,
void display_reply(LOGBOOK * lbs, int message_id, int printable, void display_reply(LOGBOOK * lbs, int message_id, int printable,
int expand, int n_line, int n_attr_disp, int expand, int n_line, int n_attr_disp,
char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH], char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH], BOOL show_text, int level, int highlight)
BOOL show_text, int level, int highlight)
{ {
char *date, *text, *in_reply_to, *reply_to, *encoding, *locked_by, *attachment, *attrib, *p; char *date, *text, *in_reply_to, *reply_to, *encoding, *locked_by, *attachment, *attrib, *p;
int status, size; int status, size;
@ -14688,7 +14690,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
sort_attr[MAX_N_ATTR + 4][NAME_LENGTH]; sort_attr[MAX_N_ATTR + 4][NAME_LENGTH];
char *p, *pt, *pt1, *pt2, *slist, *svalue, *gattr, line[1024], iattr[256]; char *p, *pt, *pt1, *pt2, *slist, *svalue, *gattr, line[1024], iattr[256];
BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter, BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter,
show_text, searched, found; show_text, searched, found;
time_t ltime, ltime_start, ltime_end, now, ltime1, ltime2; time_t ltime, ltime_start, ltime_end, now, ltime1, ltime2;
struct tm tms, *ptms; struct tm tms, *ptms;
MSG_LIST *msg_list; MSG_LIST *msg_list;
@ -15223,8 +15225,9 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
continue; continue;
} }
} }
} /* if (filtering) */ }
/* if (filtering) */
/* in threaded mode, find message head */ /* in threaded mode, find message head */
if (threaded && in_reply_to_id) { if (threaded && in_reply_to_id) {
do { do {
@ -16068,8 +16071,8 @@ void show_elog_thread(LOGBOOK * lbs, int message_id)
{ {
int i, size, status, in_reply_to_id, head_id, n_display, n_attr_disp; int i, size, status, in_reply_to_id, head_id, n_display, n_attr_disp;
char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], *text, in_reply_to[80], char date[80], attrib[MAX_N_ATTR][NAME_LENGTH], *text, in_reply_to[80],
reply_to[MAX_REPLY_TO * 10], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH], reply_to[MAX_REPLY_TO * 10], attachment[MAX_ATTACHMENTS][MAX_PATH_LENGTH],
encoding[80], locked_by[256], disp_attr[MAX_N_ATTR + 4][NAME_LENGTH]; encoding[80], locked_by[256], disp_attr[MAX_N_ATTR + 4][NAME_LENGTH];
char *p; char *p;
text = xmalloc(TEXT_SIZE); text = xmalloc(TEXT_SIZE);
@ -16077,8 +16080,8 @@ void show_elog_thread(LOGBOOK * lbs, int message_id)
/* retrieve message */ /* retrieve message */
size = TEXT_SIZE; size = TEXT_SIZE;
status = status =
el_retrieve(lbs, message_id, date, attr_list, attrib, el_retrieve(lbs, message_id, date, attr_list, attrib,
lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by);
in_reply_to_id = atoi(in_reply_to); in_reply_to_id = atoi(in_reply_to);
@ -16109,8 +16112,8 @@ void show_elog_thread(LOGBOOK * lbs, int message_id)
size = TEXT_SIZE; size = TEXT_SIZE;
status = status =
el_retrieve(lbs, head_id, date, attr_list, attrib, el_retrieve(lbs, head_id, date, attr_list, attrib,
lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by); lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by);
rsprintf("<tr><td><table width=100%% border=0 cellpadding=0 cellspacing=0>\n"); rsprintf("<tr><td><table width=100%% border=0 cellpadding=0 cellspacing=0>\n");
@ -20120,7 +20123,7 @@ void decode_post(LOGBOOK * lbs, char *string, char *boundary, int length)
while (*string == '-' || *string == '\n' || *string == '\r') while (*string == '-' || *string == '\n' || *string == '\r')
string++; string++;
} else } else
return; /* invalid request */ return; /* invalid request */
} while ((int) (string - pinit) < length); } while ((int) (string - pinit) < length);
interprete(lbs->name, ""); interprete(lbs->name, "");
@ -20636,7 +20639,9 @@ void server_loop(void)
("Error: Content length (%d) larger than maximum content length (%d)"), ("Error: Content length (%d) larger than maximum content length (%d)"),
content_length, _max_content_length); content_length, _max_content_length);
strcat(str, "<br>"); strcat(str, "<br>");
strcat(str, loc("Please increase <b>\"Max content length\"</b> in [global] part of config file and restart elogd")); strcat(str,
loc
("Please increase <b>\"Max content length\"</b> in [global] part of config file and restart elogd"));
keep_alive = FALSE; keep_alive = FALSE;
show_error(str); show_error(str);
goto redir; goto redir;