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); } }