@@ -722,6 +722,7 @@ public function saveToSQL($data = null, $searchForID = false) {
722
722
if (is_null ($ data )) {
723
723
$ data = $ this ->getData ();
724
724
}
725
+ $ keyColumn = $ this ->getKeyColumn ();
725
726
foreach ($ this ->useKeywords as $ keyWord => $ columnType ) {
726
727
if (!array_key_exists ($ keyWord , $ data )) {
727
728
continue ;
@@ -759,20 +760,20 @@ public function saveToSQL($data = null, $searchForID = false) {
759
760
}
760
761
$ dbId = null ;
761
762
if ($ this ->allowTemplating && $ this ->isTemplate () && isset ($ data ['name ' ])) {
762
- if (isset ( $ data [ $ this -> getKeyColumn ()]) && (int ) $ data [$ this -> getKeyColumn () ]) {
763
- $ dbId = $ this ->dblink -> queryToValue ( ' SELECT ` ' . $ this -> keyColumn . ' ` FROM ' . $ this -> myTable . ' WHERE ` name` ' . " = ' " . $ data ['name ' ] . " ' AND " . $ this -> keyColumn . ' != ' . $ data [$ this -> getKeyColumn ()] );
763
+ if (array_key_exists ( $ keyColumn , $ data ) && (int ) $ data [$ keyColumn ]) {
764
+ $ dbId = $ this ->listingQuery ()-> where ( ' name ' , $ data ['name ' ])-> where ( $ keyColumn . ' != ' . $ data [$ keyColumn ])-> fetchColumn ( );
764
765
} else {
765
- $ dbId = $ this ->dblink -> queryToValue ( ' SELECT ` ' . $ this -> keyColumn . ' ` FROM ' . $ this -> myTable . ' WHERE ` name` ' . " = ' " . $ data ['name ' ] . " ' " );
766
+ $ dbId = $ this ->listingQuery ()-> where ( ' name ' , $ data ['name ' ])-> fetchColumn ( );
766
767
}
767
768
} else {
768
769
if (isset ($ data [$ this ->nameColumn ])) {
769
- if (isset ( $ data [ $ this -> getKeyColumn ()]) && (int ) $ data [$ this -> getKeyColumn () ]) {
770
+ if (array_key_exists ( $ keyColumn , $ data ) && (int ) $ data [$ keyColumn ]) {
770
771
$ dbId = $ this ->listingQuery ()
771
772
->where ($ this ->nameColumn , $ data [$ this ->nameColumn ])
772
- ->where ($ this ->keyColumn . ' != ' . $ data [$ this -> getKeyColumn () ])->fetchColumn (0 );
773
+ ->where ($ this ->keyColumn . ' != ' . $ data [$ keyColumn ])->fetchColumn (0 );
773
774
} else {
774
- $ dbIdRaw = $ oUser ->listingQuery ()->where ($ oUser ->nameColumn , addslashes ($ data [$ this ->nameColumn ]))->fetch ();
775
- $ dbId = $ this ->dblink -> queryToValue ( ' SELECT ` ' . $ this ->keyColumn . ' ` FROM ' . $ this -> myTable . ' WHERE ' . $ this -> nameColumn . " = ' " . $ data [$ this ->nameColumn ] . " ' " );
775
+ $ dbIdRaw = User:: singleton () ->listingQuery ()->where (User:: singleton () ->nameColumn , addslashes ($ data [$ this ->nameColumn ]))->fetch ();
776
+ $ dbId = $ this ->listingQuery ()-> where ( $ this ->nameColumn , $ data [$ this ->nameColumn ])-> fetchColumn ( 0 );
776
777
}
777
778
}
778
779
}
@@ -797,6 +798,13 @@ public function saveToSQL($data = null, $searchForID = false) {
797
798
}
798
799
}
799
800
}
801
+
802
+ if (array_key_exists ('use ' , $ data ) && ($ this ->getPdo ()->getAttribute (\PDO ::ATTR_DRIVER_NAME ) == 'mysql ' )) {
803
+ $ use = $ data ['use ' ];
804
+ unset($ data ['use ' ]);
805
+ $ data ['`use` ' ] = $ use ;
806
+ }
807
+
800
808
$ result = parent ::saveToSQL ($ data , $ searchForID );
801
809
if (!is_null ($ result ) && (get_class ($ this ->user ) == 'Icinga\Editor\User ' )) {
802
810
Shared::user ()->setSettingValue ('unsaved ' , true );
0 commit comments