Changeset - r16:b02d1f078d98
[Not reviewed]
default
0 5 1
Wolfgang Scherer (ws) - 13 years ago 2012-03-31 00:47:37
wolfgang.scherer@gmx.de
doc/index-template.txt: Add javascript to add a trailing slash, if the URL does not end in `.html' or a `/'.
This is needed for bitbucket.org to make relative links work.
6 files changed with 42 insertions and 10 deletions:
0 comments (0 inline, 0 general)
doc/Makefile
Show inline comments
 
# -*- makefile -*-
 

	
 
top_srcdir = ..
 
srcdir = .
 

	
 
base_dir=$(shell pwd)
 

	
 
INPUTS =
 
TXTS = 
 
HTML_TXTS = 
 
EXTRA_DIST =
 
CLEANFILES =
 

	
 
TXTS += README.txt
 
TXTS += README-de.txt
 
HTML_TXTS += index.txt
 
HTML_TXTS += README-GFDL.txt
 
HTML_TXTS += README-COPYING.txt
 

	
 
# use cp for Windows
 
LN_S = cp
 
LN_S = ln -s
 

	
 
TXT_PDFS = $(patsubst %.txt,%.pdf,$(TXTS))
 
TXT_HTMLS = $(patsubst %.txt,%.html,$(TXTS)) $(patsubst %.txt,%.html,$(HTML_TXTS))
 
#CLEANFILES += $(TXT_PDFS)
 
#CLEANFILES += $(TXT_HTMLS)
 

	
 
SNIPPETS = ../lib/snippets.pl
 

	
 
DISTFILES =
 
DISTFILES += Makefile
 
DISTFILES += $(TXTS)
 
DISTFILES += $(TXT_PDFS)
 
DISTFILES += $(TXT_HTMLS)
 
DISTFILES += $(EXTRA_DIST)
 

	
 
%: %.in
 
	cat $< | $(SNIPPETS) --process --replace --mode text --key base_dir --value $(base_dir) --cat - >$@
 
	test -s $@ || ( rm -f $@ && test 1 = 0 )
 

	
 
%.html: %.txt
 
%.html: %.txt docutils.conf
 
	cat $< | PYTHONPATH="$$( pwd )" tools/ws_rst2html.py --traceback --cloak-email-addresses >$@
 
	test -s $@ || (rm -f $@ && exit 1)
 

	
 
%.pdf: %.txt
 
%.pdf: %.txt docutils.conf
 
	cat $< | PYTHONPATH="$$( pwd )" tools/ws_rst2pdf -e ws_docutils.raw_role >$@
 
	test -s $@ || (rm -f $@ && exit 1)
 

	
 
default: all
 

	
 
index.html: index.txt index-template.txt docutils.conf
 
	cat $< | PYTHONPATH="$$( pwd )" tools/ws_rst2html.py --template index-template.txt --traceback --cloak-email-addresses >$@
 
	test -s $@ || (rm -f $@ && exit 1)
 

	
 
all: $(DISTFILES) all-local
 

	
 
all-local:
 

	
 
clean: clean-local
 
	test -z '$(CLEANFILES)' || rm -rf $(CLEANFILES)
 

	
 
clean-local:
 
	find . -name '*.pyc' | xargs -r rm 
 

	
 
install_top_dir = ../../wolfmanx.bitbucket.org
 
install_dir = $(install_top_dir)/ws-vacation
 

	
 
install: all
 
	@(						\
 
	test ! -d $(install_top_dir) ||			\
 
	(						\
 
	mkdir -p $(install_dir);			\
 
	list='$(TXT_HTMLS)'; test -z "$$list" ||	\
 
	for file in $$list; do				\
 
	    echo "cp $$file $(install_dir)/";		\
 
	    cp $$file $(install_dir)/;			\
 
	done;						\
 
	)						\
 
	)
 

	
 
dist:
 

	
 
tags-rc:
 
	gen_tags.sh --template
 
tags:
 
	gen_tags.sh --force
 

	
 
README.txt: ../README.txt
 
	rm -f $@
 
	$(LN_S) ../$@ $@
 

	
 
# |:here:|
 
# :ide-menu: Emacs IDE Main Menu - Buffer @BUFFER@
 
# . M-x `eIDE-menu' ()(eIDE-menu "z")
 

	
 
# :ide: COMPILE: tags
 
# . (let ((args "tags")) (compile (concat "make -k " args)))
 

	
 
# :ide: COMPILE: dist
 
# . (let ((args "dist")) (compile (concat "make -k " args)))
 

	
 
# :ide: COMPILE: install
 
# . (let ((args "install")) (compile (concat "make -k " args)))
 

	
 
# :ide: COMPILE: clean
 
# . (let ((args "clean")) (compile (concat "make -k " args)))
 

	
 
# :ide: COMPILE: Standard
 
# . (let ((args "")) (compile (concat "make -k " args)))
 
#
 
# Local Variables:
 
# mode: makefile
 
# snip-mode: makefile-gmake
 
# truncate-lines: t
 
# End:
doc/README-de.pdf
Show inline comments
 
%PDF-1.4
 
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
 
% 'BasicFonts': class PDFDictionary 
 
1 0 obj
 
% The standard fonts dictionary
 
<< /F1 2 0 R
 
 /F2 3 0 R
 
 /F3 11 0 R
 
 /F4 12 0 R
 
 /F5 14 0 R >>
 
endobj
 
% 'F1': class PDFType1Font 
 
2 0 obj
 
% Font Helvetica
 
<< /BaseFont /Helvetica
 
 /Encoding /WinAnsiEncoding
 
 /Name /F1
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'F2': class PDFType1Font 
 
3 0 obj
 
% Font Helvetica-Bold
 
<< /BaseFont /Helvetica-Bold
 
 /Encoding /WinAnsiEncoding
 
 /Name /F2
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Annot.NUMBER1': class PDFDictionary 
 
