use BookStack\Actions\ActivityType;
use BookStack\Entities\Tools\TrashCan;
use BookStack\Notifications\TestEmail;
+use BookStack\References\ReferenceStore;
use BookStack\Uploads\ImageService;
use Illuminate\Http\Request;
$recycleStats = (new TrashCan())->getTrashedCounts();
return view('settings.maintenance', [
- 'version' => $version,
+ 'version' => $version,
'recycleStats' => $recycleStats,
]);
}
$deleteCount = count($imagesToDelete);
if ($deleteCount === 0) {
$this->showWarningNotification(trans('settings.maint_image_cleanup_nothing_found'));
+
return redirect('/settings/maintenance')->withInput();
}
$this->logActivity(ActivityType::MAINTENANCE_ACTION_RUN, 'send-test-email');
try {
- user()->notify(new TestEmail());
+ user()->notifyNow(new TestEmail());
$this->showSuccessNotification(trans('settings.maint_send_test_email_success', ['address' => user()->email]));
} catch (\Exception $exception) {
$errorMessage = trans('errors.maintenance_test_email_failure') . "\n" . $exception->getMessage();
$this->showErrorNotification($errorMessage);
}
- return redirect('/settings/maintenance#image-cleanup')->withInput();
+ return redirect('/settings/maintenance#image-cleanup');
+ }
+
+ /**
+ * Action to regenerate the reference index in the system.
+ */
+ public function regenerateReferences(ReferenceStore $referenceStore)
+ {
+ $this->checkPermission('settings-manage');
+ $this->logActivity(ActivityType::MAINTENANCE_ACTION_RUN, 'regenerate-references');
+
+ try {
+ $referenceStore->updateForAllPages();
+ $this->showSuccessNotification(trans('settings.maint_regen_references_success'));
+ } catch (\Exception $exception) {
+ $this->showErrorNotification($exception->getMessage());
+ }
+
+ return redirect('/settings/maintenance#regenerate-references');
}
}