diff --git a/.env.example b/.env.example index bda4404..c9f7f91 100644 --- a/.env.example +++ b/.env.example @@ -1,11 +1,11 @@ -APP_NAME="Laravel Shaarli" +APP_NAME="Shaark" # "production" or "local" APP_ENV=local # generated with: php artisan key:generate APP_KEY= # set debug to false in production APP_DEBUG=true -APP_URL=http://dev.shaarli +APP_URL=http://dev.shaark APP_TIMEZONE=Europe/Paris # "en", "fr", "de" or "ja" APP_LANG=en @@ -41,7 +41,7 @@ MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=hello@example.com -MAIL_FROM_NAME="Laravel Shaarli" +MAIL_FROM_NAME="Shaark" # replace 'default-salt' with a random string HASHIDS_SALT=default-salt diff --git a/.env.testing b/.env.testing index a95019f..bd29ef9 100644 --- a/.env.testing +++ b/.env.testing @@ -1,4 +1,4 @@ -APP_NAME="Laravel Shaarli" +APP_NAME="Shaark" APP_ENV=testing APP_KEY=base64:2Fevru/sI4EXg7a8hNn2+eJx1GGvywDWAsbCA/kMyvA= APP_DEBUG=true diff --git a/app/Album.php b/app/Album.php index 4cdbe0a..f5fd24a 100644 --- a/app/Album.php +++ b/app/Album.php @@ -3,7 +3,7 @@ namespace App; use App\Concerns\Models\Postable; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Spatie\Image\Manipulations; @@ -55,7 +55,7 @@ class Album extends Model implements HasMedia return false; } - if (app('shaarli')->getPrivateDownload() === true + if (app('shaark')->getPrivateDownload() === true && auth()->check() === false) { return false; } @@ -72,19 +72,19 @@ class Album extends Model implements HasMedia public function registerMediaConversions(Media $media = null) { - /** @var Shaarli $shaarli */ - $shaarli = app('shaarli'); + /** @var Shaark $shaark */ + $shaark = app('shaark'); $conversion = $this->addMediaConversion('thumb'); - if ($shaarli->getImagesThumbFormat() === 'square') { + if ($shaark->getImagesThumbFormat() === 'square') { $conversion->fit(Manipulations::FIT_CROP, 300, 300); } - if ($shaarli->getImagesThumbFormat() === 'original') { + if ($shaark->getImagesThumbFormat() === 'original') { $conversion->fit(Manipulations::FIT_CONTAIN, 300, 300); } - if ($shaarli->getImagesThumbQueue() === false) { + if ($shaark->getImagesThumbQueue() === false) { $conversion->nonQueued(); } } diff --git a/app/Console/Commands/CleanFiles.php b/app/Console/Commands/CleanFiles.php index f9c7aa4..295156c 100644 --- a/app/Console/Commands/CleanFiles.php +++ b/app/Console/Commands/CleanFiles.php @@ -7,7 +7,7 @@ use Illuminate\Support\Facades\Storage; class CleanFiles extends Command { - protected $signature = 'shaarli:clean-files'; + protected $signature = 'shaark:clean-files'; protected $description = 'Remove temporary uploaded files'; public function __construct() diff --git a/app/Console/Commands/DecryptChests.php b/app/Console/Commands/DecryptChests.php index f9a6562..ff93b95 100644 --- a/app/Console/Commands/DecryptChests.php +++ b/app/Console/Commands/DecryptChests.php @@ -8,7 +8,7 @@ use Illuminate\Support\Facades\DB; class DecryptChests extends Command { - protected $signature = 'shaarli:chests:decrypt'; + protected $signature = 'shaark:chests:decrypt'; protected $description = 'This command will decrypt all encrypted chests'; public function __construct() diff --git a/app/Console/Commands/EncryptChests.php b/app/Console/Commands/EncryptChests.php index 0d51822..3e8bf09 100644 --- a/app/Console/Commands/EncryptChests.php +++ b/app/Console/Commands/EncryptChests.php @@ -8,7 +8,7 @@ use Illuminate\Support\Facades\DB; class EncryptChests extends Command { - protected $signature = 'shaarli:chests:encrypt'; + protected $signature = 'shaark:chests:encrypt'; protected $description = 'This command will encrypt all unencrypted chests'; public function __construct() diff --git a/app/Console/Commands/Install.php b/app/Console/Commands/Install.php index b4634c0..60daeab 100644 --- a/app/Console/Commands/Install.php +++ b/app/Console/Commands/Install.php @@ -6,8 +6,8 @@ use Illuminate\Console\Command; class Install extends Command { - protected $signature = 'shaarli:install'; - protected $description = 'Shaarli installer'; + protected $signature = 'shaark:install'; + protected $description = 'Shaark installer'; public function __construct() { diff --git a/app/Console/Commands/ResetForDemo.php b/app/Console/Commands/ResetForDemo.php index ecd8396..930d98b 100644 --- a/app/Console/Commands/ResetForDemo.php +++ b/app/Console/Commands/ResetForDemo.php @@ -6,7 +6,7 @@ use Illuminate\Console\Command; class ResetForDemo extends Command { - protected $signature = 'shaarli:reset'; + protected $signature = 'shaark:reset'; protected $description = 'Reset app for demo'; public function __construct() diff --git a/app/Console/Commands/Update.php b/app/Console/Commands/Update.php index 9d3a461..51ab56a 100644 --- a/app/Console/Commands/Update.php +++ b/app/Console/Commands/Update.php @@ -6,8 +6,8 @@ use Illuminate\Console\Command; class Update extends Command { - protected $signature = 'shaarli:update'; - protected $description = 'Shaarli updater'; + protected $signature = 'shaark:update'; + protected $description = 'Shaark updater'; public function __construct() { diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index d2b1b74..7c18a95 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -4,7 +4,7 @@ namespace App\Console; use App\Console\Commands\CleanFiles; use App\Console\Commands\ResetForDemo; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -20,7 +20,7 @@ class Kernel extends ConsoleKernel // Reset Demo $schedule->command(ResetForDemo::class) ->when(function () { - return config('shaarli.demo'); + return config('shaark.demo'); }) ->hourly(); @@ -34,20 +34,20 @@ class Kernel extends ConsoleKernel protected function scheduleBackup(Schedule $schedule): self { - $shaarli = app(Shaarli::class); + $shaark = app(Shaark::class); - if (false === $shaarli->getBackupEnabled()) { + if (false === $shaark->getBackupEnabled()) { return $this; } - $params = $shaarli->getBackupOnlyDatabase() ? ['--only-db'] : []; + $params = $shaark->getBackupOnlyDatabase() ? ['--only-db'] : []; - if ($shaarli->getBackupPeriod() === 'daily') { + if ($shaark->getBackupPeriod() === 'daily') { $schedule->command('backup:clean')->daily()->at('01:00'); $schedule->command('backup:run', $params)->daily()->at('02:00'); } - if ($shaarli->getBackupPeriod() === 'weekly') { + if ($shaark->getBackupPeriod() === 'weekly') { $schedule->command('backup:clean')->weekly()->at('01:00'); $schedule->command('backup:run', $params)->weekly()->at('02:00'); } diff --git a/app/Http/Controllers/Api/AlbumController.php b/app/Http/Controllers/Api/AlbumController.php index 5337355..aa2d911 100644 --- a/app/Http/Controllers/Api/AlbumController.php +++ b/app/Http/Controllers/Api/AlbumController.php @@ -8,7 +8,7 @@ use App\Http\Requests\StoreAlbumRequest; use App\Http\Requests\StoreAlbumUploadRequest; use App\Http\Resources\PostResource; use App\Post; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; use Spatie\Image\Image; @@ -93,12 +93,12 @@ class AlbumController extends Controller ]); } - public function upload(StoreAlbumUploadRequest $request, Shaarli $shaarli) + public function upload(StoreAlbumUploadRequest $request, Shaark $shaark) { $file = $request->file('filepond'); - if ($shaarli->getImagesOriginalResize() === true) { - $size = $shaarli->getImagesOriginalResizeWidth(); + if ($shaark->getImagesOriginalResize() === true) { + $size = $shaark->getImagesOriginalResizeWidth(); Image::load($file) ->fit(Manipulations::FIT_MAX, $size, $size) diff --git a/app/Http/Controllers/Api/Manage/FeaturesController.php b/app/Http/Controllers/Api/Manage/FeaturesController.php index 6ef0442..df6548f 100644 --- a/app/Http/Controllers/Api/Manage/FeaturesController.php +++ b/app/Http/Controllers/Api/Manage/FeaturesController.php @@ -6,7 +6,7 @@ use App\Http\Controllers\Controller; use App\Notifications\CheckEmail; use App\Services\LinkArchive\LinkArchive; use App\Services\LinkArchive\YoutubeDlProvider; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use App\User; use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; @@ -19,18 +19,18 @@ class FeaturesController extends Controller $this->middleware('demo'); } - public function check(Request $request, Shaarli $shaarli, string $type) + public function check(Request $request, Shaark $shaark, string $type) { if (false === in_array($type, ['pdf', 'media', 'email'])) { abort(404); } if ($type === 'pdf') { - $check = $this->checkArchivePdf($shaarli); + $check = $this->checkArchivePdf($shaark); } if ($type === 'media') { - $check = $this->checkArchiveMedia($shaarli); + $check = $this->checkArchiveMedia($shaark); } if ($type === 'email') { @@ -46,13 +46,13 @@ class FeaturesController extends Controller ]); } - protected function checkArchivePdf(Shaarli $shaarli) + protected function checkArchivePdf(Shaark $shaark) { - if (false === $shaarli->getLinkArchivePdf()) { + if (false === $shaark->getLinkArchivePdf()) { return $this->sendError(__('Archive as PDF is not enabled')); } - $exec = $shaarli->getNodeBin(); + $exec = $shaark->getNodeBin(); exec($exec . ' --version', $result); if (empty($result)) { @@ -76,13 +76,13 @@ class FeaturesController extends Controller return true; } - protected function checkArchiveMedia(Shaarli $shaarli) + protected function checkArchiveMedia(Shaark $shaark) { - if (false === $shaarli->getLinkArchiveMedia()) { + if (false === $shaark->getLinkArchiveMedia()) { return $this->sendError(__('Archive as Media is not enabled')); } - $exec = $shaarli->getYoutubeDlBin(); + $exec = $shaark->getYoutubeDlBin(); exec($exec . ' --version', $result); if (empty($result)) { diff --git a/app/Http/Controllers/Api/SearchController.php b/app/Http/Controllers/Api/SearchController.php index d76434d..7770038 100644 --- a/app/Http/Controllers/Api/SearchController.php +++ b/app/Http/Controllers/Api/SearchController.php @@ -7,16 +7,16 @@ use App\Http\Resources\PostResource; use App\Http\Resources\TagResource; use App\Post; use App\Services\ModelSearch; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use App\Tag; use Illuminate\Http\Request; class SearchController extends Controller { - public function search(Request $request, Shaarli $shaarli) + public function search(Request $request, Shaark $shaark) { $query = $request->get('query'); - $default_search = $shaarli->getUseDefaultSearch(); + $default_search = $shaark->getUseDefaultSearch(); if (mb_strlen($query) < 3) { abort(422); diff --git a/app/Http/Controllers/BrowseController.php b/app/Http/Controllers/BrowseController.php index 688a27e..7752e10 100644 --- a/app/Http/Controllers/BrowseController.php +++ b/app/Http/Controllers/BrowseController.php @@ -6,19 +6,19 @@ use App\Album; use App\Chest; use App\Link; use App\Post; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use App\Story; use App\Tag; use Illuminate\Http\Request; class BrowseController extends Controller { - public function index(Request $request, Shaarli $shaarli) + public function index(Request $request, Shaark $shaark) { $tags = collect([]); $posts = Post::with('tags', 'postable'); - if (false === $shaarli->getHomeShowChests()) { + if (false === $shaark->getHomeShowChests()) { $posts->withoutChests(); } @@ -27,18 +27,18 @@ class BrowseController extends Controller ->latest() ->paginate(20); - if (true === $shaarli->getHomeShowTags()) { + if (true === $shaark->getHomeShowTags()) { $tags = Tag::withPostsFor($request) ->orderBy('posts_count', 'desc') ->get(); } return view('home')->with([ - 'page_title' => app('shaarli')->getName(), + 'page_title' => app('shaark')->getName(), 'posts' => $posts, 'tags' => $tags, - 'compact' => $shaarli->getCompactCardslist(), - 'columns_count' => $shaarli->getColumnsCount(), + 'compact' => $shaark->getCompactCardslist(), + 'columns_count' => $shaark->getColumnsCount(), ]); } @@ -98,7 +98,7 @@ class BrowseController extends Controller ]); } - public function tag(Request $request, Shaarli $shaarli, string $tag) + public function tag(Request $request, Shaark $shaark, string $tag) { $tag = Tag::named($tag)->firstOrFail(); @@ -119,8 +119,8 @@ class BrowseController extends Controller ]), 'tag' => $tag, 'posts' => $posts, - 'compact' => $shaarli->getCompactCardslist(), - 'columns_count' => $shaarli->getColumnsCount(), + 'compact' => $shaark->getCompactCardslist(), + 'columns_count' => $shaark->getColumnsCount(), ]); } } diff --git a/app/Http/Controllers/FeedController.php b/app/Http/Controllers/FeedController.php index dd656c5..86fef49 100644 --- a/app/Http/Controllers/FeedController.php +++ b/app/Http/Controllers/FeedController.php @@ -4,14 +4,14 @@ namespace App\Http\Controllers; use App\Http\Resources\PostResource; use App\Post; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Http\Request; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Cache; class FeedController extends Controller { - public function index(Request $request, Shaarli $shaarli, string $type) + public function index(Request $request, Shaark $shaark, string $type) { if (false === in_array($type, ['rss', 'atom'])) { abort(404); @@ -28,10 +28,10 @@ class FeedController extends Controller }); return view(sprintf('feed/%s', $type))->with([ - 'title' => $shaarli->getName(), + 'title' => $shaark->getName(), 'link' => route('home'), - 'description' => __('All new content of :title', ['title' => $shaarli->getName()]), - 'language' => $shaarli->getLocale(), + 'description' => __('All new content of :title', ['title' => $shaark->getName()]), + 'language' => $shaark->getLocale(), 'pub_date' => count($items) ? $items[0]['created_at']->toRssString() : Carbon::now()->toRssString(), 'items' => $items, ]); diff --git a/app/Http/Controllers/LoginController.php b/app/Http/Controllers/LoginController.php index e5c3ced..afd38e3 100644 --- a/app/Http/Controllers/LoginController.php +++ b/app/Http/Controllers/LoginController.php @@ -43,7 +43,7 @@ class LoginController extends Controller $this->sendLockoutResponse($request); } - if (true === app('shaarli')->getSecureLogin()) { + if (true === app('shaark')->getSecureLogin()) { return $this->checkWithSecureLogin($request, $validated); } diff --git a/app/Http/Controllers/Manage/SettingsController.php b/app/Http/Controllers/Manage/SettingsController.php index 876df13..3a402de 100644 --- a/app/Http/Controllers/Manage/SettingsController.php +++ b/app/Http/Controllers/Manage/SettingsController.php @@ -4,7 +4,7 @@ namespace App\Http\Controllers\Manage; use App\Http\Controllers\Controller; use App\Http\Requests\StoreSettingsRequest; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Http\Request; class SettingsController extends Controller @@ -20,15 +20,15 @@ class SettingsController extends Controller { return view('manage.settings')->with([ 'page_title' => __('Settings'), - 'settings' => app('shaarli')->getSettings(), + 'settings' => app('shaark')->getSettings(), ]); } - public function store(StoreSettingsRequest $request, Shaarli $shaarli) + public function store(StoreSettingsRequest $request, Shaark $shaark) { $validated = collect($request->validated()); - $shaarli + $shaark ->setSettings($validated) ->cleanSettings(); diff --git a/app/Http/Controllers/PwaController.php b/app/Http/Controllers/PwaController.php index e274980..43c811a 100644 --- a/app/Http/Controllers/PwaController.php +++ b/app/Http/Controllers/PwaController.php @@ -2,30 +2,30 @@ namespace App\Http\Controllers; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Http\Request; class PwaController extends Controller { - public function manifest(Request $request, Shaarli $shaarli) + public function manifest(Request $request, Shaark $shaark) { $manifest = [ - 'version' => Shaarli::VERSION, + 'version' => Shaark::VERSION, 'dir' => 'ltr', - 'lang' => $shaarli->getLocale(), - 'name' => $shaarli->getName(), + 'lang' => $shaark->getLocale(), + 'name' => $shaark->getName(), 'scope' => '/', 'display' => 'standalone', 'start_url' => '/', - 'short_name' => $shaarli->getName(), + 'short_name' => $shaark->getName(), 'theme_color' => 'transparent', - 'description' => $shaarli->getName(), + 'description' => $shaark->getName(), 'orientation' => 'any', 'background_color' => 'transparent', 'prefer_related_applications' => false, 'icons' => [ [ - 'src' => $shaarli->getCustomIconUrl(), + 'src' => $shaark->getCustomIconUrl(), 'type' => 'image/png', 'sizes' => '192x192 512x512', ] @@ -50,10 +50,10 @@ class PwaController extends Controller ]); } - public function offline(Request $request, Shaarli $shaarli) + public function offline(Request $request, Shaark $shaark) { return view('offline')->with([ - 'page_title' => $shaarli->getName(), + 'page_title' => $shaark->getName(), ]); } } diff --git a/app/Http/Controllers/StaticController.php b/app/Http/Controllers/StaticController.php index 5a461cc..b105830 100644 --- a/app/Http/Controllers/StaticController.php +++ b/app/Http/Controllers/StaticController.php @@ -2,16 +2,16 @@ namespace App\Http\Controllers; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Http\Request; class StaticController extends Controller { - public function robots(Request $request, Shaarli $shaarli) + public function robots(Request $request, Shaark $shaark) { $content = "User-agent: *\nDisallow:"; - if (true === $shaarli->getIsPrivate()) { + if (true === $shaark->getIsPrivate()) { $content = "User-agent: *\nDisallow: /"; } diff --git a/app/Http/Middleware/BlockInDemoMode.php b/app/Http/Middleware/BlockInDemoMode.php index e27901f..9d9c04e 100644 --- a/app/Http/Middleware/BlockInDemoMode.php +++ b/app/Http/Middleware/BlockInDemoMode.php @@ -9,7 +9,7 @@ class BlockInDemoMode { public function handle(Request $request, Closure $next, $guard = null) { - if (config('shaarli.demo')) { + if (config('shaark.demo')) { if ($request->expectsJson()) { return response()->json([ 'status' => 'error', diff --git a/app/Http/Middleware/CheckForGlobalPrivacy.php b/app/Http/Middleware/CheckForGlobalPrivacy.php index 4ac4ab3..324c429 100644 --- a/app/Http/Middleware/CheckForGlobalPrivacy.php +++ b/app/Http/Middleware/CheckForGlobalPrivacy.php @@ -8,7 +8,7 @@ class CheckForGlobalPrivacy { public function handle($request, Closure $next) { - if (app('shaarli')->authorizeFromRequest($request)) { + if (app('shaark')->authorizeFromRequest($request)) { return $next($request); } diff --git a/app/Http/Requests/StoreSettingsRequest.php b/app/Http/Requests/StoreSettingsRequest.php index 033bea8..34ef68f 100644 --- a/app/Http/Requests/StoreSettingsRequest.php +++ b/app/Http/Requests/StoreSettingsRequest.php @@ -13,7 +13,7 @@ class StoreSettingsRequest extends FormRequest public function rules() { - $config = collect(app('shaarli')->getSettingsConfig()); + $config = collect(app('shaark')->getSettingsConfig()); return $config->transform(function ($item, $key) { return [ diff --git a/app/Link.php b/app/Link.php index 4b0da3e..170b4e7 100644 --- a/app/Link.php +++ b/app/Link.php @@ -75,7 +75,7 @@ class Link extends Model return false; } - if (app('shaarli')->getPrivateDownload() === true + if (app('shaark')->getPrivateDownload() === true && auth()->check() === false) { return false; } diff --git a/app/Notifications/CheckEmail.php b/app/Notifications/CheckEmail.php index 424b950..bf4bced 100644 --- a/app/Notifications/CheckEmail.php +++ b/app/Notifications/CheckEmail.php @@ -19,8 +19,8 @@ class CheckEmail extends Notification public function toMail($notifiable) { return (new MailMessage) - ->subject(__('shaarli.mails.check.title')) - ->line(__('shaarli.mails.check.message', ['name' => config('app.name')])); + ->subject(__('shaark.mails.check.title')) + ->line(__('shaark.mails.check.message', ['name' => config('app.name')])); } public function toArray($notifiable) diff --git a/app/Notifications/SecureLoginCode.php b/app/Notifications/SecureLoginCode.php index 4e45928..aee9293 100644 --- a/app/Notifications/SecureLoginCode.php +++ b/app/Notifications/SecureLoginCode.php @@ -28,9 +28,9 @@ class SecureLoginCode extends Notification public function toMail($notifiable) { return (new MailMessage) - ->subject(__('shaarli.mails.2fa.title')) - ->line(__('shaarli.mails.2fa.message', ['code' => $this->secure->code])) - ->action(__('shaarli.mails.2fa.button'), sprintf('%s?code=%s', route('login.secure', $this->secure), $this->secure->code)); + ->subject(__('shaark.mails.2fa.title')) + ->line(__('shaark.mails.2fa.message', ['code' => $this->secure->code])) + ->action(__('shaark.mails.2fa.button'), sprintf('%s?code=%s', route('login.secure', $this->secure), $this->secure->code)); } public function toArray($notifiable) diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 28b4ee4..39cb2f1 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,7 +3,7 @@ namespace App\Providers; use App\Services\Hashid; -use App\Services\Shaarli\Shaarli; +use App\Services\Shaark\Shaark; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Storage; @@ -19,14 +19,14 @@ class AppServiceProvider extends ServiceProvider $this->app['request']->server->set('HTTPS', true); } - $this->app->singleton(Shaarli::class, function ($app) { - return new Shaarli($app); + $this->app->singleton(Shaark::class, function ($app) { + return new Shaark($app); }); - $this->app->alias(Shaarli::class, 'shaarli'); + $this->app->alias(Shaark::class, 'shaark'); $this->app->singleton(Hashid::class, function ($app) { - return new Hashid($app['config']->get('shaarli.hashids')); + return new Hashid($app['config']->get('shaark.hashids')); }); $this->app->alias(Hashid::class, 'hashid'); @@ -34,7 +34,7 @@ class AppServiceProvider extends ServiceProvider public function boot() { - $this->app->setLocale(app('shaarli')->getLocale()); + $this->app->setLocale(app('shaark')->getLocale()); View::composer('layouts.partials.scripts', function (\Illuminate\View\View $view) { $locale = config('app.locale'); diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 84d75ce..5e5ddd7 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -27,7 +27,7 @@ class AuthServiceProvider extends ServiceProvider $this->registerPolicies(); Gate::define('restricted', function (?User $user) { - if (app('shaarli')->getIsPrivate() === false) { + if (app('shaark')->getIsPrivate() === false) { return true; } diff --git a/app/SecureLogin.php b/app/SecureLogin.php index a3e499a..0ce0613 100644 --- a/app/SecureLogin.php +++ b/app/SecureLogin.php @@ -40,8 +40,8 @@ class SecureLogin extends Model */ public static function createForUser($user): self { - $code_length = app('shaarli')->getSecureCodeLength(); - $expire_minutes = app('shaarli')->getSecureCodeExpires(); + $code_length = app('shaark')->getSecureCodeLength(); + $expire_minutes = app('shaark')->getSecureCodeExpires(); $model = new static(); $model->user_id = $user->id; diff --git a/app/Services/LinkArchive/PuppeteerProvider.php b/app/Services/LinkArchive/PuppeteerProvider.php index de19b31..3d0923c 100644 --- a/app/Services/LinkArchive/PuppeteerProvider.php +++ b/app/Services/LinkArchive/PuppeteerProvider.php @@ -13,7 +13,7 @@ class PuppeteerProvider extends BaseProvider try { $puppeteer = new Puppeteer([ - 'executable_path' => app('shaarli')->getNodeBin() + 'executable_path' => app('shaark')->getNodeBin() ]); $browser = $puppeteer->launch([ @@ -48,7 +48,7 @@ class PuppeteerProvider extends BaseProvider public function isEnabled(): bool { - return app('shaarli')->getLinkArchivePdf() === true; + return app('shaark')->getLinkArchivePdf() === true; } public function canArchive(): bool diff --git a/app/Services/LinkArchive/YoutubeDlProvider.php b/app/Services/LinkArchive/YoutubeDlProvider.php index fa790b7..29c9474 100644 --- a/app/Services/LinkArchive/YoutubeDlProvider.php +++ b/app/Services/LinkArchive/YoutubeDlProvider.php @@ -25,8 +25,8 @@ class YoutubeDlProvider extends BaseProvider 'output' => md5($this->url) . '.%(ext)s', ]); - $dl->setPythonPath(app('shaarli')->getPythonBin()); - $dl->setBinPath(app('shaarli')->getYoutubeDlBin()); + $dl->setPythonPath(app('shaark')->getPythonBin()); + $dl->setBinPath(app('shaark')->getYoutubeDlBin()); $dl->setDownloadPath($path); /*$dl->onProgress(function ($progress) { @@ -50,7 +50,7 @@ class YoutubeDlProvider extends BaseProvider public function isEnabled(): bool { - return app('shaarli')->getLinkArchiveMedia() === true; + return app('shaark')->getLinkArchiveMedia() === true; } public function canArchive(): bool @@ -68,7 +68,7 @@ class YoutubeDlProvider extends BaseProvider 'no-check-certificate' => true ]); - $dl->setBinPath(app('shaarli')->getYoutubeDlBin()); + $dl->setBinPath(app('shaark')->getYoutubeDlBin()); $dl->setDownloadPath(storage_path('app/archives')); $result = $dl->download($url); diff --git a/app/Services/Shaarli/Concerns/ControlsGlobalPrivacy.php b/app/Services/Shaark/Concerns/ControlsGlobalPrivacy.php similarity index 92% rename from app/Services/Shaarli/Concerns/ControlsGlobalPrivacy.php rename to app/Services/Shaark/Concerns/ControlsGlobalPrivacy.php index 4079fbc..4a5e6e6 100644 --- a/app/Services/Shaarli/Concerns/ControlsGlobalPrivacy.php +++ b/app/Services/Shaark/Concerns/ControlsGlobalPrivacy.php @@ -1,12 +1,12 @@ app['config']->get('shaarli.settings'); + return $this->app['config']->get('shaark.settings'); } public function validateDefaultSettings(): void diff --git a/app/Services/Shaarli/Concerns/HandleCustomSettings.php b/app/Services/Shaark/Concerns/HandleCustomSettings.php similarity index 96% rename from app/Services/Shaarli/Concerns/HandleCustomSettings.php rename to app/Services/Shaark/Concerns/HandleCustomSettings.php index 8aeffd5..5f3c21c 100644 --- a/app/Services/Shaarli/Concerns/HandleCustomSettings.php +++ b/app/Services/Shaark/Concerns/HandleCustomSettings.php @@ -1,13 +1,13 @@ $this->id, 'name' => $this->name ]; } diff --git a/changelog.md b/changelog.md index e5bc377..447f8a0 100644 --- a/changelog.md +++ b/changelog.md @@ -1,7 +1,10 @@ -# Unreleased +# 1.2.30 + +⚠️ Update your Git remote URL: `git remote set-url origin https://github.com/MarceauKa/shaark.git` ## Changed +- Laravel Shaarli is now Shaark (issue #54) - Japanese translation updated to 1.2.29 (thanks to [wyred](https://github.com/wyred)) # 1.2.29 @@ -40,7 +43,7 @@ ## Added - Ability to customize image generation -- [Troubleshouting guide](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/troubleshooting.md) +- [Troubleshouting guide](https://github.com/MarceauKa/shaark/blob/dev/documentation/troubleshooting.md) ## Changed @@ -96,7 +99,7 @@ - Progressive Web App compatibility (issue #24) - Default icon for Shaarli and ability to customize it -- Automatic [backup](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/backup.md) (issue #28) +- Automatic [backup](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md) (issue #28) - Network status monitor (for PWA) ## Changed @@ -128,7 +131,7 @@ ## Added - Ability to customize background as image or custom gradient (issues #25 and #26) -- Shaarlies [listing](https://github.com/MarceauKa/laravel-shaarli/blob/dev/shaarlies.md) +- Shaarlies [listing](https://github.com/MarceauKa/shaark/blob/dev/directory.md) ## Changed diff --git a/composer.json b/composer.json index f2951a6..2c648a5 100644 --- a/composer.json +++ b/composer.json @@ -1,14 +1,15 @@ { - "name": "marceauka/laravel-shaarli", + "name": "marceauka/shaark", "type": "project", "description": "Your place to archive your links, stories, passwords and archive your content.", "keywords": [ "laravel", + "shaark", "shaarli", "links" ], "license": "MIT", - "homepage": "https://github.com/MarceauKa/laravel-shaarli/", + "homepage": "https://github.com/MarceauKa/shaark/", "readme": "readme.md", "authors": [ { @@ -20,7 +21,7 @@ ], "support": { "email": "web@404lab.fr", - "issues": "https://github.com/MarceauKa/laravel-shaarli/issues" + "issues": "https://github.com/MarceauKa/shaark/issues" }, "require": { "php": "^7.2", diff --git a/composer.lock b/composer.lock index fb78203..5aa05d2 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "daac898cd5d87c84d34e8942d7faf39f", + "content-hash": "7ece66f2b46f2d0d5f2aacc0c7b151d0", "packages": [ { "name": "clue/socket-raw", @@ -96,16 +96,16 @@ }, { "name": "doctrine/cache", - "version": "v1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "d4374ae95b36062d02ef310100ed33d78738d76c" + "reference": "c15dcd24b756f9e52ea7c3ae8227354f3628f11a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/d4374ae95b36062d02ef310100ed33d78738d76c", - "reference": "d4374ae95b36062d02ef310100ed33d78738d76c", + "url": "https://api.github.com/repos/doctrine/cache/zipball/c15dcd24b756f9e52ea7c3ae8227354f3628f11a", + "reference": "c15dcd24b756f9e52ea7c3ae8227354f3628f11a", "shasum": "" }, "require": { @@ -116,7 +116,7 @@ }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", - "doctrine/coding-standard": "^4.0", + "doctrine/coding-standard": "^6.0", "mongodb/mongodb": "^1.1", "phpunit/phpunit": "^7.0", "predis/predis": "~1.0" @@ -127,7 +127,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.9.x-dev" } }, "autoload": { @@ -161,13 +161,21 @@ "email": "schmittjoh@gmail.com" } ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "https://www.doctrine-project.org", + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", "keywords": [ + "abstraction", + "apcu", "cache", - "caching" + "caching", + "couchdb", + "memcached", + "php", + "redis", + "riak", + "xcache" ], - "time": "2019-10-28T09:31:32+00:00" + "time": "2019-11-11T10:31:52+00:00" }, { "name": "doctrine/dbal", @@ -263,16 +271,16 @@ }, { "name": "doctrine/event-manager", - "version": "v1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3" + "reference": "629572819973f13486371cb611386eb17851e85c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/a520bc093a0170feeb6b14e9d83f3a14452e64b3", - "reference": "a520bc093a0170feeb6b14e9d83f3a14452e64b3", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c", + "reference": "629572819973f13486371cb611386eb17851e85c", "shasum": "" }, "require": { @@ -282,7 +290,7 @@ "doctrine/common": "<2.9@dev" }, "require-dev": { - "doctrine/coding-standard": "^4.0", + "doctrine/coding-standard": "^6.0", "phpunit/phpunit": "^7.0" }, "type": "library", @@ -301,6 +309,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -309,10 +321,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -326,27 +334,29 @@ "email": "ocramius@gmail.com" } ], - "description": "Doctrine Event Manager component", + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", "homepage": "https://www.doctrine-project.org/projects/event-manager.html", "keywords": [ "event", - "eventdispatcher", - "eventmanager" + "event dispatcher", + "event manager", + "event system", + "events" ], - "time": "2018-06-11T11:59:03+00:00" + "time": "2019-11-10T09:48:07+00:00" }, { "name": "doctrine/inflector", - "version": "v1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", + "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", "shasum": "" }, "require": { @@ -371,6 +381,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -379,10 +393,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -400,20 +410,20 @@ "singularize", "string" ], - "time": "2018-01-09T20:05:19+00:00" + "time": "2019-10-30T19:59:35+00:00" }, { "name": "doctrine/lexer", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea" + "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea", - "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", + "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", "shasum": "" }, "require": { @@ -427,7 +437,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -462,7 +472,7 @@ "parser", "php" ], - "time": "2019-07-30T19:33:28+00:00" + "time": "2019-10-30T14:39:59+00:00" }, { "name": "dragonmantank/cron-expression", @@ -973,16 +983,16 @@ }, { "name": "jaybizzle/crawler-detect", - "version": "v1.2.86", + "version": "v1.2.88", "source": { "type": "git", "url": "https://github.com/JayBizzle/Crawler-Detect.git", - "reference": "1835311c4f458b2f59bbfec05ebfc64ac382b6ee" + "reference": "4ede3431afaa5b77b6d9414935184edbcfffa822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/1835311c4f458b2f59bbfec05ebfc64ac382b6ee", - "reference": "1835311c4f458b2f59bbfec05ebfc64ac382b6ee", + "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/4ede3431afaa5b77b6d9414935184edbcfffa822", + "reference": "4ede3431afaa5b77b6d9414935184edbcfffa822", "shasum": "" }, "require": { @@ -1018,7 +1028,7 @@ "crawlerdetect", "php crawler detect" ], - "time": "2019-10-15T20:54:57+00:00" + "time": "2019-11-07T21:06:22+00:00" }, { "name": "jenssegers/agent", @@ -1153,16 +1163,16 @@ }, { "name": "laravel/framework", - "version": "v6.5.0", + "version": "v6.5.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "6d120a21ef0c69630e92dec67932ef434c746019" + "reference": "e47180500498cf8aa2a8ffb59a3b4daa007fa13d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/6d120a21ef0c69630e92dec67932ef434c746019", - "reference": "6d120a21ef0c69630e92dec67932ef434c746019", + "url": "https://api.github.com/repos/laravel/framework/zipball/e47180500498cf8aa2a8ffb59a3b4daa007fa13d", + "reference": "e47180500498cf8aa2a8ffb59a3b4daa007fa13d", "shasum": "" }, "require": { @@ -1295,7 +1305,7 @@ "framework", "laravel" ], - "time": "2019-11-05T14:32:58+00:00" + "time": "2019-11-12T15:20:18+00:00" }, { "name": "laravel/scout", @@ -1917,16 +1927,16 @@ }, { "name": "monolog/monolog", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "68545165e19249013afd1d6f7485aecff07a2d22" + "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/68545165e19249013afd1d6f7485aecff07a2d22", - "reference": "68545165e19249013afd1d6f7485aecff07a2d22", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f9d56fd2f5533322caccdfcddbb56aedd622ef1c", + "reference": "f9d56fd2f5533322caccdfcddbb56aedd622ef1c", "shasum": "" }, "require": { @@ -1994,7 +2004,7 @@ "logging", "psr-3" ], - "time": "2019-08-30T09:56:44+00:00" + "time": "2019-11-13T10:27:43+00:00" }, { "name": "myclabs/php-enum", @@ -2219,16 +2229,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.2.5", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "b76bbc3c51f22c570648de48e8c2d941ed5e2cf2" + "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/b76bbc3c51f22c570648de48e8c2d941ed5e2cf2", - "reference": "b76bbc3c51f22c570648de48e8c2d941ed5e2cf2", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", + "reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", "shasum": "" }, "require": { @@ -2236,7 +2246,7 @@ "php": ">=7.0" }, "require-dev": { - "ircmaxell/php-yacc": "0.0.4", + "ircmaxell/php-yacc": "0.0.5", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" }, "bin": [ @@ -2245,7 +2255,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -2267,7 +2277,7 @@ "parser", "php" ], - "time": "2019-10-25T18:33:07+00:00" + "time": "2019-11-08T13:50:10+00:00" }, { "name": "norkunas/youtube-dl-php", @@ -2521,28 +2531,28 @@ }, { "name": "phpoption/phpoption", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "894e8f93890b79f29911cce497fe811fe9d931ba" + "reference": "2ba2586380f8d2b44ad1b9feb61c371020b27793" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/894e8f93890b79f29911cce497fe811fe9d931ba", - "reference": "894e8f93890b79f29911cce497fe811fe9d931ba", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/2ba2586380f8d2b44ad1b9feb61c371020b27793", + "reference": "2ba2586380f8d2b44ad1b9feb61c371020b27793", "shasum": "" }, "require": { "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "4.7.*" + "phpunit/phpunit": "^4.7|^5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -2567,7 +2577,7 @@ "php", "type" ], - "time": "2019-11-06T12:42:47+00:00" + "time": "2019-11-06T22:27:00+00:00" }, { "name": "predis/predis", @@ -3164,16 +3174,16 @@ }, { "name": "spatie/laravel-backup", - "version": "6.7.3", + "version": "6.7.4", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "de1bd3cc0decdaab2d286a15334edab1da3f6d76" + "reference": "e3ea9bc9994be5cf8d9e10b202ed838380e0b4e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/de1bd3cc0decdaab2d286a15334edab1da3f6d76", - "reference": "de1bd3cc0decdaab2d286a15334edab1da3f6d76", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/e3ea9bc9994be5cf8d9e10b202ed838380e0b4e4", + "reference": "e3ea9bc9994be5cf8d9e10b202ed838380e0b4e4", "shasum": "" }, "require": { @@ -3235,7 +3245,7 @@ "laravel-backup", "spatie" ], - "time": "2019-10-31T00:43:17+00:00" + "time": "2019-11-07T22:11:24+00:00" }, { "name": "spatie/laravel-medialibrary", @@ -3472,16 +3482,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.1", + "version": "v6.2.3", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a" + "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", + "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", "shasum": "" }, "require": { @@ -3530,20 +3540,20 @@ "mail", "mailer" ], - "time": "2019-04-21T09:21:45+00:00" + "time": "2019-11-12T09:31:26+00:00" }, { "name": "symfony/console", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "136c4bd62ea871d00843d1bc0316de4c4a84bb78" + "reference": "831424efae0a1fe6642784bd52aae14ece6538e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/136c4bd62ea871d00843d1bc0316de4c4a84bb78", - "reference": "136c4bd62ea871d00843d1bc0316de4c4a84bb78", + "url": "https://api.github.com/repos/symfony/console/zipball/831424efae0a1fe6642784bd52aae14ece6538e6", + "reference": "831424efae0a1fe6642784bd52aae14ece6538e6", "shasum": "" }, "require": { @@ -3605,11 +3615,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:58:49+00:00" + "time": "2019-11-13T07:29:07+00:00" }, { "name": "symfony/css-selector", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -3662,7 +3672,7 @@ }, { "name": "symfony/debug", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", @@ -3718,7 +3728,7 @@ }, { "name": "symfony/dom-crawler", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", @@ -3779,16 +3789,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "6229f58993e5a157f6096fc7145c0717d0be8807" + "reference": "0df002fd4f500392eabd243c2947061a50937287" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6229f58993e5a157f6096fc7145c0717d0be8807", - "reference": "6229f58993e5a157f6096fc7145c0717d0be8807", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0df002fd4f500392eabd243c2947061a50937287", + "reference": "0df002fd4f500392eabd243c2947061a50937287", "shasum": "" }, "require": { @@ -3845,7 +3855,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-10-01T16:40:32+00:00" + "time": "2019-11-03T09:04:05+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3907,7 +3917,7 @@ }, { "name": "symfony/finder", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", @@ -3956,16 +3966,16 @@ }, { "name": "symfony/http-foundation", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "38f63e471cda9d37ac06e76d14c5ea2ec5887051" + "reference": "cabe67275034e173350e158f3b1803d023880227" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/38f63e471cda9d37ac06e76d14c5ea2ec5887051", - "reference": "38f63e471cda9d37ac06e76d14c5ea2ec5887051", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cabe67275034e173350e158f3b1803d023880227", + "reference": "cabe67275034e173350e158f3b1803d023880227", "shasum": "" }, "require": { @@ -4007,20 +4017,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:58:49+00:00" + "time": "2019-11-12T13:07:20+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "56acfda9e734e8715b3b0e6859cdb4f5b28757bf" + "reference": "5fdf186f26f9080de531d3f1d024348b2f0ab12f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/56acfda9e734e8715b3b0e6859cdb4f5b28757bf", - "reference": "56acfda9e734e8715b3b0e6859cdb4f5b28757bf", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5fdf186f26f9080de531d3f1d024348b2f0ab12f", + "reference": "5fdf186f26f9080de531d3f1d024348b2f0ab12f", "shasum": "" }, "require": { @@ -4099,20 +4109,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-11-01T10:00:03+00:00" + "time": "2019-11-13T09:07:28+00:00" }, { "name": "symfony/mime", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "3c0e197529da6e59b217615ba8ee7604df88b551" + "reference": "22aecf6b11638ef378fab25d6c5a2da8a31a1448" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/3c0e197529da6e59b217615ba8ee7604df88b551", - "reference": "3c0e197529da6e59b217615ba8ee7604df88b551", + "url": "https://api.github.com/repos/symfony/mime/zipball/22aecf6b11638ef378fab25d6c5a2da8a31a1448", + "reference": "22aecf6b11638ef378fab25d6c5a2da8a31a1448", "shasum": "" }, "require": { @@ -4158,11 +4168,11 @@ "mime", "mime-type" ], - "time": "2019-10-30T12:58:49+00:00" + "time": "2019-11-12T13:10:02+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", @@ -4567,7 +4577,7 @@ }, { "name": "symfony/process", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", @@ -4616,16 +4626,16 @@ }, { "name": "symfony/routing", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "63a9920cc86fcc745e5ea254e362f02b615290b9" + "reference": "533fd12a41fb9ce8d4e861693365427849487c0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/63a9920cc86fcc745e5ea254e362f02b615290b9", - "reference": "63a9920cc86fcc745e5ea254e362f02b615290b9", + "url": "https://api.github.com/repos/symfony/routing/zipball/533fd12a41fb9ce8d4e861693365427849487c0e", + "reference": "533fd12a41fb9ce8d4e861693365427849487c0e", "shasum": "" }, "require": { @@ -4688,20 +4698,20 @@ "uri", "url" ], - "time": "2019-10-30T12:58:49+00:00" + "time": "2019-11-04T20:23:03+00:00" }, { "name": "symfony/service-contracts", - "version": "v1.1.7", + "version": "v1.1.8", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0" + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffcde9615dc5bb4825b9f6aed07716f1f57faae0", - "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf", + "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf", "shasum": "" }, "require": { @@ -4746,20 +4756,20 @@ "interoperability", "standards" ], - "time": "2019-09-17T11:12:18+00:00" + "time": "2019-10-14T12:27:06+00:00" }, { "name": "symfony/translation", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "a3aa590ce944afb3434d7a55f81b00927144d5ec" + "reference": "bbce239b35b0cd47bd75848b23e969f17dd970e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/a3aa590ce944afb3434d7a55f81b00927144d5ec", - "reference": "a3aa590ce944afb3434d7a55f81b00927144d5ec", + "url": "https://api.github.com/repos/symfony/translation/zipball/bbce239b35b0cd47bd75848b23e969f17dd970e7", + "reference": "bbce239b35b0cd47bd75848b23e969f17dd970e7", "shasum": "" }, "require": { @@ -4822,7 +4832,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-10-30T12:53:54+00:00" + "time": "2019-11-06T23:21:49+00:00" }, { "name": "symfony/translation-contracts", @@ -4883,7 +4893,7 @@ }, { "name": "symfony/var-dumper", - "version": "v4.3.6", + "version": "v4.3.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", @@ -5242,16 +5252,16 @@ "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "shasum": "" }, "require": { @@ -5294,20 +5304,20 @@ "constructor", "instantiate" ], - "time": "2019-03-17T17:37:11+00:00" + "time": "2019-10-21T16:45:58+00:00" }, { "name": "facade/flare-client-php", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/facade/flare-client-php.git", - "reference": "608c2be3157b09f1868ca97ea4ddf3434ee83d63" + "reference": "04c0bbd1881942f59e27877bac3b29ba57519666" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/608c2be3157b09f1868ca97ea4ddf3434ee83d63", - "reference": "608c2be3157b09f1868ca97ea4ddf3434ee83d63", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/04c0bbd1881942f59e27877bac3b29ba57519666", + "reference": "04c0bbd1881942f59e27877bac3b29ba57519666", "shasum": "" }, "require": { @@ -5348,20 +5358,20 @@ "flare", "reporting" ], - "time": "2019-10-07T19:15:46+00:00" + "time": "2019-11-08T11:11:17+00:00" }, { "name": "facade/ignition", - "version": "1.11.2", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "862cbc2dfffa1fa28b47822a116e5b2e03b421db" + "reference": "67736a01597b9e08f00a1fc8966b92b918dba5ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/862cbc2dfffa1fa28b47822a116e5b2e03b421db", - "reference": "862cbc2dfffa1fa28b47822a116e5b2e03b421db", + "url": "https://api.github.com/repos/facade/ignition/zipball/67736a01597b9e08f00a1fc8966b92b918dba5ea", + "reference": "67736a01597b9e08f00a1fc8966b92b918dba5ea", "shasum": "" }, "require": { @@ -5419,7 +5429,7 @@ "laravel", "page" ], - "time": "2019-10-13T10:42:06+00:00" + "time": "2019-11-14T10:51:35+00:00" }, { "name": "facade/ignition-contracts", @@ -5686,16 +5696,16 @@ }, { "name": "laravel/dusk", - "version": "v5.5.2", + "version": "v5.6.1", "source": { "type": "git", "url": "https://github.com/laravel/dusk.git", - "reference": "aed755282a13a9b36d26854a0105d519aa22fec9" + "reference": "dd2156269898f6f58f029f0cb4d4b0d43437f29e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/dusk/zipball/aed755282a13a9b36d26854a0105d519aa22fec9", - "reference": "aed755282a13a9b36d26854a0105d519aa22fec9", + "url": "https://api.github.com/repos/laravel/dusk/zipball/dd2156269898f6f58f029f0cb4d4b0d43437f29e", + "reference": "dd2156269898f6f58f029f0cb4d4b0d43437f29e", "shasum": "" }, "require": { @@ -5715,6 +5725,9 @@ "mockery/mockery": "^1.0", "phpunit/phpunit": "^7.5|^8.0" }, + "suggest": { + "ext-pcntl": "Used to gracefully terminate Dusk when tests are running." + }, "type": "library", "extra": { "branch-alias": { @@ -5747,7 +5760,7 @@ "testing", "webdriver" ], - "time": "2019-09-24T20:30:07+00:00" + "time": "2019-11-12T16:55:51+00:00" }, { "name": "mockery/mockery", diff --git a/config/app.php b/config/app.php index fafbb5e..d3a7a9d 100644 --- a/config/app.php +++ b/config/app.php @@ -1,7 +1,7 @@ env('APP_NAME', 'Laravel Shaarli'), + 'name' => env('APP_NAME', 'Shaark'), 'env' => env('APP_ENV', 'production'), 'debug' => env('APP_DEBUG', false), 'url' => env('APP_URL', 'http://localhost'), diff --git a/config/auth-checker.php b/config/auth-checker.php index 1be48a8..9ef2547 100644 --- a/config/auth-checker.php +++ b/config/auth-checker.php @@ -3,30 +3,7 @@ use App\Login; return [ - - /* - |-------------------------------------------------------------------------- - | Throttling authentication logs - |-------------------------------------------------------------------------- - | - | You can skip authentication logs for a device if the last authentication - | log creation is inferior to the throttle value. Set 0 to disable - | throttling, or set the throttling time in minutes. - | - */ 'throttle' => env('AUTH_CHECKER_THROTTLE', 0), - - /* - |-------------------------------------------------------------------------- - | Device matching attributes - |-------------------------------------------------------------------------- - | - | Declare fields that are used to define if a device is new or not for an - | user. For example, specifying 'platform', 'platform_version' and - | 'browser' will not create a new device if the user already has - | a device registered for these attributes. - | - */ 'device_matching_attributes' => [ # Ex: OS X, Windows, ... 'platform', @@ -37,32 +14,11 @@ return [ # Ex: 42.0.2311.135, 37.0, ... //'browser_version', ], - - /* - |-------------------------------------------------------------------------- - | User login column - |-------------------------------------------------------------------------- - | - | Declare the name of the column used to authenticate an user. - | By default, it's 'email' but you can change it to your needs. - | - */ 'login_column' => 'email', - - /* - |-------------------------------------------------------------------------- - | Models - |-------------------------------------------------------------------------- - | - | Customize models used by the package. - | Custom models must extends defaults ones. - | - */ 'models' => [ # Ex: App\Models\Device (default: Lab404\AuthChecker\Models\Device) 'device' => null, # Ex: App\Models\Login (default: Lab404\AuthChecker\Models\Login) 'login' => Login::class, ] - ]; diff --git a/config/shaarli.php b/config/shaark.php similarity index 98% rename from config/shaarli.php rename to config/shaark.php index a55f4ac..aedc0cc 100644 --- a/config/shaarli.php +++ b/config/shaark.php @@ -55,7 +55,7 @@ return [ 'rules' => ['nullable'], ], 'custom_icon' => [ - 'default' => '/images/logo-shaarli.png', + 'default' => '/images/logo-shaark.png', 'rules' => ['nullable', 'image', 'mimes:png', 'dimensions:width=512,height=512'], ], 'secure_login' => [ diff --git a/config/tagging.php b/config/tagging.php deleted file mode 100644 index 368a1f2..0000000 --- a/config/tagging.php +++ /dev/null @@ -1,12 +0,0 @@ - 'integer', - 'normalizer' => '\Conner\Tagging\TaggingUtility::slug', - 'displayer' => '\Illuminate\Support\Str::title', - 'untag_on_delete' => true, - 'delete_unused_tags' => false, - 'tag_model'=>'\Conner\Tagging\Model\Tag', - 'delimiter' => '-', - 'tagged_model' => '\Conner\Tagging\Model\Tagged', -]; diff --git a/directory.md b/directory.md new file mode 100644 index 0000000..7becd92 --- /dev/null +++ b/directory.md @@ -0,0 +1,15 @@ +# Shaark listing + +You host your own Shaark public instance and you want to share it with other users? Feel free to make a PR to add your own to this file. + +### Rules + +* Your Shaark must be public +* Use alphabetical order +* Use this format `- SHAARK_NAME - [URL](URL)` + +### Listing + +- Arciela - [https://arciela.com](https://arciela.com) +- Shaark - [https://shaark.mka.ovh](https://shaark.mka.ovh) +- Marceau Ka - [https://note.casals.fr](https://note.casals.fr) diff --git a/documentation/archiving.md b/documentation/archiving.md index 2b6f590..1aea70a 100644 --- a/documentation/archiving.md +++ b/documentation/archiving.md @@ -1,4 +1,4 @@ -# Shaarli - Archiving +# Shaark - Archiving - [PDF Archiving](#pdf-archiving) - [Media Archiving](#media-archiving) @@ -34,4 +34,4 @@ You can use the **Check** button to test your configuration. ## Caveats -Archiving is performance expensive and should be run in production using queues. See our [installation configuration](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/installation.md) to learn more about it. +Archiving is performance expensive and should be run in production using queues. See our [installation configuration](https://github.com/MarceauKa/shaark/blob/dev/documentation/installation.md) to learn more about it. diff --git a/documentation/backup.md b/documentation/backup.md index 6dfeaf6..3cb8c69 100644 --- a/documentation/backup.md +++ b/documentation/backup.md @@ -1,4 +1,4 @@ -# Shaarli - Backup +# Shaark - Backup ## Getting started @@ -19,7 +19,7 @@ In the settings section of the app, go to the **Backup** panel. You can: - Enable or disable automatic backup. - Choose to backup **daily** or **weekly**. -- Choose to save only the database. Saving files can consume a lot of disk space, especially if you use [archiving](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md). +- Choose to save only the database. Saving files can consume a lot of disk space, especially if you use [archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md). ## Commands diff --git a/documentation/dependencies.md b/documentation/dependencies.md index f1f9a56..117b476 100644 --- a/documentation/dependencies.md +++ b/documentation/dependencies.md @@ -1,4 +1,4 @@ -# Shaarli - Dependencies +# Shaark - Dependencies Our dependencies with link to their documentation and why we use it. @@ -9,10 +9,10 @@ Our dependencies with link to their documentation and why we use it. - [excel](https://github.com/Maatwebsite/Laravel-Excel) is used to generate exports as xlsx or csv - [valuestore](https://github.com/spatie/valuestore) is used for application settings - [dom-crawler](https://github.com/symfony/dom-crawler) is used to read metadata from posted links -- [puphpeteer](https://github.com/nesk/puphpeteer/) is used to [save your links as PDF](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md) using a chrome browser -- [youtube-dl-php](https://github.com/norkunas/youtube-dl-php) is a bridge to youtube-dl to [save your links](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md) (youtube, soundcloud, ...) as a local copy +- [puphpeteer](https://github.com/nesk/puphpeteer/) is used to [save your links as PDF](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md) using a chrome browser +- [youtube-dl-php](https://github.com/norkunas/youtube-dl-php) is a bridge to youtube-dl to [save your links](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md) (youtube, soundcloud, ...) as a local copy - [laravel-media-library](https://github.com/spatie/laravel-medialibrary) is used to attach images to models and image manipulation -- [laravel-backup](https://github.com/spatie/laravel-backup) is used for... [backups](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/backup.md) ! +- [laravel-backup](https://github.com/spatie/laravel-backup) is used for... [backups](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md) ! ### JS diff --git a/documentation/installation.md b/documentation/installation.md index 5131807..01d8061 100644 --- a/documentation/installation.md +++ b/documentation/installation.md @@ -1,4 +1,4 @@ -# Shaarli - Installation +# Shaark - Installation - [Requirements](#requirements) - [Installation](#installation) @@ -21,7 +21,7 @@ ### Installation with Git -`git clone https://github.com/MarceauKa/laravel-shaarli && cd laravel-shaarli` +`git clone https://github.com/MarceauKa/shaark && cd shaark` ⚠️ Your domain configuration must point to `/public` folder. @@ -46,7 +46,7 @@ Once created, run `php artisan key:generate` to generate a unique key for you ap Default user is `admin@example.com` with password `secret`. - With install command: -`php artisan shaarli:install` +`php artisan shaark:install` - With no data (user must be created manually): `php artisan migrate` - With default data: @@ -54,11 +54,11 @@ Default user is `admin@example.com` with password `secret`. ### CRON job -CRON job is used for automations: [backups](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/backup.md), file cleaning, ... +CRON job is used for automations: [backups](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md), file cleaning, ... `* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1` -πŸŽ‰ Shaarli is now installed! +πŸŽ‰ Shaark is now installed! ## Configuration @@ -95,7 +95,7 @@ MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=hello@example.com -MAIL_FROM_NAME="Laravel Shaarli" +MAIL_FROM_NAME="Shaark" ``` ### Session @@ -110,7 +110,7 @@ SESSION_LIFETIME=120 ### Queue (optional) -Recommended configuration: `sync` (local), `redis` (production). Queues are used for [archiving](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving). +Recommended configuration: `sync` (local), `redis` (production). Queues are used for [archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving). Queue (optional) can use sync (default), redis, database, beanstalkd, amazon sqs (see [laravel queue configuration](https://laravel.com/docs/6.x/queues)). ``` @@ -147,12 +147,12 @@ The install command is useful: ⚠ Install command will not work with non-dev composer dependencies installed -Run: `php artisan shaarli:install` +Run: `php artisan shaark:install` ## Update command Git and composer must be accessible. -Run: `php artisan shaarli:update`. +Run: `php artisan shaark:update`. This command is a shortcut for: ``` diff --git a/documentation/troubleshooting.md b/documentation/troubleshooting.md index 18e150b..d6c7416 100644 --- a/documentation/troubleshooting.md +++ b/documentation/troubleshooting.md @@ -1,14 +1,14 @@ -# Shaarli - Troubleshooting +# Shaark - Troubleshooting ## Install and update -At first, read our [installation guide](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/installation.md). +At first, read our [installation guide](https://github.com/MarceauKa/shaark/blob/dev/documentation/installation.md). ### Can't access the app once installed Make sure the document root of your host points to the `/public` folder. -### Error when updating with the `shaarli:update` command +### Error when updating with the `shaark:update` command Sometimes you can have issues when upgrading, running the command a second time will generaly solve the problem. @@ -39,18 +39,18 @@ By default, search is made using a "full-text" engine powered by [Laravel Scout] It allows typing errors in your search (ex: `helol` instead of `hello`) and operators (ex: `foo -bar` search `foo` without `bar`). But it's not robust against non-latin search (ex: `こんにけは`, `Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь`, etc). -Laravel Shaarli provides a fallback to a classic SQL search using the `LIKE` operator. Set your preference in the settings section. +Shaark provides a fallback to a classic SQL search using the `LIKE` operator. Set your preference in the settings section. ## Archiving -Read our [archiving guide](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md). +Read our [archiving guide](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md). ## Backup -Read our [backup guide](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/backup.md). +Read our [backup guide](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md). ## Dependencies -See [dependencies](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/dependencies.md) used in this application. +See [dependencies](https://github.com/MarceauKa/shaark/blob/dev/documentation/dependencies.md) used in this application. diff --git a/phpunit.dusk.xml b/phpunit.dusk.xml index 055b17e..c12ac59 100644 --- a/phpunit.dusk.xml +++ b/phpunit.dusk.xml @@ -9,7 +9,7 @@ processIsolation="false" stopOnFailure="true"> - + ./tests/Browser/AuthTest.php ./tests/Browser/BrowseTest.php ./tests/Browser/LinkFormTest.php diff --git a/public/images/logo-shaark.png b/public/images/logo-shaark.png new file mode 100644 index 0000000..c153312 Binary files /dev/null and b/public/images/logo-shaark.png differ diff --git a/public/images/logo-shaarli.png b/public/images/logo-shaarli.png index bf7561d..c153312 100644 Binary files a/public/images/logo-shaarli.png and b/public/images/logo-shaarli.png differ diff --git a/readme.md b/readme.md index f2ca987..4a45456 100644 --- a/readme.md +++ b/readme.md @@ -1,12 +1,12 @@

