Browse Source

linode dev env

master
Clemens Richter 8 years ago
commit
37046cda3a
  1. 12
      .gitignore
  2. 128
      .htaccess
  3. 204
      user/config/media.yaml
  4. 53
      user/config/plugins/admin.yaml
  5. 6
      user/config/plugins/advanced-pagecache.yaml
  6. 5
      user/config/plugins/anchors.yaml
  7. 14
      user/config/plugins/archives.yaml
  8. 9
      user/config/plugins/bootstrapper.yaml
  9. 7
      user/config/plugins/breadcrumbs.yaml
  10. 6
      user/config/plugins/datetools.yaml
  11. 1
      user/config/plugins/devtools.yaml
  12. 3
      user/config/plugins/error.yaml
  13. 14
      user/config/plugins/events.yaml
  14. 28
      user/config/plugins/external_links.yaml
  15. 10
      user/config/plugins/featherlight.yaml
  16. 5
      user/config/plugins/feed.yaml
  17. 7
      user/config/plugins/file-content.yaml
  18. 10
      user/config/plugins/gantry5.yaml
  19. 15
      user/config/plugins/git-sync.yaml
  20. 29
      user/config/plugins/login-oauth.yaml
  21. 43
      user/config/plugins/login.yaml
  22. 7
      user/config/plugins/markdown-notices.yaml
  23. 3
      user/config/plugins/pagination.yaml
  24. 3
      user/config/plugins/piwik.yaml
  25. 35
      user/config/plugins/relatedpages.yaml
  26. 2
      user/config/plugins/scheduler.yaml
  27. 8
      user/config/plugins/shortcode-core.yaml
  28. 13
      user/config/plugins/simplesearch.yaml
  29. 1
      user/config/plugins/table-importer.yaml
  30. 2
      user/config/plugins/taxonomylist.yaml
  31. 21
      user/config/plugins/youtube.yaml
  32. 1
      user/config/security.yaml
  33. 21
      user/config/site.yaml
  34. 0
      user/config/streams.yaml
  35. 143
      user/config/system.yaml
  36. 3
      user/config/themes/antimatter.yaml
  37. 19
      user/config/themes/bones-vanilla.yaml
  38. 2
      user/config/themes/bootstrap.yaml
  39. 1
      user/config/themes/cascade.yaml
  40. 3
      user/config/themes/church.yaml
  41. 8
      user/config/themes/course-hub-bootstrap.yaml
  42. 4
      user/config/themes/future.yaml
  43. 10
      user/config/themes/grayscale.yaml
  44. 3
      user/config/themes/materialize.yaml
  45. 6
      user/config/themes/medium.yaml
  46. BIN
      user/pages/02.startseite/kapelle-small.jpg
  47. BIN
      user/pages/02.startseite/kapelle.JPG
  48. BIN
      user/pages/02.startseite/logo-black-on-white-300p.png
  49. 66
      user/pages/02.startseite/sidebarpage.de.md
  50. BIN
      user/pages/03.termine/lxml-3.7.3-cp27-cp27mu-manylinux1_x86_64.whl
  51. BIN
      user/pages/03.termine/python-dateutil-2.6.0.zip
  52. BIN
      user/pages/03.termine/python-docx-0.8.6.tar.gz
  53. 1
      user/pages/03.termine/python-docx-0.8.6.tar.gz.info
  54. 191
      user/pages/03.termine/sidebarpage.de.md
  55. BIN
      user/pages/03.termine/six-1.10.0.tar.gz
  56. 50
      user/pages/03.termine/templates.py
  57. BIN
      user/pages/03.termine/templates.pyc
  58. 111
      user/pages/03.termine/termine-test.py
  59. 127
      user/pages/03.termine/termine-web.py
  60. 28
      user/pages/03.termine/termine.csv
  61. 124
      user/pages/03.termine/termine.py
  62. 55
      user/pages/03.termine/termine2.csv
  63. 124
      user/pages/03.termine/termine_gembr.py
  64. 124
      user/pages/03.termine/termine_kirchenwn.py
  65. 67
      user/pages/04.ueber-uns/sidebarpage.de.md
  66. 12
      user/pages/04.ueber-uns/unser-selbstverstaendnis/default.de.md
  67. 12
      user/pages/04.ueber-uns/wir-nennen-uns/default.de.md
  68. 11
      user/pages/05.gruppen/01.jugendgruppe-bjheck/default.de.md
  69. 11
      user/pages/05.gruppen/02.hauskreis/default.de.md
  70. 11
      user/pages/05.gruppen/03.bibelgespraech/default.de.md
  71. 11
      user/pages/05.gruppen/05.maegfit/default.de.md
  72. BIN
      user/pages/05.gruppen/kidsclub-web.jpg
  73. 49
      user/pages/05.gruppen/sidebarpage.de.md
  74. 18
      user/pages/06.anfahrt/sidebarpage.de.md
  75. BIN
      user/pages/07.kontakt/pastor-viktor-petkau.JPG
  76. 52
      user/pages/07.kontakt/sidebarpage.de.md
  77. 70
      user/pages/08.predigtaufnahmen/default.de.md
  78. BIN
      user/pages/09.links/PP-Logo_2.png
  79. 25
      user/pages/09.links/sidebarpage.de.md
  80. 30
      user/pages/datenschutzerklaerung/default.de.md
  81. 32
      user/pages/impressum/default.de.md
  82. 5
      user/pages/index.php/default.de.md
  83. BIN
      user/pages/intern/Taufbecken-Heizung-aus.mp4
  84. BIN
      user/pages/intern/Taufbecken-Heizung-ein.mp4
  85. 56
      user/pages/intern/default.de.md
  86. 62
      user/pages/sidebar/default.de.md
  87. 56
      user/pages/test/default.de.md
  88. 37
      user/pages/test/templates.py
  89. BIN
      user/pages/test/templates.pyc
  90. 107
      user/pages/test/termine_test.py
  91. 7
      user/pages/test/test.py
  92. 5
      user/plugins/losung/CHANGELOG.md
  93. 21
      user/plugins/losung/LICENSE
  94. 50
      user/plugins/losung/README.md
  95. 31
      user/plugins/losung/blueprints.yaml
  96. 74
      user/plugins/losung/losung.php
  97. 2
      user/plugins/losung/losung.yaml
  98. 149
      user/plugins/losung/twig/LosungTwigExtension.php
  99. 141
      user/plugins/losung/twig/LosungTwigExtension.php.bak
  100. 128
      user/plugins/losung/twig/losungphp1.inc
  101. Some files were not shown because too many files have changed in this diff Show More

12
.gitignore vendored

@ -0,0 +1,12 @@
/piwikCR
/aufnahmen
/backup
/cache
/images
/logs
/tmp
.git
.svn
.hg
.idea
node_modules

128
.htaccess

@ -0,0 +1,128 @@
<IfModule mod_rewrite.c>
RewriteEngine On
## Begin RewriteBase
# If you are getting 500 or 404 errors on subpages, you may have to uncomment the RewriteBase entry
# You should change the '/' to your appropriate subfolder. For example if you have
# your Grav install at the root of your site '/' should work, else it might be something
# along the lines of: RewriteBase /<your_sub_folder>
##
# RewriteBase /
## End - RewriteBase
## Begin - X-Forwarded-Proto
# In some hosted or load balanced environments, SSL negotiation happens upstream.
# In order for Grav to recognize the connection as secure, you need to uncomment
# the following lines.
#
# RewriteCond %{HTTP:X-Forwarded-Proto} https
# RewriteRule .* - [E=HTTPS:on]
#
## End - X-Forwarded-Proto
## Begin - Exploits
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Grav
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Exploits
## Begin - Index
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
## End - Index
## Begin - Security
# Block all direct access for these folders
RewriteRule ^(.git|cache|bin|logs|backup|webserver-configs|tests)/(.*) error [F]
# Block access to specific file types for these system folders
RewriteRule ^(system|vendor)/(.*)\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ error [F]
# Block access to specific file types for these user folders
RewriteRule ^(user)/(.*)\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ error [F]
# Block all direct access to .md files:
RewriteRule \.md$ error [F]
# Block all direct access to files and folders beginning with a dot
RewriteRule (^|/)\.(?!well-known) - [F]
# Block access to specific files in the root folder
RewriteRule ^(LICENSE.txt|composer.lock|composer.json|\.htaccess)$ error [F]
## End - Security
</IfModule>
# Begin - Prevent Browsing and Set Default Resources
Options -Indexes
DirectoryIndex index.php index.html index.htm
# End - Prevent Browsing and Set Default Resources
# Deflate Compression by FileType
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>
#add CSP (report only)
<IfModule mod_headers.c>
#Header set Content-Security-Policy-Report-Only "default-src 'none'; form-action 'none'; frame-ancestors 'none'; report-uri https://csrichter.report-uri.com/r/d/csp/wizard"
Header set Content-Security-Policy "form-action 'self'; img-src 'self' data: www.gravatar.com https://baptisten-hohenacker.de/piwikCR/piwik.php; frame-src 'self' www.openstreetmap.org; style-src 'self' 'unsafe-inline'; connect-src 'self' getgrav.org; media-src 'self'; font-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://baptisten-hohenacker.de 'report-sample';upgrade-insecure-requests; report-uri https://csrichter.report-uri.com/r/d/csp/enforce"
#TODO: move img-src data: and unsave-eval to separate file in /piwikCR
Header set X-XSS-Protection "1; report=https://csrichter.report-uri.com/r/d/xss/enforce"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Strict-Transport-Security "max-age=31536000;includeSubDomains;preload"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
#remove php version from page
Header unset X-Powered-By
#expect CT report only
Header set Expect-CT "max-age=0, report-uri=https://csrichter.report-uri.com/r/d/ct/reportOnly"
#report inline scripts:
#Header set Content-Security-Policy-Report-Only "script-src 'self' 'sha256-oT1XvXepFjnZ/GYfPj+mnojCbxk7HoJ3pESjDyIpZ9s=' 'sha256-XFVkCWLhq36EC1Da051LuCzgGdb5AVEAj4YUdlRIv30=' 'sha256-gZhx9bu8bdV9NYK1FSoX13NGcQZyI8h5S6JOPFF4a/E=' 'sha256-G6LOCi9K+Dr+i2r8MqzD9JNTf08tIKHpI27a1GQJNd8=' ; report-uri https://csrichter.report-uri.com/r/d/csp/reportOnly"
#problem: dynamic on-click handler on predigtaufnahmen page
#cache static file for 1 month
<filesMatch "\.(css|jpe?g|png|gif|js|ico)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
Header set Pragma "cache"
#<filesMatch "\.(html)$">
#Header set Cache-Control "must-revalidate, public"
#Header set Cache-Control "max-age=86400, public"
#</filesMatch>
</IfModule>

204
user/config/media.yaml

@ -0,0 +1,204 @@
types:
pptx:
type: file
mime: application/vnd.ms-powerpoint
defaults:
type: file
thumb: media/thumb.png
mime: application/octet-stream
image:
filters:
default: [enableProgressive]
jpg:
type: image
thumb: media/thumb-jpg.png
mime: image/jpeg
jpe:
type: image
thumb: media/thumb-jpg.png
mime: image/jpeg
jpeg:
type: image
thumb: media/thumb-jpeg.png
mime: image/jpeg
png:
type: image
thumb: media/thumb-png.png
mime: image/png
gif:
type: animated
thumb: media/thumb-gif.png
mime: image/gif
svg:
type: vector
thumb: media/thumb.png
mime: image/svg+xml
mp4:
type: video
thumb: media/thumb-mp4.png
mime: video/mp4
mov:
type: video
thumb: media/thumb-mov.png
mime: video/quicktime
m4v:
type: video
thumb: media/thumb-m4v.png
mime: video/x-m4v
swf:
type: video
thumb: media/thumb-swf.png
mime: video/x-flv
flv:
type: video
thumb: media/thumb-flv.png
mime: video/x-flv
webm:
type: video
thumb: media/thumb.png
mime: video/webm
ogv:
type: video
thumb: media/thumb-ogg.png
mime: video/ogg
mp3:
type: audio
thumb: media/thumb-mp3.png
mime: audio/mp3
ogg:
type: audio
thumb: media/thumb-ogg.png
mime: audio/ogg
wma:
type: audio
thumb: media/thumb-wma.png
mime: audio/wma
m4a:
type: audio
thumb: media/thumb-m4a.png
mime: audio/m4a
wav:
type: audio
thumb: media/thumb-wav.png
mime: audio/wav
aiff:
type: audio
mime: audio/aiff
aif:
type: audio
mime: audio/aif
txt:
type: file
thumb: media/thumb-txt.png
mime: text/plain
xml:
type: file
thumb: media/thumb-xml.png
mime: application/xml
doc:
type: file
thumb: media/thumb-doc.png
mime: application/msword
docx:
type: file
mime: application/msword
xls:
type: file
mime: application/vnd.ms-excel
xlt:
type: file
mime: application/vnd.ms-excel
xlm:
type: file
mime: application/vnd.ms-excel
xlsm:
type: file
mime: application/vnd.ms-excel
xld:
type: file
mime: application/vnd.ms-excel
xla:
type: file
mime: application/vnd.ms-excel
xlc:
type: file
mime: application/vnd.ms-excel
xlw:
type: file
mime: application/vnd.ms-excel
xll:
type: file
mime: application/vnd.ms-excel
ppt:
type: file
mime: application/vnd.ms-powerpoint
pps:
type: file
mime: application/vnd.ms-powerpoint
rtf:
type: file
mime: application/rtf
bmp:
type: file
mime: image/bmp
tiff:
type: file
mime: image/tiff
mpeg:
type: file
mime: video/mpeg
mpg:
type: file
mime: video/mpeg
mpe:
type: file
mime: video/mpeg
avi:
type: file
mime: video/msvideo
wmv:
type: file
mime: video/x-ms-wmv
html:
type: file
thumb: media/thumb-html.png
mime: text/html
htm:
type: file
thumb: media/thumb-html.png
mime: text/html
pdf:
type: file
thumb: media/thumb-pdf.png
mime: application/pdf
zip:
type: file
thumb: media/thumb-zip.png
mime: application/zip
7z:
type: file
thumb: media/thumb-7zip.png
mime: application/x-7z-compressed
gz:
type: file
thumb: media/thumb-gz.png
mime: application/gzip
tar:
type: file
mime: application/x-tar
css:
type: file
thumb: media/thumb-css.png
mime: text/css
js:
type: file
thumb: media/thumb-js.png
mime: application/javascript
json:
type: file
thumb: media/thumb-json.png
mime: application/json
csv:
type: file
thumb: media/thumb-csv.png
mime: application/csv

