Version 2.5.6-1
SVN revision: 1185
This commit is contained in:
+2
-2
@@ -11,8 +11,8 @@ On PC4534:
|
||||
- Do a "make indent"
|
||||
- Do a "make loc"
|
||||
- Translate new strings in eloglang.german
|
||||
- c:\elog> cvs commit -m "Version x.x.x"
|
||||
- build xxx
|
||||
- c:\elog> cvs commit -m "Version x.x.x-1"
|
||||
- build xxx-1
|
||||
|
||||
On PC5082:
|
||||
|
||||
|
||||
@@ -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
|
||||
==========================================
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
[<a class="nav" href="#links">Links</a>] * </div>
|
||||
<P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
|
||||
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>
|
||||
<a name="whatis">
|
||||
<div class="section"> What is ELOG ? </div>
|
||||
|
||||
@@ -339,7 +339,6 @@ Hide all =
|
||||
Show all =
|
||||
This logbook requires authentication =
|
||||
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 =
|
||||
Case sensitive =
|
||||
List =
|
||||
|
||||
@@ -340,8 +340,6 @@ Previous Year =
|
||||
Next Year = Ñëåäâàùà ãîäèíà
|
||||
Error: Command "<b>%s</b>" not allowed = Ãðåøêà: Êîìàíäàòà "<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 ----#
|
||||
#
|
||||
|
||||
@@ -339,7 +339,6 @@ Hide all =
|
||||
Show all =
|
||||
This logbook requires authentication =
|
||||
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 =
|
||||
Case sensitive =
|
||||
List =
|
||||
|
||||
@@ -337,7 +337,6 @@ Hide all = Alles Verbergen
|
||||
Show all = Alles laten zien
|
||||
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
|
||||
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
|
||||
Case sensitive = Hoofdlettergevoelig
|
||||
From = Van
|
||||
|
||||
@@ -334,7 +334,6 @@ Hide all = Cacher tout
|
||||
Show all = Montrer tout
|
||||
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é
|
||||
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
|
||||
Case sensitive = Tient compte de la casse
|
||||
List = Liste
|
||||
|
||||
@@ -334,7 +334,6 @@ Hide all = Alle verstecken
|
||||
Show all = Alle anzeigen
|
||||
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
|
||||
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
|
||||
Case sensitive = Großschrteibung beachten
|
||||
List = Liste
|
||||
|
||||
@@ -338,7 +338,6 @@ Hide all =
|
||||
Show all =
|
||||
This logbook requires authentication =
|
||||
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 =
|
||||
Case sensitive =
|
||||
List =
|
||||
|
||||
@@ -337,7 +337,6 @@ Hide all =
|
||||
Show all =
|
||||
This logbook requires authentication =
|
||||
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 =
|
||||
Case sensitive =
|
||||
List =
|
||||
|
||||
@@ -331,8 +331,6 @@ Hide all = Esconder todo
|
||||
Show all = Mostrar todo
|
||||
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ó
|
||||
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 ----#
|
||||
#
|
||||
|
||||
+48
-43
@@ -6,6 +6,9 @@
|
||||
Contents: Web server program for Electronic Logbook ELOG
|
||||
|
||||
$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
|
||||
Implemented 'Mirror exclude'
|
||||
|
||||
@@ -746,7 +749,7 @@
|
||||
\********************************************************************/
|
||||
|
||||
/* Version of ELOG */
|
||||
#define VERSION "2.5.5-4"
|
||||
#define VERSION "2.5.6-1"
|
||||
char cvs_revision[] = "$Id$";
|
||||
|
||||
/* ELOG identification */
|
||||
@@ -874,7 +877,7 @@ typedef int INT;
|
||||
|
||||
#define DEFAULT_TIME_FORMAT "%c"
|
||||
#define DEFAULT_DATE_FORMAT "%x"
|
||||
|
||||
|
||||
#define DEFAULT_HTTP_CHARSET "ISO-8859-1"
|
||||
|
||||
#define SUCCESS 1
|
||||
@@ -3454,7 +3457,7 @@ void check_config()
|
||||
void retrieve_email_from(LOGBOOK * lbs, char *ret, char attrib[MAX_N_ATTR][NAME_LENGTH])
|
||||
{
|
||||
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;
|
||||
|
||||
if (!getcfg(lbs->name, "Use Email from", str, sizeof(str))) {
|
||||
@@ -4207,7 +4210,7 @@ INT el_retrieve(LOGBOOK * lbs,
|
||||
close(fh);
|
||||
|
||||
if (strncmp(message, "$@MID@$:", 8) != 0) {
|
||||
free(message);
|
||||
free(message);
|
||||
/* file might have been edited, rebuild index */
|
||||
el_build_index(lbs, TRUE);
|
||||
return el_retrieve(lbs, message_id, date, attr_list, attrib, n_attr,
|
||||
@@ -6376,9 +6379,9 @@ LBLIST get_logbook_hierarchy(void)
|
||||
|
||||
for (j = 0; j < root->n_members; j++) {
|
||||
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);
|
||||
|
||||
/* ... 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)
|
||||
strcpy(exp, str);
|
||||
else if (isparam("remember")) {
|
||||
strcpy(exp, "744"); /* one month by default = 31*24 */
|
||||
strcpy(exp, "744"); /* one month by default = 31*24 */
|
||||
} else
|
||||
exp[0] = 0;
|
||||
|
||||
@@ -7966,7 +7969,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
rsprintf("<tr><td nowrap width=\"10%%\" class=\"attribname\">%s:</td>", loc("Entry time"));
|
||||
rsprintf("<td class=\"attribvalue\">%s\n", str);
|
||||
rsprintf("<input type=hidden name=entry_date value=\"%s\"></td></tr>\n", date);
|
||||
|
||||
|
||||
if (condition[0])
|
||||
rsprintf("<input type=hidden name=condition value=\"%s\"></td></tr>\n", condition);
|
||||
|
||||
@@ -7986,17 +7989,17 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
/* generate list of attributes to show */
|
||||
if (getcfg(lbs->name, "Show attributes", str, sizeof(str))) {
|
||||
n_disp_attr = strbreak(str, list, MAX_N_ATTR, ",");
|
||||
for (i=0 ; i<n_disp_attr ; i++) {
|
||||
for (j=0 ; j<n_attr ; j++)
|
||||
for (i = 0; i < n_disp_attr; i++) {
|
||||
for (j = 0; j < n_attr; j++)
|
||||
if (strieq(attr_list[j], list[i]))
|
||||
break;
|
||||
if (!strieq(attr_list[j], list[i]))
|
||||
if (!strieq(attr_list[j], list[i]))
|
||||
/* attribute not found */
|
||||
j = 0;
|
||||
j = 0;
|
||||
attr_index[i] = j;
|
||||
}
|
||||
} else {
|
||||
for (i=0 ; i<n_attr ; i++)
|
||||
for (i = 0; i < n_attr; i++)
|
||||
attr_index[i] = i;
|
||||
n_disp_attr = n_attr;
|
||||
}
|
||||
@@ -8178,7 +8181,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
rsprintf("</td>\n");
|
||||
|
||||
} else if (attr_flags[index] & AF_USERLIST) {
|
||||
|
||||
|
||||
rsprintf("<td%s class=\"attribvalue\">\n", title);
|
||||
|
||||
/* display drop-down box with list of users */
|
||||
@@ -8188,7 +8191,7 @@ void show_edit_form(LOGBOOK * lbs, int message_id, BOOL breply, BOOL bedit, BOOL
|
||||
/* display emtpy option */
|
||||
rsprintf("<option value=\"\">- %s -\n", loc("please select"));
|
||||
|
||||
for (i = 0; ; i++) {
|
||||
for (i = 0;; i++) {
|
||||
if (!enum_user_line(lbs, i, login_name))
|
||||
break;
|
||||
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)
|
||||
rsprintf
|
||||
("<input type=\"text\" size=20 maxlength=%d name=\"%s_0\" value=\"%s\" onChange=\"mod();\">\n",
|
||||
input_maxlen, ua, attrib[index]);
|
||||
("<input type=\"text\" size=20 maxlength=%d name=\"%s_0\" value=\"%s\" onChange=\"mod();\">\n",
|
||||
input_maxlen, ua, attrib[index]);
|
||||
else
|
||||
rsprintf
|
||||
("<input type=\"text\" size=20 maxlength=%d name=\"%s\" value=\"%s\" onChange=\"mod();\">\n",
|
||||
input_maxlen, ua, attrib[index]);
|
||||
("<input type=\"text\" size=20 maxlength=%d name=\"%s\" value=\"%s\" onChange=\"mod();\">\n",
|
||||
input_maxlen, ua, attrib[index]);
|
||||
|
||||
rsprintf("</td>\n");
|
||||
|
||||
@@ -13291,7 +13294,7 @@ void display_line(LOGBOOK * lbs, int message_id, int number, char *mode,
|
||||
if (highlight != message_id)
|
||||
rsprintf("<a href=\"%s\">", ref);
|
||||
|
||||
if (attr_icon[0])
|
||||
if (attr_icon[0])
|
||||
rsprintf("<img border=0 src=\"icons/%s\"></a> ", attr_icon);
|
||||
else {
|
||||
/* if top level only, display reply icon if message has a reply */
|
||||
@@ -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,
|
||||
int expand, int n_line, int n_attr_disp,
|
||||
char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH],
|
||||
BOOL show_text, int level, int highlight)
|
||||
char disp_attr[MAX_N_ATTR + 4][NAME_LENGTH], BOOL show_text, int level, int highlight)
|
||||
{
|
||||
char *date, *text, *in_reply_to, *reply_to, *encoding, *locked_by, *attachment, *attrib, *p;
|
||||
int status, size;
|
||||
@@ -13744,13 +13746,13 @@ void display_reply(LOGBOOK * lbs, int message_id, int printable,
|
||||
|
||||
display_line(lbs, message_id, 0, "threaded", expand, level, printable,
|
||||
n_line, FALSE, date, in_reply_to, reply_to, n_attr_disp,
|
||||
disp_attr, (void *) attrib, lbs->n_attr, text, show_text,
|
||||
disp_attr, (void *) attrib, lbs->n_attr, text, show_text,
|
||||
NULL, encoding, 0, NULL, locked_by, highlight);
|
||||
|
||||
if (reply_to[0]) {
|
||||
p = reply_to;
|
||||
do {
|
||||
display_reply(lbs, atoi(p), printable, expand, n_line, n_attr_disp,
|
||||
display_reply(lbs, atoi(p), printable, expand, n_line, n_attr_disp,
|
||||
disp_attr, show_text, level + 1, highlight);
|
||||
|
||||
while (*p && isdigit(*p))
|
||||
@@ -14687,8 +14689,8 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
menu_str[1000], menu_item[MAX_N_LIST][NAME_LENGTH], param[NAME_LENGTH], format[80],
|
||||
sort_attr[MAX_N_ATTR + 4][NAME_LENGTH];
|
||||
char *p, *pt, *pt1, *pt2, *slist, *svalue, *gattr, line[1024], iattr[256];
|
||||
BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter,
|
||||
show_text, searched, found;
|
||||
BOOL show_attachments, threaded, csv, xml, mode_commands, expand, filtering, disp_filter,
|
||||
show_text, searched, found;
|
||||
time_t ltime, ltime_start, ltime_end, now, ltime1, ltime2;
|
||||
struct tm tms, *ptms;
|
||||
MSG_LIST *msg_list;
|
||||
@@ -15036,8 +15038,8 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* check if sort by attribute */
|
||||
if (strieq(getparam("sort"), attr_list[i])
|
||||
|| strieq(getparam("rsort"), attr_list[i]))
|
||||
@@ -15114,7 +15116,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
/* apply filter for AF_MULTI attributes */
|
||||
for (i = 0; i < lbs->n_attr; i++) {
|
||||
if (attr_flags[i] & AF_MULTI) {
|
||||
|
||||
|
||||
/* OR of any of the values */
|
||||
searched = found = FALSE;
|
||||
for (j = 0; j < MAX_N_LIST && attr_options[i][j][0]; j++) {
|
||||
@@ -15145,7 +15147,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
searched = found = FALSE;
|
||||
|
||||
for (i = 0; i < lbs->n_attr; i++) {
|
||||
|
||||
|
||||
if (*getparam(attr_list[i])) {
|
||||
|
||||
/* check non-multi attributes */
|
||||
@@ -15223,8 +15225,9 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
continue;
|
||||
}
|
||||
}
|
||||
} /* if (filtering) */
|
||||
}
|
||||
|
||||
/* if (filtering) */
|
||||
/* in threaded mode, find message head */
|
||||
if (threaded && in_reply_to_id) {
|
||||
do {
|
||||
@@ -16067,9 +16070,9 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
|
||||
void show_elog_thread(LOGBOOK * lbs, int message_id)
|
||||
{
|
||||
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],
|
||||
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];
|
||||
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],
|
||||
encoding[80], locked_by[256], disp_attr[MAX_N_ATTR + 4][NAME_LENGTH];
|
||||
char *p;
|
||||
|
||||
text = xmalloc(TEXT_SIZE);
|
||||
@@ -16077,11 +16080,11 @@ void show_elog_thread(LOGBOOK * lbs, int message_id)
|
||||
/* retrieve message */
|
||||
size = TEXT_SIZE;
|
||||
status =
|
||||
el_retrieve(lbs, message_id, date, attr_list, attrib,
|
||||
lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by);
|
||||
el_retrieve(lbs, message_id, date, attr_list, attrib,
|
||||
lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by);
|
||||
|
||||
in_reply_to_id = atoi(in_reply_to);
|
||||
|
||||
|
||||
/* find message head */
|
||||
head_id = message_id;
|
||||
if (in_reply_to_id) {
|
||||
@@ -16109,8 +16112,8 @@ void show_elog_thread(LOGBOOK * lbs, int message_id)
|
||||
|
||||
size = TEXT_SIZE;
|
||||
status =
|
||||
el_retrieve(lbs, head_id, date, attr_list, attrib,
|
||||
lbs->n_attr, text, &size, in_reply_to, reply_to, attachment, encoding, locked_by);
|
||||
el_retrieve(lbs, head_id, date, attr_list, attrib,
|
||||
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");
|
||||
|
||||
@@ -16606,12 +16609,12 @@ void submit_elog(LOGBOOK * lbs)
|
||||
/* check for extended attributs */
|
||||
if (isparam("condition")) {
|
||||
set_condition(getparam("condition"));
|
||||
|
||||
|
||||
/* rescan attributes */
|
||||
n_attr = scan_attributes(lbs->name);
|
||||
} else
|
||||
n_attr = lbs->n_attr;
|
||||
|
||||
|
||||
for (i = 0; i < n_attr; i++) {
|
||||
strcpy(ua, attr_list[i]);
|
||||
btou(ua);
|
||||
@@ -20120,7 +20123,7 @@ void decode_post(LOGBOOK * lbs, char *string, char *boundary, int length)
|
||||
while (*string == '-' || *string == '\n' || *string == '\r')
|
||||
string++;
|
||||
} else
|
||||
return; /* invalid request */
|
||||
return; /* invalid request */
|
||||
|
||||
} while ((int) (string - pinit) < length);
|
||||
interprete(lbs->name, "");
|
||||
@@ -20636,7 +20639,9 @@ void server_loop(void)
|
||||
("Error: Content length (%d) larger than maximum content length (%d)"),
|
||||
content_length, _max_content_length);
|
||||
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;
|
||||
show_error(str);
|
||||
goto redir;
|
||||
|
||||
Reference in New Issue
Block a user