diff options
author | Camil Staps | 2017-09-20 17:12:43 +0200 |
---|---|---|
committer | Camil Staps | 2017-09-20 17:12:43 +0200 |
commit | e661ce344127ca8acd1300746c5132098578fab7 (patch) | |
tree | a0d55336f6d23d24ac08400c9846e30ca529b2af | |
parent | Hide top users on some pages (diff) |
Use POST for long queries; change request to TEXT type for the same reason
-rw-r--r-- | app/Http/Controllers/VerbController.php | 12 | ||||
-rw-r--r-- | composer.json | 3 | ||||
-rw-r--r-- | database/migrations/2017_09_20_150615_make_request_text.php | 32 | ||||
-rw-r--r-- | public/js/hebrewparsetrainer.js | 2 | ||||
-rw-r--r-- | resources/views/trainer.blade.php | 2 | ||||
-rw-r--r-- | routes/web.php | 2 |
6 files changed, 45 insertions, 8 deletions
diff --git a/app/Http/Controllers/VerbController.php b/app/Http/Controllers/VerbController.php index 59289c1..042bfe2 100644 --- a/app/Http/Controllers/VerbController.php +++ b/app/Http/Controllers/VerbController.php @@ -33,14 +33,14 @@ use Illuminate\Support\Facades\Validator; class VerbController extends Controller { public function random() { - $verbs = Verb::where('active', 1)->get(); + $verbs = Verb::where('active', 1); foreach (Input::get() as $col => $val) { - $val = explode(',', $val); - $verbs = $verbs->filter(function(Verb $item) use ($col, $val) { - return in_array($item->getAttribute($col), $val); - }); + if ($col == '_token') + continue; + $vals = explode(',', $val); + $verbs = $verbs->whereIn($col, $vals); } - $verb = $verbs->random(); + $verb = $verbs->get()->random(); $log = new RandomLog(); $log->request = json_encode(Input::get()); diff --git a/composer.json b/composer.json index 1d24a6a..7f8200c 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,8 @@ "php": ">=5.6.4", "laravel/framework": "5.3.*", "twbs/bootstrap": "^3.3", - "components/jquery": "^2.1" + "components/jquery": "^2.1", + "doctrine/dbal": "^2.5" }, "require-dev": { "fzaninotto/faker": "~1.4", diff --git a/database/migrations/2017_09_20_150615_make_request_text.php b/database/migrations/2017_09_20_150615_make_request_text.php new file mode 100644 index 0000000..4ccf82b --- /dev/null +++ b/database/migrations/2017_09_20_150615_make_request_text.php @@ -0,0 +1,32 @@ +<?php + +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Database\Migrations\Migration; + +class MakeRequestText extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::table('random_logs', function (Blueprint $table) { + $table->text('request')->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('random_logs', function (Blueprint $table) { + // + }); + } +} diff --git a/public/js/hebrewparsetrainer.js b/public/js/hebrewparsetrainer.js index e5666be..775285d 100644 --- a/public/js/hebrewparsetrainer.js +++ b/public/js/hebrewparsetrainer.js @@ -155,7 +155,9 @@ $(document).ready(function(){ var roots = $('select[name="root"]').val(); $.ajax('verb/random/', { + method: 'POST', data: { + _token: $('#csrf').val(), stem: $.makeArray(stems).join(), tense: $.makeArray(tenses).join(), root: $.makeArray(roots).join() diff --git a/resources/views/trainer.blade.php b/resources/views/trainer.blade.php index 70f1f3d..82cfe02 100644 --- a/resources/views/trainer.blade.php +++ b/resources/views/trainer.blade.php @@ -8,6 +8,8 @@ use HebrewParseTrainer\Tense; @section('sidebar') <form id="hebrewparsetrainer-settings"> + <input type="hidden" id="csrf" value="{{ csrf_token() }}"/> + <div class="form-group"> <h3>Stems</h3> @foreach (Stem::all() as $stem) diff --git a/routes/web.php b/routes/web.php index 40314cb..a4d1007 100644 --- a/routes/web.php +++ b/routes/web.php @@ -35,7 +35,7 @@ Route::group( return \HebrewParseTrainer\Tense::all(); }); - Route::get('/verb/random', + Route::post('/verb/random', '\App\Http\Controllers\VerbController@random'); Route::get('/contribute', function () { |