mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-29 17:53:16 +00:00
Merge pull request #1232 from pixelfed/frontend-ui-refactor
Frontend ui refactor
This commit is contained in:
commit
76e343f9e2
26 changed files with 379 additions and 337 deletions
|
@ -42,7 +42,6 @@ API_BASE="/api/1/"
|
|||
API_SEARCH="/api/search"
|
||||
|
||||
OPEN_REGISTRATION=true
|
||||
RECAPTCHA_ENABLED=false
|
||||
ENFORCE_EMAIL_VERIFICATION=true
|
||||
|
||||
MAX_PHOTO_SIZE=15000
|
||||
|
|
|
@ -41,7 +41,6 @@ API_BASE="/api/1/"
|
|||
API_SEARCH="/api/search"
|
||||
|
||||
OPEN_REGISTRATION=false
|
||||
RECAPTCHA_ENABLED=false
|
||||
ENFORCE_EMAIL_VERIFICATION=true
|
||||
|
||||
MAX_PHOTO_SIZE=15000
|
||||
|
|
|
@ -32,6 +32,7 @@ use App\Jobs\VideoPipeline\{
|
|||
VideoPostProcess,
|
||||
VideoThumbnail
|
||||
};
|
||||
use App\Services\NotificationService;
|
||||
|
||||
class BaseApiController extends Controller
|
||||
{
|
||||
|
@ -47,13 +48,28 @@ class BaseApiController extends Controller
|
|||
public function notifications(Request $request)
|
||||
{
|
||||
$pid = Auth::user()->profile->id;
|
||||
$timeago = Carbon::now()->subMonths(6);
|
||||
$notifications = Notification::whereProfileId($pid)
|
||||
->whereDate('created_at', '>', $timeago)
|
||||
->latest()
|
||||
->simplePaginate(10);
|
||||
$resource = new Fractal\Resource\Collection($notifications, new NotificationTransformer());
|
||||
$res = $this->fractal->createData($resource)->toArray();
|
||||
if(config('exp.ns') == false) {
|
||||
$timeago = Carbon::now()->subMonths(6);
|
||||
$notifications = Notification::whereProfileId($pid)
|
||||
->whereDate('created_at', '>', $timeago)
|
||||
->latest()
|
||||
->simplePaginate(10);
|
||||
$resource = new Fractal\Resource\Collection($notifications, new NotificationTransformer());
|
||||
$res = $this->fractal->createData($resource)->toArray();
|
||||
} else {
|
||||
$this->validate($request, [
|
||||
'page' => 'nullable|integer|min:1',
|
||||
'limit' => 'nullable|integer|min:1|max:10'
|
||||
]);
|
||||
$limit = $request->input('limit') ?? 10;
|
||||
$page = $request->input('page') ?? 1;
|
||||
if($page > 3) {
|
||||
return response()->json([]);
|
||||
}
|
||||
$end = (int) $page * $limit;
|
||||
$start = (int) $end - $limit;
|
||||
$res = NotificationService::get($pid, $start, $end);
|
||||
}
|
||||
|
||||
return response()->json($res);
|
||||
}
|
||||
|
|
|
@ -53,10 +53,6 @@ class LoginController extends Controller
|
|||
'password' => 'required|string|min:6',
|
||||
];
|
||||
|
||||
if (config('pixelfed.recaptcha')) {
|
||||
$rules['g-recaptcha-response'] = 'required|recaptcha';
|
||||
}
|
||||
|
||||
$this->validate($request, $rules);
|
||||
}
|
||||
|
||||
|
|
|
@ -76,10 +76,6 @@ class RegisterController extends Controller
|
|||
'password' => 'required|string|min:6|confirmed',
|
||||
];
|
||||
|
||||
if (config('pixelfed.recaptcha')) {
|
||||
$rules['g-recaptcha-response'] = 'required|recaptcha';
|
||||
}
|
||||
|
||||
return Validator::make($data, $rules);
|
||||
}
|
||||
|
||||
|
|
|
@ -118,7 +118,6 @@ class FederationController extends Controller
|
|||
'homepage' => 'https://pixelfed.org',
|
||||
'repo' => 'https://github.com/pixelfed/pixelfed',
|
||||
],
|
||||
'captcha' => (bool) config('pixelfed.recaptcha'),
|
||||
],
|
||||
'protocols' => [
|
||||
'activitypub',
|
||||
|
|
64
app/Observers/NotificationObserver.php
Normal file
64
app/Observers/NotificationObserver.php
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
namespace App\Observers;
|
||||
|
||||
use App\Notification;
|
||||
use App\Services\NotificationService;
|
||||
|
||||
class NotificationObserver
|
||||
{
|
||||
/**
|
||||
* Handle the notification "created" event.
|
||||
*
|
||||
* @param \App\Notification $notification
|
||||
* @return void
|
||||
*/
|
||||
public function created(Notification $notification)
|
||||
{
|
||||
NotificationService::set($notification->profile_id, $notification->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the notification "updated" event.
|
||||
*
|
||||
* @param \App\Notification $notification
|
||||
* @return void
|
||||
*/
|
||||
public function updated(Notification $notification)
|
||||
{
|
||||
NotificationService::set($notification->profile_id, $notification->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the notification "deleted" event.
|
||||
*
|
||||
* @param \App\Notification $notification
|
||||
* @return void
|
||||
*/
|
||||
public function deleted(Notification $notification)
|
||||
{
|
||||
NotificationService::del($notification->profile_id, $notification->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the notification "restored" event.
|
||||
*
|
||||
* @param \App\Notification $notification
|
||||
* @return void
|
||||
*/
|
||||
public function restored(Notification $notification)
|
||||
{
|
||||
NotificationService::set($notification->profile_id, $notification->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the notification "force deleted" event.
|
||||
*
|
||||
* @param \App\Notification $notification
|
||||
* @return void
|
||||
*/
|
||||
public function forceDeleted(Notification $notification)
|
||||
{
|
||||
NotificationService::del($notification->profile_id, $notification->id);
|
||||
}
|
||||
}
|
|
@ -4,9 +4,14 @@ namespace App\Providers;
|
|||
|
||||
use App\Observers\{
|
||||
AvatarObserver,
|
||||
NotificationObserver,
|
||||
UserObserver
|
||||
};
|
||||
use App\{Avatar,User};
|
||||
use App\{
|
||||
Avatar,
|
||||
Notification,
|
||||
User
|
||||
};
|
||||
use Auth, Horizon, URL;
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
@ -25,6 +30,7 @@ class AppServiceProvider extends ServiceProvider
|
|||
Schema::defaultStringLength(191);
|
||||
|
||||
Avatar::observe(AvatarObserver::class);
|
||||
Notification::observe(NotificationObserver::class);
|
||||
User::observe(UserObserver::class);
|
||||
|
||||
Horizon::auth(function ($request) {
|
||||
|
|
98
app/Services/NotificationService.php
Normal file
98
app/Services/NotificationService.php
Normal file
|
@ -0,0 +1,98 @@
|
|||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use Cache, Redis;
|
||||
use App\{
|
||||
Notification,
|
||||
Profile
|
||||
};
|
||||
use App\Transformer\Api\NotificationTransformer;
|
||||
use League\Fractal;
|
||||
use League\Fractal\Serializer\ArraySerializer;
|
||||
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
|
||||
|
||||
class NotificationService {
|
||||
|
||||
const CACHE_KEY = 'pf:services:notifications:ids:';
|
||||
|
||||
public static function get($id, $start = 0, $stop = 300)
|
||||
{
|
||||
$res = collect([]);
|
||||
$key = self::CACHE_KEY . $id;
|
||||
$stop = $stop > 300 ? 300 : $stop;
|
||||
$ids = Redis::zrangebyscore($key, $start, $stop);
|
||||
if(empty($ids)) {
|
||||
$ids = self::coldGet($id, $start, $stop);
|
||||
}
|
||||
foreach($ids as $id) {
|
||||
$res->push(self::getNotification($id));
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
public static function coldGet($id, $start = 0, $stop = 300)
|
||||
{
|
||||
$stop = $stop > 300 ? 300 : $stop;
|
||||
$ids = Notification::whereProfileId($id)
|
||||
->latest()
|
||||
->skip($start)
|
||||
->take($stop)
|
||||
->pluck('id');
|
||||
foreach($ids as $key) {
|
||||
self::set($id, $key);
|
||||
}
|
||||
return $ids;
|
||||
}
|
||||
|
||||
public static function set($id, $val)
|
||||
{
|
||||
return Redis::zadd(self::CACHE_KEY . $id, $val, $val);
|
||||
}
|
||||
|
||||
public static function del($id, $val)
|
||||
{
|
||||
return Redis::zrem(self::CACHE_KEY . $id, $val);
|
||||
}
|
||||
|
||||
public static function add($id, $val)
|
||||
{
|
||||
return self::set($id, $val);
|
||||
}
|
||||
|
||||
public static function rem($id, $val)
|
||||
{
|
||||
return self::del($id, $val);
|
||||
}
|
||||
|
||||
public static function count($id)
|
||||
{
|
||||
return Redis::zcount(self::CACHE_KEY . $id, '-inf', '+inf');
|
||||
}
|
||||
|
||||
public static function getNotification($id)
|
||||
{
|
||||
return Cache::remember('service:notification:'.$id, now()->addDays(7), function() use($id) {
|
||||
$n = Notification::findOrFail($id);
|
||||
$fractal = new Fractal\Manager();
|
||||
$fractal->setSerializer(new ArraySerializer());
|
||||
$resource = new Fractal\Resource\Item($n, new NotificationTransformer());
|
||||
return $fractal->createData($resource)->toArray();
|
||||
});
|
||||
}
|
||||
|
||||
public static function warmCache($id, $stop = 100, $force = false)
|
||||
{
|
||||
if(self::count($id) == 0 || $force == true) {
|
||||
$ids = Notification::whereProfileId($id)
|
||||
->latest()
|
||||
->limit($stop)
|
||||
->pluck('id');
|
||||
foreach($ids as $key) {
|
||||
self::set($id, $key);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -17,7 +17,7 @@ class NotificationTransformer extends Fractal\TransformerAbstract
|
|||
return [
|
||||
'id' => (string) $notification->id,
|
||||
'type' => $this->replaceTypeVerb($notification->action),
|
||||
'created_at' => (string) $notification->created_at,
|
||||
'created_at' => (string) $notification->created_at->format('c'),
|
||||
'account' => null,
|
||||
'status' => null
|
||||
];
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
"beyondcode/laravel-self-diagnosis": "^1.0.2",
|
||||
"doctrine/dbal": "^2.7",
|
||||
"fideloper/proxy": "^4.0",
|
||||
"greggilbert/recaptcha": "dev-master",
|
||||
"intervention/image": "^2.4",
|
||||
"jenssegers/agent": "^2.6",
|
||||
"laravel/framework": "5.8.*",
|
||||
|
|
334
composer.lock
generated
334
composer.lock
generated
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "702a3ed0b8499d50323723eb4fb41965",
|
||||
"content-hash": "f11a1ada5d055b3fb00a5f3aeab6e49a",
|
||||
"packages": [
|
||||
{
|
||||
"name": "alchemy/binary-driver",
|
||||
|
@ -71,16 +71,16 @@
|
|||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.91.4",
|
||||
"version": "3.93.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "41b67dce3c86da61137b47054d9d52c6ef57b5ec"
|
||||
"reference": "021c540f24391e883e15c801d03cbebee1206df1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/41b67dce3c86da61137b47054d9d52c6ef57b5ec",
|
||||
"reference": "41b67dce3c86da61137b47054d9d52c6ef57b5ec",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/021c540f24391e883e15c801d03cbebee1206df1",
|
||||
"reference": "021c540f24391e883e15c801d03cbebee1206df1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -104,7 +104,8 @@
|
|||
"ext-sockets": "*",
|
||||
"nette/neon": "^2.3",
|
||||
"phpunit/phpunit": "^4.8.35|^5.4.3",
|
||||
"psr/cache": "^1.0"
|
||||
"psr/cache": "^1.0",
|
||||
"psr/simple-cache": "^1.0"
|
||||
},
|
||||
"suggest": {
|
||||
"aws/aws-php-sns-message-validator": "To validate incoming SNS notifications",
|
||||
|
@ -149,7 +150,7 @@
|
|||
"s3",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2019-04-05T18:10:20+00:00"
|
||||
"time": "2019-04-30T18:24:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "beyondcode/laravel-self-diagnosis",
|
||||
|
@ -215,16 +216,16 @@
|
|||
},
|
||||
{
|
||||
"name": "cakephp/chronos",
|
||||
"version": "1.2.4",
|
||||
"version": "1.2.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cakephp/chronos.git",
|
||||
"reference": "ebda7326d4a65e53bc5bb915ebbbeee98f1926b0"
|
||||
"reference": "8a2b005a2db173e1b5493002afb8e1e13c71a62a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/cakephp/chronos/zipball/ebda7326d4a65e53bc5bb915ebbbeee98f1926b0",
|
||||
"reference": "ebda7326d4a65e53bc5bb915ebbbeee98f1926b0",
|
||||
"url": "https://api.github.com/repos/cakephp/chronos/zipball/8a2b005a2db173e1b5493002afb8e1e13c71a62a",
|
||||
"reference": "8a2b005a2db173e1b5493002afb8e1e13c71a62a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -268,7 +269,7 @@
|
|||
"datetime",
|
||||
"time"
|
||||
],
|
||||
"time": "2019-02-11T02:08:31+00:00"
|
||||
"time": "2019-04-23T19:00:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
|
@ -1165,58 +1166,6 @@
|
|||
"description": "A PHP class to ping hosts.",
|
||||
"time": "2017-02-02T15:38:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "greggilbert/recaptcha",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/greggilbert/recaptcha.git",
|
||||
"reference": "c2ed383785a4fe20467ce470c97c303e5c5b85de"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/greggilbert/recaptcha/zipball/c2ed383785a4fe20467ce470c97c303e5c5b85de",
|
||||
"reference": "c2ed383785a4fe20467ce470c97c303e5c5b85de",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/support": "~5.1",
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/migrations"
|
||||
],
|
||||
"psr-4": {
|
||||
"Greggilbert\\Recaptcha\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Greg Gilbert",
|
||||
"email": "greg@greg-gilbert.com"
|
||||
}
|
||||
],
|
||||
"description": "reCAPTCHA Validator for Laravel 5",
|
||||
"homepage": "http://github.com/greggilbert/recaptcha",
|
||||
"keywords": [
|
||||
"captcha",
|
||||
"laravel",
|
||||
"laravel5",
|
||||
"recaptcha"
|
||||
],
|
||||
"time": "2017-08-31T03:39:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "6.3.3",
|
||||
|
@ -1560,16 +1509,16 @@
|
|||
},
|
||||
{
|
||||
"name": "jaybizzle/crawler-detect",
|
||||
"version": "v1.2.80",
|
||||
"version": "v1.2.81",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
|
||||
"reference": "af6a36e6d69670df3f0a3ed8e21d4b8cc67a7847"
|
||||
"reference": "ffb1880f8e9610569d3bc70dc90bf07db311471d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/af6a36e6d69670df3f0a3ed8e21d4b8cc67a7847",
|
||||
"reference": "af6a36e6d69670df3f0a3ed8e21d4b8cc67a7847",
|
||||
"url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/ffb1880f8e9610569d3bc70dc90bf07db311471d",
|
||||
"reference": "ffb1880f8e9610569d3bc70dc90bf07db311471d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1605,7 +1554,7 @@
|
|||
"crawlerdetect",
|
||||
"php crawler detect"
|
||||
],
|
||||
"time": "2019-04-05T19:52:02+00:00"
|
||||
"time": "2019-04-23T20:02:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jenssegers/agent",
|
||||
|
@ -1678,16 +1627,16 @@
|
|||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v5.8.10",
|
||||
"version": "v5.8.15",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "505325b4577968750e622d7a5a271cf8785a7a1a"
|
||||
"reference": "8a34004aed6ff0aa4072360e3e5bd875edebc223"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/505325b4577968750e622d7a5a271cf8785a7a1a",
|
||||
"reference": "505325b4577968750e622d7a5a271cf8785a7a1a",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/8a34004aed6ff0aa4072360e3e5bd875edebc223",
|
||||
"reference": "8a34004aed6ff0aa4072360e3e5bd875edebc223",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1821,20 +1770,20 @@
|
|||
"framework",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2019-04-04T13:39:49+00:00"
|
||||
"time": "2019-04-30T14:05:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/horizon",
|
||||
"version": "v3.1.1",
|
||||
"version": "v3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/horizon.git",
|
||||
"reference": "62ba971c2b180fe54dd3e0cde418c7181a481460"
|
||||
"reference": "32313d787a7a7575c1866e8ed12ec944c1513b7f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/62ba971c2b180fe54dd3e0cde418c7181a481460",
|
||||
"reference": "62ba971c2b180fe54dd3e0cde418c7181a481460",
|
||||
"url": "https://api.github.com/repos/laravel/horizon/zipball/32313d787a7a7575c1866e8ed12ec944c1513b7f",
|
||||
"reference": "32313d787a7a7575c1866e8ed12ec944c1513b7f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -1890,7 +1839,7 @@
|
|||
"laravel",
|
||||
"queue"
|
||||
],
|
||||
"time": "2019-04-02T16:09:07+00:00"
|
||||
"time": "2019-04-30T15:20:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/passport",
|
||||
|
@ -2624,16 +2573,16 @@
|
|||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.16.3",
|
||||
"version": "2.17.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "373d9f0d58651af366435148c39beb702c2b7ef4"
|
||||
"reference": "96acbc0c03782e8115156dd4dd8b736267155066"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/373d9f0d58651af366435148c39beb702c2b7ef4",
|
||||
"reference": "373d9f0d58651af366435148c39beb702c2b7ef4",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/96acbc0c03782e8115156dd4dd8b736267155066",
|
||||
"reference": "96acbc0c03782e8115156dd4dd8b736267155066",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -2643,9 +2592,9 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
|
||||
"kylekatarnls/multi-tester": "^0.1",
|
||||
"kylekatarnls/multi-tester": "^1.1",
|
||||
"phpmd/phpmd": "^2.6",
|
||||
"phpstan/phpstan": "^0.10.8",
|
||||
"phpstan/phpstan": "^0.11",
|
||||
"phpunit/phpunit": "^7.5 || ^8.0",
|
||||
"squizlabs/php_codesniffer": "^3.4"
|
||||
},
|
||||
|
@ -2680,7 +2629,7 @@
|
|||
"datetime",
|
||||
"time"
|
||||
],
|
||||
"time": "2019-04-06T17:09:23+00:00"
|
||||
"time": "2019-04-27T18:04:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "neutron/temporary-filesystem",
|
||||
|
@ -3701,16 +3650,16 @@
|
|||
},
|
||||
{
|
||||
"name": "psr/http-factory",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-factory.git",
|
||||
"reference": "378bfe27931ecc54ff824a20d6f6bfc303bbd04c"
|
||||
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/378bfe27931ecc54ff824a20d6f6bfc303bbd04c",
|
||||
"reference": "378bfe27931ecc54ff824a20d6f6bfc303bbd04c",
|
||||
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
|
||||
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -3749,7 +3698,7 @@
|
|||
"request",
|
||||
"response"
|
||||
],
|
||||
"time": "2018-07-30T21:54:04+00:00"
|
||||
"time": "2019-04-30T12:38:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
|
@ -4094,16 +4043,16 @@
|
|||
},
|
||||
{
|
||||
"name": "spatie/db-dumper",
|
||||
"version": "2.13.2",
|
||||
"version": "2.14.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/db-dumper.git",
|
||||
"reference": "c0eb0e16d73af665e23bf5b92d1ab2079ab8df91"
|
||||
"reference": "eec21c55012b02fb8453c9929fa1c3150ca184ac"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/db-dumper/zipball/c0eb0e16d73af665e23bf5b92d1ab2079ab8df91",
|
||||
"reference": "c0eb0e16d73af665e23bf5b92d1ab2079ab8df91",
|
||||
"url": "https://api.github.com/repos/spatie/db-dumper/zipball/eec21c55012b02fb8453c9929fa1c3150ca184ac",
|
||||
"reference": "eec21c55012b02fb8453c9929fa1c3150ca184ac",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4140,7 +4089,7 @@
|
|||
"mysqldump",
|
||||
"spatie"
|
||||
],
|
||||
"time": "2019-03-03T10:52:00+00:00"
|
||||
"time": "2019-04-17T07:03:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/image-optimizer",
|
||||
|
@ -4194,16 +4143,16 @@
|
|||
},
|
||||
{
|
||||
"name": "spatie/laravel-backup",
|
||||
"version": "6.1.2",
|
||||
"version": "6.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-backup.git",
|
||||
"reference": "3b223bf8355d97c4bb9c0afbd7b4c4f7952fc529"
|
||||
"reference": "d706e64c2500fda276d421551c140693156c0195"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-backup/zipball/3b223bf8355d97c4bb9c0afbd7b4c4f7952fc529",
|
||||
"reference": "3b223bf8355d97c4bb9c0afbd7b4c4f7952fc529",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-backup/zipball/d706e64c2500fda276d421551c140693156c0195",
|
||||
"reference": "d706e64c2500fda276d421551c140693156c0195",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4264,7 +4213,7 @@
|
|||
"laravel-backup",
|
||||
"spatie"
|
||||
],
|
||||
"time": "2019-04-05T13:08:54+00:00"
|
||||
"time": "2019-04-25T11:01:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-image-optimizer",
|
||||
|
@ -4433,16 +4382,16 @@
|
|||
},
|
||||
{
|
||||
"name": "swiftmailer/swiftmailer",
|
||||
"version": "v6.2.0",
|
||||
"version": "v6.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
||||
"reference": "6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707"
|
||||
"reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707",
|
||||
"reference": "6fa3232ff9d3f8237c0fae4b7ff05e1baa4cd707",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a",
|
||||
"reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4491,20 +4440,20 @@
|
|||
"mail",
|
||||
"mailer"
|
||||
],
|
||||
"time": "2019-03-10T07:52:41+00:00"
|
||||
"time": "2019-04-21T09:21:45+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "24206aff3efe6962593297e57ef697ebb220e384"
|
||||
"reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/24206aff3efe6962593297e57ef697ebb220e384",
|
||||
"reference": "24206aff3efe6962593297e57ef697ebb220e384",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/e2840bb38bddad7a0feaf85931e38fdcffdb2f81",
|
||||
"reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4563,7 +4512,7 @@
|
|||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-04-01T07:32:59+00:00"
|
||||
"time": "2019-04-08T14:23:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/contracts",
|
||||
|
@ -4635,7 +4584,7 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/css-selector.git",
|
||||
|
@ -4688,16 +4637,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/debug.git",
|
||||
"reference": "43ce8ab34c734dcc8a4af576cb86711daab964c5"
|
||||
"reference": "2d279b6bb1d582dd5740d4d3251ae8c18812ed37"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/43ce8ab34c734dcc8a4af576cb86711daab964c5",
|
||||
"reference": "43ce8ab34c734dcc8a4af576cb86711daab964c5",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/2d279b6bb1d582dd5740d4d3251ae8c18812ed37",
|
||||
"reference": "2d279b6bb1d582dd5740d4d3251ae8c18812ed37",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4740,20 +4689,20 @@
|
|||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-03-10T17:09:50+00:00"
|
||||
"time": "2019-04-11T11:27:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "ca5af306fbc37f3cf597e91bc9cfa0c7d3f33544"
|
||||
"reference": "fbce53cd74ac509cbe74b6f227622650ab759b02"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ca5af306fbc37f3cf597e91bc9cfa0c7d3f33544",
|
||||
"reference": "ca5af306fbc37f3cf597e91bc9cfa0c7d3f33544",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fbce53cd74ac509cbe74b6f227622650ab759b02",
|
||||
"reference": "fbce53cd74ac509cbe74b6f227622650ab759b02",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4804,11 +4753,11 @@
|
|||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-03-30T15:58:42+00:00"
|
||||
"time": "2019-04-06T13:51:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
|
@ -4858,16 +4807,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a"
|
||||
"reference": "e45135658bd6c14b61850bf131c4f09a55133f69"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/267b7002c1b70ea80db0833c3afe05f0fbde580a",
|
||||
"reference": "267b7002c1b70ea80db0833c3afe05f0fbde580a",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/e45135658bd6c14b61850bf131c4f09a55133f69",
|
||||
"reference": "e45135658bd6c14b61850bf131c4f09a55133f69",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4903,20 +4852,20 @@
|
|||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-02-23T15:42:05+00:00"
|
||||
"time": "2019-04-06T13:51:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1"
|
||||
"reference": "6ebbe61f48069033225c9d3fa7eb5ed116d766d6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1",
|
||||
"reference": "5b7ab6beaa5b053b8d3c9b13367ada9b292e12e1",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/6ebbe61f48069033225c9d3fa7eb5ed116d766d6",
|
||||
"reference": "6ebbe61f48069033225c9d3fa7eb5ed116d766d6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -4957,20 +4906,20 @@
|
|||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-03-30T15:58:42+00:00"
|
||||
"time": "2019-04-17T14:56:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "e8b940bbeebf0f96789b5d17d9d77f8b2613960b"
|
||||
"reference": "3db83303dbc1da9777e5ff63423b8b7fde423a1b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/e8b940bbeebf0f96789b5d17d9d77f8b2613960b",
|
||||
"reference": "e8b940bbeebf0f96789b5d17d9d77f8b2613960b",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/3db83303dbc1da9777e5ff63423b8b7fde423a1b",
|
||||
"reference": "3db83303dbc1da9777e5ff63423b8b7fde423a1b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5046,7 +4995,7 @@
|
|||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-04-02T19:03:51+00:00"
|
||||
"time": "2019-04-17T16:17:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
|
@ -5451,16 +5400,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "1e6cbb41dadcaf29e0db034d6ad0d039a9df06e6"
|
||||
"reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/1e6cbb41dadcaf29e0db034d6ad0d039a9df06e6",
|
||||
"reference": "1e6cbb41dadcaf29e0db034d6ad0d039a9df06e6",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/8cf39fb4ccff793340c258ee7760fd40bfe745fe",
|
||||
"reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5496,7 +5445,7 @@
|
|||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-03-10T20:07:02+00:00"
|
||||
"time": "2019-04-10T16:20:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/psr-http-message-bridge",
|
||||
|
@ -5565,16 +5514,16 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "319f600c1ea0f981f6bdc2f042cfc1690957c0e0"
|
||||
"reference": "0e5719d216017b1a0342fa48e86467cedca1c954"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/319f600c1ea0f981f6bdc2f042cfc1690957c0e0",
|
||||
"reference": "319f600c1ea0f981f6bdc2f042cfc1690957c0e0",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/0e5719d216017b1a0342fa48e86467cedca1c954",
|
||||
"reference": "0e5719d216017b1a0342fa48e86467cedca1c954",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5637,20 +5586,20 @@
|
|||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2019-03-30T15:58:42+00:00"
|
||||
"time": "2019-04-14T18:04:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "e46933cc31b68f51f7fc5470fb55550407520f56"
|
||||
"reference": "46c0dede1f925383d13dc783857be2c41efd0b24"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/e46933cc31b68f51f7fc5470fb55550407520f56",
|
||||
"reference": "e46933cc31b68f51f7fc5470fb55550407520f56",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/46c0dede1f925383d13dc783857be2c41efd0b24",
|
||||
"reference": "46c0dede1f925383d13dc783857be2c41efd0b24",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5672,7 +5621,9 @@
|
|||
"symfony/console": "~3.4|~4.0",
|
||||
"symfony/dependency-injection": "~3.4|~4.0",
|
||||
"symfony/finder": "~2.8|~3.0|~4.0",
|
||||
"symfony/http-kernel": "~3.4|~4.0",
|
||||
"symfony/intl": "~3.4|~4.0",
|
||||
"symfony/var-dumper": "~3.4|~4.0",
|
||||
"symfony/yaml": "~3.4|~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
|
@ -5710,20 +5661,20 @@
|
|||
],
|
||||
"description": "Symfony Translation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-04-01T14:13:08+00:00"
|
||||
"time": "2019-04-10T16:20:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.2.5",
|
||||
"version": "v4.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "9f87189ac10b42edf7fb8edc846f1937c6d157cf"
|
||||
"reference": "e760a38e12b15032325e64be63f7ffc1817af617"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/9f87189ac10b42edf7fb8edc846f1937c6d157cf",
|
||||
"reference": "9f87189ac10b42edf7fb8edc846f1937c6d157cf",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/e760a38e12b15032325e64be63f7ffc1817af617",
|
||||
"reference": "e760a38e12b15032325e64be63f7ffc1817af617",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5786,20 +5737,20 @@
|
|||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2019-02-23T15:17:42+00:00"
|
||||
"time": "2019-04-17T14:57:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tightenco/collect",
|
||||
"version": "v5.8.10",
|
||||
"version": "v5.8.15",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tightenco/collect.git",
|
||||
"reference": "1e4120c90b3536a9ebd080d50ecaae7b75719054"
|
||||
"reference": "d1d78dbdd8884c35a79f9750743177297e7f31a9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tightenco/collect/zipball/1e4120c90b3536a9ebd080d50ecaae7b75719054",
|
||||
"reference": "1e4120c90b3536a9ebd080d50ecaae7b75719054",
|
||||
"url": "https://api.github.com/repos/tightenco/collect/zipball/d1d78dbdd8884c35a79f9750743177297e7f31a9",
|
||||
"reference": "d1d78dbdd8884c35a79f9750743177297e7f31a9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -5836,7 +5787,7 @@
|
|||
"collection",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2019-04-02T20:31:59+00:00"
|
||||
"time": "2019-04-18T18:52:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
|
@ -5939,16 +5890,16 @@
|
|||
},
|
||||
{
|
||||
"name": "zendframework/zend-diactoros",
|
||||
"version": "2.1.1",
|
||||
"version": "2.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/zendframework/zend-diactoros.git",
|
||||
"reference": "c3c330192bc9cc51b7e9ce968ff721dc32ffa986"
|
||||
"reference": "37bf68b428850ee26ed7c3be6c26236dd95a95f1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/c3c330192bc9cc51b7e9ce968ff721dc32ffa986",
|
||||
"reference": "c3c330192bc9cc51b7e9ce968ff721dc32ffa986",
|
||||
"url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/37bf68b428850ee26ed7c3be6c26236dd95a95f1",
|
||||
"reference": "37bf68b428850ee26ed7c3be6c26236dd95a95f1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6001,7 +5952,7 @@
|
|||
"psr",
|
||||
"psr-7"
|
||||
],
|
||||
"time": "2019-01-05T20:13:32+00:00"
|
||||
"time": "2019-04-29T21:11:00+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
|
@ -6287,16 +6238,16 @@
|
|||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
"version": "1.8.1",
|
||||
"version": "1.9.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||
"reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
|
||||
"reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
|
||||
"reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72",
|
||||
"reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6331,7 +6282,7 @@
|
|||
"object",
|
||||
"object graph"
|
||||
],
|
||||
"time": "2018-06-11T23:09:50+00:00"
|
||||
"time": "2019-04-07T13:18:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nunomaduro/collision",
|
||||
|
@ -6555,16 +6506,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "4.3.0",
|
||||
"version": "4.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "94fd0001232e47129dd3504189fa1c7225010d08"
|
||||
"reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
|
||||
"reference": "94fd0001232e47129dd3504189fa1c7225010d08",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
|
||||
"reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -6602,7 +6553,7 @@
|
|||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"time": "2017-11-30T07:14:17+00:00"
|
||||
"time": "2019-04-30T17:48:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
|
@ -6968,16 +6919,16 @@
|
|||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "7.5.8",
|
||||
"version": "7.5.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "c29c0525cf4572c11efe1db49a8b8aee9dfac58a"
|
||||
"reference": "134669cf0eeac3f79bc7f0c793efbc158bffc160"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c29c0525cf4572c11efe1db49a8b8aee9dfac58a",
|
||||
"reference": "c29c0525cf4572c11efe1db49a8b8aee9dfac58a",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/134669cf0eeac3f79bc7f0c793efbc158bffc160",
|
||||
"reference": "134669cf0eeac3f79bc7f0c793efbc158bffc160",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -7048,7 +6999,7 @@
|
|||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2019-03-26T13:23:54+00:00"
|
||||
"time": "2019-04-19T15:50:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
|
@ -7217,16 +7168,16 @@
|
|||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
"version": "4.1.0",
|
||||
"version": "4.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/environment.git",
|
||||
"reference": "6fda8ce1974b62b14935adc02a9ed38252eca656"
|
||||
"reference": "3095910f0f0fb155ac4021fc51a4a7a39ac04e8a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6fda8ce1974b62b14935adc02a9ed38252eca656",
|
||||
"reference": "6fda8ce1974b62b14935adc02a9ed38252eca656",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/3095910f0f0fb155ac4021fc51a4a7a39ac04e8a",
|
||||
"reference": "3095910f0f0fb155ac4021fc51a4a7a39ac04e8a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
@ -7241,7 +7192,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.1-dev"
|
||||
"dev-master": "4.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
@ -7266,7 +7217,7 @@
|
|||
"environment",
|
||||
"hhvm"
|
||||
],
|
||||
"time": "2019-02-01T05:27:49+00:00"
|
||||
"time": "2019-04-25T07:55:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
|
@ -7710,9 +7661,7 @@
|
|||
],
|
||||
"aliases": [],
|
||||
"minimum-stability": "dev",
|
||||
"stability-flags": {
|
||||
"greggilbert/recaptcha": 20
|
||||
},
|
||||
"stability-flags": [],
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
|
@ -7720,6 +7669,7 @@
|
|||
"ext-bcmath": "*",
|
||||
"ext-ctype": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-intl": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*"
|
||||
|
|
|
@ -150,7 +150,6 @@ return [
|
|||
/*
|
||||
* Package Service Providers...
|
||||
*/
|
||||
Greggilbert\Recaptcha\RecaptchaServiceProvider::class,
|
||||
Jackiedo\DotenvEditor\DotenvEditorServiceProvider::class,
|
||||
|
||||
/*
|
||||
|
@ -211,7 +210,6 @@ return [
|
|||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
||||
'View' => Illuminate\Support\Facades\View::class,
|
||||
|
||||
'Recaptcha' => Greggilbert\Recaptcha\Facades\Recaptcha::class,
|
||||
'DotenvEditor' => Jackiedo\DotenvEditor\Facades\DotenvEditor::class,
|
||||
'PrettyNumber' => App\Util\Lexer\PrettyNumber::class,
|
||||
'Purify' => Stevebauman\Purify\Facades\Purify::class,
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
return [
|
||||
|
||||
'lc' => env('EXP_LC', false),
|
||||
'rec' => env('EXP_REC', false)
|
||||
'rec' => env('EXP_REC', false),
|
||||
'ns' => env('EXP_NS', false)
|
||||
|
||||
];
|
|
@ -74,15 +74,15 @@ return [
|
|||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Enable Google Recaptcha v2
|
||||
| ActivityPub
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Enable/disable recaptcha on login/registration forms. API Keys required.
|
||||
|
|
||||
*/
|
||||
'recaptcha' => env('RECAPTCHA_ENABLED', false),
|
||||
|
||||
|
||||
'ap_inbox' => env('ACTIVITYPUB_INBOX', false),
|
||||
'ap_shared' => env('ACTIVITYPUB_SHAREDINBOX', false),
|
||||
'ap_delivery_timeout' => env('ACTIVITYPUB_DELIVERY_TIMEOUT', 2.0),
|
||||
'ap_delivery_concurrency' => env('ACTIVITYPUB_DELIVERY_CONCURRENCY', 10),
|
||||
|
||||
'remote_follow_enabled' => env('REMOTE_FOLLOW', false),
|
||||
'activitypub_enabled' => env('ACTIVITY_PUB', false),
|
||||
|
||||
|
@ -262,11 +262,6 @@ return [
|
|||
|
||||
'enforce_account_limit' => env('LIMIT_ACCOUNT_SIZE', true),
|
||||
|
||||
'ap_inbox' => env('ACTIVITYPUB_INBOX', false),
|
||||
'ap_shared' => env('ACTIVITYPUB_SHAREDINBOX', false),
|
||||
'ap_delivery_timeout' => env('ACTIVITYPUB_DELIVERY_TIMEOUT', 2.0),
|
||||
'ap_delivery_concurrency' => env('ACTIVITYPUB_DELIVERY_CONCURRENCY', 10),
|
||||
|
||||
'import' => [
|
||||
'instagram' => [
|
||||
'enabled' => false,
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Keys
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set the public and private API keys as provided by reCAPTCHA.
|
||||
|
|
||||
| In version 2 of reCAPTCHA, public_key is the Site key,
|
||||
| and private_key is the Secret key.
|
||||
|
|
||||
*/
|
||||
'public_key' => env('RECAPTCHA_PUBLIC_KEY', ''),
|
||||
'private_key' => env('RECAPTCHA_PRIVATE_KEY', ''),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Template
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set a template to use if you don't want to use the standard one.
|
||||
|
|
||||
*/
|
||||
'template' => '',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Determine how to call out to get response; values are 'curl' or 'native'.
|
||||
| Only applies to v2.
|
||||
|
|
||||
*/
|
||||
'driver' => 'curl',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Various options for the driver
|
||||
|
|
||||
*/
|
||||
'options' => [
|
||||
|
||||
'curl_timeout' => 1,
|
||||
'curl_verify' => true,
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Version
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Set which version of ReCaptcha to use.
|
||||
|
|
||||
*/
|
||||
|
||||
'version' => 2,
|
||||
|
||||
];
|
BIN
public/js/timeline.js
vendored
BIN
public/js/timeline.js
vendored
Binary file not shown.
Binary file not shown.
|
@ -42,6 +42,7 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="small text-muted" data-toggle="tooltip" data-placement="bottom" :title="n.created_at">{{timeAgo(n.created_at)}}</div>
|
||||
</div>
|
||||
<div v-if="notifications.length">
|
||||
<infinite-loading @infinite="infiniteNotifications">
|
||||
|
@ -127,6 +128,38 @@
|
|||
}
|
||||
|
||||
return text.slice(0,15) + '...'
|
||||
},
|
||||
|
||||
timeAgo(ts) {
|
||||
let date = Date.parse(ts);
|
||||
let seconds = Math.floor((new Date() - date) / 1000);
|
||||
let interval = Math.floor(seconds / 31536000);
|
||||
if (interval >= 1) {
|
||||
return interval + "y";
|
||||
}
|
||||
interval = Math.floor(seconds / 604800);
|
||||
if (interval >= 1) {
|
||||
return interval + "w";
|
||||
}
|
||||
interval = Math.floor(seconds / 86400);
|
||||
if (interval >= 1) {
|
||||
return interval + "d";
|
||||
}
|
||||
interval = Math.floor(seconds / 3600);
|
||||
if (interval >= 1) {
|
||||
return interval + "h";
|
||||
}
|
||||
interval = Math.floor(seconds / 60);
|
||||
if (interval >= 1) {
|
||||
return interval + "m";
|
||||
}
|
||||
return Math.floor(seconds) + "s";
|
||||
},
|
||||
|
||||
mentionUrl(status) {
|
||||
let username = status.account.username;
|
||||
let id = status.id;
|
||||
return '/p/' + username + '/' + id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
<div v-if="modes.infinite == true && !loading && feed.length > 0">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<infinite-loading @infinite="infiniteTimeline" distance="800">
|
||||
<infinite-loading @infinite="infiniteTimeline" :distance="800">
|
||||
<div slot="no-more" class="font-weight-bold">No more posts to load</div>
|
||||
<div slot="no-results" class="font-weight-bold">No posts found</div>
|
||||
</infinite-loading>
|
||||
|
|
|
@ -24,18 +24,6 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="app_url" class="col-sm-3 col-form-label font-weight-bold text-right">Recaptcha</label>
|
||||
<div class="col-sm-9">
|
||||
<div class="form-check pb-2">
|
||||
<input class="form-check-input" type="checkbox" id="recaptcha" name="recaptcha" {{config('pixelfed.recaptcha') === true ? 'checked=""' : '' }}>
|
||||
<label class="form-check-label font-weight-bold" for="open_registration">
|
||||
{{config('pixelfed.recaptcha') == true ? 'Enabled' : 'Disabled' }}
|
||||
</label>
|
||||
<p class="text-muted small help-text font-weight-bold">When this option is enabled, new user registration is open.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label for="app_url" class="col-sm-3 col-form-label font-weight-bold text-right">ActivityPub</label>
|
||||
<div class="col-sm-9">
|
||||
|
@ -100,4 +88,4 @@
|
|||
<button type="submit" class="btn btn-primary font-weight-bold">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
|
|
|
@ -26,12 +26,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@if(config('pixelfed.recaptcha'))
|
||||
<div class="row my-3">
|
||||
{!! Recaptcha::render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-success btn-block font-weight-bold">
|
||||
|
|
|
@ -47,12 +47,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@if(config('pixelfed.recaptcha'))
|
||||
<div class="row my-3">
|
||||
{!! Recaptcha::render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-primary btn-block py-0 font-weight-bold">
|
||||
|
|
|
@ -74,12 +74,6 @@
|
|||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="{{ __('Confirm Password') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(config('pixelfed.recaptcha'))
|
||||
<div class="row my-3">
|
||||
{!! Recaptcha::render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-md-12">
|
||||
|
|
|
@ -26,12 +26,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@if(config('pixelfed.recaptcha'))
|
||||
<div class="row my-3">
|
||||
{!! Recaptcha::render() !!}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-success btn-block font-weight-bold">
|
||||
|
|
|
@ -140,11 +140,6 @@
|
|||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" placeholder="{{ __('Confirm Password') }}" required>
|
||||
</div>
|
||||
</div>
|
||||
@if(config('pixelfed.recaptcha'))
|
||||
<div class="row my-3">
|
||||
{!! Recaptcha::render() !!}
|
||||
</div>
|
||||
@endif
|
||||
<div class="form-group row">
|
||||
<div class="col-md-12">
|
||||
<button type="submit" class="btn btn-primary btn-block py-0 font-weight-bold">
|
||||
|
@ -189,4 +184,4 @@
|
|||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue