mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-08 17:13:56 +00:00
Version 2.5.5
SVN revision: 1125
This commit is contained in:
parent
8727fbf87c
commit
1cf1b48dc3
@ -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"
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
================================--======
|
================================--======
|
||||||
|
|
||||||
|
|||||||
381
doc/index.html
381
doc/index.html
@ -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@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"> The ELOG Home Page </div>
|
||||||
|
<p>
|
||||||
<div class=title> The ELOG Home Page </div>
|
<div class="menu"> Site map : [Home] [<a class="nav" href="userguide.html">User's
|
||||||
<p>
|
Guide</a>] [<a class="nav" href="adminguide.html">Administrator's
|
||||||
<div class=menu> Site map :
|
Guide</a>] [<a class="nav" href="faq.html">FAQ</a>]
|
||||||
[Home]
|
[<a class="nav" href="wishlist.html">Wishlist</a>] [<a class="nav" href="contrib.html">Contributions</a>]
|
||||||
[<a class=nav href="userguide.html">User's Guide</a>]
|
[<a class="nav" href="http://midas.psi.ch/elogs/Linux%20Demo/">DEMO</a>]
|
||||||
[<a class=nav href="adminguide.html">Administrator's Guide</a>]
|
[<a class="nav" href="download.html">Download</a>]
|
||||||
[<a class=nav href="faq.html">FAQ</a>]
|
</div>
|
||||||
[<a class=nav href="wishlist.html">Wishlist</a>]
|
<p>
|
||||||
[<a class=nav href="contrib.html">Contributions</a>]
|
<div class="menu"> * this section : [<a class="nav" href="#whatis">What
|
||||||
[<a class=nav href="http://midas.psi.ch/elogs/Linux%20Demo/">DEMO</a>]
|
is ELOG ?</a>] [<a class="nav" href="#screenshots">Screen shots</a>]
|
||||||
[<a class=nav href="download.html">Download</a>]
|
[<a class="nav" href="#usecases">Use cases</a>] [<a class="nav" href="#license">License</a>]
|
||||||
</div>
|
[<a class="nav" href="#links">Links</a>] * </div>
|
||||||
<p>
|
<P class="Sub">Home of the <i>Electronic Logbook</i> package by <a href="mailto:Stefan.Ritt@psi.ch">
|
||||||
<div class=menu> * this section :
|
Stefan Ritt</a></P>
|
||||||
[<a class=nav href="#whatis">What is ELOG ?</a>]
|
<div class="version">Current version is : 2.5.5</div>
|
||||||
[<a class=nav href="#screenshots">Screen shots</a>]
|
<hr>
|
||||||
[<a class=nav href="#usecases">Use cases</a>]
|
<a name="whatis">
|
||||||
[<a class=nav href="#license">License</a>]
|
<div class="section"> What is ELOG ? </div>
|
||||||
[<a class=nav href="#links">Links</a>]
|
<p>
|
||||||
* </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@psi.ch">Stefan Ritt</a></P>
|
. Their general purpose is :
|
||||||
<div class=version> Current version is : 2.5.4 </div>
|
<p>
|
||||||
|
<ol>
|
||||||
<hr><a name="whatis">
|
<li>
|
||||||
<div class=section> What is ELOG ? </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> Screen shots </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"> Screen shots </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> Use cases </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"> Use cases </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> License </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> Credits </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@dial.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@omu.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@xs4all.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@mpi-hd.mpg.de">Heiko Scheit</a> for many bug fixes and fruitful discussions
|
PSI</a>.
|
||||||
<LI><a href="mailto:jhcalvo@arnet.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> Links </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"> License </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>
|
<div class="section"> Credits </div>
|
||||||
Content by <a class=nav href="mailto:Stefan.Ritt@psi.ch">Stefan Ritt</a>,
|
<p>
|
||||||
Web pages by <a class=nav href="mailto:fredp@mygale.org">Fred Pacquier</a>
|
The author would like to give credits to following people:
|
||||||
- last modified on 16/01/2002
|
<UL>
|
||||||
</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"> Links </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&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"> 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 </div>
|
||||||
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
111
src/elogd.c
111
src/elogd.c
@ -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(" <span class=\"selcomment\">(%s)</span><br>", loc("Text fields may contain regular expressions"));
|
rsprintf(" <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(" <img src=\"lock.gif\" alt=\"%s\" title=\"%s\">",
|
rsprintf(" <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]) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user