} pb_backupbuddy::save(); //pb_backupbuddy::alert( 'Edited schedule `' . htmlentities( $submitted_schedule['data']['title'] ) . '`.' ); $editedSchedule = $submitted_schedule['data']; backupbuddy_core::addNotification('schedule_updated', 'Backup schedule updated', 'An existing schedule "' . $editedSchedule['title'] . '" has been updated.', $editedSchedule); } } elseif (count($submitted_schedule['errors']) > 0) { foreach ($submitted_schedule['errors'] as $error) { pb_backupbuddy::alert($error); } } $data['schedule_form'] = $schedule_form; /***** END ADDING (or editing) SCHEDULE AND PROCESSING FORM *****/ // Validate that all internal schedules are properly registered in the WordPress cron. require_once pb_backupbuddy::plugin_path() . '/classes/housekeeping.php'; backupbuddy_housekeeping::validate_bb_schedules_in_wp(); $schedules = array(); foreach (pb_backupbuddy::$options['schedules'] as $schedule_id => $schedule) { $profile = pb_backupbuddy::$options['profiles'][(int) $schedule['profile']]; $title = esc_html($schedule['title']); if ($profile['type'] == 'full') { $type = 'Full'; } elseif ($profile['type'] == 'files') { $type = 'Files only'; } elseif ($profile['type'] == 'db') { $type = 'Database only'; } else { $type = 'Unknown (' . $schedule['type'] . ')'; } $type = $profile['title'] . ' (' . $type . ')'; $interval = $schedule['interval'];