diff --git a/app/Http/Livewire/Tables/BookCaseTable.php b/app/Http/Livewire/Tables/BookCaseTable.php
index de8d8b94..e9aa8534 100644
--- a/app/Http/Livewire/Tables/BookCaseTable.php
+++ b/app/Http/Livewire/Tables/BookCaseTable.php
@@ -45,11 +45,36 @@ class BookCaseTable extends DataTableComponent
fn(
$row,
Column $column
- ) => $row->homepage ? 'Link' : null
+ ) => $row->homepage ? 'Link' : null
)
->html(),
BooleanColumn::make('Oranged-Pilled', 'deactivated')
->sortable(),
];
}
+
+ private function url_to_absolute($url)
+ {
+ // Determine request protocol
+ $request_protocol = $request_protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http');
+ // If dealing with a Protocol Relative URL
+ if (stripos($url, '//') === 0) {
+ return $url;
+ }
+ // If dealing with a Root-Relative URL
+ if (stripos($url, '/') === 0) {
+ return $request_protocol.'://'.$_SERVER['HTTP_HOST'].$url;
+ }
+ // If dealing with an Absolute URL, just return it as-is
+ if (stripos($url, 'http') === 0) {
+ return $url;
+ }
+ // If dealing with a relative URL,
+ // and attempt to handle double dot notation ".."
+ do {
+ $url = preg_replace('/[^\/]+\/\.\.\//', '', $url, 1, $count);
+ } while ($count);
+ // Return the absolute version of a Relative URL
+ return $request_protocol.'://'.$_SERVER['HTTP_HOST'].'/'.$url;
+ }
}