reading metadata in shared link

This commit is contained in:
Peter Papp
2020-08-25 11:03:53 +02:00
parent 9f4c21a1b1
commit 6f9f2f2d34
17 changed files with 4296 additions and 4582 deletions
+1811 -1257
View File
File diff suppressed because it is too large Load Diff
+1966 -3092
View File
File diff suppressed because it is too large Load Diff
@@ -3,12 +3,15 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Content; use App\Content;
use App\FileManagerFile;
use App\FileManagerFolder;
use App\Http\Requests\PublicPages\SendMessageRequest; use App\Http\Requests\PublicPages\SendMessageRequest;
use App\Http\Resources\PageResource; use App\Http\Resources\PageResource;
use App\Http\Tools\Demo; use App\Http\Tools\Demo;
use App\Mail\SendSupportForm; use App\Mail\SendSupportForm;
use App\Page; use App\Page;
use App\Setting; use App\Setting;
use App\User;
use Artisan; use Artisan;
use Doctrine\DBAL\Driver\PDOException; use Doctrine\DBAL\Driver\PDOException;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@@ -96,6 +99,64 @@ class AppFunctionsController extends Controller
->with('installation', $connection); ->with('installation', $connection);
} }
/**
* Get og site for web crawlers
*
* @param $token
*/
public function og_site($token)
{
// Get all settings
$settings = Setting::all();
// Get shared token
$shared = get_shared($token);
// Get user
$user = User::findOrFail($shared->user_id);
// Handle single file
if ($shared->type === 'file') {
// Get file record
$file = FileManagerFile::where('user_id', $shared->user_id)
->where('unique_id', $shared->item_id)
->first();
$metadata = [
'is_protected' => $shared->protected,
'url' => url('/shared', ['token' => $token]),
'user' => $user->name,
'name' => $file->name,
'size' => $file->filesize,
'thumbnail' => $file->thumbnail ? $file->thumbnail : null,
];
}
// Handle single file
if ($shared->type === 'folder') {
// Get file record
$folder = FileManagerFolder::where('user_id', $shared->user_id)
->where('unique_id', $shared->item_id)
->first();
$metadata = [
'is_protected' => $shared->protected,
'url' => url('/shared', ['token' => $token]),
'user' => $user->name,
'name' => $folder->name,
'size' => $folder->items,
'thumbnail' => null,
];
}
// Return view
return view("og-view")
->with('settings', $settings)
->with('metadata', $metadata);
}
/** /**
* Check if setup wizard was passed * Check if setup wizard was passed
* *
@@ -32,8 +32,7 @@ class FileSharingController extends Controller
public function index($token) public function index($token)
{ {
// Get shared token // Get shared token
$shared = Share::where(\DB::raw('BINARY `token`'), $token) $shared = get_shared($token);
->first();
if (! $shared) { if (! $shared) {
return view("index"); return view("index");
+19
View File
@@ -5,6 +5,25 @@ namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Kyslik\ColumnSortable\Sortable; use Kyslik\ColumnSortable\Sortable;
/**
* App\Page
*
* @property int $id
* @property int $visibility
* @property string $title
* @property string $slug
* @property string $content
* @method static \Illuminate\Database\Eloquent\Builder|Page newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Page newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Page query()
* @method static \Illuminate\Database\Eloquent\Builder|Page sortable($defaultParameters = null)
* @method static \Illuminate\Database\Eloquent\Builder|Page whereContent($value)
* @method static \Illuminate\Database\Eloquent\Builder|Page whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Page whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|Page whereTitle($value)
* @method static \Illuminate\Database\Eloquent\Builder|Page whereVisibility($value)
* @mixin \Eloquent
*/
class Page extends Model class Page extends Model
{ {
use Sortable; use Sortable;
+14
View File
@@ -4,6 +4,20 @@ namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
/**
* App\Setting
*
* @property int $id
* @property string $name
* @property string|null $value
* @method static \Illuminate\Database\Eloquent\Builder|Setting newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Setting newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Setting query()
* @method static \Illuminate\Database\Eloquent\Builder|Setting whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Setting whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Setting whereValue($value)
* @mixin \Eloquent
*/
class Setting extends Model class Setting extends Model
{ {
public $timestamps = false; public $timestamps = false;
+1
View File
@@ -73,6 +73,7 @@ use Rinvex\Subscriptions\Traits\HasSubscriptions;
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereRole($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\User whereRole($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereStripeId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\User whereStripeId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\User whereTrialEndsAt($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\User whereTrialEndsAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|User sortable($defaultParameters = null)
*/ */
class User extends Authenticatable class User extends Authenticatable
{ {
+28
View File
@@ -4,6 +4,34 @@ namespace App;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
/**
* App\UserSettings
*
* @property int $id
* @property int $user_id
* @property int $storage_capacity
* @property string|null $billing_name
* @property string|null $billing_address
* @property string|null $billing_state
* @property string|null $billing_city
* @property string|null $billing_postal_code
* @property string|null $billing_country
* @property string|null $billing_phone_number
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings query()
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingAddress($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingCity($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingCountry($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingName($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingPhoneNumber($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingPostalCode($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereBillingState($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereStorageCapacity($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSettings whereUserId($value)
* @mixin \Eloquent
*/
class UserSettings extends Model class UserSettings extends Model
{ {
public $timestamps = false; public $timestamps = false;
+1
View File
@@ -15,6 +15,7 @@
"fruitcake/laravel-cors": "^1.0", "fruitcake/laravel-cors": "^1.0",
"gabrielelana/byte-units": "^0.5.0", "gabrielelana/byte-units": "^0.5.0",
"intervention/image": "^2.5", "intervention/image": "^2.5",
"jaybizzle/laravel-crawler-detect": "^1.2",
"kyslik/column-sortable": "^6.3", "kyslik/column-sortable": "^6.3",
"laravel/cashier": "^12.0", "laravel/cashier": "^12.0",
"laravel/framework": "^7.0", "laravel/framework": "^7.0",
Generated
+114 -1
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "0d1b10acc2a996969b828cc7f51cdee6", "content-hash": "aadbe31a952d26aab5730369e2bf4089",
"packages": [ "packages": [
{ {
"name": "asm89/stack-cors", "name": "asm89/stack-cors",
@@ -1467,6 +1467,119 @@
], ],
"time": "2019-11-02T09:15:47+00:00" "time": "2019-11-02T09:15:47+00:00"
}, },
{
"name": "jaybizzle/crawler-detect",
"version": "v1.2.98",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
"reference": "02b24e5d4dc347737577f48c688ee14c3b5dfd4f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/02b24e5d4dc347737577f48c688ee14c3b5dfd4f",
"reference": "02b24e5d4dc347737577f48c688ee14c3b5dfd4f",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8|^5.5|^6.5",
"satooshi/php-coveralls": "1.*"
},
"type": "library",
"autoload": {
"psr-4": {
"Jaybizzle\\CrawlerDetect\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mark Beech",
"email": "m@rkbee.ch",
"role": "Developer"
}
],
"description": "CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent",
"homepage": "https://github.com/JayBizzle/Crawler-Detect/",
"keywords": [
"crawler",
"crawler detect",
"crawler detector",
"crawlerdetect",
"php crawler detect"
],
"time": "2020-08-20T18:36:15+00:00"
},
{
"name": "jaybizzle/laravel-crawler-detect",
"version": "v1.2.0",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Laravel-Crawler-Detect.git",
"reference": "e39b536fb5e4f21a49328e83a2ab26f0b64b06f7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JayBizzle/Laravel-Crawler-Detect/zipball/e39b536fb5e4f21a49328e83a2ab26f0b64b06f7",
"reference": "e39b536fb5e4f21a49328e83a2ab26f0b64b06f7",
"shasum": ""
},
"require": {
"jaybizzle/crawler-detect": "1.*",
"php": ">=5.4.0"
},
"require-dev": {
"orchestra/testbench": "3.1.*",
"phpunit/phpunit": "4.*"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Jaybizzle\\LaravelCrawlerDetect\\LaravelCrawlerDetectServiceProvider"
],
"aliases": {
"Crawler": "Jaybizzle\\LaravelCrawlerDetect\\Facades\\LaravelCrawlerDetect"
}
}
},
"autoload": {
"psr-4": {
"Jaybizzle\\LaravelCrawlerDetect\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Mark Beech",
"email": "mbeech@mark-beech.co.uk"
}
],
"description": "A Laravel package to detect web crawlers via the user agent",
"homepage": "http://github.com/JayBizzle/Laravel-Crawler-Detect",
"keywords": [
"bot",
"crawler",
"crawler detect",
"crawler detector",
"crawlerdetect",
"detect",
"laravel",
"php crawler detect",
"spider",
"user-agent"
],
"time": "2017-06-01T20:29:30+00:00"
},
{ {
"name": "kyslik/column-sortable", "name": "kyslik/column-sortable",
"version": "6.3.0", "version": "6.3.0",
+1
View File
@@ -231,6 +231,7 @@ return [
'View' => Illuminate\Support\Facades\View::class, 'View' => Illuminate\Support\Facades\View::class,
'Image' => Intervention\Image\Facades\Image::class, 'Image' => Intervention\Image\Facades\Image::class,
'Stripe' => Cartalyst\Stripe\Laravel\Facades\Stripe::class, 'Stripe' => Cartalyst\Stripe\Laravel\Facades\Stripe::class,
'Crawler' => Jaybizzle\LaravelCrawlerDetect\Facades\LaravelCrawlerDetect::class,
], ],
'deploy_secret' => env('APP_DEPLOY_SECRET'), 'deploy_secret' => env('APP_DEPLOY_SECRET'),
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

+24 -1
View File
@@ -1,25 +1,46 @@
{ {
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js",
"/js/main.js": "/js/main.js", "/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css", "/css/app.css": "/css/app.css",
"/js/main.12cf59750f6cfa2f7c9a.hot-update.js": "/js/main.12cf59750f6cfa2f7c9a.hot-update.js",
"/js/main.5763ac51fedad16ae10b.hot-update.js": "/js/main.5763ac51fedad16ae10b.hot-update.js",
"/js/main.575c1846985c2cb9abb7.hot-update.js": "/js/main.575c1846985c2cb9abb7.hot-update.js",
"/js/main.0122ca7064f9abfd6a91.hot-update.js": "/js/main.0122ca7064f9abfd6a91.hot-update.js",
"/js/main.bc521312bfe2daa15aab.hot-update.js": "/js/main.bc521312bfe2daa15aab.hot-update.js",
"/js/main.3f995b7fb3f3fc65b4b8.hot-update.js": "/js/main.3f995b7fb3f3fc65b4b8.hot-update.js",
"/js/main.da94e65c457965ad6295.hot-update.js": "/js/main.da94e65c457965ad6295.hot-update.js",
"/js/main.c14c38dd70a5c0de9953.hot-update.js": "/js/main.c14c38dd70a5c0de9953.hot-update.js",
"/js/main.b6227483c960ebe442d6.hot-update.js": "/js/main.b6227483c960ebe442d6.hot-update.js",
"/js/main.6ac5211eeba47b7e6828.hot-update.js": "/js/main.6ac5211eeba47b7e6828.hot-update.js",
"/js/main.970f8f7978f932df42f3.hot-update.js": "/js/main.970f8f7978f932df42f3.hot-update.js",
"/chunks/admin.js": "/chunks/admin.js", "/chunks/admin.js": "/chunks/admin.js",
"/chunks/admin-account.js": "/chunks/admin-account.js", "/chunks/admin-account.js": "/chunks/admin-account.js",
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js",
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/trash.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/trash.js",
"/chunks/app-appearance.js": "/chunks/app-appearance.js", "/chunks/app-appearance.js": "/chunks/app-appearance.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js",
"/chunks/app-billings.js": "/chunks/app-billings.js", "/chunks/app-billings.js": "/chunks/app-billings.js",
"/chunks/app-email.js": "/chunks/app-email.js", "/chunks/app-email.js": "/chunks/app-email.js",
"/chunks/app-index.js": "/chunks/app-index.js", "/chunks/app-index.js": "/chunks/app-index.js",
"/chunks/app-others.js": "/chunks/app-others.js", "/chunks/app-others.js": "/chunks/app-others.js",
"/chunks/app-payments.js": "/chunks/app-payments.js", "/chunks/app-payments.js": "/chunks/app-payments.js",
"/chunks/app-settings.js": "/chunks/app-settings.js", "/chunks/app-settings.js": "/chunks/app-settings.js",
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js",
"/chunks/app-setup.js": "/chunks/app-setup.js", "/chunks/app-setup.js": "/chunks/app-setup.js",
"/chunks/billings-detail.js": "/chunks/billings-detail.js", "/chunks/billings-detail.js": "/chunks/billings-detail.js",
"/chunks/contact-us.js": "/chunks/contact-us.js", "/chunks/contact-us.js": "/chunks/contact-us.js",
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js",
"/chunks/create-new-password.js": "/chunks/create-new-password.js", "/chunks/create-new-password.js": "/chunks/create-new-password.js",
"/chunks/dashboard.js": "/chunks/dashboard.js", "/chunks/dashboard.js": "/chunks/dashboard.js",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js",
"/chunks/database.js": "/chunks/database.js", "/chunks/database.js": "/chunks/database.js",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js", "/chunks/dynamic-page.js": "/chunks/dynamic-page.js",
"/chunks/environment-setup.js": "/chunks/environment-setup.js", "/chunks/environment-setup.js": "/chunks/environment-setup.js",
"/chunks/files.js": "/chunks/files.js", "/chunks/files.js": "/chunks/files.js",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/trash~chunks~3ea7670b.js",
"/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js": "/chunks/files~chunks/shared-files~chunks/shared-page~chunks/trash.js",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js", "/chunks/forgotten-password.js": "/chunks/forgotten-password.js",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js", "/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js",
"/chunks/invoices.js": "/chunks/invoices.js", "/chunks/invoices.js": "/chunks/invoices.js",
@@ -34,6 +55,7 @@
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js", "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js",
"/chunks/plans.js": "/chunks/plans.js", "/chunks/plans.js": "/chunks/plans.js",
"/chunks/profile.js": "/chunks/profile.js", "/chunks/profile.js": "/chunks/profile.js",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js",
"/chunks/purchase-code.js": "/chunks/purchase-code.js", "/chunks/purchase-code.js": "/chunks/purchase-code.js",
"/chunks/settings.js": "/chunks/settings.js", "/chunks/settings.js": "/chunks/settings.js",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js", "/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js",
@@ -53,6 +75,7 @@
"/chunks/trash.js": "/chunks/trash.js", "/chunks/trash.js": "/chunks/trash.js",
"/chunks/upgrade.js": "/chunks/upgrade.js", "/chunks/upgrade.js": "/chunks/upgrade.js",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js", "/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js",
"/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js", "/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js",
"/chunks/user.js": "/chunks/user.js", "/chunks/user.js": "/chunks/user.js",
"/chunks/user-create.js": "/chunks/user-create.js", "/chunks/user-create.js": "/chunks/user-create.js",
+6
View File
@@ -11,6 +11,12 @@
{{--StyleSheet--}} {{--StyleSheet--}}
<link href="{{ asset('css/app.css') }}?v={{ get_version() }}" rel="stylesheet"> <link href="{{ asset('css/app.css') }}?v={{ get_version() }}" rel="stylesheet">
{{--OG items--}}
<meta property="og:url" content="{{ url('/') }}">
<meta property="og:title" content="{{ isset($settings->app_title) && $settings->app_title ? $settings->app_title : 'VueFileManager' }} | {{ isset($settings->app_description) && $settings->app_description ? $settings->app_description : __('vuefilemanager.app_description') }}">
<meta property="og:description" content="{{ isset($settings->app_description) && $settings->app_description ? $settings->app_description : __('vuefilemanager.app_description') }}">
<meta property="og:image" content="{{ asset('assets/images/vuefilemanager-og-image.jpg') }}">
{{-- Apple Mobile Web App--}} {{-- Apple Mobile Web App--}}
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="white"> <meta name="apple-mobile-web-app-status-bar-style" content="white">
+35
View File
@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<link rel="icon" href="{{ isset($settings->app_favicon) && $settings->app_favicon ? $settings->app_favicon : asset('favicon.png') }}?v={{ get_version() }}">
<meta charset="utf-8">
<meta name="fragment" content="!">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ $metadata['user'] }} is sending you this file">
{{--OG Public items--}}
<meta property="og:url" content="{{ $metadata['url'] }}">
<meta property="og:description" content="{{ $metadata['user'] }} is sending you this file">
{{--Show protected og metadata--}}
@if($metadata['is_protected'])
<meta property="og:title" content="This file is protected by password">
<title>This file is protected by password</title>
@endif
{{--Show public og metadata--}}
@if(! $metadata['is_protected'])
@if($metadata['thumbnail'])
<meta property="og:image" content="{{ $metadata['thumbnail'] }}">
@endif
<meta property="og:title" content="{{ $metadata['name'] }} ({{ $metadata['size'] }}) | {{ isset($settings->app_title) && $settings->app_title ? $settings->app_title : 'VueFileManager' }}">
<title>{{ $metadata['name'] }} ({{ $metadata['size'] }}) | {{ isset($settings->app_title) && $settings->app_title ? $settings->app_title : 'VueFileManager' }}</title>
@endif
</head>
<body></body>
</html>
+5
View File
@@ -11,6 +11,11 @@
| |
*/ */
// Get og site for web crawlers
if( Crawler::isCrawler()) {
Route::get('/shared/{token}', 'AppFunctionsController@og_site');
}
// Stripe WebHook // Stripe WebHook
Route::post('/stripe/webhook', 'WebhookController@handleWebhook'); Route::post('/stripe/webhook', 'WebhookController@handleWebhook');