$ERRORS = array(); $color_id = stripinput($_POST['color']['id']); $color = new PetSpecieColor($db); $color = $color->findOneByPetSpecieColorId($color_id); if ($color == null) { $ERRORS[] = 'Invalid color specified.'; } if (sizeof($ERRORS) > 0) { draw_errors($ERRORS); } else { $mapping = new PetSpecie_PetSpecieColor($db); $mapping = $mapping->findOneBy(array('pet_specie_id' => $specie->getPetSpecieId(), 'pet_specie_color_id' => $color->getPetSpecieColorId())); if ($mapping == null) { $mapping = new PetSpecie_PetSpecieColor($db); $mapping->setPetSpecieId($specie->getPetSpecieId()); $mapping->setPetSpecieColorId($color->getPetSpecieColorId()); $mapping->save(); $_SESSION['petadmin_notice'] = "{$color->getColorName()} enabled."; } else { $mapping->destroy(); $_SESSION['petadmin_notice'] = "{$color->getColorName()} disabled."; } redirect(null, null, "admin-pet-specie-colors/?specie[id]={$specie->getPetSpecieId()}"); } // end no errors break; // end toggle } // end switch } // end no errors