From 03c8cdbac2ce2ce41333124a30baa5b66b447eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Tue, 7 Feb 2023 23:25:45 +0100 Subject: [PATCH] Logo v QR --- VERSION | 2 +- lib/PZ/Controller/Shortcut.pm | 32 ++++++++++++++++---------------- public/logo.png | Bin 0 -> 40221 bytes templates/shortcuts.html.ep | 1 + 4 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 public/logo.png diff --git a/VERSION b/VERSION index 73462a5..e70b452 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.5.1 +2.6.0 diff --git a/lib/PZ/Controller/Shortcut.pm b/lib/PZ/Controller/Shortcut.pm index 199dd2a..310427f 100644 --- a/lib/PZ/Controller/Shortcut.pm +++ b/lib/PZ/Controller/Shortcut.pm @@ -3,6 +3,7 @@ use Mojo::Base 'Mojolicious::Controller', -signatures; use Data::Validate::URI qw(is_uri); use Image::PNG::QRCode 'qrpng'; +use GD; use Mojo::UserAgent; use constant SHORTCUT => qr/^[a-z\d\-]{1,32}$/; @@ -19,19 +20,6 @@ sub redirect ($c) { return; } -# TRACKER: -# foreach my $tracker ( $c->trackers() ) { -# if ( $c->param($tracker) ) { -# $c->stash( -# url => $shortcut->url, -# tracker_name => $tracker, -# tracker_value => $c->param($tracker), -# ); -# $c->render( 'tracker' ); -# return; -# } -# } - $shortcut->update({ counter => $shortcut->counter + 1 }); @@ -125,10 +113,22 @@ sub list ($c) { sub qr ($c) { - my $url = 'https://' . $c->config->{domain} . '/' . $c->stash->{shortcut}; - my $png = qrpng (text => $url, level => 4, scale => 5); + my $url = 'https://' . $c->config->{domain} . '/' . $c->stash->{shortcut}; + $c->trace($url); + + my $png = qrpng (text => $url, level => 4, scale => 6); + + my $qr = GD::Image->new($png); + my $logo = GD::Image->new($c->app->home . '/public/logo.png'); + + $qr->trueColor(1); + $logo->trueColor(1); + $logo->transparent($logo->colorClosest($logo->rgb($logo->getPixel(0,0)))); + + $qr->copyMerge($logo,73,73,0,0,100,100,80); + $c->res->headers->content_type('image/png'); - $c->render( data => $png ); + $c->render( data => $qr->png ); } 1; diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfb676d57f1e9a2f7a7c79876f6262c9435c70a GIT binary patch literal 40221 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 literal 0 HcmV?d00001 diff --git a/templates/shortcuts.html.ep b/templates/shortcuts.html.ep index 10d2b69..ff73b26 100644 --- a/templates/shortcuts.html.ep +++ b/templates/shortcuts.html.ep @@ -267,6 +267,7 @@ }, showInfo: function(shortcut) { + this.selectedShortcut = shortcut; this.selectedShortcut.full_url = 'https://<%= config->{domain} %>/'+ shortcut.shortcut ; this.shortcutInfoVisible = true; navigator.clipboard.writeText(this.selectedShortcut.full_url); -- GitLab