53
user/config/plugins/admin.yaml

@ -0,0 +1,53 @@
enabled: true
route: /admin
cache_enabled: false
theme: grav
content_padding: true
twofa_enabled: true
sidebar:
activate: tab
hover_delay: 100
size: auto
dashboard:
days_of_stats: 7
widgets:
dashboard-maintenance: true
dashboard-statistics: true
dashboard-notifications: true
dashboard-feed: true
dashboard-pages: true
pages:
show_parents: both
session:
timeout: 1800
warnings:
delete_page: true
edit_mode: normal
frontend_preview_target: inline
show_github_msg: true
pages_list_display_field: title
google_fonts: false
admin_icons: line-awesome
enable_auto_updates_check: true
notifications:
feed: true
dashboard: true
plugins: true
themes: true
popularity:
enabled: true
ignore:
- '/test*'
- /modular
history:
daily: '30'
monthly: '12'
visitors: '20'
pagemedia:
resize_width: 0
resize_height: 0
res_min_width: 0
res_min_height: 0
res_max_width: 0
res_max_height: 0
resize_quality: 0.8

6
user/config/plugins/advanced-pagecache.yaml

@ -0,0 +1,6 @@
enabled: true
enabled_with_params: true
enabled_with_query: true
blacklist:
- /error
- /random

5
user/config/plugins/anchors.yaml

@ -0,0 +1,5 @@
enabled: false
active: false
selectors: 'h1,h2,h3,h4'
placement: right
visible: hover

14
user/config/plugins/archives.yaml

@ -0,0 +1,14 @@
enabled: false
built_in_css: true
date_display_format: 'F Y'
show_count: true
limit: 12
order:
by: date
dir: desc
filter_combinator: and
filters:
category: blog
taxonomy_names:
month: archives_month
year: archives_year

9
user/config/plugins/bootstrapper.yaml

@ -0,0 +1,9 @@
enabled: false
version: v3
always_load: true
use_cdn: false
mode: production
load_core_css: true
load_theme_css: false
load_popper_js: false
load_core_js: false

7
user/config/plugins/breadcrumbs.yaml

@ -0,0 +1,7 @@
enabled: false
show_all: true
built_in_css: true
include_home: true
icon_home: ''
icon_divider_classes: 'fa fa-angle-right'
link_trailing: false

6
user/config/plugins/datetools.yaml

@ -0,0 +1,6 @@
dateFormat:
default: 'm/d/Y g:ia'
long: 'l, F j, g:ia'
medium: 'F j, g:ia'
short: m/d/y
enabled: false

1
user/config/plugins/devtools.yaml

@ -0,0 +1 @@
enabled: false

3
user/config/plugins/error.yaml

@ -0,0 +1,3 @@
enabled: true
routes:
404: /error

14
user/config/plugins/events.yaml

@ -0,0 +1,14 @@
enabled: false
date_format:
translate: true
long: 'Y-m-d h:ia'
medium: m/d/Y
short: 'M j'
default: 'F j, Y h:ia'
filter_combinator: and
taxonomy_type: event
event_template_types: 'calendar, events, event'
display_months_out: 6
show_past_events: false
enable_single_event_filter: true
default_events_page: events

28
user/config/plugins/external_links.yaml

@ -0,0 +1,28 @@
enabled: false
built_in_css: false
weight: 0
exclude:
classes:
- exclude
domains: null
links:
www: false
schemes:
- http
- https
- ftp
- irc
- mailto
- news
- nntp
- rtsp
- sftp
- ssh
- tel
- telnet
- webcal
process: true
title: false
no_follow: true
target: _blank
mode: active

10
user/config/plugins/featherlight.yaml

@ -0,0 +1,10 @@
enabled: false
active: true
gallery: true
requirejs: false
openSpeed: '250'
closeSpeed: '250'
closeOnClick: background
closeOnEsc: true
root: body
initTemplate: 'plugin://featherlight/js/featherlight.init.js'

5
user/config/plugins/feed.yaml

@ -0,0 +1,5 @@
enabled: false
limit: 10
description: 'My Feed Description'
lang: en-us
length: 500

7
user/config/plugins/file-content.yaml

@ -0,0 +1,7 @@
enabled: false
allow_in_page: true
allow_in_grav: true
allow_in_filesystem: false
allowed_extensions:
- txt
- html

10
user/config/plugins/gantry5.yaml

@ -0,0 +1,10 @@
enabled: false
production: true
use_media_folder: false
offline: false
offline_message: null
asset_timestamps: true
asset_timestamps_period: 7
debug: false
compile_yaml: true
compile_twig: true

15
user/config/plugins/git-sync.yaml

@ -0,0 +1,15 @@
enabled: false
text_var: 'Custom Text added by the **Git Sync** plugin (disable plugin to remove)'
folders:
- pages
webhook: /_git-sync
branch: master
remote:
name: origin
branch: master
git:
author: gituser
name: GitSync
email: git-sync@trilby.media
bin: git
logging: false

29
user/config/plugins/login-oauth.yaml

@ -0,0 +1,29 @@
enabled: false
built_in_css: true
providers:
Facebook:
enabled: false
enable_email: false
credentials:
key: null
secret: null
Google:
enabled: false
credentials:
key: null
secret: null
GitHub:
enabled: false
credentials:
key: null
secret: null
Twitter:
enabled: false
credentials:
key: null
secret: null
Linkedin:
enabled: false
credentials:
key: null
secret: null

43
user/config/plugins/login.yaml

@ -0,0 +1,43 @@
enabled: true
built_in_css: true
route: /login
redirect_to_login: true
redirect_after_login: /termine
route_activate: /activate_user
route_forgot: /forgot_password
route_reset: /reset_password
route_profile: /user_profile
route_register: /user_register
route_unauthorized: /user_unauthorized
dynamic_page_visibility: false
parent_acl: false
protect_protected_page_media: false
rememberme:
enabled: true
timeout: 604800
name: grav-rememberme
max_pw_resets_count: 0
max_pw_resets_interval: 60
max_login_count: 0
max_login_interval: 2
user_registration:
enabled: false
fields:
- username
- password
- email
- fullname
- title
- level
default_values:
level: Newbie
access:
site:
login: 'true'
options:
validate_password1_and_password2: true
set_user_disabled: false
login_after_registration: false
send_activation_email: false
send_notification_email: false
send_welcome_email: '0'

7
user/config/plugins/markdown-notices.yaml

@ -0,0 +1,7 @@
enabled: false
built_in_css: true
level_classes:
- yellow
- red
- blue
- green

3
user/config/plugins/pagination.yaml

@ -0,0 +1,3 @@
enabled: false
built_in_css: true
delta: 0

3
user/config/plugins/piwik.yaml

@ -0,0 +1,3 @@
enabled: false
siteId: '1'
sitePiWikURL: baptisten-hohenacker.de/piwikCR

35
user/config/plugins/relatedpages.yaml

@ -0,0 +1,35 @@
enabled: false
limit: 5
show_score: true
score_threshold: 20
filter:
items:
'@page': /blog
order:
by: date
dir: desc
page_in_filter: true
explicit_pages:
process: true
score: 100
taxonomy_match:
taxonomy: tag
taxonomy_taxonomy:
process: true
score_scale:
1: 50
2: 75
3: 100
taxonomy_content:
process: true
score_scale:
1: 20
2: 30
3: 45
4: 60
5: 70
6: 80
7: 90
8: 100
content_match:
process: false

2
user/config/plugins/scheduler.yaml

@ -0,0 +1,2 @@
enabled: false
active: false

8
user/config/plugins/shortcode-core.yaml

@ -0,0 +1,8 @@
enabled: false
active: true
active_admin: true
parser: regex
custom_shortcodes: null
fontawesome:
load: true
url: //maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css

13
user/config/plugins/simplesearch.yaml

@ -0,0 +1,13 @@
enabled: false
built_in_css: true
display_button: false
min_query_length: 3
route: /search
template: simplesearch_results
filters:
category: blog
filter_combinator: and
ignore_accented_characters: false
order:
by: date
dir: desc

1
user/config/plugins/table-importer.yaml

@ -0,0 +1 @@
enabled: false

2
user/config/plugins/taxonomylist.yaml

@ -0,0 +1,2 @@
enabled: false
route: /blog

21
user/config/plugins/youtube.yaml

@ -0,0 +1,21 @@
enabled: false
built_in_css: true
add_editor_button: true
player_parameters:
autoplay: 0
cc_load_policy: 0
color: red
controls: 1
disablekb: 0
enablejsapi: 0
fs: 1
hl: ''
iv_load_policy: 1
loop: 0
modestbranding: 0
origin: ''
playsinline: 0
rel: 1
showinfo: 1
vq: default
privacy_enhanced_mode: false

1
user/config/security.yaml

@ -0,0 +1 @@
salt: BRtpCILx1Zm9D4

21
user/config/site.yaml

@ -0,0 +1,21 @@
title: 'Baptistengemeinde Hohenacker'
default_lang: de
author:
name: 'Clemens Richter'
email: website@baptisten-hohenacker.de
taxonomies:
- category
- tag
metadata:
description: 'Baptistengemeinde Hohenacker'
keywords: 'Gemeinde, Baptisten, christlich, Hohenacker'
summary:
enabled: false
format: short
size: 300
delimiter: '==='
redirects:
/optout: '/datenschutzerklaerung#optout'
/home: /startseite
blog:
route: /blog

0
user/config/streams.yaml

143
user/config/system.yaml

@ -0,0 +1,143 @@
absolute_urls: false
timezone: Europe/Berlin
param_sep: ':'
wrapped_site: false
reverse_proxy_setup: false
force_ssl: false
force_lowercase_urls: true
username_regex: '^[a-z0-9_-]{3,16}$'
pwd_regex: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}'
intl_enabled: true
languages:
supported:
- de
include_default_lang: false
translations: true
translations_fallback: true
session_store_active: false
http_accept_language: false
override_locale: false
home:
alias: /startseite
hide_in_urls: false
pages:
theme: church
order:
by: default
dir: asc
list:
count: 20
dateformat:
default: 'd-m-Y H:i'
short: 'jS M Y'
long: 'F jS \a\t g:ia'
publish_dates: true
process:
markdown: true
twig: false
twig_first: false
never_cache_twig: false
events:
page: true
twig: true
markdown:
extra: true
auto_line_breaks: false
auto_url_links: false
escape_markup: false
special_chars:
'>': gt
'<': lt
types:
- txt
- xml
- html
- htm
- json
- rss
- atom
expires: 86400
cache_control: 'max-age=86400, public'
last_modified: false
etag: false
vary_accept_encoding: true
redirect_default_route: false
redirect_default_code: '301'
redirect_trailing_slash: true
ignore_files:
- .DS_Store
- '*.mp3'
ignore_folders:
- .git
- .idea
ignore_hidden: true
url_taxonomy_filters: true
frontmatter:
process_twig: false
ignore_fields:
- form
- forms
cache:
enabled: true
check:
method: file
driver: auto
prefix: g
clear_images_by_default: true
cli_compatibility: false
lifetime: 604800
gzip: true
allow_webserver_gzip: false
twig:
cache: true
debug: true
auto_reload: true
autoescape: false
undefined_functions: true
undefined_filters: true
umask_fix: false
assets:
css_pipeline: false
css_pipeline_include_externals: true
css_pipeline_before_excludes: true
css_minify: true
css_minify_windows: false
css_rewrite: true
js_pipeline: false
js_pipeline_include_externals: true
js_pipeline_before_excludes: true
js_minify: true
enable_asset_timestamp: false
collections:
jquery: 'system://assets/jquery/jquery-2.x.min.js'
errors:
display: '0'
log: true
debugger:
enabled: false
shutdown:
close_connection: true
twig: true
images:
default_image_quality: 85
cache_all: false
cache_perms: '0755'
debug: false
auto_fix_orientation: false
media:
enable_media_timestamp: false
auto_metadata_exif: false
upload_limit: 67108864
session:
enabled: true
initialize: true
timeout: 1800
name: baptisten-hohenacker
secure: true
httponly: true
split: true
gpm:
releases: stable
method: auto
verify_peer: true
official_gpm_only: true

