function bfox_bp_plans_update_plan_readings(BfoxReadingPlan $plan)
{
    bfox_bp_plans_must_own($plan);
    $update_readings = false;
    $old_readings = $plan->readings();
    if (isset($_POST['plan-readings'])) {
        $new_readings = BfoxReadingPlan::readings_from_lines(stripslashes($_POST['plan-readings']));
        $old_reading_string = implode('', BfoxReadingPlan::reading_strings($old_readings, BibleMeta::name_short));
        $new_reading_string = implode('', BfoxReadingPlan::reading_strings($new_readings, BibleMeta::name_short));
        if ($old_reading_string != $new_reading_string) {
            $update_readings = true;
        }
    } else {
        $new_readings = $old_readings;
    }
    if (isset($_POST['plan-chunks'])) {
        $chunk_readings = BfoxReadingPlan::readings_from_passages(stripslashes($_POST['plan-chunks']), $_POST['plan-chunk-size']);
        if (!empty($chunk_readings)) {
            $new_readings = array_merge($new_readings, $chunk_readings);
            $update_readings = true;
        }
    }
    if ($update_readings) {
        $plan->update_readings($new_readings);
    }
}