- Logo Shaarli + Logo Shaark

-**Laravel Shaarli is a self-hosted platform to keep and share your content: web links, posts, passwords and pictures.** +**Shaark is a self-hosted platform to keep and share your content: web links, posts, passwords and pictures.** All of your data can be **private, public or both** and can be browsed by **tags** or **all-in-one search**. -**Laravel Shaarli** is production ready, inspired by [Shaarli](https://github.com/shaarli/Shaarli) +**Shaark** is production ready, inspired by [Shaarli](https://github.com/shaarli/Shaarli) and built with [Laravel](https://github.com/laravel/laravel) and [Vue.js](https://vuejs.org/). ## Summary @@ -25,21 +25,21 @@ and built with [Laravel](https://github.com/laravel/laravel) and [Vue.js](https: - [x] Export / Import (even original Shaarli) - [x] Theming (dark mode, background) - [x] i18n (πŸ‡¬πŸ‡§, πŸ‡«πŸ‡·, πŸ‡©πŸ‡ͺ, πŸ‡―πŸ‡΅) -- [x] [Archiving](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md) (as pdf, as media) -- [x] DB encryption, 2-FA, Multi-users, [backup](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/backup.md) +- [x] [Archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md) (as pdf, as media) +- [x] DB encryption, 2-FA, Multi-users, [backup](https://github.com/MarceauKa/shaark/blob/dev/documentation/backup.md) ## Demo ![Homepage](/resources/screenshots/home.jpg?raw=true "Homepage") -A public demo is available at [https://shaarli.mka.ovh](https://shaarli.mka.ovh). Credentials are **admin@example.com** and **secret**. +A public demo is available at [https://shaark.mka.ovh](https://shaark.mka.ovh). Credentials are **admin@example.com** and **secret**. This demo is resetted hourly. -## [Installation](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/installation.md) +## [Installation](https://github.com/MarceauKa/shaark/blob/dev/documentation/installation.md) -See the extensive [installation documentation](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/installation.md). +See the extensive [installation documentation](https://github.com/MarceauKa/shaark/blob/dev/documentation/installation.md). -## [Archiving](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md) +## [Archiving](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md) Each link you share can be archived the way you want: @@ -48,7 +48,7 @@ from youtube, soundcloud, vimeo and [few more sites](http://ytdl-org.github.io/y - [Puppeteer](https://github.com/GoogleChrome/puppeteer) will be used by default to save the webpage as a PDF. -Learn more in the [archiving documentation](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/archiving.md). +Learn more in the [archiving documentation](https://github.com/MarceauKa/shaark/blob/dev/documentation/archiving.md). ## Contribute @@ -59,13 +59,13 @@ If you make changes to JS, don't compile assets in production, I'll manually com ### Translation -Shaarli is actually available in **English**, **French** and **German**. Feel free to make a pull request to add or update a localization. +Shaark is actually available in **English**, **French** and **German**. Feel free to make a pull request to add or update a localization. You can see laravel base localizations [on this repo](https://github.com/caouecs/Laravel-lang). -### Your Shaarli +### Your Shaark -You host your own Shaarli public instance and you want to share it with other Shaarliers? -You can make a pull request to add it to our public listing located at [shaarlies.md](https://github.com/MarceauKa/laravel-shaarli/blob/dev/shaarlies.md). +You host your own Shaark public instance and you want to share it with other users? +You can make a pull request to add it to our public listing located at [directory.md](https://github.com/MarceauKa/shaark/blob/dev/directory.md). ## Security @@ -82,7 +82,7 @@ Code length and code expiration are also configurable. **Test if you application ### Auth monitoring -Shaarli logs all successful and failed auths with their associated devices. +Shaark logs all successful and failed auths with their associated devices. ### Chests encryption @@ -93,9 +93,9 @@ Since `1.2.9`, all chests data are encrypted in your database using AES-256-CBC Others users can be admin or non-admin. Admin users are like the main user and have an access to the entire content. Non-admin users can't access the settings section and can only see their own private content. -## [Troubleshooting](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/troubleshooting.md) +## [Troubleshooting](https://github.com/MarceauKa/shaark/blob/dev/documentation/troubleshooting.md) -All of frequent issues are answered in our [troubleshooting guide](https://github.com/MarceauKa/laravel-shaarli/blob/dev/documentation/troubleshooting.md). +All of frequent issues are answered in our [troubleshooting guide](https://github.com/MarceauKa/shaark/blob/dev/documentation/troubleshooting.md). ## Tests diff --git a/resources/js/sw.js b/resources/js/sw.js index 979daa7..f192974 100644 --- a/resources/js/sw.js +++ b/resources/js/sw.js @@ -1,4 +1,4 @@ -const CACHE = "shaarli"; +const CACHE = "shaark"; const offlineFallbackPage = "offline"; const avoidCachingPaths = [ /chest\/.*/, diff --git a/resources/lang/de/shaarli.php b/resources/lang/de/shaark.php similarity index 100% rename from resources/lang/de/shaarli.php rename to resources/lang/de/shaark.php diff --git a/resources/lang/en/shaarli.php b/resources/lang/en/shaark.php similarity index 100% rename from resources/lang/en/shaarli.php rename to resources/lang/en/shaark.php diff --git a/resources/lang/fr/shaarli.php b/resources/lang/fr/shaark.php similarity index 100% rename from resources/lang/fr/shaarli.php rename to resources/lang/fr/shaark.php diff --git a/resources/lang/ja/shaarli.php b/resources/lang/ja/shaark.php similarity index 100% rename from resources/lang/ja/shaarli.php rename to resources/lang/ja/shaark.php diff --git a/resources/screenshots/home.jpg b/resources/screenshots/home.jpg index ae79f0b..9d2faa2 100644 Binary files a/resources/screenshots/home.jpg and b/resources/screenshots/home.jpg differ diff --git a/resources/ssl/dev.shaark.crt b/resources/ssl/dev.shaark.crt new file mode 100644 index 0000000..fc2fc3b --- /dev/null +++ b/resources/ssl/dev.shaark.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIJAPAlvITbSEPEMA0GCSqGSIb3DQEBCwUAMHkxCzAJBgNV +BAYTAkZSMRYwFAYDVQQIDA1JbGUtZGUtRnJhbmNlMQ4wDAYDVQQHDAVQYXJpczEP +MA0GA1UECgwGNDA0bGFiMRwwGgYJKoZIhvcNAQkBFg13ZWJANDA0bGFiLmZyMRMw +EQYDVQQDDApkZXYuc2hhYXJrMB4XDTE5MTExNDEwMzU0NloXDTIwMTExMzEwMzU0 +NloweTELMAkGA1UEBhMCRlIxFjAUBgNVBAgMDUlsZS1kZS1GcmFuY2UxDjAMBgNV +BAcMBVBhcmlzMQ8wDQYDVQQKDAY0MDRsYWIxHDAaBgkqhkiG9w0BCQEWDXdlYkA0 +MDRsYWIuZnIxEzARBgNVBAMMCmRldi5zaGFhcmswggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDOeyhxP75JJ5KHKoacVr5JLV2QOizhImWnQtsT6oi1DRD+ +KFyiugHQkMlPx92RE0HIp8juTyzkD5JZEGge4iVWwGHWpYgSafmyZFs9dw+D/ETG +BJ3ac5nm/53tadCBOfzw3L7SmpHTNHjDR87BLLBOaEfmjZGQJFgqdxBkrcJETWxq +0d9sNWV4iIe/2YPmCpXTmgXl1vYovNI9BNgRcwc876NukVHY3nn+d6O/WN4ec0pQ +M1eevJNBeT5Aj1ThJco/0CnTme5n3U7F7XqRrIVImlWyv9Jhu8KAw4V5+ps976fi +yEP19e4JbUsA2ZizAFVwUYz7guszNxcYbdF9fFRNAgMBAAGjgZ8wgZwwHQYDVR0O +BBYEFIDddQnfmFy6lHjCnnpg2Yt/UMRxMB8GA1UdIwQYMBaAFIDddQnfmFy6lHjC +nnpg2Yt/UMRxMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMBMGA1UdJQQMMAoGCCsG +AQUFBwMBMC0GA1UdEQQmMCSCCmRldi5zaGFhcmuCFmRldi1zaGFhcmtBdEhpdmUu +bG9jYWwwDQYJKoZIhvcNAQELBQADggEBAJzc9bA1wH6V0h2FStJGDbr6ZdKdar8e +7AWnMpY+g3turJHUdvKkuVfdWlwyhSv6etViBi9q0m6pKrpLKz75dbyXCTzzhr4u +BEZ1QVqkumDabIO9K2dgryWHE8twxdEfJoWl5kh/u3dPpP6VUnia0a1cLAeZvyUy +B0OaAc0uFL76eWgUK7H3AVLMsjHSitBmpXz20pDNSh9yelvDJ8Jj40p95zXj3cKh +kFJW8WqTeQqXZ5SaxVxsExEZ0XGySHf3lgHcD5VQbrk1A9/VNAnYATYVQY0VBpDo +M5pgUQisp9M95PU0hs7PPY1wQn8AEi7f5AuOBdQi1JPVqv8hl5dVlVE= +-----END CERTIFICATE----- diff --git a/resources/ssl/dev.shaark.key b/resources/ssl/dev.shaark.key new file mode 100644 index 0000000..68a805a --- /dev/null +++ b/resources/ssl/dev.shaark.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDOeyhxP75JJ5KH +KoacVr5JLV2QOizhImWnQtsT6oi1DRD+KFyiugHQkMlPx92RE0HIp8juTyzkD5JZ +EGge4iVWwGHWpYgSafmyZFs9dw+D/ETGBJ3ac5nm/53tadCBOfzw3L7SmpHTNHjD +R87BLLBOaEfmjZGQJFgqdxBkrcJETWxq0d9sNWV4iIe/2YPmCpXTmgXl1vYovNI9 +BNgRcwc876NukVHY3nn+d6O/WN4ec0pQM1eevJNBeT5Aj1ThJco/0CnTme5n3U7F +7XqRrIVImlWyv9Jhu8KAw4V5+ps976fiyEP19e4JbUsA2ZizAFVwUYz7guszNxcY +bdF9fFRNAgMBAAECggEAZJrlbaidUo+ReYJi7DHnrUgJWoi97UQRO5n7nIyd53li +WjPYTwFKeRDSxaigcFttphL6eALj4Islx3eTA9k0UDyUbz1gO3ifTShQvHYSfUCh +UcpWD2ZcCo1pqY/xI8XZVJJ596uQedQLMzr9pmnbzZhJ0DASSKUswCQbPLLdAOHI +bRfJ0jt+VJTJFJNj8jpSv4hQqALRem5l1RgLtgoZhADId5ObuVdd/ZNt2YUoi7Zj +nR5eGSWuHOtROEG0fkl+VrCtm930DiBIh+/V9i+z5nwTqsctk0kHhVDzZxuZiqME +eOBrUa3Yo4rBbC3wOBoA52sBPzDtHWZKu9w9HbZNgQKBgQDo6bLdmlPV0CYHSvKv +NpPwzH/V52WdJ60AY6G+Z0A7EGzVJJlOsSr5c6ZTvjhSFU4OGWsrQxbqFxvmgMbi +HNDBOBgrCqk7FLH3BVvLre1IYIBcZNzRKidQdTRJyZq/P1k4ugQseUsn8s6HIKCx +JE+Tbupef9/dl7Eb/nEam9fYqQKBgQDi8ryheI+O85+squ7HjnqtaisV++nhQG3w +B4SjF5m1MjuUJYG38pqGwYO2U4SlruoK9hWn/A3CiukL6VHi6McYvfhKG87OGeSU +Q1cMIKnEgVr1buTk2V/1ok7d22r7VtWuA37jGlY5O+NiG89ddKIgb00jDJFI8m7L +ZiALr57xBQKBgQC3vpZDSNrWlQ1LN49ZNt9jWpGHOLPrVT+gTPlu8pmzfvO8+tCP +Simy/c+7xRc9el1HtjnbuWO8bVqvb+x2uXDe3dgDLLfxShRT4kBW4PGO5cKeIVwr +DuxRBwWnKIsSUXGb1PQx+caWz3CrHcxns1Or5hazUoJTmLY6dXLZIRUZcQKBgQC9 +C/aVixgKvGYGL104XjdSvV2msnHgcQsjJyAVu1MO3QlEHvovgKe4GPrepjOY0Ful +RdhEVnIf3BbFFVZg7gbrVVO+Z+udQ3RlDLM2Jv9D8X0TdYy2FV0aAFox9NTpCSx2 +B/NqukWY54pB72iNMNrcqdpXl+BuI4SnairHkUOVAQKBgCYmZ3LuQeqBESiHxJwH +psOW0m4s/SVrHbYqrVWIj5rPQocGpCJXJAtFcqkAAT387GRaiaJCVaKrz/Av130e +eRnyCDWqkRdO5ksXEEM8FgFU+041sndEP8LQP2AtsykAI+jWk+rPns91ivUC9ZRh +gUe3meAMjO0Q/LvW7PKH3mI2 +-----END PRIVATE KEY----- diff --git a/resources/ssl/dev.shaarli.crt b/resources/ssl/dev.shaarli.crt deleted file mode 100644 index 1fbaf3e..0000000 --- a/resources/ssl/dev.shaarli.crt +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID3zCCAsegAwIBAgIJALNymnhtuAWuMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNV -BAYTAkZSMRYwFAYDVQQIDA1JbGUtZGUtRnJhbmNlMQ4wDAYDVQQHDAVQYXJpczEQ -MA4GA1UECgwHU2hhYXJsaTEUMBIGA1UEAwwLZGV2LnNoYWFybGkwHhcNMTkxMDMw -MTQyNjAxWhcNMjAxMDI5MTQyNjAxWjBdMQswCQYDVQQGEwJGUjEWMBQGA1UECAwN -SWxlLWRlLUZyYW5jZTEOMAwGA1UEBwwFUGFyaXMxEDAOBgNVBAoMB1NoYWFybGkx -FDASBgNVBAMMC2Rldi5zaGFhcmxpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEA2xeI4xDur0LovfUqHVBuSVaJwDmo0E9CG5QV+C28bd5mApBfOTDkpTwZ -cx97HFWsfB2BLpmh1vJpTsfpDcJ1avBV+tMAeBbHF+V162FmtcEL/BRCyfot8ZUp -TJT+v74M5z2eC0lV68taKqJj1zLTTlBz/YLXJBvkDJVgEySbPfP17dALWx9FHxPw -tG1blgVIXQ9+t/TilX/lwHzQu50+Xm1K6RT6OCqMizFRhiHWsGjQOugBimv7u2vg -lStTxFO72W9MLSq2sQZOC/Op+tJzrzjDnbzb3mY8vaB3Cba94O7E+G07kbhUuwrd -N/GT2M1uJOAW2imc3YOBAl5gcIObAwIDAQABo4GhMIGeMB0GA1UdDgQWBBT99XcE -7gykFhaF9Sga+qdmc+s/ZjAfBgNVHSMEGDAWgBT99XcE7gykFhaF9Sga+qdmc+s/ -ZjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAv -BgNVHREEKDAmggtkZXYuc2hhYXJsaYIXZGV2LXNoYWFybGlBdEhpdmUubG9jYWww -DQYJKoZIhvcNAQELBQADggEBAJPp9tDMbfO95iHbHpo74lofdrXbUz5frFjGm8vS -YmM5MuXYigy8YzjzHH94rgWN8h9zzJByvghlvBIWeZQhkNnYGh5gMAD5Q2tsaePs -tWTkJAAglXDSLdGExdbJ1Z+zpIJLraIhTQAj/VrvFEHiQ2rub7w4l9CnWzAHZRaa -AWq5A0dySwIsPSKf8VLBTQiDzQp9Z5wGhIjxbnkW0bd9sXrPOGWG88pMDkezgWLu -Apcy1Nz2YwcOojekaU7iqzP3HFhGigPjXC0ZYULXeTv2ezgfVroC27e0+3lB970C -jKBA1C5+1yIhs2g5OOTxN9sdjPmE2mq8UOMPTwRgGdfrKvk= ------END CERTIFICATE----- diff --git a/resources/ssl/dev.shaarli.key b/resources/ssl/dev.shaarli.key deleted file mode 100644 index 3365fb6..0000000 --- a/resources/ssl/dev.shaarli.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbF4jjEO6vQui9 -9SodUG5JVonAOajQT0IblBX4Lbxt3mYCkF85MOSlPBlzH3scVax8HYEumaHW8mlO -x+kNwnVq8FX60wB4FscX5XXrYWa1wQv8FELJ+i3xlSlMlP6/vgznPZ4LSVXry1oq -omPXMtNOUHP9gtckG+QMlWATJJs98/Xt0AtbH0UfE/C0bVuWBUhdD3639OKVf+XA -fNC7nT5ebUrpFPo4KoyLMVGGIdawaNA66AGKa/u7a+CVK1PEU7vZb0wtKraxBk4L -86n60nOvOMOdvNveZjy9oHcJtr3g7sT4bTuRuFS7Ct038ZPYzW4k4BbaKZzdg4EC -XmBwg5sDAgMBAAECggEAAzS59RCnXXsuKrFut1UY+AvDIkP1u26degfVtnb83eK2 -PW1dZ1nWzrAtcyjPxV9fkcVgwYzP+HQ9pEB6oY/p5fG0YGI8DIXQzgG2kwYu2ZQE -l+C4BXqat4FGRG+dtrKSP8QADww4rKWiISOVMG3295tnxxrmCQo7cQ+ygzUy7Foh -mhHP03f5wlsW+/ELc/t276xt+uNi6n5qUjxgNY5WFU/XVL5M+8xdyw0dOmkjOVzv -jwymBFJ7eb+T+YvZTSwmo3xUSTNcFIz4Qmzm740p+2Ngidi7PSpqHW94/D0jIJ61 -yMsPAkOdA36I5lp37gTx9/Dbr83H8XJGv3ARrkIz0QKBgQD8pmvlUFNYgxX0h2Pe -uoaPpSbZJovkBl1NR6KFpFRYJc/9GssbsvxLySmWIkuWrK2FkMD2SqHPevf27xbh -1/p/p+Wy9OXQSxoLr/4Tk40F1FAioIc+Ord84T8Ov3gg2dI9PiFs9upBOZOQZgS6 -12dGYSsZkf78Ac4V/0pjC1vXWwKBgQDd/zSpCYPJ0WvgI2tZ4WPIKhA/PkrhwtV/ -eO7/B6gHJjcoz7i5Y3PEhGQFMY29E/j6DSI4ozoToZs6O52x+/pA1B2L/4Enjnwx -b6uMI3DMeRxvi2s/s8q0J8TdjkhkgBSuTOQEtVVX0JoqJaXDyV/AfL73O37IkoHY -iSIbNJpDeQKBgQCpn5IRAzzx0BCNe9ixUMnG5zqN0DNbhGpf2BhlYU6/X6Okariy -gBijSQuCoMPfBU/6vJTQxoqcohKY1yyltDuaOT8eRw2EKufxsNcEjavAniqvFNe4 -D/PhA9kyLZqZc6STOYN3hM8Bu4Y3DEdgqf3MYrBtGnf2+b9DRYLLvHSMwQKBgBc+ -d3cThfcFtHPdgYoBrX7x2I2mqhSFX/Fe6jdNx+wntjLRvRe8MAzth8N7csnPY4xa -/7BKdvRDQYuRXmuaZJORIh7ce9t2cc6DUMT1mQPv0mhjgrFC1ACVAWnpUe8j8gZm -CqHrkqoFL38mPfsIBLyU0zHzysyZenr/sNCEa3qRAoGAerbO7giFwoSRzknz2+a8 -3GTuJBVeVyJ19ndP92aVg7a5ywYHKGhy8tZjL2Y1bU1JEMKRNPCBGLe9u1FMikgk -OOY8g2b/qD11LYYMy9a7ShFwbuiQLlVjfXUPfup4eO/5EbD+ktL4gYzyQrsBqJEI -UNsdBzIJFd0XDNImkmPsKT4= ------END PRIVATE KEY----- diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 45cc3b1..c425602 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -3,7 +3,7 @@ @include('layouts.partials.head') - +
@include('layouts.partials.navbar')
diff --git a/resources/views/layouts/manage.blade.php b/resources/views/layouts/manage.blade.php index 951bb50..00a8553 100644 --- a/resources/views/layouts/manage.blade.php +++ b/resources/views/layouts/manage.blade.php @@ -3,7 +3,7 @@ @include('layouts.partials.head') - +
@include('layouts.partials.navbar')
diff --git a/resources/views/layouts/partials/footer.blade.php b/resources/views/layouts/partials/footer.blade.php index 352a378..ad1acca 100644 --- a/resources/views/layouts/partials/footer.blade.php +++ b/resources/views/layouts/partials/footer.blade.php @@ -1,8 +1,8 @@