Compare commits
1
Commits
main
..
f53d2203b0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f53d2203b0 |
@@ -1,15 +1,9 @@
|
|||||||
name: 📦 Veröffentlichen → updates.rhino.nrw
|
name: Mirror to Public Gitea (updates.rhino.nrw)
|
||||||
|
|
||||||
# Zwei Wege, denselben Job auszulösen:
|
# Trigger: Nur wenn explizit auf den 'release'-Branch gepusht wird.
|
||||||
# • workflow_dispatch: KNOPF in Gitea (Actions-Tab → "Run workflow") — kein Terminal.
|
# Das stellt sicher, dass nur geprüfte, validierte Stände ausgeliefert werden.
|
||||||
# Veröffentlicht den aktuellen Stand aus 'main' (Staging) nach updates.rhino.nrw.
|
# Workflow auf main: git push origin main:release
|
||||||
# • push auf 'release': für das CLI-Skript release.py (Power-User-Weg).
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
hinweis:
|
|
||||||
description: "Optional: Version/Notiz (nur fürs Protokoll)"
|
|
||||||
required: false
|
|
||||||
push:
|
push:
|
||||||
branches: [release]
|
branches: [release]
|
||||||
|
|
||||||
@@ -22,28 +16,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: CHECKSUMS.txt pro Projekt frisch erzeugen
|
- name: Push mirror to Public Gitea (als 'main')
|
||||||
run: |
|
run: |
|
||||||
for d in */ ; do
|
git remote add public "http://rhino:${{ secrets.PUBLIC_GITEA_TOKEN }}@172.30.0.4:3053/rhino/StatusQuo_Updates.git"
|
||||||
d="${d%/}"
|
git push public HEAD:main --force
|
||||||
if ls "$d"/sync-bundle-*.txt >/dev/null 2>&1; then
|
|
||||||
( cd "$d" && sha256sum sync-bundle-*.txt sync-entpacken.bat 2>/dev/null > CHECKSUMS.txt )
|
|
||||||
echo "CHECKSUMS.txt erzeugt für $d"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Commit (nur im Runner, fließt in den public-Mirror)
|
|
||||||
run: |
|
|
||||||
git config user.email "action@gitea.rhino.nrw"
|
|
||||||
git config user.name "Gitea Action"
|
|
||||||
git add -A
|
|
||||||
git commit -m "ci: CHECKSUMS.txt bei Veröffentlichung erzeugt" || echo "Keine Änderung."
|
|
||||||
|
|
||||||
- name: Push nach Public-Gitea (updates.rhino.nrw)
|
|
||||||
env:
|
|
||||||
PUBLIC_GITEA_TOKEN: ${{ secrets.PUBLIC_GITEA_TOKEN }}
|
|
||||||
run: |
|
|
||||||
AUTH=$(printf 'rhino:%s' "$PUBLIC_GITEA_TOKEN" | base64 | tr -d '\n')
|
|
||||||
git -c http.extraHeader="Authorization: Basic $AUTH" \
|
|
||||||
push http://172.30.0.4:3053/rhino/StatusQuo_Updates.git HEAD:main --force
|
|
||||||
echo "Veröffentlicht: $(cat VI3DGL/VERSION 2>/dev/null) — Hinweis: ${{ github.event.inputs.hinweis }}"
|
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# SHA256-Checksummen der Sync-Bundles
|
||||||
|
# Generiert mit: sha256sum VI3DGL/sync-bundle-*.txt > VI3DGL/CHECKSUMS.txt
|
||||||
|
# Wird von update.ps1 verifiziert bevor Dateien ersetzt werden.
|
||||||
|
# Leere Datei = Prüfung wird übersprungen (abwärtskompatibel).
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
b1a4e69eaa33c15a51bc8b082cd305c8d8c3a94a4e4a3f3d5d14040a28221f1e sync-bundle-01.txt
|
|
||||||
ab0a7311b0deb8ad4b59cfbcb91adc7b97e0a8c52658acfd0faf54f90df02047 sync-bundle-02.txt
|
|
||||||
95bdd3993481ac8ec937f1adb09bf1851735619dca2dd4283c7608f13f0e1e7e sync-entpacken.bat
|
|
||||||
+1
-2
@@ -1,4 +1,4 @@
|
|||||||
# 30 Dateien in 2 Bundles
|
# 29 Dateien in 2 Bundles
|
||||||
sync-bundle-01.txt DRIVE_Start.bat
|
sync-bundle-01.txt DRIVE_Start.bat
|
||||||
sync-bundle-01.txt DRIVE_Stop.bat
|
sync-bundle-01.txt DRIVE_Stop.bat
|
||||||
sync-bundle-01.txt VERSION
|
sync-bundle-01.txt VERSION
|
||||||
@@ -27,5 +27,4 @@ sync-bundle-01.txt data/governance.template.json
|
|||||||
sync-bundle-01.txt data/index.js
|
sync-bundle-01.txt data/index.js
|
||||||
sync-bundle-01.txt favicon.ico
|
sync-bundle-01.txt favicon.ico
|
||||||
sync-bundle-02.txt index.html
|
sync-bundle-02.txt index.html
|
||||||
sync-bundle-02.txt rollback.bat
|
|
||||||
sync-bundle-02.txt server.ps1
|
sync-bundle-02.txt server.ps1
|
||||||
|
|||||||
@@ -9735,99 +9735,6 @@ ICAgIH0sIDE1MDApOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbG9jYWxT
|
|||||||
dG9yYWdlLnJlbW92ZUl0ZW0oJ2RyaXZlLXJlc3VtZS1kb2MnKTsKICAgICAgICAgICAgfQogICAg
|
dG9yYWdlLnJlbW92ZUl0ZW0oJ2RyaXZlLXJlc3VtZS1kb2MnKTsKICAgICAgICAgICAgfQogICAg
|
||||||
ICAgIH0KICAgIH0gY2F0Y2goZSkgewogICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdk
|
ICAgIH0KICAgIH0gY2F0Y2goZSkgewogICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdk
|
||||||
cml2ZS1yZXN1bWUtZG9jJyk7CiAgICB9Cn0pOwo8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgo=
|
cml2ZS1yZXN1bWUtZG9jJyk7CiAgICB9Cn0pOwo8L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgo=
|
||||||
### FILE: rollback.bat | 5232
|
|
||||||
QGVjaG8gb2ZmCnNldGxvY2FsCnNldCAiQkRJUj0lfmRwMCIKZWNoby4KZWNobyAgPT09IEQuUi5J
|
|
||||||
LlYuRS46IFJvbGxiYWNrIChvZmZsaW5lKSA9PT0KZWNobyAgU3RlbGx0IGRlbiBTdGFuZCB2b3Ig
|
|
||||||
ZGVtIGxldHp0ZW4gVXBkYXRlIHdpZWRlciBoZXIuCmVjaG8uCnBvd2Vyc2hlbGwgLU5vUHJvZmls
|
|
||||||
ZSAtRXhlY3V0aW9uUG9saWN5IEJ5cGFzcyAtQ29tbWFuZCAiJG09JyMjIyBQUycrJ0NPREUgIyMj
|
|
||||||
JzskbWU9W0lPLkZpbGVdOjpSZWFkQWxsVGV4dCgnJX5mMCcpOyRwPSRtZS5JbmRleE9mKCRtKTsk
|
|
||||||
bmw9JG1lLkluZGV4T2YoW2NoYXJdMTAsJHApOyRyb290PSRlbnY6QkRJUi5UcmltRW5kKCdcJyk7
|
|
||||||
JHN0b3BCYXQ9J0RSSVZFX1N0b3AuYmF0Jzskc3RhcnRCYXQ9J0RSSVZFX1N0YXJ0LmJhdCc7SW52
|
|
||||||
b2tlLUV4cHJlc3Npb24gJG1lLlN1YnN0cmluZygkbmwrMSkiCmVjaG8uCnBhdXNlCmV4aXQgL2IK
|
|
||||||
IyMjIFBTQ09ERSAjIyMKJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJwojIEVyd2FydGV0
|
|
||||||
IGltIFNjb3BlOiAkcm9vdCwgJHN0b3BCYXQsICRzdGFydEJhdAokX3N0b3BOYW1lICA9IGlmICgk
|
|
||||||
bnVsbCAtbmUgJHN0b3BCYXQpICB7ICRzdG9wQmF0IH0gIGVsc2UgeyAnc3RvcC5iYXQnIH0KJF9z
|
|
||||||
dGFydE5hbWUgPSBpZiAoJG51bGwgLW5lICRzdGFydEJhdCkgeyAkc3RhcnRCYXQgfSBlbHNlIHsg
|
|
||||||
J2RnbC5iYXQnIH0KCiMgQXVzc2NobHVzc2xpc3RlIChpZGVudGlzY2ggenUgdXBkYXRlLnBzMSk6
|
|
||||||
IC5iYWNrdXAgbmllIGFuZmFzc2VuLCBwbHVzIGdyb8OfZQojIENvbnRlbnQtT3JkbmVyIGF1cyAu
|
|
||||||
YmFja3VwaWdub3JlIOKAlCBkaWVzZSBibGVpYmVuIGJlaW0gUm9sbGJhY2sgdW52ZXLDpG5kZXJ0
|
|
||||||
LgokX2V4Y2wgPSBAKCcuYmFja3VwJykKJF9pZ25vcmVGaWxlID0gSm9pbi1QYXRoICRyb290ICcu
|
|
||||||
YmFja3VwaWdub3JlJwppZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkX2lnbm9yZUZpbGUpIHsK
|
|
||||||
ICAgICRfZXh0cmEgPSBAKEdldC1Db250ZW50IC1MaXRlcmFsUGF0aCAkX2lnbm9yZUZpbGUgfCBG
|
|
||||||
b3JFYWNoLU9iamVjdCB7ICRfLlRyaW0oKSB9IHwKICAgICAgICAgICAgICAgIFdoZXJlLU9iamVj
|
|
||||||
dCB7ICRfIC1uZSAnJyAtYW5kIC1ub3QgJF8uU3RhcnRzV2l0aCgnIycpIH0pCiAgICAkX2V4Y2wg
|
|
||||||
PSAkX2V4Y2wgKyAkX2V4dHJhCn0KJF9leGNsID0gQCgkX2V4Y2wpICAgIyBzdHJpa3QgYWxzIEFy
|
|
||||||
cmF5ICh2ZXJoaW5kZXJ0IFNrYWxhci1FbnRwYWNrdW5nKQoKJGJrID0gSm9pbi1QYXRoICRyb290
|
|
||||||
ICcuYmFja3VwJwppZiAoLW5vdCAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkYmspKSB7CiAgICBX
|
|
||||||
cml0ZS1Ib3N0ICJLZWluIEJhY2t1cC1WZXJ6ZWljaG5pcyBnZWZ1bmRlbi4gU2ljaGVydW5nZW4g
|
|
||||||
ZW50c3RlaGVuIGF1dG9tYXRpc2NoIGJlaW0gZXJzdGVuIFVwZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29s
|
|
||||||
b3IgUmVkCiAgICByZXR1cm4KfQokc25hcHMgPSBHZXQtQ2hpbGRJdGVtIC1MaXRlcmFsUGF0aCAk
|
|
||||||
YmsgLUZpbHRlciAnc25hcHNob3QtKi56aXAnIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVl
|
|
||||||
IHwgU29ydC1PYmplY3QgTmFtZSAtRGVzY2VuZGluZwppZiAoLW5vdCAkc25hcHMpIHsKICAgIFdy
|
|
||||||
aXRlLUhvc3QgIktlaW5lIFNpY2hlcnVuZ2VuIHZvcmhhbmRlbi4gU2ljaGVydW5nZW4gZW50c3Rl
|
|
||||||
aGVuIGF1dG9tYXRpc2NoIGJlaW0gZXJzdGVuIFVwZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29sb3IgUmVk
|
|
||||||
CiAgICByZXR1cm4KfQoKV3JpdGUtSG9zdCAiIgpXcml0ZS1Ib3N0ICJWZXJmw7xnYmFyZSBTaWNo
|
|
||||||
ZXJ1bmdlbiAobmV1ZXN0ZSB6dWVyc3QpOiIgLUZvcmVncm91bmRDb2xvciBDeWFuCiRpID0gMApm
|
|
||||||
b3JlYWNoICgkcyBpbiAkc25hcHMpIHsKICAgICRzaXplID0gJ3swOk4xfSBNQicgLWYgKCRzLkxl
|
|
||||||
bmd0aCAvIDFNQikKICAgICR0YWcgID0gaWYgKCRpIC1lcSAwKSB7ICIgIDwtIG5ldWVzdGUiIH0g
|
|
||||||
ZWxzZSB7ICIiIH0KICAgIFdyaXRlLUhvc3QgKCIgIFt7MH1dIHsxfSAgKHsyfSl7M30iIC1mICRp
|
|
||||||
LCAkcy5OYW1lLCAkc2l6ZSwgJHRhZykKICAgICRpKysKfQpXcml0ZS1Ib3N0ICIiCiRjID0gUmVh
|
|
||||||
ZC1Ib3N0ICJOdW1tZXIgZGVyIFNpY2hlcnVuZyB3w6RobGVuIChFbnRlciA9IG5ldWVzdGUgWzBd
|
|
||||||
KSIKaWYgKCRjIC1lcSAnJykgeyAkYyA9ICcwJyB9CmlmICgkYyAtbm90bWF0Y2ggJ15cZCskJyAt
|
|
||||||
b3IgW2ludF0kYyAtZ2UgJHNuYXBzLkNvdW50KSB7CiAgICBXcml0ZS1Ib3N0ICJVbmfDvGx0aWdl
|
|
||||||
IEF1c3dhaGwuIEFiZ2Vicm9jaGVuLiIgLUZvcmVncm91bmRDb2xvciBZZWxsb3cKICAgIHJldHVy
|
|
||||||
bgp9CiRjaG9zZW4gPSAkc25hcHNbW2ludF0kY10KJHppcCAgICA9ICRjaG9zZW4uRnVsbE5hbWUK
|
|
||||||
CiMgSW50ZWdyaXTDpHQgZGVyIFNpY2hlcnVuZyBwcsO8ZmVuLCBCRVZPUiBpcmdlbmRldHdhcyBl
|
|
||||||
cnNldHp0IHdpcmQKQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uSU8uQ29tcHJlc3Npb24u
|
|
||||||
RmlsZVN5c3RlbQp0cnkgewogICAgJHogPSBbU3lzdGVtLklPLkNvbXByZXNzaW9uLlppcEZpbGVd
|
|
||||||
OjpPcGVuUmVhZCgkemlwKQogICAgJG51bGwgPSAkei5FbnRyaWVzLkNvdW50CiAgICAkei5EaXNw
|
|
||||||
b3NlKCkKfSBjYXRjaCB7CiAgICBXcml0ZS1Ib3N0ICJGRUhMRVI6IFNpY2hlcnVuZyBpc3QgYmVz
|
|
||||||
Y2jDpGRpZ3Qg4oCUIFJvbGxiYWNrIGFiZ2Vicm9jaGVuOiAkemlwIiAtRm9yZWdyb3VuZENvbG9y
|
|
||||||
IFJlZAogICAgcmV0dXJuCn0KCldyaXRlLUhvc3QgIiIKJHluID0gUmVhZC1Ib3N0ICJTdGFuZCAn
|
|
||||||
JCgkY2hvc2VuLk5hbWUpJyB3aWVkZXJoZXJzdGVsbGVuPyBEZXIgYWt0dWVsbGUgU3RhbmQgd2ly
|
|
||||||
ZCBlcnNldHp0ISBbai9OXSIKaWYgKCR5biAtbm90aW4gJ2onLCdKJywneScsJ1knKSB7IFdyaXRl
|
|
||||||
LUhvc3QgIkFiZ2Vicm9jaGVuLiI7IHJldHVybiB9CgojIFNlcnZlciBzdG9wcGVuCldyaXRlLUhv
|
|
||||||
c3QgIlN0b3BwZSBTZXJ2ZXIgLi4uIgppZiAoJF9zdG9wTmFtZSAtbmUgJycpIHsKICAgICRzcCA9
|
|
||||||
IEpvaW4tUGF0aCAkcm9vdCAkX3N0b3BOYW1lCiAgICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0
|
|
||||||
aCAkc3ApIHsgJiBjbWQgL2MgImAiJHNwYCIiOyBTdGFydC1TbGVlcCAtU2Vjb25kcyAyIH0KICAg
|
|
||||||
IGVsc2UgeyBXcml0ZS1Ib3N0ICIgIChTdG9wLVNrcmlwdCAnJF9zdG9wTmFtZScgbmljaHQgZ2Vm
|
|
||||||
dW5kZW4g4oCUIMO8YmVyc3BydW5nZW4pIiAtRm9yZWdyb3VuZENvbG9yIERhcmtZZWxsb3cgfQp9
|
|
||||||
IGVsc2UgeyBXcml0ZS1Ib3N0ICIgIChLZWluIFN0b3AtU2tyaXB0IGtvbmZpZ3VyaWVydCDigJQg
|
|
||||||
w7xiZXJzcHJ1bmdlbikiIC1Gb3JlZ3JvdW5kQ29sb3IgRGFya1llbGxvdyB9CgojIEFrdHVlbGxl
|
|
||||||
biBTdGFuZCBiZWlzZWl0ZSB2ZXJzY2hpZWJlbiAoU2ljaGVyaGVpdHNuZXR6LCBrZWluIERhdGVu
|
|
||||||
dmVybHVzdCkKJGFzaWRlID0gSm9pbi1QYXRoICRiayAoIl92b3Itcm9sbGJhY2stIiArIChHZXQt
|
|
||||||
RGF0ZSAtRm9ybWF0ICd5eXl5TU1kZC1ISG1tc3MnKSkKTmV3LUl0ZW0gLUl0ZW1UeXBlIERpcmVj
|
|
||||||
dG9yeSAtUGF0aCAkYXNpZGUgLUZvcmNlIHwgT3V0LU51bGwKR2V0LUNoaWxkSXRlbSAtTGl0ZXJh
|
|
||||||
bFBhdGggJHJvb3QgLUZvcmNlIHwgV2hlcmUtT2JqZWN0IHsgJF9leGNsIC1ub3Rjb250YWlucyAk
|
|
||||||
Xy5OYW1lIH0gfCBGb3JFYWNoLU9iamVjdCB7CiAgICBNb3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICRf
|
|
||||||
LkZ1bGxOYW1lIC1EZXN0aW5hdGlvbiAoSm9pbi1QYXRoICRhc2lkZSAkXy5OYW1lKSAtRm9yY2UK
|
|
||||||
fQoKIyBTaWNoZXJ1bmcgd2llZGVyaGVyc3RlbGxlbgp0cnkgewogICAgRXhwYW5kLUFyY2hpdmUg
|
|
||||||
LUxpdGVyYWxQYXRoICR6aXAgLURlc3RpbmF0aW9uUGF0aCAkcm9vdCAtRm9yY2UKICAgIFdyaXRl
|
|
||||||
LUhvc3QgIlN0YW5kIHdpZWRlcmhlcmdlc3RlbGx0OiAkKCRjaG9zZW4uTmFtZSkiIC1Gb3JlZ3Jv
|
|
||||||
dW5kQ29sb3IgR3JlZW4KfSBjYXRjaCB7CiAgICBXcml0ZS1Ib3N0ICJGRUhMRVIgYmVpbSBXaWVk
|
|
||||||
ZXJoZXJzdGVsbGVuIOKAlCBtYWNoZSDDhG5kZXJ1bmcgcsO8Y2tnw6RuZ2lnIC4uLiIgLUZvcmVn
|
|
||||||
cm91bmRDb2xvciBSZWQKICAgIEdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQYXRoICRyb290IC1Gb3Jj
|
|
||||||
ZSB8IFdoZXJlLU9iamVjdCB7ICRfZXhjbCAtbm90Y29udGFpbnMgJF8uTmFtZSB9IHwKICAgICAg
|
|
||||||
ICBSZW1vdmUtSXRlbSAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGlu
|
|
||||||
dWUKICAgIEdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQYXRoICRhc2lkZSAtRm9yY2UgfCBGb3JFYWNo
|
|
||||||
LU9iamVjdCB7CiAgICAgICAgTW92ZS1JdGVtIC1MaXRlcmFsUGF0aCAkXy5GdWxsTmFtZSAtRGVz
|
|
||||||
dGluYXRpb24gKEpvaW4tUGF0aCAkcm9vdCAkXy5OYW1lKSAtRm9yY2UKICAgIH0KICAgIFdyaXRl
|
|
||||||
LUhvc3QgIlZvcmhlcmlnZXIgWnVzdGFuZCB3aWVkZXJoZXJnZXN0ZWxsdCDigJQga2VpbiBEYXRl
|
|
||||||
bnZlcmx1c3QuIiAtRm9yZWdyb3VuZENvbG9yIFllbGxvdwogICAgcmV0dXJuCn0KCiMgQmVpc2Vp
|
|
||||||
dGUtT3JkbmVyIGF1ZnLDpHVtZW46IG51ciBkaWUgbGV0enRlbiAyIGJlaGFsdGVuCkdldC1DaGls
|
|
||||||
ZEl0ZW0gLUxpdGVyYWxQYXRoICRiayAtRGlyZWN0b3J5IC1GaWx0ZXIgJ192b3Itcm9sbGJhY2st
|
|
||||||
KicgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfAogICAgU29ydC1PYmplY3QgTmFtZSAt
|
|
||||||
RGVzY2VuZGluZyB8IFNlbGVjdC1PYmplY3QgLVNraXAgMiB8CiAgICBSZW1vdmUtSXRlbSAtUmVj
|
|
||||||
dXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKCiMgU2VydmVyIHN0YXJ0
|
|
||||||
ZW4KJHN0cCA9IEpvaW4tUGF0aCAkcm9vdCAkX3N0YXJ0TmFtZQppZiAoVGVzdC1QYXRoIC1MaXRl
|
|
||||||
cmFsUGF0aCAkc3RwKSB7CiAgICBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAnY21kLmV4ZScgLUFy
|
|
||||||
Z3VtZW50TGlzdCAiL2MgYCIkc3RwYCIiIC1XaW5kb3dTdHlsZSBIaWRkZW4KICAgIFdyaXRlLUhv
|
|
||||||
c3QgIlNlcnZlciBnZXN0YXJ0ZXQuIiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCn0gZWxzZSB7CiAg
|
|
||||||
ICBXcml0ZS1Ib3N0ICJTdGFydC1Ta3JpcHQgJyRfc3RhcnROYW1lJyBuaWNodCBnZWZ1bmRlbiDi
|
|
||||||
gJQgYml0dGUgU2VydmVyIG1hbnVlbGwgc3RhcnRlbi4iIC1Gb3JlZ3JvdW5kQ29sb3IgWWVsbG93
|
|
||||||
Cn0KCldyaXRlLUhvc3QgIiIKV3JpdGUtSG9zdCAiPT09IFJvbGxiYWNrIGFiZ2VzY2hsb3NzZW4g
|
|
||||||
PT09IiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCldyaXRlLUhvc3QgIiAgICBXaWVkZXJoZXJnZXN0
|
|
||||||
ZWxsdDogJCgkY2hvc2VuLk5hbWUpIiAtRm9yZWdyb3VuZENvbG9yIEN5YW4K
|
|
||||||
### FILE: server.ps1 | 52721
|
### FILE: server.ps1 | 52721
|
||||||
IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|
IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
|
||||||
PT09PT09PT09PT09PT09PT09PT09PQojIEQuUi5JLlYuRS4gUG9ydGFsIHYxLjAgLSBMb2thbGVy
|
PT09PT09PT09PT09PT09PT09PT09PQojIEQuUi5JLlYuRS4gUG9ydGFsIHYxLjAgLSBMb2thbGVy
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
e5f1fe817b91b5d9643ea7c77df0ce71db31dfc731aa2800300f57109f5a0034 sync-bundle-01.txt
|
|
||||||
58c85e2b8f475288c0c441cf3bdb91c55ae8e9d0c159fbccb189e276fb6a6509 sync-bundle-02.txt
|
|
||||||
4cc212461953ad756f99f812fd093b90b1dfb2f45c1b0ca4080c73aa077d4c17 sync-bundle-03.txt
|
|
||||||
a2969b7e51352f303e6c1dd45824b4547f7c9c790516ae7218494a280c94f64e sync-bundle-04.txt
|
|
||||||
595b27a8ecffded3850dc6808ee22b2564e00bdade317196dc4a721e760e1705 sync-bundle-05.txt
|
|
||||||
478bbbe43f248720c7bfb5b528443edbe25b609bc748583449082fd1e8357a0b sync-bundle-06.txt
|
|
||||||
456a7ecdfa06bd4fdb8e23c40b5c0c9016b68927e0225e3763dbf0b5dce3a228 sync-bundle-07.txt
|
|
||||||
7a01035e06091884352a146208f5afb618e8c381cae8267fe8360bf7c2cd2554 sync-entpacken.bat
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# 144 Dateien in 7 Bundles
|
# 143 Dateien in 7 Bundles
|
||||||
sync-bundle-01.txt FLD_Planung.bat
|
sync-bundle-01.txt FLD_Planung.bat
|
||||||
sync-bundle-01.txt Images/fussball/1._FC_Heidenheim.svg
|
sync-bundle-01.txt Images/fussball/1._FC_Heidenheim.svg
|
||||||
sync-bundle-01.txt Images/fussball/1._FC_Koeln.svg
|
sync-bundle-01.txt Images/fussball/1._FC_Koeln.svg
|
||||||
@@ -138,7 +138,6 @@ sync-bundle-05.txt js/ui/rte.js
|
|||||||
sync-bundle-05.txt js/ui/theme-branding.js
|
sync-bundle-05.txt js/ui/theme-branding.js
|
||||||
sync-bundle-05.txt js/ui/toast.js
|
sync-bundle-05.txt js/ui/toast.js
|
||||||
sync-bundle-05.txt js/wochenplan/wochenplan.js
|
sync-bundle-05.txt js/wochenplan/wochenplan.js
|
||||||
sync-bundle-05.txt rollback.bat
|
|
||||||
sync-bundle-06.txt server.ps1
|
sync-bundle-06.txt server.ps1
|
||||||
sync-bundle-06.txt style.css
|
sync-bundle-06.txt style.css
|
||||||
sync-bundle-06.txt sync-worker.js
|
sync-bundle-06.txt sync-worker.js
|
||||||
|
|||||||
@@ -11737,96 +11737,3 @@ IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHdpbmRvdy5wcmludCgpOwogICAg
|
|||||||
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5y
|
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5y
|
||||||
ZW1vdmUoJ2RydWNrZW4td29jaGVucGxhbicpOyB9LCA1MDApOwogICAgICAgIH0sIDgwKTsKICAg
|
ZW1vdmUoJ2RydWNrZW4td29jaGVucGxhbicpOyB9LCA1MDApOwogICAgICAgIH0sIDgwKTsKICAg
|
||||||
IH0pOwp9Cg==
|
IH0pOwp9Cg==
|
||||||
### FILE: rollback.bat | 5226
|
|
||||||
QGVjaG8gb2ZmCnNldGxvY2FsCnNldCAiQkRJUj0lfmRwMCIKZWNoby4KZWNobyAgPT09IEZMRC1T
|
|
||||||
Y2hpY2h0cGxhbnVuZzogUm9sbGJhY2sgKG9mZmxpbmUpID09PQplY2hvICBTdGVsbHQgZGVuIFN0
|
|
||||||
YW5kIHZvciBkZW0gbGV0enRlbiBVcGRhdGUgd2llZGVyIGhlci4KZWNoby4KcG93ZXJzaGVsbCAt
|
|
||||||
Tm9Qcm9maWxlIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Db21tYW5kICIkbT0nIyMjIFBTJysn
|
|
||||||
Q09ERSAjIyMnOyRtZT1bSU8uRmlsZV06OlJlYWRBbGxUZXh0KCclfmYwJyk7JHA9JG1lLkluZGV4
|
|
||||||
T2YoJG0pOyRubD0kbWUuSW5kZXhPZihbY2hhcl0xMCwkcCk7JHJvb3Q9JGVudjpCRElSLlRyaW1F
|
|
||||||
bmQoJ1wnKTskc3RvcEJhdD0nJzskc3RhcnRCYXQ9J0ZMRF9QbGFudW5nLmJhdCc7SW52b2tlLUV4
|
|
||||||
cHJlc3Npb24gJG1lLlN1YnN0cmluZygkbmwrMSkiCmVjaG8uCnBhdXNlCmV4aXQgL2IKIyMjIFBT
|
|
||||||
Q09ERSAjIyMKJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJwojIEVyd2FydGV0IGltIFNj
|
|
||||||
b3BlOiAkcm9vdCwgJHN0b3BCYXQsICRzdGFydEJhdAokX3N0b3BOYW1lICA9IGlmICgkbnVsbCAt
|
|
||||||
bmUgJHN0b3BCYXQpICB7ICRzdG9wQmF0IH0gIGVsc2UgeyAnc3RvcC5iYXQnIH0KJF9zdGFydE5h
|
|
||||||
bWUgPSBpZiAoJG51bGwgLW5lICRzdGFydEJhdCkgeyAkc3RhcnRCYXQgfSBlbHNlIHsgJ2RnbC5i
|
|
||||||
YXQnIH0KCiMgQXVzc2NobHVzc2xpc3RlIChpZGVudGlzY2ggenUgdXBkYXRlLnBzMSk6IC5iYWNr
|
|
||||||
dXAgbmllIGFuZmFzc2VuLCBwbHVzIGdyb8OfZQojIENvbnRlbnQtT3JkbmVyIGF1cyAuYmFja3Vw
|
|
||||||
aWdub3JlIOKAlCBkaWVzZSBibGVpYmVuIGJlaW0gUm9sbGJhY2sgdW52ZXLDpG5kZXJ0LgokX2V4
|
|
||||||
Y2wgPSBAKCcuYmFja3VwJykKJF9pZ25vcmVGaWxlID0gSm9pbi1QYXRoICRyb290ICcuYmFja3Vw
|
|
||||||
aWdub3JlJwppZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkX2lnbm9yZUZpbGUpIHsKICAgICRf
|
|
||||||
ZXh0cmEgPSBAKEdldC1Db250ZW50IC1MaXRlcmFsUGF0aCAkX2lnbm9yZUZpbGUgfCBGb3JFYWNo
|
|
||||||
LU9iamVjdCB7ICRfLlRyaW0oKSB9IHwKICAgICAgICAgICAgICAgIFdoZXJlLU9iamVjdCB7ICRf
|
|
||||||
IC1uZSAnJyAtYW5kIC1ub3QgJF8uU3RhcnRzV2l0aCgnIycpIH0pCiAgICAkX2V4Y2wgPSAkX2V4
|
|
||||||
Y2wgKyAkX2V4dHJhCn0KJF9leGNsID0gQCgkX2V4Y2wpICAgIyBzdHJpa3QgYWxzIEFycmF5ICh2
|
|
||||||
ZXJoaW5kZXJ0IFNrYWxhci1FbnRwYWNrdW5nKQoKJGJrID0gSm9pbi1QYXRoICRyb290ICcuYmFj
|
|
||||||
a3VwJwppZiAoLW5vdCAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkYmspKSB7CiAgICBXcml0ZS1I
|
|
||||||
b3N0ICJLZWluIEJhY2t1cC1WZXJ6ZWljaG5pcyBnZWZ1bmRlbi4gU2ljaGVydW5nZW4gZW50c3Rl
|
|
||||||
aGVuIGF1dG9tYXRpc2NoIGJlaW0gZXJzdGVuIFVwZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29sb3IgUmVk
|
|
||||||
CiAgICByZXR1cm4KfQokc25hcHMgPSBHZXQtQ2hpbGRJdGVtIC1MaXRlcmFsUGF0aCAkYmsgLUZp
|
|
||||||
bHRlciAnc25hcHNob3QtKi56aXAnIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgU29y
|
|
||||||
dC1PYmplY3QgTmFtZSAtRGVzY2VuZGluZwppZiAoLW5vdCAkc25hcHMpIHsKICAgIFdyaXRlLUhv
|
|
||||||
c3QgIktlaW5lIFNpY2hlcnVuZ2VuIHZvcmhhbmRlbi4gU2ljaGVydW5nZW4gZW50c3RlaGVuIGF1
|
|
||||||
dG9tYXRpc2NoIGJlaW0gZXJzdGVuIFVwZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29sb3IgUmVkCiAgICBy
|
|
||||||
ZXR1cm4KfQoKV3JpdGUtSG9zdCAiIgpXcml0ZS1Ib3N0ICJWZXJmw7xnYmFyZSBTaWNoZXJ1bmdl
|
|
||||||
biAobmV1ZXN0ZSB6dWVyc3QpOiIgLUZvcmVncm91bmRDb2xvciBDeWFuCiRpID0gMApmb3JlYWNo
|
|
||||||
ICgkcyBpbiAkc25hcHMpIHsKICAgICRzaXplID0gJ3swOk4xfSBNQicgLWYgKCRzLkxlbmd0aCAv
|
|
||||||
IDFNQikKICAgICR0YWcgID0gaWYgKCRpIC1lcSAwKSB7ICIgIDwtIG5ldWVzdGUiIH0gZWxzZSB7
|
|
||||||
ICIiIH0KICAgIFdyaXRlLUhvc3QgKCIgIFt7MH1dIHsxfSAgKHsyfSl7M30iIC1mICRpLCAkcy5O
|
|
||||||
YW1lLCAkc2l6ZSwgJHRhZykKICAgICRpKysKfQpXcml0ZS1Ib3N0ICIiCiRjID0gUmVhZC1Ib3N0
|
|
||||||
ICJOdW1tZXIgZGVyIFNpY2hlcnVuZyB3w6RobGVuIChFbnRlciA9IG5ldWVzdGUgWzBdKSIKaWYg
|
|
||||||
KCRjIC1lcSAnJykgeyAkYyA9ICcwJyB9CmlmICgkYyAtbm90bWF0Y2ggJ15cZCskJyAtb3IgW2lu
|
|
||||||
dF0kYyAtZ2UgJHNuYXBzLkNvdW50KSB7CiAgICBXcml0ZS1Ib3N0ICJVbmfDvGx0aWdlIEF1c3dh
|
|
||||||
aGwuIEFiZ2Vicm9jaGVuLiIgLUZvcmVncm91bmRDb2xvciBZZWxsb3cKICAgIHJldHVybgp9CiRj
|
|
||||||
aG9zZW4gPSAkc25hcHNbW2ludF0kY10KJHppcCAgICA9ICRjaG9zZW4uRnVsbE5hbWUKCiMgSW50
|
|
||||||
ZWdyaXTDpHQgZGVyIFNpY2hlcnVuZyBwcsO8ZmVuLCBCRVZPUiBpcmdlbmRldHdhcyBlcnNldHp0
|
|
||||||
IHdpcmQKQWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBTeXN0ZW0uSU8uQ29tcHJlc3Npb24uRmlsZVN5
|
|
||||||
c3RlbQp0cnkgewogICAgJHogPSBbU3lzdGVtLklPLkNvbXByZXNzaW9uLlppcEZpbGVdOjpPcGVu
|
|
||||||
UmVhZCgkemlwKQogICAgJG51bGwgPSAkei5FbnRyaWVzLkNvdW50CiAgICAkei5EaXNwb3NlKCkK
|
|
||||||
fSBjYXRjaCB7CiAgICBXcml0ZS1Ib3N0ICJGRUhMRVI6IFNpY2hlcnVuZyBpc3QgYmVzY2jDpGRp
|
|
||||||
Z3Qg4oCUIFJvbGxiYWNrIGFiZ2Vicm9jaGVuOiAkemlwIiAtRm9yZWdyb3VuZENvbG9yIFJlZAog
|
|
||||||
ICAgcmV0dXJuCn0KCldyaXRlLUhvc3QgIiIKJHluID0gUmVhZC1Ib3N0ICJTdGFuZCAnJCgkY2hv
|
|
||||||
c2VuLk5hbWUpJyB3aWVkZXJoZXJzdGVsbGVuPyBEZXIgYWt0dWVsbGUgU3RhbmQgd2lyZCBlcnNl
|
|
||||||
dHp0ISBbai9OXSIKaWYgKCR5biAtbm90aW4gJ2onLCdKJywneScsJ1knKSB7IFdyaXRlLUhvc3Qg
|
|
||||||
IkFiZ2Vicm9jaGVuLiI7IHJldHVybiB9CgojIFNlcnZlciBzdG9wcGVuCldyaXRlLUhvc3QgIlN0
|
|
||||||
b3BwZSBTZXJ2ZXIgLi4uIgppZiAoJF9zdG9wTmFtZSAtbmUgJycpIHsKICAgICRzcCA9IEpvaW4t
|
|
||||||
UGF0aCAkcm9vdCAkX3N0b3BOYW1lCiAgICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkc3Ap
|
|
||||||
IHsgJiBjbWQgL2MgImAiJHNwYCIiOyBTdGFydC1TbGVlcCAtU2Vjb25kcyAyIH0KICAgIGVsc2Ug
|
|
||||||
eyBXcml0ZS1Ib3N0ICIgIChTdG9wLVNrcmlwdCAnJF9zdG9wTmFtZScgbmljaHQgZ2VmdW5kZW4g
|
|
||||||
4oCUIMO8YmVyc3BydW5nZW4pIiAtRm9yZWdyb3VuZENvbG9yIERhcmtZZWxsb3cgfQp9IGVsc2Ug
|
|
||||||
eyBXcml0ZS1Ib3N0ICIgIChLZWluIFN0b3AtU2tyaXB0IGtvbmZpZ3VyaWVydCDigJQgw7xiZXJz
|
|
||||||
cHJ1bmdlbikiIC1Gb3JlZ3JvdW5kQ29sb3IgRGFya1llbGxvdyB9CgojIEFrdHVlbGxlbiBTdGFu
|
|
||||||
ZCBiZWlzZWl0ZSB2ZXJzY2hpZWJlbiAoU2ljaGVyaGVpdHNuZXR6LCBrZWluIERhdGVudmVybHVz
|
|
||||||
dCkKJGFzaWRlID0gSm9pbi1QYXRoICRiayAoIl92b3Itcm9sbGJhY2stIiArIChHZXQtRGF0ZSAt
|
|
||||||
Rm9ybWF0ICd5eXl5TU1kZC1ISG1tc3MnKSkKTmV3LUl0ZW0gLUl0ZW1UeXBlIERpcmVjdG9yeSAt
|
|
||||||
UGF0aCAkYXNpZGUgLUZvcmNlIHwgT3V0LU51bGwKR2V0LUNoaWxkSXRlbSAtTGl0ZXJhbFBhdGgg
|
|
||||||
JHJvb3QgLUZvcmNlIHwgV2hlcmUtT2JqZWN0IHsgJF9leGNsIC1ub3Rjb250YWlucyAkXy5OYW1l
|
|
||||||
IH0gfCBGb3JFYWNoLU9iamVjdCB7CiAgICBNb3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICRfLkZ1bGxO
|
|
||||||
YW1lIC1EZXN0aW5hdGlvbiAoSm9pbi1QYXRoICRhc2lkZSAkXy5OYW1lKSAtRm9yY2UKfQoKIyBT
|
|
||||||
aWNoZXJ1bmcgd2llZGVyaGVyc3RlbGxlbgp0cnkgewogICAgRXhwYW5kLUFyY2hpdmUgLUxpdGVy
|
|
||||||
YWxQYXRoICR6aXAgLURlc3RpbmF0aW9uUGF0aCAkcm9vdCAtRm9yY2UKICAgIFdyaXRlLUhvc3Qg
|
|
||||||
IlN0YW5kIHdpZWRlcmhlcmdlc3RlbGx0OiAkKCRjaG9zZW4uTmFtZSkiIC1Gb3JlZ3JvdW5kQ29s
|
|
||||||
b3IgR3JlZW4KfSBjYXRjaCB7CiAgICBXcml0ZS1Ib3N0ICJGRUhMRVIgYmVpbSBXaWVkZXJoZXJz
|
|
||||||
dGVsbGVuIOKAlCBtYWNoZSDDhG5kZXJ1bmcgcsO8Y2tnw6RuZ2lnIC4uLiIgLUZvcmVncm91bmRD
|
|
||||||
b2xvciBSZWQKICAgIEdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQYXRoICRyb290IC1Gb3JjZSB8IFdo
|
|
||||||
ZXJlLU9iamVjdCB7ICRfZXhjbCAtbm90Y29udGFpbnMgJF8uTmFtZSB9IHwKICAgICAgICBSZW1v
|
|
||||||
dmUtSXRlbSAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAg
|
|
||||||
IEdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQYXRoICRhc2lkZSAtRm9yY2UgfCBGb3JFYWNoLU9iamVj
|
|
||||||
dCB7CiAgICAgICAgTW92ZS1JdGVtIC1MaXRlcmFsUGF0aCAkXy5GdWxsTmFtZSAtRGVzdGluYXRp
|
|
||||||
b24gKEpvaW4tUGF0aCAkcm9vdCAkXy5OYW1lKSAtRm9yY2UKICAgIH0KICAgIFdyaXRlLUhvc3Qg
|
|
||||||
IlZvcmhlcmlnZXIgWnVzdGFuZCB3aWVkZXJoZXJnZXN0ZWxsdCDigJQga2VpbiBEYXRlbnZlcmx1
|
|
||||||
c3QuIiAtRm9yZWdyb3VuZENvbG9yIFllbGxvdwogICAgcmV0dXJuCn0KCiMgQmVpc2VpdGUtT3Jk
|
|
||||||
bmVyIGF1ZnLDpHVtZW46IG51ciBkaWUgbGV0enRlbiAyIGJlaGFsdGVuCkdldC1DaGlsZEl0ZW0g
|
|
||||||
LUxpdGVyYWxQYXRoICRiayAtRGlyZWN0b3J5IC1GaWx0ZXIgJ192b3Itcm9sbGJhY2stKicgLUVy
|
|
||||||
cm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfAogICAgU29ydC1PYmplY3QgTmFtZSAtRGVzY2Vu
|
|
||||||
ZGluZyB8IFNlbGVjdC1PYmplY3QgLVNraXAgMiB8CiAgICBSZW1vdmUtSXRlbSAtUmVjdXJzZSAt
|
|
||||||
Rm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKCiMgU2VydmVyIHN0YXJ0ZW4KJHN0
|
|
||||||
cCA9IEpvaW4tUGF0aCAkcm9vdCAkX3N0YXJ0TmFtZQppZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0
|
|
||||||
aCAkc3RwKSB7CiAgICBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAnY21kLmV4ZScgLUFyZ3VtZW50
|
|
||||||
TGlzdCAiL2MgYCIkc3RwYCIiIC1XaW5kb3dTdHlsZSBIaWRkZW4KICAgIFdyaXRlLUhvc3QgIlNl
|
|
||||||
cnZlciBnZXN0YXJ0ZXQuIiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCn0gZWxzZSB7CiAgICBXcml0
|
|
||||||
ZS1Ib3N0ICJTdGFydC1Ta3JpcHQgJyRfc3RhcnROYW1lJyBuaWNodCBnZWZ1bmRlbiDigJQgYml0
|
|
||||||
dGUgU2VydmVyIG1hbnVlbGwgc3RhcnRlbi4iIC1Gb3JlZ3JvdW5kQ29sb3IgWWVsbG93Cn0KCldy
|
|
||||||
aXRlLUhvc3QgIiIKV3JpdGUtSG9zdCAiPT09IFJvbGxiYWNrIGFiZ2VzY2hsb3NzZW4gPT09IiAt
|
|
||||||
Rm9yZWdyb3VuZENvbG9yIEdyZWVuCldyaXRlLUhvc3QgIiAgICBXaWVkZXJoZXJnZXN0ZWxsdDog
|
|
||||||
JCgkY2hvc2VuLk5hbWUpIiAtRm9yZWdyb3VuZENvbG9yIEN5YW4K
|
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
0eaeaeadf1c298b6d17fc2ad236a061a832e305815a6398d36d78b98779c3e49 sync-bundle-01.txt
|
|
||||||
b917548cba1a6a6ada3bf6c71107e9c3496664b65777194eb50340c73fb79597 sync-entpacken.bat
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# 41 Dateien in 1 Bundles
|
# 40 Dateien in 1 Bundles
|
||||||
sync-bundle-01.txt Synchron_test.html
|
sync-bundle-01.txt Synchron_test.html
|
||||||
sync-bundle-01.txt VERSION
|
sync-bundle-01.txt VERSION
|
||||||
sync-bundle-01.txt assets/css/portal.css
|
sync-bundle-01.txt assets/css/portal.css
|
||||||
@@ -39,4 +39,3 @@ sync-bundle-01.txt helfer/Portal-Pflege-starten.bat
|
|||||||
sync-bundle-01.txt helfer/hol_bao_medien.ps1
|
sync-bundle-01.txt helfer/hol_bao_medien.ps1
|
||||||
sync-bundle-01.txt helfer/portal_helfer.ps1
|
sync-bundle-01.txt helfer/portal_helfer.ps1
|
||||||
sync-bundle-01.txt index.html
|
sync-bundle-01.txt index.html
|
||||||
sync-bundle-01.txt rollback.bat
|
|
||||||
|
|||||||
@@ -13409,95 +13409,3 @@ dCIpOwogICAgc2V0KCJiYW8taWMiLCAic2hpZWxkIik7CiAgICB2YXIgZXQgPSBkb2N1bWVudC5n
|
|||||||
ZXRFbGVtZW50QnlJZCgiZWRpdC10YWciKTsgaWYgKGV0KSBldC5pbnNlcnRBZGphY2VudEhUTUwo
|
ZXRFbGVtZW50QnlJZCgiZWRpdC10YWciKTsgaWYgKGV0KSBldC5pbnNlcnRBZGphY2VudEhUTUwo
|
||||||
ImFmdGVyYmVnaW4iLCBQLmljKCJlZGl0IikgKyAiICIpOwogIH0pKCk7Cjwvc2NyaXB0Pgo8L2Jv
|
ImFmdGVyYmVnaW4iLCBQLmljKCJlZGl0IikgKyAiICIpOwogIH0pKCk7Cjwvc2NyaXB0Pgo8L2Jv
|
||||||
ZHk+CjwvaHRtbD4K
|
ZHk+CjwvaHRtbD4K
|
||||||
### FILE: rollback.bat | 5145
|
|
||||||
QGVjaG8gb2ZmCnNldGxvY2FsCnNldCAiQkRJUj0lfmRwMCIKZWNoby4KZWNobyAgPT09IFBvcnRh
|
|
||||||
bCBVbmlvbjogUm9sbGJhY2sgKG9mZmxpbmUpID09PQplY2hvICBTdGVsbHQgZGVuIFN0YW5kIHZv
|
|
||||||
ciBkZW0gbGV0enRlbiBVcGRhdGUgd2llZGVyIGhlci4KZWNoby4KcG93ZXJzaGVsbCAtTm9Qcm9m
|
|
||||||
aWxlIC1FeGVjdXRpb25Qb2xpY3kgQnlwYXNzIC1Db21tYW5kICIkbT0nIyMjIFBTJysnQ09ERSAj
|
|
||||||
IyMnOyRtZT1bSU8uRmlsZV06OlJlYWRBbGxUZXh0KCclfmYwJyk7JHA9JG1lLkluZGV4T2YoJG0p
|
|
||||||
OyRubD0kbWUuSW5kZXhPZihbY2hhcl0xMCwkcCk7JHJvb3Q9JGVudjpCRElSLlRyaW1FbmQoJ1wn
|
|
||||||
KTskc3RvcEJhdD0nSGVsZmVyLWJlZW5kZW4uYmF0Jzskc3RhcnRCYXQ9J1BvcnRhbC1QZmxlZ2Ut
|
|
||||||
c3RhcnRlbi5iYXQnO0ludm9rZS1FeHByZXNzaW9uICRtZS5TdWJzdHJpbmcoJG5sKzEpIgplY2hv
|
|
||||||
LgpwYXVzZQpleGl0IC9iCiMjIyBQU0NPREUgIyMjCiRFcnJvckFjdGlvblByZWZlcmVuY2UgPSAn
|
|
||||||
U3RvcCcKIyBFcndhcnRldCBpbSBTY29wZTogJHJvb3QsICRzdG9wQmF0LCAkc3RhcnRCYXQKJF9z
|
|
||||||
dG9wTmFtZSAgPSBpZiAoJG51bGwgLW5lICRzdG9wQmF0KSAgeyAkc3RvcEJhdCB9ICBlbHNlIHsg
|
|
||||||
J3N0b3AuYmF0JyB9CiRfc3RhcnROYW1lID0gaWYgKCRudWxsIC1uZSAkc3RhcnRCYXQpIHsgJHN0
|
|
||||||
YXJ0QmF0IH0gZWxzZSB7ICdkZ2wuYmF0JyB9CgojIEF1c3NjaGx1c3NsaXN0ZSAoaWRlbnRpc2No
|
|
||||||
IHp1IHVwZGF0ZS5wczEpOiAuYmFja3VwIG5pZSBhbmZhc3NlbiwgcGx1cyBncm/Dn2UKIyBDb250
|
|
||||||
ZW50LU9yZG5lciBhdXMgLmJhY2t1cGlnbm9yZSDigJQgZGllc2UgYmxlaWJlbiBiZWltIFJvbGxi
|
|
||||||
YWNrIHVudmVyw6RuZGVydC4KJF9leGNsID0gQCgnLmJhY2t1cCcpCiRfaWdub3JlRmlsZSA9IEpv
|
|
||||||
aW4tUGF0aCAkcm9vdCAnLmJhY2t1cGlnbm9yZScKaWYgKFRlc3QtUGF0aCAtTGl0ZXJhbFBhdGgg
|
|
||||||
JF9pZ25vcmVGaWxlKSB7CiAgICAkX2V4Y2wgKz0gKEdldC1Db250ZW50IC1MaXRlcmFsUGF0aCAk
|
|
||||||
X2lnbm9yZUZpbGUgfCBGb3JFYWNoLU9iamVjdCB7ICRfLlRyaW0oKSB9IHwKICAgICAgICAgICAg
|
|
||||||
ICAgV2hlcmUtT2JqZWN0IHsgJF8gLW5lICcnIC1hbmQgLW5vdCAkXy5TdGFydHNXaXRoKCcjJykg
|
|
||||||
fSkKfQoKJGJrID0gSm9pbi1QYXRoICRyb290ICcuYmFja3VwJwppZiAoLW5vdCAoVGVzdC1QYXRo
|
|
||||||
IC1MaXRlcmFsUGF0aCAkYmspKSB7CiAgICBXcml0ZS1Ib3N0ICJLZWluIEJhY2t1cC1WZXJ6ZWlj
|
|
||||||
aG5pcyBnZWZ1bmRlbi4gU2ljaGVydW5nZW4gZW50c3RlaGVuIGF1dG9tYXRpc2NoIGJlaW0gZXJz
|
|
||||||
dGVuIFVwZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29sb3IgUmVkCiAgICByZXR1cm4KfQokc25hcHMgPSBH
|
|
||||||
ZXQtQ2hpbGRJdGVtIC1MaXRlcmFsUGF0aCAkYmsgLUZpbHRlciAnc25hcHNob3QtKi56aXAnIC1F
|
|
||||||
cnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgU29ydC1PYmplY3QgTmFtZSAtRGVzY2VuZGlu
|
|
||||||
ZwppZiAoLW5vdCAkc25hcHMpIHsKICAgIFdyaXRlLUhvc3QgIktlaW5lIFNpY2hlcnVuZ2VuIHZv
|
|
||||||
cmhhbmRlbi4gU2ljaGVydW5nZW4gZW50c3RlaGVuIGF1dG9tYXRpc2NoIGJlaW0gZXJzdGVuIFVw
|
|
||||||
ZGF0ZS4iIC1Gb3JlZ3JvdW5kQ29sb3IgUmVkCiAgICByZXR1cm4KfQoKV3JpdGUtSG9zdCAiIgpX
|
|
||||||
cml0ZS1Ib3N0ICJWZXJmw7xnYmFyZSBTaWNoZXJ1bmdlbiAobmV1ZXN0ZSB6dWVyc3QpOiIgLUZv
|
|
||||||
cmVncm91bmRDb2xvciBDeWFuCiRpID0gMApmb3JlYWNoICgkcyBpbiAkc25hcHMpIHsKICAgICRz
|
|
||||||
aXplID0gJ3swOk4xfSBNQicgLWYgKCRzLkxlbmd0aCAvIDFNQikKICAgICR0YWcgID0gaWYgKCRp
|
|
||||||
IC1lcSAwKSB7ICIgIDwtIG5ldWVzdGUiIH0gZWxzZSB7ICIiIH0KICAgIFdyaXRlLUhvc3QgKCIg
|
|
||||||
IFt7MH1dIHsxfSAgKHsyfSl7M30iIC1mICRpLCAkcy5OYW1lLCAkc2l6ZSwgJHRhZykKICAgICRp
|
|
||||||
KysKfQpXcml0ZS1Ib3N0ICIiCiRjID0gUmVhZC1Ib3N0ICJOdW1tZXIgZGVyIFNpY2hlcnVuZyB3
|
|
||||||
w6RobGVuIChFbnRlciA9IG5ldWVzdGUgWzBdKSIKaWYgKCRjIC1lcSAnJykgeyAkYyA9ICcwJyB9
|
|
||||||
CmlmICgkYyAtbm90bWF0Y2ggJ15cZCskJyAtb3IgW2ludF0kYyAtZ2UgJHNuYXBzLkNvdW50KSB7
|
|
||||||
CiAgICBXcml0ZS1Ib3N0ICJVbmfDvGx0aWdlIEF1c3dhaGwuIEFiZ2Vicm9jaGVuLiIgLUZvcmVn
|
|
||||||
cm91bmRDb2xvciBZZWxsb3cKICAgIHJldHVybgp9CiRjaG9zZW4gPSAkc25hcHNbW2ludF0kY10K
|
|
||||||
JHppcCAgICA9ICRjaG9zZW4uRnVsbE5hbWUKCiMgSW50ZWdyaXTDpHQgZGVyIFNpY2hlcnVuZyBw
|
|
||||||
csO8ZmVuLCBCRVZPUiBpcmdlbmRldHdhcyBlcnNldHp0IHdpcmQKQWRkLVR5cGUgLUFzc2VtYmx5
|
|
||||||
TmFtZSBTeXN0ZW0uSU8uQ29tcHJlc3Npb24uRmlsZVN5c3RlbQp0cnkgewogICAgJHogPSBbU3lz
|
|
||||||
dGVtLklPLkNvbXByZXNzaW9uLlppcEZpbGVdOjpPcGVuUmVhZCgkemlwKQogICAgJG51bGwgPSAk
|
|
||||||
ei5FbnRyaWVzLkNvdW50CiAgICAkei5EaXNwb3NlKCkKfSBjYXRjaCB7CiAgICBXcml0ZS1Ib3N0
|
|
||||||
ICJGRUhMRVI6IFNpY2hlcnVuZyBpc3QgYmVzY2jDpGRpZ3Qg4oCUIFJvbGxiYWNrIGFiZ2Vicm9j
|
|
||||||
aGVuOiAkemlwIiAtRm9yZWdyb3VuZENvbG9yIFJlZAogICAgcmV0dXJuCn0KCldyaXRlLUhvc3Qg
|
|
||||||
IiIKJHluID0gUmVhZC1Ib3N0ICJTdGFuZCAnJCgkY2hvc2VuLk5hbWUpJyB3aWVkZXJoZXJzdGVs
|
|
||||||
bGVuPyBEZXIgYWt0dWVsbGUgU3RhbmQgd2lyZCBlcnNldHp0ISBbai9OXSIKaWYgKCR5biAtbm90
|
|
||||||
aW4gJ2onLCdKJywneScsJ1knKSB7IFdyaXRlLUhvc3QgIkFiZ2Vicm9jaGVuLiI7IHJldHVybiB9
|
|
||||||
CgojIFNlcnZlciBzdG9wcGVuCldyaXRlLUhvc3QgIlN0b3BwZSBTZXJ2ZXIgLi4uIgppZiAoJF9z
|
|
||||||
dG9wTmFtZSAtbmUgJycpIHsKICAgICRzcCA9IEpvaW4tUGF0aCAkcm9vdCAkX3N0b3BOYW1lCiAg
|
|
||||||
ICBpZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkc3ApIHsgJiBjbWQgL2MgImAiJHNwYCIiOyBT
|
|
||||||
dGFydC1TbGVlcCAtU2Vjb25kcyAyIH0KICAgIGVsc2UgeyBXcml0ZS1Ib3N0ICIgIChTdG9wLVNr
|
|
||||||
cmlwdCAnJF9zdG9wTmFtZScgbmljaHQgZ2VmdW5kZW4g4oCUIMO8YmVyc3BydW5nZW4pIiAtRm9y
|
|
||||||
ZWdyb3VuZENvbG9yIERhcmtZZWxsb3cgfQp9IGVsc2UgeyBXcml0ZS1Ib3N0ICIgIChLZWluIFN0
|
|
||||||
b3AtU2tyaXB0IGtvbmZpZ3VyaWVydCDigJQgw7xiZXJzcHJ1bmdlbikiIC1Gb3JlZ3JvdW5kQ29s
|
|
||||||
b3IgRGFya1llbGxvdyB9CgojIEFrdHVlbGxlbiBTdGFuZCBiZWlzZWl0ZSB2ZXJzY2hpZWJlbiAo
|
|
||||||
U2ljaGVyaGVpdHNuZXR6LCBrZWluIERhdGVudmVybHVzdCkKJGFzaWRlID0gSm9pbi1QYXRoICRi
|
|
||||||
ayAoIl92b3Itcm9sbGJhY2stIiArIChHZXQtRGF0ZSAtRm9ybWF0ICd5eXl5TU1kZC1ISG1tc3Mn
|
|
||||||
KSkKTmV3LUl0ZW0gLUl0ZW1UeXBlIERpcmVjdG9yeSAtUGF0aCAkYXNpZGUgLUZvcmNlIHwgT3V0
|
|
||||||
LU51bGwKR2V0LUNoaWxkSXRlbSAtTGl0ZXJhbFBhdGggJHJvb3QgLUZvcmNlIHwgV2hlcmUtT2Jq
|
|
||||||
ZWN0IHsgJF9leGNsIC1ub3Rjb250YWlucyAkXy5OYW1lIH0gfCBGb3JFYWNoLU9iamVjdCB7CiAg
|
|
||||||
ICBNb3ZlLUl0ZW0gLUxpdGVyYWxQYXRoICRfLkZ1bGxOYW1lIC1EZXN0aW5hdGlvbiAoSm9pbi1Q
|
|
||||||
YXRoICRhc2lkZSAkXy5OYW1lKSAtRm9yY2UKfQoKIyBTaWNoZXJ1bmcgd2llZGVyaGVyc3RlbGxl
|
|
||||||
bgp0cnkgewogICAgRXhwYW5kLUFyY2hpdmUgLUxpdGVyYWxQYXRoICR6aXAgLURlc3RpbmF0aW9u
|
|
||||||
UGF0aCAkcm9vdCAtRm9yY2UKICAgIFdyaXRlLUhvc3QgIlN0YW5kIHdpZWRlcmhlcmdlc3RlbGx0
|
|
||||||
OiAkKCRjaG9zZW4uTmFtZSkiIC1Gb3JlZ3JvdW5kQ29sb3IgR3JlZW4KfSBjYXRjaCB7CiAgICBX
|
|
||||||
cml0ZS1Ib3N0ICJGRUhMRVIgYmVpbSBXaWVkZXJoZXJzdGVsbGVuIOKAlCBtYWNoZSDDhG5kZXJ1
|
|
||||||
bmcgcsO8Y2tnw6RuZ2lnIC4uLiIgLUZvcmVncm91bmRDb2xvciBSZWQKICAgIEdldC1DaGlsZEl0
|
|
||||||
ZW0gLUxpdGVyYWxQYXRoICRyb290IC1Gb3JjZSB8IFdoZXJlLU9iamVjdCB7ICRfZXhjbCAtbm90
|
|
||||||
Y29udGFpbnMgJF8uTmFtZSB9IHwKICAgICAgICBSZW1vdmUtSXRlbSAtUmVjdXJzZSAtRm9yY2Ug
|
|
||||||
LUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAgIEdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQ
|
|
||||||
YXRoICRhc2lkZSAtRm9yY2UgfCBGb3JFYWNoLU9iamVjdCB7CiAgICAgICAgTW92ZS1JdGVtIC1M
|
|
||||||
aXRlcmFsUGF0aCAkXy5GdWxsTmFtZSAtRGVzdGluYXRpb24gKEpvaW4tUGF0aCAkcm9vdCAkXy5O
|
|
||||||
YW1lKSAtRm9yY2UKICAgIH0KICAgIFdyaXRlLUhvc3QgIlZvcmhlcmlnZXIgWnVzdGFuZCB3aWVk
|
|
||||||
ZXJoZXJnZXN0ZWxsdCDigJQga2VpbiBEYXRlbnZlcmx1c3QuIiAtRm9yZWdyb3VuZENvbG9yIFll
|
|
||||||
bGxvdwogICAgcmV0dXJuCn0KCiMgQmVpc2VpdGUtT3JkbmVyIGF1ZnLDpHVtZW46IG51ciBkaWUg
|
|
||||||
bGV0enRlbiAyIGJlaGFsdGVuCkdldC1DaGlsZEl0ZW0gLUxpdGVyYWxQYXRoICRiayAtRGlyZWN0
|
|
||||||
b3J5IC1GaWx0ZXIgJ192b3Itcm9sbGJhY2stKicgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGlu
|
|
||||||
dWUgfAogICAgU29ydC1PYmplY3QgTmFtZSAtRGVzY2VuZGluZyB8IFNlbGVjdC1PYmplY3QgLVNr
|
|
||||||
aXAgMiB8CiAgICBSZW1vdmUtSXRlbSAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVu
|
|
||||||
dGx5Q29udGludWUKCiMgU2VydmVyIHN0YXJ0ZW4KJHN0cCA9IEpvaW4tUGF0aCAkcm9vdCAkX3N0
|
|
||||||
YXJ0TmFtZQppZiAoVGVzdC1QYXRoIC1MaXRlcmFsUGF0aCAkc3RwKSB7CiAgICBTdGFydC1Qcm9j
|
|
||||||
ZXNzIC1GaWxlUGF0aCAnY21kLmV4ZScgLUFyZ3VtZW50TGlzdCAiL2MgYCIkc3RwYCIiIC1XaW5k
|
|
||||||
b3dTdHlsZSBIaWRkZW4KICAgIFdyaXRlLUhvc3QgIlNlcnZlciBnZXN0YXJ0ZXQuIiAtRm9yZWdy
|
|
||||||
b3VuZENvbG9yIEdyZWVuCn0gZWxzZSB7CiAgICBXcml0ZS1Ib3N0ICJTdGFydC1Ta3JpcHQgJyRf
|
|
||||||
c3RhcnROYW1lJyBuaWNodCBnZWZ1bmRlbiDigJQgYml0dGUgU2VydmVyIG1hbnVlbGwgc3RhcnRl
|
|
||||||
bi4iIC1Gb3JlZ3JvdW5kQ29sb3IgWWVsbG93Cn0KCldyaXRlLUhvc3QgIiIKV3JpdGUtSG9zdCAi
|
|
||||||
PT09IFJvbGxiYWNrIGFiZ2VzY2hsb3NzZW4gPT09IiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCldy
|
|
||||||
aXRlLUhvc3QgIiAgICBXaWVkZXJoZXJnZXN0ZWxsdDogJCgkY2hvc2VuLk5hbWUpIiAtRm9yZWdy
|
|
||||||
b3VuZENvbG9yIEN5YW4K
|
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
## v1.4.5
|
|
||||||
|
|
||||||
**Behoben**
|
|
||||||
- Mitarbeitende **ohne** Berechtigung für Statistik, Logbuch oder Administration bekamen beim Öffnen der Planung im Hintergrund einen Fehler, weil die Seite auf einen gesperrten Bereich zugreifen wollte. Die Planung lädt jetzt für alle sauber.
|
|
||||||
- Wenn für SuperUser/Gesamtverantwortliche ein offener Hinweis vorlag (der rote Balken oben), ließ sich die Planung nicht mehr bis ganz nach unten scrollen. Das ist behoben.
|
|
||||||
- Beim Öffnen der Browser-Entwicklerwerkzeuge entstand eine unnötige Fehlermeldung im Server-Protokoll. Das Protokoll wird unverändert weitergeschrieben — nur die Fehlmeldung entfällt.
|
|
||||||
- Die Planungstabelle lässt sich jetzt mit dem Mausrad **überall** scrollen — auch wenn der Zeiger über der Namensspalte (links) liegt. Vorher reagierte nur das eigentliche Schichtenfeld.
|
|
||||||
|
|
||||||
**Geändert**
|
|
||||||
- Offene Hinweise erscheinen nicht mehr als roter Kopfbalken, sondern öffnen sich beim Anmelden in einem Fenster. Dort lassen sich alle oder einzelne Hinweise „zur Kenntnis nehmen" oder **aufschieben**. Aufgeschobene Hinweise bleiben am roten Zähler neben dem Namen (oben rechts) sichtbar, und das Fenster öffnet sich beim nächsten Anmelden von selbst wieder.
|
|
||||||
|
|
||||||
## v1.4.4
|
|
||||||
|
|
||||||
**Behoben**
|
|
||||||
- Update-Prüfung hinter dem Behörden-Proxy: Der Server konnte das Update-Repository nicht erreichen („Proxyauthentifizierung erforderlich") — der Update-Check und das Einspielen funktionieren jetzt.
|
|
||||||
- „Update installieren" lief auf dem Produktiv-Server auf einen Fehler (500). Der Updater findet jetzt zuverlässig die richtige Programm-Ablage und startet sauber.
|
|
||||||
- Die angezeigte aktuelle Version war fälschlich „0.0.0", wodurch immer ein Update vorgeschlagen wurde. Es wird jetzt die echte installierte Version angezeigt.
|
|
||||||
|
|
||||||
**Neu**
|
|
||||||
- Selbsttest („laufen alle Funktionen?") prüft zusätzlich, ob das Update-System bereitsteht und ob die Live-Daten am richtigen Ort gefunden werden.
|
|
||||||
|
|
||||||
## v1.4.3
|
|
||||||
|
|
||||||
**Neu**
|
|
||||||
- Update-Bereich in der Administration: prüft auf neue Versionen, sichert automatisch vollständig und führt nach dem Einspielen einen Selbsttest aus, bevor das System wieder freigegeben wird.
|
|
||||||
- Dieser Änderungsverlauf wird vor jedem Update angezeigt, damit klar ist, was sich ändert.
|
|
||||||
|
|
||||||
**Behoben**
|
|
||||||
- Bestätigungsdialoge (z. B. „Alle zur Kenntnis nehmen") erschienen hinter offenen Fenstern und ließen sich nicht bedienen — sie liegen jetzt korrekt im Vordergrund.
|
|
||||||
|
|
||||||
# Änderungsverlauf — VI3 DGL-Planung
|
|
||||||
|
|
||||||
Diese Hinweise werden den Admins **vor** der Installation im Update-Bereich angezeigt.
|
|
||||||
Neueste Version steht oben. Pro Version kurz und verständlich beschreiben, **was** sich ändert.
|
|
||||||
|
|
||||||
## v1.4.3
|
|
||||||
|
|
||||||
**Neu**
|
|
||||||
- Update-Bereich in der Administration: prüft auf neue Versionen, sichert automatisch vollständig und führt nach dem Einspielen einen Selbsttest aus, bevor das System wieder freigegeben wird.
|
|
||||||
- Dieser Änderungsverlauf wird vor jedem Update angezeigt, damit klar ist, was sich ändert.
|
|
||||||
|
|
||||||
**Behoben**
|
|
||||||
- Bestätigungsdialoge (z. B. „Alle zur Kenntnis nehmen") erschienen hinter offenen Fenstern und ließen sich nicht bedienen — sie liegen jetzt korrekt im Vordergrund.
|
|
||||||
|
|
||||||
## v1.4.2
|
|
||||||
|
|
||||||
- Wartungsupdate, interne Korrekturen.
|
|
||||||
|
|
||||||
## v1.4.1
|
|
||||||
|
|
||||||
- Wartungsupdate.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
3bf6c933d322d4016ce015a1f9a8caccc9f14ea38efefc4c95258e2928ba1cf4 sync-bundle-01.txt
|
|
||||||
0fa67c68a2db905415d5980796e22f364d5557ee411d82d462566f2966db606e sync-bundle-02.txt
|
|
||||||
fca4ebd7bf7e8d8f8b7eb3b860aff6129942c24f447847b43f565fd5895e37e2 sync-bundle-03.txt
|
|
||||||
34a06c58c9eec3fe4766ba6e98bd4540fa4d98ff1c36c713a90c6c39d487b4bd sync-bundle-04.txt
|
|
||||||
f3395812768ce6904f89ca1b9e2e96c1fd2c8896e5c92671a442dbb282b02f11 sync-bundle-05.txt
|
|
||||||
5eb48ce445514b1898f2a33dda9250a31087ddc1a0d98028af13c2eb8653212d sync-entpacken.bat
|
|
||||||
+1
-5
@@ -1,9 +1,7 @@
|
|||||||
# 79 Dateien in 5 Bundles
|
# 75 Dateien in 5 Bundles
|
||||||
sync-bundle-01.txt VERSION
|
sync-bundle-01.txt VERSION
|
||||||
sync-bundle-01.txt Wochenplan.template.html
|
sync-bundle-01.txt Wochenplan.template.html
|
||||||
sync-bundle-01.txt app.js
|
sync-bundle-01.txt app.js
|
||||||
sync-bundle-01.txt check.bat
|
|
||||||
sync-bundle-01.txt check.ps1
|
|
||||||
sync-bundle-01.txt data/mainframe.html
|
sync-bundle-01.txt data/mainframe.html
|
||||||
sync-bundle-01.txt data/sanitizer.html
|
sync-bundle-01.txt data/sanitizer.html
|
||||||
sync-bundle-01.txt dgl.bat
|
sync-bundle-01.txt dgl.bat
|
||||||
@@ -68,7 +66,6 @@ sync-bundle-03.txt js/sync.js
|
|||||||
sync-bundle-03.txt js/ui_dialog.js
|
sync-bundle-03.txt js/ui_dialog.js
|
||||||
sync-bundle-03.txt js/ui_rte.js
|
sync-bundle-03.txt js/ui_rte.js
|
||||||
sync-bundle-03.txt js/wochenplan.js
|
sync-bundle-03.txt js/wochenplan.js
|
||||||
sync-bundle-03.txt rollback.bat
|
|
||||||
sync-bundle-03.txt server.ps1
|
sync-bundle-03.txt server.ps1
|
||||||
sync-bundle-03.txt stop.bat
|
sync-bundle-03.txt stop.bat
|
||||||
sync-bundle-03.txt style.css
|
sync-bundle-03.txt style.css
|
||||||
@@ -76,5 +73,4 @@ sync-bundle-03.txt sync-check.html
|
|||||||
sync-bundle-04.txt sync-check.js
|
sync-bundle-04.txt sync-check.js
|
||||||
sync-bundle-04.txt sync-manifest.json
|
sync-bundle-04.txt sync-manifest.json
|
||||||
sync-bundle-04.txt sync-worker.js
|
sync-bundle-04.txt sync-worker.js
|
||||||
sync-bundle-04.txt update.bat
|
|
||||||
sync-bundle-05.txt xlsx.full.min.js
|
sync-bundle-05.txt xlsx.full.min.js
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
1.4.5
|
1.4.2
|
||||||
|
|||||||
+2514
-2899
File diff suppressed because it is too large
Load Diff
+2683
-2764
File diff suppressed because it is too large
Load Diff
+7169
-7472
File diff suppressed because it is too large
Load Diff
+23
-32
@@ -615,15 +615,15 @@ ICAgIFEoJyNidG4tc3RhcnQnKS5kaXNhYmxlZCA9IGZhbHNlOwogIH0pOwp9CgpRKCcjYnRuLXN0
|
|||||||
YXJ0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzdGFydCk7Ci8vIEF1dG8tU3RhcnQgYmVp
|
YXJ0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzdGFydCk7Ci8vIEF1dG8tU3RhcnQgYmVp
|
||||||
bSBPZWZmbmVuCnN0YXJ0KCk7Cg==
|
bSBPZWZmbmVuCnN0YXJ0KCk7Cg==
|
||||||
### FILE: sync-manifest.json | 6024
|
### FILE: sync-manifest.json | 6024
|
||||||
ewogICJnZW5lcmllcnQiOiAgIjIwMjYtMDYtMjNUMTE6NTg6MThaIiwKICAiYnJhbmNoIjogICAg
|
ewogICJnZW5lcmllcnQiOiAgIjIwMjYtMDYtMjBUMDg6MTg6NTlaIiwKICAiYnJhbmNoIjogICAg
|
||||||
ICJtYWluIiwKICAiY29tbWl0IjogICAgICI3NTI2MzA1IiwKICAiYWxnb3JpdGhtdXMiOiJzaGEy
|
ICJtYWluIiwKICAiY29tbWl0IjogICAgICIyOWU1ZTgxIiwKICAiYWxnb3JpdGhtdXMiOiJzaGEy
|
||||||
NTYiLAogICJkYXRlaWVuIjogewogICAgIldvY2hlbnBsYW4uaHRtbCI6IHsgInNoYTI1NiI6ICJl
|
NTYiLAogICJkYXRlaWVuIjogewogICAgIldvY2hlbnBsYW4uaHRtbCI6IHsgInNoYTI1NiI6ICIz
|
||||||
NWE3MWQ2NTkyYzU0OTNlNzM0NzUwY2I5NTRiZmE3OGYxZTE4NDZhZTUwYzYzN2U1YTBlMjVjMjA0
|
MDY4NDMxMjU3NDBjOGJmMjgxY2RkN2VlMTZiMmEyNDI1ZWU2NDBkNDdhOGNkYWVkNzE2OWMwOGY4
|
||||||
NTYxNmI2IiwgImJ5dGVzIjogMjE1Mjc2IH0sCiAgICAiV29jaGVucGxhbi50ZW1wbGF0ZS5odG1s
|
OWIzOGQwIiwgImJ5dGVzIjogMjE0OTM1IH0sCiAgICAiV29jaGVucGxhbi50ZW1wbGF0ZS5odG1s
|
||||||
IjogeyAic2hhMjU2IjogIjM4NjM0OGFhZjgxN2FmYjA1MmRlZGU5Nzc5YTljOWM0ZTg5ZGFjMWVh
|
IjogeyAic2hhMjU2IjogIjM4NjM0OGFhZjgxN2FmYjA1MmRlZGU5Nzc5YTljOWM0ZTg5ZGFjMWVh
|
||||||
OGRhYjBkMTEyMjdiMjRjNTgyNmIxNDMiLCAiYnl0ZXMiOiAyNjM4MCB9LAogICAgImFwcC5qcyI6
|
OGRhYjBkMTEyMjdiMjRjNTgyNmIxNDMiLCAiYnl0ZXMiOiAyNjM4MCB9LAogICAgImFwcC5qcyI6
|
||||||
IHsgInNoYTI1NiI6ICJkZmIyOGZiMDNmYTAwZTY3MjU0ZGUxOTJkZGQ1YjJjYTYwZjQ5ZGMxODY5
|
IHsgInNoYTI1NiI6ICI5NjEzM2VhZDkwMDRhYTNmMDA4MzI2YmFkZWE1ZTY1ZmVmNTRkZDY3YTli
|
||||||
N2Y5YzdmYTdjMTNiNjAxNjM5NzQxIiwgImJ5dGVzIjogMTQ5NzU5IH0sCiAgICAiZGlhZ25vc2Uu
|
ZTVkMjg2MDU1NDFiMDZlM2Y1MzA5IiwgImJ5dGVzIjogMTQzMDk4IH0sCiAgICAiZGlhZ25vc2Uu
|
||||||
aHRtbCI6IHsgInNoYTI1NiI6ICIwYmY1MDdjMmZmZTI3NjNkNTE2ZjFhYmZiZDlkOTRlMjI3NDgw
|
aHRtbCI6IHsgInNoYTI1NiI6ICIwYmY1MDdjMmZmZTI3NjNkNTE2ZjFhYmZiZDlkOTRlMjI3NDgw
|
||||||
OTk5ZTNjY2ZkNDJjNGQ1YjQzZWNmZTg5YjI3IiwgImJ5dGVzIjogMjUzOCB9LAogICAgImRpYWdu
|
OTk5ZTNjY2ZkNDJjNGQ1YjQzZWNmZTg5YjI3IiwgImJ5dGVzIjogMjUzOCB9LAogICAgImRpYWdu
|
||||||
b3NlLmpzIjogeyAic2hhMjU2IjogImVjOTBkMDRkZmE2MzZmYjA5MDNlZjE3MTlmOTM4YWQwYmY1
|
b3NlLmpzIjogeyAic2hhMjU2IjogImVjOTBkMDRkZmE2MzZmYjA5MDNlZjE3MTlmOTM4YWQwYmY1
|
||||||
@@ -632,9 +632,9 @@ aWNvbi5pY28iOiB7ICJzaGEyNTYiOiAiMjU0Y2Y1NWJkNzQ0ZDAxYTE0NjFkMjM4NzVkN2JkYjI1
|
|||||||
NDI0MWQ4ZmY4MjZhM2QwY2Y2ZDhkN2MwY2Q1Y2NhYSIsICJieXRlcyI6IDQ0NDMgfSwKICAgICJo
|
NDI0MWQ4ZmY4MjZhM2QwY2Y2ZDhkN2MwY2Q1Y2NhYSIsICJieXRlcyI6IDQ0NDMgfSwKICAgICJo
|
||||||
ZWFydGJlYXQtd29ya2VyLmpzIjogeyAic2hhMjU2IjogIjEzMDBiNmJhNGU4OWI2MWViYWFmOGY2
|
ZWFydGJlYXQtd29ya2VyLmpzIjogeyAic2hhMjU2IjogIjEzMDBiNmJhNGU4OWI2MWViYWFmOGY2
|
||||||
YTk5OGMyMGM5YTFhNzQ2N2E5ZTc5M2RiMDRhM2Y1NmY1NTk2ZWEyNWEiLCAiYnl0ZXMiOiAyNzUx
|
YTk5OGMyMGM5YTFhNzQ2N2E5ZTc5M2RiMDRhM2Y1NmY1NTk2ZWEyNWEiLCAiYnl0ZXMiOiAyNzUx
|
||||||
IH0sCiAgICAiaW5kZXguaHRtbCI6IHsgInNoYTI1NiI6ICIzMzk2NDRiZmQwODFjZGFmNGMzMmJl
|
IH0sCiAgICAiaW5kZXguaHRtbCI6IHsgInNoYTI1NiI6ICJmMjA2M2UxNWVkNjNiZDE3MWE1NmZm
|
||||||
ODk0NTIxNDc1NmRkZDRjOTdiYmQ2NWI5MjljNjg4NWIzNGQzYzExZjQ3IiwgImJ5dGVzIjogMTMz
|
ZGQ1NWViYzk5ODIxYjRjNjg2MzlhNTZkMmJkMTBiNWIyYWE5OGU1YTY1IiwgImJ5dGVzIjogMTI5
|
||||||
NTc1IH0sCiAgICAiaW5mby5odG1sIjogeyAic2hhMjU2IjogIjdmMDE2ZjUzZjVjMWQ1YjE3NzUw
|
MjExIH0sCiAgICAiaW5mby5odG1sIjogeyAic2hhMjU2IjogIjdmMDE2ZjUzZjVjMWQ1YjE3NzUw
|
||||||
MTFlNTlkZTg5MTIzMGU0ZTc3MjAyY2JmOTFiOGVhODRhMTk1OGZlN2M1NzYiLCAiYnl0ZXMiOiAx
|
MTFlNTlkZTg5MTIzMGU0ZTc3MjAyY2JmOTFiOGVhODRhMTk1OGZlN2M1NzYiLCAiYnl0ZXMiOiAx
|
||||||
Mjc2NSB9LAogICAgImpzL2FkbWluLmpzIjogeyAic2hhMjU2IjogIjkyZjEzM2QzMDE0YmM4Nzdi
|
Mjc2NSB9LAogICAgImpzL2FkbWluLmpzIjogeyAic2hhMjU2IjogIjkyZjEzM2QzMDE0YmM4Nzdi
|
||||||
NGUyYTA5ZmNmNjcyZWFhNzNkYTE5ZGNhN2MyZTU0ZTRkZWIxNzMyYjMwYTk4NDUiLCAiYnl0ZXMi
|
NGUyYTA5ZmNmNjcyZWFhNzNkYTE5ZGNhN2MyZTU0ZTRkZWIxNzMyYjMwYTk4NDUiLCAiYnl0ZXMi
|
||||||
@@ -656,9 +656,9 @@ OiB7ICJzaGEyNTYiOiAiYjI4OTNmYTNhZmMyNGQyYjQ0YzI1OTM0NjU3Nzk2NDlhZjliMjA3YmMy
|
|||||||
NzYxODJhMzMxYzVjMTc4MmZjZjRkNCIsICJieXRlcyI6IDQzMjc4IH0sCiAgICAianMvYWRtaW5f
|
NzYxODJhMzMxYzVjMTc4MmZjZjRkNCIsICJieXRlcyI6IDQzMjc4IH0sCiAgICAianMvYWRtaW5f
|
||||||
c3RhbmRhcmRyZWNodGUuanMiOiB7ICJzaGEyNTYiOiAiYWU2OTEyMDhmYzk4MmQwMmZlYzhhOGY1
|
c3RhbmRhcmRyZWNodGUuanMiOiB7ICJzaGEyNTYiOiAiYWU2OTEyMDhmYzk4MmQwMmZlYzhhOGY1
|
||||||
ZTliNDBlMDI2MzhmMzdiZWU0NGY0ZDRmZTAxZjdlMTEwNjUyZDU3NCIsICJieXRlcyI6IDkyMzcg
|
ZTliNDBlMDI2MzhmMzdiZWU0NGY0ZDRmZTAxZjdlMTEwNjUyZDU3NCIsICJieXRlcyI6IDkyMzcg
|
||||||
fSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWsuanMiOiB7ICJzaGEyNTYiOiAiN2U5MTQ2ZWUyZjli
|
fSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWsuanMiOiB7ICJzaGEyNTYiOiAiMDc2NTUxODllMGUx
|
||||||
YmE1NTFjZjRkNzU0MjU5NzQyYWM1NDAyM2ZiY2IyYTM2YWI5M2Y0ZDkzMjUwZDQ0N2YwZSIsICJi
|
YmE1YWE4ZjMyYzI5M2IzNGJjN2RiZmNiMTUxY2NiY2QxNDlmM2IwODI0MTVmOTg0MTQ3NiIsICJi
|
||||||
eXRlcyI6IDg1NTggfSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWtfYnVpbGRlci5qcyI6IHsgInNo
|
eXRlcyI6IDgyNTkgfSwKICAgICJqcy9hZG1pbl9zdGF0aXN0aWtfYnVpbGRlci5qcyI6IHsgInNo
|
||||||
YTI1NiI6ICI0NGZjYjgyODBiZmQ3MmUwNjUxMDZiNjdkNTBlYzg2NjY2MTZmNWEyOGQ0NTYyZjc1
|
YTI1NiI6ICI0NGZjYjgyODBiZmQ3MmUwNjUxMDZiNjdkNTBlYzg2NjY2MTZmNWEyOGQ0NTYyZjc1
|
||||||
MzVhYzAxNTU1NjQ2MzU1IiwgImJ5dGVzIjogMzA0OTQgfSwKICAgICJqcy9iZXNldHp1bmcuanMi
|
MzVhYzAxNTU1NjQ2MzU1IiwgImJ5dGVzIjogMzA0OTQgfSwKICAgICJqcy9iZXNldHp1bmcuanMi
|
||||||
OiB7ICJzaGEyNTYiOiAiZjMxY2NmN2E1NzBkNjQ3MjNlOTVkNjIwZWI2ODY5NmVjODE2ZmUwYjJl
|
OiB7ICJzaGEyNTYiOiAiZjMxY2NmN2E1NzBkNjQ3MjNlOTVkNjIwZWI2ODY5NmVjODE2ZmUwYjJl
|
||||||
@@ -687,21 +687,21 @@ OTNkNmQwYjRjMzJlZTM1Zjg1MmI1NGRlZWU2NjIzYmViNjQ3ODhhMzg1MzhkNjFkNzEyNjQyYjFm
|
|||||||
NDkwYTA0IiwgImJ5dGVzIjogMzU4OTMgfSwKICAgICJqcy9ncmlkX3JlbmRlci5qcyI6IHsgInNo
|
NDkwYTA0IiwgImJ5dGVzIjogMzU4OTMgfSwKICAgICJqcy9ncmlkX3JlbmRlci5qcyI6IHsgInNo
|
||||||
YTI1NiI6ICIzMTM5ZjZlMmVmZDVjMTE5ZTExMzQ2OTVmZjQyMmIzYzg0YTE0MGUwMjNmZGZjNWVl
|
YTI1NiI6ICIzMTM5ZjZlMmVmZDVjMTE5ZTExMzQ2OTVmZjQyMmIzYzg0YTE0MGUwMjNmZGZjNWVl
|
||||||
YTUwNjZlZDZlOWM2YzM2IiwgImJ5dGVzIjogMzcwNjQgfSwKICAgICJqcy9oaW53ZWlzZS5qcyI6
|
YTUwNjZlZDZlOWM2YzM2IiwgImJ5dGVzIjogMzcwNjQgfSwKICAgICJqcy9oaW53ZWlzZS5qcyI6
|
||||||
IHsgInNoYTI1NiI6ICIxNWVmN2EyOGFkOGViYjM1Y2FlMmE0OWIwYzVlNDAxODliMGU2MTQ1OThm
|
IHsgInNoYTI1NiI6ICIyYjlmMzY4ZTc4MjE3MWVmMDhlZTk0ZDY1ODkzZDBhZGMyOWZiZjEyN2M1
|
||||||
YzI3ODI3YjYwMTZjMDFkMjg5OGIzIiwgImJ5dGVzIjogMTg5MzEgfSwKICAgICJqcy9pbXBvcnRf
|
ZWY2MzNjYWZjZTczZTBkOTBjY2E4IiwgImJ5dGVzIjogMTkwNjEgfSwKICAgICJqcy9pbXBvcnRf
|
||||||
ZXhjZWwuanMiOiB7ICJzaGEyNTYiOiAiZjJhYTBkNjgyYjY1MWJlMDM4Y2IwY2U4MDc2NDczMDAw
|
ZXhjZWwuanMiOiB7ICJzaGEyNTYiOiAiZjJhYTBkNjgyYjY1MWJlMDM4Y2IwY2U4MDc2NDczMDAw
|
||||||
YmQxODA5OWU2MzkxMTljNzE0YmQyNjc3NTdiNTM5MCIsICJieXRlcyI6IDkxMjI1IH0sCiAgICAi
|
YmQxODA5OWU2MzkxMTljNzE0YmQyNjc3NTdiNTM5MCIsICJieXRlcyI6IDkxMjI1IH0sCiAgICAi
|
||||||
anMvbG9nYnVjaC5qcyI6IHsgInNoYTI1NiI6ICI0Yjc3MjJkZWZhZDQyYjJkZTM0ZjhhYjJhZWNj
|
anMvbG9nYnVjaC5qcyI6IHsgInNoYTI1NiI6ICI0Yjc3MjJkZWZhZDQyYjJkZTM0ZjhhYjJhZWNj
|
||||||
OGRhNTUxNDdjZmU3MDkwMDc1YzM1MmViMWRiMDI2YjA2OWZlIiwgImJ5dGVzIjogMzY4NjggfSwK
|
OGRhNTUxNDdjZmU3MDkwMDc1YzM1MmViMWRiMDI2YjA2OWZlIiwgImJ5dGVzIjogMzY4NjggfSwK
|
||||||
ICAgICJqcy9zY2hpY2h0dGVhbS5qcyI6IHsgInNoYTI1NiI6ICI2Mjk3YWFhNTQ0ZTlmMDYxODRj
|
ICAgICJqcy9zY2hpY2h0dGVhbS5qcyI6IHsgInNoYTI1NiI6ICI2Mjk3YWFhNTQ0ZTlmMDYxODRj
|
||||||
NjZlYzM3MGMwZTE3Y2UxZDE5NTAwZjI3ODMxZjE2YWVhM2QyMGUyMzhjMDc2IiwgImJ5dGVzIjog
|
NjZlYzM3MGMwZTE3Y2UxZDE5NTAwZjI3ODMxZjE2YWVhM2QyMGUyMzhjMDc2IiwgImJ5dGVzIjog
|
||||||
NjE2NCB9LAogICAgImpzL3N0YXRpc3Rpay5qcyI6IHsgInNoYTI1NiI6ICI4N2U4MmQxMzY0NTIz
|
NjE2NCB9LAogICAgImpzL3N0YXRpc3Rpay5qcyI6IHsgInNoYTI1NiI6ICJjMzJmMzhjZjQzNzA4
|
||||||
NGJiNTlhNGVlMWY3NTIzZTRiZDE1ZTQzZDJiOWEyNWI5ZjJmNjljYzNmMDYxZGIxMTI5IiwgImJ5
|
MTkyNjQyOTYxNTAzNDEzNmE5NDMwMzc3NWNiMmQxY2E0ZTRlMjFhNmQ5MzY3M2RhODJmIiwgImJ5
|
||||||
dGVzIjogMTIxMDQ5IH0sCiAgICAianMvc3RhdGlzdGlrX2NoYXJ0cy5qcyI6IHsgInNoYTI1NiI6
|
dGVzIjogMTIyMDM1IH0sCiAgICAianMvc3RhdGlzdGlrX2NoYXJ0cy5qcyI6IHsgInNoYTI1NiI6
|
||||||
ICJjOGYzODNjYmIxYTA2YjE0N2JlZmNjNDYyOTdiMmU5YTU3Y2I1YTM0YzRjN2IxYTg0YWU5YWRh
|
ICJjOGYzODNjYmIxYTA2YjE0N2JlZmNjNDYyOTdiMmU5YTU3Y2I1YTM0YzRjN2IxYTg0YWU5YWRh
|
||||||
OWZiZmU0NzcwIiwgImJ5dGVzIjogMTg1MTEgfSwKICAgICJqcy9zdGF0aXN0aWtfZW5naW5lLmpz
|
OWZiZmU0NzcwIiwgImJ5dGVzIjogMTg1MTEgfSwKICAgICJqcy9zdGF0aXN0aWtfZW5naW5lLmpz
|
||||||
IjogeyAic2hhMjU2IjogImMwZTc3Yjg2ZDY5YjFhYWIwOGNhMjI2N2E0ZThiNmVlZmY1OGNjZjQ5
|
IjogeyAic2hhMjU2IjogIjIzYTRhYzc5NTViNTBiYjI0NzY3NjNjMjkyYzAyNGM1OGUxNDA1YjZh
|
||||||
N2E3ZDIyMjY2NWMxZmY4MzY5Y2YzODIiLCAiYnl0ZXMiOiAyMTM2OCB9LAogICAgImpzL3N5bmMu
|
NzkzM2E4MTI5MWMwYWY0YTBjNTM3Y2IiLCAiYnl0ZXMiOiAxOTAxMCB9LAogICAgImpzL3N5bmMu
|
||||||
anMiOiB7ICJzaGEyNTYiOiAiNWZiYWEwZDU0OTA0NzQ2MGNkYTQzOTFjMzFmZTY5YzE4YzUxNWNi
|
anMiOiB7ICJzaGEyNTYiOiAiNWZiYWEwZDU0OTA0NzQ2MGNkYTQzOTFjMzFmZTY5YzE4YzUxNWNi
|
||||||
YzhjNDViNDE4ZWNmYmI2MDdhMGQ2MzBiZiIsICJieXRlcyI6IDE5NDc0IH0sCiAgICAianMvdWlf
|
YzhjNDViNDE4ZWNmYmI2MDdhMGQ2MzBiZiIsICJieXRlcyI6IDE5NDc0IH0sCiAgICAianMvdWlf
|
||||||
ZGlhbG9nLmpzIjogeyAic2hhMjU2IjogIjk5YTQzM2RkMGJhMDlhNjE5ZDFlZGI5YWMyN2I4YmUw
|
ZGlhbG9nLmpzIjogeyAic2hhMjU2IjogIjk5YTQzM2RkMGJhMDlhNjE5ZDFlZGI5YWMyN2I4YmUw
|
||||||
@@ -710,9 +710,9 @@ ImpzL3VpX3J0ZS5qcyI6IHsgInNoYTI1NiI6ICJhMzkzYTY5ZDBlNDI3NWIyMTAwMGEwM2RkZDRi
|
|||||||
YzU0ODQzMmE5ZjNkNmJmNzQzNWY4MmQ3N2IzZTQ1YzQ0NTYzIiwgImJ5dGVzIjogNjk1MSB9LAog
|
YzU0ODQzMmE5ZjNkNmJmNzQzNWY4MmQ3N2IzZTQ1YzQ0NTYzIiwgImJ5dGVzIjogNjk1MSB9LAog
|
||||||
ICAgImpzL3dvY2hlbnBsYW4uanMiOiB7ICJzaGEyNTYiOiAiNGY5MTRmYzg1NDNjYTc2OWM1OWNl
|
ICAgImpzL3dvY2hlbnBsYW4uanMiOiB7ICJzaGEyNTYiOiAiNGY5MTRmYzg1NDNjYTc2OWM1OWNl
|
||||||
OGU3MzdhNDZjMjg2MDdmMDEzYWRkMjY1NzgyZjgzZWMxZDI3NGEzNjgxMiIsICJieXRlcyI6IDE1
|
OGU3MzdhNDZjMjg2MDdmMDEzYWRkMjY1NzgyZjgzZWMxZDI3NGEzNjgxMiIsICJieXRlcyI6IDE1
|
||||||
MjA0IH0sCiAgICAic3R5bGUuY3NzIjogeyAic2hhMjU2IjogIjQyOWZlZmIzNDIyZDE1YzEwNzQy
|
MjA0IH0sCiAgICAic3R5bGUuY3NzIjogeyAic2hhMjU2IjogIjYzNjkyOWRjMjM4M2I2YjA0OGRk
|
||||||
YjhiY2E4ZTU1NDVjMzRjMGVlYjE4MWM5MDFlNzBkOWQ2MWUzZjg3OTE4YTgiLCAiYnl0ZXMiOiAy
|
NmFmY2M2NDFjYTc4NDc2MWY4MjU3N2U4NDZiODFiMmJhODdiYzFlNzg5ZDMiLCAiYnl0ZXMiOiAy
|
||||||
MzM5MTcgfSwKICAgICJzeW5jLWNoZWNrLmh0bWwiOiB7ICJzaGEyNTYiOiAiMjRkZjA3OTliODVk
|
MzQ1MzIgfSwKICAgICJzeW5jLWNoZWNrLmh0bWwiOiB7ICJzaGEyNTYiOiAiMjRkZjA3OTliODVk
|
||||||
NjEyOTFkNWRkZjAyNGExN2M1MzM3OWQ5MGM3OWM5ZGE3MmJhNjlkODEzZTAxNGQ2ZjkyZiIsICJi
|
NjEyOTFkNWRkZjAyNGExN2M1MzM3OWQ5MGM3OWM5ZGE3MmJhNjlkODEzZTAxNGQ2ZjkyZiIsICJi
|
||||||
eXRlcyI6IDQyNDkgfSwKICAgICJzeW5jLWNoZWNrLmpzIjogeyAic2hhMjU2IjogImU2YTM5NTQ0
|
eXRlcyI6IDQyNDkgfSwKICAgICJzeW5jLWNoZWNrLmpzIjogeyAic2hhMjU2IjogImU2YTM5NTQ0
|
||||||
YWFhYjc0NjkxYzA5N2Y5NGYxZDUwMGZhNGU5NWVlNjU4NGI0ZDkwNGViZjk5Nzc3MTc4Njk3NzQi
|
YWFhYjc0NjkxYzA5N2Y5NGYxZDUwMGZhNGU5NWVlNjU4NGI0ZDkwNGViZjk5Nzc3MTc4Njk3NzQi
|
||||||
@@ -858,12 +858,3 @@ fQp9OwoKLy8gSW5pdGlhbC1QdWxzIGRpcmVrdCBiZWltIFdvcmtlci1Jbml0ICh2b3IgZGVyIGVy
|
|||||||
c3RlbiAnc3RhcnQnLU5hY2hyaWNodCkuCi8vIERhbWl0IHNpZWh0IG1haW4gc2Nob24sIGRhc3Mg
|
c3RlbiAnc3RhcnQnLU5hY2hyaWNodCkuCi8vIERhbWl0IHNpZWh0IG1haW4gc2Nob24sIGRhc3Mg
|
||||||
ZGFzIE1vZHVsIHVlYmVyaGF1cHQgZ2VwYXJzdCB3dXJkZS4Kc2VsZi5wb3N0TWVzc2FnZSh7IHR5
|
ZGFzIE1vZHVsIHVlYmVyaGF1cHQgZ2VwYXJzdCB3dXJkZS4Kc2VsZi5wb3N0TWVzc2FnZSh7IHR5
|
||||||
cGU6ICdwdWxzJywgdHM6IERhdGUubm93KCksIHBoYXNlOiAnaW5pdCcgfSk7CnN0YXJ0ZW4oKTsK
|
cGU6ICdwdWxzJywgdHM6IERhdGUubm93KCksIHBoYXNlOiAnaW5pdCcgfSk7CnN0YXJ0ZW4oKTsK
|
||||||
### FILE: update.bat | 402
|
|
||||||
QGVjaG8gb2ZmCmVjaG8uCmVjaG8gPT09IFZJMyBER0wtUGxhbnVuZzogVXBkYXRlID09PQplY2hv
|
|
||||||
Lgpwb3dlcnNoZWxsIC1Ob1Byb2ZpbGUgLUV4ZWN1dGlvblBvbGljeSBCeXBhc3MgLUNvbW1hbmQg
|
|
||||||
XgogICIkcHJvaj0nVkkzREdMJzsgJHJvb3Q9JyV+ZHAwJy5UcmltRW5kKCdcJyk7ICRzdG9wQmF0
|
|
||||||
PSdzdG9wLmJhdCc7ICRzdGFydEJhdD0nZGdsLmJhdCc7IiBeCiAgIiRzPShJbnZva2UtV2ViUmVx
|
|
||||||
dWVzdCAnaHR0cHM6Ly91cGRhdGVzLnJoaW5vLm5ydy9yaGluby9TdGF0dXNRdW9fVXBkYXRlcy9y
|
|
||||||
YXcvYnJhbmNoL21haW4vc2NyaXB0cy91cGRhdGUucHMxJyAtVXNlQmFzaWNQYXJzaW5nIC1UaW1l
|
|
||||||
b3V0U2VjIDMwKS5Db250ZW50OyIgXgogICJJbnZva2UtRXhwcmVzc2lvbiAkcyIKZWNoby4KcGF1
|
|
||||||
c2UK
|
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ if ($r -eq $true) { $ok++ } elseif ($r -eq $false) { $bad++ }
|
|||||||
Write-Host ''
|
Write-Host ''
|
||||||
if ($bad -eq 0) {
|
if ($bad -eq 0) {
|
||||||
Write-Host ('FERTIG: ' + $ok + ' Dateien aktualisiert.') -ForegroundColor Green
|
Write-Host ('FERTIG: ' + $ok + ' Dateien aktualisiert.') -ForegroundColor Green
|
||||||
Write-Host 'Jetzt server.ps1 neu starten, dann in der Portal-Wurzel check.bat' -ForegroundColor Green
|
Write-Host 'Jetzt server.ps1 neu starten und zur Kontrolle sync-check.html oeffnen.' -ForegroundColor Green
|
||||||
Write-Host 'doppelklicken (Selbsttest "laufen alle Funktionen?") - alles GRUEN = Stand ok.' -ForegroundColor Green
|
|
||||||
} else {
|
} else {
|
||||||
Write-Host ('FERTIG mit Warnungen: ' + $ok + ' ok, ' + $bad + ' mit falscher Laenge.') -ForegroundColor Yellow
|
Write-Host ('FERTIG mit Warnungen: ' + $ok + ' ok, ' + $bad + ' mit falscher Laenge.') -ForegroundColor Yellow
|
||||||
}
|
}
|
||||||
|
|||||||
+68
-79
@@ -1,108 +1,97 @@
|
|||||||
# StatusQuo_Updates/scripts/rollback.ps1
|
# StatusQuo_Updates/scripts/rollback.ps1
|
||||||
# Kanonisches Rollback-Skript (Referenz). rollback.bat enthaelt diese Logik
|
# Stellt den Stand vor dem letzten Update wieder her.
|
||||||
# EINGEBETTET und laeuft vollstaendig OFFLINE. Beachtet .backupignore.
|
# Erwartet im aufrufenden Scope (wie update.ps1):
|
||||||
# Erwartet im Scope: $root, $stopBat, $startBat
|
# $root - Installationspfad
|
||||||
|
# $stopBat - (optional) Stop-Skript-Dateiname oder ''
|
||||||
|
# $startBat - (optional) Start-Skript-Dateiname
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
# Erwartet im Scope: $root, $stopBat, $startBat
|
|
||||||
$_stopName = if ($null -ne $stopBat) { $stopBat } else { 'stop.bat' }
|
$_stopName = if ($null -ne $stopBat) { $stopBat } else { 'stop.bat' }
|
||||||
$_startName = if ($null -ne $startBat) { $startBat } else { 'dgl.bat' }
|
$_startName = if ($null -ne $startBat) { $startBat } else { 'dgl.bat' }
|
||||||
|
|
||||||
# Ausschlussliste (identisch zu update.ps1): .backup nie anfassen, plus große
|
# Verfügbare Backups suchen
|
||||||
# Content-Ordner aus .backupignore — diese bleiben beim Rollback unverändert.
|
$_backupBase = Join-Path $root '.backup'
|
||||||
$_excl = @('.backup')
|
if (-not (Test-Path -LiteralPath $_backupBase)) {
|
||||||
$_ignoreFile = Join-Path $root '.backupignore'
|
Write-Host "FEHLER: Kein Backup-Verzeichnis gefunden!" -ForegroundColor Red
|
||||||
if (Test-Path -LiteralPath $_ignoreFile) {
|
Write-Host " Gesucht: $_backupBase"
|
||||||
$_extra = @(Get-Content -LiteralPath $_ignoreFile | ForEach-Object { $_.Trim() } |
|
Write-Host " Backups werden automatisch beim nächsten Update angelegt."
|
||||||
Where-Object { $_ -ne '' -and -not $_.StartsWith('#') })
|
|
||||||
$_excl = $_excl + $_extra
|
|
||||||
}
|
|
||||||
$_excl = @($_excl) # strikt als Array (verhindert Skalar-Entpackung)
|
|
||||||
|
|
||||||
$bk = Join-Path $root '.backup'
|
|
||||||
if (-not (Test-Path -LiteralPath $bk)) {
|
|
||||||
Write-Host "Kein Backup-Verzeichnis gefunden. Sicherungen entstehen automatisch beim ersten Update." -ForegroundColor Red
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
$snaps = Get-ChildItem -LiteralPath $bk -Filter 'snapshot-*.zip' -ErrorAction SilentlyContinue | Sort-Object Name -Descending
|
|
||||||
if (-not $snaps) {
|
$_backups = Get-ChildItem -LiteralPath $_backupBase -Directory |
|
||||||
Write-Host "Keine Sicherungen vorhanden. Sicherungen entstehen automatisch beim ersten Update." -ForegroundColor Red
|
Where-Object { $_.Name -match '^\d{8}-\d{6}$' } | Sort-Object Name -Descending
|
||||||
|
|
||||||
|
if ($_backups.Count -eq 0) {
|
||||||
|
Write-Host "FEHLER: Keine Backups vorhanden." -ForegroundColor Red
|
||||||
|
Write-Host " Backups werden automatisch beim nächsten Update angelegt."
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host "Verfügbare Sicherungen (neueste zuerst):" -ForegroundColor Cyan
|
Write-Host "Verfügbare Backups:" -ForegroundColor Cyan
|
||||||
$i = 0
|
$_i = 0
|
||||||
foreach ($s in $snaps) {
|
foreach ($bk in $_backups) {
|
||||||
$size = '{0:N1} MB' -f ($s.Length / 1MB)
|
$suffix = if ($_i -eq 0) { " ← neuestes" } else { "" }
|
||||||
$tag = if ($i -eq 0) { " <- neueste" } else { "" }
|
Write-Host (" [{0}] {1}{2}" -f $_i, $bk.Name, $suffix)
|
||||||
Write-Host (" [{0}] {1} ({2}){3}" -f $i, $s.Name, $size, $tag)
|
$_i++
|
||||||
$i++
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
$c = Read-Host "Nummer der Sicherung wählen (Enter = neueste [0])"
|
$_choice = Read-Host "Backup-Nummer wählen (Enter = neuestes [0])"
|
||||||
if ($c -eq '') { $c = '0' }
|
if ($_choice -eq '') { $_choice = '0' }
|
||||||
if ($c -notmatch '^\d+$' -or [int]$c -ge $snaps.Count) {
|
if ($_choice -notmatch '^\d+$' -or [int]$_choice -ge $_backups.Count) {
|
||||||
Write-Host "Ungültige Auswahl. Abgebrochen." -ForegroundColor Yellow
|
Write-Host "Ungültige Auswahl. Abgebrochen." -ForegroundColor Yellow
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
$chosen = $snaps[[int]$c]
|
|
||||||
$zip = $chosen.FullName
|
|
||||||
|
|
||||||
# Integrität der Sicherung prüfen, BEVOR irgendetwas ersetzt wird
|
|
||||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
||||||
try {
|
|
||||||
$z = [System.IO.Compression.ZipFile]::OpenRead($zip)
|
|
||||||
$null = $z.Entries.Count
|
|
||||||
$z.Dispose()
|
|
||||||
} catch {
|
|
||||||
Write-Host "FEHLER: Sicherung ist beschädigt — Rollback abgebrochen: $zip" -ForegroundColor Red
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
|
$_selected = $_backups[[int]$_choice]
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
$yn = Read-Host "Stand '$($chosen.Name)' wiederherstellen? Der aktuelle Stand wird ersetzt! [j/N]"
|
Write-Host "Stelle wieder her: $($_selected.Name)" -ForegroundColor Yellow
|
||||||
|
|
||||||
|
$yn = Read-Host "Rollback durchführen? Aktuelle Dateien werden überschrieben! [j/N]"
|
||||||
if ($yn -notin 'j','J','y','Y') { Write-Host "Abgebrochen."; return }
|
if ($yn -notin 'j','J','y','Y') { Write-Host "Abgebrochen."; return }
|
||||||
|
|
||||||
# Server stoppen
|
# Server stoppen
|
||||||
Write-Host "Stoppe Server ..."
|
Write-Host "Stoppe Server ..."
|
||||||
if ($_stopName -ne '') {
|
if ($_stopName -ne '') {
|
||||||
$sp = Join-Path $root $_stopName
|
$_stopPath = Join-Path $root $_stopName
|
||||||
if (Test-Path -LiteralPath $sp) { & cmd /c "`"$sp`""; Start-Sleep -Seconds 2 }
|
if (Test-Path -LiteralPath $_stopPath) {
|
||||||
else { Write-Host " (Stop-Skript '$_stopName' nicht gefunden — übersprungen)" -ForegroundColor DarkYellow }
|
& cmd /c "`"$_stopPath`""
|
||||||
} else { Write-Host " (Kein Stop-Skript konfiguriert — übersprungen)" -ForegroundColor DarkYellow }
|
Start-Sleep -Seconds 2
|
||||||
|
} else {
|
||||||
# Aktuellen Stand beiseite verschieben (Sicherheitsnetz, kein Datenverlust)
|
Write-Host " (Stop-Skript '$_stopName' nicht gefunden — übersprungen)" -ForegroundColor DarkYellow
|
||||||
$aside = Join-Path $bk ("_vor-rollback-" + (Get-Date -Format 'yyyyMMdd-HHmmss'))
|
|
||||||
New-Item -ItemType Directory -Path $aside -Force | Out-Null
|
|
||||||
Get-ChildItem -LiteralPath $root -Force | Where-Object { $_excl -notcontains $_.Name } | ForEach-Object {
|
|
||||||
Move-Item -LiteralPath $_.FullName -Destination (Join-Path $aside $_.Name) -Force
|
|
||||||
}
|
|
||||||
|
|
||||||
# Sicherung wiederherstellen
|
|
||||||
try {
|
|
||||||
Expand-Archive -LiteralPath $zip -DestinationPath $root -Force
|
|
||||||
Write-Host "Stand wiederhergestellt: $($chosen.Name)" -ForegroundColor Green
|
|
||||||
} catch {
|
|
||||||
Write-Host "FEHLER beim Wiederherstellen — mache Änderung rückgängig ..." -ForegroundColor Red
|
|
||||||
Get-ChildItem -LiteralPath $root -Force | Where-Object { $_excl -notcontains $_.Name } |
|
|
||||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
|
|
||||||
Get-ChildItem -LiteralPath $aside -Force | ForEach-Object {
|
|
||||||
Move-Item -LiteralPath $_.FullName -Destination (Join-Path $root $_.Name) -Force
|
|
||||||
}
|
}
|
||||||
Write-Host "Vorheriger Zustand wiederhergestellt — kein Datenverlust." -ForegroundColor Yellow
|
} else {
|
||||||
return
|
Write-Host " (Kein Stop-Skript konfiguriert — übersprungen)" -ForegroundColor DarkYellow
|
||||||
}
|
}
|
||||||
|
|
||||||
# Beiseite-Ordner aufräumen: nur die letzten 2 behalten
|
# Nutzerdaten wiederherstellen
|
||||||
Get-ChildItem -LiteralPath $bk -Directory -Filter '_vor-rollback-*' -ErrorAction SilentlyContinue |
|
$_dataBackup = Join-Path $_selected.FullName 'data'
|
||||||
Sort-Object Name -Descending | Select-Object -Skip 2 |
|
if (Test-Path -LiteralPath $_dataBackup) {
|
||||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
|
$dataTarget = Join-Path $root 'data'
|
||||||
|
if (Test-Path -LiteralPath $dataTarget) {
|
||||||
|
# Aktuellen data/-Ordner vor Überschreiben sichern
|
||||||
|
$safeName = "data_vor_rollback_$(Get-Date -Format 'yyyyMMdd-HHmmss')"
|
||||||
|
Rename-Item -LiteralPath $dataTarget -NewName $safeName -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
Copy-Item -Path $_dataBackup -Destination $dataTarget -Recurse -Force
|
||||||
|
$dataCount = (Get-ChildItem -LiteralPath $dataTarget -Recurse -File -ErrorAction SilentlyContinue).Count
|
||||||
|
Write-Host "Nutzerdaten wiederhergestellt ($dataCount Dateien)." -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Host " (Kein Nutzerdaten-Backup in diesem Stand)" -ForegroundColor DarkYellow
|
||||||
|
}
|
||||||
|
|
||||||
# Server starten
|
# Code-Dateien wiederherstellen
|
||||||
$stp = Join-Path $root $_startName
|
$_codeFiles = Get-ChildItem -LiteralPath $_selected.FullName -File -ErrorAction SilentlyContinue
|
||||||
if (Test-Path -LiteralPath $stp) {
|
foreach ($f in $_codeFiles) {
|
||||||
Start-Process -FilePath 'cmd.exe' -ArgumentList "/c `"$stp`"" -WindowStyle Hidden
|
Copy-Item -Path $f.FullName -Destination (Join-Path $root $f.Name) -Force
|
||||||
|
}
|
||||||
|
Write-Host "Code-Dateien wiederhergestellt ($($_codeFiles.Count) Dateien)." -ForegroundColor Green
|
||||||
|
|
||||||
|
# Server neu starten
|
||||||
|
$_startPath = Join-Path $root $_startName
|
||||||
|
if (Test-Path -LiteralPath $_startPath) {
|
||||||
|
Start-Process -FilePath 'cmd.exe' -ArgumentList "/c `"$_startPath`"" -WindowStyle Hidden
|
||||||
Write-Host "Server gestartet." -ForegroundColor Green
|
Write-Host "Server gestartet." -ForegroundColor Green
|
||||||
} else {
|
} else {
|
||||||
Write-Host "Start-Skript '$_startName' nicht gefunden — bitte Server manuell starten." -ForegroundColor Yellow
|
Write-Host "Start-Skript '$_startName' nicht gefunden — bitte Server manuell starten." -ForegroundColor Yellow
|
||||||
@@ -110,4 +99,4 @@ if (Test-Path -LiteralPath $stp) {
|
|||||||
|
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host "=== Rollback abgeschlossen ===" -ForegroundColor Green
|
Write-Host "=== Rollback abgeschlossen ===" -ForegroundColor Green
|
||||||
Write-Host " Wiederhergestellt: $($chosen.Name)" -ForegroundColor Cyan
|
Write-Host " Wiederhergestellt: $($_selected.Name)" -ForegroundColor Cyan
|
||||||
|
|||||||
+88
-163
@@ -2,111 +2,24 @@
|
|||||||
# Zentraler Updater - wird von update.bat per Invoke-Expression geladen.
|
# Zentraler Updater - wird von update.bat per Invoke-Expression geladen.
|
||||||
# Erwartet im aufrufenden Scope:
|
# Erwartet im aufrufenden Scope:
|
||||||
# $proj - Projektname (z.B. 'VI3DGL', 'FLD-Schichtplanung', 'DRIVE', 'Portal_Union')
|
# $proj - Projektname (z.B. 'VI3DGL', 'FLD-Schichtplanung', 'DRIVE', 'Portal_Union')
|
||||||
# $root - Installationspfad (Portal-Wurzel mit index.html, VERSION usw.)
|
# $root - Installationspfad (Verzeichnis mit server.ps1, VERSION usw.)
|
||||||
# $stopBat - (optional) Stop-Skript-Dateiname; ''=kein Stop; nicht gesetzt=Fallback 'stop.bat'
|
# $stopBat - (optional) Dateiname des Stop-Skripts, z.B. 'DRIVE_Stop.bat'.
|
||||||
# $startBat - (optional) Start-Skript-Dateiname; nicht gesetzt=Fallback 'dgl.bat'
|
# Leerstring '' = kein Stop-Schritt. Nicht gesetzt = Fallback auf 'stop.bat'.
|
||||||
#
|
# $startBat - (optional) Dateiname des Start-Skripts, z.B. 'DRIVE_Start.bat'.
|
||||||
# Strategie: Transaktionales Update mit vollständigem ZIP-Snapshot vor jeder
|
# Nicht gesetzt = Fallback auf 'dgl.bat'.
|
||||||
# Änderung. Bei Fehler wird der vorherige Stand automatisch 1:1 wiederhergestellt.
|
|
||||||
$ErrorActionPreference = 'Stop'
|
$ErrorActionPreference = 'Stop'
|
||||||
$DistBase = "https://updates.rhino.nrw/rhino/StatusQuo_Updates/raw/branch/main/$proj"
|
$DistBase = "https://updates.rhino.nrw/rhino/StatusQuo_Updates/raw/branch/main/$proj"
|
||||||
|
|
||||||
# Behoerden-Proxy verlangt Authentifizierung (407) -> dem System-Proxy einmalig
|
# Stop/Start-Namen VOR jeder Ueberschreibung aus dem aufrufenden Scope lesen
|
||||||
# die angemeldeten Windows-Credentials (Negotiate/NTLM des laufenden Benutzers)
|
|
||||||
# mitgeben, sonst scheitert JEDER Download (VERSION/MANIFEST/Bundles/CHECKSUMS)
|
|
||||||
# unten mit '(407) Proxyauthentifizierung erforderlich'. Wirkt global ueber
|
|
||||||
# DefaultWebProxy fuer alle folgenden Invoke-WebRequest-Aufrufe.
|
|
||||||
try {
|
|
||||||
$p = [System.Net.WebRequest]::GetSystemWebProxy()
|
|
||||||
if ($p) {
|
|
||||||
$p.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
|
|
||||||
[System.Net.WebRequest]::DefaultWebProxy = $p
|
|
||||||
}
|
|
||||||
} catch {}
|
|
||||||
|
|
||||||
$_stopName = if ($null -ne $stopBat) { $stopBat } else { 'stop.bat' }
|
$_stopName = if ($null -ne $stopBat) { $stopBat } else { 'stop.bat' }
|
||||||
$_startName = if ($null -ne $startBat) { $startBat } else { 'dgl.bat' }
|
$_startName = if ($null -ne $startBat) { $startBat } else { 'dgl.bat' }
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# Lokale Version lesen
|
||||||
# Hilfsfunktionen
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
function Stop-Portal {
|
|
||||||
if ($_stopName -ne '') {
|
|
||||||
$p = Join-Path $root $_stopName
|
|
||||||
if (Test-Path -LiteralPath $p) { & cmd /c "`"$p`""; Start-Sleep -Seconds 2 }
|
|
||||||
else { Write-Host " (Stop-Skript '$_stopName' nicht gefunden — übersprungen)" -ForegroundColor DarkYellow }
|
|
||||||
} else { Write-Host " (Kein Stop-Skript konfiguriert — übersprungen)" -ForegroundColor DarkYellow }
|
|
||||||
}
|
|
||||||
|
|
||||||
function Start-Portal {
|
|
||||||
$p = Join-Path $root $_startName
|
|
||||||
if (Test-Path -LiteralPath $p) {
|
|
||||||
Start-Process -FilePath 'cmd.exe' -ArgumentList "/c `"$p`"" -WindowStyle Hidden
|
|
||||||
Write-Host "Server gestartet." -ForegroundColor Green
|
|
||||||
} else {
|
|
||||||
Write-Host "Start-Skript '$_startName' nicht gefunden — bitte Server manuell starten." -ForegroundColor Yellow
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ausschlussliste: immer .backup/TempUpdate, plus Einträge aus .backupignore
|
|
||||||
# (große, von Updates NIE berührte Content-Ordner, z.B. _archiv/dokumente).
|
|
||||||
# Ausgeschlossene Ordner werden weder gesichert noch beim Rollback verändert.
|
|
||||||
function Get-ExcludeNames {
|
|
||||||
param([switch]$ForWipe)
|
|
||||||
# WICHTIG: Array strikt als Array aufbauen. 'if (){@(x)}' würde ein
|
|
||||||
# 1-Element-Array zu einem Skalar entpacken → '+=' verkettet dann Strings.
|
|
||||||
$ex = @('.backup')
|
|
||||||
if (-not $ForWipe) { $ex = $ex + 'TempUpdate' }
|
|
||||||
$f = Join-Path $root '.backupignore'
|
|
||||||
if (Test-Path -LiteralPath $f) {
|
|
||||||
$extra = @(Get-Content -LiteralPath $f | ForEach-Object { $_.Trim() } |
|
|
||||||
Where-Object { $_ -ne '' -and -not $_.StartsWith('#') })
|
|
||||||
$ex = $ex + $extra
|
|
||||||
}
|
|
||||||
return $ex
|
|
||||||
}
|
|
||||||
|
|
||||||
# Vollständiger Snapshot der Portal-Wurzel als ein ZIP (außer .backup/TempUpdate
|
|
||||||
# und .backupignore-Einträgen). Erfasst alle Code-Unterordner inkl. data/
|
|
||||||
# → echtes 1:1 des veränderbaren Stands, inkl. später gelöschter Dateien.
|
|
||||||
function New-Snapshot {
|
|
||||||
$ts = Get-Date -Format 'yyyyMMdd-HHmmss'
|
|
||||||
$bk = Join-Path $root '.backup'
|
|
||||||
if (-not (Test-Path -LiteralPath $bk)) { New-Item -ItemType Directory -Path $bk -Force | Out-Null }
|
|
||||||
$zip = Join-Path $bk "snapshot-$ts.zip"
|
|
||||||
$exclude = @(Get-ExcludeNames)
|
|
||||||
$items = Get-ChildItem -LiteralPath $root -Force | Where-Object { $exclude -notcontains $_.Name }
|
|
||||||
if (-not $items) { throw "Portal-Wurzel ist leer — nichts zu sichern." }
|
|
||||||
Compress-Archive -Path $items.FullName -DestinationPath $zip -CompressionLevel Optimal -Force
|
|
||||||
# Integrität prüfen (öffnen + Eintragszahl)
|
|
||||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
||||||
$z = [System.IO.Compression.ZipFile]::OpenRead($zip)
|
|
||||||
$cnt = $z.Entries.Count
|
|
||||||
$z.Dispose()
|
|
||||||
if ($cnt -lt 1) { throw "Snapshot ist leer/ungültig." }
|
|
||||||
# Aufbewahrung: max. 5 Snapshots
|
|
||||||
Get-ChildItem -LiteralPath $bk -Filter 'snapshot-*.zip' | Sort-Object Name -Descending |
|
|
||||||
Select-Object -Skip 5 | Remove-Item -Force -ErrorAction SilentlyContinue
|
|
||||||
return $zip
|
|
||||||
}
|
|
||||||
|
|
||||||
function Restore-Snapshot {
|
|
||||||
param([string]$Zip)
|
|
||||||
# Wurzel leeren (außer .backup + .backupignore-Ordner), dann Snapshot zurückspielen.
|
|
||||||
# Ausgeschlossene Content-Ordner bleiben unangetastet an Ort und Stelle.
|
|
||||||
$ex = @(Get-ExcludeNames -ForWipe)
|
|
||||||
Get-ChildItem -LiteralPath $root -Force | Where-Object { $ex -notcontains $_.Name } |
|
|
||||||
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
|
|
||||||
Expand-Archive -LiteralPath $Zip -DestinationPath $root -Force
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# 1. Versionsvergleich
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
$localVer = '0.0.0'
|
$localVer = '0.0.0'
|
||||||
$verFile = Join-Path $root 'VERSION'
|
$verFile = Join-Path $root 'VERSION'
|
||||||
if (Test-Path -LiteralPath $verFile) { $localVer = (Get-Content $verFile -Raw).Trim() }
|
if (Test-Path -LiteralPath $verFile) { $localVer = (Get-Content $verFile -Raw).Trim() }
|
||||||
|
|
||||||
|
# Remote-Version abfragen
|
||||||
Write-Host "Prüfe Update für $proj ..."
|
Write-Host "Prüfe Update für $proj ..."
|
||||||
try {
|
try {
|
||||||
$remoteVer = (Invoke-WebRequest -Uri "$DistBase/VERSION" -UseBasicParsing -TimeoutSec 15).Content.Trim()
|
$remoteVer = (Invoke-WebRequest -Uri "$DistBase/VERSION" -UseBasicParsing -TimeoutSec 15).Content.Trim()
|
||||||
@@ -118,26 +31,20 @@ try {
|
|||||||
Write-Host "Lokal: v$localVer"
|
Write-Host "Lokal: v$localVer"
|
||||||
Write-Host "Remote: v$remoteVer"
|
Write-Host "Remote: v$remoteVer"
|
||||||
|
|
||||||
# Nur echtes Upgrade anbieten (kein versehentlicher Downgrade)
|
if ($localVer -eq $remoteVer) {
|
||||||
$isNewer = $false
|
Write-Host "Bereits auf aktuellem Stand. Kein Update nötig." -ForegroundColor Green
|
||||||
try { $isNewer = ([System.Version]$remoteVer -gt [System.Version]$localVer) }
|
|
||||||
catch { $isNewer = ($remoteVer -ne $localVer) } # nicht-numerische Version: Fallback
|
|
||||||
if (-not $isNewer) {
|
|
||||||
if ($localVer -eq $remoteVer) { Write-Host "Bereits auf aktuellem Stand. Kein Update nötig." -ForegroundColor Green }
|
|
||||||
else { Write-Host "Remote (v$remoteVer) ist nicht neuer als lokal (v$localVer) — kein Update." -ForegroundColor Yellow }
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
$yn = Read-Host "Update von v$localVer auf v$remoteVer installieren? [j/N]"
|
$yn = Read-Host "Update von v$localVer auf v$remoteVer installieren? [j/N]"
|
||||||
if ($yn -notin 'j','J','y','Y') { Write-Host "Abgebrochen."; return }
|
if ($yn -notin 'j','J','y','Y') { Write-Host "Abgebrochen."; return }
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# Temp-Ordner
|
||||||
# 2. Bundles herunterladen (Server läuft noch)
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
$tmp = Join-Path $root 'TempUpdate'
|
$tmp = Join-Path $root 'TempUpdate'
|
||||||
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
||||||
New-Item -ItemType Directory -Path $tmp | Out-Null
|
New-Item -ItemType Directory -Path $tmp | Out-Null
|
||||||
|
|
||||||
|
# Bundles laden
|
||||||
Write-Host "Lade Manifest ..."
|
Write-Host "Lade Manifest ..."
|
||||||
$manifest = (Invoke-WebRequest -Uri "$DistBase/MANIFEST.txt" -UseBasicParsing -TimeoutSec 30).Content
|
$manifest = (Invoke-WebRequest -Uri "$DistBase/MANIFEST.txt" -UseBasicParsing -TimeoutSec 30).Content
|
||||||
$bundles = ($manifest -split "`n" | Where-Object { $_ -match '^sync-bundle-' } |
|
$bundles = ($manifest -split "`n" | Where-Object { $_ -match '^sync-bundle-' } |
|
||||||
@@ -150,92 +57,110 @@ foreach ($b in $bundles) {
|
|||||||
Write-Host " sync-entpacken.bat ..."
|
Write-Host " sync-entpacken.bat ..."
|
||||||
Invoke-WebRequest -Uri "$DistBase/sync-entpacken.bat" -OutFile (Join-Path $tmp 'sync-entpacken.bat') -UseBasicParsing -TimeoutSec 30
|
Invoke-WebRequest -Uri "$DistBase/sync-entpacken.bat" -OutFile (Join-Path $tmp 'sync-entpacken.bat') -UseBasicParsing -TimeoutSec 30
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# --- CHECKSUMMEN VERIFIZIEREN (optional — wird übersprungen wenn keine CHECKSUMS.txt vorhanden) ---
|
||||||
# 3. Download-Integrität prüfen (SHA256, falls CHECKSUMS.txt vorhanden)
|
Write-Host "Verifiziere Checksummen ..."
|
||||||
# Schützt gegen unvollständige/korrupte Downloads — NICHT gegen manipulierte
|
|
||||||
# Releases (gleicher Kanal). Authentizität = Release-Disziplin + Tests.
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Write-Host "Verifiziere Download-Integrität ..."
|
|
||||||
try {
|
try {
|
||||||
$chk = (Invoke-WebRequest -Uri "$DistBase/CHECKSUMS.txt" -UseBasicParsing -TimeoutSec 15).Content
|
$chkContent = (Invoke-WebRequest -Uri "$DistBase/CHECKSUMS.txt" -UseBasicParsing -TimeoutSec 15).Content
|
||||||
$allOk = $true
|
$allOk = $true
|
||||||
foreach ($line in ($chk -split "`n")) {
|
foreach ($line in ($chkContent -split "`n")) {
|
||||||
$line = $line.Trim()
|
$line = $line.Trim()
|
||||||
if ($line -eq '' -or $line.StartsWith('#')) { continue }
|
if ($line -eq '' -or $line.StartsWith('#')) { continue }
|
||||||
|
# Format: SHA256HASH filename
|
||||||
$parts = $line -split '\s+', 2
|
$parts = $line -split '\s+', 2
|
||||||
if ($parts.Count -lt 2) { continue }
|
if ($parts.Count -lt 2) { continue }
|
||||||
$expected = $parts[0].ToLower()
|
$expected = $parts[0].ToLower()
|
||||||
$filename = $parts[1].Trim().TrimStart('*') # sha256sum nutzt evtl. '*' Prefix
|
$filename = $parts[1].Trim()
|
||||||
$localPath = Join-Path $tmp $filename
|
$localPath = Join-Path $tmp $filename
|
||||||
if (-not (Test-Path -LiteralPath $localPath)) { continue }
|
if (-not (Test-Path -LiteralPath $localPath)) { continue }
|
||||||
$actual = (Get-FileHash -LiteralPath $localPath -Algorithm SHA256).Hash.ToLower()
|
$actual = (Get-FileHash -LiteralPath $localPath -Algorithm SHA256).Hash.ToLower()
|
||||||
if ($actual -ne $expected) {
|
if ($actual -ne $expected) {
|
||||||
Write-Host "FEHLER: Checksumme stimmt nicht für $filename!" -ForegroundColor Red
|
Write-Host "FEHLER: Checksumme stimmt nicht für $filename!" -ForegroundColor Red
|
||||||
|
Write-Host " Erwartet: $expected" -ForegroundColor Red
|
||||||
|
Write-Host " Erhalten: $actual" -ForegroundColor Red
|
||||||
$allOk = $false
|
$allOk = $false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (-not $allOk) {
|
if (-not $allOk) {
|
||||||
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
||||||
Write-Host "Update abgebrochen — keine Datei verändert. Bitte Support kontaktieren." -ForegroundColor Red
|
Write-Host "Update abgebrochen — keine Dateien verändert. Bitte Support kontaktieren." -ForegroundColor Red
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
Write-Host " Alle Checksummen OK." -ForegroundColor Green
|
Write-Host " Alle Checksummen OK." -ForegroundColor Green
|
||||||
} catch {
|
} catch {
|
||||||
Write-Host " (Keine CHECKSUMS.txt — Integritätsprüfung übersprungen)" -ForegroundColor DarkGray
|
# CHECKSUMS.txt nicht vorhanden — Prüfung überspringen (abwärtskompatibel)
|
||||||
|
Write-Host " (Keine CHECKSUMS.txt — Prüfung übersprungen)" -ForegroundColor DarkGray
|
||||||
}
|
}
|
||||||
|
# --- END CHECKSUMMEN ---
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# Server stoppen
|
||||||
# 4. Server stoppen
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Write-Host "Stoppe Server ..."
|
Write-Host "Stoppe Server ..."
|
||||||
Stop-Portal
|
if ($_stopName -ne '') {
|
||||||
|
$_stopPath = Join-Path $root $_stopName
|
||||||
# ---------------------------------------------------------------------------
|
if (Test-Path -LiteralPath $_stopPath) {
|
||||||
# 5. Snapshot (transaktionssicher: ohne gültiges Backup kein Update)
|
& cmd /c "`"$_stopPath`""
|
||||||
# ---------------------------------------------------------------------------
|
Start-Sleep -Seconds 2
|
||||||
Write-Host "Erstelle vollständige Sicherung ..."
|
} else {
|
||||||
try {
|
Write-Host " (Stop-Skript '$_stopName' nicht gefunden — übersprungen)" -ForegroundColor DarkYellow
|
||||||
$snap = New-Snapshot
|
|
||||||
$snapSize = '{0:N1} MB' -f ((Get-Item -LiteralPath $snap).Length / 1MB)
|
|
||||||
Write-Host " Snapshot: $snap ($snapSize)" -ForegroundColor Cyan
|
|
||||||
} catch {
|
|
||||||
Write-Host "FEHLER beim Sichern: $($_.Exception.Message)" -ForegroundColor Red
|
|
||||||
Write-Host "Update abgebrochen — keine Datei verändert. Server wird wieder gestartet." -ForegroundColor Yellow
|
|
||||||
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
|
||||||
Start-Portal
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
# 6. Update anwenden — bei Fehler automatischer Rollback
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
Write-Host "Wende Update an ..."
|
|
||||||
try {
|
|
||||||
& cmd /c "`"$(Join-Path $tmp 'sync-entpacken.bat')`""
|
|
||||||
if ($LASTEXITCODE -ne 0) { throw "sync-entpacken.bat meldete Exitcode $LASTEXITCODE" }
|
|
||||||
[System.IO.File]::WriteAllText($verFile, ($remoteVer + "`r`n"), [System.Text.Encoding]::UTF8)
|
|
||||||
} catch {
|
|
||||||
Write-Host "FEHLER beim Anwenden: $($_.Exception.Message)" -ForegroundColor Red
|
|
||||||
Write-Host "Stelle vorherigen Stand automatisch wieder her ..." -ForegroundColor Yellow
|
|
||||||
try {
|
|
||||||
Restore-Snapshot -Zip $snap
|
|
||||||
Write-Host " Vorheriger Stand (v$localVer) wiederhergestellt." -ForegroundColor Green
|
|
||||||
} catch {
|
|
||||||
Write-Host " AUTO-ROLLBACK FEHLGESCHLAGEN! Bitte rollback.bat doppelklicken." -ForegroundColor Red
|
|
||||||
}
|
}
|
||||||
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
} else {
|
||||||
Start-Portal
|
Write-Host " (Kein Stop-Skript konfiguriert — übersprungen)" -ForegroundColor DarkYellow
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# --- BACKUP (vor jeder Dateiänderung) ---
|
||||||
# 7. Aufräumen + Start
|
$ts = Get-Date -Format 'yyyyMMdd-HHmmss'
|
||||||
# ---------------------------------------------------------------------------
|
$bkDir = Join-Path $root ".backup\$ts"
|
||||||
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
New-Item -ItemType Directory -Path $bkDir -Force | Out-Null
|
||||||
|
|
||||||
|
# 1. Nutzerdaten sichern (kritisch!)
|
||||||
|
$_dataPath = Join-Path $root 'data'
|
||||||
|
if (Test-Path -LiteralPath $_dataPath) {
|
||||||
|
Copy-Item -Path $_dataPath -Destination (Join-Path $bkDir 'data') -Recurse -Force
|
||||||
|
$dataCount = (Get-ChildItem -LiteralPath $_dataPath -Recurse -File -ErrorAction SilentlyContinue).Count
|
||||||
|
Write-Host " Nutzerdaten gesichert ($dataCount Dateien)" -ForegroundColor Cyan
|
||||||
|
} else {
|
||||||
|
Write-Host " (Kein data/-Ordner gefunden — übersprungen)" -ForegroundColor DarkGray
|
||||||
|
}
|
||||||
|
|
||||||
|
# 2. Code-Dateien sichern
|
||||||
|
foreach ($ext in '*.ps1','*.html','*.js','*.css','*.bat','VERSION') {
|
||||||
|
Get-ChildItem -LiteralPath $root -File -Filter $ext -ErrorAction SilentlyContinue |
|
||||||
|
Copy-Item -Destination $bkDir -Force
|
||||||
|
}
|
||||||
|
Write-Host "Backup erstellt: $bkDir" -ForegroundColor Cyan
|
||||||
|
|
||||||
|
# 3. Alte Backups bereinigen (max. 5 behalten)
|
||||||
|
$_backupBase = Join-Path $root '.backup'
|
||||||
|
$_allBackups = Get-ChildItem -LiteralPath $_backupBase -Directory -ErrorAction SilentlyContinue |
|
||||||
|
Where-Object { $_.Name -match '^\d{8}-\d{6}$' } | Sort-Object Name -Descending
|
||||||
|
if ($_allBackups.Count -gt 5) {
|
||||||
|
$_allBackups | Select-Object -Skip 5 | ForEach-Object {
|
||||||
|
Remove-Item -Path $_.FullName -Recurse -Force -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
Write-Host " (Nur 5 neueste Backups behalten)" -ForegroundColor DarkGray
|
||||||
|
}
|
||||||
|
# --- END BACKUP ---
|
||||||
|
|
||||||
|
# Entpacken (sync-entpacken.bat aus TempUpdate → schreibt in Root eine Ebene hoeher)
|
||||||
|
Write-Host "Entpacke Update-Dateien ..."
|
||||||
|
& cmd /c "`"$(Join-Path $tmp 'sync-entpacken.bat')`""
|
||||||
|
|
||||||
|
# VERSION lokal aktualisieren
|
||||||
|
[System.IO.File]::WriteAllText($verFile, ($remoteVer + "`r`n"), [System.Text.Encoding]::UTF8)
|
||||||
Write-Host "Version auf v$remoteVer aktualisiert." -ForegroundColor Green
|
Write-Host "Version auf v$remoteVer aktualisiert." -ForegroundColor Green
|
||||||
Start-Portal
|
|
||||||
|
# Aufräumen
|
||||||
|
Remove-Item $tmp -Recurse -Force -ErrorAction SilentlyContinue
|
||||||
|
|
||||||
|
# Server neu starten
|
||||||
|
$_startPath = Join-Path $root $_startName
|
||||||
|
if (Test-Path -LiteralPath $_startPath) {
|
||||||
|
Start-Process -FilePath 'cmd.exe' -ArgumentList "/c `"$_startPath`"" -WindowStyle Hidden
|
||||||
|
Write-Host "Server gestartet." -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Host "Start-Skript '$_startName' nicht gefunden — bitte Server manuell starten." -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host "=== Update abgeschlossen ===" -ForegroundColor Green
|
Write-Host "=== Update abgeschlossen ===" -ForegroundColor Green
|
||||||
Write-Host " Sicherung: $snap" -ForegroundColor DarkGray
|
Write-Host " Backup liegt unter: $bkDir" -ForegroundColor DarkGray
|
||||||
Write-Host " Bei Problemen: rollback.bat doppelklicken (funktioniert auch offline)." -ForegroundColor DarkGray
|
Write-Host " Bei Problemen: rollback.bat doppelklicken!" -ForegroundColor DarkGray
|
||||||
|
|||||||
Reference in New Issue
Block a user