mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Release 2.6.2-1
SVN revision: 1699
This commit is contained in:
parent
be427021a1
commit
5747ba18fe
@ -1,3 +1,41 @@
|
|||||||
|
Version 2.6.2, released July 11th, 2006
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
- Fixed crash on email notification for edits
|
||||||
|
- Implemented 'list conditions'
|
||||||
|
- Fixed problem with broken navigation links (strencode2 got wrong 'size' parameter)
|
||||||
|
- Fixed wrong focus switching to text box for conditional attributes
|
||||||
|
- Implemented "bottom text login"
|
||||||
|
- Fixed crash on mirroring with write password
|
||||||
|
- Do $shell() substitution after attribute substitution
|
||||||
|
- Fixed problem with using locks and changing encoding
|
||||||
|
- Implemented "Anonymous" substitution if no user is logged int
|
||||||
|
- Write email text to logfile
|
||||||
|
- Show attachments by default in full list mode
|
||||||
|
- Changed "cool" icon from 8) to 8-) in order to avoid misinterpretations
|
||||||
|
- Implemented $version and $revision in bottom text
|
||||||
|
- Implemented "Hidden attributes = ..."
|
||||||
|
- Fixed invalid link if searched in all logbooks
|
||||||
|
- Fixed broken 'protect selection page'
|
||||||
|
- Added tooltip display in normal list mode and entry view
|
||||||
|
- Replaced forkpty() with shell redirection to temporary file
|
||||||
|
- Fixed illegal submit from curl()
|
||||||
|
- Fixed problem with closing </ol> / </ul>
|
||||||
|
- Strip ANY logbook in new redirection method
|
||||||
|
- Do not allow empty passwords or passwords with blanks
|
||||||
|
- Added user name check for blanks
|
||||||
|
- Fixed calender month selection bug
|
||||||
|
- Implemented 'allow password change'
|
||||||
|
- Added new redirection code without using 'URL =' statement
|
||||||
|
- Added heading to ELCode tags
|
||||||
|
- Added IP address to log file
|
||||||
|
- Fixed potential buffer overflows
|
||||||
|
- Fixed problem with MOptions and reedit
|
||||||
|
- Fixed problem with MOptions inside submit_elog()
|
||||||
|
- Don't show ELCode buttons if "show text = 0"
|
||||||
|
- Applied patch from Mike Pittelkow <mikep@isd.net> to compile under FreeBSD
|
||||||
|
- Fixed broken inline images
|
||||||
|
|
||||||
Version 2.6.1, released Jan 19th, 2006
|
Version 2.6.1, released Jan 19th, 2006
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
[<a class="nav" href="#links">Links</a>] * </div>
|
[<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">
|
<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.6.1</div>
|
<div class="version">Current version is : 2.6.2</div>
|
||||||
<hr>
|
<hr>
|
||||||
<a name="whatis">
|
<a name="whatis">
|
||||||
<div class="section"> What is ELOG ? </div>
|
<div class="section"> What is ELOG ? </div>
|
||||||
|
|||||||
@ -204,18 +204,12 @@ All = Todos
|
|||||||
Select = Selecionar
|
Select = Selecionar
|
||||||
New entry cannot be written to directory "%s" = Nova entrada não pode ser gravada no diretório "%s"
|
New entry cannot be written to directory "%s" = Nova entrada não pode ser gravada no diretório "%s"
|
||||||
Entry %s cannot be read from logbook "%s" = A entrada %s não pode ser lida do logbook "%s"
|
Entry %s cannot be read from logbook "%s" = A entrada %s não pode ser lida do logbook "%s"
|
||||||
No entry selected = Nenhuma entrada selecionada
|
|
||||||
One entry = Uma entrada
|
|
||||||
moved successfully from "%s" to "%s" = Movidos com sucesso de "%s" para "%s"
|
|
||||||
copied successfully from "%s" to "%s" = Copiados com sucesso de "%s" para "%s"
|
|
||||||
This entry has been deleted = Essa entrada foi removida
|
This entry has been deleted = Essa entrada foi removida
|
||||||
Login = Login
|
Login = Login
|
||||||
by = por
|
by = por
|
||||||
Cannot connect to remote server "%s" = Não é possível conectar no server remoto "%s"
|
Cannot connect to remote server "%s" = Não é possível conectar no server remoto "%s"
|
||||||
Remote server is not an ELOG server = Servidor remoto não é um servidor de ELOG
|
Remote server is not an ELOG server = Servidor remoto não é um servidor de ELOG
|
||||||
Incorrect remote ELOG server version %s = Versão incorreta do servidor remoto de ELOG
|
Incorrect remote ELOG server version %s = Versão incorreta do servidor remoto de ELOG
|
||||||
User "%s" has no access to remote logbook = Usuário "%s" não tem acesso ao logbook remoto
|
|
||||||
Passwords for user "%s" do not match locally and remotely = Senhas para o usuário "%s" não são compatíveis localmente e remotamente
|
|
||||||
Error accessing remote logbook = Erro ao acessar o logbook remoto
|
Error accessing remote logbook = Erro ao acessar o logbook remoto
|
||||||
Invalid HTTP header = Cabeçalho de HTTP inválido
|
Invalid HTTP header = Cabeçalho de HTTP inválido
|
||||||
No user name supplied to access remote logbook = Nome de usuário não fornecido para acessar o logbook remoto
|
No user name supplied to access remote logbook = Nome de usuário não fornecido para acessar o logbook remoto
|
||||||
@ -337,7 +331,6 @@ Subscribe to logbooks = Inscrever-se nos logbooks
|
|||||||
enable automatic email notifications = permite notificações automáticas por email
|
enable automatic email notifications = permite notificações automáticas por email
|
||||||
Set all = Selecionar todos
|
Set all = Selecionar todos
|
||||||
Set none = Não selecionar nenhum
|
Set none = Não selecionar nenhum
|
||||||
Set current time = Ajustar hora corrente
|
|
||||||
Please enter hour for attribute '%s' = Por favor, entre com a hora para o atributo '%s'
|
Please enter hour for attribute '%s' = Por favor, entre com a hora para o atributo '%s'
|
||||||
Please enter minute for attribute '%s' = Por favor, entre com o minuto para o atributo '%s'
|
Please enter minute for attribute '%s' = Por favor, entre com o minuto para o atributo '%s'
|
||||||
Please enter second for attribute '%s' = Por favor, entre com o segundo par ao atributo '%s'
|
Please enter second for attribute '%s' = Por favor, entre com o segundo par ao atributo '%s'
|
||||||
@ -403,9 +396,7 @@ Enter URL of hyperlink = Entre com a URL do hyperlink
|
|||||||
astonished = surpreso
|
astonished = surpreso
|
||||||
Error in regular expression "%s" = Erro na expressão regular "%s"
|
Error in regular expression "%s" = Erro na expressão regular "%s"
|
||||||
File not found at URL "%s" = Arquivo não encontrado na URL "%s"
|
File not found at URL "%s" = Arquivo não encontrado na URL "%s"
|
||||||
Copy To = Copiar para
|
|
||||||
Copy to = Copiar para
|
Copy to = Copiar para
|
||||||
Move To = Mover para
|
|
||||||
Move to = Mover para
|
Move to = Mover para
|
||||||
Select = Selecionar
|
Select = Selecionar
|
||||||
Entry size too large for email notification = O tamanho da entrada é muito grande para notificação via email
|
Entry size too large for email notification = O tamanho da entrada é muito grande para notificação via email
|
||||||
@ -418,3 +409,8 @@ insert heading = inserir t
|
|||||||
User name may not contain blanks = O nome do usuário não pode conter brancos
|
User name may not contain blanks = O nome do usuário não pode conter brancos
|
||||||
Empty password not allowed = Não é permitida senha vazia
|
Empty password not allowed = Não é permitida senha vazia
|
||||||
Password may not contain blanks = A senha não pode conter brancos
|
Password may not contain blanks = A senha não pode conter brancos
|
||||||
|
|
||||||
|
#
|
||||||
|
#---- please translate following items and then remove this comment ----#
|
||||||
|
#
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -413,3 +413,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -411,3 +411,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -414,3 +414,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -411,3 +411,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -400,13 +400,10 @@ Entry size too large for email notification = Eintrag zu gro
|
|||||||
Please specify a valid email address = Bitte eine gültige Email-Adresse eingeben
|
Please specify a valid email address = Bitte eine gültige Email-Adresse eingeben
|
||||||
Cannot send email notification to "%s" = Kann Email-Benachrichtigung nicht an "%s" senden
|
Cannot send email notification to "%s" = Kann Email-Benachrichtigung nicht an "%s" senden
|
||||||
Error: Command "<b>%s</b>" is not allowed for user "<b>%s</b>" = Fehler: Kommando "<b>%s</b>" ist nicht erlaubt für Benutzer "<b>%s</b>"
|
Error: Command "<b>%s</b>" is not allowed for user "<b>%s</b>" = Fehler: Kommando "<b>%s</b>" ist nicht erlaubt für Benutzer "<b>%s</b>"
|
||||||
|
Shell execution not enabled via -x flag = Kommando-Ausführung ist nicht mit -x Kommandozeilenoption eingeschalten
|
||||||
#
|
Enter heading level (1, 2 or 3) = Bitte Überschrift-Stufe eingeben (1, 2 oder 3)
|
||||||
#---- please translate following items and then remove this comment ----#
|
insert heading = Überschrift eingeben
|
||||||
#
|
User name may not contain blanks = Benutzername darf keine Leerzeichen enthalten
|
||||||
Shell execution not enabled via -x flag =
|
Empty password not allowed = Leeres Passwort ist nicht erlaubt
|
||||||
Enter heading level (1, 2 or 3) =
|
Password may not contain blanks = Passwort darf keine Leerzeichen enthalten
|
||||||
insert heading =
|
Anonymous = Anonym
|
||||||
User name may not contain blanks =
|
|
||||||
Empty password not allowed =
|
|
||||||
Password may not contain blanks =
|
|
||||||
|
|||||||
@ -409,3 +409,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -409,3 +409,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -398,7 +398,6 @@ astonished = Asombrado
|
|||||||
Error in regular expression "%s" = Error en la expresion regular "%s"
|
Error in regular expression "%s" = Error en la expresion regular "%s"
|
||||||
File not found at URL "%s" = Archivo no encontrado en la URL "%s"
|
File not found at URL "%s" = Archivo no encontrado en la URL "%s"
|
||||||
Entry size too large for email notification = Entrada demasiado grande
|
Entry size too large for email notification = Entrada demasiado grande
|
||||||
para notificacion por email
|
|
||||||
Please specify a valid email address = Por favor especifique una direccion de email valida
|
Please specify a valid email address = Por favor especifique una direccion de email valida
|
||||||
Cannot send email notification to "%s" = No se puede enviar una notificacion por email a "%s"
|
Cannot send email notification to "%s" = No se puede enviar una notificacion por email a "%s"
|
||||||
Error: Command "<b>%s</b>" is not allowed for user "<b>%s</b>" = Error: El comando "<b>%s</b>" no esta permitido para el usuario "<b>%s</b>"
|
Error: Command "<b>%s</b>" is not allowed for user "<b>%s</b>" = Error: El comando "<b>%s</b>" no esta permitido para el usuario "<b>%s</b>"
|
||||||
@ -406,6 +405,9 @@ Shell execution not enabled via -x flag = La ejecuci
|
|||||||
Enter heading level (1, 2 or 3) = Ingrese nivel de encabezado (1, 2 o 3)
|
Enter heading level (1, 2 or 3) = Ingrese nivel de encabezado (1, 2 o 3)
|
||||||
insert heading = inserte encabezado
|
insert heading = inserte encabezado
|
||||||
User name may not contain blanks = El nombre de usuario no puede
|
User name may not contain blanks = El nombre de usuario no puede
|
||||||
contener espacios en blancos
|
|
||||||
Empty password not allowed = No se permite clave vacía
|
Empty password not allowed = No se permite clave vacía
|
||||||
Password may not contain blanks = La clave no puede contener espacios en blancos
|
Password may not contain blanks = La clave no puede contener espacios en blancos
|
||||||
|
#
|
||||||
|
#---- please translate following items and then remove this comment ----#
|
||||||
|
#
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -413,3 +413,4 @@ name may not contain blanks = isim bo
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -411,3 +411,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
@ -411,3 +411,4 @@ insert heading =
|
|||||||
User name may not contain blanks =
|
User name may not contain blanks =
|
||||||
Empty password not allowed =
|
Empty password not allowed =
|
||||||
Password may not contain blanks =
|
Password may not contain blanks =
|
||||||
|
Anonymous =
|
||||||
|
|||||||
32
src/elogd.c
32
src/elogd.c
@ -560,7 +560,7 @@ int my_read(int fh, void *buffer, unsigned int bytes)
|
|||||||
int i, n = 0;
|
int i, n = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
i = read(fh, buffer+n, bytes-n);
|
i = read(fh, buffer + n, bytes - n);
|
||||||
|
|
||||||
/* don't return if an alarm signal was cought */
|
/* don't return if an alarm signal was cought */
|
||||||
if (i == -1 && errno == EINTR)
|
if (i == -1 && errno == EINTR)
|
||||||
@ -574,7 +574,7 @@ int my_read(int fh, void *buffer, unsigned int bytes)
|
|||||||
|
|
||||||
n += i;
|
n += i;
|
||||||
|
|
||||||
} while (n < (int)bytes);
|
} while (n < (int) bytes);
|
||||||
|
|
||||||
return n;
|
return n;
|
||||||
#else
|
#else
|
||||||
@ -1193,7 +1193,7 @@ void strsubst_list(char *string, int size, char name[][NAME_LENGTH], char value[
|
|||||||
pt = tmp;
|
pt = tmp;
|
||||||
ps = string;
|
ps = string;
|
||||||
p = strchr(ps, '$');
|
p = strchr(ps, '$');
|
||||||
if (p != NULL) {
|
if (p != NULL) {
|
||||||
|
|
||||||
/* copy leading characters */
|
/* copy leading characters */
|
||||||
j = (int) (p - ps);
|
j = (int) (p - ps);
|
||||||
@ -6255,8 +6255,7 @@ void set_location(LOGBOOK * lbs, char *rel_path)
|
|||||||
char str[NAME_LENGTH], group[NAME_LENGTH], list[NAME_LENGTH], *p;
|
char str[NAME_LENGTH], group[NAME_LENGTH], list[NAME_LENGTH], *p;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (getcfg(lbs->name, "Relative redirect", str, sizeof(str)) &&
|
if (getcfg(lbs->name, "Relative redirect", str, sizeof(str)) && atoi(str) == 1) {
|
||||||
atoi(str) == 1) {
|
|
||||||
|
|
||||||
if (rel_path[0])
|
if (rel_path[0])
|
||||||
strlcpy(str, rel_path, sizeof(str));
|
strlcpy(str, rel_path, sizeof(str));
|
||||||
@ -7319,7 +7318,7 @@ void show_top_text(LOGBOOK * lbs)
|
|||||||
void show_bottom_text(LOGBOOK * lbs)
|
void show_bottom_text(LOGBOOK * lbs)
|
||||||
{
|
{
|
||||||
char str[NAME_LENGTH], slist[20][NAME_LENGTH], svalue[20][NAME_LENGTH];
|
char str[NAME_LENGTH], slist[20][NAME_LENGTH], svalue[20][NAME_LENGTH];
|
||||||
int i, size;
|
int i, size;
|
||||||
|
|
||||||
if (getcfg(lbs->name, "bottom text", str, sizeof(str))) {
|
if (getcfg(lbs->name, "bottom text", str, sizeof(str))) {
|
||||||
FILE *f;
|
FILE *f;
|
||||||
@ -7346,7 +7345,7 @@ void show_bottom_text(LOGBOOK * lbs)
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
i = build_subst_list(lbs, slist, svalue, NULL, TRUE);
|
i = build_subst_list(lbs, slist, svalue, NULL, TRUE);
|
||||||
strsubst_list(buf, size+100, slist, svalue, i);
|
strsubst_list(buf, size + 100, slist, svalue, i);
|
||||||
|
|
||||||
rsputs(buf);
|
rsputs(buf);
|
||||||
xfree(buf);
|
xfree(buf);
|
||||||
@ -7369,7 +7368,7 @@ void show_bottom_text(LOGBOOK * lbs)
|
|||||||
void show_bottom_text_login(LOGBOOK * lbs)
|
void show_bottom_text_login(LOGBOOK * lbs)
|
||||||
{
|
{
|
||||||
char str[NAME_LENGTH], slist[20][NAME_LENGTH], svalue[20][NAME_LENGTH];
|
char str[NAME_LENGTH], slist[20][NAME_LENGTH], svalue[20][NAME_LENGTH];
|
||||||
int i, size;
|
int i, size;
|
||||||
|
|
||||||
if (getcfg(lbs->name, "bottom text login", str, sizeof(str))) {
|
if (getcfg(lbs->name, "bottom text login", str, sizeof(str))) {
|
||||||
FILE *f;
|
FILE *f;
|
||||||
@ -7396,7 +7395,7 @@ void show_bottom_text_login(LOGBOOK * lbs)
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
i = build_subst_list(lbs, slist, svalue, NULL, TRUE);
|
i = build_subst_list(lbs, slist, svalue, NULL, TRUE);
|
||||||
strsubst_list(buf, size+100, slist, svalue, i);
|
strsubst_list(buf, size + 100, slist, svalue, i);
|
||||||
|
|
||||||
rsputs(buf);
|
rsputs(buf);
|
||||||
xfree(buf);
|
xfree(buf);
|
||||||
@ -7703,32 +7702,32 @@ void strencode2(char *b, char *text, int size)
|
|||||||
for (i = 0; i < (int) strlen(text); i++) {
|
for (i = 0; i < (int) strlen(text); i++) {
|
||||||
switch (text[i]) {
|
switch (text[i]) {
|
||||||
case '\n':
|
case '\n':
|
||||||
if (strlen(b)+5 >= (unsigned int)size)
|
if (strlen(b) + 5 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
strcat(b, "<br>\n");
|
strcat(b, "<br>\n");
|
||||||
break;
|
break;
|
||||||
case '<':
|
case '<':
|
||||||
if (strlen(b)+4 >= (unsigned int)size)
|
if (strlen(b) + 4 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
strcat(b, "<");
|
strcat(b, "<");
|
||||||
break;
|
break;
|
||||||
case '>':
|
case '>':
|
||||||
if (strlen(b)+4 >= (unsigned int)size)
|
if (strlen(b) + 4 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
strcat(b, ">");
|
strcat(b, ">");
|
||||||
break;
|
break;
|
||||||
case '&':
|
case '&':
|
||||||
if (strlen(b)+5 >= (unsigned int)size)
|
if (strlen(b) + 5 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
strcat(b, "&");
|
strcat(b, "&");
|
||||||
break;
|
break;
|
||||||
case '\"':
|
case '\"':
|
||||||
if (strlen(b)+6 >= (unsigned int)size)
|
if (strlen(b) + 6 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
strcat(b, """);
|
strcat(b, """);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (strlen(b)+1 >= (unsigned int)size)
|
if (strlen(b) + 1 >= (unsigned int) size)
|
||||||
return;
|
return;
|
||||||
sprintf(b + strlen(b), "%c", text[i]);
|
sprintf(b + strlen(b), "%c", text[i]);
|
||||||
}
|
}
|
||||||
@ -14731,8 +14730,7 @@ void display_line(LOGBOOK * lbs, int message_id, int number, char *mode,
|
|||||||
nowrap = printable ? "" : "nowrap";
|
nowrap = printable ? "" : "nowrap";
|
||||||
skip_comma = FALSE;
|
skip_comma = FALSE;
|
||||||
|
|
||||||
if (getcfg(lbs->name, "List conditions", str, sizeof(str)) &&
|
if (getcfg(lbs->name, "List conditions", str, sizeof(str)) && atoi(str) == 1)
|
||||||
atoi(str) == 1)
|
|
||||||
evaluate_conditions(lbs, attrib);
|
evaluate_conditions(lbs, attrib);
|
||||||
|
|
||||||
if (strieq(mode, "Threaded")
|
if (strieq(mode, "Threaded")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user