firefly-iii/bootstrap/start.php

109 lines
4.3 KiB
PHP
Raw Normal View History

2014-06-28 02:41:44 -05:00
<?php
2014-06-30 03:47:14 -05:00
if (!function_exists('mf')) {
function mf($n, $coloured = true)
2014-06-30 03:47:14 -05:00
{
$n = floatval($n);
$n = round($n, 2);
2014-06-30 03:47:14 -05:00
$string = number_format($n, 2, ',', '.');
if ($coloured === true && $n === 0.0) {
return '<span style="color:#999">&#8364; ' . $string . '</span>';
2014-06-30 03:47:14 -05:00
}
if ($coloured === true && $n > 0) {
return '<span class="text-success">&#8364; ' . $string . '</span>';
2014-06-30 03:47:14 -05:00
}
if ($coloured === true && $n < 0) {
return '<span class="text-danger">&#8364; ' . $string . '</span>';
2014-06-30 03:47:14 -05:00
}
2014-07-28 14:33:32 -05:00
return '&#8364; ' . $string;
2014-06-30 03:47:14 -05:00
}
}
2014-06-28 02:41:44 -05:00
2014-07-28 14:33:32 -05:00
$app = new Illuminate\Foundation\Application;
2014-06-28 02:41:44 -05:00
/*
|--------------------------------------------------------------------------
| Detect The Application Environment
|--------------------------------------------------------------------------
|
| Laravel takes a dead simple approach to your application environments
| so you can just specify a machine name for the host that matches a
| given environment, then we will automatically detect it for you.
|
*/
$env = $app->detectEnvironment(
2014-11-17 00:33:18 -06:00
['local' => ['SMJD*'], 'homestead' => ['homestead']]
);
2014-06-28 02:41:44 -05:00
/*
|--------------------------------------------------------------------------
| Bind Paths
|--------------------------------------------------------------------------
|
| Here we are binding the paths configured in paths.php to the app. You
| should not be changing these here. If you need to change these you
| may do so within the paths.php file and they will be bound here.
|
*/
2014-06-30 03:47:14 -05:00
$app->bindInstallPaths(require __DIR__ . '/paths.php');
2014-06-28 02:41:44 -05:00
/*
|--------------------------------------------------------------------------
| Load The Application
|--------------------------------------------------------------------------
|
| Here we will load this Illuminate application. We will keep this in a
| separate location so we can isolate the creation of an application
| from the actual running of the application with a given request.
|
*/
2014-11-17 00:33:18 -06:00
$framework = $app['path.base'] . '/vendor/laravel/framework/src';
2014-06-28 02:41:44 -05:00
2014-06-30 03:47:14 -05:00
require $framework . '/Illuminate/Foundation/start.php';
2014-06-28 02:41:44 -05:00
2014-06-28 02:41:44 -05:00
/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.
|
*/
// do something with events:
2014-11-14 12:33:40 -06:00
//Event::subscribe('Firefly\Trigger\Limits\EloquentLimitTrigger');
//Event::subscribe('Firefly\Trigger\Piggybanks\EloquentPiggybankTrigger');
//Event::subscribe('Firefly\Trigger\Budgets\EloquentBudgetTrigger');
//Event::subscribe('Firefly\Trigger\Recurring\EloquentRecurringTrigger');
//Event::subscribe('Firefly\Trigger\Journals\EloquentJournalTrigger');
Event::subscribe('FireflyIII\Event\Piggybank');
Event::subscribe('FireflyIII\Event\Budget');
// TODO event that creates a relationship between transaction journals and recurring events when created.
// TODO event that updates the relationship between transaction journals and recurring events when edited.
// TODO event that creates a LimitRepetition when a Limit is created.
// event for when a transfer gets created and set an associated piggy bank; save as Piggy bank event.
// when this transfer gets edited, retro-actively edit the event and THUS also the piggy bank.
// event for when a transfer gets deleted; also delete related piggy bank event.
// event to create the first repetition (for non-repeating piggy banks) when the piggy bank is created.
// TODO event for when the non-repeating piggy bank is updated because the single repetition must also be changed.
// (also make piggy bank events "invalid" when they start falling outside of the date-scope of the piggy bank,
// although this not changes the amount in the piggy bank).
// TODO check if recurring transactions are being updated when journals are updated (aka no longer fitting, thus removed).
// TODO think about reminders.
2014-11-17 13:45:55 -06:00
// TODO an event that triggers and creates a limit + limit repetition when a budget is created, or something?
2014-11-17 13:55:31 -06:00
// TODO has many through needs to be added wherever relevant. Account > journals, etc.
2014-06-28 02:41:44 -05:00
return $app;