2014-06-28 02:41:44 -05:00
|
|
|
<?php
|
|
|
|
|
2014-06-30 03:47:14 -05:00
|
|
|
if (!function_exists('mf')) {
|
2014-12-13 16:40:25 -06:00
|
|
|
/**
|
2014-12-14 13:40:02 -06:00
|
|
|
* @param $amount
|
2014-12-13 16:40:25 -06:00
|
|
|
* @param bool $coloured
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2014-12-14 13:40:02 -06:00
|
|
|
function mf($amount, $coloured = true)
|
2014-06-30 03:47:14 -05:00
|
|
|
{
|
2014-12-23 22:58:26 -06:00
|
|
|
$currencySymbol = getCurrencySymbol();
|
2014-06-30 03:47:14 -05:00
|
|
|
|
2014-12-14 13:40:02 -06:00
|
|
|
$amount = floatval($amount);
|
|
|
|
$amount = round($amount, 2);
|
|
|
|
$string = number_format($amount, 2, ',', '.');
|
2014-06-30 03:47:14 -05:00
|
|
|
|
2014-12-15 12:39:01 -06:00
|
|
|
if ($coloured === true) {
|
|
|
|
if ($amount === 0.0) {
|
2014-12-23 23:10:39 -06:00
|
|
|
return '<span style="color:#999">' . $currencySymbol . ' ' . $string . '</span>';
|
2014-12-15 12:39:01 -06:00
|
|
|
}
|
|
|
|
if ($amount > 0) {
|
2014-12-23 23:10:39 -06:00
|
|
|
return '<span class="text-success">' . $currencySymbol . ' ' . $string . '</span>';
|
2014-12-15 12:39:01 -06:00
|
|
|
}
|
2014-12-19 14:18:42 -06:00
|
|
|
|
2014-12-23 23:10:39 -06:00
|
|
|
return '<span class="text-danger">' . $currencySymbol . ' ' . $string . '</span>';
|
2014-06-30 03:47:14 -05:00
|
|
|
}
|
2014-12-23 23:10:39 -06:00
|
|
|
|
2014-12-23 22:58:26 -06:00
|
|
|
// €
|
2014-12-23 23:10:39 -06:00
|
|
|
return $currencySymbol . ' ' . $string;
|
2014-12-23 22:58:26 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!function_exists('getCurrencySymbol')) {
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
function getCurrencySymbol()
|
|
|
|
{
|
|
|
|
if (defined('FFCURRENCYSYMBOL')) {
|
|
|
|
return FFCURRENCYSYMBOL;
|
|
|
|
}
|
|
|
|
if (Cache::has('FFCURRENCYSYMBOL')) {
|
|
|
|
define('FFCURRENCYSYMBOL', Cache::get('FFCURRENCYSYMBOL'));
|
2014-07-28 14:33:32 -05:00
|
|
|
|
2014-12-23 22:58:26 -06:00
|
|
|
return FFCURRENCYSYMBOL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** @var \FireflyIII\Database\TransactionCurrency\TransactionCurrency $currencies */
|
|
|
|
$currencies = App::make('FireflyIII\Database\TransactionCurrency\TransactionCurrency');
|
|
|
|
|
|
|
|
/** @var \FireflyIII\Shared\Preferences\Preferences $preferences */
|
|
|
|
$preferences = App::make('FireflyIII\Shared\Preferences\Preferences');
|
|
|
|
|
|
|
|
$currencyPreference = $preferences->get('currencyPreference', 'EUR');
|
|
|
|
$currency = $currencies->findByCode($currencyPreference->data);
|
|
|
|
|
|
|
|
Cache::forever('FFCURRENCYSYMBOL', $currency->symbol);
|
|
|
|
|
|
|
|
define('FFCURRENCYSYMBOL', $currency->symbol);
|
|
|
|
|
|
|
|
return $currency->symbol;
|
2014-06-30 03:47:14 -05:00
|
|
|
}
|
|
|
|
}
|
2014-12-23 22:58:26 -06:00
|
|
|
|
2014-12-23 23:10:39 -06:00
|
|
|
if (!function_exists('getCurrencyCode')) {
|
|
|
|
/**
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
function getCurrencyCode()
|
|
|
|
{
|
|
|
|
if (defined('FFCURRENCYCODE')) {
|
|
|
|
return FFCURRENCYCODE;
|
|
|
|
}
|
|
|
|
if (Cache::has('FFCURRENCYCODE')) {
|
|
|
|
define('FFCURRENCYCODE', Cache::get('FFCURRENCYCODE'));
|
|
|
|
|
|
|
|
return FFCURRENCYCODE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** @var \FireflyIII\Database\TransactionCurrency\TransactionCurrency $currencies */
|
|
|
|
$currencies = App::make('FireflyIII\Database\TransactionCurrency\TransactionCurrency');
|
|
|
|
|
|
|
|
/** @var \FireflyIII\Shared\Preferences\Preferences $preferences */
|
|
|
|
$preferences = App::make('FireflyIII\Shared\Preferences\Preferences');
|
|
|
|
|
|
|
|
$currencyPreference = $preferences->get('currencyPreference', 'EUR');
|
|
|
|
$currency = $currencies->findByCode($currencyPreference->data);
|
|
|
|
|
|
|
|
Cache::forever('FFCURRENCYCODE', $currency->code);
|
|
|
|
|
|
|
|
define('FFCURRENCYCODE', $currency->code);
|
|
|
|
|
|
|
|
return $currency->code;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-12-23 14:55:19 -06:00
|
|
|
if (!function_exists('boolstr')) {
|
|
|
|
/**
|
|
|
|
* @param $boolean
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
function boolstr($boolean)
|
|
|
|
{
|
|
|
|
if (is_bool($boolean) && $boolean === true) {
|
|
|
|
return 'BOOLEAN TRUE';
|
|
|
|
}
|
|
|
|
if (is_bool($boolean) && $boolean === false) {
|
|
|
|
return 'BOOLEAN FALSE';
|
|
|
|
}
|
|
|
|
|
|
|
|
return 'NO BOOLEAN: ' . $boolean;
|
|
|
|
}
|
|
|
|
}
|
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-07-26 01:05:02 -05:00
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2014-11-11 00:20:52 -06:00
|
|
|
$env = $app->detectEnvironment(
|
2014-11-17 00:33:18 -06:00
|
|
|
['local' => ['SMJD*'], 'homestead' => ['homestead']]
|
2014-11-11 00:20:52 -06:00
|
|
|
);
|
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-12-14 13:40:02 -06:00
|
|
|
/** @noinspection PhpIncludeInspection */
|
2014-06-30 03:47:14 -05:00
|
|
|
require $framework . '/Illuminate/Foundation/start.php';
|
2014-06-28 02:41:44 -05:00
|
|
|
|
2014-07-26 01:05:02 -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.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2014-07-20 11:24:27 -05:00
|
|
|
// do something with events:
|
2014-12-15 11:03:16 -06:00
|
|
|
|
2014-11-27 09:20:16 -06:00
|
|
|
Event::subscribe('FireflyIII\Event\Account');
|
2014-12-15 11:03:16 -06:00
|
|
|
Event::subscribe('FireflyIII\Event\Budget');
|
2014-12-06 12:47:43 -06:00
|
|
|
Event::subscribe('FireflyIII\Event\Event');
|
2014-12-15 11:03:16 -06:00
|
|
|
Event::subscribe('FireflyIII\Event\Piggybank');
|
|
|
|
Event::subscribe('FireflyIII\Event\Transaction');
|
|
|
|
Event::subscribe('FireflyIII\Event\TransactionJournal');
|
|
|
|
|
2014-08-16 00:07:42 -05:00
|
|
|
|
2014-11-20 04:19:35 -06:00
|
|
|
// event that creates a relationship between transaction journals and recurring events when created.
|
|
|
|
// event that updates the relationship between transaction journals and recurring events when edited.
|
2014-11-18 02:37:54 -06:00
|
|
|
// event that creates a LimitRepetition when a Limit is created.
|
2014-11-17 03:10:57 -06:00
|
|
|
// 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.
|
2014-11-20 04:19:35 -06:00
|
|
|
// event for when the non-repeating piggy bank is updated because the single repetition must also be changed.
|
2014-11-14 12:58:01 -06:00
|
|
|
// (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).
|
2014-11-21 04:12:22 -06:00
|
|
|
// check if recurring transactions are being updated when journals are updated (aka no longer fitting, thus removed).
|
|
|
|
// think about reminders.
|
|
|
|
// an event that triggers and creates a limit + limit repetition when a budget is created, or something?
|
|
|
|
// has many through needs to be added wherever relevant. Account > journals, etc.
|
|
|
|
// check all models for "external" methods once more.
|
|
|
|
// Auth::user() should be used very sparsely.
|
|
|
|
// direct calls to models are BAD
|
|
|
|
// cleanup everything related to reminders because it still feels a bit sloppy.
|
|
|
|
// use a Database\Reminder thing instead of self-made ORM.
|
2014-11-21 12:18:44 -06:00
|
|
|
// create static calls instead of all the App::make() things.
|
|
|
|
// see if the various has-many-throughs actually get used.
|
|
|
|
// set very tight rules on all models
|
|
|
|
// create custom uniquely rules.
|
2014-11-22 00:30:46 -06:00
|
|
|
// TODO add "Create new X" button to any list there is: categories, accounts, piggies, etc.
|
|
|
|
// TODO Install PHP5 and code thing and create very small methods.
|
2014-06-28 02:41:44 -05:00
|
|
|
return $app;
|