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-13 13:03:56 +02:00
# !!!! INSTALLER sudo apt install imagemagick qrencode ssmtp mpack
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-13 13:03:56 +02:00
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
source $MY_PATH /init.sh
source $MY_PATH /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-11 07:04:18 +02:00
if [ [ $( file " /home/ $YOU /.zen/g1sms_wallets/ $PHONE /_avatar.png " | grep 'PNG' ) ] ] ; then
2020-05-13 13:03:56 +02:00
composite -compose Over -gravity East -geometry +15+0 -dissolve 33% " /home/ $YOU /.zen/g1sms_wallets/ $PHONE /_avatar.png " " $MY_PATH /Oeuro.jpg " " /tmp/ $NUMERO .jpg "
2020-05-11 07:04:18 +02:00
composite -compose Over -gravity West -geometry +15+0 -dissolve 33% " /home/ $YOU /.zen/g1sms_wallets/ $PHONE /_avatar.png " " /tmp/ $NUMERO .jpg " " /tmp/ $NUMERO .jpg "
2020-05-01 15:19:51 +02:00
else
2020-05-13 13:03:56 +02:00
composite -compose Over -gravity East -geometry +15+0 -dissolve 33% " $MY_PATH /G1Anar.png " " $MY_PATH /Oeuro.jpg " " /tmp/ $NUMERO .jpg "
composite -compose Over -gravity West -geometry +15+0 -dissolve 33% " $MY_PATH /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-13 13:03:56 +02:00
composite -compose Over -gravity SouthWest -geometry +50+50 -dissolve 70% " $MY_PATH /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-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill grey -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
20)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill green -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
50)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill orange -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
100)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill blue -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
200)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill purple -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
500)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill red -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
1000)
2020-05-13 13:03:56 +02:00
convert " $MY_PATH /g1.png " -fuzz 20% -fill black -opaque '#e5912b' "/tmp/g1.png"
2020-05-01 15:19:51 +02:00
; ;
*)
2020-05-13 13:03:56 +02:00
cp " $MY_PATH /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-11 07:04:18 +02:00
mkdir -p " /home/ $YOU /.zen/g1billets/MEMBERS/ $MEMBER / "
mv " /tmp/BILL. $year . $valid . $NUMERO . $MONTANT . $UNIT .jpg " " /home/ $YOU /.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 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"