Version 2.5.5

SVN revision: 1125
This commit is contained in:
Stefan Ritt 2004-11-03 10:01:48 +00:00
parent 8727fbf87c
commit 1cf1b48dc3
13 changed files with 320 additions and 256 deletions

View File

@ -97,7 +97,7 @@
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="wsock32.lib" AdditionalDependencies="wsock32.lib"
OutputFile=".\Debug/elog.exe" OutputFile=".\Debug/elog.exe"
LinkIncremental="1" LinkIncremental="2"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
GenerateDebugInformation="TRUE" GenerateDebugInformation="TRUE"
ProgramDatabaseFile=".\Debug/elog.pdb" ProgramDatabaseFile=".\Debug/elog.pdb"

View File

@ -25,10 +25,10 @@ Global
{73B4D346-E430-4CDF-89DC-C7E7356D373F}.Release.ActiveCfg = Release|Win32 {73B4D346-E430-4CDF-89DC-C7E7356D373F}.Release.ActiveCfg = Release|Win32
{73B4D346-E430-4CDF-89DC-C7E7356D373F}.Release.Build.0 = Release|Win32 {73B4D346-E430-4CDF-89DC-C7E7356D373F}.Release.Build.0 = Release|Win32
{A206887F-603B-4538-B6F7-A1361EF29E8F}.Debug.ActiveCfg = Debug|Win32 {A206887F-603B-4538-B6F7-A1361EF29E8F}.Debug.ActiveCfg = Debug|Win32
{A206887F-603B-4538-B6F7-A1361EF29E8F}.Debug.Build.0 = Debug|Win32
{A206887F-603B-4538-B6F7-A1361EF29E8F}.Release.ActiveCfg = Release|Win32 {A206887F-603B-4538-B6F7-A1361EF29E8F}.Release.ActiveCfg = Release|Win32
{A206887F-603B-4538-B6F7-A1361EF29E8F}.Release.Build.0 = Release|Win32 {A206887F-603B-4538-B6F7-A1361EF29E8F}.Release.Build.0 = Release|Win32
{96EE8277-42EF-4086-814C-D94BB56BA930}.Debug.ActiveCfg = Debug|Win32 {96EE8277-42EF-4086-814C-D94BB56BA930}.Debug.ActiveCfg = Debug|Win32
{96EE8277-42EF-4086-814C-D94BB56BA930}.Debug.Build.0 = Debug|Win32
{96EE8277-42EF-4086-814C-D94BB56BA930}.Release.ActiveCfg = Release|Win32 {96EE8277-42EF-4086-814C-D94BB56BA930}.Release.ActiveCfg = Release|Win32
{96EE8277-42EF-4086-814C-D94BB56BA930}.Release.Build.0 = Release|Win32 {96EE8277-42EF-4086-814C-D94BB56BA930}.Release.Build.0 = Release|Win32
{ED99DCD0-7A48-4C02-BB77-088217D7A9D0}.Debug.ActiveCfg = Debug|Win32 {ED99DCD0-7A48-4C02-BB77-088217D7A9D0}.Debug.ActiveCfg = Debug|Win32

View File

@ -1,3 +1,12 @@
Version 2.5.5, released November 3rd, 2004
==========================================
- Display ASCII attachments inline, with possibility to hide them
- Implemented regular expressions in search
- Implemented RSS feeds
- Added synchronization from command line of elogd
- Fixed ~20 bugs
Version 2.5.4, released August 4th, 2004 Version 2.5.4, released August 4th, 2004
================================--====== ================================--======

View File

