diff options
Diffstat (limited to 'scripts/createDefaultMapper/mapper.sh')
-rwxr-xr-x | scripts/createDefaultMapper/mapper.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/createDefaultMapper/mapper.sh b/scripts/createDefaultMapper/mapper.sh new file mode 100755 index 0000000..43b1dc8 --- /dev/null +++ b/scripts/createDefaultMapper/mapper.sh @@ -0,0 +1,37 @@ +#!/bin/sh +id=$(grep -c "getID" $1) + +modelname=$(basename $1 .php) +modelmapper=${modelname}Mapper +modelmapperfile=$(dirname $1)/${modelmapper}.php +modelvar=$(echo "$modelname" | tr -s '[A-Z]' '[a-z]') +setID="NULL" +getID="NULL" +if [ $id -eq 0 ]; then + echo "$1 enthält keinen Primärschlüssel" +else +getID="get$(echo "$modelvar" | sed -e "s/\([^\.]\+\)\./\u\1\./g" -e "s/^\(.\)/\u\1/")ID" +setID="set$(echo "$modelvar" | sed -e "s/\([^\.]\+\)\./\u\1\./g" -e "s/^\(.\)/\u\1/")ID" +fi +cp mappertemplate ${modelmapperfile} + +savedata=$(grep "protected" $1 | awk -v SQ="\'" -F '_|;' '{ + printf "," SQ $2 SQ "=> $MVAR->get"; + split($2,a,""); a[1]=toupper(a[1]); + for(i=1; i<=length($2); i++){printf a[i]}; + printf "() "}') + +find=$(grep "protected" $1 | awk -F '_|;' '{ + printf "->set"; split($2,a,""); + a[1]=toupper(a[1]); + for(i=1; i<=length($2); i++){printf a[i]}; + printf "($row->%s)", $2}') + +sed -i "s/SAVEDATA/${savedata}/g" ${modelmapperfile} +sed -i "s/FIND/${find}/g" ${modelmapperfile} +sed -i "s/${getID}/getID/g" ${modelmapperfile} +sed -i "s/${setID}/setID/g" ${modelmapperfile} +sed -i "s/array(,/array(/g" ${modelmapperfile} +sed -i "s/MODEL/${modelname}/g" ${modelmapperfile} +sed -i "s/MVAR/${modelvar}/g" ${modelmapperfile} +sed -i "s/MAPPER/${modelmapper}/g" ${modelmapperfile} |