#!/bin/bash ################################################################################ # Author: Fred (support@qo-op.com) # Version: 1.0 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ################################################################################ # Make Billet fabrique l'image de 6 billets de monnaie libre # Date de validité de 6 mois à compter du premier jour du mois courant ############################################################################ # !!!! INSTALLER sudo apt install imagemagick qrencode ssmtp mpack # 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: # ./sms_BILLET_MAKE.sh "nu me ro test" "se cr et" 100 LOVE 10.04 "https://g1sms.fr" G1SMS TEST ############################################################################ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized source $MY_PATH/init.sh source $MY_PATH/functions.sh NUMERO="$1" SECRET="$2" MONTANT="$3" UNIT="$4" JUNE="$5" NOTERIB="$6" MEMBER="$7" TRANSAC="$8" PHONE="$9" log "X sudo ./sms_BILLET_MAKE.sh \"$1\" \"$2\" \"$3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8\"" 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 if [[ $(file "/home/$YOU/.zen/g1sms/$PHONE/_avatar.png" | grep 'PNG') ]]; then composite -compose Over -gravity East -geometry +15+0 -dissolve 33% "/home/$YOU/.zen/g1sms/$PHONE/_avatar.png" "$MY_PATH/Oeuro.jpg" "/tmp/$NUMERO.jpg" composite -compose Over -gravity West -geometry +15+0 -dissolve 33% "/home/$YOU/.zen/g1sms/$PHONE/_avatar.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg" else 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" fi # Add G1Billet_LOVE.png logo (250px) composite -compose Over -gravity SouthWest -geometry +50+50 -dissolve 70% "$MY_PATH/G1Billet_LOVE.png" "/tmp/$NUMERO.jpg" "/tmp/$NUMERO.jpg" # 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) convert "$MY_PATH/g1.png" -fuzz 20% -fill grey -opaque '#e5912b' "/tmp/g1.png" ;; 20) convert "$MY_PATH/g1.png" -fuzz 20% -fill green -opaque '#e5912b' "/tmp/g1.png" ;; 50) convert "$MY_PATH/g1.png" -fuzz 20% -fill orange -opaque '#e5912b' "/tmp/g1.png" ;; 100) convert "$MY_PATH/g1.png" -fuzz 20% -fill blue -opaque '#e5912b' "/tmp/g1.png" ;; 200) convert "$MY_PATH/g1.png" -fuzz 20% -fill purple -opaque '#e5912b' "/tmp/g1.png" ;; 500) convert "$MY_PATH/g1.png" -fuzz 20% -fill red -opaque '#e5912b' "/tmp/g1.png" ;; 1000) convert "$MY_PATH/g1.png" -fuzz 20% -fill black -opaque '#e5912b' "/tmp/g1.png" ;; *) cp "$MY_PATH/g1.png" "/tmp/g1.png" ;; 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 mkdir -p "/home/$YOU/.zen/g1billets/MEMBERS/$MEMBER/" mv "/tmp/BILL.$year.$valid.$NUMERO.$MONTANT.$UNIT.jpg" "/home/$YOU/.zen/g1billets/MEMBERS/$MEMBER/" # Clean TEMP files rm "/tmp/$NUMERO_NOTERIB.png" rm "/tmp/$NUMERO.jpg" fi log "END sms_BILLET_MAKE.sh" log "~~~~~~~~~~~~~~~~~~~~~~~~~~~~"