3
user/config/themes/antimatter.yaml

@ -0,0 +1,3 @@
enabled: true
dropdown:
enabled: true

19
user/config/themes/bones-vanilla.yaml

@ -0,0 +1,19 @@
enabled: true
site_title:
enabled: true
google_fonts_logo:
enabled: false
fontawesome:
enabled: false
google_prettify:
enabled: false
dropdown:
enabled: true
mobilemenu_breakpoint: large
mobilemenu_position: left
animate_css:
enabled: false
wow_js:
enabled: false
css_custom:
enabled: false

2
user/config/themes/bootstrap.yaml

@ -0,0 +1,2 @@
dropdown:
enabled: true

1
user/config/themes/cascade.yaml

@ -0,0 +1 @@
enabled: true

3
user/config/themes/church.yaml

@ -0,0 +1,3 @@
enabled: true
dropdown:
enabled: true

8
user/config/themes/course-hub-bootstrap.yaml

@ -0,0 +1,8 @@
streams:
schemes:
theme:
type: ReadOnlyStream
prefixes:
'': [user/themes/course-hub-bootstrap, user/themes/bootstrap]
dropdown:
enabled: true

4
user/config/themes/future.yaml

@ -0,0 +1,4 @@
enabled: true
color: blue
dropdown:
enabled: true

10
user/config/themes/grayscale.yaml

@ -0,0 +1,10 @@
enabled: true
color: blue
dropdown:
enabled: true
streams:
scheme:
theme:
type: ReadOnlyStream
paths:
- user/themes/grayscale

3
user/config/themes/materialize.yaml

@ -0,0 +1,3 @@
enabled: true
dropdown:
enabled: true

6
user/config/themes/medium.yaml

@ -0,0 +1,6 @@
enabled: true
default_lang: de
infinite_scroll: true
analytics: UA-YOURCODE
social:
twitter: '@getgrav'

BIN
user/pages/02.startseite/kapelle-small.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
user/pages/02.startseite/kapelle.JPG

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

BIN
user/pages/02.startseite/logo-black-on-white-300p.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

66
user/pages/02.startseite/sidebarpage.de.md

