diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php deleted file mode 100644 index 0ccb918..0000000 --- a/app/Http/Controllers/Controller.php +++ /dev/null @@ -1,10 +0,0 @@ -validate($request, [ + 'email' => 'required|email|unique:users' + ]); + + $token = bin2hex(random_bytes(72)); + + $user = new User(['email' => $data['email']]); + $user->token = $token; + $user->save(); + + return view('registered', [ + 'user' => $user, + ]); + + } catch (ValidationException $e) { + $errors = $e->errors(); + $data = []; + } catch (\Exception $e) { + $errors = ['email' => 'Impossible de générer le token']; + $data = []; + } + + return view('registration', [ + 'data' => $data, + 'errors' => $errors + ]); + } +} diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 1780e06..6e7ae6f 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -1,13 +1,5 @@ @extends('layouts.app') -@section('title', 'Page Title') - -@section('sidebar') - @parent - -

This is appended to the master sidebar.

-@endsection - @section('content') -

This is my body content.

+ @include('registration') @endsection \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index def05e6..f54018d 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -1,16 +1,101 @@ - - - - - App Name - @yield('title') - - - @section('sidebar') - This is the master sidebar. - @show - -
- @yield('content') + + + + + + + + + + + + Shikiryu - Read Later by Email Bookmarklet + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Welcome to the Read Later by Email Bookmarklet Generator

+
+ +
+ @yield('content') +
+
+

What's a bookmarklet???

+

A bookmarklet is a small javascript shortcut you can put in your bookmark toolbar and will improve your surfing experience

+

What's the "Read Later by Email Bookmarklet"?

+

This bookmarklet, once clicked, will send you an e-mail with the title and the link of the current page you're viewing.
+ In summary, it's a reminder, a time saver.

+
+

How to use it?

+

+ To use it, put your email into the field up this text and generate your personal link. Once generated, drag and drop the link into your bookmark.
+ While you're on a page you want to read later, click it. A message should tell you if the mail is sent or if there was an error. In the first case, you can close the page! Easy.
+ In the second case, you should email me with the error you got. I'll answer you as soon as possible! I promise!

+

Why should I use it?

+

So many examples. For example, I use it for 3 things :
1. My own little delicious in my mail.
2. To have access to a page I wanted to read at work but had no time for that atm.
3. To forward page I liked to my friends or family.

I'm sure there's more use to it ;)

+

Is my privacy safe?

+

Short answer : yes and... no. This service does store your email for security reasons but never use your email otherwise! It just generate the bookmarklet dynamically with the given email. Anyway, there are checks to make sure no abuse is done with the service and you can contact me if you need your email to be blacklisted.

So, what's not safe? Any body who have access to your browser can have access to your email if they check the bookmarklet code. Therefor, don't use it in a cyber cafe for example. :)

+
+
+
+

Un bookmarklet ? C'est quoi ?

+

Un bookmarklet est un petit bout de javascript qu'on peut placer dans sa barre de raccourci et permet d'améliorer le surf sur internet grâce à de petites améliorations

+

Et celui-ci, il fait quoi ?

+

Ce bookmarklet, une fois cliqué, envoie un email avec le titre et le lien de la page courante à l'adresse que vous lui indiquez préalablement.
+ En résumé, c'est un pense-bête, il fait gagner du temps.

+
+

Comment on l'utilise ?

+

+ Pour se faire, entrez votre email dans le champs ci-dessus et générer votre lien personnel. Une fois généré, glissez le dans votre barre de favoris.
+ Ceci réalisé, quand vous serez sur une page à lire plus tard ou à favoriser, cliquez-le. Un message devrait apparaître pour vous signaler si l'email est envoyé ou non. Dans le 1er cas, vous pouvez tout simplement fermer la page.
Dans le 2nd cas, vous devriez m'envoyer un email en m'indiquant l'erreur occasionnée. Je vous répondrai le plus vite possible ! Promis !

+

Pourquoi je devrais l'utiliser ?

+

Tellement d'usages différents... Par exemple, je l'utilise pour 3 choses :
1. Mon propre petit delicious dans mes mails.
2. Pour avoir accès à la page que j'aimerai tant lire au travail mais qu'il me manque le temps (maudites réunions !).
3. Pour transférer une page que j'aime à des amis ou à la famille plus tard.

Mais je suis sûr qu'il y a d'autres emplois possibles ;)

+

Mes données restent confidentielles ?

+

Réponse rapide : oui... et non. Ce service enregistre votre e-mail pour des raisons de sécurité (lisez la suite) mais n'utilise jamais votre adresse ! JAMAIS ! Je déteste le spam. L'adresse est utilisée uniquement pour générer dynamiquement le bookmarklet unique pour celle-ci. Il y a parfois des vérifications pour la détection d'abus du service (spam sur une adresse, nombre d'utilisation abusive, etc.). Si vous êtes victime d'un abus, merci de me contacter afin que je mette votre email en liste noire.

Mais alors, pourquoi ce n'est pas confidentiel ? Simplement car toute personne ayant accès à votre navigateur web peut voir votre adresse email ou utiliser le bookmarklet frauduleusement. De ce fait, il est déconseillé de l'utiliser depuis un cyber café par exemple :)

- +
+ + +
+ + + + + + + + \ No newline at end of file diff --git a/resources/views/registered.blade.php b/resources/views/registered.blade.php new file mode 100644 index 0000000..c9dd623 --- /dev/null +++ b/resources/views/registered.blade.php @@ -0,0 +1,10 @@ +token; ?> + Votre token est le +1?(id=\'[\'+id+\']\'):(id=\'\');xp=\'/\'+el.tagName.toLowerCase()+id+xp;}return%20xp;}jQuery(\'*\').bind(\'mouseenter\',function(){jQuery(\'*\').removeClass(\'shikihover\');jQuery(\'*\').css(\'border\',\'\');jQuery(this).css(\'border\',\'3px%20solid%20yellow\');jQuery(this).addClass(\'shikihover\');});jQuery(\'.shikihover\').live(\'click\',function(){jQuery(\'*\').unbind(\'mouseenter\').removeClass(\'shikihover\');jQuery(this).css(\'border\',\'\');var%20q=\'&q=\'+gx(jQuery(this)),d=document,t=d.title,f=\'//' . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, -9) . '\',m=\'' . $token . '\',l=d.location,e=encodeURIComponent,p=\'?v=1&u=\'+e(l.href)+\'&t=\'+e(t)+\'&m=\'+e(m),u=f+p+q;newScript=d.createElement(\'script\');newScript.type=\'text/javascript\';newScript.src=u;d.body.appendChild(newScript);});}})())">Bookmark by email'; + } else { // bookmarklet pour l'envoi normal + echo "Bookmark by email"; + } +} \ No newline at end of file diff --git a/resources/views/registration.blade.php b/resources/views/registration.blade.php new file mode 100644 index 0000000..b3dd6c3 --- /dev/null +++ b/resources/views/registration.blade.php @@ -0,0 +1,6 @@ +
+ + + + +
diff --git a/routes/web.php b/routes/web.php index 1dd8e94..2cff66a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -10,9 +10,11 @@ | and give it the Closure to call when that URI is requested. | */ - +/** @var \Laravel\Lumen\Routing\Router $router */ $router->get('/', 'HomeController@home'); +$router->post('/register', 'HomeController@iframe'); + $router->post('/api/{token}', function($token) { }); \ No newline at end of file