Index: branches/5.2.x/core/kernel/db/dbitem.php =================================================================== diff -u -N -r14998 -r15049 --- branches/5.2.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 14998) +++ branches/5.2.x/core/kernel/db/dbitem.php (.../dbitem.php) (revision 15049) @@ -1,6 +1,6 @@ Fields)); // used in formatter which work with multiple fields together @@ -314,18 +319,23 @@ } /** - * Sets object fields from $hash arrat + * Sets object fields from $hash array * @param Array $hash + * @param Array|null $skip_fields * @param Array|null $set_fields * @return void * @access public */ - public function SetDBFieldsFromHash($hash, $set_fields = Array ()) + public function SetDBFieldsFromHash($hash, $skip_fields = Array (), $set_fields = Array ()) { if ( !$set_fields ) { $set_fields = array_keys($hash); } + if ( $skip_fields ) { + $set_fields = array_diff($set_fields, $skip_fields); + } + $set_fields = array_intersect($set_fields, array_keys($this->Fields)); foreach ($set_fields as $field_name) {