diff --git a/README.md b/README.md index 7654cd7..20952f9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Intergalactic Registration Office +# C3Reg Fill out your hacker passport using a professional dot matrix printer. ## Set event name @@ -7,7 +7,8 @@ To set the event name, just change the `EVENT` variable in `./start` at the top. ## Supported Passports The following passports are supported atm: - CmS Junghackerpass - - Adafruit (the newer ones) + - Bound Diplomatic passport by Mitch Altman (TVBGone) Matthew Borgatti (har.ms) + - Stapled Diplomatic passport Mitch/Matthew and Nils-Arne Pohlandt (devtal.de) Do you want yours to be supported, too? Talk to me and send me 3 example pieces. :) diff --git a/adafruit/iro b/bounddipl/c3reg similarity index 82% rename from adafruit/iro rename to bounddipl/c3reg index 44ab339..9919e35 100755 --- a/adafruit/iro +++ b/bounddipl/c3reg @@ -60,20 +60,6 @@ function heading() { fi - if [ $PAGE -eq 1 ]; then - makeLeft $NEXTPAGE $FILE - fi - makeLeft 3 $FILE - makeLeft $SPACE $FILE - italicLetters $FILE - printf "INTERGALACTIC\n" >> $FILE - - if [ $PAGE -eq 1 ]; then - makeLeft $NEXTPAGE $FILE - fi - makeLeft 3 $FILE - makeLeft $SPACE $FILE - printf "REGISTRATION\n" >> $FILE bigLetters $FILE if [ $PAGE -eq 1 ]; then @@ -85,7 +71,7 @@ function heading() { makeLeft 1 $FILE makeLeft $HSPACE $FILE fi - printf "OFFICE\n" >> $FILE + printf "C3Reg\n" >> $FILE resetLetters $FILE } diff --git a/adafruit/gpgkey b/bounddipl/gpgkey similarity index 100% rename from adafruit/gpgkey rename to bounddipl/gpgkey diff --git a/adafruit/reg b/bounddipl/reg similarity index 93% rename from adafruit/reg rename to bounddipl/reg index b9ff10b..7e1cf46 100755 --- a/adafruit/reg +++ b/bounddipl/reg @@ -3,7 +3,7 @@ FILE=/tmp/$RANDOM TOP=56 NEXTFIELD=5 LEFT=22 -AUTHLEFT=56 +AUTHLEFT=66 DATELEFT=37 MAXLENGTH=17 @@ -29,7 +29,7 @@ printf "$GIVENNAME" >> $FILE # Authority field makeNewline 2 $FILE makeLeft $AUTHLEFT $FILE -printf "Intergalactic Reg. Office" >> $FILE +printf "C3Reg" >> $FILE makeNewline 3 $FILE makeLeft $LEFT $FILE diff --git a/jhp/iro b/jhp/c3reg similarity index 83% rename from jhp/iro rename to jhp/c3reg index 2aeceae..35a2c82 100755 --- a/jhp/iro +++ b/jhp/c3reg @@ -60,20 +60,6 @@ function heading() { fi - if [ $PAGE -eq 1 ]; then - makeLeft $NEXTPAGE $FILE - fi - makeLeft 1 $FILE - makeLeft $SPACE $FILE - italicLetters $FILE - printf "INTERGALACTIC\n" >> $FILE - - if [ $PAGE -eq 1 ]; then - makeLeft $NEXTPAGE $FILE - fi - makeLeft 1 $FILE - makeLeft $SPACE $FILE - printf "REGISTRATION\n" >> $FILE bigLetters $FILE if [ $PAGE -eq 1 ]; then @@ -87,7 +73,7 @@ function heading() { fi makeLeft $HSPACE $FILE fi - printf "OFFICE\n" >> $FILE + printf "C3Reg\n" >> $FILE resetLetters $FILE } diff --git a/jhp/msg5 b/jhp/msg5 deleted file mode 100755 index a3a1bf3..0000000 --- a/jhp/msg5 +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -FILE=/tmp/$RANDOM - -source ../include/nixdorf -init - -echo "1 -2 -3 -4 -5 -6 -7 -8 -9 -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -0 -1" > $FILE - -printFile $FILE -rm $FILE diff --git a/jhp/reg b/jhp/reg index 875f10f..2361f1a 100755 --- a/jhp/reg +++ b/jhp/reg @@ -21,7 +21,7 @@ init makeNewline 1 $FILE makeLeft $(($LEFT + 12)) $FILE smallLetters $FILE -printf "/ Intergal. Reg. Office" >> $FILE +printf "/ C3Reg" >> $FILE resetLetters $FILE makeNewline $(($TOP - 1)) $FILE diff --git a/stapleddipl/c3reg b/stapleddipl/c3reg new file mode 100755 index 0000000..9919e35 --- /dev/null +++ b/stapleddipl/c3reg @@ -0,0 +1,108 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=1 +LEFT=5 + +# Additional heading space +HEADINGNEXTPAGE=19 +HEADINGLEFT=1 +HEADINGRIGHT=10 + +# GPG Space +NEXTPAGE=34 +NEXTPAGESMALL=60 +NEXTFIELDBOTTOM=13 +NEXTFIELDRIGHT=18 +NEXTFIELDRIGHTSMALL=30 + +if [ $# -eq 0 ]; then + echo -e "$0: Syntax:\n$0 FIELD\n\nExample:\n$0 7\n\n\nFields: + ================== + | VISAS || VISAS | + ================== + | 0 | 1 || 4 | 5 | + |---|---||---|---| + | 2 | 3 || 6 | 7 | + ================== + " + exit 1 +fi + +PAGE=$(($1 / 4)) +FIELD=$(($1 % 4)) + +shift 1 + + +echo "PAGE: $PAGE, FIELD: $FIELD" + + + +function moveDown() { + for((i=0; i<$(($FIELD / 2)); i++)); do + for((j=0; j<$NEXTFIELDBOTTOM; j++)); do + printf "\n" >> $FILE + done + done +} + + +function heading() { + moveDown + + + if [ $(($FIELD % 2)) -eq 0 ]; then + HSPACE=$HEADINGLEFT + SPACE=0 + else + HSPACE=$HEADINGRIGHT + SPACE=$NEXTFIELDRIGHT + fi + + + bigLetters $FILE + + if [ $PAGE -eq 1 ]; then + makeLeft $HEADINGNEXTPAGE $FILE + if [ $(($FIELD % 2)) -eq 1 ]; then + makeLeft $(($HSPACE - 1)) $FILE + fi + else + makeLeft 1 $FILE + makeLeft $HSPACE $FILE + fi + printf "C3Reg\n" >> $FILE + resetLetters $FILE + +} + +function insertDate() { + if [ $(($FIELD % 2 )) -eq 0 ]; then + SPACE=0 + else + SPACE=$NEXTFIELDRIGHTSMALL + fi + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGESMALL $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + if [ -n "$EVENT" ]; then + printf "$EVENT, $(date -I)" >> $FILE + else + printf "$(date -I)" >> $FILE + fi + +} + +source ../include/nixdorf +init + +makeNewline $TOP $FILE +heading +insertDate + +printFile $FILE +rm $FILE diff --git a/stapleddipl/gpgkey b/stapleddipl/gpgkey new file mode 100755 index 0000000..30d4985 --- /dev/null +++ b/stapleddipl/gpgkey @@ -0,0 +1,134 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=1 +LEFT=3 + +# Additional heading space +HEADINGNEXTPAGE=36 +HEADINGLEFT=1 +HEADINGRIGHT=20 + +# GPG Space +NEXTPAGE=62 +NEXTFIELDBOTTOM=11 +NEXTFIELDRIGHT=31 +MAXLENGTH=22 + +if [ $# -eq 0 ]; then + echo -e "$0: Syntax:\n$0 FIELD GPG FINGERPRINT WITH SPACES\n\nExample:\n$0 7 1234 5678 1234 1234 1234 1234 1234 1234 1234 ABCD\n\n\nFields: + ================== + | VISAS || VISAS | + ================== + | 0 | 1 || 4 | 5 | + |---|---||---|---| + | 2 | 3 || 6 | 7 | + ================== + " + exit 1 +fi + +PAGE=$(($1 / 4)) +FIELD=$(($1 % 4)) + +shift 1 + + +echo "PAGE: $PAGE, FIELD: $FIELD" + + + +function moveDown() { + for((i=0; i<$(($FIELD / 2)); i++)); do + for((j=0; j<$NEXTFIELDBOTTOM; j++)); do + printf "\n" >> $FILE + done + done +} + + +function heading() { + moveDown + + + if [ $(($FIELD % 2)) -eq 0 ]; then + SPACE=$HEADINGLEFT + else + SPACE=$HEADINGRIGHT + fi + + if [ $PAGE -eq 1 ]; then + makeLeft $HEADINGNEXTPAGE $FILE + fi + + makeLeft $LEFT $FILE + makeLeft $SPACE $FILE + + bigLetters $FILE + printf "GPG" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE +} + +function insertFP() { + if [ $(($FIELD % 2 )) -eq 0 ]; then + SPACE=0 + else + SPACE=$NEXTFIELDRIGHT + fi + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2 $3 $4" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 4 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2 $3 $4" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 4 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + printf "$1 $2" >> $FILE + resetLetters $FILE + printf "\n" >> $FILE + shift 2 + + smallLetters $FILE + if [ $PAGE -eq 1 ]; then + makeLeft $NEXTPAGE $FILE + fi + makeLeft $LEFT $FILE + makeLeft $(($SPACE + 2)) $FILE + + if [ -n "$EVENT" ]; then + printf "$EVENT, $(date -I)" >> $FILE + else + printf "$(date -I)" >> $FILE + fi +} + +source ../include/nixdorf +init + +makeNewline $TOP $FILE +heading +insertFP $@ + +printFile $FILE +rm $FILE diff --git a/stapleddipl/reg b/stapleddipl/reg new file mode 100755 index 0000000..3f10afe --- /dev/null +++ b/stapleddipl/reg @@ -0,0 +1,52 @@ +#!/bin/bash +FILE=/tmp/$RANDOM +TOP=54 +NEXTFIELD=5 +LEFT=23 +AUTHLEFT=66 +DATELEFT=35 +MAXLENGTH=17 + +GIVENNAME=$1 +SURNAME=$2 +HOME=$3 + + +if [ ${#GIVENNAME} -gt $MAXLENGTH ] || [ ${#SURNAME} -gt $MAXLENGTH ] || [ ${#HOME} -gt $MAXLENGTH ]; then + echo "MAXLENGTH EXCEEDED." + exit 1 +fi + + +source ../include/nixdorf +init +smallLetters $FILE +printf "\x1b\x33\x0e" >> $FILE +makeNewline $TOP $FILE +makeLeft $LEFT $FILE +printf "$GIVENNAME" >> $FILE + +# Authority field +makeNewline 2 $FILE +makeLeft $AUTHLEFT $FILE +printf "C3Reg" >> $FILE + +makeNewline 3 $FILE +makeLeft $LEFT $FILE +printf "$SURNAME" >> $FILE + +makeNewline $NEXTFIELD $FILE +makeLeft $LEFT $FILE +printf "$HOME" >> $FILE + +makeNewline 5 $FILE +makeLeft $DATELEFT $FILE + +if [ -n "$EVENT" ]; then + printf "/ $EVENT, $(date -I)" >> $FILE +else + printf "/ $(date -I)" >> $FILE +fi + +printFile $FILE +rm $FILE diff --git a/start_dialog b/start_dialog index 17368b5..280b4b2 100755 --- a/start_dialog +++ b/start_dialog @@ -5,9 +5,9 @@ export TERM=vt220 export DIALOGRC=dialogrc -LOCKFILE=/tmp/irolock +LOCKFILE=/tmp/c3reglock TMP=/tmp/$RANDOM -BT="Intergalactic Registration Office - v0.3" +BT="C3Reg - v0.4" cd $(dirname "$0") @@ -222,13 +222,13 @@ function printReg() { return 0 } -function printIROStamp() { - askForField "IRO stamp" "$1" +function printC3RegStamp() { + askForField "C3Reg stamp" "$1" if [ $? -eq 0 ]; then checkLockFile diaBox "Insert Passport" "Please insert passport (Visas) into the printer." cd "$1" - ./iro $FIELD + ./c3reg $FIELD cd .. rm $LOCKFILE return 0 @@ -254,7 +254,7 @@ function askForField() { ==================\n " - layout[adafruit]=" + layout[bounddipl]=" ------------------\n | VISAS || VISAS |\n ==================\n @@ -264,8 +264,20 @@ function askForField() { ==================\n " + layout[stapleddipl]=" + ------------------\n + | VISAS || VISAS |\n + ==================\n + | 0 | 1 || 4 | 5 |\n + |---|---||---|---|\n + | 2 | 3 || 6 | 7 |\n + ==================\n + " + + maxfield[jhp]=11 - maxfield[adafruit]=7 + maxfield[bounddipl]=7 + maxfield[stapleddipl]=7 askStr 2 "Select a field" "$text ${layout[$2]}" "" 18 if [ $? -eq 1 ]; then @@ -284,7 +296,8 @@ function askReg() { # Max length of passport fields declare -A MAXLENGTH MAXLENGTH[jhp]=25 - MAXLENGTH[adafruit]=17 + MAXLENGTH[bounddipl]=17 + MAXLENGTH[stapleddipl]=17 askStr ${MAXLENGTH[$1]} "Forename/Nickname" "Enter forename/nickname" if [ $? -eq 1 ]; then @@ -306,7 +319,7 @@ function askReg() { confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET" - ynBox "IRO Stamp" "Does this being want to have a IRO stamp?" + ynBox "C3Reg Stamp" "Does this being want to have a C3Reg stamp?" if [ $? -eq 0 ]; then STAMP=true else @@ -330,7 +343,7 @@ function menuFor() { dialog --backtitle "$BT" \ --menu "Select ID type:" 14 40 3 \ 1 "Registration" \ - 2 "IRO Stamp" \ + 2 "C3Reg Stamp" \ 3 "GPG" \ 9 "Back" 2> $TMP @@ -341,14 +354,14 @@ function menuFor() { if [ $? -eq 0 ]; then printReg "$1" if [ "$STAMP" == "true" ]; then - printIROStamp "$1" + printC3RegStamp "$1" fi if [ -n "$FP" ]; then printGPG "$1" fi fi ;; - 2) printIROStamp "$1" + 2) printC3RegStamp "$1" ;; 3) enterGPG if [ $? -eq 0 ]; then @@ -396,7 +409,8 @@ while [ true ]; do dialog --backtitle "$BT" \ --menu "Select ID type:" 10 40 3 \ 1 "Junghackerpass" \ - 2 "New Adafruit passport" \ + 2 "Bound diplomatic passport" \ + 3 "Stapled diplomatic passport" \ 9 "Logout" 2> $TMP if [ $? -eq 9 ]; then @@ -409,7 +423,9 @@ while [ true ]; do case $TYPE in 1) menuFor jhp ;; - 2) menuFor adafruit + 2) menuFor bounddipl + ;; + 3) menuFor stapleddipl ;; 9) break ;; diff --git a/adafruit/msg5 b/test/msg5 similarity index 100% rename from adafruit/msg5 rename to test/msg5