コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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;
 }