From 2be0b8da2a2ee8362763b081885fa6ed4af8e4df Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Mon, 27 Feb 2023 16:50:25 +0100 Subject: [PATCH] normalize filenames --- .../Commands/Parse/ImportLibraryItems.php | 143 +++++++++--------- .../BitcoinEvent/Form/BitcoinEventForm.php | 3 +- .../Livewire/BookCase/Form/OrangePillForm.php | 3 + .../Form/ContentCreatorForm.php | 3 +- .../Livewire/Library/Form/LibraryItemForm.php | 4 +- .../Livewire/Meetup/Form/MeetupEventForm.php | 7 + app/Http/Livewire/Meetup/Form/MeetupForm.php | 4 + .../Livewire/News/Form/NewsArticleForm.php | 44 +++--- app/Http/Livewire/Venue/Form/VenueForm.php | 1 + .../book_cases/oranged-pilled.blade.php | 19 +-- .../views/columns/meetups/action.blade.php | 17 +-- .../book-case/comment-book-case.blade.php | 21 ++- .../library/form/library-item-form.blade.php | 2 +- 13 files changed, 145 insertions(+), 126 deletions(-) diff --git a/app/Console/Commands/Parse/ImportLibraryItems.php b/app/Console/Commands/Parse/ImportLibraryItems.php index 50be546a..2ad96b77 100644 --- a/app/Console/Commands/Parse/ImportLibraryItems.php +++ b/app/Console/Commands/Parse/ImportLibraryItems.php @@ -11,14 +11,12 @@ class ImportLibraryItems extends Command { /** * The name and signature of the console command. - * * @var string */ protected $signature = 'import:l'; /** * The console command description. - * * @var string */ protected $description = 'Command description'; @@ -29,71 +27,71 @@ class ImportLibraryItems extends Command public function handle(): int { $items = [ - 'https://aprycot.media/blog/weg-zum-bitcoin-standard/' => 'Auf dem Weg zu einem Bitcoin-Standard || Gigi', - 'https://europeanbitcoiners.com/warum-wir-eine-konstante-geldmenge-benoetigen/' => 'B ~ C: Warum wir eine konstante Geldmenge benötigen || Aleksander Svetski', - 'https://aprycot.media/blog/bitcoin-bringt-das-in-ordnung/' => 'Bitcoin bringt das in Ordnung || Parker Lewis', - 'https://europeanbitcoiners.com/orange-new-deal/' => 'Bitcoin: der Orange New Deal || Andrew M. Baily & Bradley Rettler', - 'https://aprycot.media/blog/bitcoin-die-welt-wacht-auf/' => 'Bitcoin - die Welt wacht auf || Gigi', - 'https://aprycot.media/blog/bitcoin-ist-einer-fuer-alle/' => 'Bitcoin ist \'Einer für Alle\' || Parker Lewis', - 'https://europeanbitcoiners.com/bitcoin-ist-energie-die-durch-die-zeit-reisen-kann/' => 'Bitcoin ist Energie, die durch die Zeit reisen kann || Michael Dunworth', - 'https://aprycot.media/blog/bitcoin-ist-hoffnung/' => 'Bitcoin ist Hoffnung || Robert Breedlove', - 'https://aprycot.media/blog/bitcoin-ist-schlechter-ist-besser/' => 'Bitcoin ist “Schlechter ist Besser” || Gwern Branwen', - 'https://blog.karlklawatsch.com/bitcoin/bitcoin-ist-zeit/' => 'Bitcoin ist Zeit || Gigi', - 'https://aprycot.media/blog/bitcoin-ist-antifragil/' => 'Bitcoin ist antifragil || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-die-grosse-entfinanzialisierung/' => 'Bitcoin ist die große Entfinanzialisierung || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-nicht-durch-nichts-gedeckt/' => 'Bitcoin ist durch nichts gedeckt || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-ein-aufschrei/' => 'Bitcoin ist ein Aufschrei || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-ein-trojanisches-pferd-der-freiheit/' => 'Bitcoin ist ein trojanisches Pferd der Freiheit || Alex Gladstein', - 'https://aprycot.media/blog/bitcoin-ist-gesunder-menschenverstand/' => 'Bitcoin ist gesunder Menschenverstand || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-kein-schneeballsystem/' => 'Bitcoin ist kein Schneeballsystem || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-keine-energieverschwendung/' => 'Bitcoin ist keine Energieverschwendung || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-nicht-zu-langsam/' => 'Bitcoin ist nicht zu langsam || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-ist-nicht-zu-volatil/' => 'Bitcoin ist nicht zu volatil || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-kann-nicht-kopiert-werden/' => 'Bitcoin kann nicht kopiert werden || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-kann-nicht-verboten-werden/' => 'Bitcoin kann nicht verboten werden || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-macht-anderes-geld-ueberfluessig/' => 'Bitcoin macht anderes Geld überflüssig || Parker Lewis', - 'https://aprycot.media/blog/bitcoin-nicht-blockchain/' => 'Bitcoin, nicht Blockchain || Parker Lewis', - 'https://medium.com/aprycotmedia/bitcoins-anpflanzung-71ea533b89c5' => 'Bitcoins Anpflanzung || Dan Held', - 'https://aprycot.media/blog/bitcoins-lebensraeume/' => 'Bitcoins Lebensräume || Gigi', - 'https://aprycot.media/blog/bitcoins-einsatz-vor-ort-venezuela/' => 'Bitcoins\'s Einsatz vor Ort - Venezuela || Gigi', - 'https://europeanbitcoiners.com/bitcoin-und-psychdelika/' => 'Bitcoin und Psychedelika || Fractalencrypt', - 'https://europeanbitcoiners.com/bitcoin-und-die-kardinaltugenden-wie-das-kaninchenloch-tugendhaftes-verhalten-fordert/' => 'Bitcoin und die Kardinaltugenden: wie der Kaninchenbau tugendhaftes Verhalten fördert || Mitchell Askew', - 'https://aprycot.media/blog/bitcoin-und-die-amerikanische-idee/' => 'Bitcoin und die amerikanische Idee || Parker Lewis', - 'https://europeanbitcoiners.com/bitcoin-verkorpert-nikola-teslas-vision-fur-frieden-und-energieuberfluss/' => 'Bitcoin verkörpert Nikola Teslas Vision für Frieden und Energieüberfluss || Level39', - 'https://aprycot.media/blog/check-deine-finanziellen-privilegien/' => 'Check deine finanziellen Privilegien! || Alex Gladstein', - 'https://www.bitcoin.de/de/bitcoin-whitepaper-deutsch-html' => 'Das Bitcoin Whitepaper || Satoshi Nakamoto', - 'https://aprycot.media/blog/das-ei-des-phoenix/' => 'Das Ei des Phönix || Gigi', - 'https://europeanbitcoiners.com/das-manifest-der-bitcoin-hodler-friedfertige-und-monetar-selbstsourverane-individuen/' => 'Das Manifest der Bitcoin Hodler: friedfertige und monetär selbstsouveräne Individuen || The Sovereign Hodler 21', - 'https://medium.com/aprycotmedia/das-bullische-argument-f%C3%BCr-bitcoin-9665e9375727' => 'Das bullische Argument für Bitcoin || Vijay Boyapati', - 'https://medium.com/aprycotmedia/das-monetaere-argument-fuer-bitcoin-62559a4c7b7d' => 'Das monetäre Argument für Bitcoin || Ben Kaufman', - 'https://aprycot.media/blog/der-aufstieg-des-souveraenen-individuums/' => 'Der Aufstieg des souveränen Individuums || Gigi', - 'https://aprycot.media/blog/ewiger-kampf-||-bitcoin/' => 'Der ewige Kampf von Bitcoin || Gigi', - 'https://medium.com/aprycotmedia/die-bitcoin-reise-dab572e5ff72' => 'Die Bitcoin-Reise || Gigi', - 'https://aprycot.media/blog/konsequenzen-bitcoin-verbot/' => 'Die Konsequenzen eines Bitcoin-Verbots || Gigi', - 'https://aprycot.media/blog/die-suche-nach-digitalem-bargeld/' => 'Die Suche nach digitalem Bargeld || Alex Gladstein', - 'https://aprycot.media/blog/die-verantwortung-bitcoin-anzunehmen/' => 'Die Verantwortung, Bitcoin anzunehmen || Gigi', - 'https://europeanbitcoiners.com/die-woerter-die-wir-in-bitcoin-verwenden/' => 'Die Wörter, die wir in Bitcoin verwenden || Gigi', - 'https://aprycot.media/blog/die-wurzel-allen-uebels/' => 'Die Wurzel allen Übels || Fab The Fox', - 'https://aprycot.media/blog/die-zahl-null-und-bitcoin/' => 'Die Zahl Null und Bitcoin || Robert Breedlove', - 'https://europeanbitcoiners.com/die-makellose-schoepfung-||-bitcoin/' => 'Die makellose Schöpfung von Bitcoin || Pascal Huegli', - 'https://aprycot.media/blog/die-versteckten-kosten-des-petrodollars/' => 'Die versteckten Kosten des Petrodollars || Alex Gladstein', - 'https://aprycot.media/blog/freiheit-und-privatsphaere-zwei-seiter-der-gleichen-muenze/' => 'Freiheit und Privatsphäre - Zwei Seiten der gleichen Medaille || Gigi', - 'https://aprycot.media/blog/herren-und-sklaven-des-geldes/' => 'Herren und Sklaven des Geldes || Robert Breedlove', - 'https://europeanbitcoiners.com/hyperbitcoinisierung-der-gewinner-bekommt-alles/' => 'Hyperbitcoinsierung: Der Gewinner bekommt alles || ObiWan Kenobit', - 'https://europeanbitcoiners.com/ist-der-preis-||-bitcoin-volatil-es-ist-alles-relativ/' => 'Ist der Preis von Bitcoin volatil? Es ist alles relativ || Tim Niemeyer', - 'https://aprycot.media/blog/lebenszeichen/' => 'Lebenszeichen || Gigi', - 'https://aprycot.media/blog/liebe-familie-liebe-freunde/' => 'Liebe Familie, liebe Freunde || Gigi', - 'https://aprycot.media/?p=92629' => 'Magisches Internet-Geld || Gigi', - 'https://europeanbitcoiners.com/mises-der-urspruengliche-toxische-maximalist/' => 'Mises: der ursrpüngliche toxische Maximalist || Michael Goldstein', - 'https://aprycot.media/blog/kolonialismus-und-bitcoin/' => 'Monetären Kolonialismus mit Open-Source-Code bekämpfen || Alex Gladstein', - 'https://aprycot.media/blog/privatsphaere-in-bitcoin-bewaehrte-praktiken/' => 'Privatspähre in Bitcoin: Bewährte Praktiken || Gigi', - 'https://aprycot.media/blog/shelling-out-die-urspruenge-des-geldes/' => 'Shelling Out — Die Ursprünge des Geldes || Nick Szabo', - 'https://aprycot.media/blog/spekulative-attacken/' => 'Spekulative Attacken || Pierre Rochard', - 'https://aprycot.media/blog/unveraeusserliche-eigentumsrechte-recht-sprache-geld-und-moral-||-bitcoin/' => 'Unveränderliche Eigentumsrechte - Recht, Sprache, Geld und Moral von Bitcoin || Gigi', - 'https://europeanbitcoiners.com/warum-bitcoin-gut-fur-die-umwelt-ist/' => 'Warum Bitcoin gut für die Umwelt ist || Leon A. Wankum', - 'https://europeanbitcoiners.com/die-padagogik-von-bitcoin/' => 'Die Pädagogik von Bitcoin || Erik Cason', + 'https://aprycot.media/blog/weg-zum-bitcoin-standard/' => 'Auf dem Weg zu einem Bitcoin-Standard || Gigi', + 'https://europeanbitcoiners.com/warum-wir-eine-konstante-geldmenge-benoetigen/' => 'B ~ C: Warum wir eine konstante Geldmenge benötigen || Aleksander Svetski', + 'https://aprycot.media/blog/bitcoin-bringt-das-in-ordnung/' => 'Bitcoin bringt das in Ordnung || Parker Lewis', + 'https://europeanbitcoiners.com/orange-new-deal/' => 'Bitcoin: der Orange New Deal || Andrew M. Baily & Bradley Rettler', + 'https://aprycot.media/blog/bitcoin-die-welt-wacht-auf/' => 'Bitcoin - die Welt wacht auf || Gigi', + 'https://aprycot.media/blog/bitcoin-ist-einer-fuer-alle/' => 'Bitcoin ist \'Einer für Alle\' || Parker Lewis', + 'https://europeanbitcoiners.com/bitcoin-ist-energie-die-durch-die-zeit-reisen-kann/' => 'Bitcoin ist Energie, die durch die Zeit reisen kann || Michael Dunworth', + 'https://aprycot.media/blog/bitcoin-ist-hoffnung/' => 'Bitcoin ist Hoffnung || Robert Breedlove', + 'https://aprycot.media/blog/bitcoin-ist-schlechter-ist-besser/' => 'Bitcoin ist “Schlechter ist Besser” || Gwern Branwen', + 'https://blog.karlklawatsch.com/bitcoin/bitcoin-ist-zeit/' => 'Bitcoin ist Zeit || Gigi', + 'https://aprycot.media/blog/bitcoin-ist-antifragil/' => 'Bitcoin ist antifragil || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-die-grosse-entfinanzialisierung/' => 'Bitcoin ist die große Entfinanzialisierung || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-nicht-durch-nichts-gedeckt/' => 'Bitcoin ist durch nichts gedeckt || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-ein-aufschrei/' => 'Bitcoin ist ein Aufschrei || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-ein-trojanisches-pferd-der-freiheit/' => 'Bitcoin ist ein trojanisches Pferd der Freiheit || Alex Gladstein', + 'https://aprycot.media/blog/bitcoin-ist-gesunder-menschenverstand/' => 'Bitcoin ist gesunder Menschenverstand || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-kein-schneeballsystem/' => 'Bitcoin ist kein Schneeballsystem || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-keine-energieverschwendung/' => 'Bitcoin ist keine Energieverschwendung || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-nicht-zu-langsam/' => 'Bitcoin ist nicht zu langsam || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-ist-nicht-zu-volatil/' => 'Bitcoin ist nicht zu volatil || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-kann-nicht-kopiert-werden/' => 'Bitcoin kann nicht kopiert werden || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-kann-nicht-verboten-werden/' => 'Bitcoin kann nicht verboten werden || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-macht-anderes-geld-ueberfluessig/' => 'Bitcoin macht anderes Geld überflüssig || Parker Lewis', + 'https://aprycot.media/blog/bitcoin-nicht-blockchain/' => 'Bitcoin, nicht Blockchain || Parker Lewis', + 'https://medium.com/aprycotmedia/bitcoins-anpflanzung-71ea533b89c5' => 'Bitcoins Anpflanzung || Dan Held', + 'https://aprycot.media/blog/bitcoins-lebensraeume/' => 'Bitcoins Lebensräume || Gigi', + 'https://aprycot.media/blog/bitcoins-einsatz-vor-ort-venezuela/' => 'Bitcoins\'s Einsatz vor Ort - Venezuela || Gigi', + 'https://europeanbitcoiners.com/bitcoin-und-psychdelika/' => 'Bitcoin und Psychedelika || Fractalencrypt', + 'https://europeanbitcoiners.com/bitcoin-und-die-kardinaltugenden-wie-das-kaninchenloch-tugendhaftes-verhalten-fordert/' => 'Bitcoin und die Kardinaltugenden: wie der Kaninchenbau tugendhaftes Verhalten fördert || Mitchell Askew', + 'https://aprycot.media/blog/bitcoin-und-die-amerikanische-idee/' => 'Bitcoin und die amerikanische Idee || Parker Lewis', + 'https://europeanbitcoiners.com/bitcoin-verkorpert-nikola-teslas-vision-fur-frieden-und-energieuberfluss/' => 'Bitcoin verkörpert Nikola Teslas Vision für Frieden und Energieüberfluss || Level39', + 'https://aprycot.media/blog/check-deine-finanziellen-privilegien/' => 'Check deine finanziellen Privilegien! || Alex Gladstein', + 'https://www.bitcoin.de/de/bitcoin-whitepaper-deutsch-html' => 'Das Bitcoin Whitepaper || Satoshi Nakamoto', + 'https://aprycot.media/blog/das-ei-des-phoenix/' => 'Das Ei des Phönix || Gigi', + 'https://europeanbitcoiners.com/das-manifest-der-bitcoin-hodler-friedfertige-und-monetar-selbstsourverane-individuen/' => 'Das Manifest der Bitcoin Hodler: friedfertige und monetär selbstsouveräne Individuen || The Sovereign Hodler 21', + 'https://medium.com/aprycotmedia/das-bullische-argument-f%C3%BCr-bitcoin-9665e9375727' => 'Das bullische Argument für Bitcoin || Vijay Boyapati', + 'https://medium.com/aprycotmedia/das-monetaere-argument-fuer-bitcoin-62559a4c7b7d' => 'Das monetäre Argument für Bitcoin || Ben Kaufman', + 'https://aprycot.media/blog/der-aufstieg-des-souveraenen-individuums/' => 'Der Aufstieg des souveränen Individuums || Gigi', + 'https://aprycot.media/blog/ewiger-kampf-||-bitcoin/' => 'Der ewige Kampf von Bitcoin || Gigi', + 'https://medium.com/aprycotmedia/die-bitcoin-reise-dab572e5ff72' => 'Die Bitcoin-Reise || Gigi', + 'https://aprycot.media/blog/konsequenzen-bitcoin-verbot/' => 'Die Konsequenzen eines Bitcoin-Verbots || Gigi', + 'https://aprycot.media/blog/die-suche-nach-digitalem-bargeld/' => 'Die Suche nach digitalem Bargeld || Alex Gladstein', + 'https://aprycot.media/blog/die-verantwortung-bitcoin-anzunehmen/' => 'Die Verantwortung, Bitcoin anzunehmen || Gigi', + 'https://europeanbitcoiners.com/die-woerter-die-wir-in-bitcoin-verwenden/' => 'Die Wörter, die wir in Bitcoin verwenden || Gigi', + 'https://aprycot.media/blog/die-wurzel-allen-uebels/' => 'Die Wurzel allen Übels || Fab The Fox', + 'https://aprycot.media/blog/die-zahl-null-und-bitcoin/' => 'Die Zahl Null und Bitcoin || Robert Breedlove', + 'https://europeanbitcoiners.com/die-makellose-schoepfung-||-bitcoin/' => 'Die makellose Schöpfung von Bitcoin || Pascal Huegli', + 'https://aprycot.media/blog/die-versteckten-kosten-des-petrodollars/' => 'Die versteckten Kosten des Petrodollars || Alex Gladstein', + 'https://aprycot.media/blog/freiheit-und-privatsphaere-zwei-seiter-der-gleichen-muenze/' => 'Freiheit und Privatsphäre - Zwei Seiten der gleichen Medaille || Gigi', + 'https://aprycot.media/blog/herren-und-sklaven-des-geldes/' => 'Herren und Sklaven des Geldes || Robert Breedlove', + 'https://europeanbitcoiners.com/hyperbitcoinisierung-der-gewinner-bekommt-alles/' => 'Hyperbitcoinsierung: Der Gewinner bekommt alles || ObiWan Kenobit', + 'https://europeanbitcoiners.com/ist-der-preis-||-bitcoin-volatil-es-ist-alles-relativ/' => 'Ist der Preis von Bitcoin volatil? Es ist alles relativ || Tim Niemeyer', + 'https://aprycot.media/blog/lebenszeichen/' => 'Lebenszeichen || Gigi', + 'https://aprycot.media/blog/liebe-familie-liebe-freunde/' => 'Liebe Familie, liebe Freunde || Gigi', + 'https://aprycot.media/?p=92629' => 'Magisches Internet-Geld || Gigi', + 'https://europeanbitcoiners.com/mises-der-urspruengliche-toxische-maximalist/' => 'Mises: der ursrpüngliche toxische Maximalist || Michael Goldstein', + 'https://aprycot.media/blog/kolonialismus-und-bitcoin/' => 'Monetären Kolonialismus mit Open-Source-Code bekämpfen || Alex Gladstein', + 'https://aprycot.media/blog/privatsphaere-in-bitcoin-bewaehrte-praktiken/' => 'Privatspähre in Bitcoin: Bewährte Praktiken || Gigi', + 'https://aprycot.media/blog/shelling-out-die-urspruenge-des-geldes/' => 'Shelling Out — Die Ursprünge des Geldes || Nick Szabo', + 'https://aprycot.media/blog/spekulative-attacken/' => 'Spekulative Attacken || Pierre Rochard', + 'https://aprycot.media/blog/unveraeusserliche-eigentumsrechte-recht-sprache-geld-und-moral-||-bitcoin/' => 'Unveränderliche Eigentumsrechte - Recht, Sprache, Geld und Moral von Bitcoin || Gigi', + 'https://europeanbitcoiners.com/warum-bitcoin-gut-fur-die-umwelt-ist/' => 'Warum Bitcoin gut für die Umwelt ist || Leon A. Wankum', + 'https://europeanbitcoiners.com/die-padagogik-von-bitcoin/' => 'Die Pädagogik von Bitcoin || Erik Cason', 'https://europeanbitcoiners.com/bitcoin-first-warum-anleger-bitcoin-getrennt-von-anderen-digitalen-vermogenswerten-betrachten-mussen/' => 'Bitcoin First: Warum Anleger Bitcoin getrennt von anderen digitalen Vermögenswerten betrachten müssen || Fidelity Digital Assets', - 'https://blockinfo.ch/bitcoin-brechen-das-prinzip-von-hartem-geld/' => 'Bitcoin brechen — Das Prinzip von hartem Geld || Ben Kaufman', + 'https://blockinfo.ch/bitcoin-brechen-das-prinzip-von-hartem-geld/' => 'Bitcoin brechen — Das Prinzip von hartem Geld || Ben Kaufman', ]; $library = Library::firstOrCreate(['name' => 'Bitcoin Lesestoff by Gigi'], ['created_by' => 1]); @@ -103,17 +101,17 @@ class ImportLibraryItems extends Command $author = str($item)->after(' || '); $contentCreator = Lecturer::firstOrCreate(['name' => $author], [ - 'name' => $author, + 'name' => $author, 'created_by' => 1, - 'team_id' => 1, + 'team_id' => 1, ]); $libraryItem = LibraryItem::firstOrCreate(['name' => $name], [ - 'lecturer_id' => $contentCreator->id, - 'type' => 'blog_article', + 'lecturer_id' => $contentCreator->id, + 'type' => 'blog_article', 'language_code' => 'de', - 'value' => $link, - 'created_by' => 1, + 'value' => $link, + 'created_by' => 1, ]); try { @@ -123,6 +121,7 @@ class ImportLibraryItems extends Command if (isset($matches[1])) { $image = $matches[1]; $libraryItem->addMediaFromUrl($image) + ->usingFileName(md5($image->getClientOriginalName()).'.'.$image->getClientOriginalExtension()) ->toMediaCollection('main'); } else { $image = null; diff --git a/app/Http/Livewire/BitcoinEvent/Form/BitcoinEventForm.php b/app/Http/Livewire/BitcoinEvent/Form/BitcoinEventForm.php index b84d0da2..519cd092 100644 --- a/app/Http/Livewire/BitcoinEvent/Form/BitcoinEventForm.php +++ b/app/Http/Livewire/BitcoinEvent/Form/BitcoinEventForm.php @@ -47,7 +47,7 @@ class BitcoinEventForm extends Component if (!$this->bitcoinEvent) { $this->bitcoinEvent = new BitcoinEvent( [ - 'description' => '', + 'description' => '', 'show_worldwide' => true, ] ); @@ -76,6 +76,7 @@ class BitcoinEventForm extends Component if ($this->image) { $this->bitcoinEvent->addMedia($this->image) + ->usingFileName(md5($this->image->getClientOriginalName()).'.'.$this->image->getClientOriginalExtension()) ->toMediaCollection('logo'); } diff --git a/app/Http/Livewire/BookCase/Form/OrangePillForm.php b/app/Http/Livewire/BookCase/Form/OrangePillForm.php index bc895cd9..c3c315b8 100644 --- a/app/Http/Livewire/BookCase/Form/OrangePillForm.php +++ b/app/Http/Livewire/BookCase/Form/OrangePillForm.php @@ -50,6 +50,9 @@ class OrangePillForm extends Component } elseif ($this->orangePill->user_id !== auth()->id()) { abort(403); } + if (!$this->fromUrl) { + $this->fromUrl = url()->previous(); + } } public function save() diff --git a/app/Http/Livewire/ContentCreator/Form/ContentCreatorForm.php b/app/Http/Livewire/ContentCreator/Form/ContentCreatorForm.php index e8f7d9d3..8040426a 100644 --- a/app/Http/Livewire/ContentCreator/Form/ContentCreatorForm.php +++ b/app/Http/Livewire/ContentCreator/Form/ContentCreatorForm.php @@ -62,10 +62,11 @@ class ContentCreatorForm extends Component if ($this->image) { $this->lecturer->addMedia($this->image) + ->usingFileName(md5($this->image->getClientOriginalName()).'.'.$this->image->getClientOriginalExtension()) ->toMediaCollection('avatar'); } - return redirect($this->fromUrl ?? url()->route('welcome')); + return redirect($this->fromUrl); } public function render() diff --git a/app/Http/Livewire/Library/Form/LibraryItemForm.php b/app/Http/Livewire/Library/Form/LibraryItemForm.php index d60b59d2..bfb3c47d 100644 --- a/app/Http/Livewire/Library/Form/LibraryItemForm.php +++ b/app/Http/Livewire/Library/Form/LibraryItemForm.php @@ -72,7 +72,7 @@ class LibraryItemForm extends Component $this->libraryItem = new LibraryItem([ 'approved' => true, 'read_time' => 1, - 'value' => '', + 'value' => '', ]); if ($this->lecturer) { $this->library = Library::query() @@ -106,11 +106,13 @@ class LibraryItemForm extends Component if ($this->image) { $this->libraryItem->addMedia($this->image) + ->usingFileName(md5($this->image->getClientOriginalName()).'.'.$this->image->getClientOriginalExtension()) ->toMediaCollection('main'); } if ($this->file) { $this->libraryItem->addMedia($this->file) + ->usingFileName(md5($this->file->getClientOriginalName()).'.'.$this->file->getClientOriginalExtension()) ->toMediaCollection('single_file'); } diff --git a/app/Http/Livewire/Meetup/Form/MeetupEventForm.php b/app/Http/Livewire/Meetup/Form/MeetupEventForm.php index a67d7704..6f4c300a 100644 --- a/app/Http/Livewire/Meetup/Form/MeetupEventForm.php +++ b/app/Http/Livewire/Meetup/Form/MeetupEventForm.php @@ -21,6 +21,10 @@ class MeetupEventForm extends Component public array $series = []; + public ?string $fromUrl = ''; + + protected $queryString = ['fromUrl' => ['except' => '']]; + public function rules() { return [ @@ -52,6 +56,9 @@ class MeetupEventForm extends Component ->can('update', $this->meetupEvent)) { abort(403); } + if (!$this->fromUrl) { + $this->fromUrl = url()->previous(); + } } public function updatedMeetupEventStart($value) diff --git a/app/Http/Livewire/Meetup/Form/MeetupForm.php b/app/Http/Livewire/Meetup/Form/MeetupForm.php index fec7a53b..888ddd33 100644 --- a/app/Http/Livewire/Meetup/Form/MeetupForm.php +++ b/app/Http/Livewire/Meetup/Form/MeetupForm.php @@ -57,6 +57,9 @@ class MeetupForm extends Component ) { abort(403); } + if (!$this->fromUrl) { + $this->fromUrl = url()->previous(); + } } public function submit() @@ -66,6 +69,7 @@ class MeetupForm extends Component if ($this->image) { $this->meetup->addMedia($this->image) + ->usingFileName(md5($this->image->getClientOriginalName()).'.'.$this->image->getClientOriginalExtension()) ->toMediaCollection('logo'); } diff --git a/app/Http/Livewire/News/Form/NewsArticleForm.php b/app/Http/Livewire/News/Form/NewsArticleForm.php index 4ae8a527..1fbb77f9 100644 --- a/app/Http/Livewire/News/Form/NewsArticleForm.php +++ b/app/Http/Livewire/News/Form/NewsArticleForm.php @@ -23,22 +23,26 @@ class NewsArticleForm extends Component public array $temporaryUrls = []; + public ?string $fromUrl = ''; + + protected $queryString = ['fromUrl' => ['except' => '']]; + public function rules() { return [ - 'image' => [Rule::requiredIf(! $this->libraryItem->id), 'nullable', 'mimes:jpeg,png,jpg,gif', 'max:10240'], + 'image' => [Rule::requiredIf(!$this->libraryItem->id), 'nullable', 'mimes:jpeg,png,jpg,gif', 'max:10240'], - 'libraryItem.lecturer_id' => 'required', - 'libraryItem.name' => 'required', - 'libraryItem.type' => 'required', - 'libraryItem.language_code' => 'required', - 'libraryItem.value' => 'required', - 'libraryItem.subtitle' => 'required', - 'libraryItem.excerpt' => 'required', + 'libraryItem.lecturer_id' => 'required', + 'libraryItem.name' => 'required', + 'libraryItem.type' => 'required', + 'libraryItem.language_code' => 'required', + 'libraryItem.value' => 'required', + 'libraryItem.subtitle' => 'required', + 'libraryItem.excerpt' => 'required', 'libraryItem.main_image_caption' => 'required', - 'libraryItem.read_time' => 'required', - 'libraryItem.approved' => 'boolean', - 'libraryItem.news' => 'boolean', + 'libraryItem.read_time' => 'required', + 'libraryItem.approved' => 'boolean', + 'libraryItem.news' => 'boolean', ]; } @@ -46,16 +50,19 @@ class NewsArticleForm extends Component { if ($this->libraryItem === null) { $this->libraryItem = new LibraryItem([ - 'type' => 'markdown_article', - 'value' => '', - 'read_time' => 1, - 'news' => true, + 'type' => 'markdown_article', + 'value' => '', + 'read_time' => 1, + 'news' => true, 'language_code' => 'de', - 'approved' => auth() + 'approved' => auth() ->user() ->hasRole('news-editor'), ]); } + if (!$this->fromUrl) { + $this->fromUrl = url()->previous(); + } } public function updatedImages($value) @@ -76,17 +83,18 @@ class NewsArticleForm extends Component if ($this->image) { $this->libraryItem->addMedia($this->image) + ->usingFileName(md5($this->image->getClientOriginalName()).'.'.$this->image->getClientOriginalExtension()) ->toMediaCollection('main'); } - return to_route('article.overview', ['country' => null]); + return redirect($this->fromUrl); } public function delete() { $this->libraryItem->delete(); - return to_route('article.overview', ['country' => null]); + return redirect($this->fromUrl); } public function render() diff --git a/app/Http/Livewire/Venue/Form/VenueForm.php b/app/Http/Livewire/Venue/Form/VenueForm.php index 105cd9fc..9808a7f8 100644 --- a/app/Http/Livewire/Venue/Form/VenueForm.php +++ b/app/Http/Livewire/Venue/Form/VenueForm.php @@ -74,6 +74,7 @@ class VenueForm extends Component if ($this->images && count($this->images) > 0) { foreach ($this->images as $item) { $this->venue->addMedia($item) + ->usingFileName(md5($item->getClientOriginalName()).'.'.$item->getClientOriginalExtension()) ->toMediaCollection('images'); } } diff --git a/resources/views/columns/book_cases/oranged-pilled.blade.php b/resources/views/columns/book_cases/oranged-pilled.blade.php index 35c790d4..f97b3a6e 100644 --- a/resources/views/columns/book_cases/oranged-pilled.blade.php +++ b/resources/views/columns/book_cases/oranged-pilled.blade.php @@ -10,17 +10,14 @@ @endif -
- - - {{ __('💊 Orange Pill Now') }} - - - + + {{ __('💊 Orange Pill Now') }} + + {{ __('Details') }}
@else diff --git a/resources/views/columns/meetups/action.blade.php b/resources/views/columns/meetups/action.blade.php index ef11b70f..34db19ad 100644 --- a/resources/views/columns/meetups/action.blade.php +++ b/resources/views/columns/meetups/action.blade.php @@ -98,14 +98,13 @@ @endif @if(auth()->check() && auth()->user()->meetups->contains($row)) - - - - {{ __('Edit') }} - - + + + {{ __('Edit') }} + @endif diff --git a/resources/views/livewire/book-case/comment-book-case.blade.php b/resources/views/livewire/book-case/comment-book-case.blade.php index 481a7069..7c0e409e 100644 --- a/resources/views/livewire/book-case/comment-book-case.blade.php +++ b/resources/views/livewire/book-case/comment-book-case.blade.php @@ -5,26 +5,23 @@
-
- - - {{ __('💊 Orange Pill Now') }} - - +
+ + {{ __('💊 Orange Pill Now') }} +
-
+
    @foreach($bookCase->orangePills as $orangePill) @if($orangePill->user_id === auth()->id()) -
  • {{ __('Author') }}
-
+
{{ __('Create new author') }}