2020-05-01 15:19:51 +02:00
|
|
|
#!/bin/bash
|
2020-05-07 02:27:11 +02:00
|
|
|
################################################################################
|
|
|
|
# Author: Fred (support@qo-op.com)
|
|
|
|
# Version: 1.0
|
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
################################################################################
|
2020-05-01 15:19:51 +02:00
|
|
|
# Make Billet fabrique l'image de 6 billets de monnaie libre
|
|
|
|
# Date de validité de 6 mois à compter du premier jour du mois courant
|
|
|
|
############################################################################
|
2020-05-07 02:27:11 +02:00
|
|
|
# !!!! INSTALLER convert et qrencode: sudo apt install imagemagick qrencode
|
2020-05-01 15:19:51 +02:00
|
|
|
# IMPRIMANTE (http://smspi:631/) : sudo apt install printer-driver-all cups
|
|
|
|
# https://junise.wordpress.com/2015/04/12/install-online-cups-printer-in-raspberry-pi/
|
|
|
|
############################################################################
|
|
|
|
# TEST:
|
2020-05-03 23:37:47 +02:00
|
|
|
# ./sms_BILLET_MAKE.sh "nu me ro test" "se cr et" 100 LOVE 10.04 "https://g1sms.fr" G1SMS TEST
|
2020-05-01 15:19:51 +02:00
|
|
|
############################################################################
|
2020-05-03 23:37:47 +02:00
|
|
|
source "./init.sh"
|
|
|
|
source "./functions.sh"
|
2020-05-01 15:19:51 +02:00
|
|
|
|
|
|
|
NUMERO="$1"
|
|
|
|
SECRET="$2"
|
|
|
|
MONTANT="$3"
|
|
|
|
UNIT="$4"
|
|
|
|
JUNE="$5"
|
|
|
|
NOTERIB="$6"
|
|
|
|
MEMBER="$7"
|
|
|
|
TRANSAC="$8"
|
|
|
|
PHONE="$9"
|
2020-05-03 23:37:47 +02:00
|
|
|
log "X sudo ./sms_BILLET_MAKE.sh \"$1\" \"$2\" \"$3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8\""
|
2020-05-01 15:19:51 +02:00
|
|
|
|
|
|
|
if [[ "$NOTERIB" == "" || "$MEMBER" == "" ]]
|
|
|
|
then
|
|
|
|
log "ERROR MAKE BILLET"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
# VALIDITY? Calculate 6 month period dates
|
|
|
|
cm=$(date +%m)
|
|
|
|
cy=$(date +%Y)
|
|
|
|
valid=$(bc <<< "$cm + 6")
|
|
|
|
if [ $valid -gt 12 ]
|
|
|
|
then
|
|
|
|
valid=$(bc <<< "$valid - 12")
|
|
|
|
year=$(bc <<< "$cy + 1")
|
|
|
|
else
|
|
|
|
year=$cy
|
|
|
|
fi
|
|
|
|
valid="0${valid:0:2}"
|
|
|
|
# ADD VALIDITY to convert: -pointsize 20 -draw 'text 380,410 "'"A encaisser avant le 01/$valid/$year"'"' \
|
|
|
|
|
|
|
|
# ADD Avatar on G1 Logo SouthEast
|
2020-05-07 02:27:11 +02:00
|
|
|
if [[ $(file "~/.zen/g1sms_wallets/$PHONE/_avatar.png" | grep 'PNG') ]]; then
|
|
|
|
composite -compose Over -gravity East -geometry +15+0 -dissolve 33% "~/.zen/g1sms_wallets/$PHONE/_avatar.png" "./Oeuro.jpg" "/tmp/$NUMERO.jpg"
|
|
|
|
composite -compose Over -gravity West -geometry +15+0 -dissolve 33% "~/.zen/g1sms_wallets/$PHONE/_avatar.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg"
|
2020-05-01 15:19:51 +02:00
|
|
|
else
|
2020-05-03 23:37:47 +02:00
|
|
|
composite -compose Over -gravity East -geometry +15+0 -dissolve 33% "./G1Anar.png" "./Oeuro.jpg" "/tmp/$NUMERO.jpg"
|
|
|
|
composite -compose Over -gravity West -geometry +15+0 -dissolve 33% "./G1Anar.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg"
|
2020-05-01 15:19:51 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Add G1Billet_LOVE.png logo (250px)
|
2020-05-03 23:37:47 +02:00
|
|
|
composite -compose Over -gravity SouthWest -geometry +50+50 -dissolve 70% "./G1Billet_LOVE.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg"
|
2020-05-01 15:19:51 +02:00
|
|
|
|
|
|
|
# Prepare BILLET qrcode verification URL
|
|
|
|
qrencode -s 3 -o "/tmp/$NUMERO_NOTERIB.png" "$NOTERIB"
|
|
|
|
|
|
|
|
# BILL PUBKEY means Someone can Add amount to it !!!
|
|
|
|
# Add verification QRCode
|
|
|
|
composite -compose Over -gravity NorthEast -geometry +50+25 "/tmp/$NUMERO_NOTERIB.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg"
|
|
|
|
|
|
|
|
# Add June logo
|
|
|
|
case "$MONTANT" in
|
|
|
|
10)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill grey -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
20)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill green -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
50)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill orange -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
100)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill blue -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
200)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill purple -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
500)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill red -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
1000)
|
2020-05-03 23:37:47 +02:00
|
|
|
convert "./g1.png" -fuzz 20% -fill black -opaque '#e5912b' "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
*)
|
2020-05-03 23:37:47 +02:00
|
|
|
cp "./g1.png" "/tmp/g1.png"
|
2020-05-01 15:19:51 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
composite -compose Over -gravity SouthEast -geometry +20+20 -dissolve 90% "/tmp/g1.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg"
|
|
|
|
|
|
|
|
DUPART=$(bc -l <<< "scale=2; $MONTANT / 100")
|
|
|
|
# ADD 0 to <1 DUPART
|
|
|
|
testdu=$( echo "${DUPART} < 1" | bc -l )
|
|
|
|
if [[ "$testdu" -eq "1" ]]; then
|
|
|
|
DUPART="0${DUPART}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
SIMPLEPHONE=$(echo $MASTERPHONE | sed 's/\+33/0/g')
|
|
|
|
|
|
|
|
convert -font 'Liberation-Sans' \
|
|
|
|
-pointsize 120 -fill black -draw 'text 200,220 "'"$DUPART DU"'"' \
|
|
|
|
-pointsize 45 -draw 'text 550,270 "'"$MONTANT $UNIT"'"' \
|
|
|
|
-pointsize 35 -draw 'text 50,60 "'"https://g1sms.fr _ G1Billet _ $JUNE G1"'"' \
|
|
|
|
-pointsize 30 -draw 'text 60,100 "'"Identifiant: $NUMERO"'"' \
|
|
|
|
-pointsize 22 -fill black -draw 'text 380,340 "'"Code Secret: $SECRET"'"' \
|
|
|
|
-pointsize 22 -fill black -draw 'text 260,408 "'"Porte Monnaie Libre!! A utiliser avant le 01/$valid/$year"'"' \
|
|
|
|
-pointsize 20 -draw 'text 15,442 "'"Utilisation: CHK $NUMERO (+ code secret) par SMS au $SIMPLEPHONE ou https://cesium.app"'"' \
|
|
|
|
"/tmp/$NUMERO.jpg" "/tmp/BILL.$year.$valid.$NUMERO.$MONTANT.$UNIT.jpg"
|
|
|
|
|
|
|
|
# Payable par SMS en envoyant les codes grattant la case comportant le SECRET
|
|
|
|
# "CHK $NUMERO $SECRET"
|
|
|
|
|
|
|
|
if [[ "$TRANSAC" == "TEST" ]]; then
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
# Move billet to MEMBER folder 6 month later
|
2020-05-07 02:27:11 +02:00
|
|
|
mkdir -p "~/.zen/g1billets/MEMBERS/$MEMBER/"
|
|
|
|
mv "/tmp/BILL.$year.$valid.$NUMERO.$MONTANT.$UNIT.jpg" "~/.zen/g1billets/MEMBERS/$MEMBER/"
|
2020-05-01 15:19:51 +02:00
|
|
|
# Clean TEMP files
|
|
|
|
rm "/tmp/$NUMERO_NOTERIB.png"
|
|
|
|
rm "/tmp/$NUMERO.jpg"
|
|
|
|
fi
|
|
|
|
|
|
|
|
log "END sms_BILLET_MAKE.sh"
|
|
|
|
log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|