4 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (mailto:sw@wiedenmann-seile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 153.7323
 
 689.7736
 
 526.5827
 
 701.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER2': class LinkAnnotation 
 
5 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Rect [ 62.69291
 
 632.7736
 
 115.4829
 
 644.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER3': class LinkAnnotation 
 
6 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Rect [ 527.0227
 
 632.7736
 
 532.5827
 
 644.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER4': class LinkAnnotation 
 
7 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 219.2236
 
 0 ]
 
 /Rect [ 62.69291
 
 614.7736
 
 158.2629
 
 626.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER5': class LinkAnnotation 
 
8 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 219.2236
 
 0 ]
 
 /Rect [ 527.0227
 
 614.7736
 
 532.5827
 
 626.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER6': class LinkAnnotation 
 
9 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 660.8661
 
 0 ]
 
 /Rect [ 62.69291
 
 596.7736
 
 117.1429
 
 608.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER7': class LinkAnnotation 
 
10 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 660.8661
 
 0 ]
 
 /Rect [ 527.0227
 
 596.7736
 
 532.5827
 
 608.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'F3': class PDFType1Font 
 
11 0 obj
 
% Font Helvetica-Oblique
 
<< /BaseFont /Helvetica-Oblique
 
 /Encoding /WinAnsiEncoding
 
 /Name /F3
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'F4': class PDFType1Font 
 
12 0 obj
 
% Font Courier
 
<< /BaseFont /Courier
 
 /Encoding /WinAnsiEncoding
 
 /Name /F4
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Page1': class PDFPage 
 
13 0 obj
 
% Page dictionary
 
<< /Annots [ 4 0 R
 
 5 0 R
 
 6 0 R
 
 7 0 R
 
 8 0 R
 
 9 0 R
 
 10 0 R ]
 
 /Contents 26 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 25 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'F5': class PDFType1Font 
 
14 0 obj
 
% Font Helvetica-BoldOblique
 
<< /BaseFont /Helvetica-BoldOblique
 
 /Encoding /WinAnsiEncoding
 
 /Name /F5
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Annot.NUMBER8': class PDFDictionary 
 
15 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (mailto:sw@wiedenmann-seile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 251.1715
 
 490.6161
 
 368.0215
 
 502.6161 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER9': class PDFDictionary 
 
16 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.wiedenmannseile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 448.1127
 
 490.6161
 
 531.179
 
 502.6161 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER10': class PDFDictionary 
 
17 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.wiedenmannseile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 62.69291
 
 478.6161
 
 91.58291
 
 490.6161 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Page2': class PDFPage 
 
18 0 obj
 
% Page dictionary
 
<< /Annots [ 15 0 R
 
 16 0 R
 
 17 0 R ]
 
 /Contents 27 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 25 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'R19': class PDFCatalog 
 
19 0 obj
 
% Document Root
 
<< /Outlines 21 0 R
 
 /PageLabels 28 0 R
 
 /PageMode /UseNone
 
 /Pages 25 0 R
 
 /Type /Catalog >>
 
endobj
 
% 'R20': class PDFInfo 
 
20 0 obj
 
<< /Author (Wolfgang Scherer)
 
 /CreationDate (D:20120330020520-01'00')
 
 /CreationDate (D:20120331000242-01'00')
 
 /Creator (\(unspecified\))
 
 /Keywords ()
 
 /Producer (ReportLab PDF Library - www.reportlab.com)
 
 /Subject (\(unspecified\))
 
 /Title (Wiedenmann Vacation) >>
 
endobj
 
% 'R21': class PDFOutlines 
 
21 0 obj
 
<< /Count 3
 
 /First 22 0 R
 
 /Last 24 0 R
 
 /Type /Outlines >>
 
endobj
 
% 'Outline.0': class OutlineEntryObject 
 
22 0 obj
 
<< /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Next 23 0 R
 
 /Parent 21 0 R
 
 /Title (Installation) >>
 
endobj
 
% 'Outline.1': class OutlineEntryObject 
 
23 0 obj
 
<< /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 219.2236
 
 0 ]
 
 /Next 24 0 R
 
 /Parent 21 0 R
 
 /Prev 22 0 R
 
 /Title (Benutzerverwaltung) >>
 
endobj
 
% 'Outline.2': class OutlineEntryObject 
 
24 0 obj
 
<< /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 660.8661
 
 0 ]
 
 /Parent 21 0 R
 
 /Prev 23 0 R
 
 /Title (Anpassung) >>
 
endobj
 
% 'R25': class PDFPages 
 
25 0 obj
 
% page tree
 
<< /Count 2
 
 /Kids [ 13 0 R
 
 18 0 R ]
 
 /Type /Pages >>
 
endobj
 
% 'R26': class PDFStream 
 
26 0 obj
 
% page stream
 
<< /Length 6383 >>
 
stream
 
1 0 0 1 0 0 cm  BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 741.0236 cm
 
q
 
BT 1 0 0 1 0 4 Tm 128.2549 0 Td 24 TL /F2 20 Tf 0 0 0 rg (Wiedenmann Vacation) Tj T* -128.2549 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 711.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 3 Tm /F2 15 Tf 18 TL 68.25738 0 Td (Web Front-End zur Verwaltung von vacation\(1\)) Tj T* -68.25738 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 686.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 36.93937 0 Td (Author:) Tj T* -36.93937 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 91.03937 3 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Wolfgang Scherer) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 653.0236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Contents) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 593.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 0 39 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (Installation) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 39 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (1) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 0 21 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (Benutzerverwaltung) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 21 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (1) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 0 3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (Anpassung) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 3 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (2) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 560.0236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Installation) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 548.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 548.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 536.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (1.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Alias ) Tj /F3 10 Tf (/vacation ) Tj /F1 10 Tf (in ) Tj /F3 10 Tf (lib/ws-vacation.conf.in ) Tj /F1 10 Tf (\344ndern, falls gew\374nscht.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 530.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 446.8236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 68.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (2.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 68.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Folgende Kommandos ausf\374hren, um die fertigen Dateien zu erzeugen:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 23 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 36 re B*
 
Q
 
q
 
BT 1 0 0 1 0 14 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( make clean) Tj T* (>) Tj (>) Tj (>) Tj ( make) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Damit wird das Installationverzeichnis an den notwendigen Stellen eingetragen.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 440.8236 cm
 
Q
 
q
 
1 0 0 1 62.69291 428.8236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (3.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Datei ) Tj /F3 10 Tf (lib/ws-vacation.conf ) Tj /F1 10 Tf (nach ) Tj /F3 10 Tf (/etc/apache2/conf.d/ ) Tj /F1 10 Tf (kopieren.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 422.8236 cm
 
Q
 
q
 
1 0 0 1 62.69291 377.6236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 30.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (4.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 30.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Apache server neu laden:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( rcapache2 reload.) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 371.6236 cm
 
Q
 
q
 
1 0 0 1 62.69291 231.2236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 125.4 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (5.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 101.4 cm
 
q
 
BT 1 0 0 1 0 26 Tm .008976 Tw 12 TL /F1 10 Tf 0 0 0 rg (Damit der WWW-Prozess das vacation\(1\)-Kommando als beliebiger Benutzer \(au\337er ) Tj /F3 10 Tf (root) Tj /F1 10 Tf (\) ausf\374hren) Tj T* 0 Tw 4.228976 Tw (kann, muss die Datei ) Tj /F3 10 Tf (lib/ws-vacation-sudo ) Tj /F1 10 Tf (in das Verzeichnis ) Tj /F3 10 Tf (/etc/sudoers.d ) Tj /F1 10 Tf (kopiert werden) Tj T* 0 Tw (\(ubuntu\):) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 56.2 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 36 re B*
 
Q
 
q
 
BT 1 0 0 1 0 14 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( cp lib/ws-vacation-sudo /etc/sudoers.d/ws-vacation-sudo) Tj T* (>) Tj (>) Tj (>) Tj ( chmod 0440 /etc/sudoers.d/ws-vacation-sudo) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 23 30.2 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (oder an die Datei ) Tj /F3 10 Tf (/etc/sudoers ) Tj /F1 10 Tf (angeh\344ngt werden \(SuSE\):) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( cat lib/ws-vacation-sudo ) Tj (>) Tj (>) Tj (/etc/sudoers) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 231.2236 cm
 
Q
 
q
 
1 0 0 1 62.69291 198.2236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Benutzerverwaltung) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 180.2236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (F\374r die Erstellung der Benutzer und Passw\366rter, im Unterverzeichnis ) Tj /F3 10 Tf (lib ) Tj /F1 10 Tf (als ) Tj /F3 10 Tf (root ) Tj /F1 10 Tf (folgendes ausf\374hren:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 147.0236 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 468.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( php gen_htpasswd.php) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 127.0236 cm
 
Q
 
 
 
endstream
 
endobj
 
% 'R27': class PDFStream 
 
27 0 obj
 
% page stream
 
<< /Length 3598 >>
 
stream
 
1 0 0 1 0 0 cm  BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 682.0236 cm
 
.960784 .960784 .862745 rg
 
n 0 83 469.8898 -83 re f*
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
BT 1 0 0 1 6 57 Tm  T* ET
 
q
 
1 0 0 1 16 52 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2.5 Tm /F5 12.5 Tf 15 TL (Note) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 16 16 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 14 Tm /F1 10 Tf 12 TL 2.921797 Tw (Wenn neue Benutzer auf dem System angelegt werden, muss das entsprechend wiederholt) Tj T* 0 Tw (werden.) Tj T* ET
 
Q
 
Q
 
q
 
1 J
 
1 j
 
.662745 .662745 .662745 RG
 
.5 w
 
n 0 83 m 469.8898 83 l S
 
n 0 0 m 469.8898 0 l S
 
n 0 0 m 0 83 l S
 
n 469.8898 0 m 469.8898 83 l S
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 678.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 672.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 639.8661 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Anpassung) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 621.8661 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (In der Datei ) Tj /F3 10 Tf (lib/config.php ) Tj /F1 10 Tf (befinden sich neben anderen Grundeinstellungen:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 615.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 615.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 603.8661 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL ($ALLOWED_USERS: Immer erlaubte Benutzer.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 597.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 585.8661 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL ($INVALID_USERS: Ung\374ltige Benutzer.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 579.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 567.8661 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL ($ADMIN_USERS: Administratoren.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 567.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 549.8661 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Die Vorlage f\374r einen neuen Abwesenheitstext ist in der Datei ) Tj /F3 10 Tf (lib/language.php ) Tj /F1 10 Tf (zu finden.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 531.8661 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (HTML Kopf- und Fu\337abschnitt sind in der Datei ) Tj /F3 10 Tf (lib/templates.php) Tj /F1 10 Tf (.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 525.8661 cm
 
Q
 
q
 
1 0 0 1 62.69291 507.8661 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL (Copyright) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 477.8661 cm
 
q
 
BT 1 0 0 1 0 14 Tm 1.40372 Tw 12 TL /F1 10 Tf 0 0 0 rg (Copyright \(C\) 2012, Wolfgang Scherer, <) Tj 0 0 .501961 rg (sw@wiedenmann-seile.de) Tj 0 0 0 rg (>) Tj (. Sponsored by ) Tj 0 0 .501961 rg (Wiedenmann-Seile) Tj T* 0 Tw (GmbH) Tj 0 0 0 rg (.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 447.8661 cm
 
q
 
BT 1 0 0 1 0 14 Tm 1.131647 Tw 12 TL /F1 10 Tf 0 0 0 rg (Siehe Abschnitt ) Tj /F3 10 Tf (GNU Free Documentation License ) Tj /F1 10 Tf (in der Datei ) Tj /F3 10 Tf (GFDL.txt ) Tj /F1 10 Tf (f\374r Nutzungsbedingungen der) Tj T* 0 Tw (Dokumentation.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 417.8661 cm
 
q
 
BT 1 0 0 1 0 14 Tm 2.56748 Tw 12 TL /F1 10 Tf 0 0 0 rg (Siehe Abschnitt ) Tj /F3 10 Tf (GNU General Public License ) Tj /F1 10 Tf (in der Datei ) Tj /F3 10 Tf (COPYING ) Tj /F1 10 Tf (f\374r Nutzungsbedingungen des) Tj T* 0 Tw (Programms.) Tj T* ET
 
Q
 
Q
 
 
 
endstream
 
endobj
 
% 'R28': class PDFPageLabels 
 
28 0 obj
 
% Document Root
 
<< /Nums [ 0
 
 29 0 R
 
 1
 
 30 0 R ] >>
 
endobj
 
% 'R29': class PDFPageLabel 
 
29 0 obj
 
% None
 
<< /S /D
 
 /St 1 >>
 
endobj
 
% 'R30': class PDFPageLabel 
 
30 0 obj
 
% None
 
<< /S /D
 
 /St 2 >>
 
endobj
 
xref
 
0 31
 
0000000000 65535 f
 
0000000113 00000 n
 
0000000260 00000 n
 
0000000425 00000 n
 
0000000612 00000 n
 
0000000860 00000 n
 
0000001101 00000 n
 
0000001342 00000 n
 
0000001583 00000 n
 
0000001824 00000 n
 
0000002065 00000 n
 
0000002294 00000 n
 
0000002476 00000 n
 
0000002636 00000 n
 
0000002987 00000 n
 
0000003189 00000 n
 
0000003437 00000 n
 
0000003685 00000 n
 
0000003919 00000 n
 
0000004239 00000 n
 
0000004398 00000 n
 
0000004681 00000 n
 
0000004806 00000 n
 
0000004979 00000 n
 
0000005173 00000 n
 
0000005327 00000 n
 
0000005444 00000 n
 
0000011926 00000 n
 
0000015627 00000 n
 
0000015733 00000 n
 
0000015810 00000 n
 
trailer
 
<< /ID 
 
 % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
 
 [(\302K\277\)\311\307\224\020\005s\024\307G \257\223) (\302K\277\)\311\307\224\020\005s\024\307G \257\223)] 
 
 [(\034<\031 K\317g\331\021v\355\341\332/\035\346) (\034<\031 K\317g\331\021v\355\341\332/\035\346)] 
 
 
 /Info 20 0 R
 
 /Root 19 0 R
 
 /Size 31 >>
 
startxref
 
15857
 
%%EOF
doc/README.pdf
Show inline comments
 
%PDF-1.4
 
%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com
 
% 'BasicFonts': class PDFDictionary 
 
1 0 obj
 
% The standard fonts dictionary
 
<< /F1 2 0 R
 
 /F2 3 0 R
 
 /F3 11 0 R
 
 /F4 12 0 R
 
 /F5 14 0 R >>
 
endobj
 
% 'F1': class PDFType1Font 
 
2 0 obj
 
% Font Helvetica
 
<< /BaseFont /Helvetica
 
 /Encoding /WinAnsiEncoding
 
 /Name /F1
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'F2': class PDFType1Font 
 
3 0 obj
 
% Font Helvetica-Bold
 
<< /BaseFont /Helvetica-Bold
 
 /Encoding /WinAnsiEncoding
 
 /Name /F2
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Annot.NUMBER1': class PDFDictionary 
 
4 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (mailto:sw@wiedenmann-seile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 153.7323
 
 689.7736
 
 526.5827
 
 701.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER2': class LinkAnnotation 
 
5 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Rect [ 62.69291
 
 632.7736
 
 115.4829
 
 644.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER3': class LinkAnnotation 
 
6 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Rect [ 527.0227
 
 632.7736
 
 532.5827
 
 644.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER4': class LinkAnnotation 
 
7 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 201.2236
 
 0 ]
 
 /Rect [ 62.69291
 
 614.7736
 
 148.8229
 
 626.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER5': class LinkAnnotation 
 
8 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 201.2236
 
 0 ]
 
 /Rect [ 527.0227
 
 614.7736
 
 532.5827
 
 626.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER6': class LinkAnnotation 
 
9 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 670.0236
 
 0 ]
 
 /Rect [ 62.69291
 
 596.7736
 
 128.2429
 
 608.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER7': class LinkAnnotation 
 
10 0 obj
 
<< /Border [ 0
 
 0
 
 0 ]
 
 /Contents ()
 
 /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 670.0236
 
 0 ]
 
 /Rect [ 527.0227
 
 596.7736
 
 532.5827
 
 608.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'F3': class PDFType1Font 
 
11 0 obj
 
% Font Helvetica-Oblique
 
<< /BaseFont /Helvetica-Oblique
 
 /Encoding /WinAnsiEncoding
 
 /Name /F3
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'F4': class PDFType1Font 
 
12 0 obj
 
% Font Courier
 
<< /BaseFont /Courier
 
 /Encoding /WinAnsiEncoding
 
 /Name /F4
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Page1': class PDFPage 
 
13 0 obj
 
% Page dictionary
 
<< /Annots [ 4 0 R
 
 5 0 R
 
 6 0 R
 
 7 0 R
 
 8 0 R
 
 9 0 R
 
 10 0 R ]
 
 /Contents 26 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 25 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'F5': class PDFType1Font 
 
14 0 obj
 
% Font Helvetica-BoldOblique
 
<< /BaseFont /Helvetica-BoldOblique
 
 /Encoding /WinAnsiEncoding
 
 /Name /F5
 
 /Subtype /Type1
 
 /Type /Font >>
 
endobj
 
% 'Annot.NUMBER8': class PDFDictionary 
 
15 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (mailto:sw@wiedenmann-seile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 251.1715
 
 469.7736
 
 368.0215
 
 481.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER9': class PDFDictionary 
 
16 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.wiedenmannseile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 448.1127
 
 469.7736
 
 531.179
 
 481.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER10': class PDFDictionary 
 
17 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.wiedenmannseile.de) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 62.69291
 
 457.7736
 
 91.58291
 
 469.7736 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Page2': class PDFPage 
 
18 0 obj
 
% Page dictionary
 
<< /Annots [ 15 0 R
 
 16 0 R
 
 17 0 R ]
 
 /Contents 27 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 25 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'R19': class PDFCatalog 
 
19 0 obj
 
% Document Root
 
<< /Outlines 21 0 R
 
 /PageLabels 28 0 R
 
 /PageMode /UseNone
 
 /Pages 25 0 R
 
 /Type /Catalog >>
 
endobj
 
% 'R20': class PDFInfo 
 
20 0 obj
 
<< /Author (Wolfgang Scherer)
 
 /CreationDate (D:20120330224029-01'00')
 
 /CreationDate (D:20120331000242-01'00')
 
 /Creator (\(unspecified\))
 
 /Keywords ()
 
 /Producer (ReportLab PDF Library - www.reportlab.com)
 
 /Subject (\(unspecified\))
 
 /Title (Wiedenmann Vacation) >>
 
endobj
 
% 'R21': class PDFOutlines 
 
21 0 obj
 
<< /Count 3
 
 /First 22 0 R
 
 /Last 24 0 R
 
 /Type /Outlines >>
 
endobj
 
% 'Outline.0': class OutlineEntryObject 
 
22 0 obj
 
<< /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 581.0236
 
 0 ]
 
 /Next 23 0 R
 
 /Parent 21 0 R
 
 /Title (Installation) >>
 
endobj
 
% 'Outline.1': class OutlineEntryObject 
 
23 0 obj
 
<< /Dest [ 13 0 R
 
 /XYZ
 
 62.69291
 
 201.2236
 
 0 ]
 
 /Next 24 0 R
 
 /Parent 21 0 R
 
 /Prev 22 0 R
 
 /Title (User Management) >>
 
endobj
 
% 'Outline.2': class OutlineEntryObject 
 
24 0 obj
 
<< /Dest [ 18 0 R
 
 /XYZ
 
 62.69291
 
 670.0236
 
 0 ]
 
 /Parent 21 0 R
 
 /Prev 23 0 R
 
 /Title (Configuration) >>
 
endobj
 
% 'R25': class PDFPages 
 
25 0 obj
 
% page tree
 
<< /Count 2
 
 /Kids [ 13 0 R
 
 18 0 R ]
 
 /Type /Pages >>
 
endobj
 
% 'R26': class PDFStream 
 
26 0 obj
 
% page stream
 
<< /Length 6945 >>
 
stream
 
1 0 0 1 0 0 cm  BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 741.0236 cm
 
q
 
BT 1 0 0 1 0 4 Tm 128.2549 0 Td 24 TL /F2 20 Tf 0 0 0 rg (Wiedenmann Vacation) Tj T* -128.2549 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 711.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 3 Tm /F2 15 Tf 18 TL 68.67738 0 Td (Web Front-End to Manage vacation\(1\) Settings) Tj T* -68.67738 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 686.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 36.93937 0 Td (Author:) Tj T* -36.93937 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 91.03937 3 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Wolfgang Scherer) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 653.0236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Contents) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 593.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 0 39 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (Installation) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 39 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (1) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 0 21 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (User Management) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 21 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (1) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 0 3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F2 10 Tf 0 0 .501961 rg (Configuration) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 397.8898 3 cm
 
q
 
0 0 .501961 rg
 
0 0 .501961 RG
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL 66.44 0 Td (2) Tj T* -66.44 0 Td ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 560.0236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Installation) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 548.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 548.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 536.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (1.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Copy the program anywhere on your harddrive.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 530.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 518.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (2.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Change alias ) Tj /F3 10 Tf (/vacation ) Tj /F1 10 Tf (in ) Tj /F3 10 Tf (lib/ws-vacation.conf.in) Tj /F1 10 Tf (, if desired.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 512.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 428.8236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 68.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (3.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 68.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Execute the following commands \(as user\) to create the run-time files:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 23 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 36 re B*
 
Q
 
q
 
BT 1 0 0 1 0 14 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( make clean) Tj T* (>) Tj (>) Tj (>) Tj ( make) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (This substitutes the installation directory in the necessary places.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 422.8236 cm
 
Q
 
q
 
1 0 0 1 62.69291 410.8236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (4.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (Copy ) Tj /F3 10 Tf (lib/ws-vacation.conf ) Tj /F1 10 Tf (to ) Tj /F3 10 Tf (/etc/apache2/conf.d/) Tj /F1 10 Tf (.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 404.8236 cm
 
Q
 
q
 
1 0 0 1 62.69291 359.6236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 30.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (5.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 30.2 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (Reload the Apache server:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( rcapache2 reload.) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 353.6236 cm
 
Q
 
q
 
1 0 0 1 62.69291 213.2236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 125.4 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 5.66 0 Td (6.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 101.4 cm
 
q
 
BT 1 0 0 1 0 26 Tm .223984 Tw 12 TL /F1 10 Tf 0 0 0 rg (The sudo\(1\) setup allows the apache server to execute vacation\(1\) as any user \(except root\) without) Tj T* 0 Tw .003059 Tw (a password. This is activated by copying the file ) Tj /F3 10 Tf (lib/ws-vacation-sudo ) Tj /F1 10 Tf (into the directory ) Tj /F3 10 Tf (/etc/sudoers.d) Tj T* 0 Tw /F1 10 Tf (\(ubuntu\):) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 56.2 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 36 re B*
 
Q
 
q
 
BT 1 0 0 1 0 14 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( cp lib/ws-vacation-sudo /etc/sudoers.d/ws-vacation-sudo) Tj T* (>) Tj (>) Tj (>) Tj ( chmod 0440 /etc/sudoers.d/ws-vacation-sudo) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 23 30.2 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (or by appending it to the file ) Tj /F3 10 Tf (/etc/sudoers ) Tj /F1 10 Tf (\(older SuSE\):) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 445.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( cat lib/ws-vacation-sudo ) Tj (>) Tj (>) Tj (/etc/sudoers) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 213.2236 cm
 
Q
 
q
 
1 0 0 1 62.69291 180.2236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (User Management) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 162.2236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The file ) Tj /F3 10 Tf (lib/.htpasswd ) Tj /F1 10 Tf (can be created by the regular means.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 132.2236 cm
 
q
 
BT 1 0 0 1 0 14 Tm 3.396136 Tw 12 TL /F1 10 Tf 0 0 0 rg (An automated script is available that creates the password database from the system shadow\(8\)) Tj T* 0 Tw (database. Just change into directory ) Tj /F3 10 Tf (lib ) Tj /F1 10 Tf (and execute \(as ) Tj /F3 10 Tf (root) Tj /F1 10 Tf (\):) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 99.02362 cm
 
q
 
q
 
1 0 0 1 0 0 cm
 
q
 
1 0 0 1 6.6 6.6 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 468.6898 24 re B*
 
Q
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F4 10 Tf 0 0 0 rg (>) Tj (>) Tj (>) Tj ( php gen_htpasswd.php) Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 79.02362 cm
 
Q
 
 
 
endstream
 
endobj
 
% 'R27': class PDFStream 
 
27 0 obj
 
% page stream
 
<< /Length 3799 >>
 
stream
 
1 0 0 1 0 0 cm  BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 694.0236 cm
 
.960784 .960784 .862745 rg
 
n 0 71 469.8898 -71 re f*
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
BT 1 0 0 1 6 45 Tm  T* ET
 
q
 
1 0 0 1 16 40 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2.5 Tm /F5 12.5 Tf 15 TL (Note) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 16 16 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (If new users are created in the system, this step must be repeated to update the ) Tj /F3 10 Tf (.htpasswd ) Tj /F1 10 Tf (file.) Tj T* ET
 
Q
 
Q
 
q
 
1 J
 
1 j
 
.662745 .662745 .662745 RG
 
.5 w
 
n 0 71 m 469.8898 71 l S
 
n 0 0 m 469.8898 0 l S
 
n 0 0 m 0 71 l S
 
n 469.8898 0 m 469.8898 71 l S
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 688.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 682.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 649.0236 cm
 
q
 
BT 1 0 0 1 0 3.5 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Configuration) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 631.0236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The file ) Tj /F3 10 Tf (lib/config.php ) Tj /F1 10 Tf (contains the basic configuration data.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 613.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL (It is possible to fine-tune the standard user selection with:) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 607.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 607.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 595.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg ($ALLOWED_USERS: users who are always accepted \(if present in ) Tj /F3 10 Tf (/etc/passwd) Tj /F1 10 Tf (\).) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 589.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 577.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL ($INVALID_USERS: invalid users, which are always ignored.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 571.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 559.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL 10.5 0 Td (\177) Tj T* -10.5 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 -3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F1 10 Tf 12 TL ($ADMIN_USERS: administrators.) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 559.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 529.0236 cm
 
q
 
BT 1 0 0 1 0 14 Tm .526647 Tw 12 TL /F1 10 Tf 0 0 0 rg (The file ) Tj /F3 10 Tf (lib/language.php ) Tj /F1 10 Tf (contains language specific translation and also the default vacation\(1\) message) Tj T* 0 Tw (text.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 511.0236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (The HTML header and footer can be modified in ) Tj /F3 10 Tf (lib/templates.php) Tj /F1 10 Tf (.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 505.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 487.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 2 Tm /F2 10 Tf 12 TL (Copyright) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 457.0236 cm
 
q
 
BT 1 0 0 1 0 14 Tm 1.40372 Tw 12 TL /F1 10 Tf 0 0 0 rg (Copyright \(C\) 2012, Wolfgang Scherer, <) Tj 0 0 .501961 rg (sw@wiedenmann-seile.de) Tj 0 0 0 rg (>) Tj (. Sponsored by ) Tj 0 0 .501961 rg (Wiedenmann-Seile) Tj T* 0 Tw (GmbH) Tj 0 0 0 rg (.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 439.0236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (See ) Tj /F3 10 Tf (GNU Free Documentation License ) Tj /F1 10 Tf (in file ) Tj /F3 10 Tf (GFDL.txt ) Tj /F1 10 Tf (for license conditions for the documentation.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 421.0236 cm
 
q
 
BT 1 0 0 1 0 2 Tm 12 TL /F1 10 Tf 0 0 0 rg (See ) Tj /F3 10 Tf (GNU General Public License ) Tj /F1 10 Tf (in file ) Tj /F3 10 Tf (COPYING ) Tj /F1 10 Tf (for license conditions for the program.) Tj T* ET
 
Q
 
Q
 
 
 
endstream
 
endobj
 
% 'R28': class PDFPageLabels 
 
28 0 obj
 
% Document Root
 
<< /Nums [ 0
 
 29 0 R
 
 1
 
 30 0 R ] >>
 
endobj
 
% 'R29': class PDFPageLabel 
 
29 0 obj
 
% None
 
<< /S /D
 
 /St 1 >>
 
endobj
 
% 'R30': class PDFPageLabel 
 
30 0 obj
 
% None
 
<< /S /D
 
 /St 2 >>
 
endobj
 
xref
 
0 31
 
0000000000 65535 f
 
0000000113 00000 n
 
0000000260 00000 n
 
0000000425 00000 n
 
0000000612 00000 n
 
0000000860 00000 n
 
0000001101 00000 n
 
0000001342 00000 n
 
0000001583 00000 n
 
0000001824 00000 n
 
0000002065 00000 n
 
0000002294 00000 n
 
0000002476 00000 n
 
0000002636 00000 n
 
0000002987 00000 n
 
0000003189 00000 n
 
0000003437 00000 n
 
0000003685 00000 n
 
0000003919 00000 n
 
0000004239 00000 n
 
0000004398 00000 n
 
0000004681 00000 n
 
0000004806 00000 n
 
0000004979 00000 n
 
0000005170 00000 n
 
0000005328 00000 n
 
0000005445 00000 n
 
0000012489 00000 n
 
0000016391 00000 n
 
0000016497 00000 n
 
0000016574 00000 n
 
trailer
 
<< /ID 
 
 % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
 
 [(\370\353P#\004\326\277AD\372\035\365w\313,\011) (\370\353P#\004\326\277AD\372\035\365w\313,\011)] 
 
 [(\375J\202X\015\3505y}\214\333$\376\033\000\352) (\375J\202X\015\3505y}\214\333$\376\033\000\352)] 
 
 
 /Info 20 0 R
 
 /Root 19 0 R
 
 /Size 31 >>
 
startxref
 
16621
 
%%EOF
doc/docutils.conf
Show inline comments
 
[html4css1 writer]
 
# Required for docutils-update, the website build system:
 
stylesheet: ../css/basic.css,
 
            ../css/pygments.css,
 
	    ../css/ws-project.css
 
#stylesheet: ../doc/blue_box.css
 
#stylesheet-path: ./html4css1.css
 
embed-stylesheet: no
 
#embed-stylesheet: yes
 
#field-name-limit: 20
 
language_code: de
doc/index-template.txt
Show inline comments
 
new file 100644
 
%(head_prefix)s
 
%(head)s
 
%(stylesheet)s
 
    <script type="text/javascript"><!--
 
      // Add a trailing slash to the URL, if it does not end in `.html' or `/'.
 
      // This is needed for relative links to work on bitbucket.org
 
      my_url = document.location.href;
 
      query = [];
 
      spc_pos = my_url.indexOf('?');
 
      if (spc_pos >= 0) {
 
          query.unshift(my_url.substr(spc_pos));
 
	  my_url = my_url.substr(0, spc_pos);
 
      }
 
      spc_pos = my_url.indexOf('#');
 
      if (spc_pos >= 0) {
 
          query.unshift(my_url.substr(spc_pos));
 
	  my_url = my_url.substr(0, spc_pos);
 
      }
 
      if (my_url.indexOf('.html') < my_url.length - '.html'.length) {
 
          if (my_url.substr(my_url.length - 1) != '/') {
 
	      my_url += '/' + query.join('');
 
	      document.location.href = my_url;
 
          }
 
      }
 
      //--></script>
 
%(body_prefix)s
 
%(body_pre_docinfo)s
 
%(docinfo)s
 
%(body)s
 
%(body_suffix)s
doc/index.txt
Show inline comments
 
.. -*- coding: utf-8 -*-
 
.. \||<-snip->|| start
 
.. Copyright (C) 2012, Wolfgang Scherer, <Wolfgang.Scherer at gmx.de>
 
.. Sponsored by WIEDENMANN SEILE GMBH, http://www.wiedenmannseile.de
 
..
 
.. This file is part of Wiedenmann Vacation.
 
..
 
.. Permission is granted to copy, distribute and/or modify this
 
.. document under the terms of the GNU Free Documentation License,
 
.. Version 1.3 or any later version published by the Free Software
 
.. Foundation; with no Invariant Sections, no Front-Cover Texts, and
 
.. no Back-Cover Texts.  A copy of the license is included in the main
 
.. documentation of Wiedenmann Vacation.
 

	
 
.. (progn (forward-line 1)(snip-insert-mode "rst_t.inline-comments" t))
 
.. inline comments (with ws_docutils)
 
.. role:: rem(span)
 
   :format: ''
 
.. role:: html(span)
 
   :format: html
 
   :raw:
 

	
 
.. role:: ihtml(span)
 
   :format: html
 
.. role:: nhtml(span)
 
   :format: !html
 

	
 
##################################################
 
:rem:`|||:sec:|||`\ Wiedenmann Vacation
 
##################################################
 
Web Front-End to Manage vacation(1) Settings
 
##################################################
 
.. \||<-snap->|| skip
 

	
 
:Author: `Wolfgang Scherer`_
 

	
 
.. contents::
 
.. \||<-snap->|| skip
 
.. \||<-snap->|| include ^index-header.snip$
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Purpose
 
==================================================
 

	
 
This program is a front end written in PHP to manage the vacation(1)
 
auto reply command.
 

	
 
The content of the message file $HOME/.virtual.msg can be edited in a
 
browser.
 

	
 
It is also possible to appoint another user to receive a copy of all
 
emails, when the vacation(1) filter is active.
 

	
 
The auto reply history from vacation(1) is also shown and can be
 
deleted.
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Screenshot
 
==================================================
 

	
 
|screenshot|_
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Features
 
==================================================
 

	
 
The edited message is converted to a message file using
 

	
 
- Content-Type: text/plain; charset="utf-8"
 
- Content-Transfer-Encoding: quoted-printable
 

	
 
Therefore international characters do not pose a problem.
 

	
 
If the filter is activated, file $HOME/.forward is created from the
 
settings, otherwise the .forward file is deleted.
 

	
 
The program comes with a preconfigured sudoers(5) configuration file,
 
which allows the www server user to execute the vacation(1) command on
 
behalf of a system user.
 

	
 
There is also an apache2(8) configuration file included.
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Source Code and Installation
 
==================================================
 

	
 
The source code is available in a mercurial repository at
 
`ws-vacation`_.
 

	
 
Clone the repository with::
 

	
 
    $ hg clone https://bitbucket.org/wolfmanx/ws-vacation
 

	
 
See the `Administrator Manual`_ for installation instructions.
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ Footnotes
 
.. ==================================================
 

	
 
:html:`<hr>`
 

	
 
.. \[#]
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ References
 
.. ==================================================
 

	
 
.. |screenshot|  image:: http://bitbucket.org/wolfmanx/ws-vacation/raw/tip/doc/ws-vacation-t.jpg
 
.. _screenshot: http://bitbucket.org/wolfmanx/ws-vacation/raw/tip/doc/ws-vacation.jpg
 
.. |screenshot|  image:: ws-vacation-t.jpg
 
.. _screenshot: ws-vacation.jpg
 

	
 
.. _`Administrator Manual`: README.html
 
.. _`ws-vacation`: https://bitbucket.org/wolfmanx/ws-vacation
 
.. _`full size`: http://bitbucket.org/wolfmanx/ws-vacation/raw/e60cce377e32/doc/ws-vacation.jpg
 

	
 
.. \||<-snap->|| include ^index-footer.snip$
 

	
 
:rem:`|||:sec:|||`\ **Copyright**
 

	
 
Copyright (C) 2012, Wolfgang Scherer, <sw@wiedenmann-seile.de>.
 
Sponsored by `Wiedenmann-Seile GmbH`_.
 

	
 
.. div::
 
   :format: html
 

	
 
   See section |GFDL| for license conditions for the documentation.
 

	
 
   See section |GPL| for license conditions for the program.
 

	
 
.. div::
 
   :format: !html
 

	
 
   See *GNU Free Documentation License* in file `GFDL.txt` for license
 
   conditions for the documentation.
 

	
 
   See *GNU General Public License* in file `COPYING` for license
 
   conditions for the program.
 

	
 
.. |GFDL| replace:: `GNU Free Documentation License`_
 
.. |GPL| replace:: `GNU General Public License`_
 

	
 
.. _`GNU Free Documentation License`: README-GFDL.html
 
.. _`GNU General Public License`: README-COPYING.html
 
.. _`Wiedenmann-Seile GmbH`: http://www.wiedenmannseile.de
 
.. _`Wolfgang Scherer`: sw@wiedenmann-seile.de
 

	
 
.. \||<-snip->|| stop
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ END
 
.. ==================================================
 
.. 
 
.. :ide-menu: Emacs IDE Main Menu - Buffer @BUFFER@
 
.. . M-x `eIDE-menu' ()(eIDE-menu "z")
 

	
 
.. :ide: DELIM: SNIPPETS (ABOUT)       |q|<- SYM ->||,   ||<- SYM ->||,  @| SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@|") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (DOC)          ||<- SYM ->||,     |: SYM :|,     ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "\\(\\`\\|[^\\]\\)" "`") (cons "`" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (SNIP DOC)     ||<- SYM ->||,     |: SYM :|,     @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (FILLME)       ||<- SYM ->||,     :: SYM ::,     @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (SUBST)        ||<- SYM ->||,      @ SYM @,      @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`" nil)))))
 

	
 
.. :ide: +#-
 
.. . Snippet Delimiter Sets ()
 

	
 
.. :ide: DELIM: ReST (links)              ` SYM `_,    .. _` SYM `,      ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`_" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil ".. _`") (cons "`:" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "\\(\\`\\|[^\\]\\)" "`") (cons "`" nil)))))
 

	
 
.. :ide: DELIM: STANDARD (GNU quoting)    |: SYM :|,       :: SYM ::,     ` SYM '
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "`") (cons "'" nil)))))
 

	
 
.. :ide: DELIM: STANDARD (ReST quoting)   |: SYM :|,       :: SYM ::,     ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`" nil)))))
 

	
 
.. :ide: +#-
 
.. . Delimiter Sets ()
 

	
 
.. :ide: COMPILE: render reST as LaTeX
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2latex.py --traceback | tee " fn ".tex"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as MAN
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2man.py --traceback "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as TXT (via MAN)
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2man.py --traceback | man -l -"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as ODT --strip-comments
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2odt.py --traceback --strip-comments | cat >" fn ".odt "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as LaTeX, compile PDF and view with gv
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2latex.py --traceback | tee " fn ".tex && pdflatex '\\nonstopmode\\input " fn ".tex' && gv " fn ".pdf"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as PDF
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2pdf -e ws_docutils.raw_role >" fn ".pdf"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as HTML
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2html.py --traceback --cloak-email-addresses | tee " fn ".html "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as pseudoXML
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " --traceback " fp " 2>&1 #| tee " fn ".pxml"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; ws_rst2pseudoxml.py " args))))
 

	
 
.. :ide: +#-
 
.. . Process ()
 

	
 
.. :ide: QUO: ~~ Subsubsection ~~
 
.. . (insert "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\:rem\:`|\:sec\:|`\\ ::fillme\::\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" )
 

	
 
.. :ide: QUO: -- Subsection --
 
.. . (insert "--------------------------------------------------\n\:rem\:`||\:sec\:||`\\ ::fillme\::\n--------------------------------------------------\n" )
 

	
 
.. :ide: QUO: == Section ==
 
.. . (insert "==================================================\n\:rem\:`|||\:sec\:|||`\\ ::fillme\::\n==================================================\n" )
 

	
 
.. :ide: +#-
 
.. . Sections ()
 

	
 
.. :ide: MENU-OUTLINE:  `|||:section:|||' (default)
 
.. . (x-eIDE-menu-outline "sec" '("|:" ":|") (cons (cons "^" ".. ") (cons nil nil)) "\\(_`[^`\n]+`\\|\\[[^]\n]+\\]\\|[|][^|\n]+[|]\\|[^:\n]+::\\)")
 

	
 
.. 
 
.. Local Variables:
 
.. mode: rst
 
.. snip-mode: rst
 
.. truncate-lines: t
 
.. symbol-tag-symbol-regexp: "[-0-9A-Za-z_#]\\([-0-9A-Za-z_. ]*[-0-9A-Za-z_]\\|\\)"
 
.. symbol-tag-auto-comment-mode: nil
 
.. symbol-tag-srx-is-safe-with-nil-delimiters: nil
 
.. End:
0 comments (0 inline, 0 general)