From ed01d248ec02d2598766b23f33c4d5690ddb055c Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Fri, 6 Mar 2020 15:28:32 +0900 Subject: [PATCH] Minor updates for database base declare scripts --- 4dev/database/ORDER | 3 +- 4dev/database/bin/create_default_trigger.sh | 12 +++--- 4dev/database/bin/drop_data.sh | 38 +++++++------------ .../trigger/trg_set_edit_access_uid.sql | 4 ++ www/layout/admin/javascript/edit.jq.js | 2 +- www/lib/CoreLibs/Output/Form/Generate.php | 6 +-- 6 files changed, 27 insertions(+), 38 deletions(-) create mode 100644 4dev/database/trigger/trg_set_edit_access_uid.sql diff --git a/4dev/database/ORDER b/4dev/database/ORDER index 40564691..837d0746 100644 --- a/4dev/database/ORDER +++ b/4dev/database/ORDER @@ -4,7 +4,7 @@ function/set_generic.sql function/random_string.sql function/set_edit_generic.sql function/edit_set_access_uid.sql -function/edit_log_partition_trigger.sql +function/edit_log_partition_insert.sql # generic tables table/edit_temp_files.sql table/edit_generic.sql @@ -30,7 +30,6 @@ trigger/trg_edit_access_right.sql trigger/trg_edit_access.sql trigger/trg_edit_access_data.sql trigger/trg_edit_access_user.sql -trigger/trg_edit_generic.sql trigger/trg_edit_group.sql trigger/trg_edit_language.sql trigger/trg_edit_log.sql diff --git a/4dev/database/bin/create_default_trigger.sh b/4dev/database/bin/create_default_trigger.sh index e029f057..b3dc4a9e 100755 --- a/4dev/database/bin/create_default_trigger.sh +++ b/4dev/database/bin/create_default_trigger.sh @@ -15,22 +15,20 @@ function_name="set_generic"; #sql_path_prep=`echo $sql_path | sed -e "s/\///g"`; # goes for each file and strips headers and endings, and creates trigger name -for name in $sql_path*; -do +for name in $sql_path*; do echo "Wokring on $name"; # strip ending # t_name=`echo $name | sed -e 's/.sql$//g' | sed -e "s/^$sql_path_prep//g" | sed -e 's/\///g'`; t_name=`echo $name | sed -e 's/^.*\///g' | sed -e 's/.sql$//g'`; # clean all beginnings - for prefix in $file_prefix; - do + for prefix in $file_prefix; do prefix=$prefix"_"; t_name=`echo $t_name | sed -e "s/\$prefix//g"`; done; -# those tables don't need a trigger -# edit_generic -# generic + # those tables don't need a trigger + # edit_generic + # generic # copy the trigger template to the target trg_filename=$trigger_path$trigger_prefix"_"$t_name".sql"; diff --git a/4dev/database/bin/drop_data.sh b/4dev/database/bin/drop_data.sh index 3e2f6e1a..00ccbabe 100755 --- a/4dev/database/bin/drop_data.sh +++ b/4dev/database/bin/drop_data.sh @@ -14,17 +14,14 @@ file_prefix="trg"; trigger_prefix="trg"; index_prefix="idx"; -for file in `cat ORDER`; -do - if [ -f $file ]; - then +for file in `cat ORDER`; do + if [ -f $file ]; then # write them into a var, so we can re order them in the other way new_order=$file" "$new_order; fi; done; -for file in $new_order; -do +for file in $new_order; do sqltype=`echo $file | egrep "table/"`; trgtype=`echo $file | egrep "trigger/"`; idxtype=`echo $file | egrep "index/"`; @@ -32,43 +29,34 @@ do datatype=`echo $file | egrep "data/"`; # remove all around to get table name t_file=`echo $file | sed -e 's/^.*\///g' | sed -e 's/.sql$//g'`; - for prefix in $file_prefix; - do + for prefix in $file_prefix; do prefix=$prefix"_"; t_file=`echo $t_file | sed -e "s/\$prefix//g"`; done; # copy the trigger template to the target - for path in $schemas; - do - if [ $sqltype ]; - then + for path in $schemas; do + if [ $sqltype ]; then echo "SQL "$path"."$t_file; echo "DROP TABLE "$path"."$t_file" CASCADE;" | psql -U $user -h $host $db fi; - if [ $trgtype ]; - then + if [ $trgtype ]; then trigger=$trigger_prefix"_"$t_file; echo "TRG $trigger TBL "$path".$t_file"; echo "DROP TRIGGER "$path".$trigger ON "$t_file" CASCADE;" | psql -U $user -h $host $db fi; - if [ $fcttype ]; - then + if [ $fcttype ]; then echo "FCT "$path"."$t_file; echo "DROP FUNCTION "$path"."$t_file"();" | psql -U $user -h $host $db fi; - if [ $idxtype ]; - then + if [ $idxtype ]; then index=$index_prefix"_"$t_file; - # echo "IDX "$t_file; - # echo "DROP INDEX $index ON $t_file;" | psql -U $user -h $host $db + # echo "IDX "$t_file; + # echo "DROP INDEX $index ON $t_file;" | psql -U $user -h $host $db fi; - if [ $datatype ]; - then + if [ $datatype ]; then echo "DATA "$t_file; - # echo "DROP FUNCTION "$t_file"();" | psql -U $user -h $host $db + # echo "DROP FUNCTION "$t_file"();" | psql -U $user -h $host $db fi; - - # psql -U cms_user -h 192.168.12.14 -f $file CMSv2 done; done; diff --git a/4dev/database/trigger/trg_set_edit_access_uid.sql b/4dev/database/trigger/trg_set_edit_access_uid.sql new file mode 100644 index 00000000..b602a293 --- /dev/null +++ b/4dev/database/trigger/trg_set_edit_access_uid.sql @@ -0,0 +1,4 @@ +-- DROP TRIGGER trg_set_edit_access_uid ON edit_access; +CREATE TRIGGER trg_set_edit_access_uid +BEFORE INSERT OR UPDATE ON edit_access +FOR EACH ROW EXECUTE PROCEDURE set_edit_access_uid(); diff --git a/www/layout/admin/javascript/edit.jq.js b/www/layout/admin/javascript/edit.jq.js index b243d06b..713ce455 100644 --- a/www/layout/admin/javascript/edit.jq.js +++ b/www/layout/admin/javascript/edit.jq.js @@ -496,7 +496,7 @@ function hideOverlayBox() */ function ClearCall() { - $('#actionBox').innerHTML = ''; + $('#actionBox').html(''); $('#actionBox').hide(); $('#overlayBox').hide(); } diff --git a/www/lib/CoreLibs/Output/Form/Generate.php b/www/lib/CoreLibs/Output/Form/Generate.php index 1b47187c..e4101754 100644 --- a/www/lib/CoreLibs/Output/Form/Generate.php +++ b/www/lib/CoreLibs/Output/Form/Generate.php @@ -1234,9 +1234,9 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO } elseif ($data_array['type'] == 'radio_group' && !isset($_POST[$prfx.$el_name])) { // radio group and set where one not active // $this->debug('edit_error_chk', 'RADIO GROUP'); - $row_okay[$_POST[$prfx.$el_name][$i]] = 0; - $default_wrong[$_POST[$prfx.$el_name][$i]] = 1; - $error[$_POST[$prfx.$el_name][$i]] = 1; + $row_okay[$_POST[$prfx.$el_name][$i] ?? 0] = 0; + $default_wrong[$_POST[$prfx.$el_name][$i] ?? 0] = 1; + $error[$_POST[$prfx.$el_name][$i] ?? 0] = 1; } elseif (isset($_POST[$prfx.$el_name][$i]) && !isset($error[$i])) { // $this->debug('edit_error_chk', '[$i]'); $element_set[$i] = 1;