require_once "rollbackRecordsFuncs.php";
$ids = @$_REQUEST["ids"];
$date = @$_REQUEST["date"];
$rollback = @$_REQUEST["rollback"];
if (!$ids && !$date) {
    showForm();
    return;
}
if ($rollback) {
    $n = rollRecordsBack(split(",", $ids), $date);
    $s = $n != 1 ? "s" : "";
    $state = $date ? "state as of {$date}" : "previous version";
    print "<p>{$n} record{$s} rolled back to {$state}</p>";
    print '<p><a href="' . HEURIST_BASE_URL . 'search/search.html?q=ids:' . $ids . '">View updated records</a></p>';
} else {
    $rollbacks = getRecordRollbacks(split(",", $ids), $date);
    showRollbacks($rollbacks);
    showConfirm($ids, $date);
}
function showForm()
{
    ?>
 <form method="get">
  <div id="form">
   <p>
    Rollback records to an earlier version.  Specify record IDs, or date, or both.
    If no date is given, records will be rolled back to their immediate previous version.
    If no record IDs are given, ALL records changed since the given date will be rolled
    back to their state as at the given date.
   </p>
   <div>Record IDs (comma-separated):</div>
function rollRecordsBack($rec_ids, $before_date = null)
{
    $n = 0;
    $rollbacks = getRecordRollbacks($rec_ids, $before_date);
    foreach ($rollbacks as $rec_id => $changes) {
        if (rollRecordBack($rec_id, $changes)) {
            $n++;
        }
    }
    return $n;
}