summaryrefslogtreecommitdiffstats
path: root/createDefaultMapper/mapper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'createDefaultMapper/mapper.sh')
-rw-r--r--createDefaultMapper/mapper.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/createDefaultMapper/mapper.sh b/createDefaultMapper/mapper.sh
new file mode 100644
index 0000000..6d98bc3
--- /dev/null
+++ b/createDefaultMapper/mapper.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+id=$(grep -c "getID" $1)
+if [ $id -eq 0 ]; then
+echo "$1 enthält keinen Primärschlüssel"
+exit
+fi
+
+modelname=$(basename $1 .php)
+modelmapper=${modelname}Mapper
+modelmapperfile=$(dirname $1)/${modelmapper}.php
+modelvar=$(echo "$modelname" | tr -s '[A-Z]' '[a-z]')
+getID="get${modelname}ID"
+setID="set${modelname}ID"
+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}