@ -1,176 +1,209 @@
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>The ELOG Home Page</TITLE> <TITLE>The ELOG Home Page</TITLE>
<LINK REV="made" HREF="mailto:fredp&#64;mygale.org"> <LINK REV="made" HREF="mailto:fredp@mygale.org">
<META NAME="generator" CONTENT="NoteTab Light 4.86c"> <META NAME="generator" CONTENT="NoteTab Light 4.86c">
<META NAME="author" CONTENT="Fred Pacquier"> <META NAME="author" CONTENT="Fred Pacquier">
<META NAME="description" CONTENT="Home of the Electronic Logbook (ELOG) package"> <META NAME="description" CONTENT="Home of the Electronic Logbook (ELOG) package">
<META NAME="keywords" CONTENT="ELOG MIDAS PSI RITT"> <META NAME="keywords" CONTENT="ELOG MIDAS PSI RITT">
<LINK REL="stylesheet" TYPE="text/css" HREF="elog.css"> <LINK REL="stylesheet" TYPE="text/css" HREF="elog.css">
</HEAD> </HEAD>
<BODY BGCOLOR="#ffffff" TEXT="#000000" LINK="#0000ff" VLINK="#800080" ALINK="#ff0000">
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000"> <div class="title">&nbsp; The ELOG Home Page &nbsp;</div>
<p>
<div class=title>&nbsp; The ELOG Home Page &nbsp;</div> <div class="menu">&nbsp;Site map :&nbsp; &nbsp;[Home]&nbsp; &nbsp;[<a class="nav" href="userguide.html">User's
<p> Guide</a>]&nbsp; &nbsp;[<a class="nav" href="adminguide.html">Administrator's
<div class=menu>&nbsp;Site map :&nbsp; Guide</a>]&nbsp; &nbsp;[<a class="nav" href="faq.html">FAQ</a>]&nbsp;
&nbsp;[Home]&nbsp; &nbsp;[<a class="nav" href="wishlist.html">Wishlist</a>]&nbsp; &nbsp;[<a class="nav" href="contrib.html">Contributions</a>]&nbsp;
&nbsp;[<a class=nav href="userguide.html">User's Guide</a>]&nbsp; &nbsp;[<a class="nav" href="http://midas.psi.ch/elogs/Linux%20Demo/">DEMO</a>]&nbsp;
&nbsp;[<a class=nav href="adminguide.html">Administrator's Guide</a>]&nbsp; &nbsp;[<a class="nav" href="download.html">Download</a>]&nbsp;
&nbsp;[<a class=nav href="faq.html">FAQ</a>]&nbsp; </div>
&nbsp;[<a class=nav href="wishlist.html">Wishlist</a>]&nbsp; <p>
&nbsp;[<a class=nav href="contrib.html">Contributions</a>]&nbsp; <div class="menu">&nbsp;* this section :&nbsp; &nbsp;[<a class="nav" href="#whatis">What
&nbsp;[<a class=nav href="http://midas.psi.ch/elogs/Linux%20Demo/">DEMO</a>]&nbsp; is ELOG ?</a>]&nbsp; &nbsp;[<a class="nav" href="#screenshots">Screen shots</a>]&nbsp;
&nbsp;[<a class=nav href="download.html">Download</a>]&nbsp; &nbsp;[<a class="nav" href="#usecases">Use cases</a>]&nbsp; &nbsp;[<a class="nav" href="#license">License</a>]&nbsp;
</div> &nbsp;[<a class="nav" href="#links">Links</a>]&nbsp; *&nbsp;</div>
<p> <P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
<div class=menu>&nbsp;* this section :&nbsp; Stefan Ritt</a></P>
&nbsp;[<a class=nav href="#whatis">What is ELOG ?</a>]&nbsp; <div class="version">Current version is : 2.5.5</div>
&nbsp;[<a class=nav href="#screenshots">Screen shots</a>]&nbsp; <hr>
&nbsp;[<a class=nav href="#usecases">Use cases</a>]&nbsp; <a name="whatis">
&nbsp;[<a class=nav href="#license">License</a>]&nbsp; <div class="section">&nbsp; What is ELOG ? &nbsp;</div>
&nbsp;[<a class=nav href="#links">Links</a>]&nbsp; <p>
*&nbsp;</div> <b>ELOG</b> is part of a family of applications known as <i><i>weblog</i>s</i>
<P class=Sub>Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt&#64;psi.ch">Stefan Ritt</a></P> . Their general purpose is :
<div class=version>&nbsp; Current version is : 2.5.4 &nbsp;</div> <p>
<ol>
<hr><a name="whatis"> <li>
<div class=section>&nbsp; What is ELOG ? &nbsp;</div> to make it easy for people to put information online in a chronological
<p> fashion, in the form of short, time-stamped text messages ("entries") with
<b>ELOG</b> is part of a family of applications known as <i><i>weblog</i>s</i>. Their general purpose is : optional HTML markup for presentation, and optional file attachments (images,
<p> archives, etc.)
<ol> <p></p>
<li>to make it easy for people to put information online in a chronological fashion, in the form of short, time-stamped text messages ("entries") with optional HTML markup for presentation, and optional file attachments (images, archives, etc.) <li>
<p> to make it easy for other people to access this information through a Web
<li>to make it easy for other people to access this information through a Web interface, browse entries, search, download files, and optionally add, update, delete or comment on entries. interface, browse entries, search, download files, and optionally add, update,
</ol> delete or comment on entries.</li>
<p> </ol>
<b>ELOG</b> is a remarkable implementation of a <i>weblog</i> in at least two respects : <p>
<p> <b>ELOG</b> is a remarkable implementation of a <i>weblog</i>
<ul> in at least two respects :
<li>its simplicity of use : you don't need to be a seasoned server operator and/or an experimented database administrator to run <b>ELOG</b> ; one executable file (under Unix or Windows), a simple configuration text file, and it works. No Web server or relational database required. It is also easy to translate the interface to the appropriate language for your users. <p>
<p> <ul>
<li>its versatility : through its single configuration file, <b>ELOG</b> can be made to display an infinity of variants of the <i>weblog</i> concept. There are options for what to display, how to display it, what commands are available and to whom, access control, etc. Moreover, a single server can host several <i><i>weblog</i>s</i>, and each <i>weblog</i> can be totally different from the rest. <li>
</ul> its simplicity of use : you don't need to be a seasoned server operator and/or
<p> an experimented database administrator to run <b>ELOG</b> ; one executable file
(under Unix or Windows), a simple configuration text file, and it works. No Web
<hr><a name="screenshots"> server or relational database required. It is also easy to translate the
<div class=section>&nbsp; Screen shots &nbsp;</div> interface to the appropriate language for your users.
<p> <p></p>
<table border=0 cellpadding=5><tr> <li>
<td> its versatility : through its single configuration file, <b>ELOG</b> can be
<a href=elog.gif><image border=0 align=top src=elog_thumb.jpg alt=elog.gif></a> made to display an infinity of variants of the <i>weblog</i> concept. There are
</td> options for what to display, how to display it, what commands are available and
<td valign=top> to whom, access control, etc. Moreover, a single server can host several <i><i>weblog</i>s</i>,
On the left upper panel is a typical logbook page displayed by Netscape Navigator. Each logbook page can contain attachments in a similar way to emails. This makes it possible to store images or text files and retrieve them easily. You could for example attach a sample configuration file which can later be copied to the local machine with the "<I>Save As...</I>" function of the Web browser. and each <i>weblog</i> can be totally different from the rest.</li>
<p> </ul>
Several logbooks can be served though a single <b>ELOG</b> server. Each <p>
logbook can use different attributes for its entries. The logbook can then be searched using these attributes. The right pane on the left image shows a search for all <hr>
entries with attribute "<I>Type</I>" equal to "<I>Configuration</I>", and the lower pane <a name="screenshots">
shows the search result. It is also possible to use full-text search in <div class="section">&nbsp; Screen shots &nbsp;</div>
attributes and the entry body. <p>
<p> <table border="0" cellpadding="5">
While logbook entries are usually displayed one entry per page, they can <tr>
also be listed consecutively which makes it easy to produce a paper printout of a logbook. <td>
<p> <a href="elog.gif"><img border="0" align="top" src="elog_thumb.jpg" alt="elog.gif"></a>
Logbook pages can be edited or deleted. This feature can be turned off in </td>
the configuration file so that a logbook entries cannot be changed <td valign="top">
after being submitted. On the left upper panel is a typical logbook page displayed by Netscape
<p> Navigator. Each logbook page can contain attachments in a similar way to
An additional feature is the automatic generation of a notification email emails. This makes it possible to store images or text files and retrieve them
messages based on a certain type or category of a logbook entry. easily. You could for example attach a sample configuration file which can
<p> later be copied to the local machine with the "<I>Save As...</I>" function of
Also try out the <b><a href="http://midas.psi.ch/elogs/Linux%20Demo/">online demo</a></b> ! the Web browser.
</td></tr></table> <p>
<p> Several logbooks can be served though a single <b>ELOG</b> server. Each logbook
can use different attributes for its entries. The logbook can then be searched
<hr><a name="usecases"> using these attributes. The right pane on the left image shows a search for all
<div class=section>&nbsp; Use cases &nbsp;</div> entries with attribute "<I>Type</I>" equal to "<I>Configuration</I>
<p> ", and the lower pane shows the search result. It is also possible to use
The features of <b>ELOG</b> make it useful for several applications: full-text search in attributes and the entry body.
<ul> <p>
<li><b>Personal Logbooks</b>. Personal notes can be written into <b>ELOG</b> and While logbook entries are usually displayed one entry per page, they can also
can then be retrieved from anywhere with a Web browser. This makes it be listed consecutively which makes it easy to produce a paper printout of a
handy for PC supporters who have to go around in companies or laboratories logbook.
and don't want to carry their paper logbook with them. The same holds true <p>
for people traveling around a lot. The logbook database consists of plain Logbook pages can be edited or deleted. This feature can be turned off in the
ASCII files which can copied easily between different computers to have configuration file so that a logbook entries cannot be changed after being
local access, for example on a notebook with no network connection. submitted.
<p> <p>
<li><b>Shared Logbooks</b>. Logbooks can be shared by several people, for An additional feature is the automatic generation of a notification email
reading and optionally for writing. This way workgroups can share messages based on a certain type or category of a logbook entry.
and exchange information like in a (simplified) news group. This is supported <p>
by the <i>Reply</i> command in <b>ELOG</b> which creates "<I>threads</I>" Also try out the <b><a href="http://midas.psi.ch/elogs/Linux%20Demo/">online demo</a></b>
of entries. Users can be notified by email when new entries are added !</p>
to the logbook. Compared to that of a news server, the installation of <b>ELOG</b> is </td>
much simpler. </tr>
<p> </table>
<li><b>Small Databases</b>. Since arbitrary attributes can be defined <p>
for a logbook, it can be used as a small database with search facilities. <hr>
<p> <a name="usecases">
<li><b>Problem collections</b>. A system can consist of two logbooks, in one <div class="section">&nbsp; Use cases &nbsp;</div>
of which users enter bugs or problems. If someone adds a problem, an email is <p>
automatically sent to the administrator, who can then copy the entry to the The features of <b>ELOG</b> make it useful for several applications:
second logbook and add the solution to the problem. Users can then look up all <ul>
fixed problems. <li>
<p> <b>Personal Logbooks</b>. Personal notes can be written into <b>ELOG</b> and
<li><b>Shift Logbooks</b>. If the <i>Allow delete</i> and <i>Allow edit</i> can then be retrieved from anywhere with a Web browser. This makes it handy for
flags are off, an entry cannot be modified once it's been entered. This PC supporters who have to go around in companies or laboratories and don't want
can be useful for shift logbooks for example in accelerator control rooms to carry their paper logbook with them. The same holds true for people
where each entry becomes a "<I>document</I>" with a time and author stamp. <b>ELOG</b> traveling around a lot. The logbook database consists of plain ASCII files
was originally developed as a shift logbook for the which can copied easily between different computers to have local access, for
<a href="http://pibeta.psi.ch">PiBeta</a> and example on a notebook with no network connection.
<a href="http://meg.psi.ch">Muegamma</a> particle experiments at <p></p>
<a href="http://www.psi.ch">PSI</a>. <li>
<p> <b>Shared Logbooks</b>. Logbooks can be shared by several people, for reading
<li><b>File collections</b>. Since files can be attached to <b>ELOG</b> entries, and optionally for writing. This way workgroups can share and exchange
the system can be used to store and retrieve files. This can be used to information like in a (simplified) news group. This is supported by the <i>Reply</i>
store configuration files, which need to be accessible by several command in <b>ELOG</b> which creates "<I>threads</I>" of entries. Users can be
people over the web, or to store images. Since <b>ELOG</b> features an elaborate notified by email when new entries are added to the logbook. Compared to that
query facility, entries can be searched for by specifying several of a news server, the installation of <b>ELOG</b> is much simpler.
categories. <p></p>
</ul><p> <li>
<b>Small Databases</b>. Since arbitrary attributes can be defined for a
<hr><a name="license"> logbook, it can be used as a small database with search facilities.
<div class=section>&nbsp; License &nbsp;</div> <p></p>
<p> <li>
<b>ELOG</b> is released under the <a href="http://www.gnu.org/copyleft/gpl.html"> <b>Problem collections</b>. A system can consist of two logbooks, in one of
GNU Public License</a>. which users enter bugs or problems. If someone adds a problem, an email is
<p> automatically sent to the administrator, who can then copy the entry to the
second logbook and add the solution to the problem. Users can then look up all
<hr><a name="credits"> fixed problems.
<div class=section>&nbsp; Credits &nbsp;</div> <p></p>
<p> <li>
The author would like to give credits to following people: <b>Shift Logbooks</b>. If the <i>Allow delete</i> and <i>Allow edit</i> flags
are off, an entry cannot be modified once it's been entered. This can be useful
<UL> for shift logbooks for example in accelerator control rooms where each entry
<LI><a href="mailto:fredp&#64dial.oleane.com">Fred Pacquier</a> for this Web site and the French translation becomes a "<I>document</I>" with a time and author stamp. <b>ELOG</b> was
<LI><a href="mailto:roktas&#64omu.edu.tr">Recai Oktas</a> for the Debian package originally developed as a shift logbook for the <a href="http://pibeta.psi.ch">PiBeta</a>
<LI><a href="mailto:djek&#64xs4all.nl">djek</a> for the Dutch translation and <a href="http://meg.psi.ch">Muegamma</a> particle experiments at <a href="http://www.psi.ch">
<LI><a href="mailto:Heiko.Scheit&#64mpi-hd.mpg.de">Heiko Scheit</a> for many bug fixes and fruitful discussions PSI</a>.
<LI><a href="mailto:jhcalvo&#64arnet.com.ar">Julio Calvo</a> for the Spanish translation <p></p>
</UL> <li>
<p> <b>File collections</b>. Since files can be attached to <b>ELOG</b> entries,
the system can be used to store and retrieve files. This can be used to store
<hr><a name="links"> configuration files, which need to be accessible by several people over the
<div class=section>&nbsp; Links &nbsp;</div> web, or to store images. Since <b>ELOG</b> features an elaborate query
<p> facility, entries can be searched for by specifying several categories.</li>
If your are reading this documentation from your local <b>ELOG</b> server, check for updates on the <a href="http://midas.psi.ch/elog/">ELOG Home Page</a>. </ul>
<p> <p>
See also the <b>ELOG</b> project pages on <hr>
<a href="http://sourceforge.net/projects/elog"> <a name="license">
<img align=middle src="http://sourceforge.net/sflogo.php?group_id=40505&type=1" <div class="section">&nbsp; License &nbsp;</div>
width="88" height="31" border="0" alt="SourceForge"></a> <p>
and <b>ELOG</b> is released under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU
<a href="http://freshmeat.net/projects/elog"> Public License</a>
<img align=middle border=0 src="http://images.freshmeat.net/logo.gif" alt="Freshmeat"></a> .
<p> <p>
<hr>
<HR> <a name="credits">
<div class=footer>&nbsp; <div class="section">&nbsp; Credits &nbsp;</div>
Content by <a class=nav href="mailto:Stefan.Ritt&#64;psi.ch">Stefan Ritt</a>, <p>
Web pages by <a class=nav href="mailto:fredp&#64;mygale.org">Fred Pacquier</a> The author would like to give credits to following people:
- last modified on 16/01/2002 <UL>
&nbsp;</div> <LI>
</BODY> <a href="mailto:fredp@dial.oleane.com">Fred Pacquier</a>
for this Web site and the French translation
<LI>
<a href="mailto:roktas@omu.edu.tr">Recai Oktas</a>
for the Debian package
<LI>
<a href="mailto:djek@xs4all.nl">djek</a>
for the Dutch translation
<LI>
<a href="mailto:Heiko.Scheit@mpi-hd.mpg.de">Heiko Scheit</a>
for many bug fixes and fruitful discussions
<LI>
<a href="mailto:jhcalvo@arnet.com.ar">Julio Calvo</a> for the Spanish
translation</LI>
</UL>
<p>
<hr>
<a name="links">
<div class="section">&nbsp; Links &nbsp;</div>
<p>
If your are reading this documentation from your local <b>ELOG</b> server,
check for updates on the <a href="http://midas.psi.ch/elog/">ELOG Home Page</a>
.
<p>
See also the <b>ELOG</b> project pages on <a href="http://sourceforge.net/projects/elog">
<img align="middle" src="http://sourceforge.net/sflogo.php?group_id=40505&amp;type=1"
width="88" height="31" border="0" alt="SourceForge"></a> and <a href="http://freshmeat.net/projects/elog">
<img align="middle" border="0" src="http://images.freshmeat.net/logo.gif" alt="Freshmeat"></a>
<p>
<HR>
<div class="footer">&nbsp; Content by <a class="nav" href="mailto:Stefan.Ritt@psi.ch">
Stefan Ritt</a>, Web pages by <a class="nav" href="mailto:fredp@mygale.org">Fred
Pacquier</a> - last modified on 16/01/2002 &nbsp;</div>
</BODY>
</HTML> </HTML>

View File

@ -73,7 +73,6 @@ Start date = Data inicial
End date = Data final End date = Data final
Year = Ano Year = Ano
Text = Texto Text = Texto
(case insensitive substring) = (substring insensível a maiúsculas/minúsculas)
Search all logbooks = Buscar em todos os logbooks Search all logbooks = Buscar em todos os logbooks
Last %d days = Últimos %d dias Last %d days = Últimos %d dias
Last %d entries = Últimas %d mensagems Last %d entries = Últimas %d mensagems
@ -341,3 +340,6 @@ 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 = Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions =
Case sensitive =
List =

View File

@ -77,7 +77,6 @@ Start date = Start dato
End date = Slut dato End date = Slut dato
Year = År Year = År
Text = Tekst Text = Tekst
(case insensitive substring) = (case insensitive tekst streng)
Search all logbooks = Søg i alle log bøger Search all logbooks = Søg i alle log bøger
Last %d days = Sidste %d dage Last %d days = Sidste %d dage
Last %d entries = Sidste %d indlæg Last %d entries = Sidste %d indlæg
@ -341,3 +340,6 @@ 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 = Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions =
Case sensitive =
List =

View File

@ -78,7 +78,6 @@ Start date = Startdatum
End date = Einddatum End date = Einddatum
Year = Jaar Year = Jaar
Text = Tekst Text = Tekst
(case insensitive substring) = (ongevoelig voor HOOFD -en kleineletters)
Search all logbooks = Alle Logboeken doorzoeken Search all logbooks = Alle Logboeken doorzoeken
Last %d days = Laatste %d dagen Last %d days = Laatste %d dagen
Last %d entries = Laatste %d berichten Last %d entries = Laatste %d berichten
@ -255,7 +254,6 @@ Entry time = Geef de tijd op
Start = Start Start = Start
End = Eind End = Eind
Remote entry received = Bericht van andere server ontvangen Remote entry received = Bericht van andere server ontvangen
>From = Van
After = Na After = Na
to = aan to = aan
Before = Voor Before = Voor
@ -340,3 +338,11 @@ 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 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
#
#---- please translate following items and then remove this comment ----#
#
Text fields may contain regular expressions =
Case sensitive =
From =
List =

View File

@ -76,7 +76,6 @@ Start date = Date de d
End date = Date de fin End date = Date de fin
Year = Année Year = Année
Text = Texte Text = Texte
(case insensitive substring) = (casse non prise en compte)
Search all logbooks = Chercher dans tous les registres Search all logbooks = Chercher dans tous les registres
Last %d days = %d Derniers jours Last %d days = %d Derniers jours
Last %d entries = %d Dernières entrées Last %d entries = %d Dernières entrées
@ -341,3 +340,6 @@ 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 = Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions =
Case sensitive =
List =

View File

@ -77,7 +77,6 @@ Start date = Anfangsdatum
End date = Enddatum End date = Enddatum
Year = Jahr Year = Jahr
Text = Text Text = Text
(case insensitive substring) = (Teilzeichenkette Großschreibung ignorieren)
Search all logbooks = Alle Logbücher durchsuchen Search all logbooks = Alle Logbücher durchsuchen
Last %d days = Letzte %d Tage Last %d days = Letzte %d Tage
Last %d entries = Letzte %d Einträge Last %d entries = Letzte %d Einträge
@ -325,19 +324,17 @@ You can "steal" the lock by editing this entry = Diese Sperre kann "gestohlen" w
Several logbooks groups are defined on this host = Mehrere Logbuch-Gruppen sind auf diesem Computer eingerichtet Several logbooks groups are defined on this host = Mehrere Logbuch-Gruppen sind auf diesem Computer eingerichtet
Please select one to list the logbooks in that group = Bitte eine auswählen, um die Logbücher in dieser Gruppe anzuzeigen Please select one to list the logbooks in that group = Bitte eine auswählen, um die Logbücher in dieser Gruppe anzuzeigen
No logbook defined on this server = Auf diesem Computer ist kein Logbuch eingerichtet No logbook defined on this server = Auf diesem Computer ist kein Logbuch eingerichtet
Goto ELOG home page = Zur ELOG Home Page
Please enter "%s" = Bitte "%s" eingeben
# Change config file = Konfigurationsdatei ändern
#---- please translate following items and then remove this comment ----# Please check that it exists and elogd has write access and disk is not full = Bitte überprüfen ob es existiert, ob elog Schreibzugriff hat und ob Festplatte nicht voll ist
# Show = Anzeigen
Goto ELOG home page = Hide = Verstecken
Please enter "%s" = Hide all = Alle verstecken
Change config file = Show all = Alle anzeigen
Please check that it exists and elogd has write access and disk is not full = This logbook requires authentication = Dieses Logbuch erfordert Authentifizierung
Show = Attachment file <b>"%s"</b> empty or not found = Datei <b>"%s"</b> ist leer oder nicht vorhanden
Hide = Please increase <b>"Max content length"</b> in config file = Bitte <b>"Max content length"</b> in Konfigurationsdatei erhöhen
Hide all = Text fields may contain regular expressions = Texteingabefelder können Reguläre Ausdrücke enthalten
Show all = Case sensitive = Großschrteibung beachten
This logbook requires authentication = List = Liste
Attachment file <b>"%s"</b> empty or not found =
Please increase <b>"Max content length"</b> in config file =

View File

@ -77,7 +77,6 @@ Start date = Data inizio
End date = Data fine End date = Data fine
Year = Anno Year = Anno
Text = Testo Text = Testo
(case insensitive substring) = (stringa non sensibile alle maiuscole)
Search all logbooks = Cerca in tutti i registri Search all logbooks = Cerca in tutti i registri
Last %d days = Ultimi %d giorni Last %d days = Ultimi %d giorni
Last %d entries = Ultimi %d elementi Last %d entries = Ultimi %d elementi
@ -340,3 +339,6 @@ 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 = Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions =
Case sensitive =
List =

View File

@ -66,7 +66,6 @@ Day =
Week = 週 Week = 週
Month = 月 Month = 月
End date = 終了日 End date = 終了日
(case insensitive substring) = (大文字小文字を区別しない)
Text = 本文 Text = 本文
Search text also in attributes = 属性内のテキストも検索 Search text also in attributes = 属性内のテキストも検索
Admin = 管理 Admin = 管理
@ -339,3 +338,6 @@ 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 = Please increase <b>"Max content length"</b> in config file =
Text fields may contain regular expressions =
Case sensitive =
List =

View File

@ -72,7 +72,6 @@ Start date = Fecha comienzo
End date = Fecha termino End date = Fecha termino
Year = Anio Year = Anio
Text = Texto Text = Texto
(case insensitive substring) = (subcadena no sensible a mayusculas)
Search all logbooks = Buscar en todos los logbooks Search all logbooks = Buscar en todos los logbooks
Last %d days = Ultimos %d dias Last %d days = Ultimos %d dias
Last %d entries = Ultimas %d Entradas Last %d entries = Ultimas %d Entradas
@ -279,7 +278,6 @@ Error sending local message = Error al enviar mensaje local
Error receiving message = Error al recibir mensaje Error receiving message = Error al recibir mensaje
Edit entry = Editar entrada Edit entry = Editar entrada
Delete entry = Borrar entrada Delete entry = Borrar entrada
>From = Desde
No 'Attributes' option present in %s = No se encuentra presente la opcion 'Attributes' en %s No 'Attributes' option present in %s = No se encuentra presente la opcion 'Attributes' en %s
CSV ("," separated) = Control de Version (separado por ",") CSV ("," separated) = Control de Version (separado por ",")
CSV (";" separated) = Control de Version (separado por ";") CSV (";" separated) = Control de Version (separado por ";")
@ -334,3 +332,11 @@ 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 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 ----#
#
Text fields may contain regular expressions =
Case sensitive =
From =
List =

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.507 2004/11/03 10:01:48 midas
Version 2.5.5
Revision 1.506 2004/11/01 12:26:33 midas Revision 1.506 2004/11/01 12:26:33 midas
Replaced 'Back' by 'List' on single entry display page Replaced 'Back' by 'List' on single entry display page
@ -72,7 +75,6 @@
Revision 1.485 2004/09/24 20:40:25 midas Revision 1.485 2004/09/24 20:40:25 midas
Added cvs_revision Added cvs_revision
Revision 1.483 2004/09/24 16:07:07 midas Revision 1.483 2004/09/24 16:07:07 midas
Display first/previous/next/last directly as link if first.gif is missing Display first/previous/next/last directly as link if first.gif is missing
@ -146,7 +148,7 @@
Added more debugging info Added more debugging info
Revision 1.459 2004/08/11 14:03:35 midas Revision 1.459 2004/08/11 14:03:35 midas
Implemented possibility to server .html files through elog Implemented possibility to serve .html files through elog
Revision 1.458 2004/08/11 06:41:35 midas Revision 1.458 2004/08/11 06:41:35 midas
Release 2.5.4-2 Release 2.5.4-2
@ -630,7 +632,7 @@
\********************************************************************/ \********************************************************************/
/* Version of ELOG */ /* Version of ELOG */
#define VERSION "2.5.4-6" #define VERSION "2.5.5"
char cvs_revision[] = "$Id$"; char cvs_revision[] = "$Id$";
/* ELOG identification */ /* ELOG identification */
@ -4520,7 +4522,7 @@ int el_submit(LOGBOOK * lbs, int message_id, BOOL bedit,
strlcat(message, "\n", TEXT_SIZE + 100); strlcat(message, "\n", TEXT_SIZE + 100);
n = write(fh, message, strlen(message)); n = write(fh, message, strlen(message));
if (n != (int)strlen(message)) { if (n != (int) strlen(message)) {
if (tail_size > 0) if (tail_size > 0)
xfree(buffer); xfree(buffer);
close(fh); close(fh);
@ -5158,10 +5160,8 @@ int is_ascii(char *file_name)
int is_image(char *att) int is_image(char *att)
{ {
return (stristr(att, ".GIF") != NULL) || return (stristr(att, ".GIF") != NULL) ||
(stristr(att, ".JPG") != NULL) || (stristr(att, ".JPG") != NULL) || (stristr(att, ".JPEG") != NULL) || (stristr(att, ".PNG") != NULL);
(stristr(att, ".JPEG") != NULL) ||
(stristr(att, ".PNG") != NULL) ;
} }
/*------------------------------------------------------------------*/ /*------------------------------------------------------------------*/
@ -6724,7 +6724,7 @@ void send_file_direct(char *file_name)
rsprintf("Content-Type: %s;charset=%s\r\n", filetype[i].type, charset); rsprintf("Content-Type: %s;charset=%s\r\n", filetype[i].type, charset);
else else
rsprintf("Content-Type: %s\r\n", filetype[i].type); rsprintf("Content-Type: %s\r\n", filetype[i].type);
} else if (is_ascii(file_name)) } else if (is_ascii(file_name))
rsprintf("Content-Type: text/plain;charset=%s\r\n", charset); rsprintf("Content-Type: text/plain;charset=%s\r\n", charset);
else else
rsprintf("Content-Type: application/octet-stream;charset=%s\r\n", charset); rsprintf("Content-Type: application/octet-stream;charset=%s\r\n", charset);
@ -8657,7 +8657,8 @@ void show_find_form(LOGBOOK * lbs)
rsprintf("</td></tr>\n"); rsprintf("</td></tr>\n");
rsprintf("<tr><td class=\"form2\"><b>%s:</b>", loc("Filters")); rsprintf("<tr><td class=\"form2\"><b>%s:</b>", loc("Filters"));
rsprintf("&nbsp;&nbsp;<span class=\"selcomment\">(%s)</span><br>", loc("Text fields may contain regular expressions")); rsprintf("&nbsp;&nbsp;<span class=\"selcomment\">(%s)</span><br>",
loc("Text fields may contain regular expressions"));
/* table for two-column items */ /* table for two-column items */
rsprintf("<table width=\"100%%\" cellspacing=0>\n"); rsprintf("<table width=\"100%%\" cellspacing=0>\n");
@ -12345,7 +12346,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
mprint(lbs, mode, error_str); mprint(lbs, mode, error_str);
else else
mprint(lbs, mode, "Remote config received"); mprint(lbs, mode, "Remote config received");
md5_cache[0].message_id = -1; md5_cache[0].message_id = -1;
} else } else
mprint(lbs, mode, loc("Remote config should be received")); mprint(lbs, mode, loc("Remote config should be received"));
@ -12418,7 +12419,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
/* submit local message */ /* submit local message */
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
submit_message(lbs, list[index], message_id, error_str); submit_message(lbs, list[index], message_id, error_str);
/* not that submit_message() may have changed attr_list !!! */ /* not that submit_message() may have changed attr_list !!! */
@ -12435,7 +12436,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
mprint(lbs, mode, str); mprint(lbs, mode, str);
} }
} else } else
/* if message has been changed remotely, but not on this server, receive it */ /* if message has been changed remotely, but not on this server, receive it */
if (!equal_md5(md5_cache[i_cache].md5_digest, md5_remote[i_remote].md5_digest) if (!equal_md5(md5_cache[i_cache].md5_digest, md5_remote[i_remote].md5_digest)
@ -12536,7 +12537,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
/* submit local message */ /* submit local message */
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
submit_message(lbs, list[index], message_id, error_str); submit_message(lbs, list[index], message_id, error_str);
/* not that submit_message() may have changed attr_list !!! */ /* not that submit_message() may have changed attr_list !!! */
@ -12572,13 +12573,14 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
rsprintf("ID%d:\t%s\n", message_id, str); rsprintf("ID%d:\t%s\n", message_id, str);
n_delete++; n_delete++;
} if (!isparam("confirm") && mode == SYNC_CLONE) { }
if (!isparam("confirm") && mode == SYNC_CLONE) {
sprintf(str, "ID%d:\t%s", message_id, loc("Entry should be deleted locally")); sprintf(str, "ID%d:\t%s", message_id, loc("Entry should be deleted locally"));
mprint(lbs, mode, str); mprint(lbs, mode, str);
} else { } else {
all_identical = FALSE; all_identical = FALSE;
if (mode == SYNC_CLONE) { if (mode == SYNC_CLONE) {
@ -12597,7 +12599,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
write_logfile(lbs, "MIRROR delete local entry #%d", message_id); write_logfile(lbs, "MIRROR delete local entry #%d", message_id);
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
el_delete_message(lbs, message_id, TRUE, NULL, TRUE, TRUE); el_delete_message(lbs, message_id, TRUE, NULL, TRUE, TRUE);
sprintf(str, "ID%d:\t%s", message_id, loc("Entry deleted locally")); sprintf(str, "ID%d:\t%s", message_id, loc("Entry deleted locally"));
@ -12628,15 +12630,15 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
remote_id = 0; remote_id = 0;
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
remote_id = submit_message(lbs, list[index], message_id, error_str); remote_id = submit_message(lbs, list[index], message_id, error_str);
if (error_str[0]) if (error_str[0])
sprintf(str, "%s: %s", loc("Error sending local entry"), error_str); sprintf(str, "%s: %s", loc("Error sending local entry"), error_str);
else if (remote_id != message_id) else if (remote_id != message_id)
sprintf(str, sprintf(str,
"Error: Submitting entry #%d resulted in remote entry #%d\n", "Error: Submitting entry #%d resulted in remote entry #%d\n",
message_id, remote_id); message_id, remote_id);
else else
sprintf(str, "ID%d:\t%s", message_id, loc("Local entry submitted")); sprintf(str, "ID%d:\t%s", message_id, loc("Local entry submitted"));
mprint(lbs, mode, str); mprint(lbs, mode, str);
@ -12669,7 +12671,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
/* rearrange local message not to conflict with remote message */ /* rearrange local message not to conflict with remote message */
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
el_move_message(lbs, message_id, max_id + 1); el_move_message(lbs, message_id, max_id + 1);
sprintf(str, "ID%d:\t", message_id); sprintf(str, "ID%d:\t", message_id);
@ -12780,7 +12782,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
combine_url(lbs, list[index], "", str, sizeof(str)); combine_url(lbs, list[index], "", str, sizeof(str));
sprintf(rem_ref, "<a href=\"http://%s%d\">%s</a>", str, sprintf(rem_ref, "<a href=\"http://%s%d\">%s</a>", str,
message_id, loc("Remote entry")); message_id, loc("Remote entry"));
sprintf(str, loc("%s should be deleted"), rem_ref); sprintf(str, loc("%s should be deleted"), rem_ref);
rsprintf("ID%d:\t%s\n", message_id, str); rsprintf("ID%d:\t%s\n", message_id, str);
@ -12800,7 +12802,7 @@ void synchronize_logbook(LOGBOOK * lbs, int mode, BOOL sync_all)
combine_url(lbs, list[index], str, url, sizeof(url)); combine_url(lbs, list[index], str, url, sizeof(url));
if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str)) if (!getcfg(lbs->name, "Mirror simulate", str, sizeof(str))
|| atoi(str) == 0) { || atoi(str) == 0) {
retrieve_url(url, &buffer, NULL); retrieve_url(url, &buffer, NULL);
if (strstr(buffer, "Location: ")) { if (strstr(buffer, "Location: ")) {
@ -14310,15 +14312,16 @@ void show_rss_feed(LOGBOOK * lbs)
text = xmalloc(TEXT_SIZE); text = xmalloc(TEXT_SIZE);
message_id = el_search_message(lbs, EL_LAST, 0, FALSE); message_id = el_search_message(lbs, EL_LAST, 0, FALSE);
for (index = 0 ; index < n ; index++) { for (index = 0; index < n; index++) {
rsprintf("<item>\n"); rsprintf("<item>\n");
size = TEXT_SIZE; size = TEXT_SIZE;
status = el_retrieve(lbs, message_id, date, attr_list, attrib, status = el_retrieve(lbs, message_id, date, attr_list, attrib,
lbs->n_attr, text, &size, NULL, NULL, NULL, NULL, NULL); lbs->n_attr, text, &size, NULL, NULL, NULL, NULL, NULL);
if (getcfg(lbs->name, "RSS Title", title, sizeof(title))) { if (getcfg(lbs->name, "RSS Title", title, sizeof(title))) {
i = build_subst_list(lbs, (char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, attrib, TRUE); i = build_subst_list(lbs, (char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, attrib,
TRUE);
sprintf(str, "%d", message_id); sprintf(str, "%d", message_id);
add_subst_list((char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, "message id", str, &i); add_subst_list((char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, "message id", str, &i);
add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue,
@ -14330,7 +14333,7 @@ void show_rss_feed(LOGBOOK * lbs)
title[0] = 0; title[0] = 0;
for (i = 0; i < lbs->n_attr; i++) { for (i = 0; i < lbs->n_attr; i++) {
strlcat(title, attrib[i], sizeof(title)); strlcat(title, attrib[i], sizeof(title));
if (i < lbs->n_attr-1) if (i < lbs->n_attr - 1)
strlcat(title, ", ", sizeof(title)); strlcat(title, ", ", sizeof(title));
} }
@ -14342,7 +14345,7 @@ void show_rss_feed(LOGBOOK * lbs)
rsprintf("<link>"); rsprintf("<link>");
strcpy(str, url); strcpy(str, url);
sprintf(str+strlen(str), "/%d", message_id); sprintf(str + strlen(str), "/%d", message_id);
xmlencode(str); xmlencode(str);
rsprintf("</link>\n"); rsprintf("</link>\n");
@ -14384,7 +14387,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
struct tm tms, *ptms; struct tm tms, *ptms;
MSG_LIST *msg_list; MSG_LIST *msg_list;
LOGBOOK *lbs_cur; LOGBOOK *lbs_cur;
regex_t re_buf[MAX_N_ATTR+1]; regex_t re_buf[MAX_N_ATTR + 1];
regmatch_t pmatch[10]; regmatch_t pmatch[10];
/* redirect if enpty parameters */ /* redirect if enpty parameters */
@ -14753,8 +14756,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
/* if value starts with '$', substitute it */ /* if value starts with '$', substitute it */
if (str[0] == '$') { if (str[0] == '$') {
j = build_subst_list(lbs, j = build_subst_list(lbs,
(char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) slist, (char (*)[NAME_LENGTH]) svalue, attrib, TRUE);
(char (*)[NAME_LENGTH]) svalue, attrib, TRUE);
add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist, add_subst_time(lbs, (char (*)[NAME_LENGTH]) slist,
(char (*)[NAME_LENGTH]) svalue, "entry time", date, &j); (char (*)[NAME_LENGTH]) svalue, "entry time", date, &j);
@ -14762,12 +14764,12 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
setparam(attr_list[i], str); setparam(attr_list[i], str);
} }
flags = REG_EXTENDED; flags = REG_EXTENDED;
if (!isparam("casesensitive")) if (!isparam("casesensitive"))
flags |= REG_ICASE; flags |= REG_ICASE;
regcomp(re_buf+i+1, str, flags); regcomp(re_buf + i + 1, str, flags);
} }
} }
@ -14838,7 +14840,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
text1[j] = toupper(attrib[i][j]); text1[j] = toupper(attrib[i][j]);
text1[j] = 0; text1[j] = 0;
status = regexec(re_buf+1+i, attrib[i], 10, pmatch, 0); status = regexec(re_buf + 1 + i, attrib[i], 10, pmatch, 0);
if (status == REG_NOMATCH) if (status == REG_NOMATCH)
break; break;
} }
@ -14873,7 +14875,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
status = regexec(re_buf, text, 10, pmatch, 0); status = regexec(re_buf, text, 10, pmatch, 0);
if (atoi(getparam("sall")) && status == REG_NOMATCH) { if (atoi(getparam("sall")) && status == REG_NOMATCH) {
// search text in attributes // search text in attributes
for (i = 0; i < lbs->n_attr; i++) { for (i = 0; i < lbs->n_attr; i++) {
status = regexec(re_buf, attrib[i], 10, pmatch, 0); status = regexec(re_buf, attrib[i], 10, pmatch, 0);
@ -15043,7 +15045,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
} else } else
rsprintf("\r\n"); rsprintf("\r\n");
} }
} else if (xml) { } else if (xml) {
/* no menus and tables */ /* no menus and tables */
@ -15525,14 +15527,14 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
if (*getparam("subtext")) { if (*getparam("subtext")) {
/* /*
strcpy(str, getparam("subtext")); strcpy(str, getparam("subtext"));
for (i = 0; i < (int) strlen(str); i++) for (i = 0; i < (int) strlen(str); i++)
str[i] = toupper(str[i]); str[i] = toupper(str[i]);
for (i = 0; i < (int) strlen(text); i++) for (i = 0; i < (int) strlen(text); i++)
text1[i] = toupper(text[i]); text1[i] = toupper(text[i]);
text1[i] = 0; text1[i] = 0;
*/ */
text1[0] = 0; text1[0] = 0;
pt = text; /* original text */ pt = text; /* original text */
@ -15561,7 +15563,7 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
pt1 += strlen(pt1); pt1 += strlen(pt1);
/* copy origial search text */ /* copy origial search text */
size = pmatch[0].rm_eo-pmatch[0].rm_so; size = pmatch[0].rm_eo - pmatch[0].rm_so;
memcpy(pt1, pt, size); memcpy(pt1, pt, size);
pt1 += size; pt1 += size;
pt += size; pt += size;
@ -15640,8 +15642,8 @@ void show_elog_list(LOGBOOK * lbs, INT past_n, INT last_n, INT page_n, char *inf
} }
regfree(re_buf); regfree(re_buf);
for (i = 0; i < lbs->n_attr; i++) for (i = 0; i < lbs->n_attr; i++)
regfree(re_buf+1+i); regfree(re_buf + 1 + i);
xfree(slist); xfree(slist);
@ -17026,7 +17028,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
/* check if first.gif exists, just put link there if not */ /* check if first.gif exists, just put link there if not */
strlcpy(file_name, resource_dir, sizeof(file_name)); strlcpy(file_name, resource_dir, sizeof(file_name));
if (file_name[0] && file_name[strlen(file_name)- 1] != DIR_SEPARATOR) if (file_name[0] && file_name[strlen(file_name) - 1] != DIR_SEPARATOR)
strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name)); strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name));
strlcat(file_name, "themes", sizeof(file_name)); strlcat(file_name, "themes", sizeof(file_name));
strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name)); strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name));
@ -17035,7 +17037,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name)); strlcat(file_name, DIR_SEPARATOR_STR, sizeof(file_name));
} }
strlcat(file_name, "first.gif", sizeof(file_name)); strlcat(file_name, "first.gif", sizeof(file_name));
if (stat(file_name, &st) >=0) { if (stat(file_name, &st) >= 0) {
rsprintf("<input type=image name=cmd_first alt=\"%s\" src=\"first.gif\">\n", loc("First entry")); rsprintf("<input type=image name=cmd_first alt=\"%s\" src=\"first.gif\">\n", loc("First entry"));
rsprintf("<input type=image name=cmd_previous alt=\"%s\" src=\"previous.gif\">\n", rsprintf("<input type=image name=cmd_previous alt=\"%s\" src=\"previous.gif\">\n",
loc("Previous entry")); loc("Previous entry"));
@ -17451,7 +17453,7 @@ void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command)
strcpy(str, attachment[index]); strcpy(str, attachment[index]);
str[13] = 0; str[13] = 0;
strcpy(file_enc, attachment[index] + 14); strcpy(file_enc, attachment[index] + 14);
url_encode(file_enc, sizeof(file_enc)); /* for file names with special characters like "+" */ url_encode(file_enc, sizeof(file_enc)); /* for file names with special characters like "+" */
sprintf(ref, "%s/%s", str, file_enc); sprintf(ref, "%s/%s", str, file_enc);
/* overall table */ /* overall table */
@ -18115,8 +18117,9 @@ void show_logbook_node(LBLIST plb, LBLIST pparent, int level, int btop)
if (getcfg(lb_list[index].name, "Read password", str, sizeof(str)) if (getcfg(lb_list[index].name, "Read password", str, sizeof(str))
|| (getcfg(lb_list[index].name, "Password file", str, sizeof(str)) || (getcfg(lb_list[index].name, "Password file", str, sizeof(str))
&& !getcfg(lb_list[index].name, "Guest menu commands", str, sizeof(str)))) && !getcfg(lb_list[index].name, "Guest menu commands", str, sizeof(str))))
rsprintf("&nbsp;&nbsp;<img src=\"lock.gif\" alt=\"%s\" title=\"%s\">", rsprintf("&nbsp;&nbsp;<img src=\"lock.gif\" alt=\"%s\" title=\"%s\">",
loc("This logbook requires authentication"), loc("This logbook requires authentication")); loc("This logbook requires authentication"),
loc("This logbook requires authentication"));
rsprintf("<br>\n"); rsprintf("<br>\n");
str[0] = 0; str[0] = 0;
getcfg(lb_list[index].name, "Comment", str, sizeof(str)); getcfg(lb_list[index].name, "Comment", str, sizeof(str));
@ -18820,7 +18823,7 @@ void interprete(char *lbook, char *path)
strlcpy(css, str, sizeof(css)); strlcpy(css, str, sizeof(css));
else if (lbs == NULL && getcfg("global", "CSS", str, sizeof(str))) else if (lbs == NULL && getcfg("global", "CSS", str, sizeof(str)))
strlcpy(css, str, sizeof(css)); strlcpy(css, str, sizeof(css));
/* check if guest access */ /* check if guest access */
if (!(getcfg(lbs->name, "Guest menu commands", str, sizeof(str)) if (!(getcfg(lbs->name, "Guest menu commands", str, sizeof(str))
&& *getparam("unm") == 0 && !isparam("wpwd") && *getparam("unm") == 0 && !isparam("wpwd")
@ -19811,7 +19814,7 @@ void server_loop(void)
/* about to entering the server loop, welcome user with a brief info */ /* about to entering the server loop, welcome user with a brief info */
eprintf("%s ", ELOGID); eprintf("%s ", ELOGID);
strcpy(str, cvs_revision+15); strcpy(str, cvs_revision + 15);
if (strchr(str, ' ')) if (strchr(str, ' '))
*strchr(str, ' ') = 0; *strchr(str, ' ') = 0;
eprintf("revision %s\n", str); eprintf("revision %s\n", str);
@ -21475,7 +21478,7 @@ int main(int argc, char *argv[])
setparam("confirm", "yes"); setparam("confirm", "yes");
if (logbook[0]) { if (logbook[0]) {
for (i=0 ; lb_list[i].name[0] ; i++) for (i = 0; lb_list[i].name[0]; i++)
if (stricmp(lb_list[i].name, logbook)) if (stricmp(lb_list[i].name, logbook))
break; break;
if (!lb_list[i].name[0]) { if (!lb_list[i].name[0]) {