@ -0,0 +1,66 @@
---
title: Startseite
process:
markdown: true
twig: true
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
hidepagetitle: '0'
hidegitrepoeditlink: '0'
gitrepoeditlinkurl: ''
content:
items: '@self.modular'
order:
by: date
dir: desc
---
<style>
h2{
text-align:center;
}
@media (min-width: 450px) {
h2{
max-width:70%;
float:left;
}
}
@media (min-width: 290px) {.float-right {
float: right;
max-width: 30%;
}}
.clearleft{
clear:left;
max-width: 70%;
}
img{
max-width: 100%;
}
</style>
{#[![Foto unserer Kapelle](kapelle.JPG)](#_?classes=lightbox&id=lightbox1)#}
<!-- lightbox container hidden with CSS -->
{% verbatim %}
<a href="#_" class="lightbox" id="lightbox1"><img alt="Foto unserer Kapelle" class="lazyimage" src="user/pages/02.startseite/kapelle.JPG" /></a>
{% endverbatim %}
{#Herzlich&nbsp;Willkommen bei der #}
## Baptistengemeinde Hohenacker (Evangelisch Freikirchliche Gemeinde)
<div class="float-right" markdown="1">
{# page.media['kapelle-small.jpg'].lightbox(1920,2560).resize(200,267).sizes('(max-width:26em) 100vw, 50vw').html('Kapelle', 'Foto unserer Kapelle', 'myclass') #}
{#![Foto unserer Kapelle](kapelle.JPG?lightbox=1920,2560&resize=200,267&classes=lightbox1) #}
[![Foto unserer Kapelle](kapelle.JPG?resize=200,267&classes=thumbnail) ](#lightbox1)
</div>
<div class="clearleft" markdown="1">
Schön, dass Sie sich für unsere Gemeinde interessieren – herzlich willkommen auf unserer Internetseite. Wenn Sie einfach nur mal stöbern wollen, dann sehen Sie sich gerne überall um.
Vielleicht hatten Sie schon einmal die Gelegenheit, die Räumlichkeiten unserer Gemeinde kennen zu lernen - wenn nicht, sind Sie herzlich dazu eingeladen!
Wir freuen uns auf Ihren Besuch
</div>

BIN
user/pages/03.termine/lxml-3.7.3-cp27-cp27mu-manylinux1_x86_64.whl

Binary file not shown.

BIN
user/pages/03.termine/python-dateutil-2.6.0.zip

Binary file not shown.

BIN
user/pages/03.termine/python-docx-0.8.6.tar.gz

Binary file not shown.

1
user/pages/03.termine/python-docx-0.8.6.tar.gz.info

@ -0,0 +1 @@
can't isntall, missing gcc

191
user/pages/03.termine/sidebarpage.de.md

@ -0,0 +1,191 @@
---
title: Terminübersicht
process:
markdown: true
twig: true
---
<style>
@media (min-width: 450px) {
.termintabelle{
font-size: 20px;
}
}
</style>
{%set termine_csv%}
date (iso);time-string;category;param
2017-04-30;16.00 Uhr;text_fett;Filmgottesdienst mit Viktor Petkau
2017-05-02;15.00 Uhr;bibge;
2017-05-03;20.00 Uhr;hauskr;bei Christine
2017-05-07;10.00 Uhr;godi;Andreas Mende
2017-05-09;15.00 Uhr;bibge;
2017-05-14;10.00 Uhr;godi;Siegbert Martin
2017-05-17;20.00 Uhr;hauskr;bei Christine
2017-05-21;10.00 Uhr;godi;Stefan Wawro
2017-05-27; 9.00 Uhr;mägfit;
2017-05-28;10.00 Uhr;godi;Manfred Draheim
2017-05-30;15.00 Uhr;bibge;
2017-05-31;17.30 Uhr;gu;
2017-05-31;19.45 Uhr;text;Gemeindeleitungssitzung
2017-05-31;20.00 Uhr;hauskr;bei Christine
2017-06-04;10.00 Uhr;godi;Andreas Mende
2017-06-06;15.00 Uhr;bibge;
2017-06-11;10.00 Uhr;godi;Viktor Petkau
2017-06-11;11.00 Uhr;text;Gemeindeversammlung
2017-06-13;15.00 Uhr;bibge;
2017-06-18;10.00 Uhr;godi;Siegbert Martin
2017-06-20;15.00 Uhr;bibge;
2017-06-24;11.00 Uhr;text;Taufseminar
2017-06-24;15.00 Uhr;text;Gemeindeforum
2017-06-25;10.00 Uhr;text_fett;Brunch-Gottesdienst mit Johannes Heißwolf
2017-06-27;15.00 Uhr;bibge;
2017-06-28;17.30 Uhr;gu;
2017-06-28;20.00 Uhr;hauskr;bei Christine
2017-07-01;11.00 Uhr;text;Taufseminar
2017-07-02;10.00 Uhr;godi;Viktor Petkau
2017-07-08;11.00 Uhr;text;Taufseminar
2017-07-09;10.00 Uhr;godi;Viktor Petkau
2017-07-12;17.30 Uhr;gu;
2017-07-12;20.00 Uhr;hauskr;bei Christine
2017-07-14;;text;Gemeindefreizeit in Sechselberg
2017-07-15;;text;Gemeindefreizeit in Sechselberg
2017-07-16;10.00 Uhr;text_fett;Gottesdienst bei der Gemeindefreizeit in Sechselberg
2017-07-18;15.00 Uhr;bibge;
2017-07-21;ab 19 Uhr;text;Teilahme am 24-Stunden-Schwimmen in Waiblingen
2017-07-22;bis 19 Uhr;text;Teilahme am 24-Stunden-Schwimmen in Waiblingen
2017-07-23;10.00 Uhr;godi;Andreas Mende
2017-07-25;15.00 Uhr;bibge;
2017-07-26;17.30 Uhr;gu;
2017-07-26;20.00 Uhr;hauskr;bei Christine
2017-07-29; 9.00 Uhr;mägfit;
2017-07-30;10.00 Uhr;godi;Siegbert Martin
2017-08-01;15.00 Uhr;bibge;
2017-08-06;10.00 Uhr;text_fett;Gemeinsamer Brunchgottesdienst mit Thomas Rissmann und der Waiblinger Gemeinde
2017-08-06;;text;in den Räumen der Gemeinde Waiblingen in der Heerstraße 109
2017-08-08;15.00 Uhr;bibge;
2017-08-13;10.00 Uhr;godi;Viktor Petkau
2017-08-20;10.00 Uhr;godi;Andreas Mende
2017-08-22;15.00 Uhr;bibge;
2017-08-27;10.00 Uhr;godi;Siegbert Martin
2017-08-29;15.00 Uhr;bibge;
2017-09-03;10.00 Uhr;text_fett;Gemeinsamer Gottesdienst mit Jürgen Vollmer und der Waiblinger Gemeinde in Hohenacker
2017-09-05;15.00 Uhr;bibge;
2017-09-10;10.00 Uhr;text_fett;Taufgottesdienst mit Viktor Petkau
2017-09-12;20.00 Uhr;text;Treffen der Kindergottesdienstmitarbeiter bei Familie Homering
2017-09-17;10.00 Uhr;godi;Martin Heißwolf
2017-09-20;20.00 Uhr;hauskr;bei Christine
2017-09-24;10.00 Uhr;godi;Siegbert Martin
2017-09-30; 9.00 Uhr;mägfit;
2017-10-01;10.00 Uhr;text_fett;Erntedankgottesdienst mit Margot Köhler und der Waiblinger Gemeinde
2017-10-01;;text;in den Räumen der Gemeinde Waiblingen in der Heerstraße 109
2017-10-04;20.00 Uhr;hauskr;bei Christine
2017-10-08;10.00 Uhr;godi;Andreas Mende
2017-10-10;15.00 Uhr;bibge;
2017-10-15;10.00 Uhr;godi;Viktor Petkau
2017-10-17;15.00 Uhr;bibge;
2017-10-18;20.00 Uhr;hauskr;bei Christine
2017-10-21;15.00 Uhr;text;Gemeindeforum
2017-10-22;10.00 Uhr;godi;Siegbert Martin
2017-10-24;15.00 Uhr;bibge;
2017-10-29;10.00 Uhr;text_fett;Gottesdienst
2017-11-04;15.30 Uhr;gu;
2017-11-04;17.00 Uhr;text;Verabschiedung von Birgit Russer
2017-11-05;10.00 Uhr;godi;Thomas Oberndorf
2017-11-12;10.00 Uhr;text_fett;Abschlussgottesdienst GU mit Viktor Petkau
2017-11-14;15.00 Uhr;bibge;
2017-11-15;20.00 Uhr;hauskr;bei Christine
2017-11-19;10.00 Uhr;godi;Siegbert Martin
2017-11-24;19.30 Uhr;text;Missionsabend mit Andrea und Martin Heißwolf
2017-11-26;10.00 Uhr;godi;Andreas Mende
2017-11-28;15.00 Uhr;bibge;
2017-11-29;20.00 Uhr;hauskr;bei Christine
2017-12-02; 9.00 Uhr;mägfit;
2017-12-03;16.00 Uhr;text_fett;Filmgottesdienst mit Viktor Petkau
2017-12-10;10.00 Uhr;godi;Viktor Petkau
2017-12-12;15.00 Uhr;bibge;
2017-12-13;20.00 Uhr;hauskr;bei Christine
2017-12-17;10.00 Uhr;godi;Andreas Mende
2017-12-19;15.00 Uhr;bibge;
2017-12-24;10.00 Uhr;godi;Viktor Petkau
2017-12-31;16.00 Uhr;godi;Josias Richter
2018-01-02;15.00 Uhr;bibge;
2018-01-07;10.00 Uhr;godi;Viktor Petkau
2018-01-09;15.00 Uhr;bibge;
2018-01-10;20.00 Uhr;hauskr;bei Christine
2018-01-13; 9.00 Uhr;mägfit;
2018-01-14;10.00 Uhr;godi;Martin Heißwolf
2018-01-16;15.00 Uhr;bibge;
2018-01-21;10.00 Uhr;godi;Andreas Mende
2018-01-23;15.00 Uhr;bibge;
2018-01-24;20.00 Uhr;hauskr;bei Christine
2018-01-25;20.00 Uhr;text;Gemeindeleitungssitzung
2018-01-28;10.00 Uhr;godi;Jürgen Vollmer
2018-02-03;15.00 Uhr;text;Gemeindeforum
2018-02-04;10.00 Uhr;godi;Manfred Draheim
2018-02-06;15.00 Uhr;bibge;
2018-02-07;20.00 Uhr;hauskr;bei Christine
2018-02-11;10.00 Uhr;godi;Martin Heißwolf
2018-02-13;15.00 Uhr;bibge;
2018-02-15;19.45 Uhr;text;Gemeindeleitungssitzung
2018-02-18;10.00 Uhr;godi;Viktor Petkau
2018-02-18;12.00 Uhr;text_fett;Gemeinsames Mittagessen und Jahresgemeindestunde
2018-02-19;20.00 Uhr;text;Kigo-Mitarbeitertreffen bei Fam. Homering
2018-02-20;15.00 Uhr;bibge;
2018-02-21;20.00 Uhr;hauskr;bei Christine
2018-02-23;19.30 Uhr;text;Vortragsabend mit Andrea und Martin Heißwolf
2018-02-25;10.00 Uhr;godi;Dirk Lösch
2018-02-27;15.00 Uhr;bibge;
2018-03-04;10.00 Uhr;godi;Andreas Mende
2018-03-07;20.00 Uhr;hauskr;bei Christine
2018-03-11;10.00 Uhr;godi;Martin Heißwolf
2018-03-13;19.30 Uhr;text;Ökumenischer Bibelabend (im Ev. Gemeindehaus)
2018-03-14;19.30 Uhr;text;Ökumenischer Bibelabend (im Ev. Gemeindehaus)
2018-03-15;19.30 Uhr;text;Ökumenischer Bibelabend (im Ev. Gemeindehaus)
2018-03-18;10.00 Uhr;godi;Martin Heißwolf
2018-03-20;15.00 Uhr;bibge;
2018-03-21;20.00 Uhr;hauskr;bei Christine
2018-03-24; 9.00 Uhr;mägfit;
2018-03-25;10.00 Uhr;godi;Viktor Petkau
2018-03-30;10.00 Uhr;text_fett;Karfreitagsgottesdienst mit Viktor Petkau
2018-03-31;13.00 Uhr;text;Gemeinsamer Frühjahrsputz
2018-04-01;10.00 Uhr;godi;Stefan Wawro
2018-04-03;15.00 Uhr;bibge;
2018-04-08;10.00 Uhr;godi;Bernd Herrmann
2018-04-15;10.00 Uhr;godi;Martin Heißwolf
2018-04-18;20.00 Uhr;hauskr;bei Christine
2018-04-19;19.45 Uhr;text;Gemeindeleitungssitzung
2018-04-22;10.00 Uhr;godi;Viktor Petkau
2018-04-24;15.00 Uhr;bibge;
2018-04-29;10.00 Uhr;text_fett;Filmgottesdienst mit Josias Richter
2018-05-02;20.00 Uhr;hauskr;bei Christine
2018-05-06;10.00 Uhr;godi;Viktor Petkau
2018-05-08;15.00 Uhr;bibge;
2018-05-13;10.00 Uhr;godi;Viktor Petkau
2018-05-15;15.00 Uhr;bibge;
2018-05-16;20.00 Uhr;hauskr;bei Christine
2018-05-20;10.00 Uhr;godi;Andreas Mende
2018-05-22;15.00 Uhr;bibge;
2018-05-27;10.00 Uhr;godi;Manfred Draheim
2018-05-29;15.00 Uhr;bibge;
2018-06-03;10.00 Uhr;godi;Martin Heißwolf
2018-06-10;10.00 Uhr;godi;Martin Heißwolf
2018-06-13;20.00 Uhr;hauskr;bei Christine
2018-06-17;10.00 Uhr;godi;Jürgen Vollmer
2018-06-19;15.00 Uhr;bibge;
2018-06-24;10.00 Uhr;godi;Willy Kuhn (Open Doors)
2018-06-26;15.00 Uhr;bibge;
2018-06-27;20.00 Uhr;hauskr;bei Christine
{%endset%}
{% filter pythonscript('termine-web.py') %}
{{termine_csv}}
{% endfilter %}
{% if config.plugins.login.enabled and grav.user.username %}
{% filter pythonscript('termine_kirchenwn.py') %}
{{termine_csv}}
{% endfilter %}
{# filter pythonscript('termine_gembr.py') #}
{{termine_csv}}
{# endfilter #}
{% endif %}

BIN
user/pages/03.termine/six-1.10.0.tar.gz

Binary file not shown.

50
user/pages/03.termine/templates.py

@ -0,0 +1,50 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
weekday_names=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]
weekday_names_short=["Mo","Di","Mi","Do","Fr","Sa","So"]
monthnames=['','Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
#text,other,sonder,...
web_templates={"godi":"Gottesdienst mit {param}"
,"bibge":"Bibelgespräch"
,"gu":"Gemeindeunterricht"
,"hauskr":"Hauskreis {param}"
,"text":"{param}"
,"text_fett":"{param}"
,"m\xc3\xa4gfit":"MäGFiT in der Kapelle"}
web_templates_noparam={"godi":"Gottesdienst"
,"bibge":"Bibelgespräch"
,"gu":"Gemeindeunterricht"
,"hauskr":"Hauskreis"
,"m\xc3\xa4gfit":"MäGFiT in der Kapelle"}
ortsbl_terminbeschreibung={
#"godi":"Für die Kinder bieten wir parallel zum Gottesdienst für die Erwachsenen einen Kindergottesdienst an."
"godi":"Wir laden herzlich zum Gottesdienst in unserer Kapelle ein."
,"bibge":"Wir sind eine Gruppe jung gebliebener Senioren und finden es sehr spannend, über die Texte der Bibel ins Gespräch zu kommen."
,"gu":""
,"hauskr":"Gemeinsamen Singen, Beten, Bibellesen und persönlicher Austausch in einer offenen Gesprächsatmosphäre.\nInfos unter Tel. 07151 / 8 36 48"
,"text":""
,"text_fett":""
,"m\xc3\xa4gfit":"""Männer, haltet Euch fit mit einem gemeinsamen Frühstück und Gebet
Anmeldungen bei Uwe Köhler
Tel.: 07151 / 22616"""}
gembr_templates=web_templates
gembr_html_line_template='<tr><td>{weekday}</td><td>{date}</td><td>{time} {text}</td><tr>'
gembr_html_line_template_bold_ul='<tr><td><u><b>{weekday}</u></b></td><td><u><b>{date}</u></b></td><td><u><b>{time} {text}</u></b></td><tr>'
html_line_template='<tr style="{style}"><td style="padding-right: {padding}px;">{weekday}</td><td style="padding-right: {padding}px;">{date}</td><td style="padding-right: {padding}px;text-align:right;">{time}</td><td>{text}</td><tr>'
html_template="""
<style>
.tablerow{{
font-family: Calibri,sans-serif;font-size: 100%;}}
.highlighted{{
text-decoration: underline;font-weight:bold;}}
td{{padding-right: 5px;
}}
</style>
<table class="termintabelle" border="0" cellpadding="1" cellspacing="1" >
<tbody>
{table_content}
</tbody>
</table>
"""

BIN
user/pages/03.termine/templates.pyc

Binary file not shown.

111
user/pages/03.termine/termine-test.py

@ -0,0 +1,111 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
import sys
sys.path.append("/mnt/web103/c1/41/53451241/htdocs/grav/pythonlib")
#TODO check input via regexp?
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="web"#web,ortsblatt,gembr,kirchenwn
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] #naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
code.interact(local=locals())
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
for row in reader:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
#print(row)
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date.month>=yesterday.month and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 160%;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 100%;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 100%;"#font-size: 14pt;
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
table_html=html_template.format(table_content=table_content)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

127
user/pages/03.termine/termine-web.py

@ -0,0 +1,127 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
import sys
sys.path.append("/mnt/web103/c1/41/53451241/htdocs/grav/pythonlib")
#TODO check input via regexp?
#TODO use style tage instead on inline css
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="web"#web,ortsblatt,gembr,kirchenwn
logmessage=""
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] #naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
#logmessage+="param: {}".format(param)
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
logmessage+="lastdate is {}".format(lastdate)
for row in reader:
try:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
if not len(row)==4:
print("error: row has wrong length, malformed csv?")
print(row)
continue
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date.month>=yesterday.month and date.year>=yesterday.year and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 160%;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
if row[3] == "":
text = web_templates_noparam[category]
else:
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 100%;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 100%;"#font-size: 14pt;
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
except:
print "error at row:"
print row
pass
logmessage+="generated sucessfully on %s"%str(datetime.datetime.now())
table_html=html_template.format(table_content=table_content)
table_html+="""<script>console.log("{}")</script>""".format(logmessage)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

28
user/pages/03.termine/termine.csv

@ -0,0 +1,28 @@
date (iso);time-string;category;param
2017-04-30;16.00 Uhr;text_fett;Filmgottesdienst mit Viktor Petkau
2017-05-02;15.00 Uhr;bibge;
2017-05-03;20.00 Uhr;hauskr;bei Christine
2017-05-07;10.00 Uhr;godi;Andreas Mende
2017-05-09;15.00 Uhr;bibge;
2017-05-14;10.00 Uhr;godi;Siegbert Martin
2017-05-17;20.00 Uhr;hauskr;bei Christine
2017-05-21;10.00 Uhr;godi;Stefan Wawro
2017-05-27; 9.00 Uhr;mägfit;
2017-05-28;10.00 Uhr;godi;Manfred Draheim
2017-05-30;15.00 Uhr;bibge;
2017-05-31;17.30 Uhr;gu;
2017-05-31;19.45 Uhr;text;Gemeindeleitungssitzung
2017-05-31;20.00 Uhr;hauskr;bei Christine
2017-06-04;10.00 Uhr;godi;Andreas Mende
2017-06-06;15.00 Uhr;bibge;
2017-06-11;10.00 Uhr;godi;Viktor Petkau
2017-06-11;11.00 Uhr;text;Gemeindeversammlung
2017-06-13;15.00 Uhr;bibge;
2017-06-18;10.00 Uhr;godi;Siegbert Martin
2017-06-20;15.00 Uhr;bibge;
2017-06-24;11.00 Uhr;text;Taufseminar
2017-06-24;15.00 Uhr;text;Gemeindeforum
2017-06-25;10.00 Uhr;text_fett;Brunch-Gottesdienst mit Viktor Petkau
2017-06-27;15.00 Uhr;bibge;
2017-06-28;17.30 Uhr;gu;
2017-06-28;20.00 Uhr;hauskr;bei Christine

124
user/pages/03.termine/termine.py

@ -0,0 +1,124 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
import sys
sys.path.append("/mnt/web103/c1/41/53451241/htdocs/grav/pythonlib")
#TODO check input via regexp?
#TODO use style tage instead on inline css
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="web"#web,ortsblatt,gembr,kirchenwn
logmessage=""
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] #naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
#logmessage+="param: {}".format(param)
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
logmessage+="lastdate is {}".format(lastdate)
for row in reader:
try:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
if not len(row)==4:
print("error: row has wrong length, malformed csv?")
print(row)
continue
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date.month>=yesterday.month and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 160%;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 100%;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 100%;"#font-size: 14pt;
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
except:
print "error at row:"
print row
pass
logmessage+="generated sucessfully"
table_html=html_template.format(table_content=table_content)
table_html+="""<script>console.log("{}")</script>""".format(logmessage)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

55
user/pages/03.termine/termine2.csv

@ -0,0 +1,55 @@
date (iso);time-string;category;param
2017-04-30;16.00 Uhr;text_fett;Filmgottesdienst mit Viktor Petkau
2017-05-02;15.00 Uhr;bibge;
2017-05-03;20.00 Uhr;hauskr;bei Christine
2017-05-07;10.00 Uhr;godi;Andreas Mende
2017-05-09;15.00 Uhr;bibge;
2017-05-14;10.00 Uhr;godi;Siegbert Martin
2017-05-17;20.00 Uhr;hauskr;bei Christine
2017-05-21;10.00 Uhr;godi;Stefan Wawro
2017-05-27; 9.00 Uhr;mägfit;
2017-05-28;10.00 Uhr;godi;Manfred Draheim
2017-05-30;15.00 Uhr;bibge;
2017-05-31;17.30 Uhr;gu;
2017-05-31;19.45 Uhr;text;Gemeindeleitungssitzung
2017-05-31;20.00 Uhr;hauskr;bei Christine
2017-06-04;10.00 Uhr;godi;Andreas Mende
2017-06-06;15.00 Uhr;bibge;
2017-06-11;10.00 Uhr;godi;Viktor Petkau
2017-06-11;11.00 Uhr;text;Gemeindeversammlung
2017-06-13;15.00 Uhr;bibge;
2017-06-18;10.00 Uhr;godi;Siegbert Martin
2017-06-20;15.00 Uhr;bibge;
2017-06-24;11.00 Uhr;text;Taufseminar
2017-06-24;15.00 Uhr;text;Gemeindeforum
2017-06-25;10.00 Uhr;text_fett;Brunch-Gottesdienst mit Viktor Petkau
2017-06-27;15.00 Uhr;bibge;
2017-06-28;17.30 Uhr;gu;
2017-06-28;20.00 Uhr;hauskr;bei Christine
2017-07-01;11.00 Uhr;text;Taufseminar
2017-07-02;10.00 Uhr;godi;Viktor Petkau
2017-07-08;11.00 Uhr;text;Taufseminar
2017-07-09;10.00 Uhr;godi;Viktor Petkau
2017-07-12;17.30 Uhr;gu;
2017-07-12;20.00 Uhr;hauskr;bei Christine
2017-07-14;;text;Gemeindefreizeit in Sechselberg
2017-07-15;;text;Gemeindefreizeit in Sechselberg
2017-07-16;10.00 Uhr;godi;Viktor Petkau auf der Gemeindefreizeit in Sechselberg
2017-07-18;15.00 Uhr;bibge;
2017-07-21;ab 19 Uhr;text;Teilahme am 24-Stunden-Schwimmen in Waiblingen
2017-07-22;bis 19 Uhr;text;Teilahme am 24-Stunden-Schwimmen in Waiblingen
2017-07-23;10.00 Uhr;godi;Andreas Mende
2017-07-25;15.00 Uhr;bibge;
2017-07-26;17.30 Uhr;gu;
2017-07-26;20.00 Uhr;hauskr;bei Christine
2017-07-29; 9.00 Uhr;mägfit
2017-07-30;10.00 Uhr;godi;Siegbert Martin
2017-08-01;15.00 Uhr;bibge;
2017-08-06;10.00 Uhr;text_fett;Gemeinsamer Brunchgottesdienst mit Thomas Rissmann und der Waiblinger Gemeinde
2017-08-06;;text;in den Räumen der Gemeinde Waiblingen in der Heerstraße 109
2017-08-08;15.00 Uhr;bibge;
2017-08-13;10.00 Uhr;godi;Viktor Petkau
2017-08-20;10.00 Uhr;godi;Andreas Mende
2017-08-22;15.00 Uhr;bibge;
2017-08-27;10.00 Uhr;godi;Siegbert Martin
2017-08-29;15.00 Uhr;bibge;

124
user/pages/03.termine/termine_gembr.py

@ -0,0 +1,124 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
import sys
sys.path.append("/mnt/web103/c1/41/53451241/htdocs/grav/pythonlib")
#TODO check input via regexp?
#TODO use style tage instead on inline css
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="gembr"#web,ortsblatt,gembr,kirchenwn
logmessage=""
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] #naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
#logmessage+="param: {}".format(param)
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
logmessage+="lastdate is {}".format(lastdate)
for row in reader:
try:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
if not len(row)==4:
print("error: row has wrong length, malformed csv?")
print(row)
continue
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date.month>=yesterday.month and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 160%;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 100%;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 100%;"#font-size: 14pt;
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
except:
print "error at row:"
print row
pass
logmessage+="generated sucessfully"
table_html=html_template.format(table_content=table_content)
table_html+="""<script>console.log("{}")</script>""".format(logmessage)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

124
user/pages/03.termine/termine_kirchenwn.py

@ -0,0 +1,124 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
import sys
sys.path.append("/mnt/web103/c1/41/53451241/htdocs/grav/pythonlib")
#TODO check input via regexp?
#TODO use style tage instead on inline css
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="kirchenwn"#web,ortsblatt,gembr,kirchenwn
logmessage=""
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] #naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
#logmessage+="param: {}".format(param)
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
logmessage+="lastdate is {}".format(lastdate)
for row in reader:
try:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
if not len(row)==4:
print("error: row has wrong length, malformed csv?")
print(row)
continue
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date.month>=yesterday.month and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 160%;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 100%;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 100%;"#font-size: 14pt;
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
except:
print "error at row:"
print row
pass
logmessage+="generated sucessfully"
table_html=html_template.format(table_content=table_content)
table_html+="""<script>console.log("{}")</script>""".format(logmessage)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

67
user/pages/04.ueber-uns/sidebarpage.de.md

@ -0,0 +1,67 @@
---
menu: 'Über uns'
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
---
<a id="wir-nennen-uns"></a>
## Wir nennen uns...
**...evangelisch,
weil die Grundlage unserer Überzeugung die Gute Nachricht Gottes, das Evangelium, für den Menschen ist.**
Die Bibel ist uns hierbei Orientierung und Hilfestellung für unsere Lebensgestaltung.
**...freikirchlich,
weil wir für die Unabhängigkeit von Kirche und Staat eintreten.**
Alle Arbeitsbereiche unserer Gemeinde finanzieren wir durch freiwillige Spenden von Mitgliedern und Freunden. Wir verzichten darauf, Kirchensteuern zu erheben.
**...Gemeinde,
weil wir Gemeinschaft miteinander haben, füreinander und den Nächsten da sind.**
Im Zentrum unseres Gemeindelebens steht die Feier des Gottesdienstes.
Die Kinder- und Jugendangebote (Kindergottesdienst, Jungschar u. Jugendgruppe) und das Treffen in den Gruppen (Bibelgespräch, Hauskreis) sind weitere Schwerpunkte der Gemeindearbeit.
Besonderen Veranstaltungen (z.B. Themengottesdienste) und regelmäßiges Gebet für unsere Mitmenschen und greifen aktuelle Themen und Probleme in unserer Gesellschaft auf.
**...Baptisten,
weil wir Menschen, die Jesus Christus persönlich ihr Leben anvertraut haben, nach dem biblischen Vorbild durch Untertauchen taufen.**
"Baptisten" bedeutet "Täufer" - eine Bezeichnung, die diesem Personenkreis zuerst von anderen gegeben wurde. Baptisten taufen nach den biblischen Vorbild Menschen, die sich mit ihrer Taufe zu Jesus Christus als ihren persönlichen Herrn und Erlöser bekennen wollen.
<a id="unser-selbstverstaendnis"></a>
## Unser Selbstverständnis:
**Gast der Gemeinde**
Jede Person ist herzlich willkommen unsere Gemeinschaft kennen lernen.
**Freund der Gemeinde**
Schön, wenn aus einer ersten Begegnung Freundschaft zu unserer Gemeinschaft wächst.
**Mitglied der Gemeinde (Mitgliedschaft)**
Die Voraussetzung zur Mitgliedschaft beruht auf einer freien Entscheidung für ein Leben mit Gott.
Nach dem Vorbild des Neuen Testamentes taufen wir aufgrund des persönlichen Bekenntnisses zu Jesus Christus, unserem Herrn.
**Ortsgemeinde**
Wir wollen als Gemeinde am Ort den Menschen eine Hilfe sein.
**Gemeindeverbund (Landes- und Bundesverband, Weltbund der Baptisten)**
Als Gemeinde sind wir in den Bund der Evangelisch – Freikirchlichen Gemeinden Deutschland (K.d.ö.R. - Körperschaft des öffentlichen Rechts) eingebunden, einem demokratisch organisierten Verband mit über 800 Gemeinden in Deutschland.
Weltweit gehören wir zum Weltbund der Baptisten, einer mit mehr als 40 Millionen Mitgliedern in 125 Ländern der Erde vertretenen christlichen Kirche, die zu den größten evangelischen Kirchen zählt.
**Ökumene**
Weltweit sind wir mit allen christlichen Kirchen verbunden, die der Verkündigung des Evangeliums von Jesus Christus zentrale Bedeutung beimessen.
**Religionsfreiheit**
Wir respektieren und wertschätzen Menschen mit einem anderen Glauben. Jeder Mensch hat ein Recht seinen Glauben zu vertreten, auszuüben und jederzeit freiwillig ändern zu können.

12
user/pages/04.ueber-uns/unser-selbstverstaendnis/default.de.md

@ -0,0 +1,12 @@
---
title: 'Unser Selbstverständnis'
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/ueber-uns#unser-selbstverstaendnis'
visible: true
---

12
user/pages/04.ueber-uns/wir-nennen-uns/default.de.md

@ -0,0 +1,12 @@
---
title: 'Wir nennen uns...'
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/ueber-uns#wir-nennen-uns'
visible: true
---

11
user/pages/05.gruppen/01.jugendgruppe-bjheck/default.de.md

@ -0,0 +1,11 @@
---
title: 'Jugendgruppe BJHeck'
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/gruppen#bjheck'
---

11
user/pages/05.gruppen/02.hauskreis/default.de.md

@ -0,0 +1,11 @@
---
title: Hauskreis
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/gruppen#hauskreis'
---

11
user/pages/05.gruppen/03.bibelgespraech/default.de.md

@ -0,0 +1,11 @@
---
title: Bibelgespräch
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/gruppen#bibelgespraech'
---

11
user/pages/05.gruppen/05.maegfit/default.de.md

@ -0,0 +1,11 @@
---
title: 'Männertreff MäGFiT'
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
redirect: '/gruppen#maegfit'
---

BIN
user/pages/05.gruppen/kidsclub-web.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

49
user/pages/05.gruppen/sidebarpage.de.md

@ -0,0 +1,49 @@
---
title: Gruppen
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
---
<a id="bjheck"></a>
## Jugendgruppe BJHeck
Du sitzt Samstag Abends allein zuhause? Dir ist langweilig? Im Fernsehen kommt nur Schrott?
Komm doch einfach bei uns vorbei!
Wir sind BJHeck (Baptisten-Jugend-Hohenacker, "die aus der Ecke"), Jugendliche ab 16 Jahren, und wir treffen uns alle 2 wochen Samstags um 18:30 in der Kapelle.
Wir kochen, machen Lobpreis, haben Gemeinschaft, verbringen Zeit mit Gott, und haben alles in allem viel Spaß dabei.
Wir freuen uns auf DICH!
<a id="hauskreis"></a>
## Hauskreis
Im Hauskreis treffen wir uns vierzehntägig zum gemeinsamen Singen, Beten und Bibellesen und einem persönlichen Austausch in einer offenen Gesprächsatmosphäre. Da wir alle beruflich und familiär ziemlich eingespannt sind und wenig Zeit zu intensiver Vorbereitung von Themen haben, lesen wir einfach die Bücher der Bibel und tauschen uns darüber aus. Unser Ziel ist es, sich im hektischen Alltag etwas Zeit für Gott, Gottes Wort und die Pflege der Gemeinschaft zu nehmen.
<a id="bibelgespraech"></a>
## Bibelgespräch
Wir sind eine Gruppe jung gebliebener Senioren und finden es sehr spannend, über die Texte der Bibel ins Gespräch zu kommen.
Gottes Wort wird in unserem kleinen Kreis lebendig und motiviert uns, unseren Glauben im Alltag zu leben.
Und damit das Ganze nicht zu trocken wird, feiern wir unsere Geburtstage miteinander mit Kaffee und Kuchen.Wir sind offen für
Interessierte, die bei uns reinschnuppern wollen.
„Eine Leuchte für meinen Fuß ist dein Wort und ein Licht auf meinem Weg.“ – Psalm 119:105
<!--
beispiel für bild:
<style>
.float-right {
float: right
}
</style>
![](kidsclub-web.jpg?lightbox=759,551&resize=206,150&classes=float-right)
-->
<a id="maegfit"></a>
## Männertreff MäGFiT
M ä G F i T
(überkonfessionell)
Männer - Gebets - Frühstücks - Treff
Herzliche Einladung an alle Männer zum gemeinsamen Frühstücken und Beten

18
user/pages/06.anfahrt/sidebarpage.de.md

@ -0,0 +1,18 @@
---
title: Anfahrt
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
---
## Adresse
Gässle 29
71336 Waiblingen - Hohenacker
## Karte
<iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="https://www.openstreetmap.org/export/embed.html?bbox=9.30409,48.85791,9.32864,48.87228&amp;layer=mapnik&amp;marker=48.86455,9.31426" style="border: 1px solid black" width="90%"></iframe>
[Größere Karte anzeigen](https://www.openstreetmap.org/?lat=48.865095&amp;lon=9.316365000000001&amp;zoom=14&amp;layers=M&amp;mlat=48.86455&amp;mlon=9.31426&target=_blank)

BIN
user/pages/07.kontakt/pastor-viktor-petkau.JPG

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

52
user/pages/07.kontakt/sidebarpage.de.md

@ -0,0 +1,52 @@
---
title: Kontakt
process:
markdown: true
twig: true
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
---
<!-- lightbox container hidden with CSS -->
{% verbatim %}
<a href="#_" class="lightbox" id="lightbox1"><img alt="Pastor Viktor Petkau" class="lazyimage" src="user/pages/07.kontakt/pastor-viktor-petkau.JPG" /></a>
<style>
span.displaynone{display:none}
</style>
{% endverbatim %}
## Pastor
{# ![](pastor-viktor-petkau.JPG?lightbox=2560,1920&resize=333,250) #}
[![Pastor Viktor Petkau](pastor-viktor-petkau.JPG?resize=333,250&classes=thumbnail) ](#lightbox1)
Pastor Viktor Petkau
Tel.: 07191 4982027
<a class=mailto href_crypt="DA4NBRUFSR8IFx4YAykQEAADBhYDFB5CDQQMFR0ADAEXA0ENEg==">
pastor<span class="displaynone">-bot-schutz</span>@<span class="displaynone">-bot-schutz</span>baptisten<span class="displaynone">-bot-schutz</span>-hohenacker<span class="displaynone">-bot-schutz</span>.de
</a>
{# <a href="mailto:{{'pastor@baptisten-hohenacker.de'|safe_email}}">
pastor<span class="displaynone">###spamschutz###</span>@<span class="displaynone">-bot-schutz</span>baptisten<span class="displaynone">-bot-schutz</span>-hohenacker<span class="displaynone">-bot-schutz</span>.de
</a> #}
## Spenden
Wir finanzieren uns ausschließlich durch Spenden. Wenn Du unsere Arbeit unterstützen möchtest, freuen wir uns über eine Spende auf das folgende Konto:
#### Bankverbindung:
Volksbank Stuttgart eG
Gemeinde Hohenacker
|||
|:--|:--|
|Konto-Nr.:|78 407 001|
|BLZ:|600 901 00|
IBAN:|DE076009 0100 0078 4070 01|
|BIC:|VOBADESS|
Im Verwendungszweck bitte angeben: Spende EFG-Hohenacker + vollständige Adresse des Spenders.
Die Spendenbescheinigungen werden Anfang des Jahres ausgestellt.

70
user/pages/08.predigtaufnahmen/default.de.md

@ -0,0 +1,70 @@
---
title: Predigtaufnahmen
process:
markdown: true
twig: true
cache_enable: false
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
tablesorter:
active: true
include_widgets: true
include_metadata: true
themes: 'blue,default'
args:
1:
widgets:
- zebra
theme: blue
---
<script>
function searchFunction() {
// Declare variables .... no, we dont need more globals
//var input, filter, table, tr, td, i;
input = document.getElementById("searchInput");
filter = input.value.toUpperCase();
table = document.getElementById("tstableid1");
tr = table.getElementsByTagName("tr");
// Loop through all table rows, and hide those who don't match the search query
noresults=true;
for (i = 0; i < tr.length; i++) {
tds = tr[i].getElementsByTagName("td");
found=false;
for (j = 0; j < tds.length; j++) {
if (tds[j] && tds[j].innerHTML.toUpperCase().indexOf(filter) > -1) {
found=true;
noresults=false;
}
}
if(found){
tr[i].style.display = "";
}
else {
tr[i].style.display = "none";
}
}
infofield = document.getElementById("infofield");
if(noresults){
infofield.innerHTML="keine Ergebnisse für: "+input.value;
}
else{
infofield.innerHTML="";
}
}
</script>
<input type="text" id="searchInput" onkeyup="searchFunction()" placeholder="in Tabelle suchen">
<div id=infofield></div>
{{ pythonscript('/aufnahmen/gen_md.py','~/razor/grav/aufnahmen/') }}
<!--htmlcomment-->
{# twigcomment #}
{# ## file:
{{ 'table.html'|filecontent }}
{{ pythonscript('/aufnahmen/gen_md.py','~/razor/grav/user/pages/08.predigtaufnahmen/') }} #}
{{url('jquery')}}

BIN
user/pages/09.links/PP-Logo_2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

25
user/pages/09.links/sidebarpage.de.md

@ -0,0 +1,25 @@
---
title: Links
---
## Links zu anderen Seiten
### Onken Partnerprogramm:
[![Onken Partnerprogramm](PP-Logo_2.png?cropResize=400)](http://www.portal-oncken.de/index.php?partnerprogramm=MjEzXzE0ODY5MV82MzQ%3D&target=_blank)
### Baptistengemeinden:
#### <u>**Backnang**<br /></u>
* **Anschrift:**
Evangelisch- Freikirchliche Gemeinde Backnang
Eugen- Bolz- Straße 24
71522 Backnang
* **Webseite:**
[www.baptisten-backnang.de](https://www.baptisten-backnang.de/?target=_blank)
#### **<u>Waiblingen</u>**
* **Anschrift:**
Evangelisch-Freikirchlichen Gemeinde Waiblingen
Heerstraße 109
71332 Waiblingen
* **Webseite:**
[www.baptistengemeinde-waiblingen.de](http://www.baptistengemeinde-waiblingen.de/?target=_blank)

30
user/pages/datenschutzerklaerung/default.de.md

@ -0,0 +1,30 @@
---
title: Datenschutzerklärung
routes:
aliases:
- /privacy
---
# Datenschutzerklärung
## Verantwortlich
[impressum](/impressum)
## Arten der verarbeiteten Daten
|||
|--:|:--|
|**Metadaten**| IP Addresse,Gerätetyp, Browserversion|
|**Nutzungsdaten**| Aufgerufene Unterseiten, heruntergeladene Dateien|
## Kategorien betroffener Personen
Besucher dieser Website.
## Zweck der Verarbeitung
* Zurverfügungstellung der Internetseite
* Sicherheitsmaßnahmen.
* Reichweitenmessung/Marketing
## Reichweitenmessung mit Matomo
<a id="optout"></a>
<iframe style="border: 0; height: 200px; width: 600px;" src="/piwikCR/index.php?module=CoreAdminHome&action=optOut&language=de&backgroundColor=&fontColor=&fontSize=&fontFamily="></iframe>

32
user/pages/impressum/default.de.md

@ -0,0 +1,32 @@
---
title: Impressum
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
---
<style type="text/css">
span.displaynone { display:none; }
</style>
### Herausgeber (V.i.S.d.P.):
Evangelisch-Freikirchliche Gemeinde Hohenacker vertreten durch Herrn Viktor Petkau.
EFG Hohenacker
z.H. Viktor Petkau
Gässle 29
D-71336 Waiblingen - Hohenacker
E-Mail: <a class=mailto href_crypt="DA4NBRUFSQYHAgU3EwgCBRkEGwAZXBgADQ4KERAKChhcFQo=">
info<span class="displaynone">-bot-schutz</span>@<span class="displaynone">-bot-schutz</span>baptisten<span class="displaynone">-bot-schutz</span>-hohenacker<span class="displaynone">-bot-schutz</span>.de
</a>
### Pflege der Internetpräsenz:
Clemens Richter
E-Mail: <a class=mailto href_crypt="DA4NBRUFSRgMBhkeBQwyExEHGwwEBRUBSAMLGBYPDgkZFB1HEwA=">
website<span class="displaynone">-bot-schutz</span>@<span class="displaynone">-bot-schutz</span>baptisten<span class="displaynone">-bot-schutz</span>-hohenacker<span class="displaynone">-bot-schutz</span>.de
</a>
### Rechtliche Hinweise:
Verwendete Bilder/ Fotos unterliegen dem Urheberrecht, Weiterverwendung nur durch schriftliche Genehmigung.
Copyright © aller Bilder bei EFG Hohenacker (privat), soweit nicht anders gekennzeichnet

5
user/pages/index.php/default.de.md

@ -0,0 +1,5 @@
---
title: index.php
redirect: 'https://www.baptisten-hohenacker.de'
---

BIN
user/pages/intern/Taufbecken-Heizung-aus.mp4

Binary file not shown.

BIN
user/pages/intern/Taufbecken-Heizung-ein.mp4

Binary file not shown.

56
user/pages/intern/default.de.md

@ -0,0 +1,56 @@
---
title: intern
access:
site.login: true
admin.login: true
---
# Anleitungen
## Ton/Bild
## Taufbecken
### 1. Vorbereitungen (~30 min)
* Pflanzen wegräumen
* Subwoofer ausstecken und wegräumen
* Gestelle unter Subwoofern wegräumen
* Geländer öffnen
* Becken saugen und wischen
* Nach dem Wischen sollte ein bisschen wasser ein und wieder abgelassen werden, damit im Wasser nacher kein Putzmittel mehr ist
### 2. Wasser einlassen
1. Prüfen, ob Ablaufventil zu (grünes Rad)
2. Zulaufventil öffnen (blaues Rad)
3. ca 70 Minuten warten bis Becken voll
4. Zulaufventil schließen
### 3. Heizung Einschalten
* Warm Wasser regelung aktivieren
1. "heizkörper" taste (hinter klappe unten links) drücken und halten
2. am blauen rad (oben rechts) drehen, bis "WWASSER" angezeigt wird
3. "heizkörper" taste loslassen
4. "Sonne" taste drücken (rechts), dann sollte "WW-DAUER" angezeigt werten
* Taufbeckenpumpe anschalten ("Lichtschalter" an der Wand)
**ACHTUNG: erst Pumpe anschalten, wenn Wasser im Becken bis zur zweiten Stufe**
Hier ein kurzes Video dazu:
![](Taufbecken-Heizung-ein.mp4?resize=400,200)
### 4. Heizung Ausschalten
* Taufbeckenpumpe ausschalten ("Lichtschalter" an der Wand)
* Warm Wasser regelung deaktivieren
1. "heizkörper" taste (hinter klappe unten links) drücken und halten
2. am blauen rad (oben rechts) drehen, bis "WWASSER" angezeigt wird
3. "heizkörper" taste loslassen
4. "Mond" taste drücken (rechts), dann sollte "WW-AUS" angezeigt werten
Hier ein kurzes Video dazu:
![](Taufbecken-Heizung-aus.mp4?resize=400,200)
### 5. Wasser ablassen
1. **Prüfen, ob Taufbeckenpumpe aus** ("Lichtschalter" an Wand über Heizung)
2. Ablaufventil öffnen (grünes Rad)

62
user/pages/sidebar/default.de.md

@ -0,0 +1,62 @@
---
title: sidebar
process:
markdown: true
twig: true
cache_enable: false
visible: false
external_links:
process: true
title: false
no_follow: true
target: _blank
mode: active
icon: ''
hidefrompostlist: '0'
continue_link: '1'
hidegitrepoeditlink: '0'
form:
name: feedback-form
fields:
-
name: name
label: Name
placeholder: 'ihr Name (optional)'
autocomplete: 'on'
type: text
validate:
required: false
-
name: feedback
label: Text
autofocus: 'off'
placeholder: 'Rückmeldung eingeben'
type: text
validate:
required: true
buttons:
-
type: submit
value: Senden
process:
-
save:
fileprefix: feedback-
dateformat: Ymd-His-u
extension: txt
body: '{% include ''forms/data.txt.twig'' %}'
-
redirect: ''
-
message: 'Danke für ihre Rückmeldung'
- 'display:''thankyou'''
---
<div id="losung" class="well">
{{ losung() }}
</div>
{#<div id="feedback" class="well">
<b>Rückmeldung zur internetseite</b>
{% include "forms/form.html.twig" %}
</div>#}
{# comment #}

56
user/pages/test/default.de.md

@ -0,0 +1,56 @@
---
title: test
process:
markdown: true
twig: true
cache_enable: false
form:
name: feedback-form
fields:
-
name: name
label: Name
placeholder: 'Enter your name'
autofocus: 'on'
autocomplete: 'on'
type: text
validate:
required: true
-
name: feedback
label: Feedback
placeholder: 'Enter your feedback'
type: text
validate:
required: true
buttons:
-
type: submit
value: Submit
-
type: reset
value: Reset
process:
-
save:
fileprefix: feedback-
dateformat: Ymd-His-u
extension: txt
body: '{% include ''forms/data.txt.twig'' %}'
-
message: 'Thank you for your feedback!'
---
<iframe style="border: 0; height: 200px; width: 600px;" src="/piwikCR/index.php?module=CoreAdminHome&action=optOut&language=de&backgroundColor=&fontColor=&fontSize=&fontFamily="></iframe>
{% include "forms/form.html.twig" %}
# test
## twig function:
{{ pythonscript('test.py','~/razor/grav/aufnahmen/') }}
## twig filter
{{ 'this is a test' | pythonscript('test.py') }}
## twig filter on section
{% filter pythonscript('test.py') %}
this is a test
{% endfilter %}

37
user/pages/test/templates.py

@ -0,0 +1,37 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
weekday_names=["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]
weekday_names_short=["Mo","Di","Mi","Do","Fr","Sa","So"]
monthnames=['','Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober',
'November', 'Dezember']
#text,other,sonder,...
web_templates={"godi":"Gottesdienst mit {param}"
,"bibge":"Bibelgespräch"
,"gu":"Gemeindeunterricht"
,"hauskr":"Hauskreis {param}"
,"text":"{param}"
,"text_fett":"{param}"
,"m\xc3\xa4gfit":"MäGFiT in der Kapelle"}
ortsbl_terminbeschreibung={
#"godi":"Für die Kinder bieten wir parallel zum Gottesdienst für die Erwachsenen einen Kindergottesdienst an."
"godi":"Wir laden herzlich zum Gottesdienst in unserer Kapelle ein."
,"bibge":"Wir sind eine Gruppe jung gebliebener Senioren und finden es sehr spannend, über die Texte der Bibel ins Gespräch kommen."
,"gu":""
,"hauskr":"Gemeinsamen Singen, Beten, Bibellesen und persönlicher Austausch in einer offenen Gesprächsatmosphäre.\nInfo unter Tel. 07151 / 8 36 48"
,"text":""
,"text_fett":""
,"m\xc3\xa4gfit":"""Männer, haltet Euch fit mit einem gemeinsamen Frühstück und GebAnmeldungen bei Uwe Köhle Tel.: 07151 /
22616"""}
gembr_templates=web_templates
gembr_html_line_template='<tr><td>{weekday}</td><td>{date}</td><td>{time} {text}</td><tr>'
gembr_html_line_template_bold_ul='<tr><td><u><b>{weekday}</u></b></td><td><u><b>{date}</u></b></td><td><u><b>{time} {text}</u></b></td><tr>'
html_line_template='<tr style="{style}"><td style="padding-right: {padding}px;">{weekday}</td><td style="padding-right: {padding}px;">{date}</td><td style="padding-right: {padding}px;text-align:right;">{time}</td><td>{text}</td><tr>'
html_template="""
<table class="sortable" border="0" cellpadding="1" cellspacing="1" >
<tbody>
{table_content}
</tbody>
</table>
"""

BIN
user/pages/test/templates.pyc

Binary file not shown.

107
user/pages/test/termine_test.py

@ -0,0 +1,107 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import code,csv,sys,os,datetime,locale
#import dateutil.parser
from templates import *
#locale.setlocale(locale.LC_ALL, 'de_DE.Utf-8')
#locale.setlocale(locale.LC_ALL, 'de_DE.ISO8859-1')
html_escape_table = {
"&": "&amp;",
'"': "&quot;",
"'": "&apos;",
">": "&gt;",
"<": "&lt;",
u"ä": "&auml",
u"ö": "&ouml",
u"ü": "&uuml",
u"Ä": "&Auml",
u"Ö": "&Ouml",
u"Ü": "&Uuml",
u"ß": "&szlig;",
}
def html_escape(text):
"""Produce entities within text."""
return u"".join(html_escape_table.get(c,c) for c in text.decode("utf-8"))
workdir=os.path.dirname(os.path.realpath(__file__))+"/"
#workdir=sys.path[0]
#workdir=os.path.dirname(__file__)
#workdir=os.path.abspath('')
outtype="web"#web,ortsblatt,gembr,kirchenwn
#print("hi")
#print(workdir)
#remove <p> </p> tags surrounding parameter block of twig filter
param=sys.argv[1].replace('<p>','').replace('</p>','')
#reader=[line.split(";") for line in param.split("\n")] Ã#naive parsing, doesnt support quoted cells
reader = csv.reader(param.split('\n'), delimiter=';')
#reader = csv.reader(open(workdir+'termine.csv'), delimiter=';', quotechar='"')
#reader = csv.reader(open(workdir+'_termine-csv/text.de.md'), delimiter=';', quotechar='"')
reader.next()#skip header
#lines=[]
table_content=""
lastdate=datetime.date(2000,1,1)#date in past -> add heading to first month
for row in reader:
if not row:#ignore empty lines
continue
if not row[0].startswith("20"):#ignore non-date lines (header, comments,...)
continue
#print(row)
#date=dateutil.parser.parse(row[0]).date()
date=datetime.date(*[int(i) for i in row[0].split("-")])
category=row[2]
yesterday=datetime.datetime.now().date()-datetime.timedelta(days=1)
if date>yesterday and outtype in ["web","gembr"]and date.month!=lastdate.month:#add heading
style="font-family: Calibri,sans-serif;font-size: 18pt;font-weight:bold;text-align:center;"
#style="font-size: 18pt;font-weight:bold;"
#monthname=html_escape(date.strftime("%B"))+" %i"%date.year
monthname=html_escape(monthnames[date.month])+" %i"%date.year
#line='<tr style="%s"><td></td><td></td><td colspan="2">%s</td></tr>'%(style,monthname)
#line=html_line_template.format(date="",time=monthname,text="",weekday="",style=style,padding=5)
if outtype is "web":
line='<tr style="%s"><td colspan="4" style="padding-right: 120px;">%s</td></tr>'%(style,monthname)
elif outtype is "gembr":
line=gembr_html_line_template.format(date="",time="<font size='5'><b>%s</b></font>"%monthname,text="",weekday="")
table_content+=line+"\n"
if outtype=="kirchenwn" and category in ["godi","text_fett"]:
weekday=weekday_names[date.weekday()]
datestr=" %02i.%02i.%04i"%(date.day,date.month,date.year)
text=web_templates[category].format(param=row[3])
line=html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday,padding=5,style="")
table_content+=line+"\n"
if outtype in ["web","gembr"] and date>yesterday:
if date!=lastdate:
weekday=weekday_names_short[date.weekday()]
datestr=" %02i.%02i."%(date.day,date.month)
else:
weekday=""
datestr=""
text=web_templates[category].format(param=row[3])
#if outtype=="ortsblatt":
#style+="font-family: 'Times New Roman', serif;"
if outtype is "web":
style="font-family: Calibri,sans-serif;"
if category in ["godi","text_fett"]:
style+="font-size: 14pt;text-decoration: underline;font-weight:bold;"
else:
style+="font-size: 14pt;"
time="&nbsp;".join(row[1].split(" "))#make space in "10.00 Uhr" non breaking
line=html_line_template.format(date=datestr,time=time,text=html_escape(text),weekday=weekday,style=style,padding=5)
elif outtype is "gembr":
if category in ["godi","text_fett"]:
line=gembr_html_line_template_bold_ul.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
else:
line=gembr_html_line_template.format(date=datestr,time=row[1],text=html_escape(text),weekday=weekday)
table_content+=line+"\n"
lastdate=date
table_html=html_template.format(table_content=table_content)
#f = open("table.html",'w')
#f.writelines(table_html)
#f.close()
print(table_html)

7
user/pages/test/test.py

@ -0,0 +1,7 @@
#!/usr/bin/python
import sys
print(len(sys.argv))
print(sys.argv)
param=sys.argv[1]
print([line.split(";") for line in param.split("\n")])

5
user/plugins/losung/CHANGELOG.md

@ -0,0 +1,5 @@
# v0.1.0
## 01/05/2017
1. [](#new)
* ChangeLog started...

21
user/plugins/losung/LICENSE

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2017 Clemens Richter
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

50
user/plugins/losung/README.md

@ -0,0 +1,50 @@
# Losung Plugin
**This README.md file should be modified to describe the features, installation, configuration, and general usage of this plugin.**
The **Losung** Plugin is for [Grav CMS](http://github.com/getgrav/grav). zeigt losungspruch an
## Installation
Installing the Losung plugin can be done in one of two ways. The GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file.
### GPM Installation (Preferred)
The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's terminal (also called the command line). From the root of your Grav install type:
bin/gpm install losung
This will install the Losung plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/losung`.
### Manual Installation
To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `losung`. You can find these files on [GitHub](https://github.com/clemens-richter/grav-plugin-losung) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras).
You should now have all the plugin files under
/your/site/grav/user/plugins/losung
> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav) and the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) to operate.
## Configuration
Before configuring this plugin, you should copy the `user/plugins/losung/losung.yaml` to `user/config/plugins/losung.yaml` and only edit that copy.
Here is the default configuration and an explanation of available options:
```yaml
enabled: true
```
## Usage
**Describe how to use the plugin.**
## Credits
**Did you incorporate third-party code? Want to thank somebody?**
## To Do
- [ ] Future plans, if any

31
user/plugins/losung/blueprints.yaml

@ -0,0 +1,31 @@
name: Losung
version: 0.1.0
description: zeigt losungspruch an
icon: plug
author:
name: Clemens Richter
email: csrichter@hotmail.de
homepage: https://github.com/clemens-richter/grav-plugin-losung
demo: http://demo.yoursite.com
keywords: grav, plugin, etc
bugs: https://github.com/clemens-richter/grav-plugin-losung/issues
docs: https://github.com/clemens-richter/grav-plugin-losung/blob/develop/README.md
license: MIT
form:
validation: strict
fields:
enabled:
type: toggle
label: Plugin status
highlight: 1
default: 0
options:
1: Enabled
0: Disabled
validate:
type: bool
text_var:
type: text
label: Text Variable
help: Text to add to the top of a page

74
user/plugins/losung/losung.php

@ -0,0 +1,74 @@
<?php
namespace Grav\Plugin;
use Grav\Common\Plugin;
use RocketTheme\Toolbox\Event\Event;
/**
* Class LosungPlugin
* @package Grav\Plugin
*/
class LosungPlugin extends Plugin
{
/**
* @return array
*
* The getSubscribedEvents() gives the core a list of events
* that the plugin wants to listen to. The key of each
* array section is the event that the plugin listens to
* and the value (in the form of an array) contains the
* callable (or function) as well as the priority. The
* higher the number the higher the priority.
*/
public static function getSubscribedEvents()
{
return [
'onTwigExtensions' => ['onTwigExtensions', 0]
];
/*return [
'onPluginsInitialized' => ['onPluginsInitialized', 0]
];*/
}
/**
* Initialize twig extension
*/
public function onTwigExtensions()
{
require_once(__DIR__ . '/twig/LosungTwigExtension.php');
$this->grav['twig']->twig->addExtension(new LosungTwigExtension());
}
/**
* Initialize the plugin
*/
/* public function onPluginsInitialized()
{
// Don't proceed if we are in the admin plugin
if ($this->isAdmin()) {
return;
}
// Enable the main event we are interested in
$this->enable([
'onPageContentRaw' => ['onPageContentRaw', 0]
]);
}*/
/**
* Do some work for this event, full details of events can be found
* on the learn site: http://learn.getgrav.org/plugins/event-hooks
*
* @param Event $e
*/
/*public function onPageContentRaw(Event $e)
{
// Get a variable from the plugin configuration
$text = $this->grav['config']->get('plugins.losung.text_var');
// Get the current raw content
$content = $e['page']->getRawContent();
// Prepend the output with the custom text and set back on the page
$e['page']->setRawContent($text . "\n\n" . $content);
}*/
}

2
user/plugins/losung/losung.yaml

@ -0,0 +1,2 @@
enabled: true
text_var: Custom Text added by the **Losung** plugin (disable plugin to remove)

149
user/plugins/losung/twig/LosungTwigExtension.php

@ -0,0 +1,149 @@
<?php
namespace Grav\Plugin;
//mb_internal_encoding("iso-8859-15");
//echo mb_internal_encoding();
class LosungTwigExtension extends \Twig_Extension
{
public function getName()
{
return 'LosungTwigExtension';
}
public function getFunctions()
{
return [
new \Twig_SimpleFunction('losung', [$this, 'losungFunction'])
];
}
public function losungFunction()
{
// =================================
// Script zum Einfügen der Losungen:
// =================================
// Einstellungen:
// ==============
// Bibeltext fett ausgeben: (1 = fett 0 = nicht fett)
$LphpBibeltextFett = 1;
// Stellenangabe als Link zur Internetbibel: (1 = Link 0 = kein Link)
$LphpBibelLink = 1;
// Überschrift einfügen: ("" = keine Überschrift)
$LphpTitelText = mb_convert_encoding("Losung und Lehrtext für","iso-8859-15","UTF-8");
// Datumsangabe allein oder hinter Überschrift:
$LphpTitelDatum = 2;
// mögliche Werte: (Beispiel 04.02.2008)
// 0 = (keine Datumsangabe)
// 1 = "04.02.2008"
// 2 = "Montag, 4. Februar 2008"
// 3 = "4. Februar 2008"
// Doppelpunkt hinter Überschrift / Datum (1 = Doppelpunkt 0 = keiner)
$LphpTitelDoppelpunkt = 1;
// =================================================================
// Den nachfolgenden Code bitte nur ändern, wenn Sie sich auskennen!
// =================================================================
// Datendatei zum aktuellen Jahr ermitteln:
//$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/user/losungphp'. date("Y") .'.dat';
//$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/grav/user/losungphp'. date("Y") .'.dat';
//$LphpDatei = '/mnt/web103/c1/41/53451241/htdocs/grav/user/losungphp'. date("Y") .'.dat';
$LphpDatei = dirname(__FILE__) . '/losungphp'. date("Y") .'.dat';
if (!file_exists($LphpDatei)){
return "file not found: " . $LphpDatei;
}
// Die Daten aus der Datendatei einlesen:
$LphpFp = @fopen($LphpDatei,"rb");
if ($LphpFp){
$LphpTagID = date("z") +1;
fseek ($LphpFp, ($LphpTagID * 12) - 12);
$LphpPoLa = fread($LphpFp, 12);
$LphpPo = intval(substr($LphpPoLa, 0, 6)) -1;
$LphpLa = intval(substr($LphpPoLa, 6, 6));
fseek ($LphpFp, $LphpPo);
$LphpText = fread($LphpFp, $LphpLa);
//$LphpText = utf8_encode(fread($LphpFp, $LphpLa));
$Lphp = explode("§", $LphpText);
//$Lphp = explode("§", $LphpText);
fclose($LphpFp);
}
//var_dump($LphpDatei);
//var_dump($LphpFp);
// Variablen für die Datumsangabe in der Überschrift
// Wochentagsname: (z.B.: "Montag")
$LphpWT = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$LphpWochentagName = $LphpWT[date("w")];
// Monatsname: (z.B.: "Februar")
$LphpM = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$LphpMonatName = htmlentities($LphpM[date("n")]);
// Tag als Zahl: (z.B.: kurz = "4" / lang = "04")
$LphpTagKurz = date("j");
$LphpTagLang = date("d");
// Monat als Zahl: (z.B.: kurz = "2" / lang = "02")
$LphpMonatKurz = date("n");
$LphpMonatLang = date("m");
// Jahr als Zahl: (z.B.: kurz = "08" / lang = "2008")
$LphpJahrKurz = date("y");
$LphpJahrLang = date("Y");
// Bibeltext ggf. Fett:
if($LphpBibeltextFett==1){
$Lphp[1] = "<b>" . $Lphp[1] . "</b>";
$Lphp[5] = "<b>" . $Lphp[5] . "</b>";
}
// Stellenangabe ggf. als Link zur Internetbibel
if($LphpBibelLink==1){
$Lphp[2] = "<a title='Zum Bibeltext' href='" . $Lphp[3] . "' target='_blank' rel='noopener'>" . $Lphp[2] . "</a>";
$Lphp[6] = "<a title='Zum Bibeltext' href='" . $Lphp[7] . "' target='_blank' rel='noopener'>" . $Lphp[6] . "</a>";
}
// Überschrift zusammenstellen:
$LphpTitel = "";
if($LphpTitelText != ""){$LphpTitel = htmlentities(trim($LphpTitelText));}
// Datum zusammenstellen:
$LphpDatum = "";
if($LphpTitelDatum <1 or $LphpTitelDatum >3){
$LphpDatum = "";
}elseif($LphpTitelDatum==1){
$LphpDatum = $LphpTagLang . "." . $LphpMonatLang . "." . $LphpJahrLang;
}elseif($LphpTitelDatum==2){
$LphpDatum = $LphpWochentagName . ", " . $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}elseif($LphpTitelDatum==3){
$LphpDatum = $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}
if($LphpTitel != "" and $LphpDatum != ""){$LphpTitel = $LphpTitel . " ";}
$LphpTitel = $LphpTitel . $LphpDatum;
if($LphpTitel != "" and $LphpTitelDoppelpunkt==1){$LphpTitel=$LphpTitel . ":";}
$retstring = "";
if($LphpTitel != ""){$retstring .= $LphpTitel . "<br><br>\n";}
$retstring .= $Lphp[0] . $Lphp[1] . "<br>\n";
$retstring .= $Lphp[2] . "<br><br>\n";
$retstring .= $Lphp[4] . $Lphp[5] . "<br>\n";
$retstring .= $Lphp[6];
//$retstring .= $LphpDatei;
//$retstring .= $LphpText;
return $retstring;
//return 'losung teerst';
//return $Lphp[0];
//return mb_internal_encoding();
//return $LphpText;
}
}

141
user/plugins/losung/twig/LosungTwigExtension.php.bak

@ -0,0 +1,141 @@
<?php
namespace Grav\Plugin;
//mb_internal_encoding("UTF-8");
//mb_internal_encoding("iso-8859-14");
class LosungTwigExtension extends \Twig_Extension
{
public function getName()
{
return 'LosungTwigExtension';
}
public function getFunctions()
{
return [
new \Twig_SimpleFunction('losung', [$this, 'losungFunction'])
];
}
public function losungFunction()
{
// =================================
// Script zum Einfügen der Losungen:
// =================================
// Einstellungen:
// ==============
// Bibeltext fett ausgeben: (1 = fett 0 = nicht fett)
$LphpBibeltextFett = 1;
// Stellenangabe als Link zur Internetbibel: (1 = Link 0 = kein Link)
$LphpBibelLink = 1;
// Überschrift einfügen: ("" = keine Überschrift)
$LphpTitelText = "Losung und Lehrtext für";
// Datumsangabe allein oder hinter Überschrift:
$LphpTitelDatum = 2;
// mögliche Werte: (Beispiel 04.02.2008)
// 0 = (keine Datumsangabe)
// 1 = "04.02.2008"
// 2 = "Montag, 4. Februar 2008"
// 3 = "4. Februar 2008"
// Doppelpunkt hinter Überschrift / Datum (1 = Doppelpunkt 0 = keiner)
$LphpTitelDoppelpunkt = 1;
// =================================================================
// Den nachfolgenden Code bitte nur ändern, wenn Sie sich auskennen!
// =================================================================
// Datendatei zum aktuellen Jahr ermitteln:
$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/grav/user/losungphp'. date("Y") .'.dat';
//$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/user/losungphp'. date("Y") .'.dat';
// Die Daten aus der Datendatei einlesen:
$LphpFp = @fopen($LphpDatei,"rb");
if ($LphpFp){
$LphpTagID = date("z") +1;
fseek ($LphpFp, ($LphpTagID * 12) - 12);
$LphpPoLa = fread($LphpFp, 12);
$LphpPo = intval(substr($LphpPoLa, 0, 6)) -1;
$LphpLa = intval(substr($LphpPoLa, 6, 6));
fseek ($LphpFp, $LphpPo);
//$LphpText = fread($LphpFp, $LphpLa);
$LphpText = utf8_encode(fread($LphpFp, $LphpLa));
$Lphp = explode("§", $LphpText);
fclose($LphpFp);
}
//var_dump($LphpDatei);
//var_dump($LphpFp);
// Variablen für die Datumsangabe in der Überschrift
// Wochentagsname: (z.B.: "Montag")
$LphpWT = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$LphpWochentagName = $LphpWT[date("w")];
// Monatsname: (z.B.: "Februar")
$LphpM = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$LphpMonatName = htmlentities($LphpM[date("n")]);
// Tag als Zahl: (z.B.: kurz = "4" / lang = "04")
$LphpTagKurz = date("j");
$LphpTagLang = date("d");
// Monat als Zahl: (z.B.: kurz = "2" / lang = "02")
$LphpMonatKurz = date("n");
$LphpMonatLang = date("m");
// Jahr als Zahl: (z.B.: kurz = "08" / lang = "2008")
$LphpJahrKurz = date("y");
$LphpJahrLang = date("Y");
// Bibeltext ggf. Fett:
if($LphpBibeltextFett==1){
$Lphp[1] = "<b>" . $Lphp[1] . "</b>";
$Lphp[5] = "<b>" . $Lphp[5] . "</b>";
}
// Stellenangabe ggf. als Link zur Internetbibel
if($LphpBibelLink==1){
$Lphp[2] = "<a title='Zum Bibeltext' href='" . $Lphp[3] . "' target='_blank'>" . $Lphp[2] . "</a>";
$Lphp[6] = "<a title='Zum Bibeltext' href='" . $Lphp[7] . "' target='_blank'>" . $Lphp[6] . "</a>";
}
// Überschrift zusammenstellen:
$LphpTitel = "";
if($LphpTitelText != ""){$LphpTitel = htmlentities(trim($LphpTitelText));}
// Datum zusammenstellen:
$LphpDatum = "";
if($LphpTitelDatum <1 or $LphpTitelDatum >3){
$LphpDatum = "";
}elseif($LphpTitelDatum==1){
$LphpDatum = $LphpTagLang . "." . $LphpMonatLang . "." . $LphpJahrLang;
}elseif($LphpTitelDatum==2){
$LphpDatum = $LphpWochentagName . ", " . $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}elseif($LphpTitelDatum==3){
$LphpDatum = $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}
if($LphpTitel != "" and $LphpDatum != ""){$LphpTitel = $LphpTitel . " ";}
$LphpTitel = $LphpTitel . $LphpDatum;
if($LphpTitel != "" and $LphpTitelDoppelpunkt==1){$LphpTitel=$LphpTitel . ":";}
$retstring = "";
if($LphpTitel != ""){$retstring .= $LphpTitel . "<br><br>\n";}
$retstring .= $Lphp[0] . $Lphp[1] . "<br>\n";
$retstring .= $Lphp[2] . "<br><br>\n";
$retstring .= $Lphp[4] . $Lphp[5] . "<br>\n";
$retstring .= $Lphp[6];
return $retstring;
//return 'losung teerst';
//return $LphpDatei;
//return $Lphp[0];
//return mb_internal_encoding();
//return $LphpTextUtf8;
}
}

128
user/plugins/losung/twig/losungphp1.inc

@ -0,0 +1,128 @@
<?PHP
// =================================
// Script zum Einfügen der Losungen:
// =================================
// Einstellungen:
// ==============
// Bibeltext fett ausgeben: (1 = fett 0 = nicht fett)
$LphpBibeltextFett = 1;
// Stellenangabe als Link zur Internetbibel: (1 = Link 0 = kein Link)
$LphpBibelLink = 1;
// Überschrift einfügen: ("" = keine Überschrift)
$LphpTitelText = "Losung und Lehrtext für";
// Datumsangabe allein oder hinter Überschrift:
$LphpTitelDatum = 2;
// mögliche Werte: (Beispiel 04.02.2008)
// 0 = (keine Datumsangabe)
// 1 = "04.02.2008"
// 2 = "Montag, 4. Februar 2008"
// 3 = "4. Februar 2008"
// Doppelpunkt hinter Überschrift / Datum (1 = Doppelpunkt 0 = keiner)
$LphpTitelDoppelpunkt = 1;
// =================================================================
// Den nachfolgenden Code bitte nur ändern, wenn Sie sich auskennen!
// =================================================================
// Datendatei zum aktuellen Jahr ermitteln:
$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/user/losungphp'. date("Y") .'.dat';
// Die Daten aus der Datendatei einlesen:
$LphpFp = @fopen($LphpDatei,"rb");
if ($LphpFp){
$LphpTagID = date("z") +1;
fseek ($LphpFp, ($LphpTagID * 12) - 12);
$LphpPoLa = fread($LphpFp, 12);
$LphpPo = intval(substr($LphpPoLa, 0, 6)) -1;
$LphpLa = intval(substr($LphpPoLa, 6, 6));
fseek ($LphpFp, $LphpPo);
$LphpText = fread($LphpFp, $LphpLa);
$Lphp = explode("§", $LphpText);
fclose($LphpFp);
}
//var_dump($LphpDatei);
//var_dump($LphpFp);
// Variablen für die Datumsangabe in der Überschrift
// Wochentagsname: (z.B.: "Montag")
$LphpWT = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$LphpWochentagName = $LphpWT[date("w")];
// Monatsname: (z.B.: "Februar")
$LphpM = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$LphpMonatName = htmlentities($LphpM[date("n")]);
// Tag als Zahl: (z.B.: kurz = "4" / lang = "04")
$LphpTagKurz = date("j");
$LphpTagLang = date("d");
// Monat als Zahl: (z.B.: kurz = "2" / lang = "02")
$LphpMonatKurz = date("n");
$LphpMonatLang = date("m");
// Jahr als Zahl: (z.B.: kurz = "08" / lang = "2008")
$LphpJahrKurz = date("y");
$LphpJahrLang = date("Y");
// Bibeltext ggf. Fett:
if($LphpBibeltextFett==1){
$Lphp[1] = "<b>" . $Lphp[1] . "</b>";
$Lphp[5] = "<b>" . $Lphp[5] . "</b>";
}
// Stellenangabe ggf. als Link zur Internetbibel
if($LphpBibelLink==1){
$Lphp[2] = "<a title='Zum Bibeltext' href='" . $Lphp[3] . "' target='_blank'>" . $Lphp[2] . "</a>";
$Lphp[6] = "<a title='Zum Bibeltext' href='" . $Lphp[7] . "' target='_blank'>" . $Lphp[6] . "</a>";
}
// Überschrift zusammenstellen:
$LphpTitel = "";
if($LphpTitelText != ""){$LphpTitel = htmlentities(trim($LphpTitelText));}
// Datum zusammenstellen:
$LphpDatum = "";
if($LphpTitelDatum <1 or $LphpTitelDatum >3){
$LphpDatum = "";
}elseif($LphpTitelDatum==1){
$LphpDatum = $LphpTagLang . "." . $LphpMonatLang . "." . $LphpJahrLang;
}elseif($LphpTitelDatum==2){
$LphpDatum = $LphpWochentagName . ", " . $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}elseif($LphpTitelDatum==3){
$LphpDatum = $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}
if($LphpTitel != "" and $LphpDatum != ""){$LphpTitel = $LphpTitel . " ";}
$LphpTitel = $LphpTitel . $LphpDatum;
if($LphpTitel != "" and $LphpTitelDoppelpunkt==1){$LphpTitel=$LphpTitel . ":";}
$retstring = "";
if($LphpTitel != ""){$retstring .= $LphpTitel . "<br><br>\n";}
$retstring .= $Lphp[0] . $Lphp[1] . "<br>\n";
$retstring .= $Lphp[2] . "<br><br>\n";
$retstring .= $Lphp[4] . $Lphp[5] . "<br>\n";
$retstring .= $Lphp[6];
return $retstring
/*
// Titel ausgeben:
if($LphpTitel != ""){echo $LphpTitel . "<br><br>";}
// Losung ausgeben:
echo $Lphp[0] . $Lphp[1] . "<br>";
echo $Lphp[2] . "<br><br>";
// Lehrtext ausgeben:
echo $Lphp[4] . $Lphp[5] . "<br>";
echo $Lphp[6];*/
?>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save