/** * Overwrite conflicts for this table * * @param string $field * @param mixed $oldval * @param mixed $newval * @return boolean */ protected function disc_is_conflict($field, $oldval, $newval) { $isconfl = parent::disc_is_conflict($field, $oldval, $newval); // overwrite if ($isconfl && in_array($field, self::$DISC_CASE_INSENSITIVE_FLDS)) { $this->{$field} = $newval; return false; } // return normal value return $isconfl; }
/** * Overwrite conflicts on some fact types * * @param string $field * @param mixed $oldval * @param mixed $newval * @return boolean */ protected function disc_is_conflict($field, $oldval, $newval) { $isconfl = parent::disc_is_conflict($field, $oldval, $newval); // overwrite some fact conflicts if ($isconfl && in_array($this->_disc_fact_ident, self::$_DISC_OVERWRITE_FACTS)) { $this->{$field} = $newval; return false; } // birth year sanity check if ($isconfl && $this->_disc_fact_ident == 'birth_year') { $curr_sane = Fact::birth_year_is_sane($this->{$field}); $tank_sane = Fact::birth_year_is_sane($newval); if ($curr_sane && !$tank_sane) { return false; } if (!$curr_sane && $tank_sane) { $this->{$field} = $newval; return false; } } // return normal value return $isconfl; }