diff options
| -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 () { | 
