From a496ad5814233a454ce733e660252c5af54f75cd Mon Sep 17 00:00:00 2001 From: James Cole Date: Fri, 22 May 2015 19:18:00 +0200 Subject: [PATCH] Simple routine to encrypt entries which were not encrypted yet. --- .env.example | 3 +- app/Http/Kernel.php | 1 + app/Http/Middleware/Cleanup.php | 169 ++++++++++++++++++++++++++++++++ app/Http/routes.php | 2 +- 4 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 app/Http/Middleware/Cleanup.php diff --git a/.env.example b/.env.example index 9259db3b04..2d57030477 100644 --- a/.env.example +++ b/.env.example @@ -16,4 +16,5 @@ EMAIL_DRIVER=smtp EMAIL_USERNAME= EMAIL_PASSWORD= ANALYTICS_ID= -EMAIL_PRETEND=false \ No newline at end of file +EMAIL_PRETEND=false +RUNCLEANUP=true \ No newline at end of file diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 88d5bd657e..65a70dc692 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -37,6 +37,7 @@ class Kernel extends HttpKernel 'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth', 'guest' => 'FireflyIII\Http\Middleware\RedirectIfAuthenticated', 'range' => 'FireflyIII\Http\Middleware\Range', + 'cleanup' => 'FireflyIII\Http\Middleware\Cleanup', 'reminders' => 'FireflyIII\Http\Middleware\Reminders', 'piggybanks' => 'FireflyIII\Http\Middleware\PiggyBanks', diff --git a/app/Http/Middleware/Cleanup.php b/app/Http/Middleware/Cleanup.php new file mode 100644 index 0000000000..a09b5ff127 --- /dev/null +++ b/app/Http/Middleware/Cleanup.php @@ -0,0 +1,169 @@ +auth = $auth; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * + * @return mixed + */ + public function handle(Request $request, Closure $next) + { + if ($this->auth->guest()) { + if ($request->ajax()) { + return response('Unauthorized.', 401); + } else { + return redirect()->guest('auth/login'); + } + } + $run = env('RUNCLEANUP') == 'true' ? true : false; + $count = 0; + + if ($run) { + //encrypt account name + $set = Account::where('encrypted', 0)->take(5)->get(); + /** @var Account $entry */ + foreach ($set as $entry) { + $count++; + $name = $entry->name; + $entry->name = $name; + $entry->save(); + } + unset($set, $entry, $name); + + //encrypt bill name + $set = Bill::where('name_encrypted', 0)->take(5)->get(); + /** @var Bill $entry */ + foreach ($set as $entry) { + $count++; + $name = $entry->name; + $entry->name = $name; + $entry->save(); + } + unset($set, $entry, $name); + + //encrypt bill match + $set = Bill::where('match_encrypted', 0)->take(5)->get(); + /** @var Bill $entry */ + foreach ($set as $entry) { + $match = $entry->match; + $entry->match = $match; + $entry->save(); + } + unset($set, $entry, $match); + + //encrypt budget name + $set = Budget::where('encrypted', 0)->take(5)->get(); + /** @var Budget $entry */ + foreach ($set as $entry) { + $count++; + $name = $entry->name; + $entry->name = $name; + $entry->save(); + } + unset($set, $entry, $name); + + //encrypt category name + $set = Category::where('encrypted', 0)->take(5)->get(); + /** @var Category $entry */ + foreach ($set as $entry) { + $count++; + $name = $entry->name; + $entry->name = $name; + $entry->save(); + } + unset($set, $entry, $name); + + //encrypt piggy bank name + $set = PiggyBank::where('encrypted', 0)->take(5)->get(); + /** @var PiggyBank $entry */ + foreach ($set as $entry) { + $count++; + $name = $entry->name; + $entry->name = $name; + $entry->save(); + } + unset($set, $entry, $name); + + //encrypt transaction journal description + $set = TransactionJournal::where('encrypted', 0)->take(5)->get(); + /** @var TransactionJournal $entry */ + foreach ($set as $entry) { + $count++; + $description = $entry->description; + $entry->description = $description; + $entry->save(); + } + unset($set, $entry, $name); + + + //encrypt budget limit amount + //encrypt limit repetition amount + //encrypt piggy bank event amount + //encrypt piggy bank repetition currentamount + //encrypt piggy bank targetamount + + //encrypt preference name (add field) + //encrypt preference data (add field) + //encrypt reminder metadata + //encrypt transaction amount + } + if ($count == 0 && $run) { + Session::flash('warning', 'Please open the .env file and change RUNCLEANUP=true to RUNCLEANUP=false'); + } + + + // + // + //create get/set routine for budget limit amount + //create get/set routine for limit repetition amount + //create get/set routine for piggy bank event amount + //create get/set routine for piggy bank repetition currentamount + //create get/set routine for piggy bank targetamount + //create get/set routine for transaction amount + + + return $next($request); + } + +} diff --git a/app/Http/routes.php b/app/Http/routes.php index 1987fbd585..3f1f2066cf 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -199,7 +199,7 @@ Route::controllers( */ Route::group( ['middleware' => ['auth', 'range', 'reminders', 'piggybanks']], function () { - Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index']); + Route::get('/', ['uses' => 'HomeController@index', 'as' => 'index','middleware' => 'cleanup']); Route::get('/home', ['uses' => 'HomeController@index', 'as' => 'home']); Route::post('/daterange', ['uses' => 'HomeController@dateRange', 'as' => 'daterange']); Route::get('/flush', ['uses' => 'HomeController@flush', 'as' => 'flush']);