diff --git a/lib/dml/mssql_native_moodle_database.php b/lib/dml/mssql_native_moodle_database.php index 8114a7f3d3c..ca3621cd055 100644 --- a/lib/dml/mssql_native_moodle_database.php +++ b/lib/dml/mssql_native_moodle_database.php @@ -831,16 +831,15 @@ class mssql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function insert_record($table, $dataobject, $returnid=true, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } - - unset($dataobject->id); + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); foreach ($dataobject as $field => $value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { continue; } @@ -861,9 +860,7 @@ class mssql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function import_record($table, $dataobject) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); @@ -912,9 +909,8 @@ class mssql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record_raw($table, $params, $bulk=false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; + if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); } @@ -960,9 +956,7 @@ class mssql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record($table, $dataobject, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); diff --git a/lib/dml/mysqli_native_moodle_database.php b/lib/dml/mysqli_native_moodle_database.php index 4a4090ae9ff..6e6dcfa0a8d 100644 --- a/lib/dml/mysqli_native_moodle_database.php +++ b/lib/dml/mysqli_native_moodle_database.php @@ -741,16 +741,15 @@ class mysqli_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function insert_record($table, $dataobject, $returnid=true, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); - - unset($dataobject->id); $cleaned = array(); foreach ($dataobject as $field=>$value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { continue; } @@ -771,7 +770,7 @@ class mysqli_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function import_record($table, $dataobject) { - $dataobject = (object)$dataobject; + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); @@ -795,9 +794,8 @@ class mysqli_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record_raw($table, $params, $bulk=false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; + if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); } @@ -842,9 +840,7 @@ class mysqli_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record($table, $dataobject, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); diff --git a/lib/dml/oci_native_moodle_database.php b/lib/dml/oci_native_moodle_database.php index 4b77ad02e4e..b16c338d327 100644 --- a/lib/dml/oci_native_moodle_database.php +++ b/lib/dml/oci_native_moodle_database.php @@ -1156,16 +1156,15 @@ class oci_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function insert_record($table, $dataobject, $returnid=true, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } - - unset($dataobject->id); + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); foreach ($dataobject as $field=>$value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { // Non-existing table field, skip it continue; } @@ -1186,9 +1185,7 @@ class oci_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function import_record($table, $dataobject) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); @@ -1213,9 +1210,8 @@ class oci_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record_raw($table, $params, $bulk=false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; + if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); } @@ -1261,9 +1257,7 @@ class oci_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record($table, $dataobject, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); diff --git a/lib/dml/pdo_moodle_database.php b/lib/dml/pdo_moodle_database.php index aedd6e78eb3..cb86ce88ad1 100644 --- a/lib/dml/pdo_moodle_database.php +++ b/lib/dml/pdo_moodle_database.php @@ -383,16 +383,15 @@ abstract class pdo_moodle_database extends moodle_database { * @return true or new id */ public function insert_record($table, $dataobject, $returnid=true, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); - - unset($dataobject->id); $cleaned = array(); foreach ($dataobject as $field=>$value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { continue; } @@ -429,9 +428,8 @@ abstract class pdo_moodle_database extends moodle_database { * @return bool success */ public function update_record_raw($table, $params, $bulk=false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; + if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); } @@ -467,9 +465,7 @@ abstract class pdo_moodle_database extends moodle_database { * @return bool success */ public function update_record($table, $dataobject, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; if (!isset($dataobject->id) ) { return false; diff --git a/lib/dml/pgsql_native_moodle_database.php b/lib/dml/pgsql_native_moodle_database.php index 3e7ef7af742..591fb57e2e4 100644 --- a/lib/dml/pgsql_native_moodle_database.php +++ b/lib/dml/pgsql_native_moodle_database.php @@ -795,17 +795,16 @@ class pgsql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function insert_record($table, $dataobject, $returnid=true, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); - - unset($dataobject->id); $cleaned = array(); $blobs = array(); foreach ($dataobject as $field=>$value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { continue; } @@ -850,7 +849,7 @@ class pgsql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function import_record($table, $dataobject) { - $dataobject = (object)$dataobject; + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); @@ -874,9 +873,8 @@ class pgsql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record_raw($table, $params, $bulk=false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; + if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); } @@ -921,9 +919,7 @@ class pgsql_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record($table, $dataobject, $bulk=false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array(); diff --git a/lib/dml/sqlsrv_native_moodle_database.php b/lib/dml/sqlsrv_native_moodle_database.php index 4c17ec9108e..bf86dc4a332 100644 --- a/lib/dml/sqlsrv_native_moodle_database.php +++ b/lib/dml/sqlsrv_native_moodle_database.php @@ -986,16 +986,15 @@ class sqlsrv_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function insert_record($table, $dataobject, $returnid = true, $bulk = false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } - - unset($dataobject->id); + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array (); foreach ($dataobject as $field => $value) { + if ($field === 'id') { + continue; + } if (!isset($columns[$field])) { continue; } @@ -1054,9 +1053,7 @@ class sqlsrv_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record_raw($table, $params, $bulk = false) { - if (!is_array($params)) { - $params = (array)$params; - } + $params = (array)$params; if (!isset($params['id'])) { throw new coding_exception('moodle_database::update_record_raw() id field must be specified.'); @@ -1098,9 +1095,7 @@ class sqlsrv_native_moodle_database extends moodle_database { * @throws dml_exception if error */ public function update_record($table, $dataobject, $bulk = false) { - if (!is_object($dataobject)) { - $dataobject = (object)$dataobject; - } + $dataobject = (array)$dataobject; $columns = $this->get_columns($table); $cleaned = array ();