Merge branch 'mitglieder'
34
findBiggies.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
# Shows you the largest objects in your repo's pack file.
|
||||||
|
# Written for osx.
|
||||||
|
#
|
||||||
|
# @see https://stubbisms.wordpress.com/2009/07/10/git-script-to-show-largest-pack-objects-and-trim-your-waist-line/
|
||||||
|
# @author Antony Stubbs
|
||||||
|
|
||||||
|
# set the internal field spereator to line break, so that we can iterate easily over the verify-pack output
|
||||||
|
IFS=$'\n';
|
||||||
|
|
||||||
|
# list all objects including their size, sort by size, take top 10
|
||||||
|
objects=`git verify-pack -v .git/objects/pack/pack-*.idx | grep -v chain | sort -k3nr | head`
|
||||||
|
|
||||||
|
echo "All sizes are in kB's. The pack column is the size of the object, compressed, inside the pack file."
|
||||||
|
|
||||||
|
output="size,pack,SHA,location"
|
||||||
|
allObjects=`git rev-list --all --objects`
|
||||||
|
for y in $objects
|
||||||
|
do
|
||||||
|
# extract the size in bytes
|
||||||
|
size=$((`echo $y | cut -f 5 -d ' '`/1024))
|
||||||
|
# extract the compressed size in bytes
|
||||||
|
compressedSize=$((`echo $y | cut -f 6 -d ' '`/1024))
|
||||||
|
# extract the SHA
|
||||||
|
sha=`echo $y | cut -f 1 -d ' '`
|
||||||
|
# find the objects location in the repository tree
|
||||||
|
other=`echo "${allObjects}" | grep $sha`
|
||||||
|
#lineBreak=`echo -e "\n"`
|
||||||
|
output="${output}\n${size},${compressedSize},${other}"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo -e $output | column -t -s ', '
|
||||||
@@ -45,10 +45,10 @@ ampTest: $(ampFiles)
|
|||||||
|
|
||||||
build/css/cwsvJudo.css: $(cssFiles)
|
build/css/cwsvJudo.css: $(cssFiles)
|
||||||
mkdir -p $(dir $@)
|
mkdir -p $(dir $@)
|
||||||
cat $^ > $@
|
# cat $^ > $@
|
||||||
# cat $(cssFiles) | cleancss -o $@
|
# cat $(cssFiles) | cleancss -o $@
|
||||||
# cat $^ | ./node_modules/.bin/csso -o $@
|
# cat $^ | ./node_modules/.bin/csso -o $@
|
||||||
# cat $^ | csso -o $@
|
cat $^ | csso -o $@
|
||||||
|
|
||||||
build/%.php: src/md/%.md build/yaml/%.yaml pandocTemplate/cwsvJudo.html5.pandocTemplate
|
build/%.php: src/md/%.md build/yaml/%.yaml pandocTemplate/cwsvJudo.html5.pandocTemplate
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
|
|||||||
@@ -7,12 +7,14 @@ ftpPassword = eeloor0D
|
|||||||
ftpPathBase = /htdocs/videoalben/videoalben.2018
|
ftpPathBase = /htdocs/videoalben/videoalben.2018
|
||||||
|
|
||||||
vidGalIndexPhp = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryTemplates/indexHier.php
|
vidGalIndexPhp = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryTemplates/indexHier.php
|
||||||
|
dryRun = --dry-run
|
||||||
|
timeHandling= --only-newer
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all:
|
all:
|
||||||
|
|
||||||
.PHONY: ftpUpload
|
.PHONY: ftpUpload
|
||||||
ftpUpload:
|
ftpUpload:
|
||||||
lftp -e 'set net:limit-rate 25600; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR); mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/webm; put $(vidGalIndexPhp) -o $(ftpPathBase)/$(VID_GAL_DIR)/index.php; put videos/config.inc.php -o $(ftpPathBase)/$(VID_GAL_DIR)/config.inc.php; mirror -R --ignore-time videos/thumbnails $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mirror -R --ignore-time videos/webm $(ftpPathBase)/$(VID_GAL_DIR)/webm;quit' -u $(ftpUser),$(ftpPassword) ftp://$(ftpServer)
|
lftp -e 'set net:limit-rate 25600; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR); mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mkdir -f $(ftpPathBase)/$(VID_GAL_DIR)/webm; put $(vidGalIndexPhp) -o $(ftpPathBase)/$(VID_GAL_DIR)/index.php; put videos/config.inc.php -o $(ftpPathBase)/$(VID_GAL_DIR)/config.inc.php; mirror $(dryRun) $(timeHandling) -R videos/thumbnails $(ftpPathBase)/$(VID_GAL_DIR)/thumbnails; mirror $(dryRun) $(timeHandling) -R videos/webm $(ftpPathBase)/$(VID_GAL_DIR)/webm; quit; ' \
|
||||||
|
-u $(ftpUser),$(ftpPassword) ftp://$(ftpServer)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
pngCompressed/%.png: %.png
|
||||||
|
mkdir -p pngCompressed
|
||||||
|
pngquant --speed 1 --force --output $@ $^
|
||||||
|
zopflipng -y --iterations=500 --filters=01234mepb --lossy_8bit --lossy_transparent $@ $@
|
||||||
|
|
||||||
|
pngCompressed/%.png: %.jpg
|
||||||
|
mkdir -p pngCompressed
|
||||||
|
convert $^ $(patsubst %.jpg,%.png,$^)
|
||||||
|
pngquant --speed 1 --force --output $@ $^
|
||||||
|
zopflipng -y --iterations=500 --filters=01234mepb --lossy_8bit --lossy_transparent $@ $@
|
||||||
|
rm -f $(patsubst %.jpg,%.png,$^)
|
||||||
@@ -1,18 +1,42 @@
|
|||||||
FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
|
FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
|
||||||
GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe
|
GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe
|
||||||
|
|
||||||
VID_CODEC_HEIGHT = 360
|
#DEFAULT_FFMPEG = ffmpeg
|
||||||
VID_CODEC_BITRATE = 500k
|
DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe
|
||||||
VID_CODEC = libvpx-vp9
|
|
||||||
|
# Für eine schnelle Komprimierung libvpx, sonst vp9
|
||||||
|
DEFAULT_VID_CODEC_HEIGHT = 360
|
||||||
|
DEFAULT_VID_CODEC_WIDTH = -2
|
||||||
|
DEFAULT_VID_CODEC_BITRATE = 500k
|
||||||
|
DEFAULT_VID_CODEC = libvpx-vp9
|
||||||
|
|
||||||
|
# Standardwerte auf die benutzen Variablen schreiben, falls diese noch
|
||||||
|
# nicht (z.B. aus dem Terminal heraus oder über ein IncludeCfgFile)
|
||||||
|
# gesetzt worden sind
|
||||||
|
VID_CODEC_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE))
|
||||||
|
VID_CODEC_HEIGHT := $(if $(VID_CODEC_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT))
|
||||||
|
VID_CODEC_WIDTH := $(if $(VID_CODEC_WIDTH),$(VID_CODEC_WIDTH),$(DEFAULT_VID_CODEC_WIDTH))
|
||||||
|
VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC))
|
||||||
|
|
||||||
|
|
||||||
|
targetSourceDir = videos/aufnahmen/
|
||||||
sourceVideos = $(wildcard videos/.forCompressing/*.video)
|
sourceVideos = $(wildcard videos/.forCompressing/*.video)
|
||||||
|
|
||||||
|
|
||||||
vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos)))
|
vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos)))
|
||||||
firstPassLogs = $(addsuffix .firstPassLog, $(basename $(sourceVideos)))
|
firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos)))
|
||||||
webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos)))))
|
webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos)))))
|
||||||
jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos)))))
|
jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos)))))
|
||||||
|
|
||||||
|
# das result= fehlt absichtlich
|
||||||
|
ffmpegVideoFilterVidstabDetect = vidstabdetect=shakiness=10:accuracy=15
|
||||||
|
# das input= fehlt absichtlich
|
||||||
|
ffmpegVideoFilterVidstabTransform = vidstabtransform=optzoom=2:interpol=bicubic:smoothing=30
|
||||||
|
|
||||||
|
ffmpegVideoScaleFilter = scale=$(VID_CODEC_WIDTH):$(VID_CODEC_HEIGHT):sws_flags=lanczos,
|
||||||
|
ffmpegVideoFilterDeinterlace = yadif,
|
||||||
|
ffmpegVideoFilterDenoise = hqdn3d,
|
||||||
|
|
||||||
|
|
||||||
.SECONDARY: $(vidstabLogs) $(firstPassLogs)
|
.SECONDARY: $(vidstabLogs) $(firstPassLogs)
|
||||||
|
|
||||||
@@ -29,31 +53,45 @@ clean:
|
|||||||
.PHONY: thumbnails
|
.PHONY: thumbnails
|
||||||
thumbnails: $(jpegThumbs)
|
thumbnails: $(jpegThumbs)
|
||||||
|
|
||||||
|
.PHONY: echo
|
||||||
|
echo:
|
||||||
|
@echo $(webmVideos)
|
||||||
|
@echo $(firstPassLogs)
|
||||||
|
@echo $(targetSourceDir)
|
||||||
|
|
||||||
|
|
||||||
# Erzeugen der Targets
|
# Erzeugen der Targets
|
||||||
.PHONY: targets
|
.PHONY: targets
|
||||||
targets:
|
targets:
|
||||||
for file in videos/aufnahmen/papaRomy/*.webm;\
|
mkdir -p videos/.forCompressing
|
||||||
|
# for file in videos/aufnahmen/papaRomy/*.webm;\
|
||||||
|
# do \
|
||||||
|
# checkSum=$$(sha512sum $${file});\
|
||||||
|
# ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\
|
||||||
|
# done;
|
||||||
|
for file in $(targetSourceDir)/*.*;\
|
||||||
do \
|
do \
|
||||||
checkSum=$$(sha512sum $${file});\
|
checkSum=$$(sha512sum $${file});\
|
||||||
ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\
|
ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\
|
||||||
done;
|
done;
|
||||||
|
|
||||||
videos/.forCompressing/%.trf: videos/.forCompressing/%.video
|
|
||||||
# Die Stabilisierungsberechnung:
|
# Die Stabilisierungsberechnung:
|
||||||
# eventuell sollte hier die Skalierung vorgeschaltet werden...
|
# eventuell sollte hier die Skalierung vorgeschaltet werden...
|
||||||
|
videos/.forCompressing/%.trf: videos/.forCompressing/%.video
|
||||||
$(FFMPEG) -i $^ \
|
$(FFMPEG) -i $^ \
|
||||||
-filter:v vidstabdetect=result="$@" \
|
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@" \
|
||||||
-f null \
|
-f null \
|
||||||
-
|
-
|
||||||
|
|
||||||
videos/.forCompressing/%.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf
|
videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf
|
||||||
|
# -b:v $(VID_CODEC_BITRATE) \
|
||||||
# First Pass
|
# First Pass
|
||||||
$(FFMPEG) -i $< \
|
$(FFMPEG) -i $< \
|
||||||
-filter:v vidstabtransform=smoothing=30:input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,scale=-2:$(VID_CODEC_HEIGHT):sws_flags=sinc,unsharp=5:5:0.8:3:3:0.4 \
|
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \
|
||||||
-codec:v $(VID_CODEC) \
|
-codec:v $(VID_CODEC) \
|
||||||
-pass 1 \
|
-pass 1 \
|
||||||
-passlogfile "$(basename $<).firstPassLog" \
|
-passlogfile "$(basename $<).firstPassLog" \
|
||||||
-b:v $(VID_CODEC_BITRATE) \
|
-aspect 16:9 \
|
||||||
-threads 1 \
|
-threads 1 \
|
||||||
-speed 4 \
|
-speed 4 \
|
||||||
-tile-columns 0 \
|
-tile-columns 0 \
|
||||||
@@ -68,16 +106,19 @@ videos/.forCompressing/%.log: videos/.forCompressing/%.video videos/.forCompress
|
|||||||
|
|
||||||
# target und dependencies müssen noch angepasst werden
|
# target und dependencies müssen noch angepasst werden
|
||||||
# Die erste Abhängigkeit muss das quellVideo sein!
|
# Die erste Abhängigkeit muss das quellVideo sein!
|
||||||
videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.log
|
videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log
|
||||||
mkdir -p videos/webm
|
mkdir -p videos/webm
|
||||||
|
|
||||||
|
# -b:v $(VID_CODEC_BITRATE) \
|
||||||
# Second Pass
|
# Second Pass
|
||||||
$(FFMPEG) -i $< \
|
$(FFMPEG) -i $< \
|
||||||
-filter:v vidstabtransform=smoothing=30:input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,scale=-2:$(VID_CODEC_HEIGHT),unsharp=5:5:0.8:3:3:0.4 \
|
-filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \
|
||||||
-codec:v $(VID_CODEC) \
|
-codec:v $(VID_CODEC) \
|
||||||
-pass 2 \
|
-pass 2 \
|
||||||
-passlogfile "$(basename $<).firstPassLog" \
|
-passlogfile "$(basename $<).firstPassLog" \
|
||||||
-deadline best \
|
-deadline best \
|
||||||
-b:v $(VID_CODEC_BITRATE) \
|
-b:v $(shell /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py $<)k \
|
||||||
|
-aspect 16:9 \
|
||||||
-threads 1 \
|
-threads 1 \
|
||||||
-speed 0 \
|
-speed 0 \
|
||||||
-tile-columns 0 \
|
-tile-columns 0 \
|
||||||
@@ -92,14 +133,9 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf
|
|||||||
|
|
||||||
videos/thumbnails/%.png: videos/.forCompressing/%.video
|
videos/thumbnails/%.png: videos/.forCompressing/%.video
|
||||||
mkdir -p videos/thumbnails
|
mkdir -p videos/thumbnails
|
||||||
# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf scale=-2:$(VID_CODEC_HEIGHT),fps=fps=1/600 "$@"
|
# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@"
|
||||||
$(FFMPEG) -i "$<" -vf thumbnail,scale=-2:$(VID_CODEC_HEIGHT) -frames:v 1 "$@"
|
$(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@"
|
||||||
|
|
||||||
videos/thumbnails/%.jpg: videos/thumbnails/%.png
|
videos/thumbnails/%.jpg: videos/thumbnails/%.png
|
||||||
$(GUETZLI) --quality 90 "$<" "$@"
|
$(GUETZLI) --quality 90 "$<" "$@"
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
|
|
||||||
#$(FFMPEG) -i %1 -map 0 -c copy -c:v libvpx-vp9 -pass 1 -passlogfile "%~dpn1.log" -b:v 150K -threads 1 -deadline good -cpu-used 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 24 -g 9600 -aq-mode 1 -sws_dither none -pix_fmt yuv420p10le -filter:v nlmeans=s=6:p=5:r=7,scale=w=428:h=240:force_original_aspect_ratio=decrease:sws_flags=area:sws_dither=none,crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 -an -f null NUL
|
|
||||||
#$(FFMPEG) -i %1 -map 0 -c copy -c:v libvpx-vp9 -pass 2 -passlogfile "%~dpn1.log" -b:v 150K -threads 1 -deadline good -cpu-used 1 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 24 -g 9600 -aq-mode 1 -sws_dither none -pix_fmt yuv420p10le -filter:v nlmeans=s=6:p=5:r=7,scale=w=428:h=240:force_original_aspect_ratio=decrease:sws_flags=area:sws_dither=none,crop=trunc(iw/2)*2:trunc(ih/2)*2:0:0 -c:a libopus -b:a 32k -ac 2 -f webm "%~dpn1.webm"
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
#ffprobe =
|
||||||
|
|
||||||
|
def getLength(filename):
|
||||||
|
result = subprocess.Popen(
|
||||||
|
["C:\\proggis\\media\\editoren\\ffmpeg-4.0.2-win64-static\\bin\\ffprobe.exe", filename],
|
||||||
|
stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
|
||||||
|
# print( result.stdout.readlines() )
|
||||||
|
# for x in result.stdout.readlines():
|
||||||
|
# print(x)
|
||||||
|
return [x for x in result.stdout.readlines() if b"Duration" in x]
|
||||||
|
|
||||||
|
#print( str( getLength(sys.argv[1]) ) )
|
||||||
|
getLength(sys.argv[1])
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
#
|
||||||
|
# Command line use of 'ffprobe':
|
||||||
|
#
|
||||||
|
# ffprobe -loglevel quiet -print_format json \
|
||||||
|
# -show_format -show_streams \
|
||||||
|
# video-file-name.mp4
|
||||||
|
#
|
||||||
|
# man ffprobe # for more information about ffprobe
|
||||||
|
#
|
||||||
|
|
||||||
|
import subprocess as sp
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def probe(vid_file_path):
|
||||||
|
''' Give a json from ffprobe command line
|
||||||
|
|
||||||
|
@vid_file_path : The absolute (full) path of the video file, string.
|
||||||
|
'''
|
||||||
|
if type(vid_file_path) != str:
|
||||||
|
raise Exception('Gvie ffprobe a full file path of the video')
|
||||||
|
return
|
||||||
|
|
||||||
|
command = ["ffprobe",
|
||||||
|
"-loglevel", "quiet",
|
||||||
|
"-print_format", "json",
|
||||||
|
"-show_format",
|
||||||
|
"-show_streams",
|
||||||
|
vid_file_path
|
||||||
|
]
|
||||||
|
|
||||||
|
pipe = sp.Popen(command, stdout=sp.PIPE, stderr=sp.STDOUT)
|
||||||
|
out, err = pipe.communicate()
|
||||||
|
return json.loads(out)
|
||||||
|
|
||||||
|
|
||||||
|
def duration(vid_file_path):
|
||||||
|
''' Video's duration in seconds, return a float number
|
||||||
|
'''
|
||||||
|
_json = probe(vid_file_path)
|
||||||
|
|
||||||
|
if 'format' in _json:
|
||||||
|
if 'duration' in _json['format']:
|
||||||
|
return float(_json['format']['duration'])
|
||||||
|
|
||||||
|
if 'streams' in _json:
|
||||||
|
# commonly stream 0 is the video
|
||||||
|
for s in _json['streams']:
|
||||||
|
if 'duration' in s:
|
||||||
|
return float(s['duration'])
|
||||||
|
|
||||||
|
# if everything didn't happen,
|
||||||
|
# we got here because no single 'return' in the above happen.
|
||||||
|
raise Exception('I found no duration')
|
||||||
|
#return None
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# video_file_path = "/tmp/tt1.mp4"
|
||||||
|
video_file_path = sys.argv[1]
|
||||||
|
|
||||||
|
durationInSec = duration(video_file_path)
|
||||||
|
rateInKbPerSec = (10 * 1024 * 1024 * 8)/( durationInSec * 1000 )
|
||||||
|
#print( duration(video_file_path) ) # 10.008
|
||||||
|
print( int(min(500, rateInKbPerSec)) )
|
||||||
@@ -169,10 +169,24 @@
|
|||||||
</li>
|
</li>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo("<table>");
|
||||||
|
echo("<tr><th>Name</th><th>Vorname</th><th>Masse</th><th>Platz</th><th>starterId</th><th>fahrtId</th></tr>");
|
||||||
|
|
||||||
|
foreach( $starterData as $starter ){
|
||||||
|
if($starter['type'] != $typeKey) continue;
|
||||||
|
echo("<tr>");
|
||||||
|
$userData = getUserData($mysqli, $starter['userId']);
|
||||||
|
echo("<td>".mb_convert_encoding($userData['name'], 'UTF-8', 'ISO-8859-1')."</td>");
|
||||||
|
echo("<td>".mb_convert_encoding($userData['vorname'], 'UTF-8', 'ISO-8859-1')."</td>");
|
||||||
|
echo("<td>".$starter['masse']."</td>");
|
||||||
|
echo("<td>".$starter['platz']."</td>");
|
||||||
|
echo("<td>".$starter['id']."</td>");
|
||||||
|
echo("<td>".$starter['fahrtId']."</td>");
|
||||||
|
echo("</tr>");
|
||||||
|
}
|
||||||
|
echo("</table>");
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
<?php
|
|
||||||
}
|
}
|
||||||
// $fahrtenData = array();
|
// $fahrtenData = array();
|
||||||
// $fahrtenData = getFahrtenForEvent($mysqli, $eventData['id']);
|
// $fahrtenData = getFahrtenForEvent($mysqli, $eventData['id']);
|
||||||
|
|||||||
@@ -94,19 +94,21 @@
|
|||||||
|
|
||||||
<h2>Einschreibungen:</h2>
|
<h2>Einschreibungen:</h2>
|
||||||
<?php if( !empty($_SESSION['login']) ){
|
<?php if( !empty($_SESSION['login']) ){
|
||||||
|
$wkEventStarterData = getEventsStarterData($mysqli, $eventData['id']);
|
||||||
?>
|
?>
|
||||||
<?php $wkEventStarterData = getEventsStarterData($mysqli, $eventData['id']);?>
|
|
||||||
|
|
||||||
<li>Eingeschrieben:
|
<li>Eingeschrieben:
|
||||||
<?php
|
<?php
|
||||||
$starters = getStarterForEvent($mysqli, $eventData['id']);
|
$starters = getStarterForEvent($mysqli, $eventData['id']);
|
||||||
if( empty($starters) ){
|
$anzahlKaempfer = array_count_values(array_column($starters, 'type'))['1'];
|
||||||
|
$anzahlZuschauer = array_count_values(array_column($starters, 'type'))['2'];
|
||||||
|
// if( empty($starters) ){
|
||||||
|
if( ($anzahlKaempfer+$anzahlZuschauer) <= 0 ){
|
||||||
?>
|
?>
|
||||||
Noch hat sich niemand für diesen Wettkampf gemeldet!
|
Noch will niemand zu diesem Wettkampf!
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
echo count($starters);
|
echo($anzahlKaempfer+$anzahlZuschauer);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<ul>
|
<ul>
|
||||||
@@ -139,8 +141,9 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<!--
|
||||||
<p>Es sind momentan <?php echo (count($wkEventStarterData) == 0 ? "keine" : count($wkEventStarterData));?> Starter eingeschrieben.</p>
|
<p>Es sind momentan <?php echo (count($wkEventStarterData) == 0 ? "keine" : count($wkEventStarterData));?> Starter eingeschrieben.</p>
|
||||||
|
-->
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
33
infoZettelOrg/2018-12-15-Weihnachtsturnier-Doebeln.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Weihnachtsturnier des Döbelner SC
|
||||||
|
|
||||||
|
## Wettkampfdaten
|
||||||
|
|
||||||
|
- Altersklassen: U6-U18 (evtl. auch Erw.)
|
||||||
|
- Datum: 15.12.2018
|
||||||
|
- Ort: Staupitzstraße, 04720 Döbeln
|
||||||
|
- Wiegen:
|
||||||
|
- bis U11: 8:30
|
||||||
|
- ab U13: 9:30 Uhr
|
||||||
|
|
||||||
|
|
||||||
|
## Treffpunkt
|
||||||
|
|
||||||
|
- Ort: P+R Parkplatz Südring/Stollberger Straße
|
||||||
|
- Abfahrt: 7:30 Uhr
|
||||||
|
- Kindersitz nicht vergessen!
|
||||||
|
|
||||||
|
|
||||||
|
## Nicht vergessen
|
||||||
|
|
||||||
|
- Judopass
|
||||||
|
- Judogi (d. h. Jacke, Hose und Gürtel)
|
||||||
|
- *Hallenschuhe*
|
||||||
|
- Essen/Trinken
|
||||||
|
- Warme Socken und Pullover
|
||||||
|
|
||||||
|
Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans)
|
||||||
|
nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe)
|
||||||
|
mitbringen. Sonst muss in Socken gegangen werden!
|
||||||
|
|
||||||
|
|
||||||
|
MsG marko
|
||||||
BIN
mitglieder/aufnahmeantragHinten.pdf
Normal file
BIN
mitglieder/aufnahmeantragVorne.pdf
Normal file
1
mitglieder/mergeAufnahmeantrag.sh
Normal file
@@ -0,0 +1 @@
|
|||||||
|
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=cwsvAufnahmeantrag.pdf aufnahmeantragVorne.pdf aufnahmeantragHinten.pdf
|
||||||
3720
mitglieder/mitglieder.2019/anwesenheitsliste-2019.fods
Normal file
@@ -1,7 +1,9 @@
|
|||||||
Name | Vorname | Geb.dat. | Geb.ort | Nat.
|
Name | Vorname | Geb.dat. | Geb.ort | Nat.
|
||||||
:-----------|:----------|:-----------|:----------------|:-------
|
:-----------|:----------|:-----------|:-------------------|:-------
|
||||||
Friedrich | Sebastain | 02.12.2006 | Chemnitz | deutsch
|
Friedrich | Sebastain | 02.12.2006 | Chemnitz | deutsch
|
||||||
Brittnacher | Romy | 02.04.2011 | Dresden | deutsch
|
Brittnacher | Romy | 02.04.2011 | Dresden | deutsch
|
||||||
Siegmund | Jasmin | 16.07.2010 | Chemnitz | deutsch
|
Siegmund | Jasmin | 16.07.2010 | Chemnitz | deutsch
|
||||||
Irmscher | Lionel | 05.12.2011 | Chemnitz | deutsch
|
Irmscher | Lionel | 05.12.2011 | Chemnitz | deutsch
|
||||||
Mögel | Jan | 11.01.1969 | Karl-Marx-Stadt | deutsch
|
Mögel | Jan | 11.01.1969 | Karl-Marx-Stadt | deutsch
|
||||||
|
Löbling | Nico | 24.12.2010 | Chemnitz | deutsch
|
||||||
|
Löbling | Pascal | 15.06.2001 | Burg bei Magdeburg | deutsch
|
||||||
|
|||||||
|
After Width: | Height: | Size: 993 KiB |
BIN
mitglieder/pässe.2018/fertigePassbilder/PassbildNicoLöbling.jpg
Normal file
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 2.9 MiB |
10
mitglieder/pässe.2019/PassBestellungen2019.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Name | Vorname | Geb.dat. | Geb.ort | Nat.
|
||||||
|
:-----------|:------------|:-----------|:-------------------|:-------
|
||||||
|
Friedrich | Mia Sophie | 25.06.2010 | Chemnitz | deutsch
|
||||||
|
Friedrich | Dominic | 10.12.2011 | Chemnitz | deutsch
|
||||||
|
Unger | Kyra-Sophie | 23.09.2010 | Illertissen | deutsch
|
||||||
|
Unger | Alina-Marie | 12.09.2012 | Illertissen | deutsch
|
||||||
|
Herrmann | Ben | | |
|
||||||
|
Herrmann | Nelly | | |
|
||||||
|
Löwig | Sophia | | |
|
||||||
|
Baumbach | Kurt | | |
|
||||||
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 113 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 78 KiB |