From 872e9db58169e34a512246264247d1cfdffa9550 Mon Sep 17 00:00:00 2001
From: root
Date: Thu, 12 Mar 2015 10:43:47 +1000
Subject: [PATCH] Delete everything in prep for laravel 5.
---
.bowerrc | 3 -
.gitattributes | 1 -
.gitignore | 24 -
Gruntfile.js | 124 -
LICENSE | 40 -
README.md | 118 -
_ide_helper.php | 14351 ------
_ide_helper_models.php | 1239 -
app/commands/.gitkeep | 0
app/commands/CheckData.php | 266 -
app/commands/CreateRandomData.php | 88 -
app/commands/ImportTimesheetData.php | 335 -
app/commands/ResetData.php | 24 -
app/commands/SendRecurringInvoices.php | 113 -
app/config/app.php | 225 -
app/config/auth.php | 71 -
app/config/cache.php | 89 -
app/config/compile.php | 18 -
app/config/database.php | 124 -
app/config/gae-development/database.php | 18 -
app/config/gae-production/app.php | 9 -
app/config/gae-production/cache.php | 7 -
app/config/gae-production/database.php | 19 -
app/config/gae-production/session.php | 7 -
app/config/mail.php | 124 -
app/config/packages/.gitkeep | 0
.../packages/anahkiasen/former/Nude.php | 14 -
.../anahkiasen/former/TwitterBootstrap.php | 14 -
.../anahkiasen/former/TwitterBootstrap3.php | 26 -
.../anahkiasen/former/ZurbFoundation.php | 35 -
.../anahkiasen/former/ZurbFoundation4.php | 36 -
.../packages/anahkiasen/former/config.php | 59 -
.../ignited/laravel-omnipay/config.php | 19 -
app/config/packages/zizaco/confide/.gitkeep | 0
app/config/packages/zizaco/confide/config.php | 117 -
app/config/queue.php | 78 -
app/config/remote.php | 59 -
app/config/session.php | 141 -
app/config/testing/cache.php | 20 -
app/config/testing/session.php | 21 -
app/config/view.php | 31 -
app/config/workbench.php | 31 -
app/controllers/.gitkeep | 0
app/controllers/AccountController.php | 715 -
app/controllers/AccountGatewayController.php | 292 -
app/controllers/ActivityController.php | 20 -
app/controllers/AppController.php | 171 -
app/controllers/BaseController.php | 21 -
app/controllers/ClientApiController.php | 51 -
app/controllers/ClientController.php | 278 -
app/controllers/CreditController.php | 149 -
app/controllers/DashboardController.php | 79 -
app/controllers/HomeController.php | 68 -
app/controllers/IntegrationController.php | 26 -
app/controllers/InvoiceApiController.php | 192 -
app/controllers/InvoiceController.php | 542 -
app/controllers/PaymentApiController.php | 36 -
app/controllers/PaymentController.php | 748 -
app/controllers/ProductController.php | 96 -
app/controllers/QuoteApiController.php | 36 -
app/controllers/QuoteController.php | 187 -
app/controllers/ReportController.php | 127 -
app/controllers/TimesheetController.php | 93 -
app/controllers/TokenController.php | 161 -
app/controllers/UserController.php | 507 -
app/database/migrations/.gitkeep | 0
...11_05_180133_confide_setup_users_table.php | 550 -
...013_11_28_195703_setup_countries_table.php | 47 -
.../2014_02_13_151500_add_cascase_drops.php | 32 -
...151817_add_support_for_invoice_designs.php | 72 -
...2014_03_03_155556_add_phone_to_account.php | 36 -
...2014_03_19_201454_add_language_support.php | 60 -
..._03_20_200300_create_payment_libraries.php | 58 -
...2014_03_23_051736_enable_forcing_jspdf.php | 34 -
...0_add_sort_and_recommended_to_gateways.php | 49 -
.../2014_04_03_191105_add_pro_plan.php | 34 -
.../2014_04_17_100523_add_remember_token.php | 34 -
.../2014_04_17_145108_add_custom_fields.php | 60 -
...014_04_23_170909_add_products_settings.php | 39 -
...014_04_29_174315_add_advanced_settings.php | 42 -
.../2014_05_17_175626_add_quotes.php | 38 -
...epted_credit_cards_to_account_gateways.php | 34 -
.../2014_07_13_142654_one_click_install.php | 58 -
...4_07_17_205900_support_hiding_quantity.php | 66 -
.../2014_07_24_171214_add_zapier_support.php | 42 -
...14_10_01_141248_add_company_vat_number.php | 43 -
...4_10_05_141856_track_last_seen_message.php | 46 -
.../2014_10_06_103529_add_timesheets.php | 152 -
..._10_06_195330_add_invoice_design_table.php | 519 -
..._13_054100_add_invoice_number_settings.php | 63 -
...14_10_14_225227_add_danish_translation.php | 29 -
.../2014_10_22_174452_add_affiliate_price.php | 44 -
...014_10_30_184126_add_company_id_number.php | 43 -
...1_04_200406_allow_null_client_currency.php | 31 -
.../2014_12_03_154119_add_discount_type.php | 34 -
.../2015_02_12_102940_add_email_templates.php | 38 -
...015_02_17_131714_support_token_billing.php | 56 -
.../2015_02_27_081836_add_invoice_footer.php | 44 -
.../2015_03_03_140259_add_tokens.php | 54 -
.../2015_03_09_151011_add_ip_to_activity.php | 34 -
app/database/production.sqlite | Bin 22528 -> 0 bytes
app/database/seeds/.gitkeep | 0
app/database/seeds/ConstantsSeeder.php | 327 -
app/database/seeds/CountriesSeeder.php | 37 -
app/database/seeds/DatabaseSeeder.php | 26 -
app/database/seeds/PaymentLibrariesSeeder.php | 35 -
.../seeds/SecurePaymentFormSeeder.php | 187 -
app/database/seeds/UserTableSeeder.php | 11 -
app/filters.php | 273 -
app/handlers/InvoiceEventHandler.php | 51 -
app/handlers/UserEventHandler.php | 30 -
app/includes/parsecsv.lib.php | 695 -
app/lang/da/pagination.php | 20 -
app/lang/da/public.php | 209 -
app/lang/da/reminders.php | 26 -
app/lang/da/texts.php | 582 -
app/lang/da/validation.php | 106 -
app/lang/de/pagination.php | 20 -
app/lang/de/public.php | 209 -
app/lang/de/reminders.php | 24 -
app/lang/de/texts.php | 574 -
app/lang/de/validation.php | 108 -
app/lang/en/pagination.php | 20 -
app/lang/en/public.php | 209 -
app/lang/en/reminders.php | 24 -
app/lang/en/texts.php | 581 -
app/lang/en/validation.php | 102 -
app/lang/es/pagination.php | 20 -
app/lang/es/public.php | 209 -
app/lang/es/reminders.php | 24 -
app/lang/es/texts.php | 554 -
app/lang/es/validation.php | 111 -
app/lang/fr/pagination.php | 20 -
app/lang/fr/public.php | 209 -
app/lang/fr/reminders.php | 24 -
app/lang/fr/texts.php | 574 -
app/lang/fr/validation.php | 138 -
app/lang/it/pagination.php | 20 -
app/lang/it/public.php | 209 -
app/lang/it/reminders.php | 24 -
app/lang/it/texts.php | 576 -
app/lang/it/validation.php | 107 -
app/lang/lt/pagination.php | 20 -
app/lang/lt/public.php | 209 -
app/lang/lt/reminders.php | 24 -
app/lang/lt/texts.php | 586 -
app/lang/lt/validation.php | 102 -
app/lang/nb_NO/pagination.php | 20 -
app/lang/nb_NO/public.php | 209 -
app/lang/nb_NO/reminders.php | 24 -
app/lang/nb_NO/texts.php | 582 -
app/lang/nb_NO/validation.php | 102 -
app/lang/nl/pagination.php | 20 -
app/lang/nl/public.php | 209 -
app/lang/nl/reminders.php | 24 -
app/lang/nl/texts.php | 578 -
app/lang/nl/validation.php | 111 -
app/lang/pt_BR/pagination.php | 20 -
app/lang/pt_BR/public.php | 209 -
app/lang/pt_BR/reminders.php | 24 -
app/lang/pt_BR/texts.php | 565 -
app/lang/pt_BR/validation.php | 106 -
app/libraries/Utils.php | 604 -
app/libraries/entity.php | 8 -
app/libraries/timesheet_utils.php | 119 -
app/models/Account.php | 363 -
app/models/AccountGateway.php | 28 -
app/models/AccountGatewayToken.php | 7 -
app/models/AccountToken.php | 9 -
app/models/Activity.php | 470 -
app/models/Affiliate.php | 7 -
app/models/Client.php | 268 -
app/models/Contact.php | 74 -
app/models/Country.php | 9 -
app/models/Credit.php | 55 -
app/models/Currency.php | 7 -
app/models/DateFormat.php | 7 -
app/models/DatetimeFormat.php | 7 -
app/models/EntityModel.php | 78 -
app/models/Frequency.php | 7 -
app/models/Gateway.php | 52 -
app/models/Industry.php | 7 -
app/models/Invitation.php | 29 -
app/models/Invoice.php | 230 -
app/models/InvoiceDesign.php | 7 -
app/models/InvoiceItem.php | 14 -
app/models/InvoiceStatus.php | 7 -
app/models/Language.php | 7 -
app/models/License.php | 7 -
app/models/Payment.php | 60 -
app/models/PaymentLibrary.php | 12 -
app/models/PaymentTerm.php | 7 -
app/models/PaymentType.php | 7 -
app/models/Product.php | 9 -
app/models/Project.php | 45 -
app/models/ProjectCode.php | 45 -
app/models/Size.php | 7 -
app/models/Subscription.php | 7 -
app/models/TaxRate.php | 5 -
app/models/Theme.php | 7 -
app/models/Timesheet.php | 22 -
app/models/TimesheetEvent.php | 122 -
app/models/TimesheetEventSource.php | 40 -
app/models/Timezone.php | 7 -
app/models/User.php | 170 -
app/ninja/mailers/ContactMailer.php | 104 -
app/ninja/mailers/Mailer.php | 27 -
app/ninja/mailers/UserMailer.php | 62 -
app/ninja/repositories/AccountRepository.php | 234 -
app/ninja/repositories/ClientRepository.php | 202 -
app/ninja/repositories/CreditRepository.php | 77 -
app/ninja/repositories/InvoiceRepository.php | 490 -
app/ninja/repositories/PaymentRepository.php | 154 -
app/ninja/repositories/TaxRateRepository.php | 42 -
app/routes.php | 493 -
app/start/artisan.php | 18 -
app/start/global.php | 103 -
app/start/local.php | 3 -
app/storage/.gitkeep | 0
app/storage/cache/.gitkeep | 0
app/storage/logs/.gitkeep | 0
app/storage/meta/.gitkeep | 0
app/storage/sessions/.gitkeep | 0
app/storage/views/.gitkeep | 0
app/tests/ExampleTest.php | 16 -
app/tests/TestCase.php | 19 -
app/tests/TimesheetUtilsTest.php | 26 -
app/tests/data/Demo/demo.response.json | 5 -
app/views/accounts/account_gateway.blade.php | 153 -
app/views/accounts/details.blade.php | 252 -
app/views/accounts/email_templates.blade.php | 109 -
app/views/accounts/export.blade.php | 11 -
app/views/accounts/import_export.blade.php | 61 -
app/views/accounts/import_map.blade.php | 73 -
app/views/accounts/invoice_design.blade.php | 116 -
app/views/accounts/invoice_settings.blade.php | 73 -
app/views/accounts/nav.blade.php | 16 -
app/views/accounts/nav_advanced.blade.php | 17 -
app/views/accounts/notifications.blade.php | 47 -
app/views/accounts/payments.blade.php | 60 -
app/views/accounts/product.blade.php | 56 -
app/views/accounts/products.blade.php | 48 -
app/views/accounts/token.blade.php | 30 -
app/views/accounts/token_management.blade.php | 67 -
app/views/accounts/user_management.blade.php | 71 -
app/views/client.blade.php | 99 -
app/views/clients/edit.blade.php | 168 -
app/views/clients/show.blade.php | 233 -
app/views/coming_soon.blade.php | 35 -
app/views/credits/edit.blade.php | 64 -
app/views/dashboard.blade.php | 159 -
app/views/datatable.blade.php | 68 -
app/views/emails/auth/reminder.blade.php | 13 -
app/views/emails/confirm_html.blade.php | 41 -
app/views/emails/confirm_text.blade.php | 7 -
app/views/emails/contact_html.blade.php | 1 -
app/views/emails/contact_text.blade.php | 1 -
app/views/emails/error.blade.php | 0
app/views/emails/invoice_html.blade.php | 10 -
app/views/emails/invoice_paid_html.blade.php | 21 -
app/views/emails/invoice_paid_text.blade.php | 11 -
app/views/emails/invoice_sent_html.blade.php | 18 -
app/views/emails/invoice_sent_text.blade.php | 8 -
app/views/emails/invoice_text.blade.php | 1 -
.../emails/invoice_viewed_html.blade.php | 18 -
.../emails/invoice_viewed_text.blade.php | 8 -
.../license_confirmation_html.blade.php | 18 -
.../license_confirmation_text.blade.php | 8 -
app/views/emails/passwordreset_html.blade.php | 9 -
.../payment_confirmation_html.blade.php | 7 -
.../payment_confirmation_text.blade.php | 1 -
app/views/emails/view_action.blade.php | 17 -
app/views/error.blade.php | 20 -
app/views/header.blade.php | 605 -
app/views/invoices/deleted.blade.php | 1 -
app/views/invoices/edit.blade.php | 1671 -
app/views/invoices/history.blade.php | 61 -
app/views/invoices/pdf.blade.php | 126 -
app/views/invoices/view.blade.php | 84 -
app/views/list.blade.php | 164 -
app/views/master.blade.php | 139 -
app/views/payments/edit.blade.php | 70 -
app/views/payments/payment.blade.php | 323 -
app/views/plans.blade.php | 62 -
app/views/public/header.blade.php | 276 -
app/views/public/license.blade.php | 101 -
app/views/public/terms.blade.php | 177 -
app/views/public_list.blade.php | 110 -
app/views/reports/d3.blade.php | 309 -
app/views/reports/report_builder.blade.php | 106 -
app/views/script.blade.php | 26 -
app/views/secure_payment.blade.php | 130 -
app/views/setup.blade.php | 139 -
app/views/timesheets/edit.blade.php | 76 -
app/views/users/edit.blade.php | 30 -
app/views/users/forgot_password.blade.php | 86 -
app/views/users/login.blade.php | 119 -
app/views/users/reset_password.blade.php | 95 -
artisan | 74 -
bootstrap/autoload.php | 75 -
bootstrap/environment.default.php | 4 -
bootstrap/paths.php | 57 -
bootstrap/start.php | 140 -
bower.json | 26 -
codeception.yml | 18 -
composer.json | 71 -
composer.lock | 6225 ---
node_modules/grunt-contrib-concat/LICENSE-MIT | 22 -
node_modules/grunt-contrib-concat/README.md | 280 -
.../node_modules/chalk/index.js | 63 -
.../chalk/node_modules/.bin/strip-ansi | 1 -
.../node_modules/ansi-styles/ansi-styles.js | 38 -
.../node_modules/ansi-styles/package.json | 58 -
.../chalk/node_modules/ansi-styles/readme.md | 65 -
.../chalk/node_modules/has-color/index.js | 32 -
.../chalk/node_modules/has-color/package.json | 58 -
.../chalk/node_modules/has-color/readme.md | 30 -
.../chalk/node_modules/strip-ansi/cli.js | 27 -
.../chalk/node_modules/strip-ansi/index.js | 4 -
.../node_modules/strip-ansi/package.json | 64 -
.../chalk/node_modules/strip-ansi/readme.md | 46 -
.../node_modules/chalk/package.json | 61 -
.../node_modules/chalk/readme.md | 158 -
.../grunt-contrib-concat/package.json | 57 -
.../grunt-contrib-concat/tasks/concat.js | 70 -
.../grunt-contrib-concat/tasks/lib/comment.js | 34 -
node_modules/grunt/.npmignore | 8 -
node_modules/grunt/LICENSE-MIT | 22 -
node_modules/grunt/README.md | 19 -
node_modules/grunt/internal-tasks/bump.js | 151 -
node_modules/grunt/internal-tasks/subgrunt.js | 34 -
node_modules/grunt/lib/grunt.js | 162 -
node_modules/grunt/lib/grunt/cli.js | 128 -
node_modules/grunt/lib/grunt/config.js | 118 -
node_modules/grunt/lib/grunt/event.js | 16 -
node_modules/grunt/lib/grunt/fail.js | 84 -
node_modules/grunt/lib/grunt/file.js | 448 -
node_modules/grunt/lib/grunt/help.js | 129 -
node_modules/grunt/lib/grunt/log.js | 352 -
node_modules/grunt/lib/grunt/option.js | 42 -
node_modules/grunt/lib/grunt/task.js | 458 -
node_modules/grunt/lib/grunt/template.js | 95 -
node_modules/grunt/lib/util/task.js | 337 -
node_modules/grunt/node_modules/.bin/cake | 1 -
node_modules/grunt/node_modules/.bin/coffee | 1 -
node_modules/grunt/node_modules/.bin/js-yaml | 1 -
node_modules/grunt/node_modules/.bin/nopt | 1 -
node_modules/grunt/node_modules/.bin/rimraf | 1 -
node_modules/grunt/node_modules/.bin/which | 1 -
.../grunt/node_modules/async/.gitmodules | 9 -
.../grunt/node_modules/async/.npmignore | 4 -
node_modules/grunt/node_modules/async/LICENSE | 19 -
.../grunt/node_modules/async/Makefile | 25 -
.../grunt/node_modules/async/README.md | 1021 -
.../grunt/node_modules/async/index.js | 3 -
.../grunt/node_modules/async/lib/async.js | 692 -
.../grunt/node_modules/async/package.json | 32 -
.../node_modules/coffee-script/.npmignore | 11 -
.../grunt/node_modules/coffee-script/CNAME | 1 -
.../grunt/node_modules/coffee-script/LICENSE | 22 -
.../grunt/node_modules/coffee-script/README | 51 -
.../grunt/node_modules/coffee-script/Rakefile | 78 -
.../grunt/node_modules/coffee-script/bin/cake | 7 -
.../node_modules/coffee-script/bin/coffee | 7 -
.../coffee-script/extras/jsl.conf | 44 -
.../lib/coffee-script/browser.js | 92 -
.../coffee-script/lib/coffee-script/cake.js | 111 -
.../lib/coffee-script/coffee-script.js | 167 -
.../lib/coffee-script/command.js | 500 -
.../lib/coffee-script/grammar.js | 606 -
.../lib/coffee-script/helpers.js | 77 -
.../coffee-script/lib/coffee-script/index.js | 11 -
.../coffee-script/lib/coffee-script/lexer.js | 788 -
.../coffee-script/lib/coffee-script/nodes.js | 2986 --
.../lib/coffee-script/optparse.js | 138 -
.../coffee-script/lib/coffee-script/parser.js | 683 -
.../coffee-script/lib/coffee-script/repl.js | 261 -
.../lib/coffee-script/rewriter.js | 349 -
.../coffee-script/lib/coffee-script/scope.js | 146 -
.../node_modules/coffee-script/package.json | 47 -
.../grunt/node_modules/colors/MIT-LICENSE.txt | 22 -
.../grunt/node_modules/colors/ReadMe.md | 77 -
.../grunt/node_modules/colors/colors.js | 342 -
.../grunt/node_modules/colors/example.html | 76 -
.../grunt/node_modules/colors/example.js | 77 -
.../grunt/node_modules/colors/package.json | 29 -
.../grunt/node_modules/colors/test.js | 70 -
.../colors/themes/winston-dark.js | 12 -
.../colors/themes/winston-light.js | 12 -
.../grunt/node_modules/dateformat/Readme.md | 67 -
.../node_modules/dateformat/lib/dateformat.js | 165 -
.../node_modules/dateformat/package.json | 24 -
.../dateformat/test/test_weekofyear.js | 4 -
.../dateformat/test/test_weekofyear.sh | 27 -
.../node_modules/eventemitter2/README.md | 212 -
.../grunt/node_modules/eventemitter2/index.js | 1 -
.../eventemitter2/lib/eventemitter2.js | 561 -
.../node_modules/eventemitter2/package.json | 62 -
.../grunt/node_modules/exit/.jshintrc | 14 -
.../grunt/node_modules/exit/.npmignore | 0
.../grunt/node_modules/exit/.travis.yml | 6 -
.../grunt/node_modules/exit/Gruntfile.js | 48 -
.../grunt/node_modules/exit/LICENSE-MIT | 22 -
.../grunt/node_modules/exit/README.md | 75 -
.../grunt/node_modules/exit/lib/exit.js | 41 -
.../grunt/node_modules/exit/package.json | 51 -
.../grunt/node_modules/exit/test/exit_test.js | 121 -
.../exit/test/fixtures/10-stderr.txt | 10 -
.../exit/test/fixtures/10-stdout-stderr.txt | 20 -
.../exit/test/fixtures/10-stdout.txt | 10 -
.../exit/test/fixtures/100-stderr.txt | 100 -
.../exit/test/fixtures/100-stdout-stderr.txt | 200 -
.../exit/test/fixtures/100-stdout.txt | 100 -
.../exit/test/fixtures/1000-stderr.txt | 1000 -
.../exit/test/fixtures/1000-stdout-stderr.txt | 2000 -
.../exit/test/fixtures/1000-stdout.txt | 1000 -
.../exit/test/fixtures/create-files.sh | 8 -
.../exit/test/fixtures/log-broken.js | 23 -
.../node_modules/exit/test/fixtures/log.js | 25 -
.../grunt/node_modules/findup-sync/.jshintrc | 15 -
.../grunt/node_modules/findup-sync/.npmignore | 0
.../node_modules/findup-sync/.travis.yml | 5 -
.../node_modules/findup-sync/Gruntfile.js | 25 -
.../node_modules/findup-sync/LICENSE-MIT | 22 -
.../grunt/node_modules/findup-sync/README.md | 45 -
.../findup-sync/lib/findup-sync.js | 46 -
.../findup-sync/node_modules/glob/.npmignore | 2 -
.../findup-sync/node_modules/glob/.travis.yml | 3 -
.../findup-sync/node_modules/glob/LICENSE | 27 -
.../findup-sync/node_modules/glob/README.md | 250 -
.../node_modules/glob/examples/g.js | 9 -
.../node_modules/glob/examples/usr-local.js | 9 -
.../findup-sync/node_modules/glob/glob.js | 728 -
.../glob/node_modules/inherits/LICENSE | 16 -
.../glob/node_modules/inherits/README.md | 42 -
.../glob/node_modules/inherits/inherits.js | 1 -
.../node_modules/inherits/inherits_browser.js | 23 -
.../glob/node_modules/inherits/package.json | 33 -
.../glob/node_modules/inherits/test.js | 25 -
.../node_modules/glob/package.json | 44 -
.../node_modules/glob/test/00-setup.js | 176 -
.../node_modules/glob/test/bash-comparison.js | 63 -
.../node_modules/glob/test/bash-results.json | 351 -
.../node_modules/glob/test/cwd-test.js | 55 -
.../node_modules/glob/test/globstar-match.js | 19 -
.../node_modules/glob/test/mark.js | 118 -
.../glob/test/new-glob-optional-options.js | 10 -
.../node_modules/glob/test/nocase-nomagic.js | 113 -
.../node_modules/glob/test/pause-resume.js | 73 -
.../node_modules/glob/test/readme-issue.js | 36 -
.../node_modules/glob/test/root-nomount.js | 39 -
.../node_modules/glob/test/root.js | 46 -
.../node_modules/glob/test/stat.js | 32 -
.../node_modules/glob/test/zz-cleanup.js | 11 -
.../node_modules/lodash/LICENSE.txt | 22 -
.../findup-sync/node_modules/lodash/README.md | 163 -
.../node_modules/lodash/dist/lodash.compat.js | 7157 ---
.../lodash/dist/lodash.compat.min.js | 61 -
.../node_modules/lodash/dist/lodash.js | 6785 ---
.../node_modules/lodash/dist/lodash.min.js | 56 -
.../lodash/dist/lodash.underscore.js | 4979 --
.../lodash/dist/lodash.underscore.min.js | 39 -
.../findup-sync/node_modules/lodash/lodash.js | 7179 ---
.../node_modules/lodash/package.json | 102 -
.../node_modules/findup-sync/package.json | 52 -
.../findup-sync/test/findup-sync_test.js | 48 -
.../findup-sync/test/fixtures/a.txt | 0
.../findup-sync/test/fixtures/a/b/bar.txt | 0
.../findup-sync/test/fixtures/a/foo.txt | 0
.../findup-sync/test/fixtures/aaa.txt | 0
.../grunt/node_modules/getobject/.jshintrc | 15 -
.../grunt/node_modules/getobject/.npmignore | 1 -
.../grunt/node_modules/getobject/.travis.yml | 6 -
.../grunt/node_modules/getobject/Gruntfile.js | 48 -
.../grunt/node_modules/getobject/LICENSE-MIT | 22 -
.../grunt/node_modules/getobject/README.md | 20 -
.../node_modules/getobject/lib/getobject.js | 60 -
.../grunt/node_modules/getobject/package.json | 48 -
.../getobject/test/namespace_test.js | 51 -
.../grunt/node_modules/glob/.npmignore | 2 -
.../grunt/node_modules/glob/.travis.yml | 3 -
node_modules/grunt/node_modules/glob/LICENSE | 27 -
.../grunt/node_modules/glob/README.md | 233 -
.../grunt/node_modules/glob/examples/g.js | 9 -
.../node_modules/glob/examples/usr-local.js | 9 -
node_modules/grunt/node_modules/glob/glob.js | 643 -
.../glob/node_modules/graceful-fs/.npmignore | 1 -
.../glob/node_modules/graceful-fs/LICENSE | 27 -
.../glob/node_modules/graceful-fs/README.md | 33 -
.../node_modules/graceful-fs/graceful-fs.js | 442 -
.../node_modules/graceful-fs/package.json | 49 -
.../node_modules/graceful-fs/test/open.js | 46 -
.../node_modules/graceful-fs/test/ulimit.js | 158 -
.../glob/node_modules/inherits/README.md | 51 -
.../glob/node_modules/inherits/inherits.js | 29 -
.../glob/node_modules/inherits/package.json | 30 -
.../grunt/node_modules/glob/package.json | 40 -
.../grunt/node_modules/glob/test/00-setup.js | 176 -
.../node_modules/glob/test/bash-comparison.js | 63 -
.../node_modules/glob/test/bash-results.json | 348 -
.../grunt/node_modules/glob/test/cwd-test.js | 55 -
.../grunt/node_modules/glob/test/mark.js | 74 -
.../node_modules/glob/test/nocase-nomagic.js | 113 -
.../node_modules/glob/test/pause-resume.js | 73 -
.../node_modules/glob/test/root-nomount.js | 39 -
.../grunt/node_modules/glob/test/root.js | 46 -
.../node_modules/glob/test/zz-cleanup.js | 11 -
.../node_modules/grunt-legacy-util/.npmignore | 1 -
.../grunt-legacy-util/Gruntfile.js | 16 -
.../grunt-legacy-util/LICENSE-MIT | 22 -
.../node_modules/grunt-legacy-util/README.md | 26 -
.../node_modules/grunt-legacy-util/index.js | 187 -
.../grunt-legacy-util/package.json | 54 -
.../test/fixtures/Gruntfile-execArgv-child.js | 7 -
.../test/fixtures/Gruntfile-execArgv.js | 17 -
.../test/fixtures/Gruntfile-print-text.js | 8 -
.../grunt-legacy-util/test/fixtures/exec.cmd | 1 -
.../grunt-legacy-util/test/fixtures/exec.sh | 2 -
.../test/fixtures/spawn-multibyte.js | 17 -
.../grunt-legacy-util/test/fixtures/spawn.js | 8 -
.../grunt-legacy-util/test/index.js | 313 -
.../grunt/node_modules/hooker/LICENSE-MIT | 22 -
.../grunt/node_modules/hooker/README.md | 186 -
.../grunt/node_modules/hooker/child.js | 101 -
.../node_modules/hooker/dist/ba-hooker.js | 169 -
.../node_modules/hooker/dist/ba-hooker.min.js | 4 -
.../grunt/node_modules/hooker/grunt.js | 47 -
.../grunt/node_modules/hooker/lib/hooker.js | 174 -
.../grunt/node_modules/hooker/package.json | 45 -
.../grunt/node_modules/hooker/parent.js | 17 -
.../node_modules/hooker/test/hooker_test.js | 435 -
.../grunt/node_modules/iconv-lite/.npmignore | 3 -
.../grunt/node_modules/iconv-lite/.travis.yml | 5 -
.../grunt/node_modules/iconv-lite/LICENSE | 21 -
.../grunt/node_modules/iconv-lite/README.md | 72 -
.../grunt/node_modules/iconv-lite/README.md~ | 54 -
.../node_modules/iconv-lite/encodings/big5.js | 9 -
.../node_modules/iconv-lite/encodings/gbk.js | 9 -
.../iconv-lite/encodings/singlebyte.js | 340 -
.../iconv-lite/encodings/table/big5.js | 1 -
.../iconv-lite/encodings/table/gbk.js | 1 -
.../generation/generate-big5-table.js | 25 -
.../generation/generate-singlebyte.js | 142 -
.../grunt/node_modules/iconv-lite/index.js | 231 -
.../node_modules/iconv-lite/package.json | 80 -
.../node_modules/iconv-lite/test/big5-test.js | 36 -
.../node_modules/iconv-lite/test/big5File.txt | 13 -
.../iconv-lite/test/cyrillic-test.js | 86 -
.../node_modules/iconv-lite/test/gbk-test.js | 38 -
.../node_modules/iconv-lite/test/gbkFile.txt | 14 -
.../iconv-lite/test/greek-test.js | 79 -
.../node_modules/iconv-lite/test/main-test.js | 55 -
.../iconv-lite/test/performance.js | 67 -
.../iconv-lite/test/turkish-test.js | 90 -
.../grunt/node_modules/js-yaml/HISTORY.md | 155 -
.../grunt/node_modules/js-yaml/LICENSE | 21 -
.../grunt/node_modules/js-yaml/README.md | 249 -
.../grunt/node_modules/js-yaml/bin/js-yaml.js | 125 -
.../js-yaml/examples/custom_types.js | 104 -
.../js-yaml/examples/custom_types.yaml | 18 -
.../node_modules/js-yaml/examples/dumper.js | 31 -
.../node_modules/js-yaml/examples/dumper.json | 22 -
.../js-yaml/examples/sample_document.js | 15 -
.../js-yaml/examples/sample_document.yaml | 197 -
.../grunt/node_modules/js-yaml/index.js | 1 -
.../grunt/node_modules/js-yaml/lib/js-yaml.js | 33 -
.../js-yaml/lib/js-yaml/common.js | 60 -
.../js-yaml/lib/js-yaml/dumper.js | 437 -
.../js-yaml/lib/js-yaml/exception.js | 25 -
.../js-yaml/lib/js-yaml/loader.js | 1549 -
.../node_modules/js-yaml/lib/js-yaml/mark.js | 78 -
.../js-yaml/lib/js-yaml/require.js | 23 -
.../js-yaml/lib/js-yaml/schema.js | 103 -
.../js-yaml/lib/js-yaml/schema/default.js | 16 -
.../js-yaml/lib/js-yaml/schema/minimal.js | 13 -
.../js-yaml/lib/js-yaml/schema/safe.js | 25 -
.../node_modules/js-yaml/lib/js-yaml/type.js | 82 -
.../js-yaml/lib/js-yaml/type/binary.js | 118 -
.../js-yaml/lib/js-yaml/type/bool.js | 74 -
.../js-yaml/lib/js-yaml/type/float.js | 102 -
.../js-yaml/lib/js-yaml/type/int.js | 85 -
.../js-yaml/lib/js-yaml/type/js/function.js | 56 -
.../js-yaml/lib/js-yaml/type/js/regexp.js | 56 -
.../js-yaml/lib/js-yaml/type/js/undefined.js | 28 -
.../js-yaml/lib/js-yaml/type/map.js | 11 -
.../js-yaml/lib/js-yaml/type/merge.js | 18 -
.../js-yaml/lib/js-yaml/type/null.js | 36 -
.../js-yaml/lib/js-yaml/type/omap.js | 53 -
.../js-yaml/lib/js-yaml/type/pairs.js | 41 -
.../js-yaml/lib/js-yaml/type/seq.js | 11 -
.../js-yaml/lib/js-yaml/type/set.js | 31 -
.../js-yaml/lib/js-yaml/type/str.js | 11 -
.../js-yaml/lib/js-yaml/type/timestamp.js | 91 -
.../js-yaml/node_modules/.bin/esparse | 1 -
.../js-yaml/node_modules/.bin/esvalidate | 1 -
.../js-yaml/node_modules/argparse/HISTORY.md | 109 -
.../js-yaml/node_modules/argparse/LICENSE | 21 -
.../js-yaml/node_modules/argparse/README.md | 239 -
.../argparse/examples/arguments.js | 36 -
.../node_modules/argparse/examples/choice.js | 22 -
.../argparse/examples/constants.js | 59 -
.../node_modules/argparse/examples/help.js | 13 -
.../node_modules/argparse/examples/nargs.js | 33 -
.../node_modules/argparse/examples/parents.js | 28 -
.../argparse/examples/prefix_chars.js | 23 -
.../argparse/examples/sub_commands.js | 49 -
.../node_modules/argparse/examples/sum.js | 35 -
.../argparse/examples/testformatters.js | 270 -
.../js-yaml/node_modules/argparse/index.js | 1 -
.../node_modules/argparse/lib/action.js | 146 -
.../argparse/lib/action/append.js | 55 -
.../argparse/lib/action/append/constant.js | 47 -
.../node_modules/argparse/lib/action/count.js | 40 -
.../node_modules/argparse/lib/action/help.js | 48 -
.../node_modules/argparse/lib/action/store.js | 50 -
.../argparse/lib/action/store/constant.js | 43 -
.../argparse/lib/action/store/false.js | 27 -
.../argparse/lib/action/store/true.js | 26 -
.../argparse/lib/action/subparsers.js | 148 -
.../argparse/lib/action/version.js | 50 -
.../argparse/lib/action_container.js | 481 -
.../node_modules/argparse/lib/argparse.js | 14 -
.../argparse/lib/argument/error.js | 50 -
.../argparse/lib/argument/exclusive.js | 54 -
.../argparse/lib/argument/group.js | 75 -
.../argparse/lib/argument_parser.js | 1165 -
.../node_modules/argparse/lib/const.js | 18 -
.../argparse/lib/help/added_formatters.js | 88 -
.../argparse/lib/help/formatter.js | 803 -
.../node_modules/argparse/lib/namespace.js | 77 -
.../underscore.string/.travis.yml | 8 -
.../node_modules/underscore.string/Gemfile | 4 -
.../underscore.string/Gemfile.lock | 17 -
.../underscore.string/README.markdown | 814 -
.../node_modules/underscore.string/Rakefile | 23 -
.../underscore.string/component.json | 11 -
.../dist/underscore.string.min.js | 1 -
.../lib/underscore.string.js | 673 -
.../underscore.string/libpeerconnection.log | 0
.../underscore.string/package.json | 73 -
.../underscore.string/test/run-qunit.js | 45 -
.../underscore.string/test/speed.js | 148 -
.../underscore.string/test/strings.js | 685 -
.../test/strings_standalone.js | 12 -
.../underscore.string/test/test.html | 31 -
.../test/test_standalone.html | 18 -
.../test/test_underscore/arrays.js | 200 -
.../test/test_underscore/chaining.js | 59 -
.../test/test_underscore/collections.js | 426 -
.../test/test_underscore/functions.js | 259 -
.../test/test_underscore/index.html | 45 -
.../test/test_underscore/objects.js | 548 -
.../test/test_underscore/speed.js | 75 -
.../test/test_underscore/utility.js | 249 -
.../test/test_underscore/vendor/jquery.js | 9404 ----
.../test/test_underscore/vendor/jslitmus.js | 670 -
.../test/test_underscore/vendor/qunit.css | 235 -
.../test/test_underscore/vendor/qunit.js | 1977 -
.../underscore.string/test/underscore.js | 1201 -
.../node_modules/underscore/.npmignore | 4 -
.../node_modules/underscore/.travis.yml | 5 -
.../argparse/node_modules/underscore/CNAME | 1 -
.../node_modules/underscore/CONTRIBUTING.md | 9 -
.../argparse/node_modules/underscore/LICENSE | 22 -
.../node_modules/underscore/README.md | 19 -
.../node_modules/underscore/favicon.ico | Bin 1406 -> 0 bytes
.../node_modules/underscore/index.html | 2467 -
.../argparse/node_modules/underscore/index.js | 1 -
.../node_modules/underscore/package.json | 35 -
.../node_modules/underscore/underscore-min.js | 1 -
.../node_modules/underscore/underscore.js | 1226 -
.../node_modules/argparse/package.json | 50 -
.../js-yaml/node_modules/esprima/README.md | 73 -
.../node_modules/esprima/bin/esparse.js | 117 -
.../node_modules/esprima/bin/esvalidate.js | 177 -
.../js-yaml/node_modules/esprima/esprima.js | 3908 --
.../js-yaml/node_modules/esprima/package.json | 59 -
.../node_modules/esprima/test/compat.js | 239 -
.../node_modules/esprima/test/reflect.js | 422 -
.../js-yaml/node_modules/esprima/test/run.js | 66 -
.../node_modules/esprima/test/runner.js | 387 -
.../js-yaml/node_modules/esprima/test/test.js | 20238 --------
.../grunt/node_modules/js-yaml/package.json | 60 -
.../grunt/node_modules/lodash/README.md | 140 -
.../grunt/node_modules/lodash/lodash.js | 4258 --
.../grunt/node_modules/lodash/lodash.min.js | 35 -
.../node_modules/lodash/lodash.underscore.js | 3688 --
.../lodash/lodash.underscore.min.js | 28 -
.../grunt/node_modules/lodash/package.json | 62 -
.../grunt/node_modules/minimatch/.npmignore | 1 -
.../grunt/node_modules/minimatch/LICENSE | 23 -
.../grunt/node_modules/minimatch/README.md | 218 -
.../grunt/node_modules/minimatch/minimatch.js | 1055 -
.../node_modules/lru-cache/.npmignore | 1 -
.../node_modules/lru-cache/CONTRIBUTORS | 14 -
.../minimatch/node_modules/lru-cache/LICENSE | 23 -
.../node_modules/lru-cache/README.md | 97 -
.../node_modules/lru-cache/lib/lru-cache.js | 252 -
.../node_modules/lru-cache/package.json | 33 -
.../node_modules/lru-cache/test/basic.js | 369 -
.../node_modules/lru-cache/test/foreach.js | 52 -
.../lru-cache/test/memory-leak.js | 50 -
.../minimatch/node_modules/sigmund/LICENSE | 27 -
.../minimatch/node_modules/sigmund/README.md | 53 -
.../minimatch/node_modules/sigmund/bench.js | 283 -
.../node_modules/sigmund/package.json | 42 -
.../minimatch/node_modules/sigmund/sigmund.js | 39 -
.../node_modules/sigmund/test/basic.js | 24 -
.../grunt/node_modules/minimatch/package.json | 40 -
.../node_modules/minimatch/test/basic.js | 399 -
.../minimatch/test/brace-expand.js | 33 -
.../node_modules/minimatch/test/caching.js | 14 -
.../node_modules/minimatch/test/defaults.js | 274 -
.../test/extglob-ending-with-state-char.js | 8 -
.../grunt/node_modules/nopt/.npmignore | 0
node_modules/grunt/node_modules/nopt/LICENSE | 23 -
.../grunt/node_modules/nopt/README.md | 276 -
.../grunt/node_modules/nopt/bin/nopt.js | 44 -
.../node_modules/nopt/examples/my-program.js | 46 -
.../grunt/node_modules/nopt/lib/nopt.js | 554 -
.../grunt/node_modules/nopt/lib/usage.js | 61 -
.../nopt/node_modules/abbrev/CONTRIBUTING.md | 3 -
.../nopt/node_modules/abbrev/LICENSE | 23 -
.../nopt/node_modules/abbrev/README.md | 23 -
.../nopt/node_modules/abbrev/abbrev.js | 62 -
.../nopt/node_modules/abbrev/package.json | 33 -
.../nopt/node_modules/abbrev/test.js | 47 -
.../grunt/node_modules/nopt/package.json | 36 -
.../grunt/node_modules/rimraf/AUTHORS | 6 -
.../grunt/node_modules/rimraf/LICENSE | 23 -
.../grunt/node_modules/rimraf/README.md | 30 -
node_modules/grunt/node_modules/rimraf/bin.js | 33 -
.../grunt/node_modules/rimraf/package.json | 56 -
.../grunt/node_modules/rimraf/rimraf.js | 178 -
.../grunt/node_modules/rimraf/test/run.sh | 10 -
.../grunt/node_modules/rimraf/test/setup.sh | 47 -
.../node_modules/rimraf/test/test-async.js | 5 -
.../node_modules/rimraf/test/test-sync.js | 3 -
.../underscore.string/.travis.yml | 8 -
.../node_modules/underscore.string/Gemfile | 5 -
.../underscore.string/Gemfile.lock | 34 -
.../underscore.string/README.markdown | 668 -
.../node_modules/underscore.string/Rakefile | 28 -
.../dist/underscore.string.min.js | 1 -
.../lib/underscore.string.js | 525 -
.../underscore.string/package.json | 72 -
.../underscore.string/test/run-qunit.js | 44 -
.../underscore.string/test/speed.js | 138 -
.../underscore.string/test/strings.js | 438 -
.../test/strings_standalone.js | 12 -
.../underscore.string/test/test.html | 31 -
.../test/test_standalone.html | 18 -
.../test/test_underscore/arrays.js | 166 -
.../test/test_underscore/chaining.js | 59 -
.../test/test_underscore/collections.js | 270 -
.../test/test_underscore/functions.js | 198 -
.../test/test_underscore/objects.js | 535 -
.../test/test_underscore/speed.js | 70 -
.../test/test_underscore/temp.js | 27 -
.../test/test_underscore/temp_tests.html | 19 -
.../test/test_underscore/test.html | 43 -
.../test/test_underscore/utility.js | 155 -
.../test/test_underscore/vendor/jquery.js | 19 -
.../test/test_underscore/vendor/jslitmus.js | 670 -
.../test/test_underscore/vendor/qunit.css | 196 -
.../test/test_underscore/vendor/qunit.js | 2360 -
.../underscore.string/test/underscore.js | 999 -
node_modules/grunt/node_modules/which/LICENSE | 23 -
.../grunt/node_modules/which/README.md | 5 -
.../grunt/node_modules/which/bin/which | 14 -
.../grunt/node_modules/which/package.json | 31 -
.../grunt/node_modules/which/which.js | 104 -
node_modules/grunt/package.json | 87 -
package.json | 29 -
php.ini | 4 -
phpunit.xml | 18 -
public/.htaccess | 11 -
public/apple-touch-icon-precomposed.png | Bin 2207 -> 0 bytes
public/apple-touch-icon.png | Bin 2207 -> 0 bytes
...e.min-6140190bf67c53b87b24ba70ca9fc9ee.css | 9 -
...p.min-6140190bf67c53b87b24ba70ca9fc9ee.css | 9 -
...ap.min-6140190bf67c53b87b24ba70ca9fc9ee.js | 9 -
....2.min-590935b89a583963aad9f1d779d81729.js | 6 -
public/built.css | 2910 --
public/built.js | 33045 -------------
public/built.public.css | 708 -
public/css/bootstrap-combobox.css | 70 -
public/css/bootstrap.min.css | 7 -
public/css/bootstrap.splash.css | 11 -
public/css/customCss.css | 29 -
public/css/lightbox.css | 210 -
public/css/splash.css | 1378 -
public/css/style.css | 802 -
public/css/themes/amelia.min.css | 1 -
public/css/themes/cerulean.min.css | 1 -
public/css/themes/cosmo.min.css | 1 -
public/css/themes/cyborg.min.css | 1 -
public/css/themes/flatly.min.css | 1 -
public/css/themes/journal.min.css | 1 -
public/css/themes/readable.min.css | 1 -
public/css/themes/simplex.min.css | 1 -
public/css/themes/slate.min.css | 1 -
public/css/themes/spacelab.min.css | 1 -
public/css/themes/united.min.css | 1 -
public/css/themes/yeti.min.css | 1 -
public/css/typeahead.js-bootstrap.css | 84 -
public/favicon.gif | Bin 298 -> 0 bytes
public/favicon.ico | Bin 1406 -> 0 bytes
public/fonts/.empty | 1 -
public/fonts/FontAwesome.otf | Bin 62856 -> 0 bytes
public/fonts/fontawesome-webfont.eot | Bin 38205 -> 0 bytes
public/fonts/fontawesome-webfont.svg | 414 -
public/fonts/fontawesome-webfont.ttf | Bin 80652 -> 0 bytes
public/fonts/fontawesome-webfont.woff | Bin 44432 -> 0 bytes
public/fonts/glyphicons-halflings-regular.eot | Bin 20335 -> 0 bytes
public/fonts/glyphicons-halflings-regular.svg | 229 -
public/fonts/glyphicons-halflings-regular.ttf | Bin 41280 -> 0 bytes
.../fonts/glyphicons-halflings-regular.woff | Bin 23320 -> 0 bytes
public/fonts/socicon-webfont.eot | Bin 18826 -> 0 bytes
public/fonts/socicon-webfont.svg | 90 -
public/fonts/socicon-webfont.ttf | Bin 27720 -> 0 bytes
public/fonts/socicon-webfont.woff | Bin 20972 -> 0 bytes
public/images/AcceptPaymentsOnline.png | Bin 1203 -> 0 bytes
public/images/AdjustablePaymentTerms.png | Bin 1451 -> 0 bytes
public/images/AlertsWhenInvoicesViewed.png | Bin 1392 -> 0 bytes
public/images/BeautifulTemplates.png | Bin 1172 -> 0 bytes
public/images/BestInClassSecurity.png | Bin 1405 -> 0 bytes
public/images/CloneInvoices.png | Bin 1115 -> 0 bytes
public/images/CloudBasedApp.png | Bin 1283 -> 0 bytes
public/images/CustomizeInvoices.png | Bin 1276 -> 0 bytes
public/images/EstimatesProForma.png | Bin 1551 -> 0 bytes
public/images/FreeInvoicing.png | Bin 1340 -> 0 bytes
public/images/GitHub.png | Bin 2625 -> 0 bytes
public/images/ImportExportRecords.png | Bin 1271 -> 0 bytes
public/images/InTuitiveEditingInterface.png | Bin 1323 -> 0 bytes
.../images/IntegrateWithPaymentGateways.png | Bin 1268 -> 0 bytes
public/images/InvoiceClientsViaEmail.png | Bin 1372 -> 0 bytes
public/images/LivePDFCreation.png | Bin 1117 -> 0 bytes
.../images/ManualAutomaticInvoiceNumbers.png | Bin 1180 -> 0 bytes
public/images/MultilingualSupport.png | Bin 1158 -> 0 bytes
public/images/MultipleCurrencySupport.png | Bin 1241 -> 0 bytes
public/images/MultipleTaxSettings.png | Bin 1184 -> 0 bytes
public/images/OpenSource.png | Bin 1242 -> 0 bytes
public/images/PaymentTracking.png | Bin 1462 -> 0 bytes
public/images/PersonalizeInvoiceColor.png | Bin 1427 -> 0 bytes
public/images/PrintablePDFInvoices.png | Bin 1273 -> 0 bytes
public/images/RecurringInvoiceProfiles.png | Bin 1232 -> 0 bytes
public/images/SelfHostedAvailable.png | Bin 1195 -> 0 bytes
public/images/Thumbs.db | Bin 444928 -> 0 bytes
public/images/about1.jpg | Bin 30861 -> 0 bytes
public/images/about1@2x.jpg | Bin 30861 -> 0 bytes
public/images/about2.jpg | Bin 47959 -> 0 bytes
public/images/about2@2x.jpg | Bin 47959 -> 0 bytes
public/images/activeclients.png | Bin 3827 -> 0 bytes
public/images/activeclients@2x.png | Bin 7112 -> 0 bytes
.../apple-touch-icon-114x114-precomposed.png | Bin 3613 -> 0 bytes
.../apple-touch-icon-144x144-precomposed.png | Bin 4369 -> 0 bytes
.../apple-touch-icon-57x57-precomposed.png | Bin 2207 -> 0 bytes
.../apple-touch-icon-72x72-precomposed.png | Bin 2588 -> 0 bytes
public/images/apple-touch-icon.png | Bin 2207 -> 0 bytes
public/images/benjacobson.jpg | Bin 27563 -> 0 bytes
public/images/bg-blue.jpg | Bin 22543 -> 0 bytes
public/images/clients.png | Bin 3788 -> 0 bytes
public/images/clients@2x.png | Bin 6894 -> 0 bytes
.../Test-AmericanExpress-Icon.png | Bin 32399 -> 0 bytes
.../images/credit_cards/Test-Diners-Icon.png | Bin 9415 -> 0 bytes
.../credit_cards/Test-Discover-Icon.png | Bin 7611 -> 0 bytes
.../credit_cards/Test-MasterCard-Icon.png | Bin 50662 -> 0 bytes
public/images/credit_cards/Test-Visa-Icon.png | Bin 33235 -> 0 bytes
public/images/designs/business.png | Bin 43569 -> 0 bytes
public/images/designs/business_thumb.png | Bin 7938 -> 0 bytes
public/images/designs/creative.png | Bin 48193 -> 0 bytes
public/images/designs/creative_thumb.png | Bin 9688 -> 0 bytes
public/images/designs/elegant.png | Bin 37810 -> 0 bytes
public/images/designs/elegant_thumb.png | Bin 7623 -> 0 bytes
public/images/designs/hipster.png | Bin 41702 -> 0 bytes
public/images/designs/hipster_thumb.png | Bin 8597 -> 0 bytes
public/images/designs/photo.png | Bin 243068 -> 0 bytes
public/images/designs/photo_thumb.png | Bin 22300 -> 0 bytes
public/images/designs/playful.png | Bin 38996 -> 0 bytes
public/images/designs/playful_thumb.png | Bin 10006 -> 0 bytes
public/images/devices-2.png | Bin 90359 -> 0 bytes
public/images/devices.png | Bin 90169 -> 0 bytes
public/images/devices3.png | Bin 73775 -> 0 bytes
public/images/facebook.jpg | Bin 14974 -> 0 bytes
public/images/features1.jpg | Bin 248116 -> 0 bytes
public/images/features2.jpg | Bin 9334 -> 0 bytes
public/images/features3.jpg | Bin 28589 -> 0 bytes
public/images/features4.jpg | Bin 84076 -> 0 bytes
public/images/features5.jpg | Bin 33678 -> 0 bytes
public/images/footer-logo.png | Bin 4838 -> 0 bytes
public/images/gateways/Thumbs.db | Bin 8192 -> 0 bytes
.../images/gateways/logo_AuthorizeNet_AIM.png | Bin 6799 -> 0 bytes
public/images/gateways/logo_BeanStream.png | Bin 3228 -> 0 bytes
.../gateways/logo_FirstData_Connect.png | Bin 2501 -> 0 bytes
public/images/gateways/logo_PayPal_Pro.png | Bin 4375 -> 0 bytes
public/images/gateways/logo_TwoCheckout.png | Bin 2550 -> 0 bytes
public/images/gateways/logo_iTransact.png | Bin 5902 -> 0 bytes
public/images/hero-bg-1.jpg | Bin 189586 -> 0 bytes
public/images/hero-bg-2.jpg | Bin 142317 -> 0 bytes
public/images/hero-bg-3.jpg | Bin 40898 -> 0 bytes
public/images/hero-bg-4.jpg | Bin 86024 -> 0 bytes
public/images/hero-bg-contact.jpg | Bin 55707 -> 0 bytes
public/images/hero-bg-faq.jpg | Bin 24206 -> 0 bytes
public/images/hero-bg-plans.jpg | Bin 26159 -> 0 bytes
public/images/hero-bg-secure-pay.jpg | Bin 18459 -> 0 bytes
public/images/hero-bg-testi.jpg | Bin 24501 -> 0 bytes
public/images/hero-faq@2x.png | Bin 2753 -> 0 bytes
public/images/hex-facebook.png | Bin 1600 -> 0 bytes
public/images/hex-github.png | Bin 1804 -> 0 bytes
public/images/hex-gplus.png | Bin 1848 -> 0 bytes
public/images/hex-linkedin.png | Bin 1701 -> 0 bytes
public/images/hex-pinterest.png | Bin 1892 -> 0 bytes
public/images/hex-rss.png | Bin 1870 -> 0 bytes
public/images/hex-twitter.png | Bin 1743 -> 0 bytes
public/images/hillelcoren.jpg | Bin 16418 -> 0 bytes
public/images/icon-about.png | Bin 1787 -> 0 bytes
public/images/icon-about@2x.png | Bin 2554 -> 0 bytes
public/images/icon-contact.png | Bin 1854 -> 0 bytes
public/images/icon-contact@2x.png | Bin 2845 -> 0 bytes
public/images/icon-faq.png | Bin 1807 -> 0 bytes
public/images/icon-features.png | Bin 1882 -> 0 bytes
public/images/icon-features@2x.png | Bin 2974 -> 0 bytes
public/images/icon-free.png | Bin 1412 -> 0 bytes
public/images/icon-free2.png | Bin 1542 -> 0 bytes
public/images/icon-free@2x.png | Bin 2699 -> 0 bytes
public/images/icon-login.png | Bin 1561 -> 0 bytes
public/images/icon-login@2x.png | Bin 2313 -> 0 bytes
public/images/icon-opensource.png | Bin 1411 -> 0 bytes
public/images/icon-opensource@2x.png | Bin 1848 -> 0 bytes
public/images/icon-payment.png | Bin 1465 -> 0 bytes
public/images/icon-payment@2x.png | Bin 1970 -> 0 bytes
public/images/icon-pdf.png | Bin 1564 -> 0 bytes
public/images/icon-pdf@2x.png | Bin 3084 -> 0 bytes
public/images/icon-plans.png | Bin 1199 -> 0 bytes
public/images/icon-plans@2x.png | Bin 1297 -> 0 bytes
public/images/icon-secure-footer.png | Bin 1240 -> 0 bytes
public/images/icon-secure-footer@2x.png | Bin 1559 -> 0 bytes
public/images/icon-secure-pay.png | Bin 1163 -> 0 bytes
public/images/icon-secure-pay@2x.png | Bin 1288 -> 0 bytes
public/images/icon-secure.png | Bin 1194 -> 0 bytes
public/images/icon-secure@2x.png | Bin 1420 -> 0 bytes
public/images/icon-shield.png | Bin 2017 -> 0 bytes
public/images/icon-testi.png | Bin 1999 -> 0 bytes
public/images/icon-testi@2x.png | Bin 3175 -> 0 bytes
public/images/instagram.svg | 24 -
public/images/invoiceninja-logo.png | Bin 3952 -> 0 bytes
public/images/invoiceninja-logo@2x.png | Bin 3952 -> 0 bytes
public/images/laptopwicon.jpg | Bin 30152 -> 0 bytes
public/images/lightbox/close.png | Bin 280 -> 0 bytes
public/images/lightbox/loading.gif | Bin 8476 -> 0 bytes
public/images/lightbox/next.png | Bin 1350 -> 0 bytes
public/images/lightbox/prev.png | Bin 1360 -> 0 bytes
public/images/linkedin.svg | 14 -
public/images/me.svg | 26 -
public/images/opensource-footer.png | Bin 6990 -> 0 bytes
public/images/pro-plan-chart.png | Bin 164763 -> 0 bytes
public/images/providers.png | Bin 8990 -> 0 bytes
public/images/razikantorp.jpg | Bin 47455 -> 0 bytes
public/images/report_logo1.jpg | Bin 5234 -> 0 bytes
public/images/report_logo2.jpg | Bin 13504 -> 0 bytes
public/images/report_logo3.jpg | Bin 31804 -> 0 bytes
public/images/shalomstark.jpg | Bin 62164 -> 0 bytes
public/images/social.jpg | Bin 14974 -> 0 bytes
public/images/social/facebook.png | Bin 229 -> 0 bytes
public/images/social/facebook.svg | 6 -
public/images/social/github.png | Bin 457 -> 0 bytes
public/images/social/twitter.png | Bin 307 -> 0 bytes
public/images/social/twitter.svg | 6 -
public/images/sort_asc.png | Bin 1028 -> 0 bytes
public/images/sort_asc_disabled.png | Bin 1050 -> 0 bytes
public/images/sort_both.png | Bin 1136 -> 0 bytes
public/images/sort_desc.png | Bin 1037 -> 0 bytes
public/images/sort_desc_disabled.png | Bin 1045 -> 0 bytes
public/images/ssl-footer.png | Bin 7519 -> 0 bytes
public/images/totalincome.png | Bin 3395 -> 0 bytes
public/images/totalincome@2x.png | Bin 6026 -> 0 bytes
public/images/totalinvoices.png | Bin 3294 -> 0 bytes
public/images/totalinvoices@2x.png | Bin 5651 -> 0 bytes
public/images/twitter.svg | 13 -
public/images/website.svg | 11 -
public/index.php | 49 -
public/js/Chart.js | 1426 -
public/js/bootstrap-combobox.js | 419 -
public/js/bootstrap.js | 219 -
public/js/bootstrap.min.js | 7 -
public/js/built.public.js | 7 -
public/js/compatibility.js | 483 -
public/js/d3.min.js | 5 -
public/js/jspdf.min.js | 140 -
public/js/jspdf.plugin.split_text_to_size.js | 297 -
public/js/jspdf.source.js | 6663 ---
public/js/lightbox.min.js | 9 -
public/js/pdf.js | 49 -
public/js/pdf_viewer.js | 7420 ---
public/js/pdf_viewer.worker.js | 39769 ----------------
public/js/retina-1.1.0.min.js | 10 -
public/js/script.js | 1522 -
public/js/simpleexpand.js | 4 -
public/js/stacktrace.js | 485 -
public/js/typedarray.js | 1030 -
public/js/valign.js | 12 -
public/logo/.gitkeep | 0
.../logo/zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h.jpg | Bin 1822 -> 0 bytes
public/robots.txt | 2 -
scheduler.yml | 8 -
server.php | 19 -
tests/_bootstrap.php | 2 -
tests/_data/dump.sql | 1012 -
tests/_helpers/CodeHelper.php | 8 -
tests/_helpers/TestHelper.php | 8 -
tests/_helpers/WebHelper.php | 8 -
tests/_log/.gitkeep | 0
tests/acceptance.suite.yml | 23 -
tests/acceptance/WebGuy.php | 2610 -
tests/acceptance/WelcomeCept.php | 15 -
tests/acceptance/_bootstrap.php | 2 -
.../complete/CheckCreateNewClientFormCept.php | 131 -
tests/functional.suite.yml | 11 -
tests/functional/TestGuy.php | 460 -
tests/functional/_bootstrap.php | 2 -
tests/unit.suite.yml | 8 -
tests/unit/CodeGuy.php | 47 -
tests/unit/_bootstrap.php | 2 -
vendor/php-payments/README.md | 80 -
.../config/drivers/amazon_simplepay.php | 14 -
.../config/drivers/authorize_net.php | 8 -
.../config/drivers/beanstream.php | 26 -
.../php-payments/config/drivers/bluepay.php | 15 -
.../php-payments/config/drivers/braintree.php | 7 -
vendor/php-payments/config/drivers/eway.php | 4 -
.../config/drivers/gocardless.php | 10 -
.../config/drivers/google_checkout.php | 10 -
.../config/drivers/paypal_paymentspro.php | 7 -
.../php-payments/config/drivers/psigate.php | 15 -
.../config/drivers/quickbooksms.php | 9 -
vendor/php-payments/config/drivers/stripe.php | 5 -
vendor/php-payments/config/payments.php | 102 -
vendor/php-payments/documentation/README.md | 4 -
.../documentation/dox/content/add_drivers.php | 20 -
.../dox/content/contributors.php | 28 -
.../documentation/dox/content/donate.php | 7 -
.../documentation/dox/content/drivers.php | 87 -
.../documentation/dox/content/frameworks.php | 14 -
.../documentation/dox/content/index.php | 31 -
.../documentation/dox/content/methods.php | 61 -
.../documentation/dox/content/usage.php | 37 -
.../php-payments/documentation/dox/doxgen.php | 15 -
.../documentation/dox/template.php | 14 -
.../documentation/dox/template/footer.php | 2 -
.../documentation/dox/template/head.php | 6 -
.../documentation/dox/template/header.php | 32 -
.../documentation/dox/template/sidebar.php | 7 -
.../documentation/html/assets/style.css | 1 -
.../english/response_details_lang.php | 39 -
.../english/response_messages_lang.php | 81 -
vendor/php-payments/lib/payment_driver.php | 64 -
.../amazon_simplepay_driver.php | 148 -
.../payment_drivers/authorize_net_driver.php | 620 -
.../lib/payment_drivers/beanstream_driver.php | 563 -
.../lib/payment_drivers/bluepay_driver.php | 306 -
.../lib/payment_drivers/braintree_driver.php | 310 -
.../lib/payment_drivers/eway_driver.php | 197 -
.../lib/payment_drivers/gocardless_driver.php | 182 -
.../google_checkout_driver.php | 154 -
.../paypal_paymentspro_driver.php | 571 -
.../lib/payment_drivers/psigate_driver.php | 346 -
.../payment_drivers/quickbooksms_driver.php | 404 -
.../lib/payment_drivers/stripe_driver.php | 307 -
vendor/php-payments/lib/payment_method.php | 8 -
.../activate_recurring_profile_method.php | 26 -
.../authorize_payment_button_method.php | 26 -
.../authorize_payment_method.php | 62 -
.../cancel_recurring_profile_method.php | 26 -
.../capture_payment_method.php | 32 -
.../change_transaction_status_method.php | 26 -
.../customer_charge_method.php | 27 -
.../customer_create_method.php | 26 -
.../get_recurring_profile_method.php | 25 -
.../get_transaction_details_method.php | 25 -
.../oneoff_payment_button_method.php | 45 -
.../payment_methods/oneoff_payment_method.php | 63 -
.../recurring_bill_outstanding_method.php | 27 -
.../recurring_payment_button_method.php | 34 -
.../recurring_payment_method.php | 72 -
.../reference_payment_method.php | 26 -
.../payment_methods/refund_payment_method.php | 31 -
.../search_transactions_method.php | 41 -
.../suspend_recurring_profile_method.php | 26 -
.../payment_methods/token_create_method.php | 44 -
.../update_recurring_profile_method.php | 63 -
.../payment_methods/void_payment_method.php | 26 -
.../payment_methods/void_refund_method.php | 39 -
vendor/php-payments/lib/payment_request.php | 193 -
vendor/php-payments/lib/payment_response.php | 111 -
vendor/php-payments/lib/payment_utility.php | 253 -
vendor/php-payments/lib/payment_validator.php | 117 -
vendor/php-payments/lib/payments.php | 72 -
.../tests/classes/test_errors.php | 19 -
vendor/php-payments/tests/test.php | 75 -
vendor/php-payments/tests/tests/drivers.php | 51 -
.../tests/drivers/.drivers.test_vals.php | 46 -
.../tests/tests/drivers/driver.php | 157 -
.../Examples-ASP.html | 119 -
.../ButtonGenerationWithSignature/README.html | 174 -
.../src/ButtonGenerator.php | 143 -
.../src/SignatureUtils.php | 112 -
.../src/StandardButtonSample.php | 43 -
.../amazon_simplepay/FPSApis/README.html | 168 -
.../FPSApis/src/Amazon/FPS/Client.php | 1638 -
.../FPSApis/src/Amazon/FPS/Exception.php | 140 -
.../FPSApis/src/Amazon/FPS/Interface.php | 438 -
.../FPSApis/src/Amazon/FPS/Mock.php | 166 -
.../src/Amazon/FPS/Mock/CancelResponse.xml | 13 -
.../src/Amazon/FPS/Mock/ErrorResponse.xml | 15 -
.../FPS/Mock/GetTransactionStatusResponse.xml | 16 -
.../src/Amazon/FPS/Mock/RefundResponse.xml | 11 -
.../src/Amazon/FPS/Mock/SettleResponse.xml | 11 -
.../FPS/Mock/VerifySignatureResponse.xml | 11 -
.../FPSApis/src/Amazon/FPS/Model.php | 299 -
.../src/Amazon/FPS/Model/AccountBalance.php | 260 -
.../FPSApis/src/Amazon/FPS/Model/Amount.php | 160 -
.../Amazon/FPS/Model/AvailableBalances.php | 162 -
.../src/Amazon/FPS/Model/CancelRequest.php | 160 -
.../src/Amazon/FPS/Model/CancelResponse.php | 198 -
.../src/Amazon/FPS/Model/CancelResult.php | 160 -
.../src/Amazon/FPS/Model/DebtBalance.php | 162 -
.../src/Amazon/FPS/Model/DescriptorPolicy.php | 160 -
.../FPSApis/src/Amazon/FPS/Model/Error.php | 257 -
.../FPS/Model/GetTransactionStatusRequest.php | 112 -
.../Model/GetTransactionStatusResponse.php | 198 -
.../FPS/Model/GetTransactionStatusResult.php | 304 -
.../FPS/Model/OutstandingDebtBalance.php | 162 -
.../FPS/Model/OutstandingPrepaidLiability.php | 162 -
.../src/Amazon/FPS/Model/PrepaidBalance.php | 162 -
.../src/Amazon/FPS/Model/RefundRequest.php | 305 -
.../src/Amazon/FPS/Model/RefundResponse.php | 198 -
.../src/Amazon/FPS/Model/RefundResult.php | 160 -
.../Amazon/FPS/Model/RelatedTransaction.php | 160 -
.../src/Amazon/FPS/Model/ResponseMetadata.php | 112 -
.../src/Amazon/FPS/Model/SettleRequest.php | 161 -
.../src/Amazon/FPS/Model/SettleResponse.php | 198 -
.../src/Amazon/FPS/Model/SettleResult.php | 160 -
.../src/Amazon/FPS/Model/StatusHistory.php | 257 -
.../FPSApis/src/Amazon/FPS/Model/Token.php | 448 -
.../src/Amazon/FPS/Model/TokenUsageLimit.php | 306 -
.../src/Amazon/FPS/Model/Transaction.php | 988 -
.../Amazon/FPS/Model/TransactionDetail.php | 1333 -
.../src/Amazon/FPS/Model/TransactionPart.php | 353 -
.../FPS/Model/VerifySignatureRequest.php | 160 -
.../FPS/Model/VerifySignatureResponse.php | 198 -
.../FPS/Model/VerifySignatureResult.php | 112 -
.../src/Amazon/FPS/Samples/.config.inc.php | 48 -
.../src/Amazon/FPS/Samples/CancelSample.php | 110 -
.../Samples/GetTransactionStatusSample.php | 125 -
.../src/Amazon/FPS/Samples/RefundSample.php | 110 -
.../src/Amazon/FPS/Samples/SettleSample.php | 110 -
.../FPS/Samples/VerifySignatureSample.php | 105 -
.../Examples-IPN.html | 132 -
.../Examples-ReturnUrl.html | 131 -
.../IPNAndReturnURLValidation/README.html | 207 -
.../src/.config.inc.php | 37 -
.../src/IPNVerificationSampleCode.php | 49 -
.../src/ReturnUrlVerificationSampleCode.php | 47 -
.../src/SignatureUtilsForOutbound.php | 163 -
.../src/ca-bundle.crt | 7989 ----
.../vendor/amazon_simplepay/LICENSE.txt | 51 -
.../vendor/amazon_simplepay/NOTICE.txt | 5 -
.../vendor/google_checkout/CHANGELOG | 62 -
.../vendor/google_checkout/README | 165 -
.../php-payments/vendor/google_checkout/TODO | 7 -
.../vendor/google_checkout/UPGRADE | 17 -
.../demo/basicapiresponsehandlerdemo.php | 168 -
.../vendor/google_checkout/demo/cartdemo.php | 402 -
.../google_checkout/demo/digitalCart.php | 82 -
.../google_checkout/demo/lineItemShipping.php | 58 -
.../merchantsubscriptionrecurrencedemo.php | 43 -
.../google_checkout/demo/pollingdemo.php | 48 -
.../demo/responsehandlerdemo.php | 267 -
.../google_checkout/demo/sampcodetest.php | 104 -
.../demo/subscriptiondemo (Autosaved).txt | 71 -
.../google_checkout/demo/subscriptiondemo.php | 71 -
.../vendor/google_checkout/googleerror.log | 2 -
.../vendor/google_checkout/googlemessage.log | 85 -
.../google_checkout/library/googlecart.php | 1684 -
.../google_checkout/library/googleitem.php | 245 -
.../google_checkout/library/googlelog.php | 96 -
.../library/googlemerchantcalculations.php | 115 -
.../library/googlenotification.php | 178 -
.../library/googlenotificationhistory.php | 95 -
.../google_checkout/library/googlepoll.php | 220 -
.../google_checkout/library/googlerequest.php | 837 -
.../library/googleresponse.php | 225 -
.../google_checkout/library/googleresult.php | 105 -
.../library/googleshipping.php | 532 -
.../library/googlesubscription.php | 91 -
.../google_checkout/library/googletax.php | 146 -
.../library/htmlSignatureGen.php | 92 -
.../library/xml-processing/gc_xmlbuilder.php | 95 -
.../library/xml-processing/gc_xmlparser.php | 205 -
.../google_checkout/unitTest/classes/README | 24 -
.../unitTest/classes/phpunit.php | 632 -
.../vendor/google_checkout/unitTest/error.log | 0
.../google_checkout/unitTest/message.log | 0
.../google_checkout/unitTest/stylesheet.css | 64 -
.../unitTest/testGoogleCart.php | 64 -
.../unitTest/testGoogleLog.php | 53 -
.../unitTest/testGoogleXMLParser.php | 379 -
1208 files changed, 328852 deletions(-)
delete mode 100644 .bowerrc
delete mode 100644 .gitattributes
delete mode 100644 .gitignore
delete mode 100644 Gruntfile.js
delete mode 100644 LICENSE
delete mode 100644 README.md
delete mode 100644 _ide_helper.php
delete mode 100644 _ide_helper_models.php
delete mode 100755 app/commands/.gitkeep
delete mode 100644 app/commands/CheckData.php
delete mode 100644 app/commands/CreateRandomData.php
delete mode 100644 app/commands/ImportTimesheetData.php
delete mode 100644 app/commands/ResetData.php
delete mode 100755 app/commands/SendRecurringInvoices.php
delete mode 100755 app/config/app.php
delete mode 100755 app/config/auth.php
delete mode 100755 app/config/cache.php
delete mode 100755 app/config/compile.php
delete mode 100755 app/config/database.php
delete mode 100755 app/config/gae-development/database.php
delete mode 100755 app/config/gae-production/app.php
delete mode 100755 app/config/gae-production/cache.php
delete mode 100755 app/config/gae-production/database.php
delete mode 100755 app/config/gae-production/session.php
delete mode 100755 app/config/mail.php
delete mode 100755 app/config/packages/.gitkeep
delete mode 100755 app/config/packages/anahkiasen/former/Nude.php
delete mode 100755 app/config/packages/anahkiasen/former/TwitterBootstrap.php
delete mode 100755 app/config/packages/anahkiasen/former/TwitterBootstrap3.php
delete mode 100755 app/config/packages/anahkiasen/former/ZurbFoundation.php
delete mode 100755 app/config/packages/anahkiasen/former/ZurbFoundation4.php
delete mode 100755 app/config/packages/anahkiasen/former/config.php
delete mode 100755 app/config/packages/ignited/laravel-omnipay/config.php
delete mode 100755 app/config/packages/zizaco/confide/.gitkeep
delete mode 100755 app/config/packages/zizaco/confide/config.php
delete mode 100755 app/config/queue.php
delete mode 100755 app/config/remote.php
delete mode 100755 app/config/session.php
delete mode 100755 app/config/testing/cache.php
delete mode 100755 app/config/testing/session.php
delete mode 100755 app/config/view.php
delete mode 100755 app/config/workbench.php
delete mode 100755 app/controllers/.gitkeep
delete mode 100755 app/controllers/AccountController.php
delete mode 100755 app/controllers/AccountGatewayController.php
delete mode 100755 app/controllers/ActivityController.php
delete mode 100644 app/controllers/AppController.php
delete mode 100755 app/controllers/BaseController.php
delete mode 100644 app/controllers/ClientApiController.php
delete mode 100755 app/controllers/ClientController.php
delete mode 100755 app/controllers/CreditController.php
delete mode 100644 app/controllers/DashboardController.php
delete mode 100755 app/controllers/HomeController.php
delete mode 100644 app/controllers/IntegrationController.php
delete mode 100644 app/controllers/InvoiceApiController.php
delete mode 100755 app/controllers/InvoiceController.php
delete mode 100644 app/controllers/PaymentApiController.php
delete mode 100755 app/controllers/PaymentController.php
delete mode 100644 app/controllers/ProductController.php
delete mode 100644 app/controllers/QuoteApiController.php
delete mode 100644 app/controllers/QuoteController.php
delete mode 100755 app/controllers/ReportController.php
delete mode 100644 app/controllers/TimesheetController.php
delete mode 100755 app/controllers/TokenController.php
delete mode 100755 app/controllers/UserController.php
delete mode 100755 app/database/migrations/.gitkeep
delete mode 100755 app/database/migrations/2013_11_05_180133_confide_setup_users_table.php
delete mode 100755 app/database/migrations/2013_11_28_195703_setup_countries_table.php
delete mode 100644 app/database/migrations/2014_02_13_151500_add_cascase_drops.php
delete mode 100644 app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php
delete mode 100644 app/database/migrations/2014_03_03_155556_add_phone_to_account.php
delete mode 100644 app/database/migrations/2014_03_19_201454_add_language_support.php
delete mode 100644 app/database/migrations/2014_03_20_200300_create_payment_libraries.php
delete mode 100644 app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php
delete mode 100644 app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php
delete mode 100644 app/database/migrations/2014_04_03_191105_add_pro_plan.php
delete mode 100644 app/database/migrations/2014_04_17_100523_add_remember_token.php
delete mode 100644 app/database/migrations/2014_04_17_145108_add_custom_fields.php
delete mode 100644 app/database/migrations/2014_04_23_170909_add_products_settings.php
delete mode 100644 app/database/migrations/2014_04_29_174315_add_advanced_settings.php
delete mode 100644 app/database/migrations/2014_05_17_175626_add_quotes.php
delete mode 100644 app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php
delete mode 100644 app/database/migrations/2014_07_13_142654_one_click_install.php
delete mode 100644 app/database/migrations/2014_07_17_205900_support_hiding_quantity.php
delete mode 100644 app/database/migrations/2014_07_24_171214_add_zapier_support.php
delete mode 100644 app/database/migrations/2014_10_01_141248_add_company_vat_number.php
delete mode 100644 app/database/migrations/2014_10_05_141856_track_last_seen_message.php
delete mode 100644 app/database/migrations/2014_10_06_103529_add_timesheets.php
delete mode 100644 app/database/migrations/2014_10_06_195330_add_invoice_design_table.php
delete mode 100644 app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php
delete mode 100644 app/database/migrations/2014_10_14_225227_add_danish_translation.php
delete mode 100644 app/database/migrations/2014_10_22_174452_add_affiliate_price.php
delete mode 100644 app/database/migrations/2014_10_30_184126_add_company_id_number.php
delete mode 100644 app/database/migrations/2014_11_04_200406_allow_null_client_currency.php
delete mode 100644 app/database/migrations/2014_12_03_154119_add_discount_type.php
delete mode 100644 app/database/migrations/2015_02_12_102940_add_email_templates.php
delete mode 100644 app/database/migrations/2015_02_17_131714_support_token_billing.php
delete mode 100644 app/database/migrations/2015_02_27_081836_add_invoice_footer.php
delete mode 100644 app/database/migrations/2015_03_03_140259_add_tokens.php
delete mode 100644 app/database/migrations/2015_03_09_151011_add_ip_to_activity.php
delete mode 100755 app/database/production.sqlite
delete mode 100755 app/database/seeds/.gitkeep
delete mode 100755 app/database/seeds/ConstantsSeeder.php
delete mode 100755 app/database/seeds/CountriesSeeder.php
delete mode 100755 app/database/seeds/DatabaseSeeder.php
delete mode 100644 app/database/seeds/PaymentLibrariesSeeder.php
delete mode 100644 app/database/seeds/SecurePaymentFormSeeder.php
delete mode 100755 app/database/seeds/UserTableSeeder.php
delete mode 100755 app/filters.php
delete mode 100755 app/handlers/InvoiceEventHandler.php
delete mode 100755 app/handlers/UserEventHandler.php
delete mode 100755 app/includes/parsecsv.lib.php
delete mode 100644 app/lang/da/pagination.php
delete mode 100644 app/lang/da/public.php
delete mode 100644 app/lang/da/reminders.php
delete mode 100644 app/lang/da/texts.php
delete mode 100644 app/lang/da/validation.php
delete mode 100644 app/lang/de/pagination.php
delete mode 100644 app/lang/de/public.php
delete mode 100644 app/lang/de/reminders.php
delete mode 100644 app/lang/de/texts.php
delete mode 100644 app/lang/de/validation.php
delete mode 100755 app/lang/en/pagination.php
delete mode 100644 app/lang/en/public.php
delete mode 100755 app/lang/en/reminders.php
delete mode 100644 app/lang/en/texts.php
delete mode 100755 app/lang/en/validation.php
delete mode 100755 app/lang/es/pagination.php
delete mode 100644 app/lang/es/public.php
delete mode 100755 app/lang/es/reminders.php
delete mode 100644 app/lang/es/texts.php
delete mode 100755 app/lang/es/validation.php
delete mode 100644 app/lang/fr/pagination.php
delete mode 100644 app/lang/fr/public.php
delete mode 100644 app/lang/fr/reminders.php
delete mode 100644 app/lang/fr/texts.php
delete mode 100644 app/lang/fr/validation.php
delete mode 100644 app/lang/it/pagination.php
delete mode 100644 app/lang/it/public.php
delete mode 100644 app/lang/it/reminders.php
delete mode 100644 app/lang/it/texts.php
delete mode 100644 app/lang/it/validation.php
delete mode 100755 app/lang/lt/pagination.php
delete mode 100644 app/lang/lt/public.php
delete mode 100755 app/lang/lt/reminders.php
delete mode 100644 app/lang/lt/texts.php
delete mode 100755 app/lang/lt/validation.php
delete mode 100644 app/lang/nb_NO/pagination.php
delete mode 100644 app/lang/nb_NO/public.php
delete mode 100644 app/lang/nb_NO/reminders.php
delete mode 100644 app/lang/nb_NO/texts.php
delete mode 100644 app/lang/nb_NO/validation.php
delete mode 100644 app/lang/nl/pagination.php
delete mode 100644 app/lang/nl/public.php
delete mode 100644 app/lang/nl/reminders.php
delete mode 100644 app/lang/nl/texts.php
delete mode 100644 app/lang/nl/validation.php
delete mode 100644 app/lang/pt_BR/pagination.php
delete mode 100644 app/lang/pt_BR/public.php
delete mode 100644 app/lang/pt_BR/reminders.php
delete mode 100644 app/lang/pt_BR/texts.php
delete mode 100644 app/lang/pt_BR/validation.php
delete mode 100755 app/libraries/Utils.php
delete mode 100755 app/libraries/entity.php
delete mode 100644 app/libraries/timesheet_utils.php
delete mode 100755 app/models/Account.php
delete mode 100755 app/models/AccountGateway.php
delete mode 100644 app/models/AccountGatewayToken.php
delete mode 100755 app/models/AccountToken.php
delete mode 100755 app/models/Activity.php
delete mode 100644 app/models/Affiliate.php
delete mode 100755 app/models/Client.php
delete mode 100755 app/models/Contact.php
delete mode 100755 app/models/Country.php
delete mode 100755 app/models/Credit.php
delete mode 100755 app/models/Currency.php
delete mode 100755 app/models/DateFormat.php
delete mode 100755 app/models/DatetimeFormat.php
delete mode 100755 app/models/EntityModel.php
delete mode 100755 app/models/Frequency.php
delete mode 100755 app/models/Gateway.php
delete mode 100755 app/models/Industry.php
delete mode 100755 app/models/Invitation.php
delete mode 100755 app/models/Invoice.php
delete mode 100644 app/models/InvoiceDesign.php
delete mode 100755 app/models/InvoiceItem.php
delete mode 100755 app/models/InvoiceStatus.php
delete mode 100755 app/models/Language.php
delete mode 100644 app/models/License.php
delete mode 100755 app/models/Payment.php
delete mode 100644 app/models/PaymentLibrary.php
delete mode 100755 app/models/PaymentTerm.php
delete mode 100755 app/models/PaymentType.php
delete mode 100755 app/models/Product.php
delete mode 100644 app/models/Project.php
delete mode 100644 app/models/ProjectCode.php
delete mode 100755 app/models/Size.php
delete mode 100644 app/models/Subscription.php
delete mode 100755 app/models/TaxRate.php
delete mode 100755 app/models/Theme.php
delete mode 100755 app/models/Timesheet.php
delete mode 100644 app/models/TimesheetEvent.php
delete mode 100644 app/models/TimesheetEventSource.php
delete mode 100755 app/models/Timezone.php
delete mode 100755 app/models/User.php
delete mode 100755 app/ninja/mailers/ContactMailer.php
delete mode 100755 app/ninja/mailers/Mailer.php
delete mode 100755 app/ninja/mailers/UserMailer.php
delete mode 100755 app/ninja/repositories/AccountRepository.php
delete mode 100755 app/ninja/repositories/ClientRepository.php
delete mode 100755 app/ninja/repositories/CreditRepository.php
delete mode 100755 app/ninja/repositories/InvoiceRepository.php
delete mode 100755 app/ninja/repositories/PaymentRepository.php
delete mode 100755 app/ninja/repositories/TaxRateRepository.php
delete mode 100755 app/routes.php
delete mode 100755 app/start/artisan.php
delete mode 100755 app/start/global.php
delete mode 100755 app/start/local.php
delete mode 100755 app/storage/.gitkeep
delete mode 100755 app/storage/cache/.gitkeep
delete mode 100755 app/storage/logs/.gitkeep
delete mode 100755 app/storage/meta/.gitkeep
delete mode 100755 app/storage/sessions/.gitkeep
delete mode 100755 app/storage/views/.gitkeep
delete mode 100755 app/tests/ExampleTest.php
delete mode 100755 app/tests/TestCase.php
delete mode 100644 app/tests/TimesheetUtilsTest.php
delete mode 100644 app/tests/data/Demo/demo.response.json
delete mode 100644 app/views/accounts/account_gateway.blade.php
delete mode 100755 app/views/accounts/details.blade.php
delete mode 100644 app/views/accounts/email_templates.blade.php
delete mode 100755 app/views/accounts/export.blade.php
delete mode 100755 app/views/accounts/import_export.blade.php
delete mode 100755 app/views/accounts/import_map.blade.php
delete mode 100644 app/views/accounts/invoice_design.blade.php
delete mode 100644 app/views/accounts/invoice_settings.blade.php
delete mode 100755 app/views/accounts/nav.blade.php
delete mode 100644 app/views/accounts/nav_advanced.blade.php
delete mode 100755 app/views/accounts/notifications.blade.php
delete mode 100755 app/views/accounts/payments.blade.php
delete mode 100644 app/views/accounts/product.blade.php
delete mode 100644 app/views/accounts/products.blade.php
delete mode 100644 app/views/accounts/token.blade.php
delete mode 100644 app/views/accounts/token_management.blade.php
delete mode 100644 app/views/accounts/user_management.blade.php
delete mode 100755 app/views/client.blade.php
delete mode 100755 app/views/clients/edit.blade.php
delete mode 100755 app/views/clients/show.blade.php
delete mode 100755 app/views/coming_soon.blade.php
delete mode 100755 app/views/credits/edit.blade.php
delete mode 100644 app/views/dashboard.blade.php
delete mode 100755 app/views/datatable.blade.php
delete mode 100755 app/views/emails/auth/reminder.blade.php
delete mode 100755 app/views/emails/confirm_html.blade.php
delete mode 100644 app/views/emails/confirm_text.blade.php
delete mode 100644 app/views/emails/contact_html.blade.php
delete mode 100644 app/views/emails/contact_text.blade.php
delete mode 100755 app/views/emails/error.blade.php
delete mode 100755 app/views/emails/invoice_html.blade.php
delete mode 100755 app/views/emails/invoice_paid_html.blade.php
delete mode 100755 app/views/emails/invoice_paid_text.blade.php
delete mode 100755 app/views/emails/invoice_sent_html.blade.php
delete mode 100755 app/views/emails/invoice_sent_text.blade.php
delete mode 100755 app/views/emails/invoice_text.blade.php
delete mode 100755 app/views/emails/invoice_viewed_html.blade.php
delete mode 100755 app/views/emails/invoice_viewed_text.blade.php
delete mode 100644 app/views/emails/license_confirmation_html.blade.php
delete mode 100644 app/views/emails/license_confirmation_text.blade.php
delete mode 100644 app/views/emails/passwordreset_html.blade.php
delete mode 100644 app/views/emails/payment_confirmation_html.blade.php
delete mode 100644 app/views/emails/payment_confirmation_text.blade.php
delete mode 100644 app/views/emails/view_action.blade.php
delete mode 100755 app/views/error.blade.php
delete mode 100755 app/views/header.blade.php
delete mode 100755 app/views/invoices/deleted.blade.php
delete mode 100755 app/views/invoices/edit.blade.php
delete mode 100644 app/views/invoices/history.blade.php
delete mode 100644 app/views/invoices/pdf.blade.php
delete mode 100755 app/views/invoices/view.blade.php
delete mode 100755 app/views/list.blade.php
delete mode 100755 app/views/master.blade.php
delete mode 100755 app/views/payments/edit.blade.php
delete mode 100755 app/views/payments/payment.blade.php
delete mode 100644 app/views/plans.blade.php
delete mode 100644 app/views/public/header.blade.php
delete mode 100644 app/views/public/license.blade.php
delete mode 100644 app/views/public/terms.blade.php
delete mode 100755 app/views/public_list.blade.php
delete mode 100644 app/views/reports/d3.blade.php
delete mode 100755 app/views/reports/report_builder.blade.php
delete mode 100644 app/views/script.blade.php
delete mode 100644 app/views/secure_payment.blade.php
delete mode 100644 app/views/setup.blade.php
delete mode 100644 app/views/timesheets/edit.blade.php
delete mode 100644 app/views/users/edit.blade.php
delete mode 100755 app/views/users/forgot_password.blade.php
delete mode 100755 app/views/users/login.blade.php
delete mode 100755 app/views/users/reset_password.blade.php
delete mode 100755 artisan
delete mode 100755 bootstrap/autoload.php
delete mode 100755 bootstrap/environment.default.php
delete mode 100755 bootstrap/paths.php
delete mode 100755 bootstrap/start.php
delete mode 100644 bower.json
delete mode 100644 codeception.yml
delete mode 100644 composer.json
delete mode 100644 composer.lock
delete mode 100644 node_modules/grunt-contrib-concat/LICENSE-MIT
delete mode 100644 node_modules/grunt-contrib-concat/README.md
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/index.js
delete mode 120000 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/.bin/strip-ansi
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/package.json
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/ansi-styles/readme.md
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/index.js
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/package.json
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/has-color/readme.md
delete mode 100755 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/cli.js
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/index.js
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/package.json
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/node_modules/strip-ansi/readme.md
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/package.json
delete mode 100644 node_modules/grunt-contrib-concat/node_modules/chalk/readme.md
delete mode 100644 node_modules/grunt-contrib-concat/package.json
delete mode 100644 node_modules/grunt-contrib-concat/tasks/concat.js
delete mode 100644 node_modules/grunt-contrib-concat/tasks/lib/comment.js
delete mode 100644 node_modules/grunt/.npmignore
delete mode 100644 node_modules/grunt/LICENSE-MIT
delete mode 100644 node_modules/grunt/README.md
delete mode 100644 node_modules/grunt/internal-tasks/bump.js
delete mode 100644 node_modules/grunt/internal-tasks/subgrunt.js
delete mode 100644 node_modules/grunt/lib/grunt.js
delete mode 100644 node_modules/grunt/lib/grunt/cli.js
delete mode 100644 node_modules/grunt/lib/grunt/config.js
delete mode 100644 node_modules/grunt/lib/grunt/event.js
delete mode 100644 node_modules/grunt/lib/grunt/fail.js
delete mode 100644 node_modules/grunt/lib/grunt/file.js
delete mode 100644 node_modules/grunt/lib/grunt/help.js
delete mode 100644 node_modules/grunt/lib/grunt/log.js
delete mode 100644 node_modules/grunt/lib/grunt/option.js
delete mode 100644 node_modules/grunt/lib/grunt/task.js
delete mode 100644 node_modules/grunt/lib/grunt/template.js
delete mode 100644 node_modules/grunt/lib/util/task.js
delete mode 120000 node_modules/grunt/node_modules/.bin/cake
delete mode 120000 node_modules/grunt/node_modules/.bin/coffee
delete mode 120000 node_modules/grunt/node_modules/.bin/js-yaml
delete mode 120000 node_modules/grunt/node_modules/.bin/nopt
delete mode 120000 node_modules/grunt/node_modules/.bin/rimraf
delete mode 120000 node_modules/grunt/node_modules/.bin/which
delete mode 100644 node_modules/grunt/node_modules/async/.gitmodules
delete mode 100644 node_modules/grunt/node_modules/async/.npmignore
delete mode 100644 node_modules/grunt/node_modules/async/LICENSE
delete mode 100644 node_modules/grunt/node_modules/async/Makefile
delete mode 100644 node_modules/grunt/node_modules/async/README.md
delete mode 100644 node_modules/grunt/node_modules/async/index.js
delete mode 100644 node_modules/grunt/node_modules/async/lib/async.js
delete mode 100644 node_modules/grunt/node_modules/async/package.json
delete mode 100644 node_modules/grunt/node_modules/coffee-script/.npmignore
delete mode 100644 node_modules/grunt/node_modules/coffee-script/CNAME
delete mode 100644 node_modules/grunt/node_modules/coffee-script/LICENSE
delete mode 100644 node_modules/grunt/node_modules/coffee-script/README
delete mode 100644 node_modules/grunt/node_modules/coffee-script/Rakefile
delete mode 100755 node_modules/grunt/node_modules/coffee-script/bin/cake
delete mode 100755 node_modules/grunt/node_modules/coffee-script/bin/coffee
delete mode 100644 node_modules/grunt/node_modules/coffee-script/extras/jsl.conf
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js
delete mode 100755 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js
delete mode 100644 node_modules/grunt/node_modules/coffee-script/package.json
delete mode 100644 node_modules/grunt/node_modules/colors/MIT-LICENSE.txt
delete mode 100644 node_modules/grunt/node_modules/colors/ReadMe.md
delete mode 100644 node_modules/grunt/node_modules/colors/colors.js
delete mode 100644 node_modules/grunt/node_modules/colors/example.html
delete mode 100644 node_modules/grunt/node_modules/colors/example.js
delete mode 100644 node_modules/grunt/node_modules/colors/package.json
delete mode 100644 node_modules/grunt/node_modules/colors/test.js
delete mode 100644 node_modules/grunt/node_modules/colors/themes/winston-dark.js
delete mode 100644 node_modules/grunt/node_modules/colors/themes/winston-light.js
delete mode 100644 node_modules/grunt/node_modules/dateformat/Readme.md
delete mode 100644 node_modules/grunt/node_modules/dateformat/lib/dateformat.js
delete mode 100644 node_modules/grunt/node_modules/dateformat/package.json
delete mode 100644 node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js
delete mode 100644 node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh
delete mode 100644 node_modules/grunt/node_modules/eventemitter2/README.md
delete mode 100644 node_modules/grunt/node_modules/eventemitter2/index.js
delete mode 100644 node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js
delete mode 100644 node_modules/grunt/node_modules/eventemitter2/package.json
delete mode 100644 node_modules/grunt/node_modules/exit/.jshintrc
delete mode 100644 node_modules/grunt/node_modules/exit/.npmignore
delete mode 100644 node_modules/grunt/node_modules/exit/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/exit/Gruntfile.js
delete mode 100644 node_modules/grunt/node_modules/exit/LICENSE-MIT
delete mode 100644 node_modules/grunt/node_modules/exit/README.md
delete mode 100644 node_modules/grunt/node_modules/exit/lib/exit.js
delete mode 100644 node_modules/grunt/node_modules/exit/package.json
delete mode 100644 node_modules/grunt/node_modules/exit/test/exit_test.js
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt
delete mode 100755 node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js
delete mode 100644 node_modules/grunt/node_modules/exit/test/fixtures/log.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/.jshintrc
delete mode 100644 node_modules/grunt/node_modules/findup-sync/.npmignore
delete mode 100644 node_modules/grunt/node_modules/findup-sync/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/findup-sync/Gruntfile.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/LICENSE-MIT
delete mode 100644 node_modules/grunt/node_modules/findup-sync/README.md
delete mode 100644 node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/.npmignore
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/LICENSE
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/README.md
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/examples/g.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/examples/usr-local.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/glob.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/LICENSE
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/README.md
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/inherits_browser.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/package.json
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/node_modules/inherits/test.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/package.json
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/00-setup.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/bash-comparison.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/bash-results.json
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/cwd-test.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/globstar-match.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/mark.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/new-glob-optional-options.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/nocase-nomagic.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/pause-resume.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/readme-issue.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/root-nomount.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/root.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/stat.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/glob/test/zz-cleanup.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/LICENSE.txt
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/lodash.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json
delete mode 100644 node_modules/grunt/node_modules/findup-sync/package.json
delete mode 100644 node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js
delete mode 100644 node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt
delete mode 100644 node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt
delete mode 100644 node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt
delete mode 100644 node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt
delete mode 100644 node_modules/grunt/node_modules/getobject/.jshintrc
delete mode 100644 node_modules/grunt/node_modules/getobject/.npmignore
delete mode 100644 node_modules/grunt/node_modules/getobject/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/getobject/Gruntfile.js
delete mode 100644 node_modules/grunt/node_modules/getobject/LICENSE-MIT
delete mode 100644 node_modules/grunt/node_modules/getobject/README.md
delete mode 100644 node_modules/grunt/node_modules/getobject/lib/getobject.js
delete mode 100644 node_modules/grunt/node_modules/getobject/package.json
delete mode 100644 node_modules/grunt/node_modules/getobject/test/namespace_test.js
delete mode 100644 node_modules/grunt/node_modules/glob/.npmignore
delete mode 100644 node_modules/grunt/node_modules/glob/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/glob/LICENSE
delete mode 100644 node_modules/grunt/node_modules/glob/README.md
delete mode 100644 node_modules/grunt/node_modules/glob/examples/g.js
delete mode 100644 node_modules/grunt/node_modules/glob/examples/usr-local.js
delete mode 100644 node_modules/grunt/node_modules/glob/glob.js
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/.npmignore
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/inherits/README.md
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js
delete mode 100644 node_modules/grunt/node_modules/glob/node_modules/inherits/package.json
delete mode 100644 node_modules/grunt/node_modules/glob/package.json
delete mode 100644 node_modules/grunt/node_modules/glob/test/00-setup.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/bash-comparison.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/bash-results.json
delete mode 100644 node_modules/grunt/node_modules/glob/test/cwd-test.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/mark.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/nocase-nomagic.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/pause-resume.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/root-nomount.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/root.js
delete mode 100644 node_modules/grunt/node_modules/glob/test/zz-cleanup.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/.npmignore
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/Gruntfile.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/LICENSE-MIT
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/README.md
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/index.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/package.json
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-execArgv-child.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-execArgv.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/Gruntfile-print-text.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/exec.cmd
delete mode 100755 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/exec.sh
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/spawn-multibyte.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/fixtures/spawn.js
delete mode 100644 node_modules/grunt/node_modules/grunt-legacy-util/test/index.js
delete mode 100644 node_modules/grunt/node_modules/hooker/LICENSE-MIT
delete mode 100644 node_modules/grunt/node_modules/hooker/README.md
delete mode 100644 node_modules/grunt/node_modules/hooker/child.js
delete mode 100644 node_modules/grunt/node_modules/hooker/dist/ba-hooker.js
delete mode 100644 node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js
delete mode 100644 node_modules/grunt/node_modules/hooker/grunt.js
delete mode 100644 node_modules/grunt/node_modules/hooker/lib/hooker.js
delete mode 100644 node_modules/grunt/node_modules/hooker/package.json
delete mode 100644 node_modules/grunt/node_modules/hooker/parent.js
delete mode 100644 node_modules/grunt/node_modules/hooker/test/hooker_test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/.npmignore
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/LICENSE
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/README.md
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/README.md~
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/encodings/big5.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/index.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/package.json
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/big5-test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/big5File.txt
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/greek-test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/main-test.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/performance.js
delete mode 100644 node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/HISTORY.md
delete mode 100644 node_modules/grunt/node_modules/js-yaml/LICENSE
delete mode 100644 node_modules/grunt/node_modules/js-yaml/README.md
delete mode 100755 node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/custom_types.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/dumper.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/dumper.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/sample_document.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml
delete mode 100644 node_modules/grunt/node_modules/js-yaml/index.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js
delete mode 120000 node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esparse
delete mode 120000 node_modules/grunt/node_modules/js-yaml/node_modules/.bin/esvalidate
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings_standalone.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test.html
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jquery.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.css
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/underscore.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/.npmignore
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CNAME
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CONTRIBUTING.md
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/favicon.ico
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.html
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js
delete mode 100755 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js
delete mode 100644 node_modules/grunt/node_modules/js-yaml/package.json
delete mode 100644 node_modules/grunt/node_modules/lodash/README.md
delete mode 100644 node_modules/grunt/node_modules/lodash/lodash.js
delete mode 100644 node_modules/grunt/node_modules/lodash/lodash.min.js
delete mode 100644 node_modules/grunt/node_modules/lodash/lodash.underscore.js
delete mode 100644 node_modules/grunt/node_modules/lodash/lodash.underscore.min.js
delete mode 100644 node_modules/grunt/node_modules/lodash/package.json
delete mode 100644 node_modules/grunt/node_modules/minimatch/.npmignore
delete mode 100644 node_modules/grunt/node_modules/minimatch/LICENSE
delete mode 100644 node_modules/grunt/node_modules/minimatch/README.md
delete mode 100644 node_modules/grunt/node_modules/minimatch/minimatch.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/.npmignore
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/package.json
delete mode 100644 node_modules/grunt/node_modules/minimatch/test/basic.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/test/brace-expand.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/test/caching.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/test/defaults.js
delete mode 100644 node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js
delete mode 100644 node_modules/grunt/node_modules/nopt/.npmignore
delete mode 100644 node_modules/grunt/node_modules/nopt/LICENSE
delete mode 100644 node_modules/grunt/node_modules/nopt/README.md
delete mode 100755 node_modules/grunt/node_modules/nopt/bin/nopt.js
delete mode 100755 node_modules/grunt/node_modules/nopt/examples/my-program.js
delete mode 100644 node_modules/grunt/node_modules/nopt/lib/nopt.js
delete mode 100644 node_modules/grunt/node_modules/nopt/lib/usage.js
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/CONTRIBUTING.md
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/abbrev.js
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json
delete mode 100644 node_modules/grunt/node_modules/nopt/node_modules/abbrev/test.js
delete mode 100644 node_modules/grunt/node_modules/nopt/package.json
delete mode 100644 node_modules/grunt/node_modules/rimraf/AUTHORS
delete mode 100644 node_modules/grunt/node_modules/rimraf/LICENSE
delete mode 100644 node_modules/grunt/node_modules/rimraf/README.md
delete mode 100755 node_modules/grunt/node_modules/rimraf/bin.js
delete mode 100644 node_modules/grunt/node_modules/rimraf/package.json
delete mode 100644 node_modules/grunt/node_modules/rimraf/rimraf.js
delete mode 100644 node_modules/grunt/node_modules/rimraf/test/run.sh
delete mode 100644 node_modules/grunt/node_modules/rimraf/test/setup.sh
delete mode 100644 node_modules/grunt/node_modules/rimraf/test/test-async.js
delete mode 100644 node_modules/grunt/node_modules/rimraf/test/test-sync.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/.travis.yml
delete mode 100644 node_modules/grunt/node_modules/underscore.string/Gemfile
delete mode 100644 node_modules/grunt/node_modules/underscore.string/Gemfile.lock
delete mode 100644 node_modules/grunt/node_modules/underscore.string/README.markdown
delete mode 100644 node_modules/grunt/node_modules/underscore.string/Rakefile
delete mode 100644 node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/lib/underscore.string.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/package.json
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/run-qunit.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/speed.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/strings.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/strings_standalone.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test.html
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_standalone.html
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jquery.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.css
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.js
delete mode 100644 node_modules/grunt/node_modules/underscore.string/test/underscore.js
delete mode 100644 node_modules/grunt/node_modules/which/LICENSE
delete mode 100644 node_modules/grunt/node_modules/which/README.md
delete mode 100755 node_modules/grunt/node_modules/which/bin/which
delete mode 100644 node_modules/grunt/node_modules/which/package.json
delete mode 100644 node_modules/grunt/node_modules/which/which.js
delete mode 100644 node_modules/grunt/package.json
delete mode 100644 package.json
delete mode 100644 php.ini
delete mode 100644 phpunit.xml
delete mode 100755 public/.htaccess
delete mode 100755 public/apple-touch-icon-precomposed.png
delete mode 100755 public/apple-touch-icon.png
delete mode 100755 public/builds/bootstrapper/packages/patricktalmadge/bootstrapper/css/bootstrap-theme.min-6140190bf67c53b87b24ba70ca9fc9ee.css
delete mode 100755 public/builds/bootstrapper/packages/patricktalmadge/bootstrapper/css/bootstrap.min-6140190bf67c53b87b24ba70ca9fc9ee.css
delete mode 100755 public/builds/bootstrapper/packages/patricktalmadge/bootstrapper/js/bootstrap.min-6140190bf67c53b87b24ba70ca9fc9ee.js
delete mode 100755 public/builds/bootstrapper/packages/patricktalmadge/bootstrapper/js/jquery-1.10.2.min-590935b89a583963aad9f1d779d81729.js
delete mode 100644 public/built.css
delete mode 100644 public/built.js
delete mode 100644 public/built.public.css
delete mode 100755 public/css/bootstrap-combobox.css
delete mode 100644 public/css/bootstrap.min.css
delete mode 100644 public/css/bootstrap.splash.css
delete mode 100644 public/css/customCss.css
delete mode 100644 public/css/lightbox.css
delete mode 100644 public/css/splash.css
delete mode 100755 public/css/style.css
delete mode 100755 public/css/themes/amelia.min.css
delete mode 100755 public/css/themes/cerulean.min.css
delete mode 100755 public/css/themes/cosmo.min.css
delete mode 100755 public/css/themes/cyborg.min.css
delete mode 100755 public/css/themes/flatly.min.css
delete mode 100755 public/css/themes/journal.min.css
delete mode 100755 public/css/themes/readable.min.css
delete mode 100755 public/css/themes/simplex.min.css
delete mode 100755 public/css/themes/slate.min.css
delete mode 100755 public/css/themes/spacelab.min.css
delete mode 100755 public/css/themes/united.min.css
delete mode 100755 public/css/themes/yeti.min.css
delete mode 100755 public/css/typeahead.js-bootstrap.css
delete mode 100644 public/favicon.gif
delete mode 100644 public/favicon.ico
delete mode 100644 public/fonts/.empty
delete mode 100755 public/fonts/FontAwesome.otf
delete mode 100755 public/fonts/fontawesome-webfont.eot
delete mode 100755 public/fonts/fontawesome-webfont.svg
delete mode 100755 public/fonts/fontawesome-webfont.ttf
delete mode 100755 public/fonts/fontawesome-webfont.woff
delete mode 100644 public/fonts/glyphicons-halflings-regular.eot
delete mode 100644 public/fonts/glyphicons-halflings-regular.svg
delete mode 100644 public/fonts/glyphicons-halflings-regular.ttf
delete mode 100644 public/fonts/glyphicons-halflings-regular.woff
delete mode 100644 public/fonts/socicon-webfont.eot
delete mode 100644 public/fonts/socicon-webfont.svg
delete mode 100644 public/fonts/socicon-webfont.ttf
delete mode 100644 public/fonts/socicon-webfont.woff
delete mode 100644 public/images/AcceptPaymentsOnline.png
delete mode 100644 public/images/AdjustablePaymentTerms.png
delete mode 100644 public/images/AlertsWhenInvoicesViewed.png
delete mode 100644 public/images/BeautifulTemplates.png
delete mode 100644 public/images/BestInClassSecurity.png
delete mode 100644 public/images/CloneInvoices.png
delete mode 100644 public/images/CloudBasedApp.png
delete mode 100644 public/images/CustomizeInvoices.png
delete mode 100644 public/images/EstimatesProForma.png
delete mode 100644 public/images/FreeInvoicing.png
delete mode 100644 public/images/GitHub.png
delete mode 100644 public/images/ImportExportRecords.png
delete mode 100644 public/images/InTuitiveEditingInterface.png
delete mode 100644 public/images/IntegrateWithPaymentGateways.png
delete mode 100644 public/images/InvoiceClientsViaEmail.png
delete mode 100644 public/images/LivePDFCreation.png
delete mode 100644 public/images/ManualAutomaticInvoiceNumbers.png
delete mode 100644 public/images/MultilingualSupport.png
delete mode 100644 public/images/MultipleCurrencySupport.png
delete mode 100644 public/images/MultipleTaxSettings.png
delete mode 100644 public/images/OpenSource.png
delete mode 100644 public/images/PaymentTracking.png
delete mode 100644 public/images/PersonalizeInvoiceColor.png
delete mode 100644 public/images/PrintablePDFInvoices.png
delete mode 100644 public/images/RecurringInvoiceProfiles.png
delete mode 100644 public/images/SelfHostedAvailable.png
delete mode 100644 public/images/Thumbs.db
delete mode 100644 public/images/about1.jpg
delete mode 100644 public/images/about1@2x.jpg
delete mode 100644 public/images/about2.jpg
delete mode 100644 public/images/about2@2x.jpg
delete mode 100644 public/images/activeclients.png
delete mode 100644 public/images/activeclients@2x.png
delete mode 100644 public/images/apple-touch-icon-114x114-precomposed.png
delete mode 100644 public/images/apple-touch-icon-144x144-precomposed.png
delete mode 100644 public/images/apple-touch-icon-57x57-precomposed.png
delete mode 100644 public/images/apple-touch-icon-72x72-precomposed.png
delete mode 100644 public/images/apple-touch-icon.png
delete mode 100644 public/images/benjacobson.jpg
delete mode 100644 public/images/bg-blue.jpg
delete mode 100644 public/images/clients.png
delete mode 100644 public/images/clients@2x.png
delete mode 100644 public/images/credit_cards/Test-AmericanExpress-Icon.png
delete mode 100644 public/images/credit_cards/Test-Diners-Icon.png
delete mode 100644 public/images/credit_cards/Test-Discover-Icon.png
delete mode 100644 public/images/credit_cards/Test-MasterCard-Icon.png
delete mode 100644 public/images/credit_cards/Test-Visa-Icon.png
delete mode 100644 public/images/designs/business.png
delete mode 100644 public/images/designs/business_thumb.png
delete mode 100644 public/images/designs/creative.png
delete mode 100644 public/images/designs/creative_thumb.png
delete mode 100644 public/images/designs/elegant.png
delete mode 100644 public/images/designs/elegant_thumb.png
delete mode 100644 public/images/designs/hipster.png
delete mode 100644 public/images/designs/hipster_thumb.png
delete mode 100644 public/images/designs/photo.png
delete mode 100644 public/images/designs/photo_thumb.png
delete mode 100644 public/images/designs/playful.png
delete mode 100644 public/images/designs/playful_thumb.png
delete mode 100644 public/images/devices-2.png
delete mode 100644 public/images/devices.png
delete mode 100644 public/images/devices3.png
delete mode 100644 public/images/facebook.jpg
delete mode 100644 public/images/features1.jpg
delete mode 100644 public/images/features2.jpg
delete mode 100644 public/images/features3.jpg
delete mode 100644 public/images/features4.jpg
delete mode 100644 public/images/features5.jpg
delete mode 100644 public/images/footer-logo.png
delete mode 100644 public/images/gateways/Thumbs.db
delete mode 100755 public/images/gateways/logo_AuthorizeNet_AIM.png
delete mode 100755 public/images/gateways/logo_BeanStream.png
delete mode 100755 public/images/gateways/logo_FirstData_Connect.png
delete mode 100755 public/images/gateways/logo_PayPal_Pro.png
delete mode 100755 public/images/gateways/logo_TwoCheckout.png
delete mode 100755 public/images/gateways/logo_iTransact.png
delete mode 100644 public/images/hero-bg-1.jpg
delete mode 100644 public/images/hero-bg-2.jpg
delete mode 100644 public/images/hero-bg-3.jpg
delete mode 100644 public/images/hero-bg-4.jpg
delete mode 100644 public/images/hero-bg-contact.jpg
delete mode 100644 public/images/hero-bg-faq.jpg
delete mode 100644 public/images/hero-bg-plans.jpg
delete mode 100644 public/images/hero-bg-secure-pay.jpg
delete mode 100644 public/images/hero-bg-testi.jpg
delete mode 100644 public/images/hero-faq@2x.png
delete mode 100644 public/images/hex-facebook.png
delete mode 100644 public/images/hex-github.png
delete mode 100644 public/images/hex-gplus.png
delete mode 100644 public/images/hex-linkedin.png
delete mode 100644 public/images/hex-pinterest.png
delete mode 100644 public/images/hex-rss.png
delete mode 100644 public/images/hex-twitter.png
delete mode 100644 public/images/hillelcoren.jpg
delete mode 100644 public/images/icon-about.png
delete mode 100644 public/images/icon-about@2x.png
delete mode 100644 public/images/icon-contact.png
delete mode 100644 public/images/icon-contact@2x.png
delete mode 100644 public/images/icon-faq.png
delete mode 100644 public/images/icon-features.png
delete mode 100644 public/images/icon-features@2x.png
delete mode 100644 public/images/icon-free.png
delete mode 100644 public/images/icon-free2.png
delete mode 100644 public/images/icon-free@2x.png
delete mode 100644 public/images/icon-login.png
delete mode 100644 public/images/icon-login@2x.png
delete mode 100644 public/images/icon-opensource.png
delete mode 100644 public/images/icon-opensource@2x.png
delete mode 100644 public/images/icon-payment.png
delete mode 100644 public/images/icon-payment@2x.png
delete mode 100644 public/images/icon-pdf.png
delete mode 100644 public/images/icon-pdf@2x.png
delete mode 100644 public/images/icon-plans.png
delete mode 100644 public/images/icon-plans@2x.png
delete mode 100644 public/images/icon-secure-footer.png
delete mode 100644 public/images/icon-secure-footer@2x.png
delete mode 100644 public/images/icon-secure-pay.png
delete mode 100644 public/images/icon-secure-pay@2x.png
delete mode 100644 public/images/icon-secure.png
delete mode 100644 public/images/icon-secure@2x.png
delete mode 100644 public/images/icon-shield.png
delete mode 100644 public/images/icon-testi.png
delete mode 100644 public/images/icon-testi@2x.png
delete mode 100644 public/images/instagram.svg
delete mode 100644 public/images/invoiceninja-logo.png
delete mode 100644 public/images/invoiceninja-logo@2x.png
delete mode 100644 public/images/laptopwicon.jpg
delete mode 100644 public/images/lightbox/close.png
delete mode 100644 public/images/lightbox/loading.gif
delete mode 100644 public/images/lightbox/next.png
delete mode 100644 public/images/lightbox/prev.png
delete mode 100644 public/images/linkedin.svg
delete mode 100644 public/images/me.svg
delete mode 100644 public/images/opensource-footer.png
delete mode 100644 public/images/pro-plan-chart.png
delete mode 100644 public/images/providers.png
delete mode 100644 public/images/razikantorp.jpg
delete mode 100644 public/images/report_logo1.jpg
delete mode 100644 public/images/report_logo2.jpg
delete mode 100644 public/images/report_logo3.jpg
delete mode 100644 public/images/shalomstark.jpg
delete mode 100644 public/images/social.jpg
delete mode 100644 public/images/social/facebook.png
delete mode 100644 public/images/social/facebook.svg
delete mode 100644 public/images/social/github.png
delete mode 100644 public/images/social/twitter.png
delete mode 100644 public/images/social/twitter.svg
delete mode 100755 public/images/sort_asc.png
delete mode 100755 public/images/sort_asc_disabled.png
delete mode 100755 public/images/sort_both.png
delete mode 100755 public/images/sort_desc.png
delete mode 100755 public/images/sort_desc_disabled.png
delete mode 100644 public/images/ssl-footer.png
delete mode 100644 public/images/totalincome.png
delete mode 100644 public/images/totalincome@2x.png
delete mode 100644 public/images/totalinvoices.png
delete mode 100644 public/images/totalinvoices@2x.png
delete mode 100644 public/images/twitter.svg
delete mode 100644 public/images/website.svg
delete mode 100755 public/index.php
delete mode 100755 public/js/Chart.js
delete mode 100755 public/js/bootstrap-combobox.js
delete mode 100644 public/js/bootstrap.js
delete mode 100644 public/js/bootstrap.min.js
delete mode 100644 public/js/built.public.js
delete mode 100755 public/js/compatibility.js
delete mode 100644 public/js/d3.min.js
delete mode 100755 public/js/jspdf.min.js
delete mode 100755 public/js/jspdf.plugin.split_text_to_size.js
delete mode 100755 public/js/jspdf.source.js
delete mode 100644 public/js/lightbox.min.js
delete mode 100755 public/js/pdf.js
delete mode 100755 public/js/pdf_viewer.js
delete mode 100755 public/js/pdf_viewer.worker.js
delete mode 100644 public/js/retina-1.1.0.min.js
delete mode 100644 public/js/script.js
delete mode 100644 public/js/simpleexpand.js
delete mode 100644 public/js/stacktrace.js
delete mode 100644 public/js/typedarray.js
delete mode 100644 public/js/valign.js
delete mode 100755 public/logo/.gitkeep
delete mode 100755 public/logo/zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h.jpg
delete mode 100755 public/robots.txt
delete mode 100644 scheduler.yml
delete mode 100644 server.php
delete mode 100644 tests/_bootstrap.php
delete mode 100644 tests/_data/dump.sql
delete mode 100644 tests/_helpers/CodeHelper.php
delete mode 100644 tests/_helpers/TestHelper.php
delete mode 100644 tests/_helpers/WebHelper.php
delete mode 100644 tests/_log/.gitkeep
delete mode 100644 tests/acceptance.suite.yml
delete mode 100644 tests/acceptance/WebGuy.php
delete mode 100644 tests/acceptance/WelcomeCept.php
delete mode 100644 tests/acceptance/_bootstrap.php
delete mode 100644 tests/acceptance/complete/CheckCreateNewClientFormCept.php
delete mode 100644 tests/functional.suite.yml
delete mode 100644 tests/functional/TestGuy.php
delete mode 100644 tests/functional/_bootstrap.php
delete mode 100644 tests/unit.suite.yml
delete mode 100644 tests/unit/CodeGuy.php
delete mode 100644 tests/unit/_bootstrap.php
delete mode 100755 vendor/php-payments/README.md
delete mode 100755 vendor/php-payments/config/drivers/amazon_simplepay.php
delete mode 100755 vendor/php-payments/config/drivers/authorize_net.php
delete mode 100755 vendor/php-payments/config/drivers/beanstream.php
delete mode 100755 vendor/php-payments/config/drivers/bluepay.php
delete mode 100755 vendor/php-payments/config/drivers/braintree.php
delete mode 100755 vendor/php-payments/config/drivers/eway.php
delete mode 100755 vendor/php-payments/config/drivers/gocardless.php
delete mode 100755 vendor/php-payments/config/drivers/google_checkout.php
delete mode 100755 vendor/php-payments/config/drivers/paypal_paymentspro.php
delete mode 100755 vendor/php-payments/config/drivers/psigate.php
delete mode 100755 vendor/php-payments/config/drivers/quickbooksms.php
delete mode 100755 vendor/php-payments/config/drivers/stripe.php
delete mode 100755 vendor/php-payments/config/payments.php
delete mode 100755 vendor/php-payments/documentation/README.md
delete mode 100755 vendor/php-payments/documentation/dox/content/add_drivers.php
delete mode 100755 vendor/php-payments/documentation/dox/content/contributors.php
delete mode 100755 vendor/php-payments/documentation/dox/content/donate.php
delete mode 100755 vendor/php-payments/documentation/dox/content/drivers.php
delete mode 100755 vendor/php-payments/documentation/dox/content/frameworks.php
delete mode 100755 vendor/php-payments/documentation/dox/content/index.php
delete mode 100755 vendor/php-payments/documentation/dox/content/methods.php
delete mode 100755 vendor/php-payments/documentation/dox/content/usage.php
delete mode 100755 vendor/php-payments/documentation/dox/doxgen.php
delete mode 100755 vendor/php-payments/documentation/dox/template.php
delete mode 100755 vendor/php-payments/documentation/dox/template/footer.php
delete mode 100755 vendor/php-payments/documentation/dox/template/head.php
delete mode 100755 vendor/php-payments/documentation/dox/template/header.php
delete mode 100755 vendor/php-payments/documentation/dox/template/sidebar.php
delete mode 100755 vendor/php-payments/documentation/html/assets/style.css
delete mode 100755 vendor/php-payments/language/english/response_details_lang.php
delete mode 100755 vendor/php-payments/language/english/response_messages_lang.php
delete mode 100755 vendor/php-payments/lib/payment_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/amazon_simplepay_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/authorize_net_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/beanstream_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/bluepay_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/braintree_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/eway_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/gocardless_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/google_checkout_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/paypal_paymentspro_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/psigate_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/quickbooksms_driver.php
delete mode 100755 vendor/php-payments/lib/payment_drivers/stripe_driver.php
delete mode 100755 vendor/php-payments/lib/payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/activate_recurring_profile_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/authorize_payment_button_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/authorize_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/cancel_recurring_profile_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/capture_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/change_transaction_status_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/customer_charge_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/customer_create_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/get_recurring_profile_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/get_transaction_details_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/oneoff_payment_button_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/oneoff_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/recurring_bill_outstanding_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/recurring_payment_button_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/recurring_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/reference_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/refund_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/search_transactions_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/suspend_recurring_profile_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/token_create_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/update_recurring_profile_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/void_payment_method.php
delete mode 100755 vendor/php-payments/lib/payment_methods/void_refund_method.php
delete mode 100755 vendor/php-payments/lib/payment_request.php
delete mode 100755 vendor/php-payments/lib/payment_response.php
delete mode 100755 vendor/php-payments/lib/payment_utility.php
delete mode 100755 vendor/php-payments/lib/payment_validator.php
delete mode 100755 vendor/php-payments/lib/payments.php
delete mode 100755 vendor/php-payments/tests/classes/test_errors.php
delete mode 100755 vendor/php-payments/tests/test.php
delete mode 100755 vendor/php-payments/tests/tests/drivers.php
delete mode 100755 vendor/php-payments/tests/tests/drivers/.drivers.test_vals.php
delete mode 100755 vendor/php-payments/tests/tests/drivers/driver.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/Examples-ASP.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/README.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/ButtonGenerator.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/SignatureUtils.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/ButtonGenerationWithSignature/src/StandardButtonSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/README.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Client.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Exception.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Interface.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/CancelResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/ErrorResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/GetTransactionStatusResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/RefundResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/SettleResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Mock/VerifySignatureResponse.xml
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AccountBalance.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Amount.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/AvailableBalances.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelRequest.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResponse.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/CancelResult.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DebtBalance.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/DescriptorPolicy.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Error.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusRequest.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResponse.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/GetTransactionStatusResult.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingDebtBalance.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/OutstandingPrepaidLiability.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/PrepaidBalance.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundRequest.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResponse.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RefundResult.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/RelatedTransaction.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/ResponseMetadata.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleRequest.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResponse.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/SettleResult.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/StatusHistory.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Token.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TokenUsageLimit.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/Transaction.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionDetail.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/TransactionPart.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureRequest.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResponse.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Model/VerifySignatureResult.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/.config.inc.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/CancelSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/GetTransactionStatusSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/RefundSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/SettleSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/FPSApis/src/Amazon/FPS/Samples/VerifySignatureSample.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-IPN.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/Examples-ReturnUrl.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/README.html
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/.config.inc.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/IPNVerificationSampleCode.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ReturnUrlVerificationSampleCode.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/SignatureUtilsForOutbound.php
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/IPNAndReturnURLValidation/src/ca-bundle.crt
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/LICENSE.txt
delete mode 100755 vendor/php-payments/vendor/amazon_simplepay/NOTICE.txt
delete mode 100755 vendor/php-payments/vendor/google_checkout/CHANGELOG
delete mode 100755 vendor/php-payments/vendor/google_checkout/README
delete mode 100755 vendor/php-payments/vendor/google_checkout/TODO
delete mode 100755 vendor/php-payments/vendor/google_checkout/UPGRADE
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/basicapiresponsehandlerdemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/cartdemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/digitalCart.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/lineItemShipping.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/merchantsubscriptionrecurrencedemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/pollingdemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/responsehandlerdemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/sampcodetest.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo (Autosaved).txt
delete mode 100755 vendor/php-payments/vendor/google_checkout/demo/subscriptiondemo.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/googleerror.log
delete mode 100755 vendor/php-payments/vendor/google_checkout/googlemessage.log
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlecart.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googleitem.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlelog.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlemerchantcalculations.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlenotification.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlenotificationhistory.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlepoll.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlerequest.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googleresponse.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googleresult.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googleshipping.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googlesubscription.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/googletax.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/htmlSignatureGen.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlbuilder.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/library/xml-processing/gc_xmlparser.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/classes/README
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/classes/phpunit.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/error.log
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/message.log
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/stylesheet.css
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/testGoogleCart.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/testGoogleLog.php
delete mode 100755 vendor/php-payments/vendor/google_checkout/unitTest/testGoogleXMLParser.php
diff --git a/.bowerrc b/.bowerrc
deleted file mode 100644
index 7694ad7822ba..000000000000
--- a/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "directory": "./public/vendor"
-}
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 2125666142eb..000000000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c0de003549c8..000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-/app/config/staging
-/app/config/development
-/app/config/production
-/app/config/fortrabbit
-/app/config/ubuntu
-/app/config/packages/anahkiasen/rocketeer/
-/app/storage
-/public/logo
-/public/build
-/public/packages
-/public/vendor
-/bootstrap/compiled.php
-/bootstrap/environment.php
-/vendor
-/.DS_Store
-/Thumbs.db
-/ninja.sublime-project
-/ninja.sublime-workspace
-/tests/_log
-.env.development.php
-.env.php
-.idea
-.project
-/nbproject/private/
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index 9213e01d255a..000000000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,124 +0,0 @@
-module.exports = function(grunt) {
-
- grunt.initConfig({
- pkg: grunt.file.readJSON('package.json'),
- concat: {
- options: {
- process: function(src, filepath) {
- var basepath = filepath.substring(7, filepath.lastIndexOf('/') + 1);
- // Fix relative paths for css files
- if(filepath.indexOf('.css', filepath.length - 4) !== -1) {
- return src.replace(/(url\s*[\("']+)\s*([^'"\)]+)(['"\)]+;?)/gi, function(match, start, url, end, offset, string) {
- if(url.indexOf('data:') === 0) {
- // Skip data urls
- return match;
-
- } else if(url.indexOf('/') === 0) {
- // Skip absolute urls
- return match;
-
- } else {
- return start + basepath + url + end;
- }
- });
-
- // Fix source maps locations
- } else if(filepath.indexOf('.js', filepath.length - 4) !== -1) {
- return src.replace(/(\/[*\/][#@]\s*sourceMappingURL=)([^\s]+)/gi, function(match, start, url, offset, string) {
- if(url.indexOf('/') === 0) {
- // Skip absolute urls
- return match;
-
- } else {
- return start + basepath + url;
- }
- });
-
- // Don't do anything for unknown file types
- } else {
- return src;
- }
- },
- },
- js: {
- src: [
- 'public/vendor/jquery/dist/jquery.js',
- 'public/vendor/jquery-ui/jquery-ui.min.js',
- 'public/vendor/bootstrap/dist/js/bootstrap.min.js',
- 'public/vendor/datatables/media/js/jquery.dataTables.js',
- 'public/vendor/datatables-bootstrap3/BS3/assets/js/datatables.js',
- 'public/vendor/knockout.js/knockout.js',
- 'public/vendor/knockout-mapping/build/output/knockout.mapping-latest.js',
- 'public/vendor/knockout-sortable/build/knockout-sortable.min.js',
- 'public/vendor/underscore/underscore.js',
- 'public/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js',
- 'public/vendor/typeahead.js/dist/typeahead.min.js',
- 'public/vendor/accounting/accounting.min.js',
- 'public/vendor/spectrum/spectrum.js',
- 'public/vendor/jspdf/dist/jspdf.min.js',
- //'public/vendor/handsontable/dist/jquery.handsontable.full.min.js',
- 'public/js/lightbox.min.js',
- 'public/js/bootstrap-combobox.js',
- 'public/js/script.js',
- ],
- dest: 'public/built.js',
- nonull: true
- },
- js_public: {
- src: [
- /*
- 'public/js/simpleexpand.js',
- 'public/js/valign.js',
- 'public/js/bootstrap.min.js',
- 'public/js/simpleexpand.js',
- */
- 'public/vendor/bootstrap/dist/js/bootstrap.min.js',
-
- ],
- dest: 'public/js/built.public.js',
- nonull: true
- },
- css: {
- src: [
- 'public/vendor/bootstrap/dist/css/bootstrap.min.css',
- 'public/vendor/datatables/media/css/jquery.dataTables.css',
- 'public/vendor/datatables-bootstrap3/BS3/assets/css/datatables.css',
- 'public/vendor/font-awesome/css/font-awesome.min.css',
- 'public/vendor/bootstrap-datepicker/css/datepicker.css',
- 'public/vendor/spectrum/spectrum.css',
- 'public/css/bootstrap-combobox.css',
- 'public/css/typeahead.js-bootstrap.css',
- 'public/css/lightbox.css',
- //'public/vendor/handsontable/dist/jquery.handsontable.full.css',
- 'public/css/style.css',
- ],
- dest: 'public/built.css',
- nonull: true,
- options: {
- process: false
- }
- },
- css_public: {
- src: [
- 'public/vendor/bootstrap/dist/css/bootstrap.min.css',
- /*
- 'public/css/bootstrap.splash.css',
- 'public/css/splash.css',
- */
- 'public/vendor/datatables/media/css/jquery.dataTables.css',
- 'public/vendor/datatables-bootstrap3/BS3/assets/css/datatables.css',
- ],
- dest: 'public/built.public.css',
- nonull: true,
- options: {
- process: false
- }
- }
- }
- });
-
- grunt.loadNpmTasks('grunt-contrib-concat');
-
- grunt.registerTask('default', ['concat']);
-
-};
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index eaa9f1e3672c..000000000000
--- a/LICENSE
+++ /dev/null
@@ -1,40 +0,0 @@
-Attribution Assurance License
-Copyright (c) 2014 by Hillel Coren
-http://www.hillelcoren.com
-
-All Rights Reserved
-ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license)
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the conditions below are met.
-These conditions require a modest attribution to InvoiceNinja.com. The hope
-is that its promotional value may help justify the thousands of dollars in
-otherwise billable time invested in writing this and other freely available,
-open-source software.
-
-1. Redistributions of source code, in whole or part and with or without
-modification requires the express permission of the author and must prominently
-display "Powered by InvoiceNinja" or the Invoice Ninja logo in verifiable form
-with hyperlink to said site.
-2. Neither the name nor any trademark of the Author may be used to
-endorse or promote products derived from this software without specific
-prior written permission.
-3. Users are entirely responsible, to the exclusion of the Author and
-any other persons, for compliance with (1) regulations set by owners or
-administrators of employed equipment, (2) licensing terms of any other
-software, and (3) local regulations regarding use, including those
-regarding import, export, and use of encryption software.
-
-THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK ACCESS;
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/README.md b/README.md
deleted file mode 100644
index be9da430c5a8..000000000000
--- a/README.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# Invoice Ninja
-## Simple, Intuitive Invoicing
-
-### [https://www.invoiceninja.com](https://www.invoiceninja.com)
-
-If you'd like to use our code to sell your own invoicing app we have an affiliate program. Get in touch for more details.
-
-### Introduction
-
-Most online invoicing sites are expensive. They shouldn't be. The aim of this project is to provide a free, open-source alternative. Additionally, the hope is the codebase will serve as a sample site for Laravel as well as other JavaScript technologies.
-
-To setup the site you can either use this [zip file](http://hillelcoren.com/invoice-ninja/self-hosting/) (easier to setup) or checkout the code from GitHub following the instructions below (easier to stay up to date). There's also a more detailed setup guide [available here](http://hillelcoren.com/invoice-ninja/laravel-ubuntu-virtualbox/).
-
-For a WAMP/MAMP/LAMP setup you can one-click install using Softaculous's [AMPPS](http://www.ampps.com/). To deploy the app with [Docker](http://www.docker.com/) you can use [this project](https://github.com/rollbrettler/Dockerfiles/tree/master/invoice-ninja).
-
-To connect follow [@invoiceninja](https://twitter.com/invoiceninja) or join the [Facebook Group](https://www.facebook.com/invoiceninja). For discussion of the code please use the [Google Group](https://groups.google.com/d/forum/invoiceninja).
-
-If you'd like to translate the site please use [caouecs/Laravel4-long](https://github.com/caouecs/Laravel4-lang) for the starter files.
-
-Developed by [@hillelcoren](https://twitter.com/hillelcoren) | Designed by [kantorp-wegl.in](http://kantorp-wegl.in/).
-
-### Features
-
-* Core application built using Laravel 4.1
-* Invoice PDF generation directly in the browser
-* Integrates with many payment providers
-* Recurring invoices
-* Tax rates and payment terms
-* Multi-user support
-* [Zapier](https://zapier.com/) integration
-* [D3.js](http://d3js.org/) visualizations
-
-### Contributors
-
-* [Troels Liebe Bentsen](https://github.com/tlbdk)
-
-### Steps to setup
-
-If you plan on submitting changes it's best to [fork the repo](https://help.github.com/articles/fork-a-repo), otherwise you can just checkout the code.
-
- git clone https://github.com/hillelcoren/invoice-ninja.git ninja
- cd ninja
-
-Install Laravel packages using Composer
-
-Note: you may be prompted for your Github user/pass due to their API limits.
-
- composer install
-
-Install JavaScript and HTML packages using Bower. This is optional, it's only needed if you want to modify the JavaScript.
-
- bower install
-
-Create database user and a database for ninja
-
- CREATE SCHEMA `ninja` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- CREATE USER 'ninja'@'localhost' IDENTIFIED BY 'ninja';
- GRANT ALL PRIVILEGES ON `ninja`.* TO 'ninja'@'localhost';
- FLUSH PRIVILEGES;
-
-Add public/ to your web server root then load / to configure the application.
-
-### Developer Notes
-
-* The application requires PHP >= 5.4.0
-* If you make any changes to the JavaScript files you need to run grunt to create the built files. See Gruntfile.js for more details.
-* The lookup tables are cached in memory (ie, Currencies, Timezones, Languages, etc). If you add a record to the database you need to clear the cache by uncommenting Cache::flush() in app/routes.php.
-* If you run into any composer errors try running composer dump-autoload.
-
-### Ubuntu Notes
-
- # Install php-mcrypt
- apt-get install php5-mcrypt
- sudo php5enmod mcrypt
-
- # Install Composer
- curl -sS https://getcomposer.org/installer | php
- sudo mv composer.phar /usr/local/bin/composer
-
- # Install Bower
- sudo apt-get install npm nodejs-legacy
- sudo npm install -g bower
- sudo ln -s /usr/local/lib/node_modules/bower/bin/bower /usr/local/bin/bower
-
- # Install Grunt (For development only)
- npm install -g grunt-cli
-
-### Frameworks/Libraries
-* [laravel/laravel](https://github.com/laravel/laravel) - A PHP Framework For Web Artisans
-* [twbs/bootstrap](https://github.com/twbs/bootstrap) - Sleek, intuitive, and powerful front-end framework for faster and easier web development.
-* [patricktalmadge/bootstrapper](https://github.com/patricktalmadge/bootstrapper) - Laravel Twitter Bootstrap Bundle
-* [danielfarrell/bootstrap-combobox](https://github.com/danielfarrell/bootstrap-combobox) - A combobox plugin
-* [jquery/jquery](https://github.com/jquery/jquery) - jQuery JavaScript Library
-* [eternicode/bootstrap-datepicker](https://github.com/eternicode/bootstrap-datepicker) - A datepicker for @twitter bootstrap
-* [jquery/jquery-ui](https://github.com/jquery/jquery-ui) - The official jQuery user interface library
-* [knockout/knockout](https://github.com/knockout/knockout) - Knockout makes it easier to create rich, responsive UIs with JavaScript
-* [rniemeyer/knockout-sortable](https://github.com/rniemeyer/knockout-sortable) - A Knockout.js binding to connect observableArrays with jQuery UI sortable functionality
-* [MrRio/jsPDF](https://github.com/MrRio/jsPDF) - Generate PDF files in JavaScript. HTML5 FTW.
-* [FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome) - The iconic font designed for Bootstrap that works with twitter bootstrap
-* [jasonlewis/basset](https://github.com/jasonlewis/basset) - A better asset management package for Laravel
-* [Zizaco/confide](https://github.com/Zizaco/confide) - Confide is a authentication solution for Laravel 4
-* [Anahkiasen/former](https://github.com/Anahkiasen/former) - A powerful form builder, for Laravel and other frameworks (stand-alone too)
-* [barryvdh/laravel-debugbar](https://github.com/barryvdh/laravel-debugbar) - Laravel debugbar
-* [DataTables/DataTables](https://github.com/DataTables/DataTables) - Tables plug-in for jQuery
-* [Chumper/Datatable](https://github.com/Chumper/Datatable) - This is a laravel 4 package for the server and client side of datatables
-* [omnipay/omnipay](https://github.com/omnipay/omnipay) - A framework agnostic, multi-gateway payment processing library for PHP 5.3+
-* [Intervention/image](https://github.com/Intervention/image) - PHP Image Manipulation
-* [webpatser/laravel-countries](https://github.com/webpatser/laravel-countries) - Almost ISO 3166_2, 3166_3, currency, Capital and more for all countries
-* [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) - A simple API extension for DateTime with PHP 5.3+
-* [thomaspark/bootswatch](https://github.com/thomaspark/bootswatch) - Themes for Bootstrap
-* [mozilla/pdf.js](https://github.com/mozilla/pdf.js) - PDF Reader in JavaScript
-* [nnnick/Chart.js](https://github.com/nnnick/Chart.js) - Simple HTML5 Charts using the canvas tag
-* [josscrowcroft/accounting.js](https://github.com/josscrowcroft/accounting.js) - A lightweight JavaScript library for number, money and currency formatting
-* [jashkenas/underscore](https://github.com/jashkenas/underscore) - JavaScript's utility _ belt
-* [caouecs/Laravel4-long](https://github.com/caouecs/Laravel4-lang) - List of languages ​​for Laravel4
-* [calvinfroedge/PHP-Payments](https://github.com/calvinfroedge/PHP-Payments) - A uniform payments interface for PHP
-* [bgrins/spectrum](https://github.com/bgrins/spectrum) - The No Hassle JavaScript Colorpicker
-* [lokesh/lightbox2](https://github.com/lokesh/lightbox2/) - The original lightbox script
diff --git a/_ide_helper.php b/_ide_helper.php
deleted file mode 100644
index bc17f6f22034..000000000000
--- a/_ide_helper.php
+++ /dev/null
@@ -1,14351 +0,0 @@
-
- * @see https://github.com/barryvdh/laravel-ide-helper
- */
-
-namespace {
- exit("This file should not be included, only analyzed by your IDE");
-
- class App extends \Illuminate\Support\Facades\App{
-
- /**
- * Bind the installation paths to the application.
- *
- * @param array $paths
- * @return void
- * @static
- */
- public static function bindInstallPaths($paths){
- \Illuminate\Foundation\Application::bindInstallPaths($paths);
- }
-
- /**
- * Get the application bootstrap file.
- *
- * @return string
- * @static
- */
- public static function getBootstrapFile(){
- return \Illuminate\Foundation\Application::getBootstrapFile();
- }
-
- /**
- * Start the exception handling for the request.
- *
- * @return void
- * @static
- */
- public static function startExceptionHandling(){
- \Illuminate\Foundation\Application::startExceptionHandling();
- }
-
- /**
- * Get or check the current application environment.
- *
- * @param mixed
- * @return string
- * @static
- */
- public static function environment(){
- return \Illuminate\Foundation\Application::environment();
- }
-
- /**
- * Determine if application is in local environment.
- *
- * @return bool
- * @static
- */
- public static function isLocal(){
- return \Illuminate\Foundation\Application::isLocal();
- }
-
- /**
- * Detect the application's current environment.
- *
- * @param array|string $envs
- * @return string
- * @static
- */
- public static function detectEnvironment($envs){
- return \Illuminate\Foundation\Application::detectEnvironment($envs);
- }
-
- /**
- * Determine if we are running in the console.
- *
- * @return bool
- * @static
- */
- public static function runningInConsole(){
- return \Illuminate\Foundation\Application::runningInConsole();
- }
-
- /**
- * Determine if we are running unit tests.
- *
- * @return bool
- * @static
- */
- public static function runningUnitTests(){
- return \Illuminate\Foundation\Application::runningUnitTests();
- }
-
- /**
- * Force register a service provider with the application.
- *
- * @param \Illuminate\Support\ServiceProvider|string $provider
- * @param array $options
- * @return \Illuminate\Support\ServiceProvider
- * @static
- */
- public static function forgeRegister($provider, $options = array()){
- return \Illuminate\Foundation\Application::forgeRegister($provider, $options);
- }
-
- /**
- * Register a service provider with the application.
- *
- * @param \Illuminate\Support\ServiceProvider|string $provider
- * @param array $options
- * @param bool $force
- * @return \Illuminate\Support\ServiceProvider
- * @static
- */
- public static function register($provider, $options = array(), $force = false){
- return \Illuminate\Foundation\Application::register($provider, $options, $force);
- }
-
- /**
- * Get the registered service provider instnace if it exists.
- *
- * @param \Illuminate\Support\ServiceProvider|string $provider
- * @return \Illuminate\Support\ServiceProvider|null
- * @static
- */
- public static function getRegistered($provider){
- return \Illuminate\Foundation\Application::getRegistered($provider);
- }
-
- /**
- * Resolve a service provider instance from the class name.
- *
- * @param string $provider
- * @return \Illuminate\Support\ServiceProvider
- * @static
- */
- public static function resolveProviderClass($provider){
- return \Illuminate\Foundation\Application::resolveProviderClass($provider);
- }
-
- /**
- * Load and boot all of the remaining deferred providers.
- *
- * @return void
- * @static
- */
- public static function loadDeferredProviders(){
- \Illuminate\Foundation\Application::loadDeferredProviders();
- }
-
- /**
- * Register a deffered provider and service.
- *
- * @param string $provider
- * @param string $service
- * @return void
- * @static
- */
- public static function registerDeferredProvider($provider, $service = null){
- \Illuminate\Foundation\Application::registerDeferredProvider($provider, $service);
- }
-
- /**
- * Resolve the given type from the container.
- *
- * (Overriding Container::make)
- *
- * @param string $abstract
- * @param array $parameters
- * @return mixed
- * @static
- */
- public static function make($abstract, $parameters = array()){
- return \Illuminate\Foundation\Application::make($abstract, $parameters);
- }
-
- /**
- * Register a "before" application filter.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function before($callback){
- \Illuminate\Foundation\Application::before($callback);
- }
-
- /**
- * Register an "after" application filter.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function after($callback){
- \Illuminate\Foundation\Application::after($callback);
- }
-
- /**
- * Register a "finish" application filter.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function finish($callback){
- \Illuminate\Foundation\Application::finish($callback);
- }
-
- /**
- * Register a "shutdown" callback.
- *
- * @param callable $callback
- * @return void
- * @static
- */
- public static function shutdown($callback = null){
- \Illuminate\Foundation\Application::shutdown($callback);
- }
-
- /**
- * Register a function for determining when to use array sessions.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function useArraySessions($callback){
- \Illuminate\Foundation\Application::useArraySessions($callback);
- }
-
- /**
- * Determine if the application has booted.
- *
- * @return bool
- * @static
- */
- public static function isBooted(){
- return \Illuminate\Foundation\Application::isBooted();
- }
-
- /**
- * Boot the application's service providers.
- *
- * @return void
- * @static
- */
- public static function boot(){
- \Illuminate\Foundation\Application::boot();
- }
-
- /**
- * Register a new boot listener.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function booting($callback){
- \Illuminate\Foundation\Application::booting($callback);
- }
-
- /**
- * Register a new "booted" listener.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function booted($callback){
- \Illuminate\Foundation\Application::booted($callback);
- }
-
- /**
- * Run the application and send the response.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return void
- * @static
- */
- public static function run($request = null){
- \Illuminate\Foundation\Application::run($request);
- }
-
- /**
- * Add a HttpKernel middleware onto the stack.
- *
- * @param string $class
- * @param array $parameters
- * @return \Illuminate\Foundation\Application
- * @static
- */
- public static function middleware($class, $parameters = array()){
- return \Illuminate\Foundation\Application::middleware($class, $parameters);
- }
-
- /**
- * Remove a custom middleware from the application.
- *
- * @param string $class
- * @return void
- * @static
- */
- public static function forgetMiddleware($class){
- \Illuminate\Foundation\Application::forgetMiddleware($class);
- }
-
- /**
- * Handle the given request and get the response.
- *
- * Provides compatibility with BrowserKit functional testing.
- *
- * @implements HttpKernelInterface::handle
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @param int $type
- * @param bool $catch
- * @return \Symfony\Component\HttpFoundation\Response
- * @static
- */
- public static function handle($request, $type = 1, $catch = true){
- return \Illuminate\Foundation\Application::handle($request, $type, $catch);
- }
-
- /**
- * Handle the given request and get the response.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Symfony\Component\HttpFoundation\Response
- * @static
- */
- public static function dispatch($request){
- return \Illuminate\Foundation\Application::dispatch($request);
- }
-
- /**
- * Terminate the request and send the response to the browser.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @param \Symfony\Component\HttpFoundation\Response $response
- * @return void
- * @static
- */
- public static function terminate($request, $response){
- \Illuminate\Foundation\Application::terminate($request, $response);
- }
-
- /**
- * Call the "finish" callbacks assigned to the application.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @param \Symfony\Component\HttpFoundation\Response $response
- * @return void
- * @static
- */
- public static function callFinishCallbacks($request, $response){
- \Illuminate\Foundation\Application::callFinishCallbacks($request, $response);
- }
-
- /**
- * Prepare the request by injecting any services.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function prepareRequest($request){
- return \Illuminate\Foundation\Application::prepareRequest($request);
- }
-
- /**
- * Prepare the given value as a Response object.
- *
- * @param mixed $value
- * @return \Symfony\Component\HttpFoundation\Response
- * @static
- */
- public static function prepareResponse($value){
- return \Illuminate\Foundation\Application::prepareResponse($value);
- }
-
- /**
- * Determine if the application is ready for responses.
- *
- * @return bool
- * @static
- */
- public static function readyForResponses(){
- return \Illuminate\Foundation\Application::readyForResponses();
- }
-
- /**
- * Determine if the application is currently down for maintenance.
- *
- * @return bool
- * @static
- */
- public static function isDownForMaintenance(){
- return \Illuminate\Foundation\Application::isDownForMaintenance();
- }
-
- /**
- * Register a maintenance mode event listener.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function down($callback){
- \Illuminate\Foundation\Application::down($callback);
- }
-
- /**
- * Throw an HttpException with the given data.
- *
- * @param int $code
- * @param string $message
- * @param array $headers
- * @return void
- * @throws \Symfony\Component\HttpKernel\Exception\HttpException
- * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
- * @static
- */
- public static function abort($code, $message = '', $headers = array()){
- \Illuminate\Foundation\Application::abort($code, $message, $headers);
- }
-
- /**
- * Register a 404 error handler.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function missing($callback){
- \Illuminate\Foundation\Application::missing($callback);
- }
-
- /**
- * Register an application error handler.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function error($callback){
- \Illuminate\Foundation\Application::error($callback);
- }
-
- /**
- * Register an error handler at the bottom of the stack.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function pushError($callback){
- \Illuminate\Foundation\Application::pushError($callback);
- }
-
- /**
- * Register an error handler for fatal errors.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function fatal($callback){
- \Illuminate\Foundation\Application::fatal($callback);
- }
-
- /**
- * Get the configuration loader instance.
- *
- * @return \Illuminate\Config\LoaderInterface
- * @static
- */
- public static function getConfigLoader(){
- return \Illuminate\Foundation\Application::getConfigLoader();
- }
-
- /**
- * Get the environment variables loader instance.
- *
- * @return \Illuminate\Config\EnvironmentVariablesLoaderInterface
- * @static
- */
- public static function getEnvironmentVariablesLoader(){
- return \Illuminate\Foundation\Application::getEnvironmentVariablesLoader();
- }
-
- /**
- * Get the service provider repository instance.
- *
- * @return \Illuminate\Foundation\ProviderRepository
- * @static
- */
- public static function getProviderRepository(){
- return \Illuminate\Foundation\Application::getProviderRepository();
- }
-
- /**
- * Get the service providers that have been loaded.
- *
- * @return array
- * @static
- */
- public static function getLoadedProviders(){
- return \Illuminate\Foundation\Application::getLoadedProviders();
- }
-
- /**
- * Set the application's deferred services.
- *
- * @param array $services
- * @return void
- * @static
- */
- public static function setDeferredServices($services){
- \Illuminate\Foundation\Application::setDeferredServices($services);
- }
-
- /**
- * Determine if the given service is a deferred service.
- *
- * @param string $service
- * @return bool
- * @static
- */
- public static function isDeferredService($service){
- return \Illuminate\Foundation\Application::isDeferredService($service);
- }
-
- /**
- * Get or set the request class for the application.
- *
- * @param string $class
- * @return string
- * @static
- */
- public static function requestClass($class = null){
- return \Illuminate\Foundation\Application::requestClass($class);
- }
-
- /**
- * Set the application request for the console environment.
- *
- * @return void
- * @static
- */
- public static function setRequestForConsoleEnvironment(){
- \Illuminate\Foundation\Application::setRequestForConsoleEnvironment();
- }
-
- /**
- * Call a method on the default request class.
- *
- * @param string $method
- * @param array $parameters
- * @return mixed
- * @static
- */
- public static function onRequest($method, $parameters = array()){
- return \Illuminate\Foundation\Application::onRequest($method, $parameters);
- }
-
- /**
- * Get the current application locale.
- *
- * @return string
- * @static
- */
- public static function getLocale(){
- return \Illuminate\Foundation\Application::getLocale();
- }
-
- /**
- * Set the current application locale.
- *
- * @param string $locale
- * @return void
- * @static
- */
- public static function setLocale($locale){
- \Illuminate\Foundation\Application::setLocale($locale);
- }
-
- /**
- * Register the core class aliases in the container.
- *
- * @return void
- * @static
- */
- public static function registerCoreContainerAliases(){
- \Illuminate\Foundation\Application::registerCoreContainerAliases();
- }
-
- /**
- * Determine if the given abstract type has been bound.
- *
- * @param string $abstract
- * @return bool
- * @static
- */
- public static function bound($abstract){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::bound($abstract);
- }
-
- /**
- * Determine if a given string is an alias.
- *
- * @param string $name
- * @return bool
- * @static
- */
- public static function isAlias($name){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::isAlias($name);
- }
-
- /**
- * Register a binding with the container.
- *
- * @param string $abstract
- * @param \Closure|string|null $concrete
- * @param bool $shared
- * @return void
- * @static
- */
- public static function bind($abstract, $concrete = null, $shared = false){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::bind($abstract, $concrete, $shared);
- }
-
- /**
- * Register a binding if it hasn't already been registered.
- *
- * @param string $abstract
- * @param \Closure|string|null $concrete
- * @param bool $shared
- * @return bool
- * @static
- */
- public static function bindIf($abstract, $concrete = null, $shared = false){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::bindIf($abstract, $concrete, $shared);
- }
-
- /**
- * Register a shared binding in the container.
- *
- * @param string $abstract
- * @param \Closure|string|null $concrete
- * @return void
- * @static
- */
- public static function singleton($abstract, $concrete = null){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::singleton($abstract, $concrete);
- }
-
- /**
- * Wrap a Closure such that it is shared.
- *
- * @param \Closure $closure
- * @return \Illuminate\Container\Closure
- * @static
- */
- public static function share($closure){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::share($closure);
- }
-
- /**
- * Bind a shared Closure into the container.
- *
- * @param string $abstract
- * @param \Closure $closure
- * @return void
- * @static
- */
- public static function bindShared($abstract, $closure){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::bindShared($abstract, $closure);
- }
-
- /**
- * "Extend" an abstract type in the container.
- *
- * @param string $abstract
- * @param \Closure $closure
- * @return void
- * @throws \InvalidArgumentException
- * @static
- */
- public static function extend($abstract, $closure){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::extend($abstract, $closure);
- }
-
- /**
- * Register an existing instance as shared in the container.
- *
- * @param string $abstract
- * @param mixed $instance
- * @return void
- * @static
- */
- public static function instance($abstract, $instance){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::instance($abstract, $instance);
- }
-
- /**
- * Alias a type to a shorter name.
- *
- * @param string $abstract
- * @param string $alias
- * @return void
- * @static
- */
- public static function alias($abstract, $alias){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::alias($abstract, $alias);
- }
-
- /**
- * Bind a new callback to an abstract's rebind event.
- *
- * @param string $abstract
- * @param \Closure $callback
- * @return mixed
- * @static
- */
- public static function rebinding($abstract, $callback){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::rebinding($abstract, $callback);
- }
-
- /**
- * Refresh an instance on the given target and method.
- *
- * @param string $abstract
- * @param mixed $target
- * @param string $method
- * @return mixed
- * @static
- */
- public static function refresh($abstract, $target, $method){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::refresh($abstract, $target, $method);
- }
-
- /**
- * Instantiate a concrete instance of the given type.
- *
- * @param string $concrete
- * @param array $parameters
- * @return mixed
- * @throws BindingResolutionException
- * @static
- */
- public static function build($concrete, $parameters = array()){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::build($concrete, $parameters);
- }
-
- /**
- * Register a new resolving callback.
- *
- * @param string $abstract
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function resolving($abstract, $callback){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::resolving($abstract, $callback);
- }
-
- /**
- * Register a new resolving callback for all types.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function resolvingAny($callback){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::resolvingAny($callback);
- }
-
- /**
- * Determine if a given type is shared.
- *
- * @param string $abstract
- * @return bool
- * @static
- */
- public static function isShared($abstract){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::isShared($abstract);
- }
-
- /**
- * Get the container's bindings.
- *
- * @return array
- * @static
- */
- public static function getBindings(){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::getBindings();
- }
-
- /**
- * Remove a resolved instance from the instance cache.
- *
- * @param string $abstract
- * @return void
- * @static
- */
- public static function forgetInstance($abstract){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::forgetInstance($abstract);
- }
-
- /**
- * Clear all of the instances from the container.
- *
- * @return void
- * @static
- */
- public static function forgetInstances(){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::forgetInstances();
- }
-
- /**
- * Determine if a given offset exists.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function offsetExists($key){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::offsetExists($key);
- }
-
- /**
- * Get the value at a given offset.
- *
- * @param string $key
- * @return mixed
- * @static
- */
- public static function offsetGet($key){
- //Method inherited from \Illuminate\Container\Container
- return \Illuminate\Foundation\Application::offsetGet($key);
- }
-
- /**
- * Set the value at a given offset.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function offsetSet($key, $value){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::offsetSet($key, $value);
- }
-
- /**
- * Unset the value at a given offset.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function offsetUnset($key){
- //Method inherited from \Illuminate\Container\Container
- \Illuminate\Foundation\Application::offsetUnset($key);
- }
-
- }
-
-
- class Artisan extends \Illuminate\Support\Facades\Artisan{
-
- /**
- * Create and boot a new Console application.
- *
- * @param \Illuminate\Foundation\Application $app
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function start($app){
- return \Illuminate\Console\Application::start($app);
- }
-
- /**
- * Create a new Console application.
- *
- * @param \Illuminate\Foundation\Application $app
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function make($app){
- return \Illuminate\Console\Application::make($app);
- }
-
- /**
- * Boot the Console application.
- *
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function boot(){
- return \Illuminate\Console\Application::boot();
- }
-
- /**
- * Run an Artisan console command by name.
- *
- * @param string $command
- * @param array $parameters
- * @param \Symfony\Component\Console\Output\OutputInterface $output
- * @return void
- * @static
- */
- public static function call($command, $parameters = array(), $output = null){
- \Illuminate\Console\Application::call($command, $parameters, $output);
- }
-
- /**
- * Add a command to the console.
- *
- * @param \Symfony\Component\Console\Command\Command $command
- * @return \Symfony\Component\Console\Command\Command
- * @static
- */
- public static function add($command){
- return \Illuminate\Console\Application::add($command);
- }
-
- /**
- * Add a command, resolving through the application.
- *
- * @param string $command
- * @return \Symfony\Component\Console\Command\Command
- * @static
- */
- public static function resolve($command){
- return \Illuminate\Console\Application::resolve($command);
- }
-
- /**
- * Resolve an array of commands through the application.
- *
- * @param array|mixed $commands
- * @return void
- * @static
- */
- public static function resolveCommands($commands){
- \Illuminate\Console\Application::resolveCommands($commands);
- }
-
- /**
- * Render the given exception.
- *
- * @param \Exception $e
- * @param \Symfony\Component\Console\Output\OutputInterface $output
- * @return void
- * @static
- */
- public static function renderException($e, $output){
- \Illuminate\Console\Application::renderException($e, $output);
- }
-
- /**
- * Set the exception handler instance.
- *
- * @param \Illuminate\Exception\Handler $handler
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function setExceptionHandler($handler){
- return \Illuminate\Console\Application::setExceptionHandler($handler);
- }
-
- /**
- * Set the Laravel application instance.
- *
- * @param \Illuminate\Foundation\Application $laravel
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function setLaravel($laravel){
- return \Illuminate\Console\Application::setLaravel($laravel);
- }
-
- /**
- * Set whether the Console app should auto-exit when done.
- *
- * @param bool $boolean
- * @return \Illuminate\Console\Application
- * @static
- */
- public static function setAutoExit($boolean){
- return \Illuminate\Console\Application::setAutoExit($boolean);
- }
-
- /**
- *
- *
- * @static
- */
- public static function setDispatcher($dispatcher){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setDispatcher($dispatcher);
- }
-
- /**
- * Runs the current application.
- *
- * @param \Symfony\Component\Console\InputInterface $input An Input instance
- * @param \Symfony\Component\Console\OutputInterface $output An Output instance
- * @return int 0 if everything went fine, or an error code
- * @throws \Exception When doRun returns Exception
- * @api
- * @static
- */
- public static function run($input = null, $output = null){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::run($input, $output);
- }
-
- /**
- * Runs the current application.
- *
- * @param \Symfony\Component\Console\InputInterface $input An Input instance
- * @param \Symfony\Component\Console\OutputInterface $output An Output instance
- * @return int 0 if everything went fine, or an error code
- * @static
- */
- public static function doRun($input, $output){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::doRun($input, $output);
- }
-
- /**
- * Set a helper set to be used with the command.
- *
- * @param \Symfony\Component\Console\HelperSet $helperSet The helper set
- * @api
- * @static
- */
- public static function setHelperSet($helperSet){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setHelperSet($helperSet);
- }
-
- /**
- * Get the helper set associated with the command.
- *
- * @return \Symfony\Component\Console\HelperSet The HelperSet instance associated with this command
- * @api
- * @static
- */
- public static function getHelperSet(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getHelperSet();
- }
-
- /**
- * Set an input definition set to be used with this application
- *
- * @param \Symfony\Component\Console\InputDefinition $definition The input definition
- * @api
- * @static
- */
- public static function setDefinition($definition){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setDefinition($definition);
- }
-
- /**
- * Gets the InputDefinition related to this Application.
- *
- * @return \Symfony\Component\Console\InputDefinition The InputDefinition instance
- * @static
- */
- public static function getDefinition(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getDefinition();
- }
-
- /**
- * Gets the help message.
- *
- * @return string A help message.
- * @static
- */
- public static function getHelp(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getHelp();
- }
-
- /**
- * Sets whether to catch exceptions or not during commands execution.
- *
- * @param bool $boolean Whether to catch exceptions or not during commands execution
- * @api
- * @static
- */
- public static function setCatchExceptions($boolean){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setCatchExceptions($boolean);
- }
-
- /**
- * Gets the name of the application.
- *
- * @return string The application name
- * @api
- * @static
- */
- public static function getName(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getName();
- }
-
- /**
- * Sets the application name.
- *
- * @param string $name The application name
- * @api
- * @static
- */
- public static function setName($name){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setName($name);
- }
-
- /**
- * Gets the application version.
- *
- * @return string The application version
- * @api
- * @static
- */
- public static function getVersion(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getVersion();
- }
-
- /**
- * Sets the application version.
- *
- * @param string $version The application version
- * @api
- * @static
- */
- public static function setVersion($version){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setVersion($version);
- }
-
- /**
- * Returns the long version of the application.
- *
- * @return string The long application version
- * @api
- * @static
- */
- public static function getLongVersion(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getLongVersion();
- }
-
- /**
- * Registers a new command.
- *
- * @param string $name The command name
- * @return \Symfony\Component\Console\Command The newly created command
- * @api
- * @static
- */
- public static function register($name){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::register($name);
- }
-
- /**
- * Adds an array of command objects.
- *
- * @param \Symfony\Component\Console\Command[] $commands An array of commands
- * @api
- * @static
- */
- public static function addCommands($commands){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::addCommands($commands);
- }
-
- /**
- * Returns a registered command by name or alias.
- *
- * @param string $name The command name or alias
- * @return \Symfony\Component\Console\Command A Command object
- * @throws \InvalidArgumentException When command name given does not exist
- * @api
- * @static
- */
- public static function get($name){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::get($name);
- }
-
- /**
- * Returns true if the command exists, false otherwise.
- *
- * @param string $name The command name or alias
- * @return bool true if the command exists, false otherwise
- * @api
- * @static
- */
- public static function has($name){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::has($name);
- }
-
- /**
- * Returns an array of all unique namespaces used by currently registered commands.
- *
- * It does not returns the global namespace which always exists.
- *
- * @return array An array of namespaces
- * @static
- */
- public static function getNamespaces(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getNamespaces();
- }
-
- /**
- * Finds a registered namespace by a name or an abbreviation.
- *
- * @param string $namespace A namespace or abbreviation to search for
- * @return string A registered namespace
- * @throws \InvalidArgumentException When namespace is incorrect or ambiguous
- * @static
- */
- public static function findNamespace($namespace){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::findNamespace($namespace);
- }
-
- /**
- * Finds a command by name or alias.
- *
- * Contrary to get, this command tries to find the best
- * match if you give it an abbreviation of a name or alias.
- *
- * @param string $name A command name or a command alias
- * @return \Symfony\Component\Console\Command A Command instance
- * @throws \InvalidArgumentException When command name is incorrect or ambiguous
- * @api
- * @static
- */
- public static function find($name){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::find($name);
- }
-
- /**
- * Gets the commands (registered in the given namespace if provided).
- *
- * The array keys are the full names and the values the command instances.
- *
- * @param string $namespace A namespace name
- * @return \Symfony\Component\Console\Command[] An array of Command instances
- * @api
- * @static
- */
- public static function all($namespace = null){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::all($namespace);
- }
-
- /**
- * Returns an array of possible abbreviations given a set of names.
- *
- * @param array $names An array of names
- * @return array An array of abbreviations
- * @static
- */
- public static function getAbbreviations($names){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getAbbreviations($names);
- }
-
- /**
- * Returns a text representation of the Application.
- *
- * @param string $namespace An optional namespace name
- * @param bool $raw Whether to return raw command list
- * @return string A string representing the Application
- * @deprecated Deprecated since version 2.3, to be removed in 3.0.
- * @static
- */
- public static function asText($namespace = null, $raw = false){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::asText($namespace, $raw);
- }
-
- /**
- * Returns an XML representation of the Application.
- *
- * @param string $namespace An optional namespace name
- * @param bool $asDom Whether to return a DOM or an XML string
- * @return string|\DOMDocument An XML string representing the Application
- * @deprecated Deprecated since version 2.3, to be removed in 3.0.
- * @static
- */
- public static function asXml($namespace = null, $asDom = false){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::asXml($namespace, $asDom);
- }
-
- /**
- * Tries to figure out the terminal dimensions based on the current environment
- *
- * @return array Array containing width and height
- * @static
- */
- public static function getTerminalDimensions(){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::getTerminalDimensions();
- }
-
- /**
- * Sets terminal dimensions.
- *
- * Can be useful to force terminal dimensions for functional tests.
- *
- * @param int $width The width
- * @param int $height The height
- * @return \Symfony\Component\Console\Application The current application
- * @static
- */
- public static function setTerminalDimensions($width, $height){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::setTerminalDimensions($width, $height);
- }
-
- /**
- * Returns the namespace part of the command name.
- *
- * This method is not part of public API and should not be used directly.
- *
- * @param string $name The full name of the command
- * @param string $limit The maximum number of parts of the namespace
- * @return string The namespace of the command
- * @static
- */
- public static function extractNamespace($name, $limit = null){
- //Method inherited from \Symfony\Component\Console\Application
- return \Illuminate\Console\Application::extractNamespace($name, $limit);
- }
-
- }
-
-
- class Auth extends \Illuminate\Support\Facades\Auth{
-
- /**
- * Create an instance of the database driver.
- *
- * @return \Illuminate\Auth\Guard
- * @static
- */
- public static function createDatabaseDriver(){
- return \Illuminate\Auth\AuthManager::createDatabaseDriver();
- }
-
- /**
- * Create an instance of the Eloquent driver.
- *
- * @return \Illuminate\Auth\Guard
- * @static
- */
- public static function createEloquentDriver(){
- return \Illuminate\Auth\AuthManager::createEloquentDriver();
- }
-
- /**
- * Get the default authentication driver name.
- *
- * @return string
- * @static
- */
- public static function getDefaultDriver(){
- return \Illuminate\Auth\AuthManager::getDefaultDriver();
- }
-
- /**
- * Set the default authentication driver name.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultDriver($name){
- \Illuminate\Auth\AuthManager::setDefaultDriver($name);
- }
-
- /**
- * Get a driver instance.
- *
- * @param string $driver
- * @return mixed
- * @static
- */
- public static function driver($driver = null){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Auth\AuthManager::driver($driver);
- }
-
- /**
- * Register a custom driver creator Closure.
- *
- * @param string $driver
- * @param \Closure $callback
- * @return \Illuminate\Support\Manager|static
- * @static
- */
- public static function extend($driver, $callback){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Auth\AuthManager::extend($driver, $callback);
- }
-
- /**
- * Get all of the created "drivers".
- *
- * @return array
- * @static
- */
- public static function getDrivers(){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Auth\AuthManager::getDrivers();
- }
-
- /**
- * Determine if the current user is authenticated.
- *
- * @return bool
- * @static
- */
- public static function check(){
- return \Illuminate\Auth\Guard::check();
- }
-
- /**
- * Determine if the current user is a guest.
- *
- * @return bool
- * @static
- */
- public static function guest(){
- return \Illuminate\Auth\Guard::guest();
- }
-
- /**
- * Get the currently authenticated user.
- *
- * @return \User|null
- * @static
- */
- public static function user(){
- return \Illuminate\Auth\Guard::user();
- }
-
- /**
- * Log a user into the application without sessions or cookies.
- *
- * @param array $credentials
- * @return bool
- * @static
- */
- public static function once($credentials = array()){
- return \Illuminate\Auth\Guard::once($credentials);
- }
-
- /**
- * Validate a user's credentials.
- *
- * @param array $credentials
- * @return bool
- * @static
- */
- public static function validate($credentials = array()){
- return \Illuminate\Auth\Guard::validate($credentials);
- }
-
- /**
- * Attempt to authenticate using HTTP Basic Auth.
- *
- * @param string $field
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return \Symfony\Component\HttpFoundation\Response|null
- * @static
- */
- public static function basic($field = 'email', $request = null){
- return \Illuminate\Auth\Guard::basic($field, $request);
- }
-
- /**
- * Perform a stateless HTTP Basic login attempt.
- *
- * @param string $field
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return \Symfony\Component\HttpFoundation\Response|null
- * @static
- */
- public static function onceBasic($field = 'email', $request = null){
- return \Illuminate\Auth\Guard::onceBasic($field, $request);
- }
-
- /**
- * Attempt to authenticate a user using the given credentials.
- *
- * @param array $credentials
- * @param bool $remember
- * @param bool $login
- * @return bool
- * @static
- */
- public static function attempt($credentials = array(), $remember = false, $login = true){
- return \Illuminate\Auth\Guard::attempt($credentials, $remember, $login);
- }
-
- /**
- * Register an authentication attempt event listener.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function attempting($callback){
- \Illuminate\Auth\Guard::attempting($callback);
- }
-
- /**
- * Log a user into the application.
- *
- * @param \Illuminate\Auth\UserInterface $user
- * @param bool $remember
- * @return void
- * @static
- */
- public static function login($user, $remember = false){
- \Illuminate\Auth\Guard::login($user, $remember);
- }
-
- /**
- * Log the given user ID into the application.
- *
- * @param mixed $id
- * @param bool $remember
- * @return \User
- * @static
- */
- public static function loginUsingId($id, $remember = false){
- return \Illuminate\Auth\Guard::loginUsingId($id, $remember);
- }
-
- /**
- * Log the given user ID into the application without sessions or cookies.
- *
- * @param mixed $id
- * @return bool
- * @static
- */
- public static function onceUsingId($id){
- return \Illuminate\Auth\Guard::onceUsingId($id);
- }
-
- /**
- * Log the user out of the application.
- *
- * @return void
- * @static
- */
- public static function logout(){
- \Illuminate\Auth\Guard::logout();
- }
-
- /**
- * Get the cookie creator instance used by the guard.
- *
- * @return \Illuminate\Cookie\CookieJar
- * @throws \RuntimeException
- * @static
- */
- public static function getCookieJar(){
- return \Illuminate\Auth\Guard::getCookieJar();
- }
-
- /**
- * Set the cookie creator instance used by the guard.
- *
- * @param \Illuminate\Cookie\CookieJar $cookie
- * @return void
- * @static
- */
- public static function setCookieJar($cookie){
- \Illuminate\Auth\Guard::setCookieJar($cookie);
- }
-
- /**
- * Get the event dispatcher instance.
- *
- * @return \Illuminate\Events\Dispatcher
- * @static
- */
- public static function getDispatcher(){
- return \Illuminate\Auth\Guard::getDispatcher();
- }
-
- /**
- * Set the event dispatcher instance.
- *
- * @param \Illuminate\Events\Dispatcher
- * @static
- */
- public static function setDispatcher($events){
- return \Illuminate\Auth\Guard::setDispatcher($events);
- }
-
- /**
- * Get the session store used by the guard.
- *
- * @return \Illuminate\Session\Store
- * @static
- */
- public static function getSession(){
- return \Illuminate\Auth\Guard::getSession();
- }
-
- /**
- * Get the user provider used by the guard.
- *
- * @return \Illuminate\Auth\Guard
- * @static
- */
- public static function getProvider(){
- return \Illuminate\Auth\Guard::getProvider();
- }
-
- /**
- * Set the user provider used by the guard.
- *
- * @param \Illuminate\Auth\UserProviderInterface $provider
- * @return void
- * @static
- */
- public static function setProvider($provider){
- \Illuminate\Auth\Guard::setProvider($provider);
- }
-
- /**
- * Return the currently cached user of the application.
- *
- * @return \User|null
- * @static
- */
- public static function getUser(){
- return \Illuminate\Auth\Guard::getUser();
- }
-
- /**
- * Set the current user of the application.
- *
- * @param \Illuminate\Auth\UserInterface $user
- * @return void
- * @static
- */
- public static function setUser($user){
- \Illuminate\Auth\Guard::setUser($user);
- }
-
- /**
- * Get the current request instance.
- *
- * @return \Symfony\Component\HttpFoundation\Request
- * @static
- */
- public static function getRequest(){
- return \Illuminate\Auth\Guard::getRequest();
- }
-
- /**
- * Set the current request instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request
- * @return \Illuminate\Auth\Guard
- * @static
- */
- public static function setRequest($request){
- return \Illuminate\Auth\Guard::setRequest($request);
- }
-
- /**
- * Get the last user we attempted to authenticate.
- *
- * @return \User
- * @static
- */
- public static function getLastAttempted(){
- return \Illuminate\Auth\Guard::getLastAttempted();
- }
-
- /**
- * Get a unique identifier for the auth session value.
- *
- * @return string
- * @static
- */
- public static function getName(){
- return \Illuminate\Auth\Guard::getName();
- }
-
- /**
- * Get the name of the cookie used to store the "recaller".
- *
- * @return string
- * @static
- */
- public static function getRecallerName(){
- return \Illuminate\Auth\Guard::getRecallerName();
- }
-
- /**
- * Determine if the user was authenticated via "remember me" cookie.
- *
- * @return bool
- * @static
- */
- public static function viaRemember(){
- return \Illuminate\Auth\Guard::viaRemember();
- }
-
- }
-
-
- class Blade extends \Illuminate\Support\Facades\Blade{
-
- /**
- * Compile the view at the given path.
- *
- * @param string $path
- * @return void
- * @static
- */
- public static function compile($path = null){
- \Illuminate\View\Compilers\BladeCompiler::compile($path);
- }
-
- /**
- * Get the path currently being compiled.
- *
- * @return string
- * @static
- */
- public static function getPath(){
- return \Illuminate\View\Compilers\BladeCompiler::getPath();
- }
-
- /**
- * Set the path currently being compiled.
- *
- * @param string $path
- * @return void
- * @static
- */
- public static function setPath($path){
- \Illuminate\View\Compilers\BladeCompiler::setPath($path);
- }
-
- /**
- * Compile the given Blade template contents.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function compileString($value){
- return \Illuminate\View\Compilers\BladeCompiler::compileString($value);
- }
-
- /**
- * Register a custom Blade compiler.
- *
- * @param \Closure $compiler
- * @return void
- * @static
- */
- public static function extend($compiler){
- \Illuminate\View\Compilers\BladeCompiler::extend($compiler);
- }
-
- /**
- * Compile the default values for the echo statement.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function compileEchoDefaults($value){
- return \Illuminate\View\Compilers\BladeCompiler::compileEchoDefaults($value);
- }
-
- /**
- * Get the regular expression for a generic Blade function.
- *
- * @param string $function
- * @return string
- * @static
- */
- public static function createMatcher($function){
- return \Illuminate\View\Compilers\BladeCompiler::createMatcher($function);
- }
-
- /**
- * Get the regular expression for a generic Blade function.
- *
- * @param string $function
- * @return string
- * @static
- */
- public static function createOpenMatcher($function){
- return \Illuminate\View\Compilers\BladeCompiler::createOpenMatcher($function);
- }
-
- /**
- * Create a plain Blade matcher.
- *
- * @param string $function
- * @return string
- * @static
- */
- public static function createPlainMatcher($function){
- return \Illuminate\View\Compilers\BladeCompiler::createPlainMatcher($function);
- }
-
- /**
- * Sets the content tags used for the compiler.
- *
- * @param string $openTag
- * @param string $closeTag
- * @param bool $escaped
- * @return void
- * @static
- */
- public static function setContentTags($openTag, $closeTag, $escaped = false){
- \Illuminate\View\Compilers\BladeCompiler::setContentTags($openTag, $closeTag, $escaped);
- }
-
- /**
- * Sets the escaped content tags used for the compiler.
- *
- * @param string $openTag
- * @param string $closeTag
- * @return void
- * @static
- */
- public static function setEscapedContentTags($openTag, $closeTag){
- \Illuminate\View\Compilers\BladeCompiler::setEscapedContentTags($openTag, $closeTag);
- }
-
- /**
- * Gets the content tags used for the compiler.
- *
- * @return string
- * @static
- */
- public static function getContentTags(){
- return \Illuminate\View\Compilers\BladeCompiler::getContentTags();
- }
-
- /**
- * Gets the escaped content tags used for the compiler.
- *
- * @return string
- * @static
- */
- public static function getEscapedContentTags(){
- return \Illuminate\View\Compilers\BladeCompiler::getEscapedContentTags();
- }
-
- /**
- * Get the path to the compiled version of a view.
- *
- * @param string $path
- * @return string
- * @static
- */
- public static function getCompiledPath($path){
- //Method inherited from \Illuminate\View\Compilers\Compiler
- return \Illuminate\View\Compilers\BladeCompiler::getCompiledPath($path);
- }
-
- /**
- * Determine if the view at the given path is expired.
- *
- * @param string $path
- * @return bool
- * @static
- */
- public static function isExpired($path){
- //Method inherited from \Illuminate\View\Compilers\Compiler
- return \Illuminate\View\Compilers\BladeCompiler::isExpired($path);
- }
-
- }
-
-
- class Cache extends \Illuminate\Support\Facades\Cache{
-
- /**
- * Get the cache "prefix" value.
- *
- * @return string
- * @static
- */
- public static function getPrefix(){
- return \Illuminate\Cache\CacheManager::getPrefix();
- }
-
- /**
- * Set the cache "prefix" value.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setPrefix($name){
- \Illuminate\Cache\CacheManager::setPrefix($name);
- }
-
- /**
- * Get the default cache driver name.
- *
- * @return string
- * @static
- */
- public static function getDefaultDriver(){
- return \Illuminate\Cache\CacheManager::getDefaultDriver();
- }
-
- /**
- * Set the default cache driver name.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultDriver($name){
- \Illuminate\Cache\CacheManager::setDefaultDriver($name);
- }
-
- /**
- * Get a driver instance.
- *
- * @param string $driver
- * @return mixed
- * @static
- */
- public static function driver($driver = null){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Cache\CacheManager::driver($driver);
- }
-
- /**
- * Register a custom driver creator Closure.
- *
- * @param string $driver
- * @param \Closure $callback
- * @return \Illuminate\Support\Manager|static
- * @static
- */
- public static function extend($driver, $callback){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Cache\CacheManager::extend($driver, $callback);
- }
-
- /**
- * Get all of the created "drivers".
- *
- * @return array
- * @static
- */
- public static function getDrivers(){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Cache\CacheManager::getDrivers();
- }
-
- /**
- * Determine if an item exists in the cache.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function has($key){
- return \Illuminate\Cache\Repository::has($key);
- }
-
- /**
- * Retrieve an item from the cache by key.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function get($key, $default = null){
- return \Illuminate\Cache\Repository::get($key, $default);
- }
-
- /**
- * Store an item in the cache.
- *
- * @param string $key
- * @param mixed $value
- * @param \DateTime|int $minutes
- * @return void
- * @static
- */
- public static function put($key, $value, $minutes){
- \Illuminate\Cache\Repository::put($key, $value, $minutes);
- }
-
- /**
- * Store an item in the cache if the key does not exist.
- *
- * @param string $key
- * @param mixed $value
- * @param \DateTime|int $minutes
- * @return bool
- * @static
- */
- public static function add($key, $value, $minutes){
- return \Illuminate\Cache\Repository::add($key, $value, $minutes);
- }
-
- /**
- * Get an item from the cache, or store the default value.
- *
- * @param string $key
- * @param \DateTime|int $minutes
- * @param \Closure $callback
- * @return mixed
- * @static
- */
- public static function remember($key, $minutes, $callback){
- return \Illuminate\Cache\Repository::remember($key, $minutes, $callback);
- }
-
- /**
- * Get an item from the cache, or store the default value forever.
- *
- * @param string $key
- * @param \Closure $callback
- * @return mixed
- * @static
- */
- public static function sear($key, $callback){
- return \Illuminate\Cache\Repository::sear($key, $callback);
- }
-
- /**
- * Get an item from the cache, or store the default value forever.
- *
- * @param string $key
- * @param \Closure $callback
- * @return mixed
- * @static
- */
- public static function rememberForever($key, $callback){
- return \Illuminate\Cache\Repository::rememberForever($key, $callback);
- }
-
- /**
- * Get the default cache time.
- *
- * @return int
- * @static
- */
- public static function getDefaultCacheTime(){
- return \Illuminate\Cache\Repository::getDefaultCacheTime();
- }
-
- /**
- * Set the default cache time in minutes.
- *
- * @param int $minutes
- * @return void
- * @static
- */
- public static function setDefaultCacheTime($minutes){
- \Illuminate\Cache\Repository::setDefaultCacheTime($minutes);
- }
-
- /**
- * Get the cache store implementation.
- *
- * @return \Illuminate\Cache\FileStore
- * @static
- */
- public static function getStore(){
- return \Illuminate\Cache\Repository::getStore();
- }
-
- /**
- * Determine if a cached value exists.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function offsetExists($key){
- return \Illuminate\Cache\Repository::offsetExists($key);
- }
-
- /**
- * Retrieve an item from the cache by key.
- *
- * @param string $key
- * @return mixed
- * @static
- */
- public static function offsetGet($key){
- return \Illuminate\Cache\Repository::offsetGet($key);
- }
-
- /**
- * Store an item in the cache for the default time.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function offsetSet($key, $value){
- \Illuminate\Cache\Repository::offsetSet($key, $value);
- }
-
- /**
- * Remove an item from the cache.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function offsetUnset($key){
- \Illuminate\Cache\Repository::offsetUnset($key);
- }
-
- /**
- * Register a macro with the Cache class.
- *
- * @param string $name
- * @param callable $callback
- * @return void
- * @static
- */
- public static function macro($name, $callback){
- \Illuminate\Cache\Repository::macro($name, $callback);
- }
-
- /**
- * Increment the value of an item in the cache.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @throws \LogicException
- * @static
- */
- public static function increment($key, $value = 1){
- \Illuminate\Cache\FileStore::increment($key, $value);
- }
-
- /**
- * Decrement the value of an item in the cache.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @throws \LogicException
- * @static
- */
- public static function decrement($key, $value = 1){
- \Illuminate\Cache\FileStore::decrement($key, $value);
- }
-
- /**
- * Store an item in the cache indefinitely.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function forever($key, $value){
- \Illuminate\Cache\FileStore::forever($key, $value);
- }
-
- /**
- * Remove an item from the cache.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function forget($key){
- \Illuminate\Cache\FileStore::forget($key);
- }
-
- /**
- * Remove all items from the cache.
- *
- * @return void
- * @static
- */
- public static function flush(){
- \Illuminate\Cache\FileStore::flush();
- }
-
- /**
- * Get the Filesystem instance.
- *
- * @return \Illuminate\Filesystem\Filesystem
- * @static
- */
- public static function getFilesystem(){
- return \Illuminate\Cache\FileStore::getFilesystem();
- }
-
- /**
- * Get the working directory of the cache.
- *
- * @return string
- * @static
- */
- public static function getDirectory(){
- return \Illuminate\Cache\FileStore::getDirectory();
- }
-
- }
-
-
- class ClassLoader extends \Illuminate\Support\ClassLoader{
-
- }
-
-
- class Config extends \Illuminate\Support\Facades\Config{
-
- /**
- * Determine if the given configuration value exists.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function has($key){
- return \Illuminate\Config\Repository::has($key);
- }
-
- /**
- * Determine if a configuration group exists.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasGroup($key){
- return \Illuminate\Config\Repository::hasGroup($key);
- }
-
- /**
- * Get the specified configuration value.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function get($key, $default = null){
- return \Illuminate\Config\Repository::get($key, $default);
- }
-
- /**
- * Set a given configuration value.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function set($key, $value){
- \Illuminate\Config\Repository::set($key, $value);
- }
-
- /**
- * Register a package for cascading configuration.
- *
- * @param string $package
- * @param string $hint
- * @param string $namespace
- * @return void
- * @static
- */
- public static function package($package, $hint, $namespace = null){
- \Illuminate\Config\Repository::package($package, $hint, $namespace);
- }
-
- /**
- * Register an after load callback for a given namespace.
- *
- * @param string $namespace
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function afterLoading($namespace, $callback){
- \Illuminate\Config\Repository::afterLoading($namespace, $callback);
- }
-
- /**
- * Add a new namespace to the loader.
- *
- * @param string $namespace
- * @param string $hint
- * @return void
- * @static
- */
- public static function addNamespace($namespace, $hint){
- \Illuminate\Config\Repository::addNamespace($namespace, $hint);
- }
-
- /**
- * Returns all registered namespaces with the config
- * loader.
- *
- * @return array
- * @static
- */
- public static function getNamespaces(){
- return \Illuminate\Config\Repository::getNamespaces();
- }
-
- /**
- * Get the loader implementation.
- *
- * @return \Illuminate\Config\LoaderInterface
- * @static
- */
- public static function getLoader(){
- return \Illuminate\Config\Repository::getLoader();
- }
-
- /**
- * Set the loader implementation.
- *
- * @param \Illuminate\Config\LoaderInterface $loader
- * @return void
- * @static
- */
- public static function setLoader($loader){
- \Illuminate\Config\Repository::setLoader($loader);
- }
-
- /**
- * Get the current configuration environment.
- *
- * @return string
- * @static
- */
- public static function getEnvironment(){
- return \Illuminate\Config\Repository::getEnvironment();
- }
-
- /**
- * Get the after load callback array.
- *
- * @return array
- * @static
- */
- public static function getAfterLoadCallbacks(){
- return \Illuminate\Config\Repository::getAfterLoadCallbacks();
- }
-
- /**
- * Get all of the configuration items.
- *
- * @return array
- * @static
- */
- public static function getItems(){
- return \Illuminate\Config\Repository::getItems();
- }
-
- /**
- * Determine if the given configuration option exists.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function offsetExists($key){
- return \Illuminate\Config\Repository::offsetExists($key);
- }
-
- /**
- * Get a configuration option.
- *
- * @param string $key
- * @return mixed
- * @static
- */
- public static function offsetGet($key){
- return \Illuminate\Config\Repository::offsetGet($key);
- }
-
- /**
- * Set a configuration option.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function offsetSet($key, $value){
- \Illuminate\Config\Repository::offsetSet($key, $value);
- }
-
- /**
- * Unset a configuration option.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function offsetUnset($key){
- \Illuminate\Config\Repository::offsetUnset($key);
- }
-
- /**
- * Parse a key into namespace, group, and item.
- *
- * @param string $key
- * @return array
- * @static
- */
- public static function parseKey($key){
- //Method inherited from \Illuminate\Support\NamespacedItemResolver
- return \Illuminate\Config\Repository::parseKey($key);
- }
-
- /**
- * Set the parsed value of a key.
- *
- * @param string $key
- * @param array $parsed
- * @return void
- * @static
- */
- public static function setParsedKey($key, $parsed){
- //Method inherited from \Illuminate\Support\NamespacedItemResolver
- \Illuminate\Config\Repository::setParsedKey($key, $parsed);
- }
-
- }
-
-
- class Controller extends \Illuminate\Routing\Controller{
-
- }
-
-
- class Cookie extends \Illuminate\Support\Facades\Cookie{
-
- /**
- * Create a new cookie instance.
- *
- * @param string $name
- * @param string $value
- * @param int $minutes
- * @param string $path
- * @param string $domain
- * @param bool $secure
- * @param bool $httpOnly
- * @return \Symfony\Component\HttpFoundation\Cookie
- * @static
- */
- public static function make($name, $value, $minutes = 0, $path = null, $domain = null, $secure = false, $httpOnly = true){
- return \Illuminate\Cookie\CookieJar::make($name, $value, $minutes, $path, $domain, $secure, $httpOnly);
- }
-
- /**
- * Create a cookie that lasts "forever" (five years).
- *
- * @param string $name
- * @param string $value
- * @param string $path
- * @param string $domain
- * @param bool $secure
- * @param bool $httpOnly
- * @return \Symfony\Component\HttpFoundation\Cookie
- * @static
- */
- public static function forever($name, $value, $path = null, $domain = null, $secure = false, $httpOnly = true){
- return \Illuminate\Cookie\CookieJar::forever($name, $value, $path, $domain, $secure, $httpOnly);
- }
-
- /**
- * Expire the given cookie.
- *
- * @param string $name
- * @param string $path
- * @param string $domain
- * @return \Symfony\Component\HttpFoundation\Cookie
- * @static
- */
- public static function forget($name, $path = null, $domain = null){
- return \Illuminate\Cookie\CookieJar::forget($name, $path, $domain);
- }
-
- /**
- * Determine if a cookie has been queued.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasQueued($key){
- return \Illuminate\Cookie\CookieJar::hasQueued($key);
- }
-
- /**
- * Get a queued cookie instance.
- *
- * @param string $key
- * @param mixed $default
- * @return \Symfony\Component\HttpFoundation\Cookie
- * @static
- */
- public static function queued($key, $default = null){
- return \Illuminate\Cookie\CookieJar::queued($key, $default);
- }
-
- /**
- * Queue a cookie to send with the next response.
- *
- * @param mixed
- * @return void
- * @static
- */
- public static function queue(){
- \Illuminate\Cookie\CookieJar::queue();
- }
-
- /**
- * Remove a cookie from the queue.
- *
- * @param $cookieName
- * @static
- */
- public static function unqueue($name){
- return \Illuminate\Cookie\CookieJar::unqueue($name);
- }
-
- /**
- * Set the default path and domain for the jar.
- *
- * @param string $path
- * @param string $domain
- * @return self
- * @static
- */
- public static function setDefaultPathAndDomain($path, $domain){
- return \Illuminate\Cookie\CookieJar::setDefaultPathAndDomain($path, $domain);
- }
-
- /**
- * Get the cookies which have been queued for the next request
- *
- * @return array
- * @static
- */
- public static function getQueuedCookies(){
- return \Illuminate\Cookie\CookieJar::getQueuedCookies();
- }
-
- }
-
-
- class Crypt extends \Illuminate\Support\Facades\Crypt{
-
- /**
- * Encrypt the given value.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function encrypt($value){
- return \Illuminate\Encryption\Encrypter::encrypt($value);
- }
-
- /**
- * Decrypt the given value.
- *
- * @param string $payload
- * @return string
- * @static
- */
- public static function decrypt($payload){
- return \Illuminate\Encryption\Encrypter::decrypt($payload);
- }
-
- /**
- * Set the encryption key.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function setKey($key){
- \Illuminate\Encryption\Encrypter::setKey($key);
- }
-
- /**
- * Set the encryption cipher.
- *
- * @param string $cipher
- * @return void
- * @static
- */
- public static function setCipher($cipher){
- \Illuminate\Encryption\Encrypter::setCipher($cipher);
- }
-
- /**
- * Set the encryption mode.
- *
- * @param string $mode
- * @return void
- * @static
- */
- public static function setMode($mode){
- \Illuminate\Encryption\Encrypter::setMode($mode);
- }
-
- }
-
-
- class DB extends \Illuminate\Support\Facades\DB{
-
- /**
- * Get a database connection instance.
- *
- * @param string $name
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function connection($name = null){
- return \Illuminate\Database\DatabaseManager::connection($name);
- }
-
- /**
- * Reconnect to the given database.
- *
- * @param string $name
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function reconnect($name = null){
- return \Illuminate\Database\DatabaseManager::reconnect($name);
- }
-
- /**
- * Disconnect from the given database.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function disconnect($name = null){
- \Illuminate\Database\DatabaseManager::disconnect($name);
- }
-
- /**
- * Get the default connection name.
- *
- * @return string
- * @static
- */
- public static function getDefaultConnection(){
- return \Illuminate\Database\DatabaseManager::getDefaultConnection();
- }
-
- /**
- * Set the default connection name.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultConnection($name){
- \Illuminate\Database\DatabaseManager::setDefaultConnection($name);
- }
-
- /**
- * Register an extension connection resolver.
- *
- * @param string $name
- * @param callable $resolver
- * @return void
- * @static
- */
- public static function extend($name, $resolver){
- \Illuminate\Database\DatabaseManager::extend($name, $resolver);
- }
-
- /**
- * Return all of the created connections.
- *
- * @return array
- * @static
- */
- public static function getConnections(){
- return \Illuminate\Database\DatabaseManager::getConnections();
- }
-
- /**
- * Get a schema builder instance for the connection.
- *
- * @return \Illuminate\Database\Schema\MySqlBuilder
- * @static
- */
- public static function getSchemaBuilder(){
- return \Illuminate\Database\MySqlConnection::getSchemaBuilder();
- }
-
- /**
- * Set the query grammar to the default implementation.
- *
- * @return void
- * @static
- */
- public static function useDefaultQueryGrammar(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::useDefaultQueryGrammar();
- }
-
- /**
- * Set the schema grammar to the default implementation.
- *
- * @return void
- * @static
- */
- public static function useDefaultSchemaGrammar(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::useDefaultSchemaGrammar();
- }
-
- /**
- * Set the query post processor to the default implementation.
- *
- * @return void
- * @static
- */
- public static function useDefaultPostProcessor(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::useDefaultPostProcessor();
- }
-
- /**
- * Begin a fluent query against a database table.
- *
- * @param string $table
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function table($table){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::table($table);
- }
-
- /**
- * Get a new raw query expression.
- *
- * @param mixed $value
- * @return \Illuminate\Database\Query\Expression
- * @static
- */
- public static function raw($value){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::raw($value);
- }
-
- /**
- * Run a select statement and return a single result.
- *
- * @param string $query
- * @param array $bindings
- * @return mixed
- * @static
- */
- public static function selectOne($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::selectOne($query, $bindings);
- }
-
- /**
- * Run a select statement against the database.
- *
- * @param string $query
- * @param array $bindings
- * @return array
- * @static
- */
- public static function select($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::select($query, $bindings);
- }
-
- /**
- * Run an insert statement against the database.
- *
- * @param string $query
- * @param array $bindings
- * @return bool
- * @static
- */
- public static function insert($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::insert($query, $bindings);
- }
-
- /**
- * Run an update statement against the database.
- *
- * @param string $query
- * @param array $bindings
- * @return int
- * @static
- */
- public static function update($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::update($query, $bindings);
- }
-
- /**
- * Run a delete statement against the database.
- *
- * @param string $query
- * @param array $bindings
- * @return int
- * @static
- */
- public static function delete($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::delete($query, $bindings);
- }
-
- /**
- * Execute an SQL statement and return the boolean result.
- *
- * @param string $query
- * @param array $bindings
- * @return bool
- * @static
- */
- public static function statement($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::statement($query, $bindings);
- }
-
- /**
- * Run an SQL statement and get the number of rows affected.
- *
- * @param string $query
- * @param array $bindings
- * @return int
- * @static
- */
- public static function affectingStatement($query, $bindings = array()){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::affectingStatement($query, $bindings);
- }
-
- /**
- * Run a raw, unprepared query against the PDO connection.
- *
- * @param string $query
- * @return bool
- * @static
- */
- public static function unprepared($query){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::unprepared($query);
- }
-
- /**
- * Prepare the query bindings for execution.
- *
- * @param array $bindings
- * @return array
- * @static
- */
- public static function prepareBindings($bindings){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::prepareBindings($bindings);
- }
-
- /**
- * Execute a Closure within a transaction.
- *
- * @param \Closure $callback
- * @return mixed
- * @throws \Exception
- * @static
- */
- public static function transaction($callback){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::transaction($callback);
- }
-
- /**
- * Start a new database transaction.
- *
- * @return void
- * @static
- */
- public static function beginTransaction(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::beginTransaction();
- }
-
- /**
- * Commit the active database transaction.
- *
- * @return void
- * @static
- */
- public static function commit(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::commit();
- }
-
- /**
- * Rollback the active database transaction.
- *
- * @return void
- * @static
- */
- public static function rollBack(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::rollBack();
- }
-
- /**
- * Execute the given callback in "dry run" mode.
- *
- * @param \Closure $callback
- * @return array
- * @static
- */
- public static function pretend($callback){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::pretend($callback);
- }
-
- /**
- * Log a query in the connection's query log.
- *
- * @param string $query
- * @param array $bindings
- * @param $time
- * @return void
- * @static
- */
- public static function logQuery($query, $bindings, $time = null){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::logQuery($query, $bindings, $time);
- }
-
- /**
- * Register a database query listener with the connection.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function listen($callback){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::listen($callback);
- }
-
- /**
- * Get a Doctrine Schema Column instance.
- *
- * @param string $table
- * @param string $column
- * @return \Doctrine\DBAL\Schema\Column
- * @static
- */
- public static function getDoctrineColumn($table, $column){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getDoctrineColumn($table, $column);
- }
-
- /**
- * Get the Doctrine DBAL schema manager for the connection.
- *
- * @return \Doctrine\DBAL\Schema\AbstractSchemaManager
- * @static
- */
- public static function getDoctrineSchemaManager(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getDoctrineSchemaManager();
- }
-
- /**
- * Get the Doctrine DBAL database connection instance.
- *
- * @return \Doctrine\DBAL\Connection
- * @static
- */
- public static function getDoctrineConnection(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getDoctrineConnection();
- }
-
- /**
- * Get the current PDO connection.
- *
- * @return \Illuminate\Database\PDO
- * @static
- */
- public static function getPdo(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getPdo();
- }
-
- /**
- * Get the current PDO connection used for reading.
- *
- * @return \Illuminate\Database\PDO
- * @static
- */
- public static function getReadPdo(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getReadPdo();
- }
-
- /**
- * Set the PDO connection.
- *
- * @param \Illuminate\Database\PDO $pdo
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function setPdo($pdo){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::setPdo($pdo);
- }
-
- /**
- * Set the PDO connection used for reading.
- *
- * @param \Illuminate\Database\PDO $pdo
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function setReadPdo($pdo){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::setReadPdo($pdo);
- }
-
- /**
- * Get the database connection name.
- *
- * @return string|null
- * @static
- */
- public static function getName(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getName();
- }
-
- /**
- * Get an option from the configuration options.
- *
- * @param string $option
- * @return mixed
- * @static
- */
- public static function getConfig($option){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getConfig($option);
- }
-
- /**
- * Get the PDO driver name.
- *
- * @return string
- * @static
- */
- public static function getDriverName(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getDriverName();
- }
-
- /**
- * Get the query grammar used by the connection.
- *
- * @return \Illuminate\Database\Query\Grammars\Grammar
- * @static
- */
- public static function getQueryGrammar(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getQueryGrammar();
- }
-
- /**
- * Set the query grammar used by the connection.
- *
- * @param \Illuminate\Database\Query\Grammars\Grammar
- * @return void
- * @static
- */
- public static function setQueryGrammar($grammar){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setQueryGrammar($grammar);
- }
-
- /**
- * Get the schema grammar used by the connection.
- *
- * @return \Illuminate\Database\Query\Grammars\Grammar
- * @static
- */
- public static function getSchemaGrammar(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getSchemaGrammar();
- }
-
- /**
- * Set the schema grammar used by the connection.
- *
- * @param \Illuminate\Database\Schema\Grammars\Grammar
- * @return void
- * @static
- */
- public static function setSchemaGrammar($grammar){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setSchemaGrammar($grammar);
- }
-
- /**
- * Get the query post processor used by the connection.
- *
- * @return \Illuminate\Database\Query\Processors\Processor
- * @static
- */
- public static function getPostProcessor(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getPostProcessor();
- }
-
- /**
- * Set the query post processor used by the connection.
- *
- * @param \Illuminate\Database\Query\Processors\Processor
- * @return void
- * @static
- */
- public static function setPostProcessor($processor){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setPostProcessor($processor);
- }
-
- /**
- * Get the event dispatcher used by the connection.
- *
- * @return \Illuminate\Events\Dispatcher
- * @static
- */
- public static function getEventDispatcher(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getEventDispatcher();
- }
-
- /**
- * Set the event dispatcher instance on the connection.
- *
- * @param \Illuminate\Events\Dispatcher
- * @return void
- * @static
- */
- public static function setEventDispatcher($events){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setEventDispatcher($events);
- }
-
- /**
- * Get the paginator environment instance.
- *
- * @return \Illuminate\Pagination\Environment
- * @static
- */
- public static function getPaginator(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getPaginator();
- }
-
- /**
- * Set the pagination environment instance.
- *
- * @param \Illuminate\Pagination\Environment|\Closure $paginator
- * @return void
- * @static
- */
- public static function setPaginator($paginator){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setPaginator($paginator);
- }
-
- /**
- * Get the cache manager instance.
- *
- * @return \Illuminate\Cache\CacheManager
- * @static
- */
- public static function getCacheManager(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getCacheManager();
- }
-
- /**
- * Set the cache manager instance on the connection.
- *
- * @param \Illuminate\Cache\CacheManager|\Closure $cache
- * @return void
- * @static
- */
- public static function setCacheManager($cache){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setCacheManager($cache);
- }
-
- /**
- * Determine if the connection in a "dry run".
- *
- * @return bool
- * @static
- */
- public static function pretending(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::pretending();
- }
-
- /**
- * Get the default fetch mode for the connection.
- *
- * @return int
- * @static
- */
- public static function getFetchMode(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getFetchMode();
- }
-
- /**
- * Set the default fetch mode for the connection.
- *
- * @param int $fetchMode
- * @return int
- * @static
- */
- public static function setFetchMode($fetchMode){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::setFetchMode($fetchMode);
- }
-
- /**
- * Get the connection query log.
- *
- * @return array
- * @static
- */
- public static function getQueryLog(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getQueryLog();
- }
-
- /**
- * Clear the query log.
- *
- * @return void
- * @static
- */
- public static function flushQueryLog(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::flushQueryLog();
- }
-
- /**
- * Enable the query log on the connection.
- *
- * @return void
- * @static
- */
- public static function enableQueryLog(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::enableQueryLog();
- }
-
- /**
- * Disable the query log on the connection.
- *
- * @return void
- * @static
- */
- public static function disableQueryLog(){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::disableQueryLog();
- }
-
- /**
- * Determine whether we're logging queries.
- *
- * @return bool
- * @static
- */
- public static function logging(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::logging();
- }
-
- /**
- * Get the name of the connected database.
- *
- * @return string
- * @static
- */
- public static function getDatabaseName(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getDatabaseName();
- }
-
- /**
- * Set the name of the connected database.
- *
- * @param string $database
- * @return string
- * @static
- */
- public static function setDatabaseName($database){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::setDatabaseName($database);
- }
-
- /**
- * Get the table prefix for the connection.
- *
- * @return string
- * @static
- */
- public static function getTablePrefix(){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::getTablePrefix();
- }
-
- /**
- * Set the table prefix in use by the connection.
- *
- * @param string $prefix
- * @return void
- * @static
- */
- public static function setTablePrefix($prefix){
- //Method inherited from \Illuminate\Database\Connection
- \Illuminate\Database\MySqlConnection::setTablePrefix($prefix);
- }
-
- /**
- * Set the table prefix and return the grammar.
- *
- * @param \Illuminate\Database\Grammar $grammar
- * @return \Illuminate\Database\Grammar
- * @static
- */
- public static function withTablePrefix($grammar){
- //Method inherited from \Illuminate\Database\Connection
- return \Illuminate\Database\MySqlConnection::withTablePrefix($grammar);
- }
-
- }
-
-
- class Eloquent extends \Illuminate\Database\Eloquent\Model{
-
- /**
- * Find a model by its primary key.
- *
- * @param array $id
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static
- * @static
- */
- public static function findMany($id, $columns = array()){
- return \Illuminate\Database\Eloquent\Builder::findMany($id, $columns);
- }
-
- /**
- * Execute the query and get the first result.
- *
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|static|null
- * @static
- */
- public static function first($columns = array()){
- return \Illuminate\Database\Eloquent\Builder::first($columns);
- }
-
- /**
- * Execute the query and get the first result or throw an exception.
- *
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|static
- * @throws ModelNotFoundException
- * @static
- */
- public static function firstOrFail($columns = array()){
- return \Illuminate\Database\Eloquent\Builder::firstOrFail($columns);
- }
-
- /**
- * Execute the query as a "select" statement.
- *
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Collection|static[]
- * @static
- */
- public static function get($columns = array()){
- return \Illuminate\Database\Eloquent\Builder::get($columns);
- }
-
- /**
- * Pluck a single column from the database.
- *
- * @param string $column
- * @return mixed
- * @static
- */
- public static function pluck($column){
- return \Illuminate\Database\Eloquent\Builder::pluck($column);
- }
-
- /**
- * Chunk the results of the query.
- *
- * @param int $count
- * @param callable $callback
- * @return void
- * @static
- */
- public static function chunk($count, $callback){
- \Illuminate\Database\Eloquent\Builder::chunk($count, $callback);
- }
-
- /**
- * Get an array with the values of a given column.
- *
- * @param string $column
- * @param string $key
- * @return array
- * @static
- */
- public static function lists($column, $key = null){
- return \Illuminate\Database\Eloquent\Builder::lists($column, $key);
- }
-
- /**
- * Get a paginator for the "select" statement.
- *
- * @param int $perPage
- * @param array $columns
- * @return \Illuminate\Pagination\Paginator
- * @static
- */
- public static function paginate($perPage = null, $columns = array()){
- return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns);
- }
-
- /**
- * Get the hydrated models without eager loading.
- *
- * @param array $columns
- * @return array|static[]
- * @static
- */
- public static function getModels($columns = array()){
- return \Illuminate\Database\Eloquent\Builder::getModels($columns);
- }
-
- /**
- * Eager load the relationships for the models.
- *
- * @param array $models
- * @return array
- * @static
- */
- public static function eagerLoadRelations($models){
- return \Illuminate\Database\Eloquent\Builder::eagerLoadRelations($models);
- }
-
- /**
- * Add a basic where clause to the query.
- *
- * @param string $column
- * @param string $operator
- * @param mixed $value
- * @param string $boolean
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function where($column, $operator = null, $value = null, $boolean = 'and'){
- return \Illuminate\Database\Eloquent\Builder::where($column, $operator, $value, $boolean);
- }
-
- /**
- * Add an "or where" clause to the query.
- *
- * @param string $column
- * @param string $operator
- * @param mixed $value
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function orWhere($column, $operator = null, $value = null){
- return \Illuminate\Database\Eloquent\Builder::orWhere($column, $operator, $value);
- }
-
- /**
- * Add a relationship count condition to the query.
- *
- * @param string $relation
- * @param string $operator
- * @param int $count
- * @param string $boolean
- * @param \Closure $callback
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function has($relation, $operator = '>=', $count = 1, $boolean = 'and', $callback = null){
- return \Illuminate\Database\Eloquent\Builder::has($relation, $operator, $count, $boolean, $callback);
- }
-
- /**
- * Add a relationship count condition to the query with where clauses.
- *
- * @param string $relation
- * @param \Closure $callback
- * @param string $operator
- * @param int $count
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function whereHas($relation, $callback, $operator = '>=', $count = 1){
- return \Illuminate\Database\Eloquent\Builder::whereHas($relation, $callback, $operator, $count);
- }
-
- /**
- * Add a relationship count condition to the query with an "or".
- *
- * @param string $relation
- * @param string $operator
- * @param int $count
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function orHas($relation, $operator = '>=', $count = 1){
- return \Illuminate\Database\Eloquent\Builder::orHas($relation, $operator, $count);
- }
-
- /**
- * Add a relationship count condition to the query with where clauses and an "or".
- *
- * @param string $relation
- * @param \Closure $callback
- * @param string $operator
- * @param int $count
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function orWhereHas($relation, $callback, $operator = '>=', $count = 1){
- return \Illuminate\Database\Eloquent\Builder::orWhereHas($relation, $callback, $operator, $count);
- }
-
- /**
- * Get the underlying query builder instance.
- *
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function getQuery(){
- return \Illuminate\Database\Eloquent\Builder::getQuery();
- }
-
- /**
- * Set the underlying query builder instance.
- *
- * @param \Illuminate\Database\Query\Builder $query
- * @return void
- * @static
- */
- public static function setQuery($query){
- \Illuminate\Database\Eloquent\Builder::setQuery($query);
- }
-
- /**
- * Get the relationships being eagerly loaded.
- *
- * @return array
- * @static
- */
- public static function getEagerLoads(){
- return \Illuminate\Database\Eloquent\Builder::getEagerLoads();
- }
-
- /**
- * Set the relationships being eagerly loaded.
- *
- * @param array $eagerLoad
- * @return void
- * @static
- */
- public static function setEagerLoads($eagerLoad){
- \Illuminate\Database\Eloquent\Builder::setEagerLoads($eagerLoad);
- }
-
- /**
- * Get the model instance being queried.
- *
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function getModel(){
- return \Illuminate\Database\Eloquent\Builder::getModel();
- }
-
- /**
- * Set a model instance for the model being queried.
- *
- * @param \Illuminate\Database\Eloquent\Model $model
- * @return \Illuminate\Database\Eloquent\Builder
- * @static
- */
- public static function setModel($model){
- return \Illuminate\Database\Eloquent\Builder::setModel($model);
- }
-
- /**
- * Set the columns to be selected.
- *
- * @param array $columns
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function select($columns = array()){
- return \Illuminate\Database\Query\Builder::select($columns);
- }
-
- /**
- * Add a new "raw" select expression to the query.
- *
- * @param string $expression
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function selectRaw($expression){
- return \Illuminate\Database\Query\Builder::selectRaw($expression);
- }
-
- /**
- * Add a new select column to the query.
- *
- * @param mixed $column
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function addSelect($column){
- return \Illuminate\Database\Query\Builder::addSelect($column);
- }
-
- /**
- * Force the query to only return distinct results.
- *
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function distinct(){
- return \Illuminate\Database\Query\Builder::distinct();
- }
-
- /**
- * Set the table which the query is targeting.
- *
- * @param string $table
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function from($table){
- return \Illuminate\Database\Query\Builder::from($table);
- }
-
- /**
- * Add a join clause to the query.
- *
- * @param string $table
- * @param string $first
- * @param string $operator
- * @param string $two
- * @param string $type
- * @param bool $where
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function join($table, $one, $operator = null, $two = null, $type = 'inner', $where = false){
- return \Illuminate\Database\Query\Builder::join($table, $one, $operator, $two, $type, $where);
- }
-
- /**
- * Add a "join where" clause to the query.
- *
- * @param string $table
- * @param string $first
- * @param string $operator
- * @param string $two
- * @param string $type
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function joinWhere($table, $one, $operator, $two, $type = 'inner'){
- return \Illuminate\Database\Query\Builder::joinWhere($table, $one, $operator, $two, $type);
- }
-
- /**
- * Add a left join to the query.
- *
- * @param string $table
- * @param string $first
- * @param string $operator
- * @param string $second
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function leftJoin($table, $first, $operator = null, $second = null){
- return \Illuminate\Database\Query\Builder::leftJoin($table, $first, $operator, $second);
- }
-
- /**
- * Add a "join where" clause to the query.
- *
- * @param string $table
- * @param string $first
- * @param string $operator
- * @param string $two
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function leftJoinWhere($table, $one, $operator, $two){
- return \Illuminate\Database\Query\Builder::leftJoinWhere($table, $one, $operator, $two);
- }
-
- /**
- * Add a raw where clause to the query.
- *
- * @param string $sql
- * @param array $bindings
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereRaw($sql, $bindings = array(), $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereRaw($sql, $bindings, $boolean);
- }
-
- /**
- * Add a raw or where clause to the query.
- *
- * @param string $sql
- * @param array $bindings
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereRaw($sql, $bindings = array()){
- return \Illuminate\Database\Query\Builder::orWhereRaw($sql, $bindings);
- }
-
- /**
- * Add a where between statement to the query.
- *
- * @param string $column
- * @param array $values
- * @param string $boolean
- * @param bool $not
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereBetween($column, $values, $boolean = 'and', $not = false){
- return \Illuminate\Database\Query\Builder::whereBetween($column, $values, $boolean, $not);
- }
-
- /**
- * Add an or where between statement to the query.
- *
- * @param string $column
- * @param array $values
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereBetween($column, $values){
- return \Illuminate\Database\Query\Builder::orWhereBetween($column, $values);
- }
-
- /**
- * Add a where not between statement to the query.
- *
- * @param string $column
- * @param array $values
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNotBetween($column, $values, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereNotBetween($column, $values, $boolean);
- }
-
- /**
- * Add an or where not between statement to the query.
- *
- * @param string $column
- * @param array $values
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereNotBetween($column, $values){
- return \Illuminate\Database\Query\Builder::orWhereNotBetween($column, $values);
- }
-
- /**
- * Add a nested where statement to the query.
- *
- * @param \Closure $callback
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNested($callback, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereNested($callback, $boolean);
- }
-
- /**
- * Add another query builder as a nested where to the query builder.
- *
- * @param \Illuminate\Database\Query\Builder|static $query
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function addNestedWhereQuery($query, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::addNestedWhereQuery($query, $boolean);
- }
-
- /**
- * Add an exists clause to the query.
- *
- * @param \Closure $callback
- * @param string $boolean
- * @param bool $not
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereExists($callback, $boolean = 'and', $not = false){
- return \Illuminate\Database\Query\Builder::whereExists($callback, $boolean, $not);
- }
-
- /**
- * Add an or exists clause to the query.
- *
- * @param \Closure $callback
- * @param bool $not
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereExists($callback, $not = false){
- return \Illuminate\Database\Query\Builder::orWhereExists($callback, $not);
- }
-
- /**
- * Add a where not exists clause to the query.
- *
- * @param \Closure $callback
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNotExists($callback, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereNotExists($callback, $boolean);
- }
-
- /**
- * Add a where not exists clause to the query.
- *
- * @param \Closure $callback
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereNotExists($callback){
- return \Illuminate\Database\Query\Builder::orWhereNotExists($callback);
- }
-
- /**
- * Add a "where in" clause to the query.
- *
- * @param string $column
- * @param mixed $values
- * @param string $boolean
- * @param bool $not
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereIn($column, $values, $boolean = 'and', $not = false){
- return \Illuminate\Database\Query\Builder::whereIn($column, $values, $boolean, $not);
- }
-
- /**
- * Add an "or where in" clause to the query.
- *
- * @param string $column
- * @param mixed $values
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereIn($column, $values){
- return \Illuminate\Database\Query\Builder::orWhereIn($column, $values);
- }
-
- /**
- * Add a "where not in" clause to the query.
- *
- * @param string $column
- * @param mixed $values
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNotIn($column, $values, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereNotIn($column, $values, $boolean);
- }
-
- /**
- * Add an "or where not in" clause to the query.
- *
- * @param string $column
- * @param mixed $values
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereNotIn($column, $values){
- return \Illuminate\Database\Query\Builder::orWhereNotIn($column, $values);
- }
-
- /**
- * Add a "where null" clause to the query.
- *
- * @param string $column
- * @param string $boolean
- * @param bool $not
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNull($column, $boolean = 'and', $not = false){
- return \Illuminate\Database\Query\Builder::whereNull($column, $boolean, $not);
- }
-
- /**
- * Add an "or where null" clause to the query.
- *
- * @param string $column
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereNull($column){
- return \Illuminate\Database\Query\Builder::orWhereNull($column);
- }
-
- /**
- * Add a "where not null" clause to the query.
- *
- * @param string $column
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereNotNull($column, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereNotNull($column, $boolean);
- }
-
- /**
- * Add an "or where not null" clause to the query.
- *
- * @param string $column
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orWhereNotNull($column){
- return \Illuminate\Database\Query\Builder::orWhereNotNull($column);
- }
-
- /**
- * Add a "where day" statement to the query.
- *
- * @param string $column
- * @param string $operator
- * @param int $value
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereDay($column, $operator, $value, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereDay($column, $operator, $value, $boolean);
- }
-
- /**
- * Add a "where month" statement to the query.
- *
- * @param string $column
- * @param string $operator
- * @param int $value
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereMonth($column, $operator, $value, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereMonth($column, $operator, $value, $boolean);
- }
-
- /**
- * Add a "where year" statement to the query.
- *
- * @param string $column
- * @param string $operator
- * @param int $value
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function whereYear($column, $operator, $value, $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::whereYear($column, $operator, $value, $boolean);
- }
-
- /**
- * Handles dynamic "where" clauses to the query.
- *
- * @param string $method
- * @param string $parameters
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function dynamicWhere($method, $parameters){
- return \Illuminate\Database\Query\Builder::dynamicWhere($method, $parameters);
- }
-
- /**
- * Add a "group by" clause to the query.
- *
- * @param mixed $columns
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function groupBy(){
- return \Illuminate\Database\Query\Builder::groupBy();
- }
-
- /**
- * Add a "having" clause to the query.
- *
- * @param string $column
- * @param string $operator
- * @param string $value
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function having($column, $operator = null, $value = null){
- return \Illuminate\Database\Query\Builder::having($column, $operator, $value);
- }
-
- /**
- * Add a raw having clause to the query.
- *
- * @param string $sql
- * @param array $bindings
- * @param string $boolean
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function havingRaw($sql, $bindings = array(), $boolean = 'and'){
- return \Illuminate\Database\Query\Builder::havingRaw($sql, $bindings, $boolean);
- }
-
- /**
- * Add a raw or having clause to the query.
- *
- * @param string $sql
- * @param array $bindings
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orHavingRaw($sql, $bindings = array()){
- return \Illuminate\Database\Query\Builder::orHavingRaw($sql, $bindings);
- }
-
- /**
- * Add an "order by" clause to the query.
- *
- * @param string $column
- * @param string $direction
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orderBy($column, $direction = 'asc'){
- return \Illuminate\Database\Query\Builder::orderBy($column, $direction);
- }
-
- /**
- * Add an "order by" clause for a timestamp to the query.
- *
- * @param string $column
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function latest($column = 'created_at'){
- return \Illuminate\Database\Query\Builder::latest($column);
- }
-
- /**
- * Add an "order by" clause for a timestamp to the query.
- *
- * @param string $column
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function oldest($column = 'created_at'){
- return \Illuminate\Database\Query\Builder::oldest($column);
- }
-
- /**
- * Add a raw "order by" clause to the query.
- *
- * @param string $sql
- * @param array $bindings
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function orderByRaw($sql, $bindings = array()){
- return \Illuminate\Database\Query\Builder::orderByRaw($sql, $bindings);
- }
-
- /**
- * Set the "offset" value of the query.
- *
- * @param int $value
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function offset($value){
- return \Illuminate\Database\Query\Builder::offset($value);
- }
-
- /**
- * Alias to set the "offset" value of the query.
- *
- * @param int $value
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function skip($value){
- return \Illuminate\Database\Query\Builder::skip($value);
- }
-
- /**
- * Set the "limit" value of the query.
- *
- * @param int $value
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function limit($value){
- return \Illuminate\Database\Query\Builder::limit($value);
- }
-
- /**
- * Alias to set the "limit" value of the query.
- *
- * @param int $value
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function take($value){
- return \Illuminate\Database\Query\Builder::take($value);
- }
-
- /**
- * Set the limit and offset for a given page.
- *
- * @param int $page
- * @param int $perPage
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function forPage($page, $perPage = 15){
- return \Illuminate\Database\Query\Builder::forPage($page, $perPage);
- }
-
- /**
- * Add a union statement to the query.
- *
- * @param \Illuminate\Database\Query\Builder|\Closure $query
- * @param bool $all
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function union($query, $all = false){
- return \Illuminate\Database\Query\Builder::union($query, $all);
- }
-
- /**
- * Add a union all statement to the query.
- *
- * @param \Illuminate\Database\Query\Builder|\Closure $query
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function unionAll($query){
- return \Illuminate\Database\Query\Builder::unionAll($query);
- }
-
- /**
- * Lock the selected rows in the table.
- *
- * @param bool $update
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function lock($value = true){
- return \Illuminate\Database\Query\Builder::lock($value);
- }
-
- /**
- * Lock the selected rows in the table for updating.
- *
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function lockForUpdate(){
- return \Illuminate\Database\Query\Builder::lockForUpdate();
- }
-
- /**
- * Share lock the selected rows in the table.
- *
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function sharedLock(){
- return \Illuminate\Database\Query\Builder::sharedLock();
- }
-
- /**
- * Get the SQL representation of the query.
- *
- * @return string
- * @static
- */
- public static function toSql(){
- return \Illuminate\Database\Query\Builder::toSql();
- }
-
- /**
- * Indicate that the query results should be cached.
- *
- * @param \DateTime|int $minutes
- * @param string $key
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function remember($minutes, $key = null){
- return \Illuminate\Database\Query\Builder::remember($minutes, $key);
- }
-
- /**
- * Indicate that the query results should be cached forever.
- *
- * @param string $key
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function rememberForever($key = null){
- return \Illuminate\Database\Query\Builder::rememberForever($key);
- }
-
- /**
- * Indicate that the results, if cached, should use the given cache tags.
- *
- * @param array|mixed $cacheTags
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function cacheTags($cacheTags){
- return \Illuminate\Database\Query\Builder::cacheTags($cacheTags);
- }
-
- /**
- * Indicate that the results, if cached, should use the given cache driver.
- *
- * @param string $cacheDriver
- * @return \Illuminate\Database\Query\Builder|static
- * @static
- */
- public static function cacheDriver($cacheDriver){
- return \Illuminate\Database\Query\Builder::cacheDriver($cacheDriver);
- }
-
- /**
- * Execute the query as a fresh "select" statement.
- *
- * @param array $columns
- * @return array|static[]
- * @static
- */
- public static function getFresh($columns = array()){
- return \Illuminate\Database\Query\Builder::getFresh($columns);
- }
-
- /**
- * Execute the query as a cached "select" statement.
- *
- * @param array $columns
- * @return array
- * @static
- */
- public static function getCached($columns = array()){
- return \Illuminate\Database\Query\Builder::getCached($columns);
- }
-
- /**
- * Get a unique cache key for the complete query.
- *
- * @return string
- * @static
- */
- public static function getCacheKey(){
- return \Illuminate\Database\Query\Builder::getCacheKey();
- }
-
- /**
- * Generate the unique cache key for the query.
- *
- * @return string
- * @static
- */
- public static function generateCacheKey(){
- return \Illuminate\Database\Query\Builder::generateCacheKey();
- }
-
- /**
- * Concatenate values of a given column as a string.
- *
- * @param string $column
- * @param string $glue
- * @return string
- * @static
- */
- public static function implode($column, $glue = null){
- return \Illuminate\Database\Query\Builder::implode($column, $glue);
- }
-
- /**
- * Build a paginator instance from a raw result array.
- *
- * @param \Illuminate\Pagination\Environment $paginator
- * @param array $results
- * @param int $perPage
- * @return \Illuminate\Pagination\Paginator
- * @static
- */
- public static function buildRawPaginator($paginator, $results, $perPage){
- return \Illuminate\Database\Query\Builder::buildRawPaginator($paginator, $results, $perPage);
- }
-
- /**
- * Get the count of the total records for pagination.
- *
- * @return int
- * @static
- */
- public static function getPaginationCount(){
- return \Illuminate\Database\Query\Builder::getPaginationCount();
- }
-
- /**
- * Determine if any rows exist for the current query.
- *
- * @return bool
- * @static
- */
- public static function exists(){
- return \Illuminate\Database\Query\Builder::exists();
- }
-
- /**
- * Retrieve the "count" result of the query.
- *
- * @param string $column
- * @return int
- * @static
- */
- public static function count($column = '*'){
- return \Illuminate\Database\Query\Builder::count($column);
- }
-
- /**
- * Retrieve the minimum value of a given column.
- *
- * @param string $column
- * @return mixed
- * @static
- */
- public static function min($column){
- return \Illuminate\Database\Query\Builder::min($column);
- }
-
- /**
- * Retrieve the maximum value of a given column.
- *
- * @param string $column
- * @return mixed
- * @static
- */
- public static function max($column){
- return \Illuminate\Database\Query\Builder::max($column);
- }
-
- /**
- * Retrieve the sum of the values of a given column.
- *
- * @param string $column
- * @return mixed
- * @static
- */
- public static function sum($column){
- return \Illuminate\Database\Query\Builder::sum($column);
- }
-
- /**
- * Retrieve the average of the values of a given column.
- *
- * @param string $column
- * @return mixed
- * @static
- */
- public static function avg($column){
- return \Illuminate\Database\Query\Builder::avg($column);
- }
-
- /**
- * Execute an aggregate function on the database.
- *
- * @param string $function
- * @param array $columns
- * @return mixed
- * @static
- */
- public static function aggregate($function, $columns = array()){
- return \Illuminate\Database\Query\Builder::aggregate($function, $columns);
- }
-
- /**
- * Insert a new record into the database.
- *
- * @param array $values
- * @return bool
- * @static
- */
- public static function insert($values){
- return \Illuminate\Database\Query\Builder::insert($values);
- }
-
- /**
- * Insert a new record and get the value of the primary key.
- *
- * @param array $values
- * @param string $sequence
- * @return int
- * @static
- */
- public static function insertGetId($values, $sequence = null){
- return \Illuminate\Database\Query\Builder::insertGetId($values, $sequence);
- }
-
- /**
- * Run a truncate statement on the table.
- *
- * @return void
- * @static
- */
- public static function truncate(){
- \Illuminate\Database\Query\Builder::truncate();
- }
-
- /**
- * Merge an array of where clauses and bindings.
- *
- * @param array $wheres
- * @param array $bindings
- * @return void
- * @static
- */
- public static function mergeWheres($wheres, $bindings){
- \Illuminate\Database\Query\Builder::mergeWheres($wheres, $bindings);
- }
-
- /**
- * Create a raw database expression.
- *
- * @param mixed $value
- * @return \Illuminate\Database\Query\Expression
- * @static
- */
- public static function raw($value){
- return \Illuminate\Database\Query\Builder::raw($value);
- }
-
- /**
- * Get the current query value bindings.
- *
- * @return array
- * @static
- */
- public static function getBindings(){
- return \Illuminate\Database\Query\Builder::getBindings();
- }
-
- /**
- * Set the bindings on the query builder.
- *
- * @param array $bindings
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function setBindings($bindings){
- return \Illuminate\Database\Query\Builder::setBindings($bindings);
- }
-
- /**
- * Add a binding to the query.
- *
- * @param mixed $value
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function addBinding($value){
- return \Illuminate\Database\Query\Builder::addBinding($value);
- }
-
- /**
- * Merge an array of bindings into our bindings.
- *
- * @param \Illuminate\Database\Query\Builder $query
- * @return \Illuminate\Database\Query\Builder
- * @static
- */
- public static function mergeBindings($query){
- return \Illuminate\Database\Query\Builder::mergeBindings($query);
- }
-
- /**
- * Get the database query processor instance.
- *
- * @return \Illuminate\Database\Query\Processors\Processor
- * @static
- */
- public static function getProcessor(){
- return \Illuminate\Database\Query\Builder::getProcessor();
- }
-
- /**
- * Get the query grammar instance.
- *
- * @return \Illuminate\Database\Grammar
- * @static
- */
- public static function getGrammar(){
- return \Illuminate\Database\Query\Builder::getGrammar();
- }
-
- }
-
-
- class Event extends \Illuminate\Support\Facades\Event{
-
- /**
- * Register an event listener with the dispatcher.
- *
- * @param string|array $event
- * @param mixed $listener
- * @param int $priority
- * @return void
- * @static
- */
- public static function listen($events, $listener, $priority = 0){
- \Illuminate\Events\Dispatcher::listen($events, $listener, $priority);
- }
-
- /**
- * Determine if a given event has listeners.
- *
- * @param string $eventName
- * @return bool
- * @static
- */
- public static function hasListeners($eventName){
- return \Illuminate\Events\Dispatcher::hasListeners($eventName);
- }
-
- /**
- * Register a queued event and payload.
- *
- * @param string $event
- * @param array $payload
- * @return void
- * @static
- */
- public static function queue($event, $payload = array()){
- \Illuminate\Events\Dispatcher::queue($event, $payload);
- }
-
- /**
- * Register an event subscriber with the dispatcher.
- *
- * @param string $subscriber
- * @return void
- * @static
- */
- public static function subscribe($subscriber){
- \Illuminate\Events\Dispatcher::subscribe($subscriber);
- }
-
- /**
- * Fire an event until the first non-null response is returned.
- *
- * @param string $event
- * @param array $payload
- * @return mixed
- * @static
- */
- public static function until($event, $payload = array()){
- return \Illuminate\Events\Dispatcher::until($event, $payload);
- }
-
- /**
- * Flush a set of queued events.
- *
- * @param string $event
- * @return void
- * @static
- */
- public static function flush($event){
- \Illuminate\Events\Dispatcher::flush($event);
- }
-
- /**
- * Get the event that is currently firing.
- *
- * @return string
- * @static
- */
- public static function firing(){
- return \Illuminate\Events\Dispatcher::firing();
- }
-
- /**
- * Fire an event and call the listeners.
- *
- * @param string $event
- * @param mixed $payload
- * @param bool $halt
- * @return array|null
- * @static
- */
- public static function fire($event, $payload = array(), $halt = false){
- return \Illuminate\Events\Dispatcher::fire($event, $payload, $halt);
- }
-
- /**
- * Get all of the listeners for a given event name.
- *
- * @param string $eventName
- * @return array
- * @static
- */
- public static function getListeners($eventName){
- return \Illuminate\Events\Dispatcher::getListeners($eventName);
- }
-
- /**
- * Register an event listener with the dispatcher.
- *
- * @param mixed $listener
- * @return mixed
- * @static
- */
- public static function makeListener($listener){
- return \Illuminate\Events\Dispatcher::makeListener($listener);
- }
-
- /**
- * Create a class based listener using the IoC container.
- *
- * @param mixed $listener
- * @return \Closure
- * @static
- */
- public static function createClassListener($listener){
- return \Illuminate\Events\Dispatcher::createClassListener($listener);
- }
-
- /**
- * Remove a set of listeners from the dispatcher.
- *
- * @param string $event
- * @return void
- * @static
- */
- public static function forget($event){
- \Illuminate\Events\Dispatcher::forget($event);
- }
-
- }
-
-
- class File extends \Illuminate\Support\Facades\File{
-
- /**
- * Determine if a file exists.
- *
- * @param string $path
- * @return bool
- * @static
- */
- public static function exists($path){
- return \Illuminate\Filesystem\Filesystem::exists($path);
- }
-
- /**
- * Get the contents of a file.
- *
- * @param string $path
- * @return string
- * @throws FileNotFoundException
- * @static
- */
- public static function get($path){
- return \Illuminate\Filesystem\Filesystem::get($path);
- }
-
- /**
- * Get the returned value of a file.
- *
- * @param string $path
- * @return mixed
- * @throws FileNotFoundException
- * @static
- */
- public static function getRequire($path){
- return \Illuminate\Filesystem\Filesystem::getRequire($path);
- }
-
- /**
- * Require the given file once.
- *
- * @param string $file
- * @return mixed
- * @static
- */
- public static function requireOnce($file){
- return \Illuminate\Filesystem\Filesystem::requireOnce($file);
- }
-
- /**
- * Write the contents of a file.
- *
- * @param string $path
- * @param string $contents
- * @return int
- * @static
- */
- public static function put($path, $contents){
- return \Illuminate\Filesystem\Filesystem::put($path, $contents);
- }
-
- /**
- * Prepend to a file.
- *
- * @param string $path
- * @param string $data
- * @return int
- * @static
- */
- public static function prepend($path, $data){
- return \Illuminate\Filesystem\Filesystem::prepend($path, $data);
- }
-
- /**
- * Append to a file.
- *
- * @param string $path
- * @param string $data
- * @return int
- * @static
- */
- public static function append($path, $data){
- return \Illuminate\Filesystem\Filesystem::append($path, $data);
- }
-
- /**
- * Delete the file at a given path.
- *
- * @param string|array $paths
- * @return bool
- * @static
- */
- public static function delete($paths){
- return \Illuminate\Filesystem\Filesystem::delete($paths);
- }
-
- /**
- * Move a file to a new location.
- *
- * @param string $path
- * @param string $target
- * @return bool
- * @static
- */
- public static function move($path, $target){
- return \Illuminate\Filesystem\Filesystem::move($path, $target);
- }
-
- /**
- * Copy a file to a new location.
- *
- * @param string $path
- * @param string $target
- * @return bool
- * @static
- */
- public static function copy($path, $target){
- return \Illuminate\Filesystem\Filesystem::copy($path, $target);
- }
-
- /**
- * Extract the file extension from a file path.
- *
- * @param string $path
- * @return string
- * @static
- */
- public static function extension($path){
- return \Illuminate\Filesystem\Filesystem::extension($path);
- }
-
- /**
- * Get the file type of a given file.
- *
- * @param string $path
- * @return string
- * @static
- */
- public static function type($path){
- return \Illuminate\Filesystem\Filesystem::type($path);
- }
-
- /**
- * Get the file size of a given file.
- *
- * @param string $path
- * @return int
- * @static
- */
- public static function size($path){
- return \Illuminate\Filesystem\Filesystem::size($path);
- }
-
- /**
- * Get the file's last modification time.
- *
- * @param string $path
- * @return int
- * @static
- */
- public static function lastModified($path){
- return \Illuminate\Filesystem\Filesystem::lastModified($path);
- }
-
- /**
- * Determine if the given path is a directory.
- *
- * @param string $directory
- * @return bool
- * @static
- */
- public static function isDirectory($directory){
- return \Illuminate\Filesystem\Filesystem::isDirectory($directory);
- }
-
- /**
- * Determine if the given path is writable.
- *
- * @param string $path
- * @return bool
- * @static
- */
- public static function isWritable($path){
- return \Illuminate\Filesystem\Filesystem::isWritable($path);
- }
-
- /**
- * Determine if the given path is a file.
- *
- * @param string $file
- * @return bool
- * @static
- */
- public static function isFile($file){
- return \Illuminate\Filesystem\Filesystem::isFile($file);
- }
-
- /**
- * Find path names matching a given pattern.
- *
- * @param string $pattern
- * @param int $flags
- * @return array
- * @static
- */
- public static function glob($pattern, $flags = 0){
- return \Illuminate\Filesystem\Filesystem::glob($pattern, $flags);
- }
-
- /**
- * Get an array of all files in a directory.
- *
- * @param string $directory
- * @return array
- * @static
- */
- public static function files($directory){
- return \Illuminate\Filesystem\Filesystem::files($directory);
- }
-
- /**
- * Get all of the files from the given directory (recursive).
- *
- * @param string $directory
- * @return array
- * @static
- */
- public static function allFiles($directory){
- return \Illuminate\Filesystem\Filesystem::allFiles($directory);
- }
-
- /**
- * Get all of the directories within a given directory.
- *
- * @param string $directory
- * @return array
- * @static
- */
- public static function directories($directory){
- return \Illuminate\Filesystem\Filesystem::directories($directory);
- }
-
- /**
- * Create a directory.
- *
- * @param string $path
- * @param int $mode
- * @param bool $recursive
- * @param bool $force
- * @return bool
- * @static
- */
- public static function makeDirectory($path, $mode = 511, $recursive = false, $force = false){
- return \Illuminate\Filesystem\Filesystem::makeDirectory($path, $mode, $recursive, $force);
- }
-
- /**
- * Copy a directory from one location to another.
- *
- * @param string $directory
- * @param string $destination
- * @param int $options
- * @return bool
- * @static
- */
- public static function copyDirectory($directory, $destination, $options = null){
- return \Illuminate\Filesystem\Filesystem::copyDirectory($directory, $destination, $options);
- }
-
- /**
- * Recursively delete a directory.
- *
- * The directory itself may be optionally preserved.
- *
- * @param string $directory
- * @param bool $preserve
- * @return bool
- * @static
- */
- public static function deleteDirectory($directory, $preserve = false){
- return \Illuminate\Filesystem\Filesystem::deleteDirectory($directory, $preserve);
- }
-
- /**
- * Empty the specified directory of all files and folders.
- *
- * @param string $directory
- * @return bool
- * @static
- */
- public static function cleanDirectory($directory){
- return \Illuminate\Filesystem\Filesystem::cleanDirectory($directory);
- }
-
- }
-
-
- class Hash extends \Illuminate\Support\Facades\Hash{
-
- /**
- * Hash the given value.
- *
- * @param string $value
- * @param array $options
- * @return string
- * @throws \RuntimeException
- * @static
- */
- public static function make($value, $options = array()){
- return \Illuminate\Hashing\BcryptHasher::make($value, $options);
- }
-
- /**
- * Check the given plain value against a hash.
- *
- * @param string $value
- * @param string $hashedValue
- * @param array $options
- * @return bool
- * @static
- */
- public static function check($value, $hashedValue, $options = array()){
- return \Illuminate\Hashing\BcryptHasher::check($value, $hashedValue, $options);
- }
-
- /**
- * Check if the given hash has been hashed using the given options.
- *
- * @param string $hashedValue
- * @param array $options
- * @return bool
- * @static
- */
- public static function needsRehash($hashedValue, $options = array()){
- return \Illuminate\Hashing\BcryptHasher::needsRehash($hashedValue, $options);
- }
-
- }
-
-
- class HTML extends \Illuminate\Support\Facades\HTML{
-
- /**
- * Register a custom HTML macro.
- *
- * @param string $name
- * @param callable $macro
- * @return void
- * @static
- */
- public static function macro($name, $macro){
- \Illuminate\Html\HtmlBuilder::macro($name, $macro);
- }
-
- /**
- * Convert an HTML string to entities.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function entities($value){
- return \Illuminate\Html\HtmlBuilder::entities($value);
- }
-
- /**
- * Convert entities to HTML characters.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function decode($value){
- return \Illuminate\Html\HtmlBuilder::decode($value);
- }
-
- /**
- * Generate a link to a JavaScript file.
- *
- * @param string $url
- * @param array $attributes
- * @param bool $secure
- * @return string
- * @static
- */
- public static function script($url, $attributes = array(), $secure = null){
- return \Illuminate\Html\HtmlBuilder::script($url, $attributes, $secure);
- }
-
- /**
- * Generate a link to a CSS file.
- *
- * @param string $url
- * @param array $attributes
- * @param bool $secure
- * @return string
- * @static
- */
- public static function style($url, $attributes = array(), $secure = null){
- return \Illuminate\Html\HtmlBuilder::style($url, $attributes, $secure);
- }
-
- /**
- * Generate an HTML image element.
- *
- * @param string $url
- * @param string $alt
- * @param array $attributes
- * @param bool $secure
- * @return string
- * @static
- */
- public static function image($url, $alt = null, $attributes = array(), $secure = null){
- return \Illuminate\Html\HtmlBuilder::image($url, $alt, $attributes, $secure);
- }
-
- /**
- * Generate a HTML link.
- *
- * @param string $url
- * @param string $title
- * @param array $attributes
- * @param bool $secure
- * @return string
- * @static
- */
- public static function link($url, $title = null, $attributes = array(), $secure = null){
- return \Illuminate\Html\HtmlBuilder::link($url, $title, $attributes, $secure);
- }
-
- /**
- * Generate a HTTPS HTML link.
- *
- * @param string $url
- * @param string $title
- * @param array $attributes
- * @return string
- * @static
- */
- public static function secureLink($url, $title = null, $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::secureLink($url, $title, $attributes);
- }
-
- /**
- * Generate a HTML link to an asset.
- *
- * @param string $url
- * @param string $title
- * @param array $attributes
- * @param bool $secure
- * @return string
- * @static
- */
- public static function linkAsset($url, $title = null, $attributes = array(), $secure = null){
- return \Illuminate\Html\HtmlBuilder::linkAsset($url, $title, $attributes, $secure);
- }
-
- /**
- * Generate a HTTPS HTML link to an asset.
- *
- * @param string $url
- * @param string $title
- * @param array $attributes
- * @return string
- * @static
- */
- public static function linkSecureAsset($url, $title = null, $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::linkSecureAsset($url, $title, $attributes);
- }
-
- /**
- * Generate a HTML link to a named route.
- *
- * @param string $name
- * @param string $title
- * @param array $parameters
- * @param array $attributes
- * @return string
- * @static
- */
- public static function linkRoute($name, $title = null, $parameters = array(), $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::linkRoute($name, $title, $parameters, $attributes);
- }
-
- /**
- * Generate a HTML link to a controller action.
- *
- * @param string $action
- * @param string $title
- * @param array $parameters
- * @param array $attributes
- * @return string
- * @static
- */
- public static function linkAction($action, $title = null, $parameters = array(), $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::linkAction($action, $title, $parameters, $attributes);
- }
-
- /**
- * Generate a HTML link to an email address.
- *
- * @param string $email
- * @param string $title
- * @param array $attributes
- * @return string
- * @static
- */
- public static function mailto($email, $title = null, $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::mailto($email, $title, $attributes);
- }
-
- /**
- * Obfuscate an e-mail address to prevent spam-bots from sniffing it.
- *
- * @param string $email
- * @return string
- * @static
- */
- public static function email($email){
- return \Illuminate\Html\HtmlBuilder::email($email);
- }
-
- /**
- * Generate an ordered list of items.
- *
- * @param array $list
- * @param array $attributes
- * @return string
- * @static
- */
- public static function ol($list, $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::ol($list, $attributes);
- }
-
- /**
- * Generate an un-ordered list of items.
- *
- * @param array $list
- * @param array $attributes
- * @return string
- * @static
- */
- public static function ul($list, $attributes = array()){
- return \Illuminate\Html\HtmlBuilder::ul($list, $attributes);
- }
-
- /**
- * Build an HTML attribute string from an array.
- *
- * @param array $attributes
- * @return string
- * @static
- */
- public static function attributes($attributes){
- return \Illuminate\Html\HtmlBuilder::attributes($attributes);
- }
-
- /**
- * Obfuscate a string to prevent spam-bots from sniffing it.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function obfuscate($value){
- return \Illuminate\Html\HtmlBuilder::obfuscate($value);
- }
-
- }
-
-
- class Input extends \Illuminate\Support\Facades\Input{
-
- /**
- * Return the Request instance.
- *
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function instance(){
- return \Illuminate\Http\Request::instance();
- }
-
- /**
- * Get the request method.
- *
- * @return string
- * @static
- */
- public static function method(){
- return \Illuminate\Http\Request::method();
- }
-
- /**
- * Get the root URL for the application.
- *
- * @return string
- * @static
- */
- public static function root(){
- return \Illuminate\Http\Request::root();
- }
-
- /**
- * Get the URL (no query string) for the request.
- *
- * @return string
- * @static
- */
- public static function url(){
- return \Illuminate\Http\Request::url();
- }
-
- /**
- * Get the full URL for the request.
- *
- * @return string
- * @static
- */
- public static function fullUrl(){
- return \Illuminate\Http\Request::fullUrl();
- }
-
- /**
- * Get the current path info for the request.
- *
- * @return string
- * @static
- */
- public static function path(){
- return \Illuminate\Http\Request::path();
- }
-
- /**
- * Get the current encoded path info for the request.
- *
- * @return string
- * @static
- */
- public static function decodedPath(){
- return \Illuminate\Http\Request::decodedPath();
- }
-
- /**
- * Get a segment from the URI (1 based index).
- *
- * @param string $index
- * @param mixed $default
- * @return string
- * @static
- */
- public static function segment($index, $default = null){
- return \Illuminate\Http\Request::segment($index, $default);
- }
-
- /**
- * Get all of the segments for the request path.
- *
- * @return array
- * @static
- */
- public static function segments(){
- return \Illuminate\Http\Request::segments();
- }
-
- /**
- * Determine if the current request URI matches a pattern.
- *
- * @param mixed string
- * @return bool
- * @static
- */
- public static function is(){
- return \Illuminate\Http\Request::is();
- }
-
- /**
- * Determine if the request is the result of an AJAX call.
- *
- * @return bool
- * @static
- */
- public static function ajax(){
- return \Illuminate\Http\Request::ajax();
- }
-
- /**
- * Determine if the request is over HTTPS.
- *
- * @return bool
- * @static
- */
- public static function secure(){
- return \Illuminate\Http\Request::secure();
- }
-
- /**
- * Determine if the request contains a given input item.
- *
- * @param string|array $key
- * @return bool
- * @static
- */
- public static function has($key){
- return \Illuminate\Http\Request::has($key);
- }
-
- /**
- * Get all of the input and files for the request.
- *
- * @return array
- * @static
- */
- public static function all(){
- return \Illuminate\Http\Request::all();
- }
-
- /**
- * Retrieve an input item from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function input($key = null, $default = null){
- return \Illuminate\Http\Request::input($key, $default);
- }
-
- /**
- * Get a subset of the items from the input data.
- *
- * @param array $keys
- * @return array
- * @static
- */
- public static function only($keys){
- return \Illuminate\Http\Request::only($keys);
- }
-
- /**
- * Get all of the input except for a specified array of items.
- *
- * @param array $keys
- * @return array
- * @static
- */
- public static function except($keys){
- return \Illuminate\Http\Request::except($keys);
- }
-
- /**
- * Retrieve a query string item from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function query($key = null, $default = null){
- return \Illuminate\Http\Request::query($key, $default);
- }
-
- /**
- * Determine if a cookie is set on the request.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasCookie($key){
- return \Illuminate\Http\Request::hasCookie($key);
- }
-
- /**
- * Retrieve a cookie from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function cookie($key = null, $default = null){
- return \Illuminate\Http\Request::cookie($key, $default);
- }
-
- /**
- * Retrieve a file from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return \Symfony\Component\HttpFoundation\File\UploadedFile|array
- * @static
- */
- public static function file($key = null, $default = null){
- return \Illuminate\Http\Request::file($key, $default);
- }
-
- /**
- * Determine if the uploaded data contains a file.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasFile($key){
- return \Illuminate\Http\Request::hasFile($key);
- }
-
- /**
- * Retrieve a header from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function header($key = null, $default = null){
- return \Illuminate\Http\Request::header($key, $default);
- }
-
- /**
- * Retrieve a server variable from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function server($key = null, $default = null){
- return \Illuminate\Http\Request::server($key, $default);
- }
-
- /**
- * Retrieve an old input item.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function old($key = null, $default = null){
- return \Illuminate\Http\Request::old($key, $default);
- }
-
- /**
- * Flash the input for the current request to the session.
- *
- * @param string $filter
- * @param array $keys
- * @return void
- * @static
- */
- public static function flash($filter = null, $keys = array()){
- \Illuminate\Http\Request::flash($filter, $keys);
- }
-
- /**
- * Flash only some of the input to the session.
- *
- * @param mixed string
- * @return void
- * @static
- */
- public static function flashOnly($keys){
- \Illuminate\Http\Request::flashOnly($keys);
- }
-
- /**
- * Flash only some of the input to the session.
- *
- * @param mixed string
- * @return void
- * @static
- */
- public static function flashExcept($keys){
- \Illuminate\Http\Request::flashExcept($keys);
- }
-
- /**
- * Flush all of the old input from the session.
- *
- * @return void
- * @static
- */
- public static function flush(){
- \Illuminate\Http\Request::flush();
- }
-
- /**
- * Merge new input into the current request's input array.
- *
- * @param array $input
- * @return void
- * @static
- */
- public static function merge($input){
- \Illuminate\Http\Request::merge($input);
- }
-
- /**
- * Replace the input for the current request.
- *
- * @param array $input
- * @return void
- * @static
- */
- public static function replace($input){
- \Illuminate\Http\Request::replace($input);
- }
-
- /**
- * Get the JSON payload for the request.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function json($key = null, $default = null){
- return \Illuminate\Http\Request::json($key, $default);
- }
-
- /**
- * Determine if the request is sending JSON.
- *
- * @return bool
- * @static
- */
- public static function isJson(){
- return \Illuminate\Http\Request::isJson();
- }
-
- /**
- * Determine if the current request is asking for JSON in return.
- *
- * @return bool
- * @static
- */
- public static function wantsJson(){
- return \Illuminate\Http\Request::wantsJson();
- }
-
- /**
- * Get the data format expected in the response.
- *
- * @return string
- * @static
- */
- public static function format($default = 'html'){
- return \Illuminate\Http\Request::format($default);
- }
-
- /**
- * Create an Illuminate request from a Symfony instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function createFromBase($request){
- return \Illuminate\Http\Request::createFromBase($request);
- }
-
- /**
- * Get the session associated with the request.
- *
- * @return \Illuminate\Session\Store
- * @throws \RuntimeException
- * @static
- */
- public static function session(){
- return \Illuminate\Http\Request::session();
- }
-
- /**
- * Sets the parameters for this request.
- *
- * This method also re-initializes all properties.
- *
- * @param array $query The GET parameters
- * @param array $request The POST parameters
- * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
- * @param array $cookies The COOKIE parameters
- * @param array $files The FILES parameters
- * @param array $server The SERVER parameters
- * @param string $content The raw body data
- * @api
- * @static
- */
- public static function initialize($query = array(), $request = array(), $attributes = array(), $cookies = array(), $files = array(), $server = array(), $content = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content);
- }
-
- /**
- * Creates a new request with values from PHP's super globals.
- *
- * @return \Symfony\Component\HttpFoundation\Request A new request
- * @api
- * @static
- */
- public static function createFromGlobals(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::createFromGlobals();
- }
-
- /**
- * Creates a Request based on a given URI and configuration.
- *
- * The information contained in the URI always take precedence
- * over the other information (server and parameters).
- *
- * @param string $uri The URI
- * @param string $method The HTTP method
- * @param array $parameters The query (GET) or request (POST) parameters
- * @param array $cookies The request cookies ($_COOKIE)
- * @param array $files The request files ($_FILES)
- * @param array $server The server parameters ($_SERVER)
- * @param string $content The raw body data
- * @return \Symfony\Component\HttpFoundation\Request A Request instance
- * @api
- * @static
- */
- public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content);
- }
-
- /**
- * Sets a callable able to create a Request instance.
- *
- * This is mainly useful when you need to override the Request class
- * to keep BC with an existing system. It should not be used for any
- * other purpose.
- *
- * @param callable|null $callable A PHP callable
- * @static
- */
- public static function setFactory($callable){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setFactory($callable);
- }
-
- /**
- * Clones a request and overrides some of its parameters.
- *
- * @param array $query The GET parameters
- * @param array $request The POST parameters
- * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
- * @param array $cookies The COOKIE parameters
- * @param array $files The FILES parameters
- * @param array $server The SERVER parameters
- * @return \Symfony\Component\HttpFoundation\Request The duplicated request
- * @api
- * @static
- */
- public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server);
- }
-
- /**
- * Overrides the PHP global variables according to this request instance.
- *
- * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE.
- * $_FILES is never override, see rfc1867
- *
- * @api
- * @static
- */
- public static function overrideGlobals(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::overrideGlobals();
- }
-
- /**
- * Sets a list of trusted proxies.
- *
- * You should only list the reverse proxies that you manage directly.
- *
- * @param array $proxies A list of trusted proxies
- * @api
- * @static
- */
- public static function setTrustedProxies($proxies){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedProxies($proxies);
- }
-
- /**
- * Gets the list of trusted proxies.
- *
- * @return array An array of trusted proxies.
- * @static
- */
- public static function getTrustedProxies(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedProxies();
- }
-
- /**
- * Sets a list of trusted host patterns.
- *
- * You should only list the hosts you manage using regexs.
- *
- * @param array $hostPatterns A list of trusted host patterns
- * @static
- */
- public static function setTrustedHosts($hostPatterns){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedHosts($hostPatterns);
- }
-
- /**
- * Gets the list of trusted host patterns.
- *
- * @return array An array of trusted host patterns.
- * @static
- */
- public static function getTrustedHosts(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedHosts();
- }
-
- /**
- * Sets the name for trusted headers.
- *
- * The following header keys are supported:
- *
- * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp())
- * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getClientHost())
- * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getClientPort())
- * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure())
- *
- * Setting an empty value allows to disable the trusted header for the given key.
- *
- * @param string $key The header key
- * @param string $value The header name
- * @throws \InvalidArgumentException
- * @static
- */
- public static function setTrustedHeaderName($key, $value){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedHeaderName($key, $value);
- }
-
- /**
- * Gets the trusted proxy header name.
- *
- * @param string $key The header key
- * @return string The header name
- * @throws \InvalidArgumentException
- * @static
- */
- public static function getTrustedHeaderName($key){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedHeaderName($key);
- }
-
- /**
- * Normalizes a query string.
- *
- * It builds a normalized query string, where keys/value pairs are alphabetized,
- * have consistent escaping and unneeded delimiters are removed.
- *
- * @param string $qs Query string
- * @return string A normalized query string for the Request
- * @static
- */
- public static function normalizeQueryString($qs){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::normalizeQueryString($qs);
- }
-
- /**
- * Enables support for the _method request parameter to determine the intended HTTP method.
- *
- * Be warned that enabling this feature might lead to CSRF issues in your code.
- * Check that you are using CSRF tokens when required.
- *
- * The HTTP method can only be overridden when the real HTTP method is POST.
- *
- * @static
- */
- public static function enableHttpMethodParameterOverride(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::enableHttpMethodParameterOverride();
- }
-
- /**
- * Checks whether support for the _method request parameter is enabled.
- *
- * @return bool True when the _method request parameter is enabled, false otherwise
- * @static
- */
- public static function getHttpMethodParameterOverride(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHttpMethodParameterOverride();
- }
-
- /**
- * Gets a "parameter" value.
- *
- * This method is mainly useful for libraries that want to provide some flexibility.
- *
- * Order of precedence: GET, PATH, POST
- *
- * Avoid using this method in controllers:
- *
- * * slow
- * * prefer to get from a "named" source
- *
- * It is better to explicitly get request parameters from the appropriate
- * public property instead (query, attributes, request).
- *
- * @param string $key the key
- * @param mixed $default the default value
- * @param bool $deep is parameter deep in multidimensional array
- * @return mixed
- * @static
- */
- public static function get($key, $default = null, $deep = false){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::get($key, $default, $deep);
- }
-
- /**
- * Gets the Session.
- *
- * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session
- * @api
- * @static
- */
- public static function getSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getSession();
- }
-
- /**
- * Whether the request contains a Session which was started in one of the
- * previous requests.
- *
- * @return bool
- * @api
- * @static
- */
- public static function hasPreviousSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::hasPreviousSession();
- }
-
- /**
- * Whether the request contains a Session object.
- *
- * This method does not give any information about the state of the session object,
- * like whether the session is started or not. It is just a way to check if this Request
- * is associated with a Session instance.
- *
- * @return bool true when the Request contains a Session object, false otherwise
- * @api
- * @static
- */
- public static function hasSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::hasSession();
- }
-
- /**
- * Sets the Session.
- *
- * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session
- * @api
- * @static
- */
- public static function setSession($session){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setSession($session);
- }
-
- /**
- * Returns the client IP addresses.
- *
- * In the returned array the most trusted IP address is first, and the
- * least trusted one last. The "real" client IP address is the last one,
- * but this is also the least trusted one. Trusted proxies are stripped.
- *
- * Use this method carefully; you should use getClientIp() instead.
- *
- * @return array The client IP addresses
- * @see getClientIp()
- * @static
- */
- public static function getClientIps(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getClientIps();
- }
-
- /**
- * Returns the client IP address.
- *
- * This method can read the client IP address from the "X-Forwarded-For" header
- * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For"
- * header value is a comma+space separated list of IP addresses, the left-most
- * being the original client, and each successive proxy that passed the request
- * adding the IP address where it received the request from.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-For",
- * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with
- * the "client-ip" key.
- *
- * @return string The client IP address
- * @see getClientIps()
- * @see http://en.wikipedia.org/wiki/X-Forwarded-For
- * @api
- * @static
- */
- public static function getClientIp(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getClientIp();
- }
-
- /**
- * Returns current script name.
- *
- * @return string
- * @api
- * @static
- */
- public static function getScriptName(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getScriptName();
- }
-
- /**
- * Returns the path being requested relative to the executed script.
- *
- * The path info always starts with a /.
- *
- * Suppose this request is instantiated from /mysite on localhost:
- *
- * * http://localhost/mysite returns an empty string
- * * http://localhost/mysite/about returns '/about'
- * * http://localhost/mysite/enco%20ded returns '/enco%20ded'
- * * http://localhost/mysite/about?var=1 returns '/about'
- *
- * @return string The raw path (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getPathInfo(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPathInfo();
- }
-
- /**
- * Returns the root path from which this request is executed.
- *
- * Suppose that an index.php file instantiates this request object:
- *
- * * http://localhost/index.php returns an empty string
- * * http://localhost/index.php/page returns an empty string
- * * http://localhost/web/index.php returns '/web'
- * * http://localhost/we%20b/index.php returns '/we%20b'
- *
- * @return string The raw path (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getBasePath(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getBasePath();
- }
-
- /**
- * Returns the root URL from which this request is executed.
- *
- * The base URL never ends with a /.
- *
- * This is similar to getBasePath(), except that it also includes the
- * script filename (e.g. index.php) if one exists.
- *
- * @return string The raw URL (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getBaseUrl(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getBaseUrl();
- }
-
- /**
- * Gets the request's scheme.
- *
- * @return string
- * @api
- * @static
- */
- public static function getScheme(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getScheme();
- }
-
- /**
- * Returns the port on which the request is made.
- *
- * This method can read the client port from the "X-Forwarded-Port" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Port" header must contain the client port.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Port",
- * configure it via "setTrustedHeaderName()" with the "client-port" key.
- *
- * @return string
- * @api
- * @static
- */
- public static function getPort(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPort();
- }
-
- /**
- * Returns the user.
- *
- * @return string|null
- * @static
- */
- public static function getUser(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUser();
- }
-
- /**
- * Returns the password.
- *
- * @return string|null
- * @static
- */
- public static function getPassword(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPassword();
- }
-
- /**
- * Gets the user info.
- *
- * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server
- * @static
- */
- public static function getUserInfo(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUserInfo();
- }
-
- /**
- * Returns the HTTP host being requested.
- *
- * The port name will be appended to the host if it's non-standard.
- *
- * @return string
- * @api
- * @static
- */
- public static function getHttpHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHttpHost();
- }
-
- /**
- * Returns the requested URI (path and query string).
- *
- * @return string The raw URI (i.e. not URI decoded)
- * @api
- * @static
- */
- public static function getRequestUri(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRequestUri();
- }
-
- /**
- * Gets the scheme and HTTP host.
- *
- * If the URL was called with basic authentication, the user
- * and the password are not added to the generated string.
- *
- * @return string The scheme and HTTP host
- * @static
- */
- public static function getSchemeAndHttpHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getSchemeAndHttpHost();
- }
-
- /**
- * Generates a normalized URI (URL) for the Request.
- *
- * @return string A normalized URI (URL) for the Request
- * @see getQueryString()
- * @api
- * @static
- */
- public static function getUri(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUri();
- }
-
- /**
- * Generates a normalized URI for the given path.
- *
- * @param string $path A path to use instead of the current one
- * @return string The normalized URI for the path
- * @api
- * @static
- */
- public static function getUriForPath($path){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUriForPath($path);
- }
-
- /**
- * Generates the normalized query string for the Request.
- *
- * It builds a normalized query string, where keys/value pairs are alphabetized
- * and have consistent escaping.
- *
- * @return string|null A normalized query string for the Request
- * @api
- * @static
- */
- public static function getQueryString(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getQueryString();
- }
-
- /**
- * Checks whether the request is secure or not.
- *
- * This method can read the client port from the "X-Forwarded-Proto" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http".
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Proto"
- * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with
- * the "client-proto" key.
- *
- * @return bool
- * @api
- * @static
- */
- public static function isSecure(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isSecure();
- }
-
- /**
- * Returns the host name.
- *
- * This method can read the client port from the "X-Forwarded-Host" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Host" header must contain the client host name.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Host",
- * configure it via "setTrustedHeaderName()" with the "client-host" key.
- *
- * @return string
- * @throws \UnexpectedValueException when the host name is invalid
- * @api
- * @static
- */
- public static function getHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHost();
- }
-
- /**
- * Sets the request method.
- *
- * @param string $method
- * @api
- * @static
- */
- public static function setMethod($method){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setMethod($method);
- }
-
- /**
- * Gets the request "intended" method.
- *
- * If the X-HTTP-Method-Override header is set, and if the method is a POST,
- * then it is used to determine the "real" intended HTTP method.
- *
- * The _method request parameter can also be used to determine the HTTP method,
- * but only if enableHttpMethodParameterOverride() has been called.
- *
- * The method is always an uppercased string.
- *
- * @return string The request method
- * @api
- * @see getRealMethod
- * @static
- */
- public static function getMethod(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getMethod();
- }
-
- /**
- * Gets the "real" request method.
- *
- * @return string The request method
- * @see getMethod
- * @static
- */
- public static function getRealMethod(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRealMethod();
- }
-
- /**
- * Gets the mime type associated with the format.
- *
- * @param string $format The format
- * @return string The associated mime type (null if not found)
- * @api
- * @static
- */
- public static function getMimeType($format){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getMimeType($format);
- }
-
- /**
- * Gets the format associated with the mime type.
- *
- * @param string $mimeType The associated mime type
- * @return string|null The format (null if not found)
- * @api
- * @static
- */
- public static function getFormat($mimeType){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getFormat($mimeType);
- }
-
- /**
- * Associates a format with mime types.
- *
- * @param string $format The format
- * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type)
- * @api
- * @static
- */
- public static function setFormat($format, $mimeTypes){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setFormat($format, $mimeTypes);
- }
-
- /**
- * Gets the request format.
- *
- * Here is the process to determine the format:
- *
- * * format defined by the user (with setRequestFormat())
- * * _format request parameter
- * * $default
- *
- * @param string $default The default format
- * @return string The request format
- * @api
- * @static
- */
- public static function getRequestFormat($default = 'html'){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRequestFormat($default);
- }
-
- /**
- * Sets the request format.
- *
- * @param string $format The request format.
- * @api
- * @static
- */
- public static function setRequestFormat($format){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setRequestFormat($format);
- }
-
- /**
- * Gets the format associated with the request.
- *
- * @return string|null The format (null if no content type is present)
- * @api
- * @static
- */
- public static function getContentType(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getContentType();
- }
-
- /**
- * Sets the default locale.
- *
- * @param string $locale
- * @api
- * @static
- */
- public static function setDefaultLocale($locale){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setDefaultLocale($locale);
- }
-
- /**
- * Get the default locale.
- *
- * @return string
- * @static
- */
- public static function getDefaultLocale(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getDefaultLocale();
- }
-
- /**
- * Sets the locale.
- *
- * @param string $locale
- * @api
- * @static
- */
- public static function setLocale($locale){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setLocale($locale);
- }
-
- /**
- * Get the locale.
- *
- * @return string
- * @static
- */
- public static function getLocale(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getLocale();
- }
-
- /**
- * Checks if the request method is of specified type.
- *
- * @param string $method Uppercase request method (GET, POST etc).
- * @return bool
- * @static
- */
- public static function isMethod($method){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isMethod($method);
- }
-
- /**
- * Checks whether the method is safe or not.
- *
- * @return bool
- * @api
- * @static
- */
- public static function isMethodSafe(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isMethodSafe();
- }
-
- /**
- * Returns the request body content.
- *
- * @param bool $asResource If true, a resource will be returned
- * @return string|resource The request body content or a resource to read the body stream.
- * @throws \LogicException
- * @static
- */
- public static function getContent($asResource = false){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getContent($asResource);
- }
-
- /**
- * Gets the Etags.
- *
- * @return array The entity tags
- * @static
- */
- public static function getETags(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getETags();
- }
-
- /**
- *
- *
- * @return bool
- * @static
- */
- public static function isNoCache(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isNoCache();
- }
-
- /**
- * Returns the preferred language.
- *
- * @param array $locales An array of ordered available locales
- * @return string|null The preferred locale
- * @api
- * @static
- */
- public static function getPreferredLanguage($locales = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPreferredLanguage($locales);
- }
-
- /**
- * Gets a list of languages acceptable by the client browser.
- *
- * @return array Languages ordered in the user browser preferences
- * @api
- * @static
- */
- public static function getLanguages(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getLanguages();
- }
-
- /**
- * Gets a list of charsets acceptable by the client browser.
- *
- * @return array List of charsets in preferable order
- * @api
- * @static
- */
- public static function getCharsets(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getCharsets();
- }
-
- /**
- * Gets a list of encodings acceptable by the client browser.
- *
- * @return array List of encodings in preferable order
- * @static
- */
- public static function getEncodings(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getEncodings();
- }
-
- /**
- * Gets a list of content types acceptable by the client browser
- *
- * @return array List of content types in preferable order
- * @api
- * @static
- */
- public static function getAcceptableContentTypes(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getAcceptableContentTypes();
- }
-
- /**
- * Returns true if the request is a XMLHttpRequest.
- *
- * It works if your JavaScript library set an X-Requested-With HTTP header.
- * It is known to work with common JavaScript frameworks:
- *
- * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
- * @return bool true if the request is an XMLHttpRequest, false otherwise
- * @api
- * @static
- */
- public static function isXmlHttpRequest(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isXmlHttpRequest();
- }
-
- }
-
-
- class Lang extends \Illuminate\Support\Facades\Lang{
-
- /**
- * Determine if a translation exists.
- *
- * @param string $key
- * @param string $locale
- * @return bool
- * @static
- */
- public static function has($key, $locale = null){
- return \Illuminate\Translation\Translator::has($key, $locale);
- }
-
- /**
- * Get the translation for the given key.
- *
- * @param string $key
- * @param array $replace
- * @param string $locale
- * @return string
- * @static
- */
- public static function get($key, $replace = array(), $locale = null){
- return \Illuminate\Translation\Translator::get($key, $replace, $locale);
- }
-
- /**
- * Get a translation according to an integer value.
- *
- * @param string $key
- * @param int $number
- * @param array $replace
- * @param string $locale
- * @return string
- * @static
- */
- public static function choice($key, $number, $replace = array(), $locale = null){
- return \Illuminate\Translation\Translator::choice($key, $number, $replace, $locale);
- }
-
- /**
- * Get the translation for a given key.
- *
- * @param string $id
- * @param array $parameters
- * @param string $domain
- * @param string $locale
- * @return string
- * @static
- */
- public static function trans($id, $parameters = array(), $domain = 'messages', $locale = null){
- return \Illuminate\Translation\Translator::trans($id, $parameters, $domain, $locale);
- }
-
- /**
- * Get a translation according to an integer value.
- *
- * @param string $id
- * @param int $number
- * @param array $parameters
- * @param string $domain
- * @param string $locale
- * @return string
- * @static
- */
- public static function transChoice($id, $number, $parameters = array(), $domain = 'messages', $locale = null){
- return \Illuminate\Translation\Translator::transChoice($id, $number, $parameters, $domain, $locale);
- }
-
- /**
- * Load the specified language group.
- *
- * @param string $namespace
- * @param string $group
- * @param string $locale
- * @return void
- * @static
- */
- public static function load($namespace, $group, $locale){
- \Illuminate\Translation\Translator::load($namespace, $group, $locale);
- }
-
- /**
- * Add a new namespace to the loader.
- *
- * @param string $namespace
- * @param string $hint
- * @return void
- * @static
- */
- public static function addNamespace($namespace, $hint){
- \Illuminate\Translation\Translator::addNamespace($namespace, $hint);
- }
-
- /**
- * Parse a key into namespace, group, and item.
- *
- * @param string $key
- * @return array
- * @static
- */
- public static function parseKey($key){
- return \Illuminate\Translation\Translator::parseKey($key);
- }
-
- /**
- * Get the message selector instance.
- *
- * @return \Symfony\Component\Translation\MessageSelector
- * @static
- */
- public static function getSelector(){
- return \Illuminate\Translation\Translator::getSelector();
- }
-
- /**
- * Set the message selector instance.
- *
- * @param \Symfony\Component\Translation\MessageSelector $selector
- * @return void
- * @static
- */
- public static function setSelector($selector){
- \Illuminate\Translation\Translator::setSelector($selector);
- }
-
- /**
- * Get the language line loader implementation.
- *
- * @return \Illuminate\Translation\LoaderInterface
- * @static
- */
- public static function getLoader(){
- return \Illuminate\Translation\Translator::getLoader();
- }
-
- /**
- * Get the default locale being used.
- *
- * @return string
- * @static
- */
- public static function locale(){
- return \Illuminate\Translation\Translator::locale();
- }
-
- /**
- * Get the default locale being used.
- *
- * @return string
- * @static
- */
- public static function getLocale(){
- return \Illuminate\Translation\Translator::getLocale();
- }
-
- /**
- * Set the default locale.
- *
- * @param string $locale
- * @return void
- * @static
- */
- public static function setLocale($locale){
- \Illuminate\Translation\Translator::setLocale($locale);
- }
-
- /**
- * Set the fallback locale being used.
- *
- * @return string
- * @static
- */
- public static function getFallback(){
- return \Illuminate\Translation\Translator::getFallback();
- }
-
- /**
- * Set the fallback locale being used.
- *
- * @param string $fallback
- * @return void
- * @static
- */
- public static function setFallback($fallback){
- \Illuminate\Translation\Translator::setFallback($fallback);
- }
-
- /**
- * Set the parsed value of a key.
- *
- * @param string $key
- * @param array $parsed
- * @return void
- * @static
- */
- public static function setParsedKey($key, $parsed){
- //Method inherited from \Illuminate\Support\NamespacedItemResolver
- \Illuminate\Translation\Translator::setParsedKey($key, $parsed);
- }
-
- }
-
-
- class Log extends \Illuminate\Support\Facades\Log{
-
- /**
- * Adds a log record at the DEBUG level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function debug($message, $context = array()){
- return \Monolog\Logger::debug($message, $context);
- }
-
- /**
- * Adds a log record at the INFO level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function info($message, $context = array()){
- return \Monolog\Logger::info($message, $context);
- }
-
- /**
- * Adds a log record at the NOTICE level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function notice($message, $context = array()){
- return \Monolog\Logger::notice($message, $context);
- }
-
- /**
- * Adds a log record at the WARNING level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function warning($message, $context = array()){
- return \Monolog\Logger::warning($message, $context);
- }
-
- /**
- * Adds a log record at the ERROR level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function error($message, $context = array()){
- return \Monolog\Logger::error($message, $context);
- }
-
- /**
- * Adds a log record at the CRITICAL level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function critical($message, $context = array()){
- return \Monolog\Logger::critical($message, $context);
- }
-
- /**
- * Adds a log record at the ALERT level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function alert($message, $context = array()){
- return \Monolog\Logger::alert($message, $context);
- }
-
- /**
- * Adds a log record at the EMERGENCY level.
- *
- * @param string $message The log message
- * @param array $context The log context
- * @return Boolean Whether the record has been processed
- * @static
- */
- public static function emergency($message, $context = array()){
- return \Monolog\Logger::emergency($message, $context);
- }
-
- /**
- * Register a file log handler.
- *
- * @param string $path
- * @param string $level
- * @return void
- * @static
- */
- public static function useFiles($path, $level = 'debug'){
- \Illuminate\Log\Writer::useFiles($path, $level);
- }
-
- /**
- * Register a daily file log handler.
- *
- * @param string $path
- * @param int $days
- * @param string $level
- * @return void
- * @static
- */
- public static function useDailyFiles($path, $days = 0, $level = 'debug'){
- \Illuminate\Log\Writer::useDailyFiles($path, $days, $level);
- }
-
- /**
- * Register a new callback handler for when
- * a log event is triggered.
- *
- * @param \Closure $callback
- * @return void
- * @throws \RuntimeException
- * @static
- */
- public static function listen($callback){
- \Illuminate\Log\Writer::listen($callback);
- }
-
- /**
- * Get the underlying Monolog instance.
- *
- * @return \Monolog\Logger
- * @static
- */
- public static function getMonolog(){
- return \Illuminate\Log\Writer::getMonolog();
- }
-
- /**
- * Get the event dispatcher instance.
- *
- * @return \Illuminate\Events\Dispatcher
- * @static
- */
- public static function getEventDispatcher(){
- return \Illuminate\Log\Writer::getEventDispatcher();
- }
-
- /**
- * Set the event dispatcher instance.
- *
- * @param \Illuminate\Events\Dispatcher
- * @return void
- * @static
- */
- public static function setEventDispatcher($dispatcher){
- \Illuminate\Log\Writer::setEventDispatcher($dispatcher);
- }
-
- /**
- * Dynamically pass log calls into the writer.
- *
- * @param mixed (level, param, param)
- * @return mixed
- * @static
- */
- public static function write(){
- return \Illuminate\Log\Writer::write();
- }
-
- }
-
-
- class Mail extends \Illuminate\Support\Facades\Mail{
-
- /**
- * Set the global from address and name.
- *
- * @param string $address
- * @param string $name
- * @return void
- * @static
- */
- public static function alwaysFrom($address, $name = null){
- \Illuminate\Mail\Mailer::alwaysFrom($address, $name);
- }
-
- /**
- * Send a new message when only a plain part.
- *
- * @param string $view
- * @param array $data
- * @param mixed $callback
- * @return int
- * @static
- */
- public static function plain($view, $data, $callback){
- return \Illuminate\Mail\Mailer::plain($view, $data, $callback);
- }
-
- /**
- * Send a new message using a view.
- *
- * @param string|array $view
- * @param array $data
- * @param \Closure|string $callback
- * @return int
- * @static
- */
- public static function send($view, $data, $callback){
- return \Illuminate\Mail\Mailer::send($view, $data, $callback);
- }
-
- /**
- * Queue a new e-mail message for sending.
- *
- * @param string|array $view
- * @param array $data
- * @param \Closure|string $callback
- * @param string $queue
- * @return void
- * @static
- */
- public static function queue($view, $data, $callback, $queue = null){
- \Illuminate\Mail\Mailer::queue($view, $data, $callback, $queue);
- }
-
- /**
- * Queue a new e-mail message for sending on the given queue.
- *
- * @param string $queue
- * @param string|array $view
- * @param array $data
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function queueOn($queue, $view, $data, $callback){
- \Illuminate\Mail\Mailer::queueOn($queue, $view, $data, $callback);
- }
-
- /**
- * Queue a new e-mail message for sending after (n) seconds.
- *
- * @param int $delay
- * @param string|array $view
- * @param array $data
- * @param \Closure|string $callback
- * @param string $queue
- * @return void
- * @static
- */
- public static function later($delay, $view, $data, $callback, $queue = null){
- \Illuminate\Mail\Mailer::later($delay, $view, $data, $callback, $queue);
- }
-
- /**
- * Queue a new e-mail message for sending after (n) seconds on the given queue.
- *
- * @param string $queue
- * @param int $delay
- * @param string|array $view
- * @param array $data
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function laterOn($queue, $delay, $view, $data, $callback){
- \Illuminate\Mail\Mailer::laterOn($queue, $delay, $view, $data, $callback);
- }
-
- /**
- * Handle a queued e-mail message job.
- *
- * @param \Illuminate\Queue\Jobs\Job $job
- * @param array $data
- * @return void
- * @static
- */
- public static function handleQueuedMessage($job, $data){
- \Illuminate\Mail\Mailer::handleQueuedMessage($job, $data);
- }
-
- /**
- * Tell the mailer to not really send messages.
- *
- * @param bool $value
- * @return void
- * @static
- */
- public static function pretend($value = true){
- \Illuminate\Mail\Mailer::pretend($value);
- }
-
- /**
- * Get the view environment instance.
- *
- * @return \Illuminate\View\Environment
- * @static
- */
- public static function getViewEnvironment(){
- return \Illuminate\Mail\Mailer::getViewEnvironment();
- }
-
- /**
- * Get the Swift Mailer instance.
- *
- * @return \Swift_Mailer
- * @static
- */
- public static function getSwiftMailer(){
- return \Illuminate\Mail\Mailer::getSwiftMailer();
- }
-
- /**
- * Get the array of failed recipients.
- *
- * @return array
- * @static
- */
- public static function failures(){
- return \Illuminate\Mail\Mailer::failures();
- }
-
- /**
- * Set the Swift Mailer instance.
- *
- * @param \Swift_Mailer $swift
- * @return void
- * @static
- */
- public static function setSwiftMailer($swift){
- \Illuminate\Mail\Mailer::setSwiftMailer($swift);
- }
-
- /**
- * Set the log writer instance.
- *
- * @param \Illuminate\Log\Writer $logger
- * @return \Illuminate\Mail\Mailer
- * @static
- */
- public static function setLogger($logger){
- return \Illuminate\Mail\Mailer::setLogger($logger);
- }
-
- /**
- * Set the queue manager instance.
- *
- * @param \Illuminate\Queue\QueueManager $queue
- * @return \Illuminate\Mail\Mailer
- * @static
- */
- public static function setQueue($queue){
- return \Illuminate\Mail\Mailer::setQueue($queue);
- }
-
- /**
- * Set the IoC container instance.
- *
- * @param \Illuminate\Container\Container $container
- * @return void
- * @static
- */
- public static function setContainer($container){
- \Illuminate\Mail\Mailer::setContainer($container);
- }
-
- }
-
-
- class Paginator extends \Bootstrapper\Paginator{
-
- /**
- * Get a new paginator instance.
- *
- * @param array $items
- * @param int $total
- * @param int $perPage
- * @return \Illuminate\Pagination\Paginator
- * @static
- */
- public static function make($items, $total, $perPage){
- return \Illuminate\Pagination\Environment::make($items, $total, $perPage);
- }
-
- /**
- * Get the pagination view.
- *
- * @param \Illuminate\Pagination\Paginator $paginator
- * @param string $view
- * @return \Illuminate\View\View
- * @static
- */
- public static function getPaginationView($paginator, $view = null){
- return \Illuminate\Pagination\Environment::getPaginationView($paginator, $view);
- }
-
- /**
- * Get the number of the current page.
- *
- * @return int
- * @static
- */
- public static function getCurrentPage(){
- return \Illuminate\Pagination\Environment::getCurrentPage();
- }
-
- /**
- * Set the number of the current page.
- *
- * @param int $number
- * @return void
- * @static
- */
- public static function setCurrentPage($number){
- \Illuminate\Pagination\Environment::setCurrentPage($number);
- }
-
- /**
- * Get the root URL for the request.
- *
- * @return string
- * @static
- */
- public static function getCurrentUrl(){
- return \Illuminate\Pagination\Environment::getCurrentUrl();
- }
-
- /**
- * Set the base URL in use by the paginator.
- *
- * @param string $baseUrl
- * @return void
- * @static
- */
- public static function setBaseUrl($baseUrl){
- \Illuminate\Pagination\Environment::setBaseUrl($baseUrl);
- }
-
- /**
- * Set the input page parameter name used by the paginator.
- *
- * @param string $pageName
- * @return void
- * @static
- */
- public static function setPageName($pageName){
- \Illuminate\Pagination\Environment::setPageName($pageName);
- }
-
- /**
- * Get the input page parameter name used by the paginator.
- *
- * @return string
- * @static
- */
- public static function getPageName(){
- return \Illuminate\Pagination\Environment::getPageName();
- }
-
- /**
- * Get the name of the pagination view.
- *
- * @param string $view
- * @return string
- * @static
- */
- public static function getViewName($view = null){
- return \Illuminate\Pagination\Environment::getViewName($view);
- }
-
- /**
- * Set the name of the pagination view.
- *
- * @param string $viewName
- * @return void
- * @static
- */
- public static function setViewName($viewName){
- \Illuminate\Pagination\Environment::setViewName($viewName);
- }
-
- /**
- * Get the locale of the paginator.
- *
- * @return string
- * @static
- */
- public static function getLocale(){
- return \Illuminate\Pagination\Environment::getLocale();
- }
-
- /**
- * Set the locale of the paginator.
- *
- * @param string $locale
- * @return void
- * @static
- */
- public static function setLocale($locale){
- \Illuminate\Pagination\Environment::setLocale($locale);
- }
-
- /**
- * Get the active request instance.
- *
- * @return \Symfony\Component\HttpFoundation\Request
- * @static
- */
- public static function getRequest(){
- return \Illuminate\Pagination\Environment::getRequest();
- }
-
- /**
- * Set the active request instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return void
- * @static
- */
- public static function setRequest($request){
- \Illuminate\Pagination\Environment::setRequest($request);
- }
-
- /**
- * Get the current view driver.
- *
- * @return \Illuminate\View\Environment
- * @static
- */
- public static function getViewDriver(){
- return \Illuminate\Pagination\Environment::getViewDriver();
- }
-
- /**
- * Set the current view driver.
- *
- * @param \Illuminate\View\Environment $view
- * @return void
- * @static
- */
- public static function setViewDriver($view){
- \Illuminate\Pagination\Environment::setViewDriver($view);
- }
-
- /**
- * Get the translator instance.
- *
- * @return \Symfony\Component\Translation\TranslatorInterface
- * @static
- */
- public static function getTranslator(){
- return \Illuminate\Pagination\Environment::getTranslator();
- }
-
- }
-
-
- class Password extends \Illuminate\Support\Facades\Password{
-
- /**
- * Send a password reminder to a user.
- *
- * @param array $credentials
- * @param \Closure $callback
- * @return string
- * @static
- */
- public static function remind($credentials, $callback = null){
- return \Illuminate\Auth\Reminders\PasswordBroker::remind($credentials, $callback);
- }
-
- /**
- * Send the password reminder e-mail.
- *
- * @param \Illuminate\Auth\Reminders\RemindableInterface $user
- * @param string $token
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function sendReminder($user, $token, $callback = null){
- \Illuminate\Auth\Reminders\PasswordBroker::sendReminder($user, $token, $callback);
- }
-
- /**
- * Reset the password for the given token.
- *
- * @param array $credentials
- * @param \Closure $callback
- * @return mixed
- * @static
- */
- public static function reset($credentials, $callback){
- return \Illuminate\Auth\Reminders\PasswordBroker::reset($credentials, $callback);
- }
-
- /**
- * Set a custom password validator.
- *
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function validator($callback){
- \Illuminate\Auth\Reminders\PasswordBroker::validator($callback);
- }
-
- /**
- * Get the user for the given credentials.
- *
- * @param array $credentials
- * @return \Illuminate\Auth\Reminders\RemindableInterface
- * @throws \UnexpectedValueException
- * @static
- */
- public static function getUser($credentials){
- return \Illuminate\Auth\Reminders\PasswordBroker::getUser($credentials);
- }
-
- }
-
-
- class Queue extends \Illuminate\Support\Facades\Queue{
-
- /**
- * Register an event listener for the failed job event.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function failing($callback){
- \Illuminate\Queue\QueueManager::failing($callback);
- }
-
- /**
- * Determine if the driver is connected.
- *
- * @param string $name
- * @return bool
- * @static
- */
- public static function connected($name = null){
- return \Illuminate\Queue\QueueManager::connected($name);
- }
-
- /**
- * Resolve a queue connection instance.
- *
- * @param string $name
- * @return \Illuminate\Queue\SyncQueue
- * @static
- */
- public static function connection($name = null){
- return \Illuminate\Queue\QueueManager::connection($name);
- }
-
- /**
- * Add a queue connection resolver.
- *
- * @param string $driver
- * @param \Closure $resolver
- * @return void
- * @static
- */
- public static function extend($driver, $resolver){
- \Illuminate\Queue\QueueManager::extend($driver, $resolver);
- }
-
- /**
- * Add a queue connection resolver.
- *
- * @param string $driver
- * @param \Closure $resolver
- * @return void
- * @static
- */
- public static function addConnector($driver, $resolver){
- \Illuminate\Queue\QueueManager::addConnector($driver, $resolver);
- }
-
- /**
- * Get the name of the default queue connection.
- *
- * @return string
- * @static
- */
- public static function getDefaultDriver(){
- return \Illuminate\Queue\QueueManager::getDefaultDriver();
- }
-
- /**
- * Set the name of the default queue connection.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultDriver($name){
- \Illuminate\Queue\QueueManager::setDefaultDriver($name);
- }
-
- /**
- * Get the full name for the given connection.
- *
- * @param string $connection
- * @return string
- * @static
- */
- public static function getName($connection = null){
- return \Illuminate\Queue\QueueManager::getName($connection);
- }
-
- /**
- * Push a new job onto the queue.
- *
- * @param string $job
- * @param mixed $data
- * @param string $queue
- * @return mixed
- * @static
- */
- public static function push($job, $data = '', $queue = null){
- return \Illuminate\Queue\SyncQueue::push($job, $data, $queue);
- }
-
- /**
- * Push a raw payload onto the queue.
- *
- * @param string $payload
- * @param string $queue
- * @param array $options
- * @return mixed
- * @static
- */
- public static function pushRaw($payload, $queue = null, $options = array()){
- return \Illuminate\Queue\SyncQueue::pushRaw($payload, $queue, $options);
- }
-
- /**
- * Push a new job onto the queue after a delay.
- *
- * @param \DateTime|int $delay
- * @param string $job
- * @param mixed $data
- * @param string $queue
- * @return mixed
- * @static
- */
- public static function later($delay, $job, $data = '', $queue = null){
- return \Illuminate\Queue\SyncQueue::later($delay, $job, $data, $queue);
- }
-
- /**
- * Pop the next job off of the queue.
- *
- * @param string $queue
- * @return \Illuminate\Queue\Jobs\Job|null
- * @static
- */
- public static function pop($queue = null){
- return \Illuminate\Queue\SyncQueue::pop($queue);
- }
-
- /**
- * Marshal a push queue request and fire the job.
- *
- * @throws \RuntimeException
- * @static
- */
- public static function marshal(){
- //Method inherited from \Illuminate\Queue\Queue
- return \Illuminate\Queue\SyncQueue::marshal();
- }
-
- /**
- * Push a new an array of jobs onto the queue.
- *
- * @param array $jobs
- * @param mixed $data
- * @param string $queue
- * @return mixed
- * @static
- */
- public static function bulk($jobs, $data = '', $queue = null){
- //Method inherited from \Illuminate\Queue\Queue
- return \Illuminate\Queue\SyncQueue::bulk($jobs, $data, $queue);
- }
-
- /**
- * Get the current UNIX timestamp.
- *
- * @return int
- * @static
- */
- public static function getTime(){
- //Method inherited from \Illuminate\Queue\Queue
- return \Illuminate\Queue\SyncQueue::getTime();
- }
-
- /**
- * Set the IoC container instance.
- *
- * @param \Illuminate\Container\Container $container
- * @return void
- * @static
- */
- public static function setContainer($container){
- //Method inherited from \Illuminate\Queue\Queue
- \Illuminate\Queue\SyncQueue::setContainer($container);
- }
-
- }
-
-
- class Redirect extends \Illuminate\Support\Facades\Redirect{
-
- /**
- * Create a new redirect response to the "home" route.
- *
- * @param int $status
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function home($status = 302){
- return \Illuminate\Routing\Redirector::home($status);
- }
-
- /**
- * Create a new redirect response to the previous location.
- *
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function back($status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::back($status, $headers);
- }
-
- /**
- * Create a new redirect response to the current URI.
- *
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function refresh($status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::refresh($status, $headers);
- }
-
- /**
- * Create a new redirect response, while putting the current URL in the session.
- *
- * @param string $path
- * @param int $status
- * @param array $headers
- * @param bool $secure
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function guest($path, $status = 302, $headers = array(), $secure = null){
- return \Illuminate\Routing\Redirector::guest($path, $status, $headers, $secure);
- }
-
- /**
- * Create a new redirect response to the previously intended location.
- *
- * @param string $default
- * @param int $status
- * @param array $headers
- * @param bool $secure
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function intended($default = '/', $status = 302, $headers = array(), $secure = null){
- return \Illuminate\Routing\Redirector::intended($default, $status, $headers, $secure);
- }
-
- /**
- * Create a new redirect response to the given path.
- *
- * @param string $path
- * @param int $status
- * @param array $headers
- * @param bool $secure
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function to($path, $status = 302, $headers = array(), $secure = null){
- return \Illuminate\Routing\Redirector::to($path, $status, $headers, $secure);
- }
-
- /**
- * Create a new redirect response to an external URL (no validation).
- *
- * @param string $path
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function away($path, $status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::away($path, $status, $headers);
- }
-
- /**
- * Create a new redirect response to the given HTTPS path.
- *
- * @param string $path
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function secure($path, $status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::secure($path, $status, $headers);
- }
-
- /**
- * Create a new redirect response to a named route.
- *
- * @param string $route
- * @param array $parameters
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function route($route, $parameters = array(), $status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::route($route, $parameters, $status, $headers);
- }
-
- /**
- * Create a new redirect response to a controller action.
- *
- * @param string $action
- * @param array $parameters
- * @param int $status
- * @param array $headers
- * @return \Illuminate\Http\RedirectResponse
- * @static
- */
- public static function action($action, $parameters = array(), $status = 302, $headers = array()){
- return \Illuminate\Routing\Redirector::action($action, $parameters, $status, $headers);
- }
-
- /**
- * Get the URL generator instance.
- *
- * @return \Illuminate\Routing\UrlGenerator
- * @static
- */
- public static function getUrlGenerator(){
- return \Illuminate\Routing\Redirector::getUrlGenerator();
- }
-
- /**
- * Set the active session store.
- *
- * @param \Illuminate\Session\Store $session
- * @return void
- * @static
- */
- public static function setSession($session){
- \Illuminate\Routing\Redirector::setSession($session);
- }
-
- }
-
-
- class Redis extends \Illuminate\Support\Facades\Redis{
-
- /**
- * Get a specific Redis connection instance.
- *
- * @param string $name
- * @return \Predis\Connection\SingleConnectionInterface
- * @static
- */
- public static function connection($name = 'default'){
- return \Illuminate\Redis\Database::connection($name);
- }
-
- /**
- * Run a command against the Redis database.
- *
- * @param string $method
- * @param array $parameters
- * @return mixed
- * @static
- */
- public static function command($method, $parameters = array()){
- return \Illuminate\Redis\Database::command($method, $parameters);
- }
-
- }
-
-
- class Request extends \Illuminate\Support\Facades\Request{
-
- /**
- * Return the Request instance.
- *
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function instance(){
- return \Illuminate\Http\Request::instance();
- }
-
- /**
- * Get the request method.
- *
- * @return string
- * @static
- */
- public static function method(){
- return \Illuminate\Http\Request::method();
- }
-
- /**
- * Get the root URL for the application.
- *
- * @return string
- * @static
- */
- public static function root(){
- return \Illuminate\Http\Request::root();
- }
-
- /**
- * Get the URL (no query string) for the request.
- *
- * @return string
- * @static
- */
- public static function url(){
- return \Illuminate\Http\Request::url();
- }
-
- /**
- * Get the full URL for the request.
- *
- * @return string
- * @static
- */
- public static function fullUrl(){
- return \Illuminate\Http\Request::fullUrl();
- }
-
- /**
- * Get the current path info for the request.
- *
- * @return string
- * @static
- */
- public static function path(){
- return \Illuminate\Http\Request::path();
- }
-
- /**
- * Get the current encoded path info for the request.
- *
- * @return string
- * @static
- */
- public static function decodedPath(){
- return \Illuminate\Http\Request::decodedPath();
- }
-
- /**
- * Get a segment from the URI (1 based index).
- *
- * @param string $index
- * @param mixed $default
- * @return string
- * @static
- */
- public static function segment($index, $default = null){
- return \Illuminate\Http\Request::segment($index, $default);
- }
-
- /**
- * Get all of the segments for the request path.
- *
- * @return array
- * @static
- */
- public static function segments(){
- return \Illuminate\Http\Request::segments();
- }
-
- /**
- * Determine if the current request URI matches a pattern.
- *
- * @param mixed string
- * @return bool
- * @static
- */
- public static function is(){
- return \Illuminate\Http\Request::is();
- }
-
- /**
- * Determine if the request is the result of an AJAX call.
- *
- * @return bool
- * @static
- */
- public static function ajax(){
- return \Illuminate\Http\Request::ajax();
- }
-
- /**
- * Determine if the request is over HTTPS.
- *
- * @return bool
- * @static
- */
- public static function secure(){
- return \Illuminate\Http\Request::secure();
- }
-
- /**
- * Determine if the request contains a given input item.
- *
- * @param string|array $key
- * @return bool
- * @static
- */
- public static function has($key){
- return \Illuminate\Http\Request::has($key);
- }
-
- /**
- * Get all of the input and files for the request.
- *
- * @return array
- * @static
- */
- public static function all(){
- return \Illuminate\Http\Request::all();
- }
-
- /**
- * Retrieve an input item from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function input($key = null, $default = null){
- return \Illuminate\Http\Request::input($key, $default);
- }
-
- /**
- * Get a subset of the items from the input data.
- *
- * @param array $keys
- * @return array
- * @static
- */
- public static function only($keys){
- return \Illuminate\Http\Request::only($keys);
- }
-
- /**
- * Get all of the input except for a specified array of items.
- *
- * @param array $keys
- * @return array
- * @static
- */
- public static function except($keys){
- return \Illuminate\Http\Request::except($keys);
- }
-
- /**
- * Retrieve a query string item from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function query($key = null, $default = null){
- return \Illuminate\Http\Request::query($key, $default);
- }
-
- /**
- * Determine if a cookie is set on the request.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasCookie($key){
- return \Illuminate\Http\Request::hasCookie($key);
- }
-
- /**
- * Retrieve a cookie from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function cookie($key = null, $default = null){
- return \Illuminate\Http\Request::cookie($key, $default);
- }
-
- /**
- * Retrieve a file from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return \Symfony\Component\HttpFoundation\File\UploadedFile|array
- * @static
- */
- public static function file($key = null, $default = null){
- return \Illuminate\Http\Request::file($key, $default);
- }
-
- /**
- * Determine if the uploaded data contains a file.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasFile($key){
- return \Illuminate\Http\Request::hasFile($key);
- }
-
- /**
- * Retrieve a header from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function header($key = null, $default = null){
- return \Illuminate\Http\Request::header($key, $default);
- }
-
- /**
- * Retrieve a server variable from the request.
- *
- * @param string $key
- * @param mixed $default
- * @return string
- * @static
- */
- public static function server($key = null, $default = null){
- return \Illuminate\Http\Request::server($key, $default);
- }
-
- /**
- * Retrieve an old input item.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function old($key = null, $default = null){
- return \Illuminate\Http\Request::old($key, $default);
- }
-
- /**
- * Flash the input for the current request to the session.
- *
- * @param string $filter
- * @param array $keys
- * @return void
- * @static
- */
- public static function flash($filter = null, $keys = array()){
- \Illuminate\Http\Request::flash($filter, $keys);
- }
-
- /**
- * Flash only some of the input to the session.
- *
- * @param mixed string
- * @return void
- * @static
- */
- public static function flashOnly($keys){
- \Illuminate\Http\Request::flashOnly($keys);
- }
-
- /**
- * Flash only some of the input to the session.
- *
- * @param mixed string
- * @return void
- * @static
- */
- public static function flashExcept($keys){
- \Illuminate\Http\Request::flashExcept($keys);
- }
-
- /**
- * Flush all of the old input from the session.
- *
- * @return void
- * @static
- */
- public static function flush(){
- \Illuminate\Http\Request::flush();
- }
-
- /**
- * Merge new input into the current request's input array.
- *
- * @param array $input
- * @return void
- * @static
- */
- public static function merge($input){
- \Illuminate\Http\Request::merge($input);
- }
-
- /**
- * Replace the input for the current request.
- *
- * @param array $input
- * @return void
- * @static
- */
- public static function replace($input){
- \Illuminate\Http\Request::replace($input);
- }
-
- /**
- * Get the JSON payload for the request.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function json($key = null, $default = null){
- return \Illuminate\Http\Request::json($key, $default);
- }
-
- /**
- * Determine if the request is sending JSON.
- *
- * @return bool
- * @static
- */
- public static function isJson(){
- return \Illuminate\Http\Request::isJson();
- }
-
- /**
- * Determine if the current request is asking for JSON in return.
- *
- * @return bool
- * @static
- */
- public static function wantsJson(){
- return \Illuminate\Http\Request::wantsJson();
- }
-
- /**
- * Get the data format expected in the response.
- *
- * @return string
- * @static
- */
- public static function format($default = 'html'){
- return \Illuminate\Http\Request::format($default);
- }
-
- /**
- * Create an Illuminate request from a Symfony instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function createFromBase($request){
- return \Illuminate\Http\Request::createFromBase($request);
- }
-
- /**
- * Get the session associated with the request.
- *
- * @return \Illuminate\Session\Store
- * @throws \RuntimeException
- * @static
- */
- public static function session(){
- return \Illuminate\Http\Request::session();
- }
-
- /**
- * Sets the parameters for this request.
- *
- * This method also re-initializes all properties.
- *
- * @param array $query The GET parameters
- * @param array $request The POST parameters
- * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
- * @param array $cookies The COOKIE parameters
- * @param array $files The FILES parameters
- * @param array $server The SERVER parameters
- * @param string $content The raw body data
- * @api
- * @static
- */
- public static function initialize($query = array(), $request = array(), $attributes = array(), $cookies = array(), $files = array(), $server = array(), $content = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::initialize($query, $request, $attributes, $cookies, $files, $server, $content);
- }
-
- /**
- * Creates a new request with values from PHP's super globals.
- *
- * @return \Symfony\Component\HttpFoundation\Request A new request
- * @api
- * @static
- */
- public static function createFromGlobals(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::createFromGlobals();
- }
-
- /**
- * Creates a Request based on a given URI and configuration.
- *
- * The information contained in the URI always take precedence
- * over the other information (server and parameters).
- *
- * @param string $uri The URI
- * @param string $method The HTTP method
- * @param array $parameters The query (GET) or request (POST) parameters
- * @param array $cookies The request cookies ($_COOKIE)
- * @param array $files The request files ($_FILES)
- * @param array $server The server parameters ($_SERVER)
- * @param string $content The raw body data
- * @return \Symfony\Component\HttpFoundation\Request A Request instance
- * @api
- * @static
- */
- public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::create($uri, $method, $parameters, $cookies, $files, $server, $content);
- }
-
- /**
- * Sets a callable able to create a Request instance.
- *
- * This is mainly useful when you need to override the Request class
- * to keep BC with an existing system. It should not be used for any
- * other purpose.
- *
- * @param callable|null $callable A PHP callable
- * @static
- */
- public static function setFactory($callable){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setFactory($callable);
- }
-
- /**
- * Clones a request and overrides some of its parameters.
- *
- * @param array $query The GET parameters
- * @param array $request The POST parameters
- * @param array $attributes The request attributes (parameters parsed from the PATH_INFO, ...)
- * @param array $cookies The COOKIE parameters
- * @param array $files The FILES parameters
- * @param array $server The SERVER parameters
- * @return \Symfony\Component\HttpFoundation\Request The duplicated request
- * @api
- * @static
- */
- public static function duplicate($query = null, $request = null, $attributes = null, $cookies = null, $files = null, $server = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::duplicate($query, $request, $attributes, $cookies, $files, $server);
- }
-
- /**
- * Overrides the PHP global variables according to this request instance.
- *
- * It overrides $_GET, $_POST, $_REQUEST, $_SERVER, $_COOKIE.
- * $_FILES is never override, see rfc1867
- *
- * @api
- * @static
- */
- public static function overrideGlobals(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::overrideGlobals();
- }
-
- /**
- * Sets a list of trusted proxies.
- *
- * You should only list the reverse proxies that you manage directly.
- *
- * @param array $proxies A list of trusted proxies
- * @api
- * @static
- */
- public static function setTrustedProxies($proxies){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedProxies($proxies);
- }
-
- /**
- * Gets the list of trusted proxies.
- *
- * @return array An array of trusted proxies.
- * @static
- */
- public static function getTrustedProxies(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedProxies();
- }
-
- /**
- * Sets a list of trusted host patterns.
- *
- * You should only list the hosts you manage using regexs.
- *
- * @param array $hostPatterns A list of trusted host patterns
- * @static
- */
- public static function setTrustedHosts($hostPatterns){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedHosts($hostPatterns);
- }
-
- /**
- * Gets the list of trusted host patterns.
- *
- * @return array An array of trusted host patterns.
- * @static
- */
- public static function getTrustedHosts(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedHosts();
- }
-
- /**
- * Sets the name for trusted headers.
- *
- * The following header keys are supported:
- *
- * * Request::HEADER_CLIENT_IP: defaults to X-Forwarded-For (see getClientIp())
- * * Request::HEADER_CLIENT_HOST: defaults to X-Forwarded-Host (see getClientHost())
- * * Request::HEADER_CLIENT_PORT: defaults to X-Forwarded-Port (see getClientPort())
- * * Request::HEADER_CLIENT_PROTO: defaults to X-Forwarded-Proto (see getScheme() and isSecure())
- *
- * Setting an empty value allows to disable the trusted header for the given key.
- *
- * @param string $key The header key
- * @param string $value The header name
- * @throws \InvalidArgumentException
- * @static
- */
- public static function setTrustedHeaderName($key, $value){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setTrustedHeaderName($key, $value);
- }
-
- /**
- * Gets the trusted proxy header name.
- *
- * @param string $key The header key
- * @return string The header name
- * @throws \InvalidArgumentException
- * @static
- */
- public static function getTrustedHeaderName($key){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getTrustedHeaderName($key);
- }
-
- /**
- * Normalizes a query string.
- *
- * It builds a normalized query string, where keys/value pairs are alphabetized,
- * have consistent escaping and unneeded delimiters are removed.
- *
- * @param string $qs Query string
- * @return string A normalized query string for the Request
- * @static
- */
- public static function normalizeQueryString($qs){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::normalizeQueryString($qs);
- }
-
- /**
- * Enables support for the _method request parameter to determine the intended HTTP method.
- *
- * Be warned that enabling this feature might lead to CSRF issues in your code.
- * Check that you are using CSRF tokens when required.
- *
- * The HTTP method can only be overridden when the real HTTP method is POST.
- *
- * @static
- */
- public static function enableHttpMethodParameterOverride(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::enableHttpMethodParameterOverride();
- }
-
- /**
- * Checks whether support for the _method request parameter is enabled.
- *
- * @return bool True when the _method request parameter is enabled, false otherwise
- * @static
- */
- public static function getHttpMethodParameterOverride(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHttpMethodParameterOverride();
- }
-
- /**
- * Gets a "parameter" value.
- *
- * This method is mainly useful for libraries that want to provide some flexibility.
- *
- * Order of precedence: GET, PATH, POST
- *
- * Avoid using this method in controllers:
- *
- * * slow
- * * prefer to get from a "named" source
- *
- * It is better to explicitly get request parameters from the appropriate
- * public property instead (query, attributes, request).
- *
- * @param string $key the key
- * @param mixed $default the default value
- * @param bool $deep is parameter deep in multidimensional array
- * @return mixed
- * @static
- */
- public static function get($key, $default = null, $deep = false){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::get($key, $default, $deep);
- }
-
- /**
- * Gets the Session.
- *
- * @return \Symfony\Component\HttpFoundation\SessionInterface|null The session
- * @api
- * @static
- */
- public static function getSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getSession();
- }
-
- /**
- * Whether the request contains a Session which was started in one of the
- * previous requests.
- *
- * @return bool
- * @api
- * @static
- */
- public static function hasPreviousSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::hasPreviousSession();
- }
-
- /**
- * Whether the request contains a Session object.
- *
- * This method does not give any information about the state of the session object,
- * like whether the session is started or not. It is just a way to check if this Request
- * is associated with a Session instance.
- *
- * @return bool true when the Request contains a Session object, false otherwise
- * @api
- * @static
- */
- public static function hasSession(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::hasSession();
- }
-
- /**
- * Sets the Session.
- *
- * @param \Symfony\Component\HttpFoundation\SessionInterface $session The Session
- * @api
- * @static
- */
- public static function setSession($session){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setSession($session);
- }
-
- /**
- * Returns the client IP addresses.
- *
- * In the returned array the most trusted IP address is first, and the
- * least trusted one last. The "real" client IP address is the last one,
- * but this is also the least trusted one. Trusted proxies are stripped.
- *
- * Use this method carefully; you should use getClientIp() instead.
- *
- * @return array The client IP addresses
- * @see getClientIp()
- * @static
- */
- public static function getClientIps(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getClientIps();
- }
-
- /**
- * Returns the client IP address.
- *
- * This method can read the client IP address from the "X-Forwarded-For" header
- * when trusted proxies were set via "setTrustedProxies()". The "X-Forwarded-For"
- * header value is a comma+space separated list of IP addresses, the left-most
- * being the original client, and each successive proxy that passed the request
- * adding the IP address where it received the request from.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-For",
- * ("Client-Ip" for instance), configure it via "setTrustedHeaderName()" with
- * the "client-ip" key.
- *
- * @return string The client IP address
- * @see getClientIps()
- * @see http://en.wikipedia.org/wiki/X-Forwarded-For
- * @api
- * @static
- */
- public static function getClientIp(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getClientIp();
- }
-
- /**
- * Returns current script name.
- *
- * @return string
- * @api
- * @static
- */
- public static function getScriptName(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getScriptName();
- }
-
- /**
- * Returns the path being requested relative to the executed script.
- *
- * The path info always starts with a /.
- *
- * Suppose this request is instantiated from /mysite on localhost:
- *
- * * http://localhost/mysite returns an empty string
- * * http://localhost/mysite/about returns '/about'
- * * http://localhost/mysite/enco%20ded returns '/enco%20ded'
- * * http://localhost/mysite/about?var=1 returns '/about'
- *
- * @return string The raw path (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getPathInfo(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPathInfo();
- }
-
- /**
- * Returns the root path from which this request is executed.
- *
- * Suppose that an index.php file instantiates this request object:
- *
- * * http://localhost/index.php returns an empty string
- * * http://localhost/index.php/page returns an empty string
- * * http://localhost/web/index.php returns '/web'
- * * http://localhost/we%20b/index.php returns '/we%20b'
- *
- * @return string The raw path (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getBasePath(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getBasePath();
- }
-
- /**
- * Returns the root URL from which this request is executed.
- *
- * The base URL never ends with a /.
- *
- * This is similar to getBasePath(), except that it also includes the
- * script filename (e.g. index.php) if one exists.
- *
- * @return string The raw URL (i.e. not urldecoded)
- * @api
- * @static
- */
- public static function getBaseUrl(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getBaseUrl();
- }
-
- /**
- * Gets the request's scheme.
- *
- * @return string
- * @api
- * @static
- */
- public static function getScheme(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getScheme();
- }
-
- /**
- * Returns the port on which the request is made.
- *
- * This method can read the client port from the "X-Forwarded-Port" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Port" header must contain the client port.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Port",
- * configure it via "setTrustedHeaderName()" with the "client-port" key.
- *
- * @return string
- * @api
- * @static
- */
- public static function getPort(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPort();
- }
-
- /**
- * Returns the user.
- *
- * @return string|null
- * @static
- */
- public static function getUser(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUser();
- }
-
- /**
- * Returns the password.
- *
- * @return string|null
- * @static
- */
- public static function getPassword(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPassword();
- }
-
- /**
- * Gets the user info.
- *
- * @return string A user name and, optionally, scheme-specific information about how to gain authorization to access the server
- * @static
- */
- public static function getUserInfo(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUserInfo();
- }
-
- /**
- * Returns the HTTP host being requested.
- *
- * The port name will be appended to the host if it's non-standard.
- *
- * @return string
- * @api
- * @static
- */
- public static function getHttpHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHttpHost();
- }
-
- /**
- * Returns the requested URI (path and query string).
- *
- * @return string The raw URI (i.e. not URI decoded)
- * @api
- * @static
- */
- public static function getRequestUri(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRequestUri();
- }
-
- /**
- * Gets the scheme and HTTP host.
- *
- * If the URL was called with basic authentication, the user
- * and the password are not added to the generated string.
- *
- * @return string The scheme and HTTP host
- * @static
- */
- public static function getSchemeAndHttpHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getSchemeAndHttpHost();
- }
-
- /**
- * Generates a normalized URI (URL) for the Request.
- *
- * @return string A normalized URI (URL) for the Request
- * @see getQueryString()
- * @api
- * @static
- */
- public static function getUri(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUri();
- }
-
- /**
- * Generates a normalized URI for the given path.
- *
- * @param string $path A path to use instead of the current one
- * @return string The normalized URI for the path
- * @api
- * @static
- */
- public static function getUriForPath($path){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getUriForPath($path);
- }
-
- /**
- * Generates the normalized query string for the Request.
- *
- * It builds a normalized query string, where keys/value pairs are alphabetized
- * and have consistent escaping.
- *
- * @return string|null A normalized query string for the Request
- * @api
- * @static
- */
- public static function getQueryString(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getQueryString();
- }
-
- /**
- * Checks whether the request is secure or not.
- *
- * This method can read the client port from the "X-Forwarded-Proto" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Proto" header must contain the protocol: "https" or "http".
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Proto"
- * ("SSL_HTTPS" for instance), configure it via "setTrustedHeaderName()" with
- * the "client-proto" key.
- *
- * @return bool
- * @api
- * @static
- */
- public static function isSecure(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isSecure();
- }
-
- /**
- * Returns the host name.
- *
- * This method can read the client port from the "X-Forwarded-Host" header
- * when trusted proxies were set via "setTrustedProxies()".
- *
- * The "X-Forwarded-Host" header must contain the client host name.
- *
- * If your reverse proxy uses a different header name than "X-Forwarded-Host",
- * configure it via "setTrustedHeaderName()" with the "client-host" key.
- *
- * @return string
- * @throws \UnexpectedValueException when the host name is invalid
- * @api
- * @static
- */
- public static function getHost(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getHost();
- }
-
- /**
- * Sets the request method.
- *
- * @param string $method
- * @api
- * @static
- */
- public static function setMethod($method){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setMethod($method);
- }
-
- /**
- * Gets the request "intended" method.
- *
- * If the X-HTTP-Method-Override header is set, and if the method is a POST,
- * then it is used to determine the "real" intended HTTP method.
- *
- * The _method request parameter can also be used to determine the HTTP method,
- * but only if enableHttpMethodParameterOverride() has been called.
- *
- * The method is always an uppercased string.
- *
- * @return string The request method
- * @api
- * @see getRealMethod
- * @static
- */
- public static function getMethod(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getMethod();
- }
-
- /**
- * Gets the "real" request method.
- *
- * @return string The request method
- * @see getMethod
- * @static
- */
- public static function getRealMethod(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRealMethod();
- }
-
- /**
- * Gets the mime type associated with the format.
- *
- * @param string $format The format
- * @return string The associated mime type (null if not found)
- * @api
- * @static
- */
- public static function getMimeType($format){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getMimeType($format);
- }
-
- /**
- * Gets the format associated with the mime type.
- *
- * @param string $mimeType The associated mime type
- * @return string|null The format (null if not found)
- * @api
- * @static
- */
- public static function getFormat($mimeType){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getFormat($mimeType);
- }
-
- /**
- * Associates a format with mime types.
- *
- * @param string $format The format
- * @param string|array $mimeTypes The associated mime types (the preferred one must be the first as it will be used as the content type)
- * @api
- * @static
- */
- public static function setFormat($format, $mimeTypes){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setFormat($format, $mimeTypes);
- }
-
- /**
- * Gets the request format.
- *
- * Here is the process to determine the format:
- *
- * * format defined by the user (with setRequestFormat())
- * * _format request parameter
- * * $default
- *
- * @param string $default The default format
- * @return string The request format
- * @api
- * @static
- */
- public static function getRequestFormat($default = 'html'){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getRequestFormat($default);
- }
-
- /**
- * Sets the request format.
- *
- * @param string $format The request format.
- * @api
- * @static
- */
- public static function setRequestFormat($format){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setRequestFormat($format);
- }
-
- /**
- * Gets the format associated with the request.
- *
- * @return string|null The format (null if no content type is present)
- * @api
- * @static
- */
- public static function getContentType(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getContentType();
- }
-
- /**
- * Sets the default locale.
- *
- * @param string $locale
- * @api
- * @static
- */
- public static function setDefaultLocale($locale){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setDefaultLocale($locale);
- }
-
- /**
- * Get the default locale.
- *
- * @return string
- * @static
- */
- public static function getDefaultLocale(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getDefaultLocale();
- }
-
- /**
- * Sets the locale.
- *
- * @param string $locale
- * @api
- * @static
- */
- public static function setLocale($locale){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::setLocale($locale);
- }
-
- /**
- * Get the locale.
- *
- * @return string
- * @static
- */
- public static function getLocale(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getLocale();
- }
-
- /**
- * Checks if the request method is of specified type.
- *
- * @param string $method Uppercase request method (GET, POST etc).
- * @return bool
- * @static
- */
- public static function isMethod($method){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isMethod($method);
- }
-
- /**
- * Checks whether the method is safe or not.
- *
- * @return bool
- * @api
- * @static
- */
- public static function isMethodSafe(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isMethodSafe();
- }
-
- /**
- * Returns the request body content.
- *
- * @param bool $asResource If true, a resource will be returned
- * @return string|resource The request body content or a resource to read the body stream.
- * @throws \LogicException
- * @static
- */
- public static function getContent($asResource = false){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getContent($asResource);
- }
-
- /**
- * Gets the Etags.
- *
- * @return array The entity tags
- * @static
- */
- public static function getETags(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getETags();
- }
-
- /**
- *
- *
- * @return bool
- * @static
- */
- public static function isNoCache(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isNoCache();
- }
-
- /**
- * Returns the preferred language.
- *
- * @param array $locales An array of ordered available locales
- * @return string|null The preferred locale
- * @api
- * @static
- */
- public static function getPreferredLanguage($locales = null){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getPreferredLanguage($locales);
- }
-
- /**
- * Gets a list of languages acceptable by the client browser.
- *
- * @return array Languages ordered in the user browser preferences
- * @api
- * @static
- */
- public static function getLanguages(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getLanguages();
- }
-
- /**
- * Gets a list of charsets acceptable by the client browser.
- *
- * @return array List of charsets in preferable order
- * @api
- * @static
- */
- public static function getCharsets(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getCharsets();
- }
-
- /**
- * Gets a list of encodings acceptable by the client browser.
- *
- * @return array List of encodings in preferable order
- * @static
- */
- public static function getEncodings(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getEncodings();
- }
-
- /**
- * Gets a list of content types acceptable by the client browser
- *
- * @return array List of content types in preferable order
- * @api
- * @static
- */
- public static function getAcceptableContentTypes(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::getAcceptableContentTypes();
- }
-
- /**
- * Returns true if the request is a XMLHttpRequest.
- *
- * It works if your JavaScript library set an X-Requested-With HTTP header.
- * It is known to work with common JavaScript frameworks:
- *
- * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
- * @return bool true if the request is an XMLHttpRequest, false otherwise
- * @api
- * @static
- */
- public static function isXmlHttpRequest(){
- //Method inherited from \Symfony\Component\HttpFoundation\Request
- return \Illuminate\Http\Request::isXmlHttpRequest();
- }
-
- }
-
-
- class Response extends \Illuminate\Support\Facades\Response{
-
- }
-
-
- class Route extends \Illuminate\Support\Facades\Route{
-
- /**
- * Register a new GET route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function get($uri, $action){
- return \Illuminate\Routing\Router::get($uri, $action);
- }
-
- /**
- * Register a new POST route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function post($uri, $action){
- return \Illuminate\Routing\Router::post($uri, $action);
- }
-
- /**
- * Register a new PUT route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function put($uri, $action){
- return \Illuminate\Routing\Router::put($uri, $action);
- }
-
- /**
- * Register a new PATCH route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function patch($uri, $action){
- return \Illuminate\Routing\Router::patch($uri, $action);
- }
-
- /**
- * Register a new DELETE route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function delete($uri, $action){
- return \Illuminate\Routing\Router::delete($uri, $action);
- }
-
- /**
- * Register a new OPTIONS route with the router.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function options($uri, $action){
- return \Illuminate\Routing\Router::options($uri, $action);
- }
-
- /**
- * Register a new route responding to all verbs.
- *
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function any($uri, $action){
- return \Illuminate\Routing\Router::any($uri, $action);
- }
-
- /**
- * Register a new route with the given verbs.
- *
- * @param array|string $methods
- * @param string $uri
- * @param \Closure|array|string $action
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function match($methods, $uri, $action){
- return \Illuminate\Routing\Router::match($methods, $uri, $action);
- }
-
- /**
- * Register an array of controllers with wildcard routing.
- *
- * @param array $controllers
- * @return void
- * @static
- */
- public static function controllers($controllers){
- \Illuminate\Routing\Router::controllers($controllers);
- }
-
- /**
- * Route a controller to a URI with wildcard routing.
- *
- * @param string $uri
- * @param string $controller
- * @param array $names
- * @return void
- * @static
- */
- public static function controller($uri, $controller, $names = array()){
- \Illuminate\Routing\Router::controller($uri, $controller, $names);
- }
-
- /**
- * Route a resource to a controller.
- *
- * @param string $name
- * @param string $controller
- * @param array $options
- * @return void
- * @static
- */
- public static function resource($name, $controller, $options = array()){
- \Illuminate\Routing\Router::resource($name, $controller, $options);
- }
-
- /**
- * Get the base resource URI for a given resource.
- *
- * @param string $resource
- * @return string
- * @static
- */
- public static function getResourceUri($resource){
- return \Illuminate\Routing\Router::getResourceUri($resource);
- }
-
- /**
- * Format a resource wildcard for usage.
- *
- * @param string $value
- * @return string
- * @static
- */
- public static function getResourceWildcard($value){
- return \Illuminate\Routing\Router::getResourceWildcard($value);
- }
-
- /**
- * Create a route group with shared attributes.
- *
- * @param array $attributes
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function group($attributes, $callback){
- \Illuminate\Routing\Router::group($attributes, $callback);
- }
-
- /**
- * Merge the given array with the last group stack.
- *
- * @param array $new
- * @return array
- * @static
- */
- public static function mergeWithLastGroup($new){
- return \Illuminate\Routing\Router::mergeWithLastGroup($new);
- }
-
- /**
- * Merge the given group attributes.
- *
- * @param array $new
- * @param array $old
- * @return array
- * @static
- */
- public static function mergeGroup($new, $old){
- return \Illuminate\Routing\Router::mergeGroup($new, $old);
- }
-
- /**
- * Dispatch the request to the application.
- *
- * @param \Illuminate\Http\Request $request
- * @return \Illuminate\Http\Response
- * @static
- */
- public static function dispatch($request){
- return \Illuminate\Routing\Router::dispatch($request);
- }
-
- /**
- * Dispatch the request to a route and return the response.
- *
- * @param \Illuminate\Http\Request $request
- * @return mixed
- * @static
- */
- public static function dispatchToRoute($request){
- return \Illuminate\Routing\Router::dispatchToRoute($request);
- }
-
- /**
- * Register a route matched event listener.
- *
- * @param callable $callback
- * @return void
- * @static
- */
- public static function matched($callback){
- \Illuminate\Routing\Router::matched($callback);
- }
-
- /**
- * Register a new "before" filter with the router.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function before($callback){
- \Illuminate\Routing\Router::before($callback);
- }
-
- /**
- * Register a new "after" filter with the router.
- *
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function after($callback){
- \Illuminate\Routing\Router::after($callback);
- }
-
- /**
- * Register a new filter with the router.
- *
- * @param string $name
- * @param mixed $callback
- * @return void
- * @static
- */
- public static function filter($name, $callback){
- \Illuminate\Routing\Router::filter($name, $callback);
- }
-
- /**
- * Register a pattern-based filter with the router.
- *
- * @param string $pattern
- * @param string $name
- * @param array|null $methods
- * @static
- */
- public static function when($pattern, $name, $methods = null){
- return \Illuminate\Routing\Router::when($pattern, $name, $methods);
- }
-
- /**
- * Register a regular expression based filter with the router.
- *
- * @param string $pattern
- * @param string $name
- * @param array|null $methods
- * @return void
- * @static
- */
- public static function whenRegex($pattern, $name, $methods = null){
- \Illuminate\Routing\Router::whenRegex($pattern, $name, $methods);
- }
-
- /**
- * Register a model binder for a wildcard.
- *
- * @param string $key
- * @param string $class
- * @param \Closure $callback
- * @return void
- * @throws NotFoundHttpException
- * @static
- */
- public static function model($key, $class, $callback = null){
- \Illuminate\Routing\Router::model($key, $class, $callback);
- }
-
- /**
- * Add a new route parameter binder.
- *
- * @param string $key
- * @param callable $binder
- * @return void
- * @static
- */
- public static function bind($key, $binder){
- \Illuminate\Routing\Router::bind($key, $binder);
- }
-
- /**
- * Set a global where pattern on all routes
- *
- * @param string $key
- * @param string $pattern
- * @return void
- * @static
- */
- public static function pattern($key, $pattern){
- \Illuminate\Routing\Router::pattern($key, $pattern);
- }
-
- /**
- * Call the given route's before filters.
- *
- * @param \Illuminate\Routing\Route $route
- * @param \Illuminate\Http\Request $request
- * @return mixed
- * @static
- */
- public static function callRouteBefore($route, $request){
- return \Illuminate\Routing\Router::callRouteBefore($route, $request);
- }
-
- /**
- * Find the patterned filters matching a request.
- *
- * @param \Illuminate\Http\Request $request
- * @return array
- * @static
- */
- public static function findPatternFilters($request){
- return \Illuminate\Routing\Router::findPatternFilters($request);
- }
-
- /**
- * Call the given route's before filters.
- *
- * @param \Illuminate\Routing\Route $route
- * @param \Illuminate\Http\Request $request
- * @param \Illuminate\Http\Response $response
- * @return mixed
- * @static
- */
- public static function callRouteAfter($route, $request, $response){
- return \Illuminate\Routing\Router::callRouteAfter($route, $request, $response);
- }
-
- /**
- * Call the given route filter.
- *
- * @param string $filter
- * @param array $parameters
- * @param \Illuminate\Routing\Route $route
- * @param \Illuminate\Http\Request $request
- * @param \Illuminate\Http\Response|null $response
- * @return mixed
- * @static
- */
- public static function callRouteFilter($filter, $parameters, $route, $request, $response = null){
- return \Illuminate\Routing\Router::callRouteFilter($filter, $parameters, $route, $request, $response);
- }
-
- /**
- * Run a callback with filters disable on the router.
- *
- * @param callable $callback
- * @return void
- * @static
- */
- public static function withoutFilters($callback){
- \Illuminate\Routing\Router::withoutFilters($callback);
- }
-
- /**
- * Enable route filtering on the router.
- *
- * @return void
- * @static
- */
- public static function enableFilters(){
- \Illuminate\Routing\Router::enableFilters();
- }
-
- /**
- * Disable route filtering on the router.
- *
- * @return void
- * @static
- */
- public static function disableFilters(){
- \Illuminate\Routing\Router::disableFilters();
- }
-
- /**
- * Get a route parameter for the current route.
- *
- * @param string $key
- * @param string $default
- * @return mixed
- * @static
- */
- public static function input($key, $default = null){
- return \Illuminate\Routing\Router::input($key, $default);
- }
-
- /**
- * Get the currently dispatched route instance.
- *
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function getCurrentRoute(){
- return \Illuminate\Routing\Router::getCurrentRoute();
- }
-
- /**
- * Get the currently dispatched route instance.
- *
- * @return \Illuminate\Routing\Route
- * @static
- */
- public static function current(){
- return \Illuminate\Routing\Router::current();
- }
-
- /**
- * Get the current route name.
- *
- * @return string|null
- * @static
- */
- public static function currentRouteName(){
- return \Illuminate\Routing\Router::currentRouteName();
- }
-
- /**
- * Determine if the current route matches a given name.
- *
- * @param string $name
- * @return bool
- * @static
- */
- public static function currentRouteNamed($name){
- return \Illuminate\Routing\Router::currentRouteNamed($name);
- }
-
- /**
- * Get the current route action.
- *
- * @return string|null
- * @static
- */
- public static function currentRouteAction(){
- return \Illuminate\Routing\Router::currentRouteAction();
- }
-
- /**
- * Determine if the current route action matches a given action.
- *
- * @param string $action
- * @return bool
- * @static
- */
- public static function currentRouteUses($action){
- return \Illuminate\Routing\Router::currentRouteUses($action);
- }
-
- /**
- * Get the request currently being dispatched.
- *
- * @return \Illuminate\Http\Request
- * @static
- */
- public static function getCurrentRequest(){
- return \Illuminate\Routing\Router::getCurrentRequest();
- }
-
- /**
- * Get the underlying route collection.
- *
- * @return \Illuminate\Routing\RouteCollection
- * @static
- */
- public static function getRoutes(){
- return \Illuminate\Routing\Router::getRoutes();
- }
-
- /**
- * Get the controller dispatcher instance.
- *
- * @return \Illuminate\Routing\ControllerDispatcher
- * @static
- */
- public static function getControllerDispatcher(){
- return \Illuminate\Routing\Router::getControllerDispatcher();
- }
-
- /**
- * Set the controller dispatcher instance.
- *
- * @param \Illuminate\Routing\ControllerDispatcher $dispatcher
- * @return void
- * @static
- */
- public static function setControllerDispatcher($dispatcher){
- \Illuminate\Routing\Router::setControllerDispatcher($dispatcher);
- }
-
- /**
- * Get a controller inspector instance.
- *
- * @return \Illuminate\Routing\ControllerInspector
- * @static
- */
- public static function getInspector(){
- return \Illuminate\Routing\Router::getInspector();
- }
-
- /**
- * Get the response for a given request.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return \Symfony\Component\HttpFoundation\Response
- * @static
- */
- public static function handle($request, $type = 1, $catch = true){
- return \Illuminate\Routing\Router::handle($request, $type, $catch);
- }
-
- }
-
-
- class Schema extends \Illuminate\Support\Facades\Schema{
-
- /**
- * Determine if the given table exists.
- *
- * @param string $table
- * @return bool
- * @static
- */
- public static function hasTable($table){
- return \Illuminate\Database\Schema\MySqlBuilder::hasTable($table);
- }
-
- /**
- * Determine if the given table has a given column.
- *
- * @param string $table
- * @param string $column
- * @return bool
- * @static
- */
- public static function hasColumn($table, $column){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::hasColumn($table, $column);
- }
-
- /**
- * Modify a table on the schema.
- *
- * @param string $table
- * @param \Closure $callback
- * @return \Illuminate\Database\Schema\Blueprint
- * @static
- */
- public static function table($table, $callback){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::table($table, $callback);
- }
-
- /**
- * Create a new table on the schema.
- *
- * @param string $table
- * @param \Closure $callback
- * @return \Illuminate\Database\Schema\Blueprint
- * @static
- */
- public static function create($table, $callback){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::create($table, $callback);
- }
-
- /**
- * Drop a table from the schema.
- *
- * @param string $table
- * @return \Illuminate\Database\Schema\Blueprint
- * @static
- */
- public static function drop($table){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::drop($table);
- }
-
- /**
- * Drop a table from the schema if it exists.
- *
- * @param string $table
- * @return \Illuminate\Database\Schema\Blueprint
- * @static
- */
- public static function dropIfExists($table){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::dropIfExists($table);
- }
-
- /**
- * Rename a table on the schema.
- *
- * @param string $from
- * @param string $to
- * @return \Illuminate\Database\Schema\Blueprint
- * @static
- */
- public static function rename($from, $to){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::rename($from, $to);
- }
-
- /**
- * Get the database connection instance.
- *
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function getConnection(){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::getConnection();
- }
-
- /**
- * Set the database connection instance.
- *
- * @param \Illuminate\Database\Connection
- * @return \Illuminate\Database\Schema\Builder
- * @static
- */
- public static function setConnection($connection){
- //Method inherited from \Illuminate\Database\Schema\Builder
- return \Illuminate\Database\Schema\MySqlBuilder::setConnection($connection);
- }
-
- /**
- * Set the Schema Blueprint resolver callback.
- *
- * @param \Closure $resolver
- * @return void
- * @static
- */
- public static function blueprintResolver($resolver){
- //Method inherited from \Illuminate\Database\Schema\Builder
- \Illuminate\Database\Schema\MySqlBuilder::blueprintResolver($resolver);
- }
-
- }
-
-
- class Seeder extends \Illuminate\Database\Seeder{
-
- }
-
-
- class Session extends \Illuminate\Support\Facades\Session{
-
- /**
- * Get the session configuration.
- *
- * @return array
- * @static
- */
- public static function getSessionConfig(){
- return \Illuminate\Session\SessionManager::getSessionConfig();
- }
-
- /**
- * Get the default session driver name.
- *
- * @return string
- * @static
- */
- public static function getDefaultDriver(){
- return \Illuminate\Session\SessionManager::getDefaultDriver();
- }
-
- /**
- * Set the default session driver name.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultDriver($name){
- \Illuminate\Session\SessionManager::setDefaultDriver($name);
- }
-
- /**
- * Get a driver instance.
- *
- * @param string $driver
- * @return mixed
- * @static
- */
- public static function driver($driver = null){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Session\SessionManager::driver($driver);
- }
-
- /**
- * Register a custom driver creator Closure.
- *
- * @param string $driver
- * @param \Closure $callback
- * @return \Illuminate\Support\Manager|static
- * @static
- */
- public static function extend($driver, $callback){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Session\SessionManager::extend($driver, $callback);
- }
-
- /**
- * Get all of the created "drivers".
- *
- * @return array
- * @static
- */
- public static function getDrivers(){
- //Method inherited from \Illuminate\Support\Manager
- return \Illuminate\Session\SessionManager::getDrivers();
- }
-
- /**
- * Starts the session storage.
- *
- * @return bool True if session started.
- * @throws \RuntimeException If session fails to start.
- * @api
- * @static
- */
- public static function start(){
- return \Illuminate\Session\Store::start();
- }
-
- /**
- * Returns the session ID.
- *
- * @return string The session ID.
- * @api
- * @static
- */
- public static function getId(){
- return \Illuminate\Session\Store::getId();
- }
-
- /**
- * Sets the session ID
- *
- * @param string $id
- * @api
- * @static
- */
- public static function setId($id){
- return \Illuminate\Session\Store::setId($id);
- }
-
- /**
- * Returns the session name.
- *
- * @return mixed The session name.
- * @api
- * @static
- */
- public static function getName(){
- return \Illuminate\Session\Store::getName();
- }
-
- /**
- * Sets the session name.
- *
- * @param string $name
- * @api
- * @static
- */
- public static function setName($name){
- return \Illuminate\Session\Store::setName($name);
- }
-
- /**
- * Invalidates the current session.
- *
- * Clears all session attributes and flashes and regenerates the
- * session and deletes the old session from persistence.
- *
- * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
- * will leave the system settings unchanged, 0 sets the cookie
- * to expire with browser session. Time is in seconds, and is
- * not a Unix timestamp.
- * @return bool True if session invalidated, false if error.
- * @api
- * @static
- */
- public static function invalidate($lifetime = null){
- return \Illuminate\Session\Store::invalidate($lifetime);
- }
-
- /**
- * Migrates the current session to a new session id while maintaining all
- * session attributes.
- *
- * @param bool $destroy Whether to delete the old session or leave it to garbage collection.
- * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
- * will leave the system settings unchanged, 0 sets the cookie
- * to expire with browser session. Time is in seconds, and is
- * not a Unix timestamp.
- * @return bool True if session migrated, false if error.
- * @api
- * @static
- */
- public static function migrate($destroy = false, $lifetime = null){
- return \Illuminate\Session\Store::migrate($destroy, $lifetime);
- }
-
- /**
- * Generate a new session identifier.
- *
- * @param bool $destroy
- * @return bool
- * @static
- */
- public static function regenerate($destroy = false){
- return \Illuminate\Session\Store::regenerate($destroy);
- }
-
- /**
- * Force the session to be saved and closed.
- *
- * This method is generally not required for real sessions as
- * the session will be automatically saved at the end of
- * code execution.
- *
- * @static
- */
- public static function save(){
- return \Illuminate\Session\Store::save();
- }
-
- /**
- * Age the flash data for the session.
- *
- * @return void
- * @static
- */
- public static function ageFlashData(){
- \Illuminate\Session\Store::ageFlashData();
- }
-
- /**
- * Checks if an attribute is defined.
- *
- * @param string $name The attribute name
- * @return bool true if the attribute is defined, false otherwise
- * @api
- * @static
- */
- public static function has($name){
- return \Illuminate\Session\Store::has($name);
- }
-
- /**
- * Returns an attribute.
- *
- * @param string $name The attribute name
- * @param mixed $default The default value if not found.
- * @return mixed
- * @api
- * @static
- */
- public static function get($name, $default = null){
- return \Illuminate\Session\Store::get($name, $default);
- }
-
- /**
- * Determine if the session contains old input.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasOldInput($key = null){
- return \Illuminate\Session\Store::hasOldInput($key);
- }
-
- /**
- * Get the requested item from the flashed input array.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function getOldInput($key = null, $default = null){
- return \Illuminate\Session\Store::getOldInput($key, $default);
- }
-
- /**
- * Sets an attribute.
- *
- * @param string $name
- * @param mixed $value
- * @api
- * @static
- */
- public static function set($name, $value){
- return \Illuminate\Session\Store::set($name, $value);
- }
-
- /**
- * Put a key / value pair or array of key / value pairs in the session.
- *
- * @param string|array $key
- * @param mixed|null $value
- * @return void
- * @static
- */
- public static function put($key, $value){
- \Illuminate\Session\Store::put($key, $value);
- }
-
- /**
- * Push a value onto a session array.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function push($key, $value){
- \Illuminate\Session\Store::push($key, $value);
- }
-
- /**
- * Flash a key / value pair to the session.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function flash($key, $value){
- \Illuminate\Session\Store::flash($key, $value);
- }
-
- /**
- * Flash an input array to the session.
- *
- * @param array $value
- * @return void
- * @static
- */
- public static function flashInput($value){
- \Illuminate\Session\Store::flashInput($value);
- }
-
- /**
- * Reflash all of the session flash data.
- *
- * @return void
- * @static
- */
- public static function reflash(){
- \Illuminate\Session\Store::reflash();
- }
-
- /**
- * Reflash a subset of the current flash data.
- *
- * @param array|mixed $keys
- * @return void
- * @static
- */
- public static function keep($keys = null){
- \Illuminate\Session\Store::keep($keys);
- }
-
- /**
- * Returns attributes.
- *
- * @return array Attributes
- * @api
- * @static
- */
- public static function all(){
- return \Illuminate\Session\Store::all();
- }
-
- /**
- * Sets attributes.
- *
- * @param array $attributes Attributes
- * @static
- */
- public static function replace($attributes){
- return \Illuminate\Session\Store::replace($attributes);
- }
-
- /**
- * Removes an attribute.
- *
- * @param string $name
- * @return mixed The removed value or null when it does not exist
- * @api
- * @static
- */
- public static function remove($name){
- return \Illuminate\Session\Store::remove($name);
- }
-
- /**
- * Remove an item from the session.
- *
- * @param string $key
- * @return void
- * @static
- */
- public static function forget($key){
- \Illuminate\Session\Store::forget($key);
- }
-
- /**
- * Clears all attributes.
- *
- * @api
- * @static
- */
- public static function clear(){
- return \Illuminate\Session\Store::clear();
- }
-
- /**
- * Remove all of the items from the session.
- *
- * @return void
- * @static
- */
- public static function flush(){
- \Illuminate\Session\Store::flush();
- }
-
- /**
- * Checks if the session was started.
- *
- * @return bool
- * @static
- */
- public static function isStarted(){
- return \Illuminate\Session\Store::isStarted();
- }
-
- /**
- * Registers a SessionBagInterface with the session.
- *
- * @param \Symfony\Component\HttpFoundation\Session\SessionBagInterface $bag
- * @static
- */
- public static function registerBag($bag){
- return \Illuminate\Session\Store::registerBag($bag);
- }
-
- /**
- * Gets a bag instance by name.
- *
- * @param string $name
- * @return \Symfony\Component\HttpFoundation\Session\SessionBagInterface
- * @static
- */
- public static function getBag($name){
- return \Illuminate\Session\Store::getBag($name);
- }
-
- /**
- * Gets session meta.
- *
- * @return \Symfony\Component\HttpFoundation\Session\MetadataBag
- * @static
- */
- public static function getMetadataBag(){
- return \Illuminate\Session\Store::getMetadataBag();
- }
-
- /**
- * Get the raw bag data array for a given bag.
- *
- * @param string $name
- * @return array
- * @static
- */
- public static function getBagData($name){
- return \Illuminate\Session\Store::getBagData($name);
- }
-
- /**
- * Get the CSRF token value.
- *
- * @return string
- * @static
- */
- public static function token(){
- return \Illuminate\Session\Store::token();
- }
-
- /**
- * Get the CSRF token value.
- *
- * @return string
- * @static
- */
- public static function getToken(){
- return \Illuminate\Session\Store::getToken();
- }
-
- /**
- * Regenerate the CSRF token value.
- *
- * @return void
- * @static
- */
- public static function regenerateToken(){
- \Illuminate\Session\Store::regenerateToken();
- }
-
- /**
- * Get the underlying session handler implementation.
- *
- * @return \SessionHandlerInterface
- * @static
- */
- public static function getHandler(){
- return \Illuminate\Session\Store::getHandler();
- }
-
- /**
- * Determine if the session handler needs a request.
- *
- * @return bool
- * @static
- */
- public static function handlerNeedsRequest(){
- return \Illuminate\Session\Store::handlerNeedsRequest();
- }
-
- /**
- * Set the request on the handler instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return void
- * @static
- */
- public static function setRequestOnHandler($request){
- \Illuminate\Session\Store::setRequestOnHandler($request);
- }
-
- }
-
-
- class Str extends \Illuminate\Support\Str{
-
- }
-
-
- class URL extends \Illuminate\Support\Facades\URL{
-
- /**
- * Get the full URL for the current request.
- *
- * @return string
- * @static
- */
- public static function full(){
- return \Illuminate\Routing\UrlGenerator::full();
- }
-
- /**
- * Get the current URL for the request.
- *
- * @return string
- * @static
- */
- public static function current(){
- return \Illuminate\Routing\UrlGenerator::current();
- }
-
- /**
- * Get the URL for the previous request.
- *
- * @return string
- * @static
- */
- public static function previous(){
- return \Illuminate\Routing\UrlGenerator::previous();
- }
-
- /**
- * Generate a absolute URL to the given path.
- *
- * @param string $path
- * @param mixed $extra
- * @param bool $secure
- * @return string
- * @static
- */
- public static function to($path, $extra = array(), $secure = null){
- return \Illuminate\Routing\UrlGenerator::to($path, $extra, $secure);
- }
-
- /**
- * Generate a secure, absolute URL to the given path.
- *
- * @param string $path
- * @param array $parameters
- * @return string
- * @static
- */
- public static function secure($path, $parameters = array()){
- return \Illuminate\Routing\UrlGenerator::secure($path, $parameters);
- }
-
- /**
- * Generate a URL to an application asset.
- *
- * @param string $path
- * @param bool $secure
- * @return string
- * @static
- */
- public static function asset($path, $secure = null){
- return \Illuminate\Routing\UrlGenerator::asset($path, $secure);
- }
-
- /**
- * Generate a URL to a secure asset.
- *
- * @param string $path
- * @return string
- * @static
- */
- public static function secureAsset($path){
- return \Illuminate\Routing\UrlGenerator::secureAsset($path);
- }
-
- /**
- * Get the URL to a named route.
- *
- * @param string $name
- * @param mixed $parameters
- * @param bool $absolute
- * @param \Illuminate\Routing\Route $route
- * @return string
- * @throws \InvalidArgumentException
- * @static
- */
- public static function route($name, $parameters = array(), $absolute = true, $route = null){
- return \Illuminate\Routing\UrlGenerator::route($name, $parameters, $absolute, $route);
- }
-
- /**
- * Get the URL to a controller action.
- *
- * @param string $action
- * @param mixed $parameters
- * @param bool $absolute
- * @return string
- * @static
- */
- public static function action($action, $parameters = array(), $absolute = true){
- return \Illuminate\Routing\UrlGenerator::action($action, $parameters, $absolute);
- }
-
- /**
- * Determine if the given path is a valid URL.
- *
- * @param string $path
- * @return bool
- * @static
- */
- public static function isValidUrl($path){
- return \Illuminate\Routing\UrlGenerator::isValidUrl($path);
- }
-
- /**
- * Get the request instance.
- *
- * @return \Symfony\Component\HttpFoundation\Request
- * @static
- */
- public static function getRequest(){
- return \Illuminate\Routing\UrlGenerator::getRequest();
- }
-
- /**
- * Set the current request instance.
- *
- * @param \Symfony\Component\HttpFoundation\Request $request
- * @return void
- * @static
- */
- public static function setRequest($request){
- \Illuminate\Routing\UrlGenerator::setRequest($request);
- }
-
- }
-
-
- class Validator extends \Illuminate\Support\Facades\Validator{
-
- /**
- * Create a new Validator instance.
- *
- * @param array $data
- * @param array $rules
- * @param array $messages
- * @return \Illuminate\Validation\Validator
- * @static
- */
- public static function make($data, $rules, $messages = array(), $customAttributes = array()){
- return \Illuminate\Validation\Factory::make($data, $rules, $messages, $customAttributes);
- }
-
- /**
- * Register a custom validator extension.
- *
- * @param string $rule
- * @param \Closure|string $extension
- * @param string $message
- * @return void
- * @static
- */
- public static function extend($rule, $extension, $message = null){
- \Illuminate\Validation\Factory::extend($rule, $extension, $message);
- }
-
- /**
- * Register a custom implicit validator extension.
- *
- * @param string $rule
- * @param \Closure|string $extension
- * @param string $message
- * @return void
- * @static
- */
- public static function extendImplicit($rule, $extension, $message = null){
- \Illuminate\Validation\Factory::extendImplicit($rule, $extension, $message);
- }
-
- /**
- * Register a custom implicit validator message replacer.
- *
- * @param string $rule
- * @param \Closure|string $replacer
- * @return void
- * @static
- */
- public static function replacer($rule, $replacer){
- \Illuminate\Validation\Factory::replacer($rule, $replacer);
- }
-
- /**
- * Set the Validator instance resolver.
- *
- * @param \Closure $resolver
- * @return void
- * @static
- */
- public static function resolver($resolver){
- \Illuminate\Validation\Factory::resolver($resolver);
- }
-
- /**
- * Get the Translator implementation.
- *
- * @return \Symfony\Component\Translation\TranslatorInterface
- * @static
- */
- public static function getTranslator(){
- return \Illuminate\Validation\Factory::getTranslator();
- }
-
- /**
- * Get the Presence Verifier implementation.
- *
- * @return \Illuminate\Validation\PresenceVerifierInterface
- * @static
- */
- public static function getPresenceVerifier(){
- return \Illuminate\Validation\Factory::getPresenceVerifier();
- }
-
- /**
- * Set the Presence Verifier implementation.
- *
- * @param \Illuminate\Validation\PresenceVerifierInterface $presenceVerifier
- * @return void
- * @static
- */
- public static function setPresenceVerifier($presenceVerifier){
- \Illuminate\Validation\Factory::setPresenceVerifier($presenceVerifier);
- }
-
- }
-
-
- class View extends \Illuminate\Support\Facades\View{
-
- /**
- * Get the evaluated view contents for the given view.
- *
- * @param string $view
- * @param array $data
- * @param array $mergeData
- * @return \Illuminate\View\View
- * @static
- */
- public static function make($view, $data = array(), $mergeData = array()){
- return \Illuminate\View\Environment::make($view, $data, $mergeData);
- }
-
- /**
- * Get the evaluated view contents for a named view.
- *
- * @param string $view
- * @param mixed $data
- * @return \Illuminate\View\View
- * @static
- */
- public static function of($view, $data = array()){
- return \Illuminate\View\Environment::of($view, $data);
- }
-
- /**
- * Register a named view.
- *
- * @param string $view
- * @param string $name
- * @return void
- * @static
- */
- public static function name($view, $name){
- \Illuminate\View\Environment::name($view, $name);
- }
-
- /**
- * Determine if a given view exists.
- *
- * @param string $view
- * @return bool
- * @static
- */
- public static function exists($view){
- return \Illuminate\View\Environment::exists($view);
- }
-
- /**
- * Get the rendered contents of a partial from a loop.
- *
- * @param string $view
- * @param array $data
- * @param string $iterator
- * @param string $empty
- * @return string
- * @static
- */
- public static function renderEach($view, $data, $iterator, $empty = 'raw|'){
- return \Illuminate\View\Environment::renderEach($view, $data, $iterator, $empty);
- }
-
- /**
- * Add a piece of shared data to the environment.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function share($key, $value = null){
- \Illuminate\View\Environment::share($key, $value);
- }
-
- /**
- * Register a view creator event.
- *
- * @param array|string $views
- * @param \Closure|string $callback
- * @return array
- * @static
- */
- public static function creator($views, $callback){
- return \Illuminate\View\Environment::creator($views, $callback);
- }
-
- /**
- * Register multiple view composers via an array.
- *
- * @param array $composers
- * @return array
- * @static
- */
- public static function composers($composers){
- return \Illuminate\View\Environment::composers($composers);
- }
-
- /**
- * Register a view composer event.
- *
- * @param array|string $views
- * @param \Closure|string $callback
- * @return array
- * @static
- */
- public static function composer($views, $callback, $priority = null){
- return \Illuminate\View\Environment::composer($views, $callback, $priority);
- }
-
- /**
- * Call the composer for a given view.
- *
- * @param \Illuminate\View\View $view
- * @return void
- * @static
- */
- public static function callComposer($view){
- \Illuminate\View\Environment::callComposer($view);
- }
-
- /**
- * Call the creator for a given view.
- *
- * @param \Illuminate\View\View $view
- * @return void
- * @static
- */
- public static function callCreator($view){
- \Illuminate\View\Environment::callCreator($view);
- }
-
- /**
- * Start injecting content into a section.
- *
- * @param string $section
- * @param string $content
- * @return void
- * @static
- */
- public static function startSection($section, $content = ''){
- \Illuminate\View\Environment::startSection($section, $content);
- }
-
- /**
- * Inject inline content into a section.
- *
- * @param string $section
- * @param string $content
- * @return void
- * @static
- */
- public static function inject($section, $content){
- \Illuminate\View\Environment::inject($section, $content);
- }
-
- /**
- * Stop injecting content into a section and return its contents.
- *
- * @return string
- * @static
- */
- public static function yieldSection(){
- return \Illuminate\View\Environment::yieldSection();
- }
-
- /**
- * Stop injecting content into a section.
- *
- * @param bool $overwrite
- * @return string
- * @static
- */
- public static function stopSection($overwrite = false){
- return \Illuminate\View\Environment::stopSection($overwrite);
- }
-
- /**
- * Stop injecting content into a section and append it.
- *
- * @return string
- * @static
- */
- public static function appendSection(){
- return \Illuminate\View\Environment::appendSection();
- }
-
- /**
- * Get the string contents of a section.
- *
- * @param string $section
- * @param string $default
- * @return string
- * @static
- */
- public static function yieldContent($section, $default = ''){
- return \Illuminate\View\Environment::yieldContent($section, $default);
- }
-
- /**
- * Flush all of the section contents.
- *
- * @return void
- * @static
- */
- public static function flushSections(){
- \Illuminate\View\Environment::flushSections();
- }
-
- /**
- * Flush all of the section contents if done rendering.
- *
- * @return void
- * @static
- */
- public static function flushSectionsIfDoneRendering(){
- \Illuminate\View\Environment::flushSectionsIfDoneRendering();
- }
-
- /**
- * Increment the rendering counter.
- *
- * @return void
- * @static
- */
- public static function incrementRender(){
- \Illuminate\View\Environment::incrementRender();
- }
-
- /**
- * Decrement the rendering counter.
- *
- * @return void
- * @static
- */
- public static function decrementRender(){
- \Illuminate\View\Environment::decrementRender();
- }
-
- /**
- * Check if there are no active render operations.
- *
- * @return bool
- * @static
- */
- public static function doneRendering(){
- return \Illuminate\View\Environment::doneRendering();
- }
-
- /**
- * Add a location to the array of view locations.
- *
- * @param string $location
- * @return void
- * @static
- */
- public static function addLocation($location){
- \Illuminate\View\Environment::addLocation($location);
- }
-
- /**
- * Add a new namespace to the loader.
- *
- * @param string $namespace
- * @param string|array $hints
- * @return void
- * @static
- */
- public static function addNamespace($namespace, $hints){
- \Illuminate\View\Environment::addNamespace($namespace, $hints);
- }
-
- /**
- * Prepend a new namespace to the loader.
- *
- * @param string $namespace
- * @param string|array $hints
- * @return void
- * @static
- */
- public static function prependNamespace($namespace, $hints){
- \Illuminate\View\Environment::prependNamespace($namespace, $hints);
- }
-
- /**
- * Register a valid view extension and its engine.
- *
- * @param string $extension
- * @param string $engine
- * @param \Closure $resolver
- * @return void
- * @static
- */
- public static function addExtension($extension, $engine, $resolver = null){
- \Illuminate\View\Environment::addExtension($extension, $engine, $resolver);
- }
-
- /**
- * Get the extension to engine bindings.
- *
- * @return array
- * @static
- */
- public static function getExtensions(){
- return \Illuminate\View\Environment::getExtensions();
- }
-
- /**
- * Get the engine resolver instance.
- *
- * @return \Illuminate\View\Engines\EngineResolver
- * @static
- */
- public static function getEngineResolver(){
- return \Illuminate\View\Environment::getEngineResolver();
- }
-
- /**
- * Get the view finder instance.
- *
- * @return \Illuminate\View\ViewFinderInterface
- * @static
- */
- public static function getFinder(){
- return \Illuminate\View\Environment::getFinder();
- }
-
- /**
- * Set the view finder instance.
- *
- * @return void
- * @static
- */
- public static function setFinder($finder){
- \Illuminate\View\Environment::setFinder($finder);
- }
-
- /**
- * Get the event dispatcher instance.
- *
- * @return \Illuminate\Events\Dispatcher
- * @static
- */
- public static function getDispatcher(){
- return \Illuminate\View\Environment::getDispatcher();
- }
-
- /**
- * Set the event dispatcher instance.
- *
- * @param \Illuminate\Events\Dispatcher
- * @return void
- * @static
- */
- public static function setDispatcher($events){
- \Illuminate\View\Environment::setDispatcher($events);
- }
-
- /**
- * Get the IoC container instance.
- *
- * @return \Illuminate\Container\Container
- * @static
- */
- public static function getContainer(){
- return \Illuminate\View\Environment::getContainer();
- }
-
- /**
- * Set the IoC container instance.
- *
- * @param \Illuminate\Container\Container $container
- * @return void
- * @static
- */
- public static function setContainer($container){
- \Illuminate\View\Environment::setContainer($container);
- }
-
- /**
- * Get an item from the shared data.
- *
- * @param string $key
- * @param mixed $default
- * @return mixed
- * @static
- */
- public static function shared($key, $default = null){
- return \Illuminate\View\Environment::shared($key, $default);
- }
-
- /**
- * Get all of the shared data for the environment.
- *
- * @return array
- * @static
- */
- public static function getShared(){
- return \Illuminate\View\Environment::getShared();
- }
-
- /**
- * Get the entire array of sections.
- *
- * @return array
- * @static
- */
- public static function getSections(){
- return \Illuminate\View\Environment::getSections();
- }
-
- /**
- * Get all of the registered named views in environment.
- *
- * @return array
- * @static
- */
- public static function getNames(){
- return \Illuminate\View\Environment::getNames();
- }
-
- }
-
-
- class SSH extends \Illuminate\Support\Facades\SSH{
-
- /**
- * Get a remote connection instance.
- *
- * @param string|array|mixed $name
- * @return \Illuminate\Remote\Connection
- * @static
- */
- public static function into($name){
- return \Illuminate\Remote\RemoteManager::into($name);
- }
-
- /**
- * Get a remote connection instance.
- *
- * @param string|array $name
- * @return \Illuminate\Remote\Connection
- * @static
- */
- public static function connection($name = null){
- return \Illuminate\Remote\RemoteManager::connection($name);
- }
-
- /**
- * Get a connection group instance by name.
- *
- * @param string $name
- * @return \Illuminate\Remote\Connection
- * @static
- */
- public static function group($name){
- return \Illuminate\Remote\RemoteManager::group($name);
- }
-
- /**
- * Resolve a multiple connection instance.
- *
- * @param array $names
- * @return \Illuminate\Remote\MultiConnection
- * @static
- */
- public static function multiple($names){
- return \Illuminate\Remote\RemoteManager::multiple($names);
- }
-
- /**
- * Resolve a remote connection instance.
- *
- * @param string $name
- * @return \Illuminate\Remote\Connection
- * @static
- */
- public static function resolve($name){
- return \Illuminate\Remote\RemoteManager::resolve($name);
- }
-
- /**
- * Get the default connection name.
- *
- * @return string
- * @static
- */
- public static function getDefaultConnection(){
- return \Illuminate\Remote\RemoteManager::getDefaultConnection();
- }
-
- /**
- * Set the default connection name.
- *
- * @param string $name
- * @return void
- * @static
- */
- public static function setDefaultConnection($name){
- \Illuminate\Remote\RemoteManager::setDefaultConnection($name);
- }
-
- /**
- * Define a set of commands as a task.
- *
- * @param string $task
- * @param string|array $commands
- * @return void
- * @static
- */
- public static function define($task, $commands){
- \Illuminate\Remote\Connection::define($task, $commands);
- }
-
- /**
- * Run a task against the connection.
- *
- * @param string $task
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function task($task, $callback = null){
- \Illuminate\Remote\Connection::task($task, $callback);
- }
-
- /**
- * Run a set of commands against the connection.
- *
- * @param string|array $commands
- * @param \Closure $callback
- * @return void
- * @static
- */
- public static function run($commands, $callback = null){
- \Illuminate\Remote\Connection::run($commands, $callback);
- }
-
- /**
- * Download the contents of a remote file.
- *
- * @param string $remote
- * @param string $local
- * @return void
- * @static
- */
- public static function get($remote, $local){
- \Illuminate\Remote\Connection::get($remote, $local);
- }
-
- /**
- * Get the contents of a remote file.
- *
- * @param string $remote
- * @return string
- * @static
- */
- public static function getString($remote){
- return \Illuminate\Remote\Connection::getString($remote);
- }
-
- /**
- * Upload a local file to the server.
- *
- * @param string $local
- * @param string $remote
- * @return void
- * @static
- */
- public static function put($local, $remote){
- \Illuminate\Remote\Connection::put($local, $remote);
- }
-
- /**
- * Upload a string to to the given file on the server.
- *
- * @param string $remote
- * @param string $contents
- * @return void
- * @static
- */
- public static function putString($remote, $contents){
- \Illuminate\Remote\Connection::putString($remote, $contents);
- }
-
- /**
- * Display the given line using the default output.
- *
- * @param string $line
- * @return void
- * @static
- */
- public static function display($line){
- \Illuminate\Remote\Connection::display($line);
- }
-
- /**
- * Get the exit status of the last command.
- *
- * @return int|bool
- * @static
- */
- public static function status(){
- return \Illuminate\Remote\Connection::status();
- }
-
- /**
- * Get the gateway implementation.
- *
- * @return \Illuminate\Remote\GatewayInterface
- * @throws \RuntimeException
- * @static
- */
- public static function getGateway(){
- return \Illuminate\Remote\Connection::getGateway();
- }
-
- /**
- * Get the output implementation for the connection.
- *
- * @return \Symfony\Component\Console\Output\OutputInterface
- * @static
- */
- public static function getOutput(){
- return \Illuminate\Remote\Connection::getOutput();
- }
-
- /**
- * Set the output implementation.
- *
- * @param \Symfony\Component\Console\Output\OutputInterface $output
- * @return void
- * @static
- */
- public static function setOutput($output){
- \Illuminate\Remote\Connection::setOutput($output);
- }
-
- }
-
-
- class Alert extends \Bootstrapper\Alert{
-
- }
-
-
- class Badge extends \Bootstrapper\Badge{
-
- }
-
-
- class Breadcrumb extends \Bootstrapper\Breadcrumb{
-
- }
-
-
- class Button extends \Bootstrapper\Button{
-
- }
-
-
- class ButtonGroup extends \Bootstrapper\ButtonGroup{
-
- }
-
-
- class ButtonToolbar extends \Bootstrapper\ButtonToolbar{
-
- }
-
-
- class Carousel extends \Bootstrapper\Carousel{
-
- }
-
-
- class DropdownButton extends \Bootstrapper\DropdownButton{
-
- }
-
-
- class Form extends \Bootstrapper\Form{
-
- /**
- * Open up a new HTML form.
- *
- * @param array $options
- * @return string
- * @static
- */
- public static function open($options = array()){
- return \Illuminate\Html\FormBuilder::open($options);
- }
-
- /**
- * Create a new model based form builder.
- *
- * @param mixed $model
- * @param array $options
- * @return string
- * @static
- */
- public static function model($model, $options = array()){
- return \Illuminate\Html\FormBuilder::model($model, $options);
- }
-
- /**
- * Set the model instance on the form builder.
- *
- * @param mixed $model
- * @return void
- * @static
- */
- public static function setModel($model){
- \Illuminate\Html\FormBuilder::setModel($model);
- }
-
- /**
- * Close the current form.
- *
- * @return string
- * @static
- */
- public static function close(){
- return \Illuminate\Html\FormBuilder::close();
- }
-
- /**
- * Generate a hidden field with the current CSRF token.
- *
- * @return string
- * @static
- */
- public static function token(){
- return \Illuminate\Html\FormBuilder::token();
- }
-
- /**
- * Create a form label element.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function label($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::label($name, $value, $options);
- }
-
- /**
- * Create a form input field.
- *
- * @param string $type
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function input($type, $name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::input($type, $name, $value, $options);
- }
-
- /**
- * Create a text input field.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function text($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::text($name, $value, $options);
- }
-
- /**
- * Create a password input field.
- *
- * @param string $name
- * @param array $options
- * @return string
- * @static
- */
- public static function password($name, $options = array()){
- return \Illuminate\Html\FormBuilder::password($name, $options);
- }
-
- /**
- * Create a hidden input field.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function hidden($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::hidden($name, $value, $options);
- }
-
- /**
- * Create an e-mail input field.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function email($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::email($name, $value, $options);
- }
-
- /**
- * Create a url input field.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function url($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::url($name, $value, $options);
- }
-
- /**
- * Create a file input field.
- *
- * @param string $name
- * @param array $options
- * @return string
- * @static
- */
- public static function file($name, $options = array()){
- return \Illuminate\Html\FormBuilder::file($name, $options);
- }
-
- /**
- * Create a textarea input field.
- *
- * @param string $name
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function textarea($name, $value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::textarea($name, $value, $options);
- }
-
- /**
- * Create a select box field.
- *
- * @param string $name
- * @param array $list
- * @param string $selected
- * @param array $options
- * @return string
- * @static
- */
- public static function select($name, $list = array(), $selected = null, $options = array()){
- return \Illuminate\Html\FormBuilder::select($name, $list, $selected, $options);
- }
-
- /**
- * Create a select range field.
- *
- * @param string $name
- * @param string $begin
- * @param string $end
- * @param string $selected
- * @param array $options
- * @return string
- * @static
- */
- public static function selectRange($name, $begin, $end, $selected = null, $options = array()){
- return \Illuminate\Html\FormBuilder::selectRange($name, $begin, $end, $selected, $options);
- }
-
- /**
- * Create a select year field.
- *
- * @param string $name
- * @param string $begin
- * @param string $end
- * @param string $selected
- * @param array $options
- * @return string
- * @static
- */
- public static function selectYear(){
- return \Illuminate\Html\FormBuilder::selectYear();
- }
-
- /**
- * Create a select month field.
- *
- * @param string $name
- * @param string $selected
- * @param array $options
- * @return string
- * @static
- */
- public static function selectMonth($name, $selected = null, $options = array()){
- return \Illuminate\Html\FormBuilder::selectMonth($name, $selected, $options);
- }
-
- /**
- * Get the select option for the given value.
- *
- * @param string $display
- * @param string $value
- * @param string $selected
- * @return string
- * @static
- */
- public static function getSelectOption($display, $value, $selected){
- return \Illuminate\Html\FormBuilder::getSelectOption($display, $value, $selected);
- }
-
- /**
- * Create a checkbox input field.
- *
- * @param string $name
- * @param mixed $value
- * @param bool $checked
- * @param array $options
- * @return string
- * @static
- */
- public static function checkbox($name, $value = 1, $checked = null, $options = array()){
- return \Illuminate\Html\FormBuilder::checkbox($name, $value, $checked, $options);
- }
-
- /**
- * Create a radio button input field.
- *
- * @param string $name
- * @param mixed $value
- * @param bool $checked
- * @param array $options
- * @return string
- * @static
- */
- public static function radio($name, $value = null, $checked = null, $options = array()){
- return \Illuminate\Html\FormBuilder::radio($name, $value, $checked, $options);
- }
-
- /**
- * Create a HTML reset input element.
- *
- * @param string $value
- * @param array $attributes
- * @return string
- * @static
- */
- public static function reset($value, $attributes = array()){
- return \Illuminate\Html\FormBuilder::reset($value, $attributes);
- }
-
- /**
- * Create a HTML image input element.
- *
- * @param string $url
- * @param string $name
- * @param array $attributes
- * @return string
- * @static
- */
- public static function image($url, $name = null, $attributes = array()){
- return \Illuminate\Html\FormBuilder::image($url, $name, $attributes);
- }
-
- /**
- * Create a submit button element.
- *
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function submit($value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::submit($value, $options);
- }
-
- /**
- * Create a button element.
- *
- * @param string $value
- * @param array $options
- * @return string
- * @static
- */
- public static function button($value = null, $options = array()){
- return \Illuminate\Html\FormBuilder::button($value, $options);
- }
-
- /**
- * Register a custom form macro.
- *
- * @param string $name
- * @param callable $macro
- * @return void
- * @static
- */
- public static function macro($name, $macro){
- \Illuminate\Html\FormBuilder::macro($name, $macro);
- }
-
- /**
- * Get the ID attribute for a field name.
- *
- * @param string $name
- * @param array $attributes
- * @return string
- * @static
- */
- public static function getIdAttribute($name, $attributes){
- return \Illuminate\Html\FormBuilder::getIdAttribute($name, $attributes);
- }
-
- /**
- * Get the value that should be assigned to the field.
- *
- * @param string $name
- * @param string $value
- * @return string
- * @static
- */
- public static function getValueAttribute($name, $value = null){
- return \Illuminate\Html\FormBuilder::getValueAttribute($name, $value);
- }
-
- /**
- * Get a value from the session's old input.
- *
- * @param string $name
- * @return string
- * @static
- */
- public static function old($name){
- return \Illuminate\Html\FormBuilder::old($name);
- }
-
- /**
- * Determine if the old input is empty.
- *
- * @return bool
- * @static
- */
- public static function oldInputIsEmpty(){
- return \Illuminate\Html\FormBuilder::oldInputIsEmpty();
- }
-
- /**
- * Get the session store implementation.
- *
- * @return \Illuminate\Session\Store $session
- * @static
- */
- public static function getSessionStore(){
- return \Illuminate\Html\FormBuilder::getSessionStore();
- }
-
- /**
- * Set the session store implementation.
- *
- * @param \Illuminate\Session\Store $session
- * @return \Illuminate\Html\FormBuilder
- * @static
- */
- public static function setSessionStore($session){
- return \Illuminate\Html\FormBuilder::setSessionStore($session);
- }
-
- }
-
-
- class Helpers extends \Bootstrapper\Helpers{
-
- }
-
-
- class Icon extends \Bootstrapper\Icon{
-
- }
-
-
- class Image extends \Intervention\Image\Facades\Image{
-
- /**
- * Open a new image resource from image file
- *
- * @param mixed $source
- * @return \Intervention\Image\Image
- * @static
- */
- public static function make($source){
- return \Intervention\Image\Image::make($source);
- }
-
- /**
- * Create a new empty image resource
- *
- * @param int $width
- * @param int $height
- * @param mixed $bgcolor
- * @return \Intervention\Image\Image
- * @static
- */
- public static function canvas($width, $height, $bgcolor = null){
- return \Intervention\Image\Image::canvas($width, $height, $bgcolor);
- }
-
- /**
- * Create a new image resource with image data from string
- *
- * @param string $data
- * @return \Intervention\Image\Image
- * @static
- */
- public static function raw($string){
- return \Intervention\Image\Image::raw($string);
- }
-
- /**
- * Create new cached image and run callback
- * (requires additional package intervention/imagecache)
- *
- * @param \Closure $callback
- * @param integer $lifetime
- * @param boolean $returnObj
- * @return \Intervention\Image\Image
- * @static
- */
- public static function cache($callback = null, $lifetime = null, $returnObj = false){
- return \Intervention\Image\Image::cache($callback, $lifetime, $returnObj);
- }
-
- /**
- * Open a new image resource from image file
- *
- * @param string $path
- * @return \Intervention\Image\Image
- * @static
- */
- public static function open($path){
- return \Intervention\Image\Image::open($path);
- }
-
- /**
- * Resize current image based on given width/height
- *
- * Width and height are optional, the not given parameter is calculated
- * based on the given. The ratio boolean decides whether the resizing
- * should keep the image ratio. You can also pass along a boolean to
- * prevent the image from being upsized.
- *
- * @param integer $width The target width for the image
- * @param integer $height The target height for the image
- * @param boolean $ratio Determines if the image ratio should be preserved
- * @param boolean $upsize Determines whether the image can be upsized
- * @return \Intervention\Image\Image
- * @static
- */
- public static function resize($width = null, $height = null, $ratio = false, $upsize = true){
- return \Intervention\Image\Image::resize($width, $height, $ratio, $upsize);
- }
-
- /**
- * Legacy method to support old resizing calls
- *
- * @param array $dimensions
- * @return \Intervention\Image\Image
- * @static
- */
- public static function legacyResize($dimensions = array()){
- return \Intervention\Image\Image::legacyResize($dimensions);
- }
-
- /**
- * Resize image to new width, constraining proportions
- *
- * @param integer $width
- * @return \Intervention\Image\Image
- * @static
- */
- public static function widen($width){
- return \Intervention\Image\Image::widen($width);
- }
-
- /**
- * Resize image to new height, constraining proportions
- *
- * @param integer $height
- * @return \Intervention\Image\Image
- * @static
- */
- public static function heighten($height){
- return \Intervention\Image\Image::heighten($height);
- }
-
- /**
- * Resize image canvas
- *
- * @param int $width
- * @param int $height
- * @param string $anchor
- * @param boolean $relative
- * @param mixed $bgcolor
- * @return \Intervention\Image\Image
- * @static
- */
- public static function resizeCanvas($width, $height, $anchor = null, $relative = false, $bgcolor = null){
- return \Intervention\Image\Image::resizeCanvas($width, $height, $anchor, $relative, $bgcolor);
- }
-
- /**
- * Crop the current image
- *
- * @param integer $width
- * @param integer $height
- * @param integer $pos_x
- * @param integer $pos_y
- * @return \Intervention\Image\Image
- * @static
- */
- public static function crop($width, $height, $pos_x = null, $pos_y = null){
- return \Intervention\Image\Image::crop($width, $height, $pos_x, $pos_y);
- }
-
- /**
- * Cut out a detail of the image in given ratio and resize to output size
- *
- * @param integer $width
- * @param integer $height
- * @return \Intervention\Image\Image
- * @static
- */
- public static function grab($width = null, $height = null){
- return \Intervention\Image\Image::grab($width, $height);
- }
-
- /**
- * Legacy Method to support older grab calls
- *
- * @param array $dimensions
- * @return \Intervention\Image\Image
- * @static
- */
- public static function legacyGrab($dimensions = array()){
- return \Intervention\Image\Image::legacyGrab($dimensions);
- }
-
- /**
- * Trim away image space in given color
- *
- * @param string $base Position of the color to trim away
- * @param array $away Borders to trim away
- * @param int $tolerance Tolerance of color comparison
- * @param int $feather Amount of pixels outside (when positive) or inside (when negative) of the strict limit of the matched color
- * @return \Intervention\Image\Image
- * @static
- */
- public static function trim($base = null, $away = null, $tolerance = null, $feather = 0){
- return \Intervention\Image\Image::trim($base, $away, $tolerance, $feather);
- }
-
- /**
- * Mirror image horizontally or vertically
- *
- * @param mixed $mode
- * @return \Intervention\Image\Image
- * @static
- */
- public static function flip($mode = null){
- return \Intervention\Image\Image::flip($mode);
- }
-
- /**
- * Insert another image on top of the current image
- *
- * @param mixed $source
- * @param integer $pos_x
- * @param integer $pos_y
- * @param string $anchor
- * @return \Intervention\Image\Image
- * @static
- */
- public static function insert($source, $pos_x = 0, $pos_y = 0, $anchor = null){
- return \Intervention\Image\Image::insert($source, $pos_x, $pos_y, $anchor);
- }
-
- /**
- * Set opacity of current image
- *
- * @param integer $transparency
- * @return \Intervention\Image\Image
- * @static
- */
- public static function opacity($transparency){
- return \Intervention\Image\Image::opacity($transparency);
- }
-
- /**
- * Apply given image as alpha mask on current image
- *
- * @param mixed $source
- * @param boolean $mask_with_alpha
- * @return \Intervention\Image\Image
- * @static
- */
- public static function mask($source, $mask_with_alpha = false){
- return \Intervention\Image\Image::mask($source, $mask_with_alpha);
- }
-
- /**
- * Rotate image with given angle
- *
- * @param float $angle
- * @param string $color
- * @param int $ignore_transparent
- * @return \Intervention\Image\Image
- * @static
- */
- public static function rotate($angle = 0, $bgcolor = '#000000', $ignore_transparent = 0){
- return \Intervention\Image\Image::rotate($angle, $bgcolor, $ignore_transparent);
- }
-
- /**
- * Fill image with given color or image source at position x,y
- *
- * @param mixed $source
- * @param integer $pos_x
- * @param integer $pos_y
- * @return \Intervention\Image\Image
- * @static
- */
- public static function fill($source, $pos_x = null, $pos_y = null){
- return \Intervention\Image\Image::fill($source, $pos_x, $pos_y);
- }
-
- /**
- * Set single pixel
- *
- * @param string $color
- * @param integer $pos_x
- * @param integer $pos_y
- * @return \Intervention\Image\Image
- * @static
- */
- public static function pixel($color, $pos_x = 0, $pos_y = 0){
- return \Intervention\Image\Image::pixel($color, $pos_x, $pos_y);
- }
-
- /**
- * Draw rectangle in current image starting at point 1 and ending at point 2
- *
- * @param string $color
- * @param integer $x1
- * @param integer $y1
- * @param integer $x2
- * @param integer $y2
- * @param boolean $filled
- * @return \Intervention\Image\Image
- * @static
- */
- public static function rectangle($color, $x1 = 0, $y1 = 0, $x2 = 10, $y2 = 10, $filled = true){
- return \Intervention\Image\Image::rectangle($color, $x1, $y1, $x2, $y2, $filled);
- }
-
- /**
- * Draw a line in current image starting at point 1 and ending at point 2
- *
- * @param string $color
- * @param integer $x1
- * @param integer $y1
- * @param integer $x2
- * @param integer $y2
- * @return \Intervention\Image\Image
- * @static
- */
- public static function line($color, $x1 = 0, $y1 = 0, $x2 = 10, $y2 = 10){
- return \Intervention\Image\Image::line($color, $x1, $y1, $x2, $y2);
- }
-
- /**
- * Draw an ellipse centered at given coordinates.
- *
- * @param string $color
- * @param integer $pos_x
- * @param integer $pos_y
- * @param integer $width
- * @param integer $height
- * @param boolean $filled
- * @return \Intervention\Image\Image
- * @static
- */
- public static function ellipse($color, $pos_x = 0, $pos_y = 0, $width = 10, $height = 10, $filled = true){
- return \Intervention\Image\Image::ellipse($color, $pos_x, $pos_y, $width, $height, $filled);
- }
-
- /**
- * Draw a circle centered at given coordinates
- *
- * @param string $color
- * @param integer $x
- * @param integer $y
- * @param integer $radius
- * @param boolean $filled
- * @return \Intervention\Image\Image
- * @static
- */
- public static function circle($color, $x = 0, $y = 0, $radius = 10, $filled = true){
- return \Intervention\Image\Image::circle($color, $x, $y, $radius, $filled);
- }
-
- /**
- * Compatibility method to decide old or new style of text writing
- *
- * @param string $text
- * @param integer $posx
- * @param integer $posy
- * @param mixed $size_or_callback
- * @param string $color
- * @param integer $angle
- * @param string $fontfile
- * @return \Intervention\Image\Image
- * @static
- */
- public static function text($text, $posx = 0, $posy = 0, $size_or_callback = null, $color = '000000', $angle = 0, $fontfile = null){
- return \Intervention\Image\Image::text($text, $posx, $posy, $size_or_callback, $color, $angle, $fontfile);
- }
-
- /**
- * Write text in current image, define details via callback
- *
- * @param string $text
- * @param integer $posx
- * @param integer $posy
- * @param \Closure $callback
- * @return \Intervention\Image\Image
- * @static
- */
- public static function textCallback($text, $posx = 0, $posy = 0, $callback = null){
- return \Intervention\Image\Image::textCallback($text, $posx, $posy, $callback);
- }
-
- /**
- * Legacy method to keep support of old style of text writing
- *
- * @param string $text
- * @param integer $pos_x
- * @param integer $pos_y
- * @param integer $angle
- * @param integer $size
- * @param string $color
- * @param string $fontfile
- * @return \Intervention\Image\Image
- * @static
- */
- public static function legacyText($text, $pos_x = 0, $pos_y = 0, $size = 16, $color = '000000', $angle = 0, $fontfile = null){
- return \Intervention\Image\Image::legacyText($text, $pos_x, $pos_y, $size, $color, $angle, $fontfile);
- }
-
- /**
- * Changes the brightness of the current image
- *
- * @param int $level [description]
- * @return \Intervention\Image\Image
- * @static
- */
- public static function brightness($level){
- return \Intervention\Image\Image::brightness($level);
- }
-
- /**
- * Changes the contrast of the current image
- *
- * @param int $level
- * @return \Intervention\Image\Image
- * @static
- */
- public static function contrast($level){
- return \Intervention\Image\Image::contrast($level);
- }
-
- /**
- * Pixelate current image
- *
- * @param integer $size
- * @param boolean $advanced
- * @return \Intervention\Image\Image
- * @static
- */
- public static function pixelate($size = 10, $advanced = true){
- return \Intervention\Image\Image::pixelate($size, $advanced);
- }
-
- /**
- * Turn current image into a greyscale verision
- *
- * @return \Intervention\Image\Image
- * @static
- */
- public static function grayscale(){
- return \Intervention\Image\Image::grayscale();
- }
-
- /**
- * Alias of greyscale
- *
- * @return \Intervention\Image\Image
- * @static
- */
- public static function greyscale(){
- return \Intervention\Image\Image::greyscale();
- }
-
- /**
- * Invert colors of current image
- *
- * @return \Intervention\Image\Image
- * @static
- */
- public static function invert(){
- return \Intervention\Image\Image::invert();
- }
-
- /**
- * Apply colorize filter to current image
- *
- * @param integer $red
- * @param integer $green
- * @param integer $blue
- * @return \Intervention\Image\Image
- * @static
- */
- public static function colorize($red, $green, $blue){
- return \Intervention\Image\Image::colorize($red, $green, $blue);
- }
-
- /**
- * Apply blur filter on the current image
- *
- * @param integer $amount
- * @return \Intervention\Image\Image
- * @static
- */
- public static function blur($amount = 1){
- return \Intervention\Image\Image::blur($amount);
- }
-
- /**
- * Set a maximum number of colors for the current image
- *
- * @param integer $count
- * @param mixed $matte
- * @return \Intervention\Image\Image
- * @static
- */
- public static function limitColors($count = null, $matte = null){
- return \Intervention\Image\Image::limitColors($count, $matte);
- }
-
- /**
- * Determine whether an Image should be interlaced
- *
- * @param boolean $interlace
- * @return \Intervention\Image\Image
- * @static
- */
- public static function interlace($interlace = true){
- return \Intervention\Image\Image::interlace($interlace);
- }
-
- /**
- * Applies gamma correction
- *
- * @param float $input
- * @param float $output
- * @return \Intervention\Image\Image
- * @static
- */
- public static function gamma($input, $output){
- return \Intervention\Image\Image::gamma($input, $output);
- }
-
- /**
- * Set current image as original (reset will return to this)
- *
- * @return void
- * @static
- */
- public static function backup(){
- \Intervention\Image\Image::backup();
- }
-
- /**
- * Reset to original image resource
- *
- * @return void
- * @static
- */
- public static function reset(){
- \Intervention\Image\Image::reset();
- }
-
- /**
- * Encode image in different formats
- *
- * @param string $format
- * @param integer $quality
- * @return string
- * @static
- */
- public static function encode($format = null, $quality = 90){
- return \Intervention\Image\Image::encode($format, $quality);
- }
-
- /**
- * Picks and formats color at position
- *
- * @param int $x
- * @param int $y
- * @param string $format
- * @return mixed
- * @static
- */
- public static function pickColor($x, $y, $format = null){
- return \Intervention\Image\Image::pickColor($x, $y, $format);
- }
-
- /**
- * Allocate color from given string
- *
- * @param string $value
- * @return int
- * @static
- */
- public static function parseColor($value){
- return \Intervention\Image\Image::parseColor($value);
- }
-
- /**
- * Save image in filesystem
- *
- * @param string $path
- * @param integer $quality
- * @return \Intervention\Image\Image
- * @static
- */
- public static function save($path = null, $quality = 90){
- return \Intervention\Image\Image::save($path, $quality);
- }
-
- /**
- * Read Exif data from the current image
- *
- * Note: Windows PHP Users - in order to use this method you will need to
- * enable the mbstring and exif extensions within the php.ini file.
- *
- * @param string $key
- * @return mixed
- * @static
- */
- public static function exif($key = null){
- return \Intervention\Image\Image::exif($key);
- }
-
- /**
- * Send direct output with proper header
- *
- * @param string $type
- * @param integer $quality
- * @return string
- * @static
- */
- public static function response($type = null, $quality = 90){
- return \Intervention\Image\Image::response($type, $quality);
- }
-
- /**
- * Destroys image resource and frees memory
- *
- * @return void
- * @static
- */
- public static function destroy(){
- \Intervention\Image\Image::destroy();
- }
-
- /**
- * Calculates checksum of current image
- *
- * @return String
- * @static
- */
- public static function checksum(){
- return \Intervention\Image\Image::checksum();
- }
-
- }
-
-
- class Label extends \Bootstrapper\Label{
-
- }
-
-
- class MediaObject extends \Bootstrapper\MediaObject{
-
- }
-
-
- class Navbar extends \Bootstrapper\Navbar{
-
- }
-
-
- class Navigation extends \Bootstrapper\Navigation{
-
- }
-
-
- class Progress extends \Bootstrapper\Progress{
-
- }
-
-
- class Tabbable extends \Bootstrapper\Tabbable{
-
- }
-
-
- class Table extends \Bootstrapper\Table{
-
- }
-
-
- class Thumbnail extends \Bootstrapper\Thumbnail{
-
- }
-
-
- class Typography extends \Bootstrapper\Typography{
-
- }
-
-
- class Confide extends \Zizaco\Confide\ConfideFacade{
-
- /**
- * Returns the Laravel application
- *
- * @return \Zizaco\Confide\Illuminate\Foundation\Application
- * @static
- */
- public static function app(){
- return \Zizaco\Confide\Confide::app();
- }
-
- /**
- * Returns an object of the model set in auth config
- *
- * @return object
- * @static
- */
- public static function model(){
- return \Zizaco\Confide\Confide::model();
- }
-
- /**
- * Get the currently authenticated user or null.
- *
- * @return \Zizaco\Confide\Zizaco\Confide\ConfideUser|null
- * @static
- */
- public static function user(){
- return \Zizaco\Confide\Confide::user();
- }
-
- /**
- * Set the user confirmation to true.
- *
- * @param string $code
- * @return bool
- * @static
- */
- public static function confirm($code){
- return \Zizaco\Confide\Confide::confirm($code);
- }
-
- /**
- * Attempt to log a user into the application with
- * password and identity field(s), usually email or username.
- *
- * @param array $credentials
- * @param bool $confirmed_only
- * @param mixed $identity_columns
- * @return boolean Success
- * @static
- */
- public static function logAttempt($credentials, $confirmed_only = false, $identity_columns = array()){
- return \Zizaco\Confide\Confide::logAttempt($credentials, $confirmed_only, $identity_columns);
- }
-
- /**
- * Checks if the credentials has been throttled by too
- * much failed login attempts
- *
- * @param array $credentials
- * @return mixed Value.
- * @static
- */
- public static function isThrottled($credentials){
- return \Zizaco\Confide\Confide::isThrottled($credentials);
- }
-
- /**
- * Send email with information about password reset
- *
- * @param string $email
- * @return bool
- * @static
- */
- public static function forgotPassword($email){
- return \Zizaco\Confide\Confide::forgotPassword($email);
- }
-
- /**
- * Checks to see if the user has a valid token.
- *
- * @param $token
- * @return bool
- * @static
- */
- public static function isValidToken($token){
- return \Zizaco\Confide\Confide::isValidToken($token);
- }
-
- /**
- * Change user password
- *
- * @return string
- * @static
- */
- public static function resetPassword($params){
- return \Zizaco\Confide\Confide::resetPassword($params);
- }
-
- /**
- * Log the user out of the application.
- *
- * @return void
- * @static
- */
- public static function logout(){
- \Zizaco\Confide\Confide::logout();
- }
-
- /**
- * Display the default login view
- *
- * @deprecated
- * @return \Zizaco\Confide\Illuminate\View\View
- * @static
- */
- public static function makeLoginForm(){
- return \Zizaco\Confide\Confide::makeLoginForm();
- }
-
- /**
- * Display the default signup view
- *
- * @deprecated
- * @return \Zizaco\Confide\Illuminate\View\View
- * @static
- */
- public static function makeSignupForm(){
- return \Zizaco\Confide\Confide::makeSignupForm();
- }
-
- /**
- * Display the forget password view
- *
- * @deprecated
- * @return \Zizaco\Confide\Illuminate\View\View
- * @static
- */
- public static function makeForgotPasswordForm(){
- return \Zizaco\Confide\Confide::makeForgotPasswordForm();
- }
-
- /**
- * Display the forget password view
- *
- * @deprecated
- * @return \Zizaco\Confide\Illuminate\View\View
- * @static
- */
- public static function makeResetPasswordForm($token){
- return \Zizaco\Confide\Confide::makeResetPasswordForm($token);
- }
-
- /**
- * Check whether the controller's action exists.
- *
- * Returns the url if it does. Otherwise false.
- *
- * @param $controllerAction
- * @return string
- * @static
- */
- public static function checkAction($action, $parameters = array(), $absolute = true){
- return \Zizaco\Confide\Confide::checkAction($action, $parameters, $absolute);
- }
-
- }
-
-
- class Former extends \Former\Facades\Former{
-
- /**
- * Register a macro with Former
- *
- * @param string $name The name of the macro
- * @param Callable $macro The macro itself
- * @return mixed
- * @static
- */
- public static function macro($name, $macro){
- return \Former\Former::macro($name, $macro);
- }
-
- /**
- * Check if a macro exists
- *
- * @param string $name
- * @return boolean
- * @static
- */
- public static function hasMacro($name){
- return \Former\Former::hasMacro($name);
- }
-
- /**
- * Get a registered macro
- *
- * @param string $name
- * @return \Former\Closure
- * @static
- */
- public static function getMacro($name){
- return \Former\Former::getMacro($name);
- }
-
- /**
- * Add values to populate the array
- *
- * @param mixed $values Can be an Eloquent object or an array
- * @static
- */
- public static function populate($values){
- return \Former\Former::populate($values);
- }
-
- /**
- * Set the value of a particular field
- *
- * @param string $field The field's name
- * @param mixed $value Its new value
- * @static
- */
- public static function populateField($field, $value){
- return \Former\Former::populateField($field, $value);
- }
-
- /**
- * Get the value of a field
- *
- * @param string $field The field's name
- * @param null $fallback
- * @return mixed
- * @static
- */
- public static function getValue($field, $fallback = null){
- return \Former\Former::getValue($field, $fallback);
- }
-
- /**
- * Fetch a field value from both the new and old POST array
- *
- * @param string $name A field name
- * @param string $fallback A fallback if nothing was found
- * @return string The results
- * @static
- */
- public static function getPost($name, $fallback = null){
- return \Former\Former::getPost($name, $fallback);
- }
-
- /**
- * Set the errors to use for validations
- *
- * @param \Former\Message $validator The result from a validation
- * @return void
- * @static
- */
- public static function withErrors($validator = null){
- \Former\Former::withErrors($validator);
- }
-
- /**
- * Add live validation rules
- *
- * @param array *$rules An array of Laravel rules
- * @return void
- * @static
- */
- public static function withRules(){
- \Former\Former::withRules();
- }
-
- /**
- * Switch the framework used by Former
- *
- * @param string $framework The name of the framework to use
- * @static
- */
- public static function framework($framework = null){
- return \Former\Former::framework($framework);
- }
-
- /**
- * Get a new framework instance
- *
- * @param string $framework
- * @return \Former\Framework
- * @static
- */
- public static function getFrameworkInstance($framework){
- return \Former\Former::getFrameworkInstance($framework);
- }
-
- /**
- * Get an option from the config
- *
- * @param string $option The option
- * @param mixed $default Optional fallback
- * @return mixed
- * @static
- */
- public static function getOption($option, $default = null){
- return \Former\Former::getOption($option, $default);
- }
-
- /**
- * Set an option on the config
- *
- * @param string $option
- * @param string $value
- * @static
- */
- public static function setOption($option, $value){
- return \Former\Former::setOption($option, $value);
- }
-
- /**
- * Closes a form
- *
- * @return string A form closing tag
- * @static
- */
- public static function close(){
- return \Former\Former::close();
- }
-
- /**
- * Get the errors for the current field
- *
- * @param string $name A field name
- * @return string An error message
- * @static
- */
- public static function getErrors($name = null){
- return \Former\Former::getErrors($name);
- }
-
- /**
- * Get a rule from the Rules array
- *
- * @param string $name The field to fetch
- * @return array An array of rules
- * @static
- */
- public static function getRules($name){
- return \Former\Former::getRules($name);
- }
-
- }
-
-
- class Datatable extends \Chumper\Datatable\Facades\DatatableFacade{
-
- /**
- *
- *
- * @param $query
- * @return \Chumper\Datatable\QueryEngine
- * @static
- */
- public static function query($query){
- return \Chumper\Datatable\Datatable::query($query);
- }
-
- /**
- *
- *
- * @param $collection
- * @return \Chumper\Datatable\CollectionEngine
- * @static
- */
- public static function collection($collection){
- return \Chumper\Datatable\Datatable::collection($collection);
- }
-
- /**
- *
- *
- * @return \Chumper\Datatable\Table
- * @static
- */
- public static function table(){
- return \Chumper\Datatable\Datatable::table();
- }
-
- /**
- *
- *
- * @return bool True if the plugin should handle this request, false otherwise
- * @static
- */
- public static function shouldHandle(){
- return \Chumper\Datatable\Datatable::shouldHandle();
- }
-
- }
-
-
- class Omnipay extends \Omnipay\Omnipay{
-
- }
-
-
- class CreditCard extends \Omnipay\Common\CreditCard{
-
- }
-
-
- class Countries extends \Webpatser\Countries\CountriesFacade{
-
- /**
- * Returns one country
- *
- * @param string $id The country id
- * @return array
- * @static
- */
- public static function getOne($id){
- return \Webpatser\Countries\Countries::getOne($id);
- }
-
- /**
- * Returns a list of countries
- *
- * @param string sort
- * @return array
- * @static
- */
- public static function getList($sort = null){
- return \Webpatser\Countries\Countries::getList($sort);
- }
-
- /**
- * Register an observer with the Model.
- *
- * @param object $class
- * @return void
- * @static
- */
- public static function observe($class){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::observe($class);
- }
-
- /**
- * Fill the model with an array of attributes.
- *
- * @param array $attributes
- * @return \Illuminate\Database\Eloquent\Model|static
- * @throws MassAssignmentException
- * @static
- */
- public static function fill($attributes){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::fill($attributes);
- }
-
- /**
- * Create a new instance of the given model.
- *
- * @param array $attributes
- * @param bool $exists
- * @return \Illuminate\Database\Eloquent\Model|static
- * @static
- */
- public static function newInstance($attributes = array(), $exists = false){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newInstance($attributes, $exists);
- }
-
- /**
- * Create a new model instance that is existing.
- *
- * @param array $attributes
- * @return \Illuminate\Database\Eloquent\Model|static
- * @static
- */
- public static function newFromBuilder($attributes = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newFromBuilder($attributes);
- }
-
- /**
- * Save a new model and return the instance.
- *
- * @param array $attributes
- * @return \Illuminate\Database\Eloquent\Model|static
- * @static
- */
- public static function create($attributes){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::create($attributes);
- }
-
- /**
- * Get the first record matching the attributes or create it.
- *
- * @param array $attributes
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function firstOrCreate($attributes){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::firstOrCreate($attributes);
- }
-
- /**
- * Get the first record matching the attributes or instantiate it.
- *
- * @param array $attributes
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function firstOrNew($attributes){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::firstOrNew($attributes);
- }
-
- /**
- * Begin querying the model.
- *
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function query(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::query();
- }
-
- /**
- * Begin querying the model on a given connection.
- *
- * @param string $connection
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function on($connection = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::on($connection);
- }
-
- /**
- * Get all of the models from the database.
- *
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Collection|static[]
- * @static
- */
- public static function all($columns = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::all($columns);
- }
-
- /**
- * Find a model by its primary key.
- *
- * @param mixed $id
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static
- * @static
- */
- public static function find($id, $columns = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::find($id, $columns);
- }
-
- /**
- * Find a model by its primary key or return new static.
- *
- * @param mixed $id
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static
- * @static
- */
- public static function findOrNew($id, $columns = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::findOrNew($id, $columns);
- }
-
- /**
- * Find a model by its primary key or throw an exception.
- *
- * @param mixed $id
- * @param array $columns
- * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static
- * @throws ModelNotFoundException
- * @static
- */
- public static function findOrFail($id, $columns = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::findOrFail($id, $columns);
- }
-
- /**
- * Eager load relations on the model.
- *
- * @param array|string $relations
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function load($relations){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::load($relations);
- }
-
- /**
- * Being querying a model with eager loading.
- *
- * @param array|string $relations
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function with($relations){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::with($relations);
- }
-
- /**
- * Define a one-to-one relationship.
- *
- * @param string $related
- * @param string $foreignKey
- * @param string $localKey
- * @return \Illuminate\Database\Eloquent\Relations\HasOne
- * @static
- */
- public static function hasOne($related, $foreignKey = null, $localKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::hasOne($related, $foreignKey, $localKey);
- }
-
- /**
- * Define a polymorphic one-to-one relationship.
- *
- * @param string $related
- * @param string $name
- * @param string $type
- * @param string $id
- * @param string $localKey
- * @return \Illuminate\Database\Eloquent\Relations\MorphOne
- * @static
- */
- public static function morphOne($related, $name, $type = null, $id = null, $localKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::morphOne($related, $name, $type, $id, $localKey);
- }
-
- /**
- * Define an inverse one-to-one or many relationship.
- *
- * @param string $related
- * @param string $foreignKey
- * @param string $otherKey
- * @param string $relation
- * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
- * @static
- */
- public static function belongsTo($related, $foreignKey = null, $otherKey = null, $relation = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::belongsTo($related, $foreignKey, $otherKey, $relation);
- }
-
- /**
- * Define a polymorphic, inverse one-to-one or many relationship.
- *
- * @param string $name
- * @param string $type
- * @param string $id
- * @return \Illuminate\Database\Eloquent\Relations\MorphTo
- * @static
- */
- public static function morphTo($name = null, $type = null, $id = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::morphTo($name, $type, $id);
- }
-
- /**
- * Define a one-to-many relationship.
- *
- * @param string $related
- * @param string $foreignKey
- * @param string $localKey
- * @return \Illuminate\Database\Eloquent\Relations\HasMany
- * @static
- */
- public static function hasMany($related, $foreignKey = null, $localKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::hasMany($related, $foreignKey, $localKey);
- }
-
- /**
- * Define a has-many-through relationship.
- *
- * @param string $related
- * @param string $through
- * @param string|null $firstKey
- * @param string|null $secondKey
- * @return \Illuminate\Database\Eloquent\Relations\HasManyThrough
- * @static
- */
- public static function hasManyThrough($related, $through, $firstKey = null, $secondKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::hasManyThrough($related, $through, $firstKey, $secondKey);
- }
-
- /**
- * Define a polymorphic one-to-many relationship.
- *
- * @param string $related
- * @param string $name
- * @param string $type
- * @param string $id
- * @param string $localKey
- * @return \Illuminate\Database\Eloquent\Relations\MorphMany
- * @static
- */
- public static function morphMany($related, $name, $type = null, $id = null, $localKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::morphMany($related, $name, $type, $id, $localKey);
- }
-
- /**
- * Define a many-to-many relationship.
- *
- * @param string $related
- * @param string $table
- * @param string $foreignKey
- * @param string $otherKey
- * @param string $relation
- * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
- * @static
- */
- public static function belongsToMany($related, $table = null, $foreignKey = null, $otherKey = null, $relation = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::belongsToMany($related, $table, $foreignKey, $otherKey, $relation);
- }
-
- /**
- * Define a polymorphic many-to-many relationship.
- *
- * @param string $related
- * @param string $name
- * @param string $table
- * @param string $foreignKey
- * @param string $otherKey
- * @param bool $inverse
- * @return \Illuminate\Database\Eloquent\Relations\MorphToMany
- * @static
- */
- public static function morphToMany($related, $name, $table = null, $foreignKey = null, $otherKey = null, $inverse = false){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::morphToMany($related, $name, $table, $foreignKey, $otherKey, $inverse);
- }
-
- /**
- * Define a polymorphic, inverse many-to-many relationship.
- *
- * @param string $related
- * @param string $name
- * @param string $table
- * @param string $foreignKey
- * @param string $otherKey
- * @return \Illuminate\Database\Eloquent\Relations\MorphToMany
- * @static
- */
- public static function morphedByMany($related, $name, $table = null, $foreignKey = null, $otherKey = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::morphedByMany($related, $name, $table, $foreignKey, $otherKey);
- }
-
- /**
- * Get the joining table name for a many-to-many relation.
- *
- * @param string $related
- * @return string
- * @static
- */
- public static function joiningTable($related){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::joiningTable($related);
- }
-
- /**
- * Destroy the models for the given IDs.
- *
- * @param array|int $ids
- * @return int
- * @static
- */
- public static function destroy($ids){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::destroy($ids);
- }
-
- /**
- * Delete the model from the database.
- *
- * @return bool|null
- * @static
- */
- public static function delete(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::delete();
- }
-
- /**
- * Force a hard delete on a soft deleted model.
- *
- * @return void
- * @static
- */
- public static function forceDelete(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::forceDelete();
- }
-
- /**
- * Restore a soft-deleted model instance.
- *
- * @return bool|null
- * @static
- */
- public static function restore(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::restore();
- }
-
- /**
- * Register a saving model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function saving($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::saving($callback);
- }
-
- /**
- * Register a saved model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function saved($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::saved($callback);
- }
-
- /**
- * Register an updating model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function updating($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::updating($callback);
- }
-
- /**
- * Register an updated model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function updated($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::updated($callback);
- }
-
- /**
- * Register a creating model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function creating($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::creating($callback);
- }
-
- /**
- * Register a created model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function created($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::created($callback);
- }
-
- /**
- * Register a deleting model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function deleting($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::deleting($callback);
- }
-
- /**
- * Register a deleted model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function deleted($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::deleted($callback);
- }
-
- /**
- * Register a restoring model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function restoring($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::restoring($callback);
- }
-
- /**
- * Register a restored model event with the dispatcher.
- *
- * @param \Closure|string $callback
- * @return void
- * @static
- */
- public static function restored($callback){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::restored($callback);
- }
-
- /**
- * Remove all of the event listeners for the model.
- *
- * @return void
- * @static
- */
- public static function flushEventListeners(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::flushEventListeners();
- }
-
- /**
- * Get the observable event names.
- *
- * @return array
- * @static
- */
- public static function getObservableEvents(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getObservableEvents();
- }
-
- /**
- * Update the model in the database.
- *
- * @param array $attributes
- * @return mixed
- * @static
- */
- public static function update($attributes = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::update($attributes);
- }
-
- /**
- * Save the model and all of its relationships.
- *
- * @return bool
- * @static
- */
- public static function push(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::push();
- }
-
- /**
- * Save the model to the database.
- *
- * @param array $options
- * @return bool
- * @static
- */
- public static function save($options = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::save($options);
- }
-
- /**
- * Touch the owning relations of the model.
- *
- * @return void
- * @static
- */
- public static function touchOwners(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::touchOwners();
- }
-
- /**
- * Determine if the model touches a given relation.
- *
- * @param string $relation
- * @return bool
- * @static
- */
- public static function touches($relation){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::touches($relation);
- }
-
- /**
- * Update the model's update timestamp.
- *
- * @return bool
- * @static
- */
- public static function touch(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::touch();
- }
-
- /**
- * Set the value of the "created at" attribute.
- *
- * @param mixed $value
- * @return void
- * @static
- */
- public static function setCreatedAt($value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setCreatedAt($value);
- }
-
- /**
- * Set the value of the "updated at" attribute.
- *
- * @param mixed $value
- * @return void
- * @static
- */
- public static function setUpdatedAt($value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setUpdatedAt($value);
- }
-
- /**
- * Get the name of the "created at" column.
- *
- * @return string
- * @static
- */
- public static function getCreatedAtColumn(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getCreatedAtColumn();
- }
-
- /**
- * Get the name of the "updated at" column.
- *
- * @return string
- * @static
- */
- public static function getUpdatedAtColumn(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getUpdatedAtColumn();
- }
-
- /**
- * Get the name of the "deleted at" column.
- *
- * @return string
- * @static
- */
- public static function getDeletedAtColumn(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getDeletedAtColumn();
- }
-
- /**
- * Get the fully qualified "deleted at" column.
- *
- * @return string
- * @static
- */
- public static function getQualifiedDeletedAtColumn(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getQualifiedDeletedAtColumn();
- }
-
- /**
- * Get a fresh timestamp for the model.
- *
- * @return \Carbon\Carbon
- * @static
- */
- public static function freshTimestamp(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::freshTimestamp();
- }
-
- /**
- * Get a fresh timestamp for the model.
- *
- * @return string
- * @static
- */
- public static function freshTimestampString(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::freshTimestampString();
- }
-
- /**
- * Get a new query builder for the model's table.
- *
- * @param bool $excludeDeleted
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function newQuery($excludeDeleted = true){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newQuery($excludeDeleted);
- }
-
- /**
- * Get a new query builder that includes soft deletes.
- *
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function newQueryWithDeleted(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newQueryWithDeleted();
- }
-
- /**
- * Create a new Eloquent query builder for the model.
- *
- * @param \Illuminate\Database\Query\Builder $query
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function newEloquentBuilder($query){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newEloquentBuilder($query);
- }
-
- /**
- * Determine if the model instance has been soft-deleted.
- *
- * @return bool
- * @static
- */
- public static function trashed(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::trashed();
- }
-
- /**
- * Get a new query builder that includes soft deletes.
- *
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function withTrashed(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::withTrashed();
- }
-
- /**
- * Get a new query builder that only includes soft deletes.
- *
- * @return \Illuminate\Database\Eloquent\Builder|static
- * @static
- */
- public static function onlyTrashed(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::onlyTrashed();
- }
-
- /**
- * Create a new Eloquent Collection instance.
- *
- * @param array $models
- * @return \Illuminate\Database\Eloquent\Collection
- * @static
- */
- public static function newCollection($models = array()){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newCollection($models);
- }
-
- /**
- * Create a new pivot model instance.
- *
- * @param \Illuminate\Database\Eloquent\Model $parent
- * @param array $attributes
- * @param string $table
- * @param bool $exists
- * @return \Illuminate\Database\Eloquent\Relations\Pivot
- * @static
- */
- public static function newPivot($parent, $attributes, $table, $exists){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::newPivot($parent, $attributes, $table, $exists);
- }
-
- /**
- * Get the table associated with the model.
- *
- * @return string
- * @static
- */
- public static function getTable(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getTable();
- }
-
- /**
- * Set the table associated with the model.
- *
- * @param string $table
- * @return void
- * @static
- */
- public static function setTable($table){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setTable($table);
- }
-
- /**
- * Get the value of the model's primary key.
- *
- * @return mixed
- * @static
- */
- public static function getKey(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getKey();
- }
-
- /**
- * Get the primary key for the model.
- *
- * @return string
- * @static
- */
- public static function getKeyName(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getKeyName();
- }
-
- /**
- * Get the table qualified key name.
- *
- * @return string
- * @static
- */
- public static function getQualifiedKeyName(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getQualifiedKeyName();
- }
-
- /**
- * Determine if the model uses timestamps.
- *
- * @return bool
- * @static
- */
- public static function usesTimestamps(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::usesTimestamps();
- }
-
- /**
- * Determine if the model instance uses soft deletes.
- *
- * @return bool
- * @static
- */
- public static function isSoftDeleting(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::isSoftDeleting();
- }
-
- /**
- * Set the soft deleting property on the model.
- *
- * @param bool $enabled
- * @return void
- * @static
- */
- public static function setSoftDeleting($enabled){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setSoftDeleting($enabled);
- }
-
- /**
- * Get the number of models to return per page.
- *
- * @return int
- * @static
- */
- public static function getPerPage(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getPerPage();
- }
-
- /**
- * Set the number of models ot return per page.
- *
- * @param int $perPage
- * @return void
- * @static
- */
- public static function setPerPage($perPage){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setPerPage($perPage);
- }
-
- /**
- * Get the default foreign key name for the model.
- *
- * @return string
- * @static
- */
- public static function getForeignKey(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getForeignKey();
- }
-
- /**
- * Get the hidden attributes for the model.
- *
- * @return array
- * @static
- */
- public static function getHidden(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getHidden();
- }
-
- /**
- * Set the hidden attributes for the model.
- *
- * @param array $hidden
- * @return void
- * @static
- */
- public static function setHidden($hidden){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setHidden($hidden);
- }
-
- /**
- * Set the visible attributes for the model.
- *
- * @param array $visible
- * @return void
- * @static
- */
- public static function setVisible($visible){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setVisible($visible);
- }
-
- /**
- * Set the accessors to append to model arrays.
- *
- * @param array $appends
- * @return void
- * @static
- */
- public static function setAppends($appends){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setAppends($appends);
- }
-
- /**
- * Get the fillable attributes for the model.
- *
- * @return array
- * @static
- */
- public static function getFillable(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getFillable();
- }
-
- /**
- * Set the fillable attributes for the model.
- *
- * @param array $fillable
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function fillable($fillable){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::fillable($fillable);
- }
-
- /**
- * Set the guarded attributes for the model.
- *
- * @param array $guarded
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function guard($guarded){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::guard($guarded);
- }
-
- /**
- * Disable all mass assignable restrictions.
- *
- * @return void
- * @static
- */
- public static function unguard(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::unguard();
- }
-
- /**
- * Enable the mass assignment restrictions.
- *
- * @return void
- * @static
- */
- public static function reguard(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::reguard();
- }
-
- /**
- * Set "unguard" to a given state.
- *
- * @param bool $state
- * @return void
- * @static
- */
- public static function setUnguardState($state){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setUnguardState($state);
- }
-
- /**
- * Determine if the given attribute may be mass assigned.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function isFillable($key){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::isFillable($key);
- }
-
- /**
- * Determine if the given key is guarded.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function isGuarded($key){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::isGuarded($key);
- }
-
- /**
- * Determine if the model is totally guarded.
- *
- * @return bool
- * @static
- */
- public static function totallyGuarded(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::totallyGuarded();
- }
-
- /**
- * Get the relationships that are touched on save.
- *
- * @return array
- * @static
- */
- public static function getTouchedRelations(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getTouchedRelations();
- }
-
- /**
- * Set the relationships that are touched on save.
- *
- * @param array $touches
- * @return void
- * @static
- */
- public static function setTouchedRelations($touches){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setTouchedRelations($touches);
- }
-
- /**
- * Get the value indicating whether the IDs are incrementing.
- *
- * @return bool
- * @static
- */
- public static function getIncrementing(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getIncrementing();
- }
-
- /**
- * Set whether IDs are incrementing.
- *
- * @param bool $value
- * @return void
- * @static
- */
- public static function setIncrementing($value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setIncrementing($value);
- }
-
- /**
- * Convert the model instance to JSON.
- *
- * @param int $options
- * @return string
- * @static
- */
- public static function toJson($options = 0){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::toJson($options);
- }
-
- /**
- * Convert the model instance to an array.
- *
- * @return array
- * @static
- */
- public static function toArray(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::toArray();
- }
-
- /**
- * Convert the model's attributes to an array.
- *
- * @return array
- * @static
- */
- public static function attributesToArray(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::attributesToArray();
- }
-
- /**
- * Get the model's relationships in array form.
- *
- * @return array
- * @static
- */
- public static function relationsToArray(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::relationsToArray();
- }
-
- /**
- * Get an attribute from the model.
- *
- * @param string $key
- * @return mixed
- * @static
- */
- public static function getAttribute($key){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getAttribute($key);
- }
-
- /**
- * Determine if a get mutator exists for an attribute.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasGetMutator($key){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::hasGetMutator($key);
- }
-
- /**
- * Set a given attribute on the model.
- *
- * @param string $key
- * @param mixed $value
- * @return void
- * @static
- */
- public static function setAttribute($key, $value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setAttribute($key, $value);
- }
-
- /**
- * Determine if a set mutator exists for an attribute.
- *
- * @param string $key
- * @return bool
- * @static
- */
- public static function hasSetMutator($key){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::hasSetMutator($key);
- }
-
- /**
- * Get the attributes that should be converted to dates.
- *
- * @return array
- * @static
- */
- public static function getDates(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getDates();
- }
-
- /**
- * Convert a DateTime to a storable string.
- *
- * @param \DateTime|int $value
- * @return string
- * @static
- */
- public static function fromDateTime($value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::fromDateTime($value);
- }
-
- /**
- * Clone the model into a new, non-existing instance.
- *
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function replicate(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::replicate();
- }
-
- /**
- * Get all of the current attributes on the model.
- *
- * @return array
- * @static
- */
- public static function getAttributes(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getAttributes();
- }
-
- /**
- * Set the array of model attributes. No checking is done.
- *
- * @param array $attributes
- * @param bool $sync
- * @return void
- * @static
- */
- public static function setRawAttributes($attributes, $sync = false){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setRawAttributes($attributes, $sync);
- }
-
- /**
- * Get the model's original attribute values.
- *
- * @param string $key
- * @param mixed $default
- * @return array
- * @static
- */
- public static function getOriginal($key = null, $default = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getOriginal($key, $default);
- }
-
- /**
- * Sync the original attributes with the current.
- *
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function syncOriginal(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::syncOriginal();
- }
-
- /**
- * Determine if a given attribute is dirty.
- *
- * @param string $attribute
- * @return bool
- * @static
- */
- public static function isDirty($attribute){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::isDirty($attribute);
- }
-
- /**
- * Get the attributes that have been changed since last sync.
- *
- * @return array
- * @static
- */
- public static function getDirty(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getDirty();
- }
-
- /**
- * Get all the loaded relations for the instance.
- *
- * @return array
- * @static
- */
- public static function getRelations(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getRelations();
- }
-
- /**
- * Get a specified relationship.
- *
- * @param string $relation
- * @return mixed
- * @static
- */
- public static function getRelation($relation){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getRelation($relation);
- }
-
- /**
- * Set the specific relationship in the model.
- *
- * @param string $relation
- * @param mixed $value
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function setRelation($relation, $value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::setRelation($relation, $value);
- }
-
- /**
- * Set the entire relations array on the model.
- *
- * @param array $relations
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function setRelations($relations){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::setRelations($relations);
- }
-
- /**
- * Get the database connection for the model.
- *
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function getConnection(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getConnection();
- }
-
- /**
- * Get the current connection name for the model.
- *
- * @return string
- * @static
- */
- public static function getConnectionName(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getConnectionName();
- }
-
- /**
- * Set the connection associated with the model.
- *
- * @param string $name
- * @return \Illuminate\Database\Eloquent\Model
- * @static
- */
- public static function setConnection($name){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::setConnection($name);
- }
-
- /**
- * Resolve a connection instance.
- *
- * @param string $connection
- * @return \Illuminate\Database\Connection
- * @static
- */
- public static function resolveConnection($connection = null){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::resolveConnection($connection);
- }
-
- /**
- * Get the connection resolver instance.
- *
- * @return \Illuminate\Database\ConnectionResolverInterface
- * @static
- */
- public static function getConnectionResolver(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getConnectionResolver();
- }
-
- /**
- * Set the connection resolver instance.
- *
- * @param \Illuminate\Database\ConnectionResolverInterface $resolver
- * @return void
- * @static
- */
- public static function setConnectionResolver($resolver){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setConnectionResolver($resolver);
- }
-
- /**
- * Get the event dispatcher instance.
- *
- * @return \Illuminate\Events\Dispatcher
- * @static
- */
- public static function getEventDispatcher(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getEventDispatcher();
- }
-
- /**
- * Set the event dispatcher instance.
- *
- * @param \Illuminate\Events\Dispatcher $dispatcher
- * @return void
- * @static
- */
- public static function setEventDispatcher($dispatcher){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::setEventDispatcher($dispatcher);
- }
-
- /**
- * Unset the event dispatcher for models.
- *
- * @return void
- * @static
- */
- public static function unsetEventDispatcher(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::unsetEventDispatcher();
- }
-
- /**
- * Get the mutated attributes for a given instance.
- *
- * @return array
- * @static
- */
- public static function getMutatedAttributes(){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::getMutatedAttributes();
- }
-
- /**
- * Determine if the given attribute exists.
- *
- * @param mixed $offset
- * @return bool
- * @static
- */
- public static function offsetExists($offset){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::offsetExists($offset);
- }
-
- /**
- * Get the value for a given offset.
- *
- * @param mixed $offset
- * @return mixed
- * @static
- */
- public static function offsetGet($offset){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- return \Webpatser\Countries\Countries::offsetGet($offset);
- }
-
- /**
- * Set the value for a given offset.
- *
- * @param mixed $offset
- * @param mixed $value
- * @return void
- * @static
- */
- public static function offsetSet($offset, $value){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::offsetSet($offset, $value);
- }
-
- /**
- * Unset the value for a given offset.
- *
- * @param mixed $offset
- * @return void
- * @static
- */
- public static function offsetUnset($offset){
- //Method inherited from \Illuminate\Database\Eloquent\Model
- \Webpatser\Countries\Countries::offsetUnset($offset);
- }
-
- }
-
-
- class Carbon extends \Carbon\Carbon{
-
- }
-
-
-}
-
diff --git a/_ide_helper_models.php b/_ide_helper_models.php
deleted file mode 100644
index 2c7606d3c901..000000000000
--- a/_ide_helper_models.php
+++ /dev/null
@@ -1,1239 +0,0 @@
-
- */
-
-
-namespace {
-/**
- * Client
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property integer $currency_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property string $address1
- * @property string $address2
- * @property string $city
- * @property string $state
- * @property string $postal_code
- * @property integer $country_id
- * @property string $work_phone
- * @property string $private_notes
- * @property float $balance
- * @property float $paid_to_date
- * @property string $last_login
- * @property string $website
- * @property integer $industry_id
- * @property integer $size_id
- * @property boolean $is_deleted
- * @property integer $payment_terms
- * @property integer $public_id
- * @property string $custom_value1
- * @property string $custom_value2
- * @property string $vat_number
- * @property-read \Account $account
- * @property-read \Illuminate\Database\Eloquent\Collection|\Invoice[] $invoices
- * @property-read \Illuminate\Database\Eloquent\Collection|\Payment[] $payments
- * @property-read \Illuminate\Database\Eloquent\Collection|\Contact[] $contacts
- * @property-read \Illuminate\Database\Eloquent\Collection|\Project[] $projects
- * @property-read \Country $country
- * @property-read \Currency $currency
- * @property-read \Size $size
- * @property-read \Industry $industry
- * @method static \Illuminate\Database\Query\Builder|\Client whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCurrencyId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereAddress1($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereAddress2($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCity($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereState($value)
- * @method static \Illuminate\Database\Query\Builder|\Client wherePostalCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCountryId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereWorkPhone($value)
- * @method static \Illuminate\Database\Query\Builder|\Client wherePrivateNotes($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereBalance($value)
- * @method static \Illuminate\Database\Query\Builder|\Client wherePaidToDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereLastLogin($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereWebsite($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereIndustryId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereSizeId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereIsDeleted($value)
- * @method static \Illuminate\Database\Query\Builder|\Client wherePaymentTerms($value)
- * @method static \Illuminate\Database\Query\Builder|\Client wherePublicId($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCustomValue1($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereCustomValue2($value)
- * @method static \Illuminate\Database\Query\Builder|\Client whereVatNumber($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Client {}
-}
-
-namespace {
-/**
- * User
- *
- * @property integer $id
- * @property integer $account_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $first_name
- * @property string $last_name
- * @property string $phone
- * @property string $username
- * @property string $email
- * @property string $password
- * @property string $confirmation_code
- * @property boolean $registered
- * @property boolean $confirmed
- * @property integer $theme_id
- * @property boolean $notify_sent
- * @property boolean $notify_viewed
- * @property boolean $notify_paid
- * @property integer $public_id
- * @property boolean $force_pdfjs
- * @property string $remember_token
- * @property integer $news_feed_id
- * @property-read \Account $account
- * @property-read \Theme $theme
- * @method static \Illuminate\Database\Query\Builder|\User whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereFirstName($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereLastName($value)
- * @method static \Illuminate\Database\Query\Builder|\User wherePhone($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereUsername($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereEmail($value)
- * @method static \Illuminate\Database\Query\Builder|\User wherePassword($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereConfirmationCode($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereRegistered($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereConfirmed($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereThemeId($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereNotifySent($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereNotifyViewed($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereNotifyPaid($value)
- * @method static \Illuminate\Database\Query\Builder|\User wherePublicId($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereForcePdfjs($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereRememberToken($value)
- * @method static \Illuminate\Database\Query\Builder|\User whereNewsFeedId($value)
- */
- class User {}
-}
-
-namespace {
-/**
- * Size
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\Size whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Size whereName($value)
- */
- class Size {}
-}
-
-namespace {
-/**
- * Country
- *
- * @property integer $id
- * @property string $capital
- * @property string $citizenship
- * @property string $country_code
- * @property string $currency
- * @property string $currency_code
- * @property string $currency_sub_unit
- * @property string $full_name
- * @property string $iso_3166_2
- * @property string $iso_3166_3
- * @property string $name
- * @property string $region_code
- * @property string $sub_region_code
- * @property boolean $eea
- * @method static \Illuminate\Database\Query\Builder|\Country whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCapital($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCitizenship($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCountryCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCurrency($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCurrencyCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereCurrencySubUnit($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereFullName($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereIso31662($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereIso31663($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereRegionCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereSubRegionCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Country whereEea($value)
- */
- class Country {}
-}
-
-namespace {
-/**
- * Language
- *
- * @property integer $id
- * @property string $name
- * @property string $locale
- * @method static \Illuminate\Database\Query\Builder|\Language whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Language whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Language whereLocale($value)
- */
- class Language {}
-}
-
-namespace {
-/**
- * Contact
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property integer $client_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property boolean $is_primary
- * @property boolean $send_invoice
- * @property string $first_name
- * @property string $last_name
- * @property string $email
- * @property string $phone
- * @property string $last_login
- * @property integer $public_id
- * @property-read \Client $client
- * @method static \Illuminate\Database\Query\Builder|\Contact whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereIsPrimary($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereSendInvoice($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereFirstName($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereLastName($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereEmail($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact wherePhone($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact whereLastLogin($value)
- * @method static \Illuminate\Database\Query\Builder|\Contact wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Contact {}
-}
-
-namespace {
-/**
- * PaymentLibrary
- *
- * @property integer $id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property string $name
- * @property boolean $visible
- * @property-read \Illuminate\Database\Eloquent\Collection|\Gateway[] $gateways
- * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentLibrary whereVisible($value)
- */
- class PaymentLibrary {}
-}
-
-namespace {
-/**
- * Frequency
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\Frequency whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Frequency whereName($value)
- */
- class Frequency {}
-}
-
-namespace {
-/**
- * InvoiceItem
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property integer $invoice_id
- * @property integer $product_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $product_key
- * @property string $notes
- * @property float $cost
- * @property float $qty
- * @property string $tax_name
- * @property float $tax_rate
- * @property integer $public_id
- * @property-read \Invoice $invoice
- * @property-read \Product $product
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereProductId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereProductKey($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereNotes($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereCost($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereQty($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereTaxName($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem whereTaxRate($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceItem wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class InvoiceItem {}
-}
-
-namespace {
-/**
- * AccountGateway
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property integer $gateway_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $config
- * @property integer $public_id
- * @property integer $accepted_credit_cards
- * @property-read \Gateway $gateway
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereGatewayId($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereConfig($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway wherePublicId($value)
- * @method static \Illuminate\Database\Query\Builder|\AccountGateway whereAcceptedCreditCards($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class AccountGateway {}
-}
-
-namespace {
-/**
- * Theme
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\Theme whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Theme whereName($value)
- */
- class Theme {}
-}
-
-namespace {
-/**
- * Payment
- *
- * @property integer $id
- * @property integer $invoice_id
- * @property integer $account_id
- * @property integer $client_id
- * @property integer $contact_id
- * @property integer $invitation_id
- * @property integer $user_id
- * @property integer $account_gateway_id
- * @property integer $payment_type_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property boolean $is_deleted
- * @property float $amount
- * @property string $payment_date
- * @property string $transaction_reference
- * @property string $payer_id
- * @property integer $public_id
- * @property-read \Invoice $invoice
- * @property-read \Invitation $invitation
- * @property-read \Client $client
- * @property-read \Account $account
- * @property-read \Contact $contact
- * @method static \Illuminate\Database\Query\Builder|\Payment whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereContactId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereInvitationId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereAccountGatewayId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment wherePaymentTypeId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereIsDeleted($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereAmount($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment wherePaymentDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment whereTransactionReference($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment wherePayerId($value)
- * @method static \Illuminate\Database\Query\Builder|\Payment wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Payment {}
-}
-
-namespace {
-/**
- * Invoice
- *
- * @property integer $id
- * @property integer $client_id
- * @property integer $user_id
- * @property integer $account_id
- * @property integer $invoice_status_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $invoice_number
- * @property float $discount
- * @property string $po_number
- * @property string $invoice_date
- * @property string $due_date
- * @property string $terms
- * @property string $public_notes
- * @property boolean $is_deleted
- * @property boolean $is_recurring
- * @property integer $frequency_id
- * @property string $start_date
- * @property string $end_date
- * @property string $last_sent_date
- * @property integer $recurring_invoice_id
- * @property string $tax_name
- * @property float $tax_rate
- * @property float $amount
- * @property float $balance
- * @property integer $public_id
- * @property integer $invoice_design_id
- * @property boolean $is_quote
- * @property integer $quote_id
- * @property integer $quote_invoice_id
- * @property float $custom_value1
- * @property float $custom_value2
- * @property boolean $custom_taxes1
- * @property boolean $custom_taxes2
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \Client $client
- * @property-read \Illuminate\Database\Eloquent\Collection|\InvoiceItem[] $invoice_items
- * @property-read \InvoiceStatus $invoice_status
- * @property-read \InvoiceDesign $invoice_design
- * @property-read \Illuminate\Database\Eloquent\Collection|\Invitation[] $invitations
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceStatusId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceNumber($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereDiscount($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice wherePoNumber($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereDueDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereTerms($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice wherePublicNotes($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsDeleted($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsRecurring($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereFrequencyId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereStartDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereEndDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereLastSentDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereRecurringInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereTaxName($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereTaxRate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereAmount($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereBalance($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice wherePublicId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereInvoiceDesignId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereIsQuote($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereQuoteId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereQuoteInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomValue1($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomValue2($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomTaxes1($value)
- * @method static \Illuminate\Database\Query\Builder|\Invoice whereCustomTaxes2($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Invoice {}
-}
-
-namespace {
-/**
- * Subscription
- *
- * @property integer $id
- * @property integer $account_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property integer $event_id
- * @property string $target_url
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereEventId($value)
- * @method static \Illuminate\Database\Query\Builder|\Subscription whereTargetUrl($value)
- */
- class Subscription {}
-}
-
-namespace {
-/**
- * InvoiceStatus
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\InvoiceStatus whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceStatus whereName($value)
- */
- class InvoiceStatus {}
-}
-
-namespace {
-/**
- * Industry
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\Industry whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Industry whereName($value)
- */
- class Industry {}
-}
-
-namespace {
-/**
- * Activity
- *
- * @property integer $id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property integer $account_id
- * @property integer $client_id
- * @property integer $user_id
- * @property integer $contact_id
- * @property integer $payment_id
- * @property integer $invoice_id
- * @property integer $credit_id
- * @property integer $invitation_id
- * @property string $message
- * @property string $json_backup
- * @property integer $activity_type_id
- * @property float $adjustment
- * @property float $balance
- * @property-read \Account $account
- * @method static \Illuminate\Database\Query\Builder|\Activity whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereContactId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity wherePaymentId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereCreditId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereInvitationId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereMessage($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereJsonBackup($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereActivityTypeId($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereAdjustment($value)
- * @method static \Illuminate\Database\Query\Builder|\Activity whereBalance($value)
- * @method static \Activity scope()
- */
- class Activity {}
-}
-
-namespace {
-/**
- * Timesheet
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $start_date
- * @property string $end_date
- * @property float $discount
- * @property float $hours
- * @property integer $public_id
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \Illuminate\Database\Eloquent\Collection|\TimeSheetEvent[] $timesheet_events
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereStartDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereEndDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereDiscount($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet whereHours($value)
- * @method static \Illuminate\Database\Query\Builder|\Timesheet wherePublicId($value)
- */
- class Timesheet {}
-}
-
-namespace {
-/**
- * Credit
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $client_id
- * @property integer $user_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property boolean $is_deleted
- * @property float $amount
- * @property float $balance
- * @property string $credit_date
- * @property string $credit_number
- * @property string $private_notes
- * @property integer $public_id
- * @property-read \Invoice $invoice
- * @property-read \Client $client
- * @method static \Illuminate\Database\Query\Builder|\Credit whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereIsDeleted($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereAmount($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereBalance($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereCreditDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit whereCreditNumber($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit wherePrivateNotes($value)
- * @method static \Illuminate\Database\Query\Builder|\Credit wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Credit {}
-}
-
-namespace {
-/**
- * Product
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $product_key
- * @property string $notes
- * @property float $cost
- * @property float $qty
- * @property integer $public_id
- * @method static \Illuminate\Database\Query\Builder|\Product whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereProductKey($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereNotes($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereCost($value)
- * @method static \Illuminate\Database\Query\Builder|\Product whereQty($value)
- * @method static \Illuminate\Database\Query\Builder|\Product wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Product {}
-}
-
-namespace {
-/**
- * PaymentTerm
- *
- * @property integer $id
- * @property integer $num_days
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereNumDays($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentTerm whereName($value)
- */
- class PaymentTerm {}
-}
-
-namespace {
-/**
- * EntityModel
- *
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class EntityModel {}
-}
-
-namespace {
-/**
- * Timezone
- *
- * @property integer $id
- * @property string $name
- * @property string $location
- * @method static \Illuminate\Database\Query\Builder|\Timezone whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Timezone whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Timezone whereLocation($value)
- */
- class Timezone {}
-}
-
-namespace {
-/**
- * ProjectCode
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property integer $project_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property string $description
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \Project $project
- * @property-read \Illuminate\Database\Eloquent\Collection|\TimesheetEvent[] $events
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereProjectId($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\ProjectCode whereDescription($value)
- */
- class ProjectCode {}
-}
-
-namespace {
-/**
- * Invitation
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property integer $contact_id
- * @property integer $invoice_id
- * @property string $invitation_key
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $transaction_reference
- * @property string $sent_date
- * @property string $viewed_date
- * @property integer $public_id
- * @property-read \Invoice $invoice
- * @property-read \Contact $contact
- * @property-read \User $user
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereContactId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereInvoiceId($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereInvitationKey($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereTransactionReference($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereSentDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation whereViewedDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Invitation wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class Invitation {}
-}
-
-namespace {
-/**
- * Currency
- *
- * @property integer $id
- * @property string $name
- * @property string $symbol
- * @property string $precision
- * @property string $thousand_separator
- * @property string $decimal_separator
- * @property string $code
- * @method static \Illuminate\Database\Query\Builder|\Currency whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency whereSymbol($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency wherePrecision($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency whereThousandSeparator($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency whereDecimalSeparator($value)
- * @method static \Illuminate\Database\Query\Builder|\Currency whereCode($value)
- */
- class Currency {}
-}
-
-namespace {
-/**
- * InvoiceDesign
- *
- * @property integer $id
- * @property string $name
- * @property string $javascript
- * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\InvoiceDesign whereJavascript($value)
- */
- class InvoiceDesign {}
-}
-
-namespace {
-/**
- * DatetimeFormat
- *
- * @property integer $id
- * @property string $format
- * @property string $label
- * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereFormat($value)
- * @method static \Illuminate\Database\Query\Builder|\DatetimeFormat whereLabel($value)
- */
- class DatetimeFormat {}
-}
-
-namespace {
-/**
- * Affiliate
- *
- * @property integer $id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property string $affiliate_key
- * @property string $payment_title
- * @property string $payment_subtitle
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate whereAffiliateKey($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate wherePaymentTitle($value)
- * @method static \Illuminate\Database\Query\Builder|\Affiliate wherePaymentSubtitle($value)
- */
- class Affiliate {}
-}
-
-namespace {
-/**
- * TaxRate
- *
- * @property integer $id
- * @property integer $account_id
- * @property integer $user_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property float $rate
- * @property integer $public_id
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate whereRate($value)
- * @method static \Illuminate\Database\Query\Builder|\TaxRate wherePublicId($value)
- * @method static \EntityModel scope($publicId = false, $accountId = false)
- */
- class TaxRate {}
-}
-
-namespace {
-/**
- * Gateway
- *
- * @property integer $id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property string $name
- * @property string $provider
- * @property boolean $visible
- * @property integer $payment_library_id
- * @property integer $sort_order
- * @property boolean $recommended
- * @property string $site_url
- * @property-read \PaymentLibrary $paymentlibrary
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereProvider($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereVisible($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway wherePaymentLibraryId($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereSortOrder($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereRecommended($value)
- * @method static \Illuminate\Database\Query\Builder|\Gateway whereSiteUrl($value)
- */
- class Gateway {}
-}
-
-namespace {
-/**
- * PaymentType
- *
- * @property integer $id
- * @property string $name
- * @method static \Illuminate\Database\Query\Builder|\PaymentType whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\PaymentType whereName($value)
- */
- class PaymentType {}
-}
-
-namespace {
-/**
- * License
- *
- * @property integer $id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property integer $affiliate_id
- * @property string $first_name
- * @property string $last_name
- * @property string $email
- * @property string $license_key
- * @property boolean $is_claimed
- * @property string $transaction_reference
- * @method static \Illuminate\Database\Query\Builder|\License whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereAffiliateId($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereFirstName($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereLastName($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereEmail($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereLicenseKey($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereIsClaimed($value)
- * @method static \Illuminate\Database\Query\Builder|\License whereTransactionReference($value)
- */
- class License {}
-}
-
-namespace {
-/**
- * DateFormat
- *
- * @property integer $id
- * @property string $format
- * @property string $picker_format
- * @property string $label
- * @method static \Illuminate\Database\Query\Builder|\DateFormat whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\DateFormat whereFormat($value)
- * @method static \Illuminate\Database\Query\Builder|\DateFormat wherePickerFormat($value)
- * @method static \Illuminate\Database\Query\Builder|\DateFormat whereLabel($value)
- */
- class DateFormat {}
-}
-
-namespace {
-/**
- * TimesheetEvent
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property integer $timesheet_event_source_id
- * @property integer $timesheet_id
- * @property integer $project_id
- * @property integer $project_code_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $uid
- * @property string $summary
- * @property string $description
- * @property string $location
- * @property string $owner
- * @property string $start_date
- * @property string $end_date
- * @property float $hours
- * @property float $discount
- * @property boolean $manualedit
- * @property string $org_code
- * @property string $org_created_at
- * @property string $org_updated_at
- * @property string $org_deleted_at
- * @property string $org_start_date_timezone
- * @property string $org_end_date_timezone
- * @property string $org_data
- * @property string $import_error
- * @property string $import_warning
- * @property string $updated_data
- * @property string $updated_data_at
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \TimesheetEventSource $source
- * @property-read \Timesheet $timesheet
- * @property-read \Project $project
- * @property-read \ProjectCode $project_code
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereTimesheetEventSourceId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereTimesheetId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereProjectId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereProjectCodeId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUid($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereSummary($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDescription($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereLocation($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOwner($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereStartDate($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereEndDate($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereHours($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereDiscount($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereManualedit($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgCode($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgStartDateTimezone($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgEndDateTimezone($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereOrgData($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereImportError($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereImportWarning($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedData($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEvent whereUpdatedDataAt($value)
- */
- class TimesheetEvent {}
-}
-
-namespace {
-/**
- * Project
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property integer $client_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property string $description
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \Client $client
- * @property-read \Illuminate\Database\Eloquent\Collection|\ProjectCode[] $codes
- * @method static \Illuminate\Database\Query\Builder|\Project whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereClientId($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Project whereDescription($value)
- */
- class Project {}
-}
-
-namespace {
-/**
- * Account
- *
- * @property integer $id
- * @property integer $timezone_id
- * @property integer $date_format_id
- * @property integer $datetime_format_id
- * @property integer $currency_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $name
- * @property string $ip
- * @property string $account_key
- * @property string $last_login
- * @property string $address1
- * @property string $address2
- * @property string $city
- * @property string $state
- * @property string $postal_code
- * @property integer $country_id
- * @property string $invoice_terms
- * @property string $email_footer
- * @property integer $industry_id
- * @property integer $size_id
- * @property boolean $invoice_taxes
- * @property boolean $invoice_item_taxes
- * @property integer $invoice_design_id
- * @property string $work_phone
- * @property string $work_email
- * @property integer $language_id
- * @property string $pro_plan_paid
- * @property string $custom_label1
- * @property string $custom_value1
- * @property string $custom_label2
- * @property string $custom_value2
- * @property string $custom_client_label1
- * @property string $custom_client_label2
- * @property boolean $fill_products
- * @property boolean $update_products
- * @property string $primary_color
- * @property string $secondary_color
- * @property boolean $hide_quantity
- * @property boolean $hide_paid_to_date
- * @property string $custom_invoice_label1
- * @property string $custom_invoice_label2
- * @property boolean $custom_invoice_taxes1
- * @property boolean $custom_invoice_taxes2
- * @property string $vat_number
- * @property string $invoice_design
- * @property string $invoice_number_prefix
- * @property integer $invoice_number_counter
- * @property string $quote_number_prefix
- * @property integer $quote_number_counter
- * @property boolean $share_counter
- * @property-read \Illuminate\Database\Eloquent\Collection|\User[] $users
- * @property-read \Illuminate\Database\Eloquent\Collection|\Client[] $clients
- * @property-read \Illuminate\Database\Eloquent\Collection|\Invoice[] $invoices
- * @property-read \Illuminate\Database\Eloquent\Collection|\AccountGateway[] $account_gateways
- * @property-read \Illuminate\Database\Eloquent\Collection|\TaxRate[] $tax_rates
- * @property-read \Country $country
- * @property-read \Timezone $timezone
- * @property-read \Language $language
- * @property-read \DateFormat $date_format
- * @property-read \DatetimeFormat $datetime_format
- * @property-read \Size $size
- * @property-read \Industry $industry
- * @method static \Illuminate\Database\Query\Builder|\Account whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereTimezoneId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereDateFormatId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereDatetimeFormatId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCurrencyId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereIp($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereAccountKey($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereLastLogin($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereAddress1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereAddress2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCity($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereState($value)
- * @method static \Illuminate\Database\Query\Builder|\Account wherePostalCode($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCountryId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceTerms($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereEmailFooter($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereIndustryId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereSizeId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceTaxes($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceItemTaxes($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceDesignId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereWorkPhone($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereWorkEmail($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereLanguageId($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereProPlanPaid($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomLabel1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomValue1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomLabel2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomValue2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomClientLabel1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomClientLabel2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereFillProducts($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereUpdateProducts($value)
- * @method static \Illuminate\Database\Query\Builder|\Account wherePrimaryColor($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereSecondaryColor($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereHideQuantity($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereHidePaidToDate($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceLabel1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceLabel2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceTaxes1($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereCustomInvoiceTaxes2($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereVatNumber($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceDesign($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceNumberPrefix($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereInvoiceNumberCounter($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereQuoteNumberPrefix($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereQuoteNumberCounter($value)
- * @method static \Illuminate\Database\Query\Builder|\Account whereShareCounter($value)
- */
- class Account {}
-}
-
-namespace {
-/**
- * TimesheetEventSource
- *
- * @property integer $id
- * @property integer $user_id
- * @property integer $account_id
- * @property \Carbon\Carbon $created_at
- * @property \Carbon\Carbon $updated_at
- * @property \Carbon\Carbon $deleted_at
- * @property string $owner
- * @property string $name
- * @property string $url
- * @property string $type
- * @property string $from_date
- * @property string $to_date
- * @property-read \Account $account
- * @property-read \User $user
- * @property-read \Illuminate\Database\Eloquent\Collection|\TimesheetEvent[] $events
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUserId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereAccountId($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereCreatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUpdatedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereDeletedAt($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereOwner($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereName($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereUrl($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereType($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereFromDate($value)
- * @method static \Illuminate\Database\Query\Builder|\TimesheetEventSource whereToDate($value)
- */
- class TimesheetEventSource {}
-}
-
diff --git a/app/commands/.gitkeep b/app/commands/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/commands/CheckData.php b/app/commands/CheckData.php
deleted file mode 100644
index f2a0610f632a..000000000000
--- a/app/commands/CheckData.php
+++ /dev/null
@@ -1,266 +0,0 @@
-
-
- Limits the script to a single client
-
---fix=true
-
- By default the script only checks for errors, adding this option
- makes the script apply the fixes.
-
-*/
-
-
-class CheckData extends Command {
-
- protected $name = 'ninja:check-data';
- protected $description = 'Check/fix data';
-
- public function fire()
- {
- $this->info(date('Y-m-d') . ' Running CheckData...');
- $today = new DateTime();
-
- if (!$this->option('client_id')) {
- // update client deletion activities with the client's current balance
- $activities = DB::table('activities')
- ->join('clients', 'clients.id', '=', 'activities.client_id')
- ->where('activities.activity_type_id', '=', ACTIVITY_TYPE_DELETE_CLIENT)
- ->where('activities.balance', '=', 0)
- ->where('clients.balance', '!=', 0)
- ->get(['activities.id', 'clients.balance']);
-
- $this->info(count($activities) . ' delete client activities with zero balance');
-
- if ($this->option('fix') == 'true') {
- foreach ($activities as $activity) {
- DB::table('activities')
- ->where('id', $activity->id)
- ->update(['balance' => $activity->balance]);
- }
- }
-
- // update client paid_to_date value
- $clients = DB::table('clients')
- ->join('payments', 'payments.client_id', '=', 'clients.id')
- ->join('invoices', 'invoices.id', '=', 'payments.invoice_id')
- ->where('payments.is_deleted', '=', 0)
- ->where('invoices.is_deleted', '=', 0)
- ->groupBy('clients.id')
- ->havingRaw('clients.paid_to_date != sum(payments.amount) and clients.paid_to_date != 999999999.9999')
- ->get(['clients.id', 'clients.paid_to_date', DB::raw('sum(payments.amount) as amount')]);
- $this->info(count($clients) . ' clients with incorrect paid to date');
-
- if ($this->option('fix') == 'true') {
- foreach ($clients as $client) {
- DB::table('clients')
- ->where('id', $client->id)
- ->update(['paid_to_date' => $client->amount]);
- }
- }
- }
-
- // find all clients where the balance doesn't equal the sum of the outstanding invoices
- $clients = DB::table('clients')
- ->join('invoices', 'invoices.client_id', '=', 'clients.id')
- ->join('accounts', 'accounts.id', '=', 'clients.account_id');
-
- if ($this->option('client_id')) {
- $clients->where('clients.id', '=', $this->option('client_id'));
- } else {
- $clients->where('invoices.is_deleted', '=', 0)
- ->where('invoices.is_quote', '=', 0)
- ->where('invoices.is_recurring', '=', 0)
- ->havingRaw('abs(clients.balance - sum(invoices.balance)) > .01 and clients.balance != 999999999.9999');
- }
-
- $clients = $clients->groupBy('clients.id', 'clients.balance', 'clients.created_at')
- ->orderBy('clients.id', 'DESC')
- ->get(['clients.id', 'clients.balance', 'clients.paid_to_date']);
- $this->info(count($clients) . ' clients with incorrect balance/activities');
-
- foreach ($clients as $client) {
- $this->info("=== Client:{$client->id} Balance:{$client->balance} ===");
- $foundProblem = false;
- $lastBalance = 0;
- $clientFix = false;
- $activities = DB::table('activities')
- ->where('client_id', '=', $client->id)
- ->orderBy('activities.id')
- ->get(['activities.id', 'activities.created_at', 'activities.activity_type_id', 'activities.message', 'activities.adjustment', 'activities.balance', 'activities.invoice_id']);
- //$this->info(var_dump($activities));
-
- foreach ($activities as $activity) {
-
- $activityFix = false;
-
- if ($activity->invoice_id) {
- $invoice = DB::table('invoices')
- ->where('id', '=', $activity->invoice_id)
- ->first(['invoices.amount', 'invoices.is_recurring', 'invoices.is_quote', 'invoices.deleted_at', 'invoices.id', 'invoices.is_deleted']);
-
- // Check if this invoice was once set as recurring invoice
- if (!$invoice->is_recurring && DB::table('invoices')
- ->where('recurring_invoice_id', '=', $activity->invoice_id)
- ->first(['invoices.id'])) {
- $invoice->is_recurring = 1;
-
- // **Fix for enabling a recurring invoice to be set as non-recurring**
- if ($this->option('fix') == 'true') {
- DB::table('invoices')
- ->where('id', $invoice->id)
- ->update(['is_recurring' => 1]);
- }
- }
- }
-
-
- if ($activity->activity_type_id == ACTIVITY_TYPE_CREATE_INVOICE
- || $activity->activity_type_id == ACTIVITY_TYPE_CREATE_QUOTE) {
-
- // Get original invoice amount
- $update = DB::table('activities')
- ->where('invoice_id', '=', $activity->invoice_id)
- ->where('activity_type_id', '=', ACTIVITY_TYPE_UPDATE_INVOICE)
- ->orderBy('id')
- ->first(['json_backup']);
- if ($update) {
- $backup = json_decode($update->json_backup);
- $invoice->amount = floatval($backup->amount);
- }
-
- $noAdjustment = $activity->activity_type_id == ACTIVITY_TYPE_CREATE_INVOICE
- && $activity->adjustment == 0
- && $invoice->amount > 0;
-
- // **Fix for allowing converting a recurring invoice to a normal one without updating the balance**
- if ($noAdjustment && !$invoice->is_quote && !$invoice->is_recurring) {
- $this->info("No adjustment for new invoice:{$activity->invoice_id} amount:{$invoice->amount} isQuote:{$invoice->is_quote} isRecurring:{$invoice->is_recurring}");
- $foundProblem = true;
- $clientFix += $invoice->amount;
- $activityFix = $invoice->amount;
- // **Fix for updating balance when creating a quote or recurring invoice**
- } elseif ($activity->adjustment != 0 && ($invoice->is_quote || $invoice->is_recurring)) {
- $this->info("Incorrect adjustment for new invoice:{$activity->invoice_id} adjustment:{$activity->adjustment} isQuote:{$invoice->is_quote} isRecurring:{$invoice->is_recurring}");
- $foundProblem = true;
- $clientFix -= $activity->adjustment;
- $activityFix = 0;
- }
- } elseif ($activity->activity_type_id == ACTIVITY_TYPE_DELETE_INVOICE) {
- // **Fix for updating balance when deleting a recurring invoice**
- if ($activity->adjustment != 0 && $invoice->is_recurring) {
- $this->info("Incorrect adjustment for deleted invoice adjustment:{$activity->adjustment}");
- $foundProblem = true;
- if ($activity->balance != $lastBalance) {
- $clientFix -= $activity->adjustment;
- }
- $activityFix = 0;
- }
- } elseif ($activity->activity_type_id == ACTIVITY_TYPE_ARCHIVE_INVOICE) {
- // **Fix for updating balance when archiving an invoice**
- if ($activity->adjustment != 0 && !$invoice->is_recurring) {
- $this->info("Incorrect adjustment for archiving invoice adjustment:{$activity->adjustment}");
- $foundProblem = true;
- $activityFix = 0;
- $clientFix += $activity->adjustment;
- }
- } elseif ($activity->activity_type_id == ACTIVITY_TYPE_UPDATE_INVOICE) {
- // **Fix for updating balance when updating recurring invoice**
- if ($activity->adjustment != 0 && $invoice->is_recurring) {
- $this->info("Incorrect adjustment for updated recurring invoice adjustment:{$activity->adjustment}");
- $foundProblem = true;
- $clientFix -= $activity->adjustment;
- $activityFix = 0;
- }
- } elseif ($activity->activity_type_id == ACTIVITY_TYPE_UPDATE_QUOTE) {
- // **Fix for updating balance when updating a quote**
- if ($activity->balance != $lastBalance) {
- $this->info("Incorrect adjustment for updated quote adjustment:{$activity->adjustment}");
- $foundProblem = true;
- $clientFix += $lastBalance - $activity->balance;
- $activityFix = 0;
- }
- } else if ($activity->activity_type_id == ACTIVITY_TYPE_DELETE_PAYMENT) {
- // **Fix for delting payment after deleting invoice**
- if ($activity->adjustment != 0 && $invoice->is_deleted && $activity->created_at > $invoice->deleted_at) {
- $this->info("Incorrect adjustment for deleted payment adjustment:{$activity->adjustment}");
- $foundProblem = true;
- $activityFix = 0;
- $clientFix -= $activity->adjustment;
- }
- }
-
- if ($activityFix !== false || $clientFix !== false) {
- $data = [
- 'balance' => $activity->balance + $clientFix
- ];
-
- if ($activityFix !== false) {
- $data['adjustment'] = $activityFix;
- }
-
- if ($this->option('fix') == 'true') {
- DB::table('activities')
- ->where('id', $activity->id)
- ->update($data);
- }
- }
-
- $lastBalance = $activity->balance;
- }
-
- if ($clientFix !== false) {
- $balance = $activity->balance + $clientFix;
- $data = ['balance' => $balance];
- $this->info("Corrected balance:{$balance}");
- if ($this->option('fix') == 'true') {
- DB::table('clients')
- ->where('id', $client->id)
- ->update($data);
- }
- }
- }
-
- $this->info('Done');
- }
-
- protected function getArguments()
- {
- return array(
- //array('example', InputArgument::REQUIRED, 'An example argument.'),
- );
- }
-
- protected function getOptions()
- {
- return array(
- array('fix', null, InputOption::VALUE_OPTIONAL, 'Fix data', null),
- array('client_id', null, InputOption::VALUE_OPTIONAL, 'Client id', null),
- );
- }
-
-}
\ No newline at end of file
diff --git a/app/commands/CreateRandomData.php b/app/commands/CreateRandomData.php
deleted file mode 100644
index 0a019454be01..000000000000
--- a/app/commands/CreateRandomData.php
+++ /dev/null
@@ -1,88 +0,0 @@
-info(date('Y-m-d') . ' Running CreateRandomData...');
-
- $user = User::first();
-
- if (!$user) {
- $this->error("Error: please create user account by logging in");
- return;
- }
-
- $productNames = ['Arkansas', 'New York', 'Arizona', 'California', 'Colorado', 'Alabama', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'Alaska', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'];
- $clientNames = ['IBM', 'Nestle', 'Mitsubishi UFJ Financial', 'Vodafone', 'Eni', 'Procter & Gamble', 'Johnson & Johnson', 'American International Group', 'Banco Santander', 'BHP Billiton', 'Pfizer', 'Itaú Unibanco Holding', 'Ford Motor', 'BMW Group', 'Commonwealth Bank', 'EDF', 'Statoil', 'Google', 'Siemens', 'Novartis', 'Royal Bank of Canada', 'Sumitomo Mitsui Financial', 'Comcast', 'Sberbank', 'Goldman Sachs Group', 'Westpac Banking Group', 'Nippon Telegraph & Tel', 'Ping An Insurance Group', 'Banco Bradesco', 'Anheuser-Busch InBev', 'Bank of Communications', 'China Life Insurance', 'General Motors', 'Telefónica', 'MetLife', 'Honda Motor', 'Enel', 'BASF', 'Softbank', 'National Australia Bank', 'ANZ', 'ConocoPhillips', 'TD Bank Group', 'Intel', 'UBS', 'Hewlett-Packard', 'Coca-Cola', 'Cisco Systems', 'UnitedHealth Group', 'Boeing', 'Zurich Insurance Group', 'Hyundai Motor', 'Sanofi', 'Credit Agricole', 'United Technologies', 'Roche Holding', 'Munich Re', 'PepsiCo', 'Oracle', 'Bank of Nova Scotia'];
-
- foreach ($productNames as $i => $value) {
- $product = Product::createNew($user);
- $product->id = $i+1;
- $product->product_key = $value;
- $product->save();
- }
-
- foreach ($clientNames as $i => $value) {
- $client = Client::createNew($user);
- $client->name = $value;
- $client->save();
-
- $contact = Contact::createNew($user);
- $contact->email = "client@aol.com";
- $contact->is_primary = 1;
- $client->contacts()->save($contact);
-
- $numInvoices = rand(1, 25);
- if ($numInvoices == 4 || $numInvoices == 10 || $numInvoices == 25) {
- // leave these
- } else if ($numInvoices % 3 == 0) {
- $numInvoices = 1;
- } else if ($numInvoices > 10) {
- $numInvoices = $numInvoices % 2;
- }
-
- $paidUp = rand(0, 1) == 1;
-
- for ($j=1; $j<=$numInvoices; $j++) {
-
- $price = rand(10, 1000);
- if ($price < 900) {
- $price = rand(10, 150);
- }
-
- $invoice = Invoice::createNew($user);
- $invoice->invoice_number = $user->account->getNextInvoiceNumber();
- $invoice->amount = $invoice->balance = $price;
- $invoice->created_at = date('Y-m-d', strtotime(date("Y-m-d") . ' - ' . rand(1, 100) . ' days'));
- $client->invoices()->save($invoice);
-
- $productId = rand(0, 40);
- if ($productId > 20) {
- $productId = ($productId % 2) + rand(0, 2);
- }
-
- $invoiceItem = InvoiceItem::createNew($user);
- $invoiceItem->product_id = $productId+1;
- $invoiceItem->product_key = $productNames[$invoiceItem->product_id];
- $invoiceItem->cost = $invoice->amount;
- $invoiceItem->qty = 1;
- $invoice->invoice_items()->save($invoiceItem);
-
- if ($paidUp || rand(0,2) > 1) {
- $payment = Payment::createNew($user);
- $payment->invoice_id = $invoice->id;
- $payment->amount = $invoice->amount;
- $client->payments()->save($payment);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/commands/ImportTimesheetData.php b/app/commands/ImportTimesheetData.php
deleted file mode 100644
index edb5a277eb08..000000000000
--- a/app/commands/ImportTimesheetData.php
+++ /dev/null
@@ -1,335 +0,0 @@
-info(date('Y-m-d') . ' Running ImportTimesheetData...');
-
- // Seems we are using the console timezone
- DB::statement("SET SESSION time_zone = '+00:00'");
-
- // Get the Unix epoch
- $unix_epoch = new DateTime('1970-01-01T00:00:01', new DateTimeZone("UTC"));
-
- // Create some initial sources we can test with
- $user = User::first();
- if (!$user) {
- $this->error("Error: please create user account by logging in");
- return;
- }
-
- // TODO: Populate with own test data until test data has been created
- // Truncate the tables
- /*$this->info("Truncate tables");
- DB::statement('SET FOREIGN_KEY_CHECKS=0;');
- DB::table('projects')->truncate();
- DB::table('project_codes')->truncate();
- DB::table('timesheet_event_sources')->truncate();
- DB::table('timesheet_events')->truncate();
- DB::statement('SET FOREIGN_KEY_CHECKS=1;'); */
-
- if (!Project::find(1)) {
- $this->info("Import old project codes");
- $oldcodes = json_decode(file_get_contents("/home/tlb/git/itktime/codes.json"), true);
- foreach ($oldcodes as $name => $options) {
- $project = Project::createNew($user);
- $project->name = $options['description'];
- $project->save();
-
- $code = ProjectCode::createNew($user);
- $code->name = $name;
- $project->codes()->save($code);
- }
- }
-
- if (!TimesheetEventSource::find(1)) {
- $this->info("Import old event sources");
-
- $oldevent_sources = json_decode(file_get_contents("/home/tlb/git/itktime/employes.json"), true);
-
- foreach ($oldevent_sources as $source) {
- $event_source = TimesheetEventSource::createNew($user);
- $event_source->name = $source['name'];
- $event_source->url = $source['url'];
- $event_source->owner = $source['owner'];
- $event_source->type = 'ical';
- //$event_source->from_date = new DateTime("2009-01-01");
- $event_source->save();
- }
- }
-
- // Add all URL's to Curl
- $this->info("Download ICAL feeds");
- $T = new Timer;
- $T->start();
-
- $T->lap("Get Event Sources");
- $event_sources = TimesheetEventSource::all(); // TODO: Filter based on ical feeds
-
- $T->lap("Get ICAL responses");
- $urls = [];
- $event_sources->map(function($item) use(&$urls) {
- $urls[] = $item->url;
- });
- $icalresponses = TimesheetUtils::curlGetUrls($urls);
-
- $T->lap("Fetch all codes so we can do a quick lookup");
- $codes = array();
- ProjectCode::all()->map(function($item) use(&$codes) {
- $codes[$item->name] = $item;
- });
-
- $this->info("Start parsing ICAL files");
- foreach ($event_sources as $i => $event_source) {
- if (!is_array($icalresponses[$i])) {
- $this->info("Find events in " . $event_source->name);
- file_put_contents("/tmp/" . $event_source->name . ".ical", $icalresponses[$i]); // FIXME: Remove
- $T->lap("Split on events for ".$event_source->name);
-
- // Check if the file is complete
- if(!preg_match("/^\s*BEGIN:VCALENDAR/", $icalresponses[$i]) || !preg_match("/END:VCALENDAR\s*$/", $icalresponses[$i])) {
- $this->error("Missing start or end of ical file");
- continue;
- }
-
- // Extract all events from ical file
- if (preg_match_all('/BEGIN:VEVENT\r?\n(.+?)\r?\nEND:VEVENT/s', $icalresponses[$i], $icalmatches)) {
- $this->info("Found ".(count($icalmatches[1])-1)." events");
- $T->lap("Fetch all uids and last updated at so we can do a quick lookup to find out if the event needs to be updated in the database".$event_source->name);
- $uids = [];
- $org_deleted = []; // Create list of events we know are deleted on the source, but still have in the db
- $event_source->events()->withTrashed()->get(['uid', 'org_updated_at', 'updated_data_at', 'org_deleted_at'])->map(function($item) use(&$uids, &$org_deleted) {
- if($item->org_updated_at > $item->updated_data_at) {
- $uids[$item->uid] = $item->org_updated_at;
- } else {
- $uids[$item->uid] = $item->updated_data_at;
- }
- if($item->org_deleted_at > '0000-00-00 00:00:00') {
- $org_deleted[$item->uid] = $item->updated_data_at;
- }
- });
- $deleted = $uids;
-
- // Loop over all the found events
- $T->lap("Parse events for ".$event_source->name);
- foreach ($icalmatches[1] as $eventstr) {
- //print "---\n";
- //print $eventstr."\n";
- //print "---\n";
- //$this->info("Match event");
- # Fix lines broken by 76 char limit
- $eventstr = preg_replace('/\r?\n\s/s', '', $eventstr);
- //$this->info("Parse data");
- $data = TimesheetUtils::parseICALEvent($eventstr);
- if ($data) {
- // Extract code for summary so we only import events we use
- list($codename, $tags, $title) = TimesheetUtils::parseEventSummary($data['summary']);
- if ($codename != null) {
- $event = TimesheetEvent::createNew($user);
-
- // Copy data to new object
- $event->uid = $data['uid'];
- $event->summary = $title;
- $event->org_data = $eventstr;
- $event->org_code = $codename;
- if(isset($data['description'])) {
- $event->description = $data['description'];
- }
- $event->owner = $event_source->owner;
- $event->timesheet_event_source_id = $event_source->id;
- if (isset($codes[$codename])) {
- $event->project_id = $codes[$codename]->project_id;
- $event->project_code_id = $codes[$codename]->id;
- }
- if (isset($data['location'])) {
- $event->location = $data['location'];
- }
-
-
- # Add RECURRENCE-ID to the UID to make sure the event is unique
- if (isset($data['recurrence-id'])) {
- $event->uid .= "::".$data['recurrence-id'];
- }
-
- //TODO: Add support for recurring event, make limit on number of events created : https://github.com/tplaner/When
- // Bail on RRULE as we don't support that
- if(isset($event['rrule'])) {
- die("Recurring event not supported: {$event['summary']} - {$event['dtstart']}");
- }
-
- // Convert to DateTime objects
- foreach (['dtstart', 'dtend', 'created', 'last-modified'] as $key) {
- // Parse and create DataTime object from ICAL format
- list($dt, $timezone) = TimesheetUtils::parseICALDate($data[$key]);
-
- // Handle bad dates in created and last-modified
- if ($dt == null || $dt < $unix_epoch) {
- if ($key == 'created' || $key == 'last-modified') {
- $dt = $unix_epoch; // Default to UNIX epoch
- $event->import_warning = "Could not parse date for $key: '" . $data[$key] . "' so default to UNIX Epoc\n";
- } else {
- $event->import_error = "Could not parse date for $key: '" . $data[$key] . "' so default to UNIX Epoc\n";
- // TODO: Bail on this event or write to error table
- die("Could not parse date for $key: '" . $data[$key] . "'\n");
- }
- }
-
- // Assign DateTime object to
- switch ($key) {
- case 'dtstart':
- $event->start_date = $dt;
- if($timezone) {
- $event->org_start_date_timezone = $timezone;
- }
- break;
- case 'dtend':
- $event->end_date = $dt;
- if($timezone) {
- $event->org_end_date_timezone = $timezone;
- }
- break;
- case 'created':
- $event->org_created_at = $dt;
- break;
- case 'last-modified':
- $event->org_updated_at = $dt;
- break;
- }
- }
-
- // Check that we are witin the range
- if ($event_source->from_date != null) {
- $from_date = new DateTime($event_source->from_date, new DateTimeZone('UTC'));
- if ($from_date > $event->end_date) {
- // Skip this event
- echo "Skiped: $codename: $title\n";
- continue;
- }
- }
-
- // Calculate number of hours
- $di = $event->end_date->diff($event->start_date);
- $event->hours = $di->h + $di->i / 60;
-
- // Check for events we already have
- if (isset($uids[$event->uid])) {
- // Remove from deleted list
- unset($deleted[$event->uid]);
-
- // See if the event has been updated compared to the one in the database
- $db_event_org_updated_at = new DateTime($uids[$event->uid], new DateTimeZone('UTC'));
-
- // Check if same or older version of new event then skip
- if($event->org_updated_at <= $db_event_org_updated_at) {
- // SKIP
-
- // Updated version of the event
- } else {
- // Get the old event from the database
- /* @var $db_event TimesheetEvent */
- $db_event = $event_source->events()->where('uid', $event->uid)->firstOrFail();
- $changes = $db_event->toChangesArray($event);
-
- // Make sure it's more than the org_updated_at that has been changed
- if (count($changes) > 1) {
- // Check if we have manually changed the event in the database or used it in a timesheet
- if ($db_event->manualedit || $db_event->timesheet) {
- $this->info("Updated Data");
- $db_event->updated_data = $event->org_data;
- $db_event->updated_data_at = $event->org_updated_at;
-
- // Update the db_event with the changes
- } else {
- $this->info("Updated Event");
- foreach ($changes as $key => $value) {
- if($value == null) {
- unset($db_event->$key);
- } else {
- $db_event->$key = $value;
- }
- }
- }
-
- } else {
- $this->info("Nothing Changed");
- // Nothing has been changed so update the org_updated_at
- $db_event->org_updated_at = $changes['org_updated_at'];
- }
- $db_event->save();
- }
-
- } else {
- try {
- $this->info("New event: " . $event->summary);
- $event->save();
-
- } catch (Exception $ex) {
- echo "'" . $event->summary . "'\n";
- var_dump($data);
- echo $ex->getMessage();
- echo $ex->getTraceAsString();
- exit(0);
- }
- }
- // Add new uid to know uids
- $uids[$event->uid] = $event->org_updated_at;
- }
- }
- }
- // Delete events in database that no longer exists in the source
- foreach($deleted as $uid => $lastupdated_date) {
- // Skip we already marked this a deleted
- if(isset($org_deleted[$uid])) {
- unset($deleted[$uid]);
- continue;
- }
- // Delete or update event in db
- $db_event = $event_source->events()->where('uid', $uid)->firstOrFail();
- if($db_event->timesheet_id === null && !$db_event->manualedit) {
- // Hard delete if this event has not been assigned to a timesheet or have been manually edited
- $db_event->forceDelete();
-
- } else {
- // Mark as deleted in source
- $db_event->org_deleted_at = new DateTime('now', new DateTimeZone('UTC'));
- $db_event->save();
-
- }
- }
- $this->info("Deleted ".count($deleted). " events");
-
- } else {
- // TODO: Parse error
- }
-
- } else {
- // TODO: Curl Error
- }
- }
-
- foreach($T->end()['laps'] as $lap) {
- echo number_format($lap['total'], 3)." : {$lap['name']}\n";
- }
-
- $this->info('Done');
- }
-
- protected function getArguments() {
- return array(
- );
- }
-
- protected function getOptions() {
- return array(
- );
- }
-
-}
diff --git a/app/commands/ResetData.php b/app/commands/ResetData.php
deleted file mode 100644
index 39150407ea93..000000000000
--- a/app/commands/ResetData.php
+++ /dev/null
@@ -1,24 +0,0 @@
-info(date('Y-m-d') . ' Running ResetData...');
-
- if (!Utils::isNinjaDev()) {
- return;
- }
-
- Artisan::call('migrate:reset');
- Artisan::call('migrate');
- Artisan::call('db:seed');
- }
-}
\ No newline at end of file
diff --git a/app/commands/SendRecurringInvoices.php b/app/commands/SendRecurringInvoices.php
deleted file mode 100755
index b527e7ae48bd..000000000000
--- a/app/commands/SendRecurringInvoices.php
+++ /dev/null
@@ -1,113 +0,0 @@
-mailer = $mailer;
- }
-
- public function fire()
- {
- $this->info(date('Y-m-d').' Running SendRecurringInvoices...');
- $today = new DateTime();
-
- $invoices = Invoice::with('account.timezone', 'invoice_items', 'client', 'user')
- ->whereRaw('is_deleted IS FALSE AND deleted_at IS NULL AND is_recurring IS TRUE AND start_date <= ? AND (end_date IS NULL OR end_date >= ?)', array($today, $today))->get();
- $this->info(count($invoices).' recurring invoice(s) found');
-
- foreach ($invoices as $recurInvoice) {
- if ($recurInvoice->client->deleted_at) {
- continue;
- }
-
- if (!$recurInvoice->user->confirmed) {
- continue;
- }
-
- $this->info('Processing Invoice '.$recurInvoice->id.' - Should send '.($recurInvoice->shouldSendToday() ? 'YES' : 'NO'));
-
- if (!$recurInvoice->shouldSendToday()) {
- continue;
- }
-
- $invoice = Invoice::createNew($recurInvoice);
- $invoice->client_id = $recurInvoice->client_id;
- $invoice->recurring_invoice_id = $recurInvoice->id;
- $invoice->invoice_number = 'R'.$recurInvoice->account->getNextInvoiceNumber();
- $invoice->amount = $recurInvoice->amount;
- $invoice->balance = $recurInvoice->amount;
- $invoice->invoice_date = date_create()->format('Y-m-d');
- $invoice->discount = $recurInvoice->discount;
- $invoice->po_number = $recurInvoice->po_number;
- $invoice->public_notes = $recurInvoice->public_notes;
- $invoice->terms = $recurInvoice->terms;
- $invoice->invoice_footer = $recurInvoice->invoice_footer;
- $invoice->tax_name = $recurInvoice->tax_name;
- $invoice->tax_rate = $recurInvoice->tax_rate;
- $invoice->invoice_design_id = $recurInvoice->invoice_design_id;
- $invoice->custom_value1 = $recurInvoice->custom_value1;
- $invoice->custom_value2 = $recurInvoice->custom_value2;
- $invoice->custom_taxes1 = $recurInvoice->custom_taxes1;
- $invoice->custom_taxes2 = $recurInvoice->custom_taxes2;
- $invoice->is_amount_discount = $recurInvoice->is_amount_discount;
-
- if ($invoice->client->payment_terms) {
- $invoice->due_date = date_create()->modify($invoice->client->payment_terms.' day')->format('Y-m-d');
- }
-
- $invoice->save();
-
- foreach ($recurInvoice->invoice_items as $recurItem) {
- $item = InvoiceItem::createNew($recurItem);
- $item->product_id = $recurItem->product_id;
- $item->qty = $recurItem->qty;
- $item->cost = $recurItem->cost;
- $item->notes = Utils::processVariables($recurItem->notes);
- $item->product_key = Utils::processVariables($recurItem->product_key);
- $item->tax_name = $recurItem->tax_name;
- $item->tax_rate = $recurItem->tax_rate;
- $invoice->invoice_items()->save($item);
- }
-
- foreach ($recurInvoice->invitations as $recurInvitation) {
- $invitation = Invitation::createNew($recurInvitation);
- $invitation->contact_id = $recurInvitation->contact_id;
- $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
- $invoice->invitations()->save($invitation);
- }
-
- $this->mailer->sendInvoice($invoice);
-
- $recurInvoice->last_sent_date = Carbon::now()->toDateTimeString();
- $recurInvoice->save();
- }
-
- $this->info('Done');
- }
-
- protected function getArguments()
- {
- return array(
- //array('example', InputArgument::REQUIRED, 'An example argument.'),
- );
- }
-
- protected function getOptions()
- {
- return array(
- //array('example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null),
- );
- }
-}
diff --git a/app/config/app.php b/app/config/app.php
deleted file mode 100755
index 68bfd7bc24eb..000000000000
--- a/app/config/app.php
+++ /dev/null
@@ -1,225 +0,0 @@
- true,
-
- /*
- |--------------------------------------------------------------------------
- | Application URL
- |--------------------------------------------------------------------------
- |
- | This URL is used by the console to properly generate URLs when using
- | the Artisan command line tool. You should set this to the root of
- | your application so that it is used when running Artisan tasks.
- |
- */
-
- 'url' => '',
-
- /*
- |--------------------------------------------------------------------------
- | Application Timezone
- |--------------------------------------------------------------------------
- |
- | Here you may specify the default timezone for your application, which
- | will be used by the PHP date and date-time functions. We have gone
- | ahead and set this to a sensible default for you out of the box.
- |
- */
-
- 'timezone' => 'UTC',
-
- /*
- |--------------------------------------------------------------------------
- | Application Locale Configuration
- |--------------------------------------------------------------------------
- |
- | The application locale determines the default locale that will be used
- | by the translation service provider. You are free to set this value
- | to any of the locales which will be supported by the application.
- |
- */
-
- 'locale' => 'en',
-
- /*
- |--------------------------------------------------------------------------
- | Encryption Key
- |--------------------------------------------------------------------------
- |
- | This key is used by the Illuminate encrypter service and should be set
- | to a random, 32 character string, otherwise these encrypted strings
- | will not be safe. Please do this before deploying an application!
- |
- | Command below will generate a random 32 character alphanumeric string
- | cat /dev/random | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
- */
-
- 'key' => '',
-
- /*
- |--------------------------------------------------------------------------
- | Autoloaded Service Providers
- |--------------------------------------------------------------------------
- |
- | The service providers listed here will be automatically loaded on the
- | request to your application. Feel free to add your own services to
- | this array to grant expanded functionality to your applications.
- |
- */
-
- 'providers' => array(
-
- 'Illuminate\Foundation\Providers\ArtisanServiceProvider',
- 'Illuminate\Auth\AuthServiceProvider',
- 'Illuminate\Cache\CacheServiceProvider',
- 'Illuminate\Foundation\Providers\CommandCreatorServiceProvider',
- 'Illuminate\Session\CommandsServiceProvider',
- 'Illuminate\Foundation\Providers\ComposerServiceProvider',
- 'Illuminate\Routing\ControllerServiceProvider',
- 'Illuminate\Cookie\CookieServiceProvider',
- 'Illuminate\Database\DatabaseServiceProvider',
- 'Illuminate\Encryption\EncryptionServiceProvider',
- 'Illuminate\Filesystem\FilesystemServiceProvider',
- 'Illuminate\Hashing\HashServiceProvider',
- 'Illuminate\Html\HtmlServiceProvider',
- 'Illuminate\Foundation\Providers\KeyGeneratorServiceProvider',
- 'Illuminate\Log\LogServiceProvider',
- 'Illuminate\Mail\MailServiceProvider',
- 'Illuminate\Foundation\Providers\MaintenanceServiceProvider',
- 'Illuminate\Database\MigrationServiceProvider',
- 'Illuminate\Foundation\Providers\OptimizeServiceProvider',
- 'Illuminate\Pagination\PaginationServiceProvider',
- 'Illuminate\Foundation\Providers\PublisherServiceProvider',
- 'Illuminate\Queue\QueueServiceProvider',
- 'Illuminate\Redis\RedisServiceProvider',
- 'Illuminate\Auth\Reminders\ReminderServiceProvider',
- 'Illuminate\Foundation\Providers\RouteListServiceProvider',
- 'Illuminate\Database\SeedServiceProvider',
- 'Illuminate\Foundation\Providers\ServerServiceProvider',
- 'Illuminate\Session\SessionServiceProvider',
- 'Illuminate\Foundation\Providers\TinkerServiceProvider',
- 'Illuminate\Translation\TranslationServiceProvider',
- 'Illuminate\Validation\ValidationServiceProvider',
- 'Illuminate\View\ViewServiceProvider',
- 'Illuminate\Workbench\WorkbenchServiceProvider',
- 'Illuminate\Remote\RemoteServiceProvider',
- 'Bootstrapper\BootstrapperServiceProvider',
- 'Zizaco\Confide\ConfideServiceProvider',
- 'Former\FormerServiceProvider',
- 'Barryvdh\Debugbar\ServiceProvider',
- 'Chumper\Datatable\DatatableServiceProvider',
- 'Intervention\Image\ImageServiceProvider',
- 'Webpatser\Countries\CountriesServiceProvider',
- 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Service Provider Manifest
- |--------------------------------------------------------------------------
- |
- | The service provider manifest is used by Laravel to lazy load service
- | providers which are not needed for each request, as well to keep a
- | list of all of the services. Here, you may set its storage spot.
- |
- */
-
- 'manifest' => storage_path() . '/meta',
-
- /*
- |--------------------------------------------------------------------------
- | Class Aliases
- |--------------------------------------------------------------------------
- |
- | This array of class aliases will be registered when this application
- | is started. However, feel free to register as many as you wish as
- | the aliases are "lazy" loaded so they don't hinder performance.
- |
- */
-
- 'aliases' => array(
-
- 'App' => 'Illuminate\Support\Facades\App',
- 'Artisan' => 'Illuminate\Support\Facades\Artisan',
- 'Auth' => 'Illuminate\Support\Facades\Auth',
- 'Blade' => 'Illuminate\Support\Facades\Blade',
- 'Cache' => 'Illuminate\Support\Facades\Cache',
- 'ClassLoader' => 'Illuminate\Support\ClassLoader',
- 'Config' => 'Illuminate\Support\Facades\Config',
- 'Controller' => 'Illuminate\Routing\Controller',
- 'Cookie' => 'Illuminate\Support\Facades\Cookie',
- 'Crypt' => 'Illuminate\Support\Facades\Crypt',
- 'DB' => 'Illuminate\Support\Facades\DB',
- 'Eloquent' => 'Illuminate\Database\Eloquent\Model',
- 'Event' => 'Illuminate\Support\Facades\Event',
- 'File' => 'Illuminate\Support\Facades\File',
- //'Form' => 'Illuminate\Support\Facades\Form',
- 'Hash' => 'Illuminate\Support\Facades\Hash',
- 'HTML' => 'Illuminate\Support\Facades\HTML',
- 'Input' => 'Illuminate\Support\Facades\Input',
- 'Lang' => 'Illuminate\Support\Facades\Lang',
- 'Log' => 'Illuminate\Support\Facades\Log',
- 'Mail' => 'Illuminate\Support\Facades\Mail',
- //'Paginator' => 'Illuminate\Support\Facades\Paginator',
- 'Password' => 'Illuminate\Support\Facades\Password',
- 'Queue' => 'Illuminate\Support\Facades\Queue',
- 'Redirect' => 'Illuminate\Support\Facades\Redirect',
- 'Redis' => 'Illuminate\Support\Facades\Redis',
- 'Request' => 'Illuminate\Support\Facades\Request',
- 'Response' => 'Illuminate\Support\Facades\Response',
- 'Route' => 'Illuminate\Support\Facades\Route',
- 'Schema' => 'Illuminate\Support\Facades\Schema',
- 'Seeder' => 'Illuminate\Database\Seeder',
- 'Session' => 'Illuminate\Support\Facades\Session',
- 'Str' => 'Illuminate\Support\Str',
- 'URL' => 'Illuminate\Support\Facades\URL',
- 'Validator' => 'Illuminate\Support\Facades\Validator',
- 'View' => 'Illuminate\Support\Facades\View',
- 'SSH' => 'Illuminate\Support\Facades\SSH',
- 'Alert' => 'Bootstrapper\Alert',
- 'Badge' => 'Bootstrapper\Badge',
- 'Breadcrumb' => 'Bootstrapper\Breadcrumb',
- 'Button' => 'Bootstrapper\Button',
- 'ButtonGroup' => 'Bootstrapper\ButtonGroup',
- 'ButtonToolbar' => 'Bootstrapper\ButtonToolbar',
- 'Carousel' => 'Bootstrapper\Carousel',
- 'DropdownButton' => 'Bootstrapper\DropdownButton',
- 'Form' => 'Bootstrapper\Form',
- 'Helpers' => 'Bootstrapper\Helpers',
- 'Icon' => 'Bootstrapper\Icon',
- //'Image' => 'Bootstrapper\Image',
- 'Label' => 'Bootstrapper\Label',
- 'MediaObject' => 'Bootstrapper\MediaObject',
- 'Navbar' => 'Bootstrapper\Navbar',
- 'Navigation' => 'Bootstrapper\Navigation',
- 'Paginator' => 'Bootstrapper\Paginator',
- 'Progress' => 'Bootstrapper\Progress',
- 'Tabbable' => 'Bootstrapper\Tabbable',
- 'Table' => 'Bootstrapper\Table',
- 'Thumbnail' => 'Bootstrapper\Thumbnail',
- 'Typeahead' => 'Bootstrapper\Typeahead',
- 'Typography' => 'Bootstrapper\Typography',
- 'Confide' => 'Zizaco\Confide\ConfideFacade',
- 'Former' => 'Former\Facades\Former',
- 'Datatable' => 'Chumper\Datatable\Facades\DatatableFacade',
- 'Omnipay' => 'Omnipay\Omnipay',
- 'CreditCard' => 'Omnipay\Common\CreditCard',
- 'Image' => 'Intervention\Image\Facades\Image',
- 'Countries' => 'Webpatser\Countries\CountriesFacade',
- 'Carbon' => 'Carbon\Carbon',
- 'Rocketeer' => 'Rocketeer\Facades\Rocketeer',
- ),
-);
diff --git a/app/config/auth.php b/app/config/auth.php
deleted file mode 100755
index 38eb282b7c4c..000000000000
--- a/app/config/auth.php
+++ /dev/null
@@ -1,71 +0,0 @@
- 'eloquent',
-
- /*
- |--------------------------------------------------------------------------
- | Authentication Model
- |--------------------------------------------------------------------------
- |
- | When using the "Eloquent" authentication driver, we need to know which
- | Eloquent model should be used to retrieve your users. Of course, it
- | is often just the "User" model but you may use whatever you like.
- |
- */
-
- 'model' => 'User',
-
- /*
- |--------------------------------------------------------------------------
- | Authentication Table
- |--------------------------------------------------------------------------
- |
- | When using the "Database" authentication driver, we need to know which
- | table should be used to retrieve your users. We have chosen a basic
- | default value but you may easily change it to any table you like.
- |
- */
-
- 'table' => 'users',
-
- /*
- |--------------------------------------------------------------------------
- | Password Reminder Settings
- |--------------------------------------------------------------------------
- |
- | Here you may set the settings for password reminders, including a view
- | that should be used as your password reminder e-mail. You will also
- | be able to set the name of the table that holds the reset tokens.
- |
- | The "expire" time is the number of minutes that the reminder should be
- | considered valid. This security feature keeps tokens short-lived so
- | they have less time to be guessed. You may change this as needed.
- |
- */
-
- 'reminder' => array(
-
- 'email' => 'emails.auth.reminder',
-
- 'table' => 'password_reminders',
-
- 'expire' => 60,
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/cache.php b/app/config/cache.php
deleted file mode 100755
index ce89842399e8..000000000000
--- a/app/config/cache.php
+++ /dev/null
@@ -1,89 +0,0 @@
- 'file',
-
- /*
- |--------------------------------------------------------------------------
- | File Cache Location
- |--------------------------------------------------------------------------
- |
- | When using the "file" cache driver, we need a location where the cache
- | files may be stored. A sensible default has been specified, but you
- | are free to change it to any other place on disk that you desire.
- |
- */
-
- 'path' => storage_path().'/cache',
-
- /*
- |--------------------------------------------------------------------------
- | Database Cache Connection
- |--------------------------------------------------------------------------
- |
- | When using the "database" cache driver you may specify the connection
- | that should be used to store the cached items. When this option is
- | null the default database connection will be utilized for cache.
- |
- */
-
- 'connection' => null,
-
- /*
- |--------------------------------------------------------------------------
- | Database Cache Table
- |--------------------------------------------------------------------------
- |
- | When using the "database" cache driver we need to know the table that
- | should be used to store the cached items. A default table name has
- | been provided but you're free to change it however you deem fit.
- |
- */
-
- 'table' => 'cache',
-
- /*
- |--------------------------------------------------------------------------
- | Memcached Servers
- |--------------------------------------------------------------------------
- |
- | Now you may specify an array of your Memcached servers that should be
- | used when utilizing the Memcached cache driver. All of the servers
- | should contain a value for "host", "port", and "weight" options.
- |
- */
-
- 'memcached' => array(
-
- array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100),
-
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Cache Key Prefix
- |--------------------------------------------------------------------------
- |
- | When utilizing a RAM based store such as APC or Memcached, there might
- | be other applications utilizing the same cache. So, we'll specify a
- | value to get prefixed to all our keys so we can avoid collisions.
- |
- */
-
- 'prefix' => 'laravel',
-
-);
diff --git a/app/config/compile.php b/app/config/compile.php
deleted file mode 100755
index 54d7185bfbb0..000000000000
--- a/app/config/compile.php
+++ /dev/null
@@ -1,18 +0,0 @@
- PDO::FETCH_CLASS,
-
- /*
- |--------------------------------------------------------------------------
- | Default Database Connection Name
- |--------------------------------------------------------------------------
- |
- | Here you may specify which of the database connections below you wish
- | to use as your default connection for all database work. Of course
- | you may use many connections at once using the Database library.
- |
- */
-
- 'default' => 'mysql',
-
- /*
- |--------------------------------------------------------------------------
- | Database Connections
- |--------------------------------------------------------------------------
- |
- | Here are each of the database connections setup for your application.
- | Of course, examples of configuring each database platform that is
- | supported by Laravel is shown below to make development simple.
- |
- |
- | All database work in Laravel is done through the PHP PDO facilities
- | so make sure you have the driver for your particular database of
- | choice installed on your machine before you begin development.
- |
- */
-
- 'connections' => array(
-
- 'sqlite' => array(
- 'driver' => 'sqlite',
- 'database' => __DIR__.'/../database/production.sqlite',
- 'prefix' => '',
- ),
-
- 'mysql' => array(
- 'driver' => 'mysql',
- 'host' => 'localhost',
- 'database' => 'ninja',
- 'username' => 'ninja',
- 'password' => 'ninja',
- 'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
- 'prefix' => '',
- ),
-
- 'pgsql' => array(
- 'driver' => 'pgsql',
- 'host' => 'localhost',
- 'database' => 'database',
- 'username' => 'root',
- 'password' => '',
- 'charset' => 'utf8',
- 'prefix' => '',
- 'schema' => 'public',
- ),
-
- 'sqlsrv' => array(
- 'driver' => 'sqlsrv',
- 'host' => 'localhost',
- 'database' => 'database',
- 'username' => 'root',
- 'password' => '',
- 'prefix' => '',
- ),
-
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Migration Repository Table
- |--------------------------------------------------------------------------
- |
- | This table keeps track of all the migrations that have already run for
- | your application. Using this information, we can determine which of
- | the migrations on disk have not actually be run in the databases.
- |
- */
-
- 'migrations' => 'migrations',
-
- /*
- |--------------------------------------------------------------------------
- | Redis Databases
- |--------------------------------------------------------------------------
- |
- | Redis is an open source, fast, and advanced key-value store that also
- | provides a richer set of commands than a typical key-value systems
- | such as APC or Memcached. Laravel makes it easy to dig right in.
- |
- */
-
- 'redis' => array(
-
- 'cluster' => false,
-
- 'default' => array(
- 'host' => '127.0.0.1',
- 'port' => 6379,
- 'database' => 0,
- ),
-
- ),
-
-);
diff --git a/app/config/gae-development/database.php b/app/config/gae-development/database.php
deleted file mode 100755
index d64dbb1eed23..000000000000
--- a/app/config/gae-development/database.php
+++ /dev/null
@@ -1,18 +0,0 @@
- array(
-
- 'mysql' => array(
- 'driver' => 'mysql',
- 'host' => getenv('DEVELOPMENT_DB_HOST'),
- 'database' => getenv('DEVELOPMENT_DB_NAME'),
- 'username' => getenv('DEVELOPMENT_DB_USERNAME'),
- 'password' => getenv('DEVELOPMENT_DB_PASSWORD'),
- 'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
- 'prefix' => '',
- ),
- ),
-);
diff --git a/app/config/gae-production/app.php b/app/config/gae-production/app.php
deleted file mode 100755
index bb7ab27c4c0b..000000000000
--- a/app/config/gae-production/app.php
+++ /dev/null
@@ -1,9 +0,0 @@
- true,
-
- 'manifest' => 'gs://invoice-ninja/meta',
-
-);
\ No newline at end of file
diff --git a/app/config/gae-production/cache.php b/app/config/gae-production/cache.php
deleted file mode 100755
index 9476804df76c..000000000000
--- a/app/config/gae-production/cache.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'memcached',
-
-);
\ No newline at end of file
diff --git a/app/config/gae-production/database.php b/app/config/gae-production/database.php
deleted file mode 100755
index ef8d2d58cc30..000000000000
--- a/app/config/gae-production/database.php
+++ /dev/null
@@ -1,19 +0,0 @@
- array(
-
- 'mysql' => array(
- 'driver' => 'mysql',
- 'unix_socket' => getenv('PRODUCTION_CLOUD_SQL_INSTANCE'),
- 'host' => '',
- 'database' => getenv('PRODUCTION_DB_NAME'),
- 'username' => getenv('PRODUCTION_DB_USERNAME'),
- 'password' => getenv('PRODUCTION_DB_PASSWORD'),
- 'charset' => 'utf8',
- 'collation' => 'utf8_unicode_ci',
- 'prefix' => '',
- ),
- ),
-);
diff --git a/app/config/gae-production/session.php b/app/config/gae-production/session.php
deleted file mode 100755
index 9476804df76c..000000000000
--- a/app/config/gae-production/session.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'memcached',
-
-);
\ No newline at end of file
diff --git a/app/config/mail.php b/app/config/mail.php
deleted file mode 100755
index 62dac9c3a572..000000000000
--- a/app/config/mail.php
+++ /dev/null
@@ -1,124 +0,0 @@
- 'smtp',
-
- /*
- |--------------------------------------------------------------------------
- | SMTP Host Address
- |--------------------------------------------------------------------------
- |
- | Here you may provide the host address of the SMTP server used by your
- | applications. A default option is provided that is compatible with
- | the Postmark mail service, which will provide reliable delivery.
- |
- */
-
- 'host' => '',
-
- /*
- |--------------------------------------------------------------------------
- | SMTP Host Port
- |--------------------------------------------------------------------------
- |
- | This is the SMTP port used by your application to delivery e-mails to
- | users of your application. Like the host we have set this value to
- | stay compatible with the Postmark e-mail application by default.
- |
- */
-
- 'port' => 587,
-
- /*
- |--------------------------------------------------------------------------
- | Global "From" Address
- |--------------------------------------------------------------------------
- |
- | You may wish for all e-mails sent by your application to be sent from
- | the same address. Here, you may specify a name and address that is
- | used globally for all e-mails that are sent by your application.
- |
- */
-
- 'from' => array('address' => 'contact@invoiceninja.com', 'name' => 'Invoice Ninja'),
-
- /*
- |--------------------------------------------------------------------------
- | E-Mail Encryption Protocol
- |--------------------------------------------------------------------------
- |
- | Here you may specify the encryption protocol that should be used when
- | the application send e-mail messages. A sensible default using the
- | transport layer security protocol should provide great security.
- |
- */
-
- 'encryption' => 'tls',
-
- /*
- |--------------------------------------------------------------------------
- | SMTP Server Username
- |--------------------------------------------------------------------------
- |
- | If your SMTP server requires a username for authentication, you should
- | set it here. This will get used to authenticate with your server on
- | connection. You may also set the "password" value below this one.
- |
- */
-
- 'username' => '',
-
- /*
- |--------------------------------------------------------------------------
- | SMTP Server Password
- |--------------------------------------------------------------------------
- |
- | Here you may set the password required by your SMTP server to send out
- | messages from your application. This will be given to the server on
- | connection so that the application will be able to send messages.
- |
- */
-
- 'password' => '',
-
- /*
- |--------------------------------------------------------------------------
- | Sendmail System Path
- |--------------------------------------------------------------------------
- |
- | When using the "sendmail" driver to send e-mails, we will need to know
- | the path to where Sendmail lives on this server. A default path has
- | been provided here, which will work well on most of your systems.
- |
- */
-
- 'sendmail' => '/usr/sbin/sendmail -bs',
-
- /*
- |--------------------------------------------------------------------------
- | Mail "Pretend"
- |--------------------------------------------------------------------------
- |
- | When this option is enabled, e-mail will not actually be sent over the
- | web and will instead be written to your application's logs files so
- | you may inspect the message. This is great for local development.
- |
- */
-
- 'pretend' => false,
-
-);
\ No newline at end of file
diff --git a/app/config/packages/.gitkeep b/app/config/packages/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/config/packages/anahkiasen/former/Nude.php b/app/config/packages/anahkiasen/former/Nude.php
deleted file mode 100755
index 18f5239b82d0..000000000000
--- a/app/config/packages/anahkiasen/former/Nude.php
+++ /dev/null
@@ -1,14 +0,0 @@
- array(
-
- 'tag' => 'i',
- 'set' => null,
- 'prefix' => 'icon',
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/packages/anahkiasen/former/TwitterBootstrap.php b/app/config/packages/anahkiasen/former/TwitterBootstrap.php
deleted file mode 100755
index dfac6d7bc77e..000000000000
--- a/app/config/packages/anahkiasen/former/TwitterBootstrap.php
+++ /dev/null
@@ -1,14 +0,0 @@
- array(
-
- 'tag' => 'i',
- 'set' => null,
- 'prefix' => 'icon',
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/packages/anahkiasen/former/TwitterBootstrap3.php b/app/config/packages/anahkiasen/former/TwitterBootstrap3.php
deleted file mode 100755
index fad6b7882c89..000000000000
--- a/app/config/packages/anahkiasen/former/TwitterBootstrap3.php
+++ /dev/null
@@ -1,26 +0,0 @@
- array(
- 'large' => 'lg',
- 'medium' => 'md',
- 'small' => 'sm',
- 'mini' => 'xs',
- ),
-
- // Width of labels for horizontal forms expressed as viewport => grid columns
- 'labelWidths' => array(
- 'large' => 4,
- 'small' => 4,
- ),
-
- // HTML markup and classes used by Bootstrap 3 for icons
- 'icon' => array(
- 'tag' => 'span',
- 'set' => 'glyphicon',
- 'prefix' => 'glyphicon',
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/packages/anahkiasen/former/ZurbFoundation.php b/app/config/packages/anahkiasen/former/ZurbFoundation.php
deleted file mode 100755
index 9223978736d5..000000000000
--- a/app/config/packages/anahkiasen/former/ZurbFoundation.php
+++ /dev/null
@@ -1,35 +0,0 @@
- array(
-
- 'large' => '',
- 'medium' => null,
- 'small' => 'mobile-',
- 'mini' => null,
-
- ),
-
- // Width of labels for horizontal forms expressed as viewport => grid columns
- 'labelWidths' => array(
-
- 'large' => 2,
- 'small' => 4,
-
- ),
-
- // Classes to be applied to wrapped labels in horizontal forms
- 'wrappedLabelClasses' => array('right','inline'),
-
- // HTML markup and classes used by Foundation 3 for icons
- 'icon' => array(
-
- 'tag' => 'i',
- 'set' => null,
- 'prefix' => 'fi',
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/packages/anahkiasen/former/ZurbFoundation4.php b/app/config/packages/anahkiasen/former/ZurbFoundation4.php
deleted file mode 100755
index 4f55a44f9c40..000000000000
--- a/app/config/packages/anahkiasen/former/ZurbFoundation4.php
+++ /dev/null
@@ -1,36 +0,0 @@
- array(
-
- 'large' => 'large',
- 'medium' => null,
- 'small' => 'small',
- 'mini' => null,
-
- ),
-
- // Width of labels for horizontal forms expressed as viewport => grid columns
- 'labelWidths' => array(
-
- 'small' => 3,
-
- ),
-
- // Classes to be applied to wrapped labels in horizontal forms
- 'wrappedLabelClasses' => array('right','inline'),
-
- // HTML markup and classes used by Foundation 4 for icons
- 'icon' => array(
-
- 'tag' => 'i',
- 'set' => 'general',
- 'prefix' => 'foundicon',
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/packages/anahkiasen/former/config.php b/app/config/packages/anahkiasen/former/config.php
deleted file mode 100755
index 327019638f9d..000000000000
--- a/app/config/packages/anahkiasen/former/config.php
+++ /dev/null
@@ -1,59 +0,0 @@
- true,
-
- // The default form type
- 'default_form_type' => 'horizontal',
-
- // The framework to be used by Former
- 'framework' => 'TwitterBootstrap3',
-
- // Validation
- ////////////////////////////////////////////////////////////////////
-
- // Whether Former should fetch errors from Session
- 'fetch_errors' => true,
-
- // Whether Former should try to apply Validator rules as attributes
- 'live_validation' => true,
-
- // Whether Former should automatically fetch error messages and
- // display them next to the matching fields
- 'error_messages' => true,
-
- // Checkables
- ////////////////////////////////////////////////////////////////////
-
- // Whether checkboxes should always be present in the POST data,
- // no matter if you checked them or not
- 'push_checkboxes' => false,
-
- // The value a checkbox will have in the POST array if unchecked
- 'unchecked_value' => 0,
-
- // Required fields
- ////////////////////////////////////////////////////////////////////
-
- // The class to be added to required fields
- 'required_class' => 'required',
-
- // A facultative text to append to the labels of required fields
- 'required_text' => '', //'* ',
-
- // Translations
- ////////////////////////////////////////////////////////////////////
-
- // Where Former should look for translations
- 'translate_from' => 'texts',
-
- // An array of attributes to automatically translate
- 'translatable' => array(
- 'help', 'inlineHelp', 'blockHelp',
- 'placeholder', 'data_placeholder',
- 'label'
- ),
-);
diff --git a/app/config/packages/ignited/laravel-omnipay/config.php b/app/config/packages/ignited/laravel-omnipay/config.php
deleted file mode 100755
index 493f73319c5f..000000000000
--- a/app/config/packages/ignited/laravel-omnipay/config.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'paypal',
-
- // Add in each gateway here
- 'gateways' => array(
- 'paypal' => array(
- 'driver' => 'Paypal_Express',
- 'options' => array(
- 'solutionType' => '',
- 'landingPage' => '',
- 'headerImageUrl' => ''
- )
- )
- )
-);
\ No newline at end of file
diff --git a/app/config/packages/zizaco/confide/.gitkeep b/app/config/packages/zizaco/confide/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/config/packages/zizaco/confide/config.php b/app/config/packages/zizaco/confide/config.php
deleted file mode 100755
index e26ae0a94eab..000000000000
--- a/app/config/packages/zizaco/confide/config.php
+++ /dev/null
@@ -1,117 +0,0 @@
- 9,
- 'throttle_time_period' => 2,
-
- /*
- |--------------------------------------------------------------------------
- | Login Throttle Field
- |--------------------------------------------------------------------------
- |
- | Login throttle is done using the remote ip address
- | and a provided credential. Email and username are likely values.
- |
- | Default: email
- |
- */
- 'login_cache_field' => 'email',
-
- /*
- |--------------------------------------------------------------------------
- | Form Views
- |--------------------------------------------------------------------------
- |
- | The VIEWS used to render forms with Confide methods:
- | makeLoginForm, makeSignupForm, makeForgotPasswordForm
- | and makeResetPasswordForm.
- |
- | By default, the out of the box confide views are used
- | but you can create your own forms and replace the view
- | names here. For example
- |
- | // To use app/views/user/signup.blade.php:
- |
- | 'signup_form' => 'user.signup'
- |
- |
- */
- 'login_form' => 'users.login',
- 'signup_form' => 'confide::signup',
- 'forgot_password_form' => 'users.forgot_password',
- 'reset_password_form' => 'users.reset_password',
-
- /*
- |--------------------------------------------------------------------------
- | Email Views
- |--------------------------------------------------------------------------
- |
- | The VIEWS used to email messages for some Confide events:
- |
- | By default, the out of the box confide views are used
- | but you can create your own forms and replace the view
- | names here. For example
- |
- | // To use app/views/email/confirmation.blade.php:
- |
- | 'email_account_confirmation' => 'email.confirmation'
- |
- |
- */
-
- 'email_reset_password' => 'emails.passwordreset_html', // with $user and $token.
- 'email_account_confirmation' => 'emails.confirm_html', // with $user
-
- /*
- |--------------------------------------------------------------------------
- | Signup (create) Cache
- |--------------------------------------------------------------------------
- |
- | By default you will only can only register once every 2 hours
- | (120 minutes) because you are not able to receive a registration
- | email more often then that.
- |
- | You can adjust that limitation here, set to 0 for no caching.
- | Time is in minutes.
- |
- |
- */
- 'signup_cache' => 0,
-
- /*
- |--------------------------------------------------------------------------
- | Signup E-mail and confirmation (true or false)
- |--------------------------------------------------------------------------
- |
- | By default a signup e-mail will be send by the system, however if you
- | do not want this to happen, change the line below in false and handle
- | the confirmation using another technique, for example by using the IPN
- | from a payment-processor. Very usefull for websites offering products.
- |
- | signup_email:
- | is for the transport of the email, true or false
- | If you want to use an IPN to trigger the email, then set it to false
- |
- | signup_confirm:
- | is to decide of a member needs to be confirmed before he is able to login
- | so when you set this to true, then a member has to be confirmed before
- | he is able to login, so if you want to use an IPN for confirmation, be
- | sure that the ipn process also changes the confirmed flag in the member
- | table, otherwise they will not be able to login after the payment.
- |
- */
- 'signup_email' => false,
- 'signup_confirm' => false,
-
-);
diff --git a/app/config/queue.php b/app/config/queue.php
deleted file mode 100755
index da1512ca7d5e..000000000000
--- a/app/config/queue.php
+++ /dev/null
@@ -1,78 +0,0 @@
- 'sync',
-
- /*
- |--------------------------------------------------------------------------
- | Queue Connections
- |--------------------------------------------------------------------------
- |
- | Here you may configure the connection information for each server that
- | is used by your application. A default configuration has been added
- | for each back-end shipped with Laravel. You are free to add more.
- |
- */
-
- 'connections' => array(
-
- 'sync' => array(
- 'driver' => 'sync',
- ),
-
- 'beanstalkd' => array(
- 'driver' => 'beanstalkd',
- 'host' => 'localhost',
- 'queue' => 'default',
- ),
-
- 'sqs' => array(
- 'driver' => 'sqs',
- 'key' => 'your-public-key',
- 'secret' => 'your-secret-key',
- 'queue' => 'your-queue-url',
- 'region' => 'us-east-1',
- ),
-
- 'iron' => array(
- 'driver' => 'iron',
- 'project' => 'your-project-id',
- 'token' => 'your-token',
- 'queue' => 'your-queue-name',
- ),
-
- ),
-
-
- /*
- |--------------------------------------------------------------------------
- | Failed Queue Jobs
- |--------------------------------------------------------------------------
- |
- | These options configure the behavior of failed queue job logging so you
- | can control which database and table are used to store the jobs that
- | have failed. You may change them to any database / table you wish.
- |
- */
-
- 'failed' => array(
-
- 'database' => 'mysql', 'table' => 'failed_jobs',
-
- ),
-
-);
diff --git a/app/config/remote.php b/app/config/remote.php
deleted file mode 100755
index ea960e03a5c0..000000000000
--- a/app/config/remote.php
+++ /dev/null
@@ -1,59 +0,0 @@
- 'production',
-
- /*
- |--------------------------------------------------------------------------
- | Remote Server Connections
- |--------------------------------------------------------------------------
- |
- | These are the servers that will be accessible via the SSH task runner
- | facilities of Laravel. This feature radically simplifies executing
- | tasks on your servers, such as deploying out these applications.
- |
- */
-
- 'connections' => array(
-
- 'production' => array(
- 'host' => '',
- 'username' => '',
- 'password' => '',
- 'key' => '',
- 'keyphrase' => '',
- 'root' => '/var/www',
- ),
-
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Remote Server Groups
- |--------------------------------------------------------------------------
- |
- | Here you may list connections under a single group name, which allows
- | you to easily access all of the servers at once using a short name
- | that is extremely easy to remember, such as "web" or "database".
- |
- */
-
- 'groups' => array(
-
- 'web' => array('production')
-
- ),
-
-);
\ No newline at end of file
diff --git a/app/config/session.php b/app/config/session.php
deleted file mode 100755
index 64b3795f3d66..000000000000
--- a/app/config/session.php
+++ /dev/null
@@ -1,141 +0,0 @@
- 'native',
-
- /*
- |--------------------------------------------------------------------------
- | Session Lifetime
- |--------------------------------------------------------------------------
- |
- | Here you may specify the number of minutes that you wish the session
- | to be allowed to remain idle before it expires. If you want them
- | to immediately expire when the browser closes, set it to zero.
- |
- */
-
- 'lifetime' => 120,
-
- 'expire_on_close' => false,
-
- /*
- |--------------------------------------------------------------------------
- | Session File Location
- |--------------------------------------------------------------------------
- |
- | When using the native session driver, we need a location where session
- | files may be stored. A default has been set for you but a different
- | location may be specified. This is only needed for file sessions.
- |
- */
-
- 'files' => storage_path().'/sessions',
-
- /*
- |--------------------------------------------------------------------------
- | Session Database Connection
- |--------------------------------------------------------------------------
- |
- | When using the "database" session driver, you may specify the database
- | connection that should be used to manage your sessions. This should
- | correspond to a connection in your "database" configuration file.
- |
- */
-
- 'connection' => null,
-
- /*
- |--------------------------------------------------------------------------
- | Session Database Table
- |--------------------------------------------------------------------------
- |
- | When using the "database" session driver, you may specify the table we
- | should use to manage the sessions. Of course, a sensible default is
- | provided for you; however, you are free to change this as needed.
- |
- */
-
- 'table' => 'sessions',
-
- /*
- |--------------------------------------------------------------------------
- | Session Sweeping Lottery
- |--------------------------------------------------------------------------
- |
- | Some session drivers must manually sweep their storage location to get
- | rid of old sessions from storage. Here are the chances that it will
- | happen on a given request. By default, the odds are 2 out of 100.
- |
- */
-
- 'lottery' => array(2, 100),
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Name
- |--------------------------------------------------------------------------
- |
- | Here you may change the name of the cookie used to identify a session
- | instance by ID. The name specified here will get used every time a
- | new session cookie is created by the framework for every driver.
- |
- */
-
- 'cookie' => 'laravel_session',
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Path
- |--------------------------------------------------------------------------
- |
- | The session cookie path determines the path for which the cookie will
- | be regarded as available. Typically, this will be the root path of
- | your application but you are free to change this when necessary.
- |
- */
-
- 'path' => '/',
-
- /*
- |--------------------------------------------------------------------------
- | Session Cookie Domain
- |--------------------------------------------------------------------------
- |
- | Here you may change the domain of the cookie used to identify a session
- | in your application. This will determine which domains the cookie is
- | available to in your application. A sensible default has been set.
- |
- */
-
- 'domain' => null,
-
-
- /*
- |--------------------------------------------------------------------------
- | HTTPS Only Cookies
- |--------------------------------------------------------------------------
- |
- | By setting this option to true, session cookies will only be sent back
- | to the server if the browser has a HTTPS connection. This will keep
- | the cookie from being sent to you if it can not be done securely.
- |
- */
-
- 'secure' => false,
-
-);
diff --git a/app/config/testing/cache.php b/app/config/testing/cache.php
deleted file mode 100755
index 16d3ae2fa5b2..000000000000
--- a/app/config/testing/cache.php
+++ /dev/null
@@ -1,20 +0,0 @@
- 'array',
-
-);
\ No newline at end of file
diff --git a/app/config/testing/session.php b/app/config/testing/session.php
deleted file mode 100755
index a18c1b9fe54a..000000000000
--- a/app/config/testing/session.php
+++ /dev/null
@@ -1,21 +0,0 @@
- 'array',
-
-);
\ No newline at end of file
diff --git a/app/config/view.php b/app/config/view.php
deleted file mode 100755
index 08e56af1d6d6..000000000000
--- a/app/config/view.php
+++ /dev/null
@@ -1,31 +0,0 @@
- array(__DIR__.'/../views'),
-
- /*
- |--------------------------------------------------------------------------
- | Pagination View
- |--------------------------------------------------------------------------
- |
- | This view will be used to render the pagination link output, and can
- | be easily customized here to show any view you like. A clean view
- | compatible with Twitter's Bootstrap is given to you by default.
- |
- */
-
- 'pagination' => 'pagination::bootstrap3',
-
-);
diff --git a/app/config/workbench.php b/app/config/workbench.php
deleted file mode 100755
index 56bee5265864..000000000000
--- a/app/config/workbench.php
+++ /dev/null
@@ -1,31 +0,0 @@
- '',
-
- /*
- |--------------------------------------------------------------------------
- | Workbench Author E-Mail Address
- |--------------------------------------------------------------------------
- |
- | Like the option above, your e-mail address is used when generating new
- | workbench packages. The e-mail is placed in your composer.json file
- | automatically after the package is created by the workbench tool.
- |
- */
-
- 'email' => '',
-
-);
\ No newline at end of file
diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php
deleted file mode 100755
index 6036a93b3753..000000000000
--- a/app/controllers/AccountController.php
+++ /dev/null
@@ -1,715 +0,0 @@
-accountRepo = $accountRepo;
- $this->userMailer = $userMailer;
- $this->contactMailer = $contactMailer;
- }
-
- public function demo()
- {
- $demoAccountId = Utils::getDemoAccountId();
-
- if (!$demoAccountId) {
- return Redirect::to('/');
- }
-
- $account = Account::find($demoAccountId);
- $user = $account->users()->first();
-
- Auth::login($user, true);
-
- return Redirect::to('invoices/create');
- }
-
- public function getStarted()
- {
- if (Auth::check()) {
- return Redirect::to('invoices/create');
- } elseif (!Utils::isNinja() && Account::count() > 0) {
- return Redirect::to('/login');
- }
-
- $user = false;
- $guestKey = Input::get('guest_key');
-
- if ($guestKey) {
- $user = User::where('password', '=', $guestKey)->first();
-
- if ($user && $user->registered) {
- return Redirect::to('/');
- }
- }
-
- if (!$user) {
- $account = $this->accountRepo->create();
- $user = $account->users()->first();
-
- Session::forget(RECENTLY_VIEWED);
- }
-
- Auth::login($user, true);
- Event::fire('user.login');
-
- return Redirect::to('invoices/create')->with('sign_up', Input::get('sign_up'));
- }
-
- public function enableProPlan()
- {
- $invitation = $this->accountRepo->enableProPlan();
-
- /*
- if ($invoice)
- {
- $this->contactMailer->sendInvoice($invoice);
- }
- */
-
- return $invitation->invitation_key;
- }
-
- public function setTrashVisible($entityType, $visible)
- {
- Session::put("show_trash:{$entityType}", $visible == 'true');
-
- if ($entityType == 'user') {
- return Redirect::to('company/'.ACCOUNT_ADVANCED_SETTINGS.'/'.ACCOUNT_USER_MANAGEMENT);
- } elseif ($entityType == 'token') {
- return Redirect::to('company/'.ACCOUNT_ADVANCED_SETTINGS.'/'.ACCOUNT_TOKEN_MANAGEMENT);
- } else {
- return Redirect::to("{$entityType}s");
- }
- }
-
- public function getSearchData()
- {
- $data = $this->accountRepo->getSearchData();
- return Response::json($data);
- }
-
- public function showSection($section = ACCOUNT_DETAILS, $subSection = false)
- {
- if ($section == ACCOUNT_DETAILS) {
- $data = [
- 'account' => Account::with('users')->findOrFail(Auth::user()->account_id),
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'timezones' => Timezone::remember(DEFAULT_QUERY_CACHE)->orderBy('location')->get(),
- 'dateFormats' => DateFormat::remember(DEFAULT_QUERY_CACHE)->get(),
- 'datetimeFormats' => DatetimeFormat::remember(DEFAULT_QUERY_CACHE)->get(),
- 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'languages' => Language::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'showUser' => Auth::user()->id === Auth::user()->account->users()->first()->id,
- ];
-
- return View::make('accounts.details', $data);
- } elseif ($section == ACCOUNT_PAYMENTS) {
-
- $account = Auth::user()->account;
- $account->load('account_gateways');
- $count = count($account->account_gateways);
-
- if ($count == 0) {
- return Redirect::to('gateways/create');
- } else {
- return View::make('accounts.payments', ['showAdd' => $count < 2]);
- }
- } elseif ($section == ACCOUNT_NOTIFICATIONS) {
- $data = [
- 'account' => Account::with('users')->findOrFail(Auth::user()->account_id),
- ];
-
- return View::make('accounts.notifications', $data);
- } elseif ($section == ACCOUNT_IMPORT_EXPORT) {
- return View::make('accounts.import_export');
- } elseif ($section == ACCOUNT_ADVANCED_SETTINGS) {
- $account = Auth::user()->account;
- $data = [
- 'account' => $account,
- 'feature' => $subSection,
- ];
-
- if ($subSection == ACCOUNT_INVOICE_DESIGN) {
- $invoice = new stdClass();
- $client = new stdClass();
- $invoiceItem = new stdClass();
-
- $client->name = 'Sample Client';
- $client->address1 = '';
- $client->city = '';
- $client->state = '';
- $client->postal_code = '';
- $client->work_phone = '';
- $client->work_email = '';
-
- $invoice->invoice_number = Auth::user()->account->getNextInvoiceNumber();
- $invoice->invoice_date = date_create()->format('Y-m-d');
- $invoice->account = json_decode(Auth::user()->account->toJson());
- $invoice->amount = $invoice->balance = 100;
-
- $invoiceItem->cost = 100;
- $invoiceItem->qty = 1;
- $invoiceItem->notes = 'Notes';
- $invoiceItem->product_key = 'Item';
-
- $invoice->client = $client;
- $invoice->invoice_items = [$invoiceItem];
-
- $data['invoice'] = $invoice;
- $data['invoiceDesigns'] = InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())
- ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get();
- } else if ($subSection == ACCOUNT_EMAIL_TEMPLATES) {
- $data['invoiceEmail'] = $account->getEmailTemplate(ENTITY_INVOICE);
- $data['quoteEmail'] = $account->getEmailTemplate(ENTITY_QUOTE);
- $data['paymentEmail'] = $account->getEmailTemplate(ENTITY_PAYMENT);
- $data['emailFooter'] = $account->getEmailFooter();
- }
-
- return View::make("accounts.{$subSection}", $data);
- } elseif ($section == ACCOUNT_PRODUCTS) {
- $data = [
- 'account' => Auth::user()->account,
- ];
-
- return View::make('accounts.products', $data);
- }
- }
-
- public function doSection($section = ACCOUNT_DETAILS, $subSection = false)
- {
- if ($section == ACCOUNT_DETAILS) {
- return AccountController::saveDetails();
- } elseif ($section == ACCOUNT_IMPORT_EXPORT) {
- return AccountController::importFile();
- } elseif ($section == ACCOUNT_MAP) {
- return AccountController::mapFile();
- } elseif ($section == ACCOUNT_NOTIFICATIONS) {
- return AccountController::saveNotifications();
- } elseif ($section == ACCOUNT_EXPORT) {
- return AccountController::export();
- } elseif ($section == ACCOUNT_ADVANCED_SETTINGS) {
- if ($subSection == ACCOUNT_INVOICE_SETTINGS) {
- return AccountController::saveInvoiceSettings();
- } elseif ($subSection == ACCOUNT_INVOICE_DESIGN) {
- return AccountController::saveInvoiceDesign();
- } elseif ($subSection == ACCOUNT_EMAIL_TEMPLATES) {
- return AccountController::saveEmailTemplates();
- }
- } elseif ($section == ACCOUNT_PRODUCTS) {
- return AccountController::saveProducts();
- }
- }
-
- private function saveEmailTemplates()
- {
- if (Auth::user()->account->isPro()) {
- $account = Auth::user()->account;
-
- $account->email_template_invoice = Input::get('email_template_invoice', $account->getEmailTemplate(ENTITY_INVOICE));
- $account->email_template_quote = Input::get('email_template_quote', $account->getEmailTemplate(ENTITY_QUOTE));
- $account->email_template_payment = Input::get('email_template_payment', $account->getEmailTemplate(ENTITY_PAYMENT));
-
- $account->save();
-
- Session::flash('message', trans('texts.updated_settings'));
- }
-
- return Redirect::to('company/advanced_settings/email_templates');
- }
-
- private function saveProducts()
- {
- $account = Auth::user()->account;
-
- $account->fill_products = Input::get('fill_products') ? true : false;
- $account->update_products = Input::get('update_products') ? true : false;
- $account->save();
-
- Session::flash('message', trans('texts.updated_settings'));
- return Redirect::to('company/products');
- }
-
- private function saveInvoiceSettings()
- {
- if (Auth::user()->account->isPro()) {
- $account = Auth::user()->account;
-
- $account->custom_label1 = trim(Input::get('custom_label1'));
- $account->custom_value1 = trim(Input::get('custom_value1'));
- $account->custom_label2 = trim(Input::get('custom_label2'));
- $account->custom_value2 = trim(Input::get('custom_value2'));
- $account->custom_client_label1 = trim(Input::get('custom_client_label1'));
- $account->custom_client_label2 = trim(Input::get('custom_client_label2'));
- $account->custom_invoice_label1 = trim(Input::get('custom_invoice_label1'));
- $account->custom_invoice_label2 = trim(Input::get('custom_invoice_label2'));
- $account->custom_invoice_taxes1 = Input::get('custom_invoice_taxes1') ? true : false;
- $account->custom_invoice_taxes2 = Input::get('custom_invoice_taxes2') ? true : false;
-
- $account->invoice_number_prefix = Input::get('invoice_number_prefix');
- $account->invoice_number_counter = Input::get('invoice_number_counter');
- $account->quote_number_prefix = Input::get('quote_number_prefix');
- $account->share_counter = Input::get('share_counter') ? true : false;
-
- if (!$account->share_counter) {
- $account->quote_number_counter = Input::get('quote_number_counter');
- }
-
- if (!$account->share_counter && $account->invoice_number_prefix == $account->quote_number_prefix) {
- Session::flash('error', trans('texts.invalid_counter'));
-
- return Redirect::to('company/advanced_settings/invoice_settings')->withInput();
- } else {
- $account->save();
- Session::flash('message', trans('texts.updated_settings'));
- }
- }
-
- return Redirect::to('company/advanced_settings/invoice_settings');
- }
-
- private function saveInvoiceDesign()
- {
- if (Auth::user()->account->isPro()) {
- $account = Auth::user()->account;
- $account->hide_quantity = Input::get('hide_quantity') ? true : false;
- $account->hide_paid_to_date = Input::get('hide_paid_to_date') ? true : false;
- $account->primary_color = Input::get('primary_color');
- $account->secondary_color = Input::get('secondary_color');
- $account->invoice_design_id = Input::get('invoice_design_id');
- $account->save();
-
- Session::flash('message', trans('texts.updated_settings'));
- }
-
- return Redirect::to('company/advanced_settings/invoice_design');
- }
-
- private function export()
- {
- $output = fopen('php://output', 'w') or Utils::fatalError();
- header('Content-Type:application/csv');
- header('Content-Disposition:attachment;filename=export.csv');
-
- $clients = Client::scope()->get();
- AccountController::exportData($output, $clients->toArray());
-
- $contacts = Contact::scope()->get();
- AccountController::exportData($output, $contacts->toArray());
-
- $invoices = Invoice::scope()->get();
- AccountController::exportData($output, $invoices->toArray());
-
- $invoiceItems = InvoiceItem::scope()->get();
- AccountController::exportData($output, $invoiceItems->toArray());
-
- $payments = Payment::scope()->get();
- AccountController::exportData($output, $payments->toArray());
-
- $credits = Credit::scope()->get();
- AccountController::exportData($output, $credits->toArray());
-
- fclose($output);
- exit;
- }
-
- private function exportData($output, $data)
- {
- if (count($data) > 0) {
- fputcsv($output, array_keys($data[0]));
- }
-
- foreach ($data as $record) {
- fputcsv($output, $record);
- }
-
- fwrite($output, "\n");
- }
-
- private function importFile()
- {
- $data = Session::get('data');
- Session::forget('data');
-
- $map = Input::get('map');
- $count = 0;
- $hasHeaders = Input::get('header_checkbox');
-
- $countries = Country::remember(DEFAULT_QUERY_CACHE)->get();
- $countryMap = [];
-
- foreach ($countries as $country) {
- $countryMap[strtolower($country->name)] = $country->id;
- }
-
- foreach ($data as $row) {
- if ($hasHeaders) {
- $hasHeaders = false;
- continue;
- }
-
- $client = Client::createNew();
- $contact = Contact::createNew();
- $contact->is_primary = true;
- $contact->send_invoice = true;
- $count++;
-
- foreach ($row as $index => $value) {
- $field = $map[$index];
- $value = trim($value);
-
- if ($field == Client::$fieldName && !$client->name) {
- $client->name = $value;
- } elseif ($field == Client::$fieldPhone && !$client->work_phone) {
- $client->work_phone = $value;
- } elseif ($field == Client::$fieldAddress1 && !$client->address1) {
- $client->address1 = $value;
- } elseif ($field == Client::$fieldAddress2 && !$client->address2) {
- $client->address2 = $value;
- } elseif ($field == Client::$fieldCity && !$client->city) {
- $client->city = $value;
- } elseif ($field == Client::$fieldState && !$client->state) {
- $client->state = $value;
- } elseif ($field == Client::$fieldPostalCode && !$client->postal_code) {
- $client->postal_code = $value;
- } elseif ($field == Client::$fieldCountry && !$client->country_id) {
- $value = strtolower($value);
- $client->country_id = isset($countryMap[$value]) ? $countryMap[$value] : null;
- } elseif ($field == Client::$fieldNotes && !$client->private_notes) {
- $client->private_notes = $value;
- } elseif ($field == Contact::$fieldFirstName && !$contact->first_name) {
- $contact->first_name = $value;
- } elseif ($field == Contact::$fieldLastName && !$contact->last_name) {
- $contact->last_name = $value;
- } elseif ($field == Contact::$fieldPhone && !$contact->phone) {
- $contact->phone = $value;
- } elseif ($field == Contact::$fieldEmail && !$contact->email) {
- $contact->email = strtolower($value);
- }
- }
-
- $client->save();
- $client->contacts()->save($contact);
- Activity::createClient($client, false);
- }
-
- $message = Utils::pluralize('created_client', $count);
- Session::flash('message', $message);
-
- return Redirect::to('clients');
- }
-
- private function mapFile()
- {
- $file = Input::file('file');
-
- if ($file == null) {
- Session::flash('error', trans('texts.select_file'));
-
- return Redirect::to('company/import_export');
- }
-
- $name = $file->getRealPath();
-
- require_once app_path().'/includes/parsecsv.lib.php';
- $csv = new parseCSV();
- $csv->heading = false;
- $csv->auto($name);
-
- if (count($csv->data) + Client::scope()->count() > Auth::user()->getMaxNumClients()) {
- $message = trans('texts.limit_clients', ['count' => Auth::user()->getMaxNumClients()]);
- Session::flash('error', $message);
-
- return Redirect::to('company/import_export');
- }
-
- Session::put('data', $csv->data);
-
- $headers = false;
- $hasHeaders = false;
- $mapped = array();
- $columns = array('',
- Client::$fieldName,
- Client::$fieldPhone,
- Client::$fieldAddress1,
- Client::$fieldAddress2,
- Client::$fieldCity,
- Client::$fieldState,
- Client::$fieldPostalCode,
- Client::$fieldCountry,
- Client::$fieldNotes,
- Contact::$fieldFirstName,
- Contact::$fieldLastName,
- Contact::$fieldPhone,
- Contact::$fieldEmail,
- );
-
- if (count($csv->data) > 0) {
- $headers = $csv->data[0];
- foreach ($headers as $title) {
- if (strpos(strtolower($title), 'name') > 0) {
- $hasHeaders = true;
- break;
- }
- }
-
- for ($i = 0; $i Contact::$fieldFirstName,
- 'last' => Contact::$fieldLastName,
- 'email' => Contact::$fieldEmail,
- 'mobile' => Contact::$fieldPhone,
- 'phone' => Client::$fieldPhone,
- 'name|organization' => Client::$fieldName,
- 'street|address|address1' => Client::$fieldAddress1,
- 'street2|address2' => Client::$fieldAddress2,
- 'city' => Client::$fieldCity,
- 'state|province' => Client::$fieldState,
- 'zip|postal|code' => Client::$fieldPostalCode,
- 'country' => Client::$fieldCountry,
- 'note' => Client::$fieldNotes,
- );
-
- foreach ($map as $search => $column) {
- foreach (explode("|", $search) as $string) {
- if (strpos($title, 'sec') === 0) {
- continue;
- }
-
- if (strpos($title, $string) !== false) {
- $mapped[$i] = $column;
- break(2);
- }
- }
- }
- }
- }
- }
-
- $data = array(
- 'data' => $csv->data,
- 'headers' => $headers,
- 'hasHeaders' => $hasHeaders,
- 'columns' => $columns,
- 'mapped' => $mapped,
- );
-
- return View::make('accounts.import_map', $data);
- }
-
- private function saveNotifications()
- {
- $account = Auth::user()->account;
- $account->invoice_terms = Input::get('invoice_terms');
- $account->invoice_footer = Input::get('invoice_footer');
- $account->email_footer = Input::get('email_footer');
- $account->save();
-
- $user = Auth::user();
- $user->notify_sent = Input::get('notify_sent');
- $user->notify_viewed = Input::get('notify_viewed');
- $user->notify_paid = Input::get('notify_paid');
- $user->save();
-
- Session::flash('message', trans('texts.updated_settings'));
-
- return Redirect::to('company/notifications');
- }
-
- private function saveDetails()
- {
- $rules = array(
- 'name' => 'required',
- );
-
- $user = Auth::user()->account->users()->first();
-
- if (Auth::user()->id === $user->id) {
- $rules['email'] = 'email|required|unique:users,email,'.$user->id.',id';
- }
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to('company/details')
- ->withErrors($validator)
- ->withInput();
- } else {
- $account = Auth::user()->account;
- $account->name = trim(Input::get('name'));
- $account->id_number = trim(Input::get('id_number'));
- $account->vat_number = trim(Input::get('vat_number'));
- $account->work_email = trim(Input::get('work_email'));
- $account->work_phone = trim(Input::get('work_phone'));
- $account->address1 = trim(Input::get('address1'));
- $account->address2 = trim(Input::get('address2'));
- $account->city = trim(Input::get('city'));
- $account->state = trim(Input::get('state'));
- $account->postal_code = trim(Input::get('postal_code'));
- $account->country_id = Input::get('country_id') ? Input::get('country_id') : null;
- $account->size_id = Input::get('size_id') ? Input::get('size_id') : null;
- $account->industry_id = Input::get('industry_id') ? Input::get('industry_id') : null;
- $account->timezone_id = Input::get('timezone_id') ? Input::get('timezone_id') : null;
- $account->date_format_id = Input::get('date_format_id') ? Input::get('date_format_id') : null;
- $account->datetime_format_id = Input::get('datetime_format_id') ? Input::get('datetime_format_id') : null;
- $account->currency_id = Input::get('currency_id') ? Input::get('currency_id') : 1; // US Dollar
- $account->language_id = Input::get('language_id') ? Input::get('language_id') : 1; // English
- $account->save();
-
- if (Auth::user()->id === $user->id) {
- $user->first_name = trim(Input::get('first_name'));
- $user->last_name = trim(Input::get('last_name'));
- $user->username = trim(Input::get('email'));
- $user->email = trim(strtolower(Input::get('email')));
- $user->phone = trim(Input::get('phone'));
- $user->save();
- }
-
- /* Logo image file */
- if ($file = Input::file('logo')) {
- $path = Input::file('logo')->getRealPath();
- File::delete('logo/'.$account->account_key.'.jpg');
-
- $image = Image::make($path);
- $mimeType = $file->getMimeType();
-
- if ($image->width == 200 && $mimeType == 'image/jpeg') {
- $file->move('logo/', $account->account_key . '.jpg');
- } else {
- $image->resize(200, 120, true, false);
- Image::canvas($image->width, $image->height, '#FFFFFF')->insert($image)->save($account->getLogoPath());
- }
-
- //$image = Image::make($path)->resize(200, 120, true, false);
- //Image::canvas($image->width, $image->height, '#FFFFFF')->insert($image)->save($account->getLogoPath());
- }
-
- Event::fire('user.refresh');
- Session::flash('message', trans('texts.updated_settings'));
-
- return Redirect::to('company/details');
- }
- }
-
- public function removeLogo()
- {
- File::delete('logo/'.Auth::user()->account->account_key.'.jpg');
-
- Session::flash('message', trans('texts.removed_logo'));
-
- return Redirect::to('company/details');
- }
-
- public function checkEmail()
- {
- $email = User::withTrashed()->where('email', '=', Input::get('email'))->where('id', '<>', Auth::user()->id)->first();
-
- if ($email) {
- return "taken";
- } else {
- return "available";
- }
- }
-
- public function submitSignup()
- {
- $rules = array(
- 'new_first_name' => 'required',
- 'new_last_name' => 'required',
- 'new_password' => 'required|min:6',
- 'new_email' => 'email|required|unique:users,email,'.Auth::user()->id.',id',
- );
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return '';
- }
-
- $user = Auth::user();
- $user->first_name = trim(Input::get('new_first_name'));
- $user->last_name = trim(Input::get('new_last_name'));
- $user->email = trim(strtolower(Input::get('new_email')));
- $user->username = $user->email;
- $user->password = trim(Input::get('new_password'));
- $user->password_confirmation = trim(Input::get('new_password'));
- $user->registered = true;
- $user->amend();
-
- if (Utils::isNinja()) {
- $this->userMailer->sendConfirmation($user);
- } else {
- $this->accountRepo->registerUser($user);
- }
-
- $activities = Activity::scope()->get();
- foreach ($activities as $activity) {
- $activity->message = str_replace('Guest', $user->getFullName(), $activity->message);
- $activity->save();
- }
-
- if (Input::get('go_pro') == 'true') {
- Session::set(REQUESTED_PRO_PLAN, true);
- }
-
- Session::set(SESSION_COUNTER, -1);
-
- return "{$user->first_name} {$user->last_name}";
- }
-
- public function doRegister()
- {
- $affiliate = Affiliate::where('affiliate_key', '=', SELF_HOST_AFFILIATE_KEY)->first();
-
- $license = new License();
- $license->first_name = Input::get('first_name');
- $license->last_name = Input::get('last_name');
- $license->email = Input::get('email');
- $license->transaction_reference = Request::getClientIp();
- $license->license_key = Utils::generateLicense();
- $license->affiliate_id = $affiliate->id;
- $license->product_id = PRODUCT_SELF_HOST;
- $license->is_claimed = 1;
- $license->save();
-
- return '';
- }
-
- public function cancelAccount()
- {
- if ($reason = trim(Input::get('reason'))) {
- $email = Auth::user()->email;
- $name = Auth::user()->getDisplayName();
-
- $data = [
- 'text' => $reason,
- ];
-
- $this->userMailer->sendTo(CONTACT_EMAIL, $email, $name, 'Invoice Ninja Feedback [Canceled Account]', 'contact', $data);
- }
-
- $account = Auth::user()->account;
- $account->forceDelete();
-
- Confide::logout();
-
- return Redirect::to('/')->with('clearGuestKey', true);
- }
-}
diff --git a/app/controllers/AccountGatewayController.php b/app/controllers/AccountGatewayController.php
deleted file mode 100755
index e6f646e4e70a..000000000000
--- a/app/controllers/AccountGatewayController.php
+++ /dev/null
@@ -1,292 +0,0 @@
-join('gateways', 'gateways.id', '=', 'account_gateways.gateway_id')
- ->where('account_gateways.deleted_at', '=', null)
- ->where('account_gateways.account_id', '=', \Auth::user()->account_id)
- ->select('account_gateways.public_id', 'gateways.name', 'account_gateways.deleted_at');
-
- return Datatable::query($query)
- ->addColumn('name', function ($model) { return link_to('gateways/'.$model->public_id.'/edit', $model->name); })
- ->addColumn('dropdown', function ($model) {
- $actions = '
-
- '.trans('texts.select').'
-
-
-
';
-
- return $actions;
- })
- ->orderColumns(['name'])
- ->make();
- }
-
- public function edit($publicId)
- {
- $accountGateway = AccountGateway::scope($publicId)->firstOrFail();
- $config = $accountGateway->config;
- $selectedCards = $accountGateway->accepted_credit_cards;
-
- $configFields = json_decode($config);
-
- foreach ($configFields as $configField => $value) {
- $configFields->$configField = str_repeat('*', strlen($value));
- }
-
- $data = self::getViewModel($accountGateway);
- $data['url'] = 'gateways/'.$publicId;
- $data['method'] = 'PUT';
- $data['title'] = trans('texts.edit_gateway') . ' - ' . $accountGateway->gateway->name;
- $data['config'] = $configFields;
-
- return View::make('accounts.account_gateway', $data);
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- public function store()
- {
- return $this->save();
- }
-
- /**
- * Displays the form for account creation
- *
- */
- public function create()
- {
- $data = self::getViewModel();
- $data['url'] = 'gateways';
- $data['method'] = 'POST';
- $data['title'] = trans('texts.add_gateway');
-
- return View::make('accounts.account_gateway', $data);
- }
-
- private function getViewModel($accountGateway = false)
- {
- $selectedCards = $accountGateway ? $accountGateway->accepted_credit_cards : 0;
- $account = Auth::user()->account;
-
- $recommendedGateways = Gateway::remember(DEFAULT_QUERY_CACHE)
- ->where('recommended', '=', '1')
- ->orderBy('sort_order')
- ->get();
- $recommendedGatewayArray = array();
-
- foreach ($recommendedGateways as $recommendedGateway) {
- $arrayItem = array(
- 'value' => $recommendedGateway->id,
- 'other' => 'false',
- 'data-imageUrl' => asset($recommendedGateway->getLogoUrl()),
- 'data-siteUrl' => $recommendedGateway->site_url,
- );
- $recommendedGatewayArray[$recommendedGateway->name] = $arrayItem;
- }
-
- $creditCardsArray = unserialize(CREDIT_CARDS);
- $creditCards = [];
- foreach ($creditCardsArray as $card => $name) {
- if ($selectedCards > 0 && ($selectedCards & $card) == $card) {
- $creditCards[$name['text']] = ['value' => $card, 'data-imageUrl' => asset($name['card']), 'checked' => 'checked'];
- } else {
- $creditCards[$name['text']] = ['value' => $card, 'data-imageUrl' => asset($name['card'])];
- }
- }
-
- $otherItem = array(
- 'value' => 1000000,
- 'other' => 'true',
- 'data-imageUrl' => '',
- 'data-siteUrl' => '',
- );
- $recommendedGatewayArray['Other Options'] = $otherItem;
-
- $account->load('account_gateways');
- $currentGateways = $account->account_gateways;
- $gateways = Gateway::where('payment_library_id', '=', 1)->orderBy('name');
- $onlyPayPal = false;
- if (!$accountGateway) {
- if (count($currentGateways) > 0) {
- $currentGateway = $currentGateways[0];
- if ($currentGateway->isPayPal()) {
- $gateways->where('id', '!=', GATEWAY_PAYPAL_EXPRESS);
- } else {
- $gateways->where('id', '=', GATEWAY_PAYPAL_EXPRESS);
- $onlyPayPal = true;
- }
- }
- }
- $gateways = $gateways->get();
-
- foreach ($gateways as $gateway) {
- $paymentLibrary = $gateway->paymentlibrary;
- $gateway->fields = $gateway->getFields();
-
- if ($accountGateway && $accountGateway->gateway_id == $gateway->id) {
- $accountGateway->fields = $gateway->fields;
- }
- }
-
- $tokenBillingOptions = [];
- for ($i=1; $i<=4; $i++) {
- $tokenBillingOptions[$i] = trans("texts.token_billing_{$i}");
- }
-
- return [
- 'account' => $account,
- 'accountGateway' => $accountGateway,
- 'config' => false,
- 'gateways' => $gateways,
- 'recommendedGateways' => $recommendedGatewayArray,
- 'creditCardTypes' => $creditCards,
- 'tokenBillingOptions' => $tokenBillingOptions,
- 'showBreadcrumbs' => false,
- 'onlyPayPal' => $onlyPayPal,
- 'countGateways' => count($currentGateways)
- ];
- }
-
- public function delete()
- {
- $accountGatewayPublicId = Input::get('accountGatewayPublicId');
- $gateway = AccountGateway::scope($accountGatewayPublicId)->firstOrFail();
-
- $gateway->delete();
-
- Session::flash('message', trans('texts.deleted_gateway'));
-
- return Redirect::to('company/payments');
- }
-
- /**
- * Stores new account
- *
- */
- public function save($accountGatewayPublicId = false)
- {
- $rules = array();
- $recommendedId = Input::get('recommendedGateway_id');
-
- $gatewayId = ($recommendedId == 1000000 ? Input::get('gateway_id') : $recommendedId);
-
- if (!$gatewayId) {
- Session::flash('error', trans('validation.required', ['attribute' => 'gateway']));
- return Redirect::to('gateways/create')
- ->withInput();
- }
-
- $gateway = Gateway::findOrFail($gatewayId);
- $paymentLibrary = $gateway->paymentlibrary;
- $fields = $gateway->getFields();
-
- foreach ($fields as $field => $details) {
- if (!in_array($field, ['testMode', 'developerMode', 'headerImageUrl', 'solutionType', 'landingPage', 'brandName', 'logoImageUrl', 'borderColor'])) {
- if (strtolower($gateway->name) == 'beanstream') {
- if (in_array($field, ['merchant_id', 'passCode'])) {
- $rules[$gateway->id.'_'.$field] = 'required';
- }
- } else {
- $rules[$gateway->id.'_'.$field] = 'required';
- }
- }
- }
-
- $creditcards = Input::get('creditCardTypes');
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to('gateways/create')
- ->withErrors($validator)
- ->withInput();
- } else {
- $account = Account::with('account_gateways')->findOrFail(Auth::user()->account_id);
-
- if ($accountGatewayPublicId) {
- $accountGateway = AccountGateway::scope($accountGatewayPublicId)->firstOrFail();
- } else {
- $accountGateway = AccountGateway::createNew();
- $accountGateway->gateway_id = $gatewayId;
- }
-
- $isMasked = false;
-
- $config = new stdClass();
- foreach ($fields as $field => $details) {
- $value = trim(Input::get($gateway->id.'_'.$field));
-
- if ($value && $value === str_repeat('*', strlen($value))) {
- $isMasked = true;
- }
-
- $config->$field = $value;
- }
-
- $cardCount = 0;
- if ($creditcards) {
- foreach ($creditcards as $card => $value) {
- $cardCount += intval($value);
- }
- }
-
- // if the values haven't changed don't update the config
- if ($isMasked && $accountGatewayPublicId) {
- $accountGateway->accepted_credit_cards = $cardCount;
- $accountGateway->save();
- // if there's an existing config for this gateway update it
- } elseif (!$isMasked && $accountGatewayPublicId && $accountGateway->gateway_id == $gatewayId) {
- $accountGateway->accepted_credit_cards = $cardCount;
- $accountGateway->config = json_encode($config);
- $accountGateway->save();
- // otherwise, create a new gateway config
- } else {
- $accountGateway->config = json_encode($config);
- $accountGateway->accepted_credit_cards = $cardCount;
- $account->account_gateways()->save($accountGateway);
- }
-
- if (Input::get('token_billing_type_id')) {
- $account->token_billing_type_id = Input::get('token_billing_type_id');
- $account->save();
- }
-
- if ($accountGatewayPublicId) {
- $message = trans('texts.updated_gateway');
- } else {
- $message = trans('texts.created_gateway');
- }
-
- Session::flash('message', $message);
-
- return Redirect::to('company/payments');
- }
- }
-
-}
\ No newline at end of file
diff --git a/app/controllers/ActivityController.php b/app/controllers/ActivityController.php
deleted file mode 100755
index ba8797bb1d00..000000000000
--- a/app/controllers/ActivityController.php
+++ /dev/null
@@ -1,20 +0,0 @@
-join('clients', 'clients.id', '=', 'activities.client_id')
- ->where('clients.public_id', '=', $clientPublicId)
- ->where('activities.account_id', '=', Auth::user()->account_id)
- ->select('activities.id', 'activities.message', 'activities.created_at', 'clients.currency_id', 'activities.balance', 'activities.adjustment');
-
- return Datatable::query($query)
- ->addColumn('id', function ($model) { return Utils::timestampToDateTimeString(strtotime($model->created_at)); })
- ->addColumn('message', function ($model) { return Utils::decodeActivity($model->message); })
- ->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); })
- ->addColumn('adjustment', function ($model) { return $model->adjustment != 0 ? Utils::formatMoney($model->adjustment, $model->currency_id) : ''; })
- ->make();
- }
-}
diff --git a/app/controllers/AppController.php b/app/controllers/AppController.php
deleted file mode 100644
index 1378c43c9c95..000000000000
--- a/app/controllers/AppController.php
+++ /dev/null
@@ -1,171 +0,0 @@
-accountRepo = $accountRepo;
- $this->mailer = $mailer;
- }
-
- public function showSetup()
- {
- if (Utils::isNinja() || Utils::isDatabaseSetup()) {
- return Redirect::to('/');
- }
-
- return View::make('setup');
- }
-
- public function doSetup()
- {
- if (Utils::isNinja() || Utils::isDatabaseSetup()) {
- return Redirect::to('/');
- }
-
- $valid = false;
- $test = Input::get('test');
-
- $app = Input::get('app');
- $app['key'] = str_random(RANDOM_KEY_LENGTH);
- $app['debug'] = false;
-
- $database = Input::get('database');
- $dbType = $database['default'];
- $database['connections'] = [$dbType => $database['type']];
- unset($database['type']);
-
- $mail = Input::get('mail');
- $email = $mail['username'];
- $mail['from']['address'] = $email;
-
- if ($test == 'mail') {
- return self::testMail($mail);
- }
-
- $valid = self::testDatabase($database);
-
- if ($test == 'db') {
- return $valid === true ? 'Success' : $valid;
- } elseif (!$valid) {
- return Redirect::to('/setup')->withInput();
- }
-
- $content = " $app, 'database' => $database, 'mail' => $mail] as $key => $config) {
- $content = 'accountRepo->create();
- $user = $account->users()->first();
-
- $user->first_name = trim(Input::get('first_name'));
- $user->last_name = trim(Input::get('last_name'));
- $user->email = trim(strtolower(Input::get('email')));
- $user->username = $user->email;
- $user->password = trim(Input::get('password'));
- $user->password_confirmation = trim(Input::get('password'));
- $user->registered = true;
- $user->amend();
-
- //Auth::login($user, true);
- $this->accountRepo->registerUser($user);
-
- return Redirect::to('/invoices/create');
- }
-
- private function testDatabase($database)
- {
- $dbType = $database['default'];
-
- Config::set('database.default', $dbType);
-
- foreach ($database['connections'][$dbType] as $key => $val) {
- Config::set("database.connections.{$dbType}.{$key}", $val);
- }
-
- try {
- $valid = DB::connection()->getDatabaseName() ? true : false;
- } catch (Exception $e) {
- return $e->getMessage();
- }
-
- return $valid;
- }
-
- private function testMail($mail)
- {
- $email = $mail['username'];
- $fromName = $mail['from']['name'];
-
- foreach ($mail as $key => $val) {
- Config::set("mail.{$key}", $val);
- }
-
- Config::set('mail.from.address', $email);
- Config::set('mail.from.name', $fromName);
-
- $data = [
- 'text' => 'Test email',
- ];
-
- try {
- $this->mailer->sendTo($email, $email, $fromName, 'Test email', 'contact', $data);
-
- return 'Sent';
- } catch (Exception $e) {
- return $e->getMessage();
- }
- }
-
- public function install()
- {
- if (!Utils::isNinja() && !Utils::isDatabaseSetup()) {
- try {
- Artisan::call('migrate');
- Artisan::call('db:seed');
- } catch (Exception $e) {
- Response::make($e->getMessage(), 500);
- }
- }
-
- return Redirect::to('/');
- }
-
- public function update()
- {
- if (!Utils::isNinja()) {
- try {
- Artisan::call('migrate');
- Cache::flush();
- } catch (Exception $e) {
- Response::make($e->getMessage(), 500);
- }
- }
-
- return Redirect::to('/');
- }
-}
diff --git a/app/controllers/BaseController.php b/app/controllers/BaseController.php
deleted file mode 100755
index 11891536c641..000000000000
--- a/app/controllers/BaseController.php
+++ /dev/null
@@ -1,21 +0,0 @@
-layout)) {
- $this->layout = View::make($this->layout);
- }
- }
-
- public function __construct()
- {
- $this->beforeFilter('csrf', array('on' => array('post', 'delete', 'put')));
- }
-}
diff --git a/app/controllers/ClientApiController.php b/app/controllers/ClientApiController.php
deleted file mode 100644
index 138a92aabcdb..000000000000
--- a/app/controllers/ClientApiController.php
+++ /dev/null
@@ -1,51 +0,0 @@
-clientRepo = $clientRepo;
- }
-
- public function ping()
- {
- $headers = Utils::getApiHeaders();
-
- return Response::make('', 200, $headers);
- }
-
- public function index()
- {
- $clients = Client::scope()->with('contacts')->orderBy('created_at', 'desc')->get();
- $clients = Utils::remapPublicIds($clients->toArray());
-
- $response = json_encode($clients, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders(count($clients));
-
- return Response::make($response, 200, $headers);
- }
-
- public function store()
- {
- $data = Input::all();
- $error = $this->clientRepo->getErrors($data);
-
- if ($error) {
- $headers = Utils::getApiHeaders();
-
- return Response::make($error, 500, $headers);
- } else {
- $client = $this->clientRepo->save(false, $data, false);
- $client->load('contacts');
- $client = Utils::remapPublicIds($client->toArray());
- $response = json_encode($client, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders();
-
- return Response::make($response, 200, $headers);
- }
- }
-}
diff --git a/app/controllers/ClientController.php b/app/controllers/ClientController.php
deleted file mode 100755
index a06b6c5bdc8e..000000000000
--- a/app/controllers/ClientController.php
+++ /dev/null
@@ -1,278 +0,0 @@
-clientRepo = $clientRepo;
- }
-
- /**
- * Display a listing of the resource.
- *
- * @return Response
- */
- public function index()
- {
- return View::make('list', array(
- 'entityType' => ENTITY_CLIENT,
- 'title' => trans('texts.clients'),
- 'columns' => Utils::trans(['checkbox', 'client', 'contact', 'email', 'date_created', 'last_login', 'balance', 'action']),
- ));
- }
-
- public function getDatatable()
- {
- $clients = $this->clientRepo->find(Input::get('sSearch'));
-
- return Datatable::query($clients)
- ->addColumn('checkbox', function ($model) { return ' '; })
- ->addColumn('name', function ($model) { return link_to('clients/'.$model->public_id, $model->name); })
- ->addColumn('first_name', function ($model) { return link_to('clients/'.$model->public_id, $model->first_name.' '.$model->last_name); })
- ->addColumn('email', function ($model) { return link_to('clients/'.$model->public_id, $model->email); })
- ->addColumn('created_at', function ($model) { return Utils::timestampToDateString(strtotime($model->created_at)); })
- ->addColumn('last_login', function ($model) { return Utils::timestampToDateString(strtotime($model->last_login)); })
- ->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); })
- ->addColumn('dropdown', function ($model) {
- if ($model->is_deleted) {
- return '
';
- }
-
- $str = '
-
- '.trans('texts.select').'
-
-
-
';
- })
- ->make();
- }
-
- /**
- * Store a newly created resource in storage.
- *
- * @return Response
- */
- public function store()
- {
- return $this->save();
- }
-
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function show($publicId)
- {
- $client = Client::withTrashed()->scope($publicId)->with('contacts', 'size', 'industry')->firstOrFail();
- Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT);
-
- $actionLinks = [
- [trans('texts.create_invoice'), URL::to('invoices/create/'.$client->public_id)],
- [trans('texts.enter_payment'), URL::to('payments/create/'.$client->public_id)],
- [trans('texts.enter_credit'), URL::to('credits/create/'.$client->public_id)],
- ];
-
- if (Utils::isPro()) {
- array_unshift($actionLinks, [trans('texts.create_quote'), URL::to('quotes/create/'.$client->public_id)]);
- }
-
- $data = array(
- 'actionLinks' => $actionLinks,
- 'showBreadcrumbs' => false,
- 'client' => $client,
- 'credit' => $client->getTotalCredit(),
- 'title' => trans('texts.view_client'),
- 'hasRecurringInvoices' => Invoice::scope()->where('is_recurring', '=', true)->whereClientId($client->id)->count() > 0,
- 'gatewayLink' => $client->getGatewayLink(),
- );
-
- return View::make('clients.show', $data);
- }
-
- /**
- * Show the form for creating a new resource.
- *
- * @return Response
- */
- public function create()
- {
- if (Client::scope()->count() > Auth::user()->getMaxNumClients()) {
- return View::make('error', ['hideHeader' => true, 'error' => "Sorry, you've exceeded the limit of ".Auth::user()->getMaxNumClients()." clients"]);
- }
-
- $data = [
- 'client' => null,
- 'method' => 'POST',
- 'url' => 'clients',
- 'title' => trans('texts.new_client'),
- ];
-
- $data = array_merge($data, self::getViewModel());
-
- return View::make('clients.edit', $data);
- }
-
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function edit($publicId)
- {
- $client = Client::scope($publicId)->with('contacts')->firstOrFail();
- $data = [
- 'client' => $client,
- 'method' => 'PUT',
- 'url' => 'clients/'.$publicId,
- 'title' => trans('texts.edit_client'),
- ];
-
- $data = array_merge($data, self::getViewModel());
-
- return View::make('clients.edit', $data);
- }
-
- private static function getViewModel()
- {
- return [
- 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']),
- 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'customLabel1' => Auth::user()->account->custom_client_label1,
- 'customLabel2' => Auth::user()->account->custom_client_label2,
- ];
- }
-
- /**
- * Update the specified resource in storage.
- *
- * @param int $id
- * @return Response
- */
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- private function save($publicId = null)
- {
- $rules = array(
- 'email' => 'required',
- );
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- $url = $publicId ? 'clients/'.$publicId.'/edit' : 'clients/create';
-
- return Redirect::to($url)
- ->withErrors($validator)
- ->withInput(Input::except('password'));
- } else {
- if ($publicId) {
- $client = Client::scope($publicId)->firstOrFail();
- } else {
- $client = Client::createNew();
- }
-
- $client->name = trim(Input::get('name'));
- $client->id_number = trim(Input::get('id_number'));
- $client->vat_number = trim(Input::get('vat_number'));
- $client->work_phone = trim(Input::get('work_phone'));
- $client->custom_value1 = trim(Input::get('custom_value1'));
- $client->custom_value2 = trim(Input::get('custom_value2'));
- $client->address1 = trim(Input::get('address1'));
- $client->address2 = trim(Input::get('address2'));
- $client->city = trim(Input::get('city'));
- $client->state = trim(Input::get('state'));
- $client->postal_code = trim(Input::get('postal_code'));
- $client->country_id = Input::get('country_id') ?: null;
- $client->private_notes = trim(Input::get('private_notes'));
- $client->size_id = Input::get('size_id') ?: null;
- $client->industry_id = Input::get('industry_id') ?: null;
- $client->currency_id = Input::get('currency_id') ?: null;
- $client->payment_terms = Input::get('payment_terms') ?: 0;
- $client->website = trim(Input::get('website'));
-
- $client->save();
-
- $data = json_decode(Input::get('data'));
- $contactIds = [];
- $isPrimary = true;
-
- foreach ($data->contacts as $contact) {
- if (isset($contact->public_id) && $contact->public_id) {
- $record = Contact::scope($contact->public_id)->firstOrFail();
- } else {
- $record = Contact::createNew();
- }
-
- $record->email = trim(strtolower($contact->email));
- $record->first_name = trim($contact->first_name);
- $record->last_name = trim($contact->last_name);
- $record->phone = trim($contact->phone);
- $record->is_primary = $isPrimary;
- $isPrimary = false;
-
- $client->contacts()->save($record);
- $contactIds[] = $record->public_id;
- }
-
- foreach ($client->contacts as $contact) {
- if (!in_array($contact->public_id, $contactIds)) {
- $contact->delete();
- }
- }
-
- if ($publicId) {
- Session::flash('message', trans('texts.updated_client'));
- } else {
- Activity::createClient($client);
- Session::flash('message', trans('texts.created_client'));
- }
-
- return Redirect::to('clients/'.$client->public_id);
- }
- }
-
- public function bulk()
- {
- $action = Input::get('action');
- $ids = Input::get('id') ? Input::get('id') : Input::get('ids');
- $count = $this->clientRepo->bulk($ids, $action);
-
- $message = Utils::pluralize($action.'d_client', $count);
- Session::flash('message', $message);
-
- if ($action == 'restore' && $count == 1) {
- return Redirect::to('clients/'.$ids[0]);
- } else {
- return Redirect::to('clients');
- }
- }
-}
diff --git a/app/controllers/CreditController.php b/app/controllers/CreditController.php
deleted file mode 100755
index 6b1d7e8a85ce..000000000000
--- a/app/controllers/CreditController.php
+++ /dev/null
@@ -1,149 +0,0 @@
-creditRepo = $creditRepo;
- }
-
- /**
- * Display a listing of the resource.
- *
- * @return Response
- */
- public function index()
- {
- return View::make('list', array(
- 'entityType' => ENTITY_CREDIT,
- 'title' => trans('texts.credits'),
- 'columns' => Utils::trans(['checkbox', 'client', 'credit_amount', 'credit_balance', 'credit_date', 'private_notes', 'action']),
- ));
- }
-
- public function getDatatable($clientPublicId = null)
- {
- $credits = $this->creditRepo->find($clientPublicId, Input::get('sSearch'));
-
- $table = Datatable::query($credits);
-
- if (!$clientPublicId) {
- $table->addColumn('checkbox', function ($model) { return ' '; })
- ->addColumn('client_name', function ($model) { return link_to('clients/'.$model->client_public_id, Utils::getClientDisplayName($model)); });
- }
-
- return $table->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id).' '; })
- ->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); })
- ->addColumn('credit_date', function ($model) { return Utils::fromSqlDate($model->credit_date); })
- ->addColumn('private_notes', function ($model) { return $model->private_notes; })
- ->addColumn('dropdown', function ($model) {
- if ($model->is_deleted) {
- return '
';
- }
-
- $str = '
-
- '.trans('texts.select').'
-
-
-
';
- })
- ->make();
- }
-
- public function create($clientPublicId = 0)
- {
- $data = array(
- 'clientPublicId' => Input::old('client') ? Input::old('client') : $clientPublicId,
- //'invoicePublicId' => Input::old('invoice') ? Input::old('invoice') : $invoicePublicId,
- 'credit' => null,
- 'method' => 'POST',
- 'url' => 'credits',
- 'title' => trans('texts.new_credit'),
- //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- //'invoices' => Invoice::scope()->with('client', 'invoice_status')->orderBy('invoice_number')->get(),
- 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), );
-
- return View::make('credits.edit', $data);
- }
-
- public function edit($publicId)
- {
- $credit = Credit::scope($publicId)->firstOrFail();
- $credit->credit_date = Utils::fromSqlDate($credit->credit_date);
-
- $data = array(
- 'client' => null,
- 'credit' => $credit,
- 'method' => 'PUT',
- 'url' => 'credits/'.$publicId,
- 'title' => 'Edit Credit',
- //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), );
-
- return View::make('credit.edit', $data);
- }
-
- public function store()
- {
- return $this->save();
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- private function save($publicId = null)
- {
- $rules = array(
- 'client' => 'required',
- 'amount' => 'required|positive',
- );
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- $url = $publicId ? 'credits/'.$publicId.'/edit' : 'credits/create';
-
- return Redirect::to($url)
- ->withErrors($validator)
- ->withInput();
- } else {
- $this->creditRepo->save($publicId, Input::all());
-
- $message = trans('texts.created_credit');
- Session::flash('message', $message);
-
- return Redirect::to('clients/'.Input::get('client'));
- }
- }
-
- public function bulk()
- {
- $action = Input::get('action');
- $ids = Input::get('id') ? Input::get('id') : Input::get('ids');
- $count = $this->creditRepo->bulk($ids, $action);
-
- if ($count > 0) {
- $message = Utils::pluralize($action.'d_credit', $count);
- Session::flash('message', $message);
- }
-
- return Redirect::to('credits');
- }
-}
diff --git a/app/controllers/DashboardController.php b/app/controllers/DashboardController.php
deleted file mode 100644
index 6038c812da7c..000000000000
--- a/app/controllers/DashboardController.php
+++ /dev/null
@@ -1,79 +0,0 @@
-= '.INVOICE_STATUS_SENT.' THEN 1 ELSE 0 END) invoices_sent,
- COUNT(DISTINCT clients.id) active_clients');
- $metrics = DB::table('accounts')
- ->select($select)
- ->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')
- ->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')
- ->where('accounts.id', '=', Auth::user()->account_id)
- ->where('clients.is_deleted', '=', false)
- ->where('invoices.is_deleted', '=', false)
- ->where('invoices.is_recurring', '=', false)
- ->where('invoices.is_quote', '=', false)
- ->groupBy('accounts.id')
- ->first();
-
- $select = DB::raw('SUM(clients.paid_to_date) as value, clients.currency_id as currency_id');
- $paidToDate = DB::table('accounts')
- ->select($select)
- ->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')
- ->where('accounts.id', '=', Auth::user()->account_id)
- ->where('clients.is_deleted', '=', false)
- ->groupBy('accounts.id')
- ->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))
- ->get();
-
- $select = DB::raw('AVG(invoices.amount) as invoice_avg, clients.currency_id as currency_id');
- $averageInvoice = DB::table('accounts')
- ->select($select)
- ->leftJoin('clients', 'accounts.id', '=', 'clients.account_id')
- ->leftJoin('invoices', 'clients.id', '=', 'invoices.client_id')
- ->where('accounts.id', '=', Auth::user()->account_id)
- ->where('clients.is_deleted', '=', false)
- ->where('invoices.is_deleted', '=', false)
- ->groupBy('accounts.id')
- ->groupBy(DB::raw('CASE WHEN clients.currency_id IS NULL THEN CASE WHEN accounts.currency_id IS NULL THEN 1 ELSE accounts.currency_id END ELSE clients.currency_id END'))
- ->get();
-
-
-
- $activities = Activity::where('activities.account_id', '=', Auth::user()->account_id)
- ->orderBy('created_at', 'desc')->take(6)->get();
-
- $pastDue = Invoice::scope()
- ->where('due_date', '<', date('Y-m-d'))
- ->where('balance', '>', 0)
- ->where('is_recurring', '=', false)
- ->where('is_quote', '=', false)
- ->where('is_deleted', '=', false)
- ->orderBy('due_date', 'asc')->take(6)->get();
-
- $upcoming = Invoice::scope()
- ->where('due_date', '>=', date('Y-m-d'))
- ->where('balance', '>', 0)
- ->where('is_recurring', '=', false)
- ->where('is_quote', '=', false)
- ->where('is_deleted', '=', false)
- ->orderBy('due_date', 'asc')->take(6)->get();
-
- $data = [
- 'paidToDate' => $paidToDate,
- 'averageInvoice' => $averageInvoice,
- 'billedClients' => $metrics ? $metrics->billed_clients : 0,
- 'invoicesSent' => $metrics ? $metrics->invoices_sent : 0,
- 'activeClients' => $metrics ? $metrics->active_clients : 0,
- 'activities' => $activities,
- 'pastDue' => $pastDue,
- 'upcoming' => $upcoming,
- ];
-
- return View::make('dashboard', $data);
- }
-}
diff --git a/app/controllers/HomeController.php b/app/controllers/HomeController.php
deleted file mode 100755
index 27e8a9983fd7..000000000000
--- a/app/controllers/HomeController.php
+++ /dev/null
@@ -1,68 +0,0 @@
-mailer = $mailer;
- }
-
- public function showIndex()
- {
- if (!Utils::isDatabaseSetup()) {
- return Redirect::to('/setup');
- } elseif (Account::count() == 0) {
- return Redirect::to('/invoice_now');
- } else {
- return Redirect::to('/login');
- }
- }
-
- public function showTerms()
- {
- return View::make('public.terms', ['hideHeader' => true]);
- }
-
- public function invoiceNow()
- {
- if (Auth::check()) {
- return Redirect::to('invoices/create')->with('sign_up', Input::get('sign_up'));
- } else {
- return View::make('public.header', ['invoiceNow' => true]);
- }
- }
-
- public function newsFeed($userType, $version)
- {
- $response = Utils::getNewsFeedResponse($userType);
-
- return Response::json($response);
- }
-
- public function hideMessage()
- {
- if (Auth::check() && Session::has('news_feed_id')) {
- $newsFeedId = Session::get('news_feed_id');
- if ($newsFeedId != NEW_VERSION_AVAILABLE && $newsFeedId > Auth::user()->news_feed_id) {
- $user = Auth::user();
- $user->news_feed_id = $newsFeedId;
- $user->save();
- }
-
- Session::forget('news_feed_message');
- }
-
- return 'success';
- }
-
- public function logError()
- {
- return Utils::logError(Input::get('error'), 'JavaScript');
- }
-}
diff --git a/app/controllers/IntegrationController.php b/app/controllers/IntegrationController.php
deleted file mode 100644
index 8353d972745e..000000000000
--- a/app/controllers/IntegrationController.php
+++ /dev/null
@@ -1,26 +0,0 @@
-account_id)->where('event_id', '=', $eventId)->first();
-
- if (!$subscription) {
- $subscription = new Subscription();
- $subscription->account_id = Auth::user()->account_id;
- $subscription->event_id = $eventId;
- }
-
- $subscription->target_url = trim(Input::get('target_url'));
- $subscription->save();
-
- return Response::json('{"id":'.$subscription->id.'}', 201);
- }
-}
diff --git a/app/controllers/InvoiceApiController.php b/app/controllers/InvoiceApiController.php
deleted file mode 100644
index 40c63ea30d9c..000000000000
--- a/app/controllers/InvoiceApiController.php
+++ /dev/null
@@ -1,192 +0,0 @@
-invoiceRepo = $invoiceRepo;
- $this->mailer = $mailer;
- }
-
- public function index()
- {
- $invoices = Invoice::scope()->where('invoices.is_quote', '=', false)->orderBy('created_at', 'desc')->get();
- $invoices = Utils::remapPublicIds($invoices->toArray());
-
- $response = json_encode($invoices, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders(count($invoices));
-
- return Response::make($response, 200, $headers);
- }
-
- public function store()
- {
- $data = Input::all();
- $error = null;
-
- // check if the invoice number is set and unique
- if (!isset($data['invoice_number'])) {
- $data['invoice_number'] = Auth::user()->account->getNextInvoiceNumber();
- } else {
- $invoice = Invoice::scope()->where('invoice_number', '=', $data['invoice_number'])->first();
- if ($invoice) {
- $error = trans('validation.unique', ['attribute' => 'texts.invoice_number']);
- }
- }
-
- // check the client id is set and exists
- if (!isset($data['client_id'])) {
- $error = trans('validation.required', ['attribute' => 'client_id']);
- } else {
- $client = Client::scope($data['client_id'])->first();
- if (!$client) {
- $error = trans('validation.not_in', ['attribute' => 'client_id']);
- }
- }
-
- if ($error) {
- $response = json_encode($error, JSON_PRETTY_PRINT);
- } else {
- $data = self::prepareData($data);
- $invoice = $this->invoiceRepo->save(false, $data, false);
-
- $invitation = Invitation::createNew();
- $invitation->invoice_id = $invoice->id;
- $invitation->contact_id = $client->contacts[0]->id;
- $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
- $invitation->save();
-
- // prepare the return data
- $invoice->load('invoice_items');
- $invoice = $invoice->toArray();
- $invoice['link'] = $invitation->getLink();
- unset($invoice['account']);
- unset($invoice['client']);
- $invoice = Utils::remapPublicIds($invoice);
- $invoice['client_id'] = $client->public_id;
-
- $response = json_encode($invoice, JSON_PRETTY_PRINT);
- }
-
- $headers = Utils::getApiHeaders();
-
- return Response::make($response, $error ? 400 : 200, $headers);
- }
-
- private function prepareData($data)
- {
- $account = Auth::user()->account;
- $account->loadLocalizationSettings();
-
- // set defaults for optional fields
- $fields = [
- 'discount' => 0,
- 'is_amount_discount' => false,
- 'terms' => '',
- 'invoice_footer' => '',
- 'public_notes' => '',
- 'po_number' => '',
- 'invoice_design_id' => $account->invoice_design_id,
- 'invoice_items' => [],
- 'custom_value1' => 0,
- 'custom_value2' => 0,
- 'custom_taxes1' => false,
- 'custom_taxes2' => false,
- ];
-
- if (!isset($data['invoice_date'])) {
- $fields['invoice_date_sql'] = date_create()->format('Y-m-d');
- }
- if (!isset($data['due_date'])) {
- $fields['due_date_sql'] = false;
- }
-
- foreach ($fields as $key => $val) {
- if (!isset($data[$key])) {
- $data[$key] = $val;
- }
- }
-
- // hardcode some fields
- $fields = [
- 'is_recurring' => false
- ];
-
- foreach ($fields as $key => $val) {
- $data[$key] = $val;
- }
-
- // initialize the line items
- if (isset($data['product_key']) || isset($data['cost']) || isset($data['notes']) || isset($data['qty'])) {
- $data['invoice_items'] = [self::prepareItem($data)];
- } else {
- foreach ($data['invoice_items'] as $index => $item) {
- $data['invoice_items'][$index] = self::prepareItem($item);
- }
- }
-
- return $data;
- }
-
- private function prepareItem($item)
- {
- $fields = [
- 'cost' => 0,
- 'product_key' => '',
- 'notes' => '',
- 'qty' => 1
- ];
-
- foreach ($fields as $key => $val) {
- if (!isset($item[$key])) {
- $item[$key] = $val;
- }
- }
-
- // if only the product key is set we'll load the cost and notes
- if ($item['product_key'] && (!$item['cost'] || !$item['notes'])) {
- $product = Product::findProductByKey($item['product_key']);
- if ($product) {
- if (!$item['cost']) {
- $item['cost'] = $product->cost;
- }
- if (!$item['notes']) {
- $item['notes'] = $product->notes;
- }
- }
- }
-
- return $item;
- }
-
- public function emailInvoice()
- {
- $data = Input::all();
- $error = null;
-
- if (!isset($data['id'])) {
- $error = trans('validation.required', ['attribute' => 'id']);
- } else {
- $invoice = Invoice::scope($data['id'])->first();
- if (!$invoice) {
- $error = trans('validation.not_in', ['attribute' => 'id']);
- } else {
- $this->mailer->sendInvoice($invoice);
- }
- }
-
- if ($error) {
- $response = json_encode($error, JSON_PRETTY_PRINT);
- } else {
- $response = json_encode(RESULT_SUCCESS, JSON_PRETTY_PRINT);
- }
-
- $headers = Utils::getApiHeaders();
- return Response::make($response, $error ? 400 : 200, $headers);
- }
-}
diff --git a/app/controllers/InvoiceController.php b/app/controllers/InvoiceController.php
deleted file mode 100755
index 28a04b3cbaf9..000000000000
--- a/app/controllers/InvoiceController.php
+++ /dev/null
@@ -1,542 +0,0 @@
-mailer = $mailer;
- $this->invoiceRepo = $invoiceRepo;
- $this->clientRepo = $clientRepo;
- $this->taxRateRepo = $taxRateRepo;
- }
-
- public function index()
- {
- $data = [
- 'title' => trans('texts.invoices'),
- 'entityType' => ENTITY_INVOICE,
- 'columns' => Utils::trans(['checkbox', 'invoice_number', 'client', 'invoice_date', 'invoice_total', 'balance_due', 'due_date', 'status', 'action']),
- ];
-
- $recurringInvoices = Invoice::scope()->where('is_recurring', '=', true);
-
- if (Session::get('show_trash:invoice')) {
- $recurringInvoices->withTrashed();
- }
-
- if ($recurringInvoices->count() > 0) {
- $data['secEntityType'] = ENTITY_RECURRING_INVOICE;
- $data['secColumns'] = Utils::trans(['checkbox', 'frequency', 'client', 'start_date', 'end_date', 'invoice_total', 'action']);
- }
-
- return View::make('list', $data);
- }
-
- public function clientIndex()
- {
- $invitationKey = Session::get('invitation_key');
- if (!$invitationKey) {
- return Redirect::to('/setup');
- }
-
- $invitation = Invitation::with('account')->where('invitation_key', '=', $invitationKey)->first();
- $color = $invitation->account->primary_color ? $invitation->account->primary_color : '#0b4d78';
-
- $data = [
- 'color' => $color,
- 'hideLogo' => Session::get('white_label'),
- 'title' => trans('texts.invoices'),
- 'entityType' => ENTITY_INVOICE,
- 'columns' => Utils::trans(['invoice_number', 'invoice_date', 'invoice_total', 'balance_due', 'due_date']),
- ];
-
- return View::make('public_list', $data);
- }
-
- public function getDatatable($clientPublicId = null)
- {
- $accountId = Auth::user()->account_id;
- $search = Input::get('sSearch');
-
- return $this->invoiceRepo->getDatatable($accountId, $clientPublicId, ENTITY_INVOICE, $search);
- }
-
- public function getClientDatatable()
- {
- //$accountId = Auth::user()->account_id;
- $search = Input::get('sSearch');
- $invitationKey = Session::get('invitation_key');
- $invitation = Invitation::where('invitation_key', '=', $invitationKey)->first();
-
- if (!$invitation || $invitation->is_deleted) {
- return [];
- }
-
- $invoice = $invitation->invoice;
-
- if (!$invoice || $invoice->is_deleted) {
- return [];
- }
-
- return $this->invoiceRepo->getClientDatatable($invitation->contact_id, ENTITY_INVOICE, $search);
- }
-
- public function getRecurringDatatable($clientPublicId = null)
- {
- $query = $this->invoiceRepo->getRecurringInvoices(Auth::user()->account_id, $clientPublicId, Input::get('sSearch'));
- $table = Datatable::query($query);
-
- if (!$clientPublicId) {
- $table->addColumn('checkbox', function ($model) { return ' '; });
- }
-
- $table->addColumn('frequency', function ($model) { return link_to('invoices/'.$model->public_id, $model->frequency); });
-
- if (!$clientPublicId) {
- $table->addColumn('client_name', function ($model) { return link_to('clients/'.$model->client_public_id, Utils::getClientDisplayName($model)); });
- }
-
- return $table->addColumn('start_date', function ($model) { return Utils::fromSqlDate($model->start_date); })
- ->addColumn('end_date', function ($model) { return Utils::fromSqlDate($model->end_date); })
- ->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id); })
- ->addColumn('dropdown', function ($model) {
- if ($model->is_deleted) {
- return '
';
- }
-
- $str = '
-
- '.trans('texts.select').'
-
-
-
';
-
- })
- ->make();
- }
-
- public function view($invitationKey)
- {
- $invitation = Invitation::where('invitation_key', '=', $invitationKey)->firstOrFail();
- $invoice = $invitation->invoice;
-
- if (!$invoice || $invoice->is_deleted) {
- return View::make('invoices.deleted');
- }
-
- $invoice->load('user', 'invoice_items', 'invoice_design', 'account.country', 'client.contacts', 'client.country');
- $client = $invoice->client;
-
- if (!$client || $client->is_deleted) {
- return View::make('invoices.deleted');
- }
-
- if (!Session::has($invitationKey) && (!Auth::check() || Auth::user()->account_id != $invoice->account_id)) {
- Activity::viewInvoice($invitation);
- Event::fire('invoice.viewed', $invoice);
- }
-
- Session::set($invitationKey, true);
- Session::set('invitation_key', $invitationKey);
- Session::set('white_label', $client->account->isWhiteLabel());
-
- $client->account->loadLocalizationSettings();
-
- $invoice->invoice_date = Utils::fromSqlDate($invoice->invoice_date);
- $invoice->due_date = Utils::fromSqlDate($invoice->due_date);
- $invoice->is_pro = $client->account->isPro();
-
- $contact = $invitation->contact;
- $contact->setVisible([
- 'first_name',
- 'last_name',
- 'email',
- 'phone', ]);
-
- $data = array(
- 'isConverted' => $invoice->quote_invoice_id ? true : false,
- 'showBreadcrumbs' => false,
- 'hideLogo' => $client->account->isWhiteLabel(),
- 'invoice' => $invoice->hidePrivateFields(),
- 'invitation' => $invitation,
- 'invoiceLabels' => $client->account->getInvoiceLabels(),
- 'contact' => $contact,
- 'hasToken' => $client->getGatewayToken(),
- 'countGateways' => AccountGateway::scope(false, $client->account->id)->count(),
- );
-
- return View::make('invoices.view', $data);
- }
-
- public function edit($publicId, $clone = false)
- {
- $invoice = Invoice::scope($publicId)->withTrashed()->with('invitations', 'account.country', 'client.contacts', 'client.country', 'invoice_items')->firstOrFail();
- $entityType = $invoice->getEntityType();
-
- $contactIds = DB::table('invitations')
- ->join('contacts', 'contacts.id', '=', 'invitations.contact_id')
- ->where('invitations.invoice_id', '=', $invoice->id)
- ->where('invitations.account_id', '=', Auth::user()->account_id)
- ->where('invitations.deleted_at', '=', null)
- ->select('contacts.public_id')->lists('public_id');
-
- if ($clone) {
- $invoice->id = null;
- $invoice->invoice_number = Auth::user()->account->getNextInvoiceNumber($invoice->is_quote);
- $invoice->balance = $invoice->amount;
- $invoice->invoice_status_id = 0;
- $invoice->invoice_date = date_create()->format('Y-m-d');
- $method = 'POST';
- $url = "{$entityType}s";
- } else {
- Utils::trackViewed($invoice->invoice_number.' - '.$invoice->client->getDisplayName(), $invoice->getEntityType());
- $method = 'PUT';
- $url = "{$entityType}s/{$publicId}";
- }
-
- $invoice->invoice_date = Utils::fromSqlDate($invoice->invoice_date);
- $invoice->due_date = Utils::fromSqlDate($invoice->due_date);
- $invoice->start_date = Utils::fromSqlDate($invoice->start_date);
- $invoice->end_date = Utils::fromSqlDate($invoice->end_date);
- $invoice->is_pro = Auth::user()->isPro();
-
- $data = array(
- 'entityType' => $entityType,
- 'showBreadcrumbs' => $clone,
- 'account' => $invoice->account,
- 'invoice' => $invoice,
- 'data' => false,
- 'method' => $method,
- 'invitationContactIds' => $contactIds,
- 'url' => $url,
- 'title' => trans("texts.edit_{$entityType}"),
- 'client' => $invoice->client, );
- $data = array_merge($data, self::getViewModel());
-
- // Set the invitation link on the client's contacts
- if (!$clone) {
- $clients = $data['clients'];
- foreach ($clients as $client) {
- if ($client->id == $invoice->client->id) {
- foreach ($invoice->invitations as $invitation) {
- foreach ($client->contacts as $contact) {
- if ($invitation->contact_id == $contact->id) {
- $contact->invitation_link = $invitation->getLink();
- }
- }
- }
- break;
- }
- }
- }
-
- return View::make('invoices.edit', $data);
- }
-
- public function create($clientPublicId = 0)
- {
- $client = null;
- $invoiceNumber = Auth::user()->account->getNextInvoiceNumber();
- $account = Account::with('country')->findOrFail(Auth::user()->account_id);
-
- if ($clientPublicId) {
- $client = Client::scope($clientPublicId)->firstOrFail();
- }
-
- $data = array(
- 'entityType' => ENTITY_INVOICE,
- 'account' => $account,
- 'invoice' => null,
- 'data' => Input::old('data'),
- 'invoiceNumber' => $invoiceNumber,
- 'method' => 'POST',
- 'url' => 'invoices',
- 'title' => trans('texts.new_invoice'),
- 'client' => $client, );
- $data = array_merge($data, self::getViewModel());
-
- return View::make('invoices.edit', $data);
- }
-
- private static function getViewModel()
- {
- $recurringHelp = '';
- foreach (preg_split("/((\r?\n)|(\r\n?))/", trans('texts.recurring_help')) as $line) {
- $parts = explode("=>", $line);
- if (count($parts) > 1) {
- $line = $parts[0].' => '.Utils::processVariables($parts[0]);
- $recurringHelp .= ''.strip_tags($line).' ';
- } else {
- $recurringHelp .= $line;
- }
- }
-
- return [
- 'account' => Auth::user()->account,
- 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')),
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(),
- 'taxRates' => TaxRate::scope()->orderBy('name')->get(),
- 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']),
- 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())
- ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(),
- 'frequencies' => array(
- 1 => 'Weekly',
- 2 => 'Two weeks',
- 3 => 'Four weeks',
- 4 => 'Monthly',
- 5 => 'Three months',
- 6 => 'Six months',
- 7 => 'Annually',
- ),
- 'recurringHelp' => $recurringHelp
- ];
- }
-
- /**
- * Store a newly created resource in storage.
- *
- * @return Response
- */
- public function store()
- {
- return InvoiceController::save();
- }
-
- private function save($publicId = null)
- {
- $action = Input::get('action');
- $entityType = Input::get('entityType');
-
- if (in_array($action, ['archive', 'delete', 'mark', 'restore'])) {
- return InvoiceController::bulk($entityType);
- }
-
- $input = json_decode(Input::get('data'));
- $invoice = $input->invoice;
-
- if ($errors = $this->invoiceRepo->getErrors($invoice)) {
- Session::flash('error', trans('texts.invoice_error'));
-
- return Redirect::to("{$entityType}s/create")
- ->withInput()->withErrors($errors);
- } else {
- $this->taxRateRepo->save($input->tax_rates);
-
- $clientData = (array) $invoice->client;
- $client = $this->clientRepo->save($invoice->client->public_id, $clientData);
-
- $invoiceData = (array) $invoice;
- $invoiceData['client_id'] = $client->id;
- $invoice = $this->invoiceRepo->save($publicId, $invoiceData, $entityType);
-
- $account = Auth::user()->account;
- if ($account->invoice_taxes != $input->invoice_taxes
- || $account->invoice_item_taxes != $input->invoice_item_taxes
- || $account->invoice_design_id != $input->invoice->invoice_design_id) {
- $account->invoice_taxes = $input->invoice_taxes;
- $account->invoice_item_taxes = $input->invoice_item_taxes;
- $account->invoice_design_id = $input->invoice->invoice_design_id;
- $account->save();
- }
-
- $client->load('contacts');
- $sendInvoiceIds = [];
-
- foreach ($client->contacts as $contact) {
- if ($contact->send_invoice || count($client->contacts) == 1) {
- $sendInvoiceIds[] = $contact->id;
- }
- }
-
- foreach ($client->contacts as $contact) {
- $invitation = Invitation::scope()->whereContactId($contact->id)->whereInvoiceId($invoice->id)->first();
-
- if (in_array($contact->id, $sendInvoiceIds) && !$invitation) {
- $invitation = Invitation::createNew();
- $invitation->invoice_id = $invoice->id;
- $invitation->contact_id = $contact->id;
- $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
- $invitation->save();
- } elseif (!in_array($contact->id, $sendInvoiceIds) && $invitation) {
- $invitation->delete();
- }
- }
-
- $message = trans($publicId ? "texts.updated_{$entityType}" : "texts.created_{$entityType}");
- if ($input->invoice->client->public_id == '-1') {
- $message = $message.' '.trans('texts.and_created_client');
-
- $url = URL::to('clients/'.$client->public_id);
- Utils::trackViewed($client->getDisplayName(), ENTITY_CLIENT, $url);
- }
-
- if ($action == 'clone') {
- return $this->cloneInvoice($publicId);
- } elseif ($action == 'convert') {
- return $this->convertQuote($publicId);
- } elseif ($action == 'email') {
- if (Auth::user()->confirmed && !Auth::user()->isDemo()) {
- $message = trans("texts.emailed_{$entityType}");
- $this->mailer->sendInvoice($invoice);
- Session::flash('message', $message);
- } else {
- $errorMessage = trans(Auth::user()->registered ? 'texts.confirmation_required' : 'texts.registration_required');
- Session::flash('error', $errorMessage);
- Session::flash('message', $message);
- }
- } else {
- Session::flash('message', $message);
- }
-
- $url = "{$entityType}s/".$invoice->public_id.'/edit';
-
- return Redirect::to($url);
- }
- }
-
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function show($publicId)
- {
- Session::reflash();
-
- return Redirect::to('invoices/'.$publicId.'/edit');
- }
-
- /**
- * Update the specified resource in storage.
- *
- * @param int $id
- * @return Response
- */
- public function update($publicId)
- {
- return InvoiceController::save($publicId);
- }
-
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return Response
- */
- public function bulk($entityType = ENTITY_INVOICE)
- {
- $action = Input::get('action');
- $statusId = Input::get('statusId', INVOICE_STATUS_SENT);
- $ids = Input::get('id') ? Input::get('id') : Input::get('ids');
- $count = $this->invoiceRepo->bulk($ids, $action, $statusId);
-
- if ($count > 0) {
- $key = $action == 'mark' ? "updated_{$entityType}" : "{$action}d_{$entityType}";
- $message = Utils::pluralize($key, $count);
- Session::flash('message', $message);
- }
-
- if ($action == 'restore' && $count == 1) {
- return Redirect::to("{$entityType}s/".$ids[0]);
- } else {
- return Redirect::to("{$entityType}s");
- }
- }
-
- public function convertQuote($publicId)
- {
- $invoice = Invoice::with('invoice_items')->scope($publicId)->firstOrFail();
- $clone = $this->invoiceRepo->cloneInvoice($invoice, $invoice->id);
-
- Session::flash('message', trans('texts.converted_to_invoice'));
- return Redirect::to('invoices/'.$clone->public_id);
- }
-
- public function cloneInvoice($publicId)
- {
- /*
- $invoice = Invoice::with('invoice_items')->scope($publicId)->firstOrFail();
- $clone = $this->invoiceRepo->cloneInvoice($invoice);
- $entityType = $invoice->getEntityType();
-
- Session::flash('message', trans('texts.cloned_invoice'));
- return Redirect::to("{$entityType}s/" . $clone->public_id);
- */
-
- return self::edit($publicId, true);
- }
-
- public function invoiceHistory($publicId)
- {
- $invoice = Invoice::withTrashed()->scope($publicId)->firstOrFail();
- $invoice->load('user', 'invoice_items', 'account.country', 'client.contacts', 'client.country');
- $invoice->invoice_date = Utils::fromSqlDate($invoice->invoice_date);
- $invoice->due_date = Utils::fromSqlDate($invoice->due_date);
- $invoice->is_pro = Auth::user()->isPro();
- $invoice->is_quote = intval($invoice->is_quote);
-
- $activityTypeId = $invoice->is_quote ? ACTIVITY_TYPE_UPDATE_QUOTE : ACTIVITY_TYPE_UPDATE_INVOICE;
- $activities = Activity::scope(false, $invoice->account_id)
- ->where('activity_type_id', '=', $activityTypeId)
- ->where('invoice_id', '=', $invoice->id)
- ->orderBy('id', 'desc')
- ->get(['id', 'created_at', 'user_id', 'json_backup', 'message']);
-
- $versionsJson = [];
- $versionsSelect = [];
- $lastId = false;
-
- foreach ($activities as $activity) {
- $backup = json_decode($activity->json_backup);
- $backup->invoice_date = Utils::fromSqlDate($backup->invoice_date);
- $backup->due_date = Utils::fromSqlDate($backup->due_date);
- $backup->is_pro = Auth::user()->isPro();
- $backup->is_quote = isset($backup->is_quote) && intval($backup->is_quote);
- $backup->account = $invoice->account->toArray();
-
- $versionsJson[$activity->id] = $backup;
- $key = Utils::timestampToDateTimeString(strtotime($activity->created_at)) . ' - ' . Utils::decodeActivity($activity->message);
- $versionsSelect[$lastId ? $lastId : 0] = $key;
- $lastId = $activity->id;
- }
-
- $versionsSelect[$lastId] = Utils::timestampToDateTimeString(strtotime($invoice->created_at)) . ' - ' . $invoice->user->getDisplayName();
-
- $data = [
- 'invoice' => $invoice,
- 'versionsJson' => json_encode($versionsJson),
- 'versionsSelect' => $versionsSelect,
- 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(),
- ];
-
- return View::make('invoices.history', $data);
- }
-}
diff --git a/app/controllers/PaymentApiController.php b/app/controllers/PaymentApiController.php
deleted file mode 100644
index 46db0d353d2b..000000000000
--- a/app/controllers/PaymentApiController.php
+++ /dev/null
@@ -1,36 +0,0 @@
-paymentRepo = $paymentRepo;
- }
-
- public function index()
- {
- $payments = Payment::scope()->orderBy('created_at', 'desc')->get();
- $payments = Utils::remapPublicIds($payments->toArray());
-
- $response = json_encode($payments, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders(count($payments));
-
- return Response::make($response, 200, $headers);
- }
-
- /*
- public function store()
- {
- $data = Input::all();
- $invoice = $this->invoiceRepo->save(false, $data, false);
-
- $response = json_encode($invoice, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders();
- return Response::make($response, 200, $headers);
- }
- */
-}
diff --git a/app/controllers/PaymentController.php b/app/controllers/PaymentController.php
deleted file mode 100755
index c0241a8979fe..000000000000
--- a/app/controllers/PaymentController.php
+++ /dev/null
@@ -1,748 +0,0 @@
-paymentRepo = $paymentRepo;
- $this->invoiceRepo = $invoiceRepo;
- $this->accountRepo = $accountRepo;
- $this->contactMailer = $contactMailer;
- }
-
- public function index()
- {
- return View::make('list', array(
- 'entityType' => ENTITY_PAYMENT,
- 'title' => trans('texts.payments'),
- 'columns' => Utils::trans(['checkbox', 'invoice', 'client', 'transaction_reference', 'method', 'payment_amount', 'payment_date', 'action']),
- ));
- }
-
- public function clientIndex()
- {
- $invitationKey = Session::get('invitation_key');
- if (!$invitationKey) {
- return Redirect::to('/setup');
- }
-
- $invitation = Invitation::with('account')->where('invitation_key', '=', $invitationKey)->first();
- $color = $invitation->account->primary_color ? $invitation->account->primary_color : '#0b4d78';
-
- $data = [
- 'color' => $color,
- 'hideLogo' => Session::get('white_label'),
- 'entityType' => ENTITY_PAYMENT,
- 'title' => trans('texts.payments'),
- 'columns' => Utils::trans(['invoice', 'transaction_reference', 'method', 'payment_amount', 'payment_date'])
- ];
-
- return View::make('public_list', $data);
- }
-
- public function getDatatable($clientPublicId = null)
- {
- $payments = $this->paymentRepo->find($clientPublicId, Input::get('sSearch'));
- $table = Datatable::query($payments);
-
- if (!$clientPublicId) {
- $table->addColumn('checkbox', function ($model) { return ' '; });
- }
-
- $table->addColumn('invoice_number', function ($model) { return $model->invoice_public_id ? link_to('invoices/'.$model->invoice_public_id.'/edit', $model->invoice_number, ['class' => Utils::getEntityRowClass($model)]) : ''; });
-
- if (!$clientPublicId) {
- $table->addColumn('client_name', function ($model) { return link_to('clients/'.$model->client_public_id, Utils::getClientDisplayName($model)); });
- }
-
- $table->addColumn('transaction_reference', function ($model) { return $model->transaction_reference ? $model->transaction_reference : 'Manual entry '; })
- ->addColumn('payment_type', function ($model) { return $model->payment_type ? $model->payment_type : ($model->account_gateway_id ? 'Online payment ' : ''); });
-
- return $table->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id); })
- ->addColumn('payment_date', function ($model) { return Utils::dateToString($model->payment_date); })
- ->addColumn('dropdown', function ($model) {
- if ($model->is_deleted || $model->invoice_is_deleted) {
- return '
';
- }
-
- $str = '
-
- '.trans('texts.select').'
-
-
-
';
- })
- ->make();
- }
-
- public function getClientDatatable()
- {
- $search = Input::get('sSearch');
- $invitationKey = Session::get('invitation_key');
- $invitation = Invitation::where('invitation_key', '=', $invitationKey)->with('contact.client')->first();
-
- if (!$invitation) {
- return [];
- }
-
- $invoice = $invitation->invoice;
-
- if (!$invoice || $invoice->is_deleted) {
- return [];
- }
-
- $payments = $this->paymentRepo->findForContact($invitation->contact->id, Input::get('sSearch'));
-
- return Datatable::query($payments)
- ->addColumn('invoice_number', function ($model) { return $model->invitation_key ? link_to('/view/'.$model->invitation_key, $model->invoice_number) : $model->invoice_number; })
- ->addColumn('transaction_reference', function ($model) { return $model->transaction_reference ? $model->transaction_reference : 'Manual entry '; })
- ->addColumn('payment_type', function ($model) { return $model->payment_type ? $model->payment_type : ($model->account_gateway_id ? 'Online payment ' : ''); })
- ->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id); })
- ->addColumn('payment_date', function ($model) { return Utils::dateToString($model->payment_date); })
- ->make();
- }
-
- public function create($clientPublicId = 0, $invoicePublicId = 0)
- {
- $data = array(
- 'clientPublicId' => Input::old('client') ? Input::old('client') : $clientPublicId,
- 'invoicePublicId' => Input::old('invoice') ? Input::old('invoice') : $invoicePublicId,
- 'invoice' => null,
- 'invoices' => Invoice::scope()->where('is_recurring', '=', false)->where('is_quote', '=', false)
- ->with('client', 'invoice_status')->orderBy('invoice_number')->get(),
- 'payment' => null,
- 'method' => 'POST',
- 'url' => "payments",
- 'title' => trans('texts.new_payment'),
- //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), );
-
- return View::make('payments.edit', $data);
- }
-
- public function edit($publicId)
- {
- $payment = Payment::scope($publicId)->firstOrFail();
- $payment->payment_date = Utils::fromSqlDate($payment->payment_date);
-
- $data = array(
- 'client' => null,
- 'invoice' => null,
- 'invoices' => Invoice::scope()->where('is_recurring', '=', false)->where('is_quote', '=', false)
- ->with('client', 'invoice_status')->orderBy('invoice_number')->get(),
- 'payment' => $payment,
- 'method' => 'PUT',
- 'url' => 'payments/'.$publicId,
- 'title' => trans('texts.edit_payment'),
- //'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), );
-
- return View::make('payments.edit', $data);
- }
-
- private function createGateway($accountGateway)
- {
- $gateway = Omnipay::create($accountGateway->gateway->provider);
- $config = json_decode($accountGateway->config);
-
- /*
- $gateway->setSolutionType("Sole");
- $gateway->setLandingPage("Billing");
- */
-
- foreach ($config as $key => $val) {
- if (!$val) {
- continue;
- }
-
- $function = "set".ucfirst($key);
- $gateway->$function($val);
- }
-
- if (Utils::isNinjaDev()) {
- $gateway->setTestMode(true);
- }
-
- return $gateway;
- }
-
- private function getLicensePaymentDetails($input, $affiliate)
- {
- $data = self::convertInputForOmnipay($input);
- $card = new CreditCard($data);
-
- return [
- 'amount' => $affiliate->price,
- 'card' => $card,
- 'currency' => 'USD',
- 'returnUrl' => URL::to('license_complete'),
- 'cancelUrl' => URL::to('/')
- ];
- }
-
- private function convertInputForOmnipay($input)
- {
- return [
- 'firstName' => $input['first_name'],
- 'lastName' => $input['last_name'],
- 'number' => $input['card_number'],
- 'expiryMonth' => $input['expiration_month'],
- 'expiryYear' => $input['expiration_year'],
- 'cvv' => $input['cvv'],
- 'billingAddress1' => $input['address1'],
- 'billingAddress2' => $input['address2'],
- 'billingCity' => $input['city'],
- 'billingState' => $input['state'],
- 'billingPostcode' => $input['postal_code'],
- 'shippingAddress1' => $input['address1'],
- 'shippingAddress2' => $input['address2'],
- 'shippingCity' => $input['city'],
- 'shippingState' => $input['state'],
- 'shippingPostcode' => $input['postal_code']
- ];
- }
-
- private function getPaymentDetails($invitation, $input = null)
- {
- $invoice = $invitation->invoice;
- $key = $invoice->invoice_number.'_details';
- $gateway = $invoice->client->account->getGatewayByType(Session::get('payment_type'))->gateway;
- $paymentLibrary = $gateway->paymentlibrary;
- $currencyCode = $invoice->client->currency ? $invoice->client->currency->code : ($invoice->account->currency ? $invoice->account->currency->code : 'USD');
-
- if ($input && $paymentLibrary->id == PAYMENT_LIBRARY_OMNIPAY) {
- $data = self::convertInputForOmnipay($input);
-
- Session::put($key, $data);
- } elseif ($input && $paymentLibrary->id == PAYMENT_LIBRARY_PHP_PAYMENTS) {
- $input = Input::all();
- $data = [
- 'first_name' => $input['first_name'],
- 'last_name' => $input['last_name'],
- 'cc_number' => $input['card_number'],
- 'cc_exp' => $input['expiration_month'].$input['expiration_year'],
- 'cc_code' => $input['cvv'],
- 'street' => $input['address1'],
- 'street2' => $input['address2'],
- 'city' => $input['city'],
- 'state' => $input['state'],
- 'postal_code' => $input['postal_code'],
- 'amt' => $invoice->balance,
- 'ship_to_street' => $input['address1'],
- 'ship_to_city' => $input['city'],
- 'ship_to_state' => $input['state'],
- 'ship_to_postal_code' => $input['postal_code'],
- 'currency_code' => $currencyCode,
- ];
-
- switch ($gateway->id) {
- case GATEWAY_BEANSTREAM:
- $data['phone'] = $input['phone'];
- $data['email'] = $input['email'];
- $data['country'] = $input['country'];
- $data['ship_to_country'] = $input['country'];
- break;
- case GATEWAY_BRAINTREE:
- $data['ship_to_state'] = 'Ohio'; //$input['state'];
- break;
- }
-
- if (strlen($data['cc_exp']) == 5) {
- $data['cc_exp'] = '0'.$data['cc_exp'];
- }
-
- Session::put($key, $data);
-
- return $data;
- } elseif (Session::get($key)) {
- $data = Session::get($key);
- } else {
- $data = [];
- }
-
- if ($paymentLibrary->id == PAYMENT_LIBRARY_OMNIPAY) {
- $card = new CreditCard($data);
-
- return [
- 'amount' => $invoice->balance,
- 'card' => $card,
- 'currency' => $currencyCode,
- 'returnUrl' => URL::to('complete'),
- 'cancelUrl' => $invitation->getLink(),
- 'description' => trans('texts.' . $invoice->getEntityType()) . " {$invoice->invoice_number}",
- ];
- } else {
- return $data;
- }
- }
-
- public function show_payment($invitationKey)
- {
- // Handle token billing
- if (Input::get('use_token') == 'true') {
- return self::do_payment($invitationKey, false, true);
- }
-
- if (Input::has('use_paypal')) {
- Session::put('payment_type', Input::get('use_paypal') == 'true' ? PAYMENT_TYPE_PAYPAL : PAYMENT_TYPE_CREDIT_CARD);
- } elseif (!Session::has('payment_type')) {
- Session::put('payment_type', PAYMENT_TYPE_ANY);
- }
-
- // For PayPal we redirect straight to their site
- $usePayPal = false;
- if ($usePayPal = Input::get('use_paypal')) {
- $usePayPal = $usePayPal == 'true';
- } else {
- $invitation = Invitation::with('invoice.client.account', 'invoice.client.account.account_gateways.gateway')->where('invitation_key', '=', $invitationKey)->firstOrFail();
- $account = $invitation->invoice->client->account;
- if (count($account->account_gateways) == 1 && $account->getGatewayByType(PAYMENT_TYPE_PAYPAL)) {
- $usePayPal = true;
- }
- }
- if ($usePayPal) {
- if (Session::has('error')) {
- Session::reflash();
- return Redirect::to('view/'.$invitationKey);
- } else {
- return self::do_payment($invitationKey, false);
- }
- }
-
- $invitation = Invitation::with('invoice.invoice_items', 'invoice.client.currency', 'invoice.client.account.account_gateways.gateway')->where('invitation_key', '=', $invitationKey)->firstOrFail();
- $invoice = $invitation->invoice;
- $client = $invoice->client;
- $accountGateway = $invoice->client->account->getGatewayByType(Session::get('payment_type'));
- $gateway = $invoice->client->account->getGatewayByType(Session::get('payment_type'))->gateway;
- $paymentLibrary = $gateway->paymentlibrary;
- $acceptedCreditCardTypes = $accountGateway->getCreditcardTypes();
-
- $data = [
- 'showBreadcrumbs' => false,
- 'url' => 'payment/'.$invitationKey,
- 'amount' => $invoice->balance,
- 'invoiceNumber' => $invoice->invoice_number,
- 'client' => $client,
- 'contact' => $invitation->contact,
- 'paymentLibrary' => $paymentLibrary,
- 'gateway' => $gateway,
- 'acceptedCreditCardTypes' => $acceptedCreditCardTypes,
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'currencyId' => $client->currency_id,
- 'account' => $client->account
- ];
-
- return View::make('payments.payment', $data);
- }
-
- public function show_license_payment()
- {
- if (Input::has('return_url')) {
- Session::set('return_url', Input::get('return_url'));
- }
-
- if (Input::has('affiliate_key')) {
- if ($affiliate = Affiliate::where('affiliate_key', '=', Input::get('affiliate_key'))->first()) {
- Session::set('affiliate_id', $affiliate->id);
- }
- }
-
- Session::set('product_id', Input::get('product_id', PRODUCT_ONE_CLICK_INSTALL));
-
- if (!Session::get('affiliate_id')) {
- return Utils::fatalError();
- }
-
- if (Utils::isNinjaDev() && Input::has('test_mode')) {
- Session::set('test_mode', Input::get('test_mode'));
- }
-
- $account = $this->accountRepo->getNinjaAccount();
- $account->load('account_gateways.gateway');
- $accountGateway = $account->getGatewayByType(Session::get('payment_type'));
- $gateway = $accountGateway->gateway;
- $paymentLibrary = $gateway->paymentlibrary;
- $acceptedCreditCardTypes = $accountGateway->getCreditcardTypes();
-
- $affiliate = Affiliate::find(Session::get('affiliate_id'));
-
- $data = [
- 'showBreadcrumbs' => false,
- 'hideHeader' => true,
- 'url' => 'license',
- 'amount' => $affiliate->price,
- 'client' => false,
- 'contact' => false,
- 'paymentLibrary' => $paymentLibrary,
- 'gateway' => $gateway,
- 'acceptedCreditCardTypes' => $acceptedCreditCardTypes,
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'currencyId' => 1,
- 'paymentTitle' => $affiliate->payment_title,
- 'paymentSubtitle' => $affiliate->payment_subtitle,
- ];
-
- return View::make('payments.payment', $data);
- }
-
- public function do_license_payment()
- {
- $testMode = Session::get('test_mode') === 'true';
-
- $rules = array(
- 'first_name' => 'required',
- 'last_name' => 'required',
- 'card_number' => 'required',
- 'expiration_month' => 'required',
- 'expiration_year' => 'required',
- 'cvv' => 'required',
- 'address1' => 'required',
- 'city' => 'required',
- 'state' => 'required',
- 'postal_code' => 'required',
- );
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to('license')
- ->withErrors($validator);
- }
-
- $account = $this->accountRepo->getNinjaAccount();
- $account->load('account_gateways.gateway');
- $accountGateway = $account->getGatewayByType(PAYMENT_TYPE_CREDIT_CARD);
-
- try {
- $affiliate = Affiliate::find(Session::get('affiliate_id'));
-
- if ($testMode) {
- $ref = 'TEST_MODE';
- } else {
- $gateway = self::createGateway($accountGateway);
- $details = self::getLicensePaymentDetails(Input::all(), $affiliate);
- $response = $gateway->purchase($details)->send();
- $ref = $response->getTransactionReference();
-
- if (!$ref) {
- Session::flash('error', $response->getMessage());
-
- return Redirect::to('license')->withInput();
- }
-
- if (!$response->isSuccessful()) {
- Session::flash('error', $response->getMessage());
- Utils::logError($response->getMessage());
-
- return Redirect::to('license')->withInput();
- }
- }
-
- $licenseKey = Utils::generateLicense();
-
- $license = new License();
- $license->first_name = Input::get('first_name');
- $license->last_name = Input::get('last_name');
- $license->email = Input::get('email');
- $license->transaction_reference = $ref;
- $license->license_key = $licenseKey;
- $license->affiliate_id = Session::get('affiliate_id');
- $license->product_id = Session::get('product_id');
- $license->save();
-
- $data = [
- 'message' => $affiliate->payment_subtitle,
- 'license' => $licenseKey,
- 'hideHeader' => true,
- ];
-
- $name = "{$license->first_name} {$license->last_name}";
- $this->contactMailer->sendLicensePaymentConfirmation($name, $license->email, $affiliate->price, $license->license_key, $license->product_id);
-
- if (Session::has('return_url')) {
- return Redirect::away(Session::get('return_url')."?license_key={$license->license_key}&product_id=".Session::get('product_id'));
- } else {
- return View::make('public.license', $data);
- }
- } catch (\Exception $e) {
- $errorMessage = trans('texts.payment_error');
- Session::flash('error', $errorMessage);
- Utils::logError(Utils::getErrorString($e));
-
- return Redirect::to('license')->withInput();
- }
- }
-
- public function claim_license()
- {
- $licenseKey = Input::get('license_key');
- $productId = Input::get('product_id', PRODUCT_ONE_CLICK_INSTALL);
-
- $license = License::where('license_key', '=', $licenseKey)
- ->where('is_claimed', '=', false)
- ->where('product_id', '=', $productId)
- ->first();
-
- if ($license) {
- if ($license->transaction_reference != 'TEST_MODE') {
- $license->is_claimed = true;
- $license->save();
- }
-
- return $productId == PRODUCT_INVOICE_DESIGNS ? $_ENV['INVOICE_DESIGNS'] : 'valid';
- } else {
- return 'invalid';
- }
- }
-
- public function do_payment($invitationKey, $onSite = true, $useToken = false)
- {
- $rules = array(
- 'first_name' => 'required',
- 'last_name' => 'required',
- 'card_number' => 'required',
- 'expiration_month' => 'required',
- 'expiration_year' => 'required',
- 'cvv' => 'required',
- 'address1' => 'required',
- 'city' => 'required',
- 'state' => 'required',
- 'postal_code' => 'required',
- );
-
- if ($onSite) {
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to('payment/'.$invitationKey)
- ->withErrors($validator);
- }
- }
-
- $invitation = Invitation::with('invoice.invoice_items', 'invoice.client.currency', 'invoice.client.account.account_gateways.gateway')->where('invitation_key', '=', $invitationKey)->firstOrFail();
- $invoice = $invitation->invoice;
- $client = $invoice->client;
- $account = $client->account;
- $accountGateway = $account->getGatewayByType(Session::get('payment_type'));
- $paymentLibrary = $accountGateway->gateway->paymentlibrary;
-
- if ($onSite) {
- $client->address1 = trim(Input::get('address1'));
- $client->address2 = trim(Input::get('address2'));
- $client->city = trim(Input::get('city'));
- $client->state = trim(Input::get('state'));
- $client->postal_code = trim(Input::get('postal_code'));
- $client->save();
- }
-
- try {
- if ($paymentLibrary->id == PAYMENT_LIBRARY_OMNIPAY) {
- $gateway = self::createGateway($accountGateway);
- $details = self::getPaymentDetails($invitation, $useToken || !$onSite ? false : Input::all());
-
- if ($accountGateway->gateway_id == GATEWAY_STRIPE) {
- if ($useToken) {
- $details['cardReference'] = $client->getGatewayToken();
- } elseif ($account->token_billing_type_id == TOKEN_BILLING_ALWAYS || Input::get('token_billing')) {
- $tokenResponse = $gateway->createCard($details)->send();
- $cardReference = $tokenResponse->getCardReference();
- $details['cardReference'] = $cardReference;
-
- $token = AccountGatewayToken::where('client_id', '=', $client->id)
- ->where('account_gateway_id', '=', $accountGateway->id)->first();
-
- if (!$token) {
- $token = new AccountGatewayToken();
- $token->account_id = $account->id;
- $token->contact_id = $invitation->contact_id;
- $token->account_gateway_id = $accountGateway->id;
- $token->client_id = $client->id;
- }
-
- $token->token = $cardReference;
- $token->save();
- }
- }
-
- $response = $gateway->purchase($details)->send();
- $ref = $response->getTransactionReference();
-
- if (!$ref) {
-
- Session::flash('error', $response->getMessage());
-
- if ($onSite) {
- return Redirect::to('payment/'.$invitationKey)->withInput();
- } else {
- return Redirect::to('view/'.$invitationKey);
- }
- }
-
- if ($response->isSuccessful()) {
- $payment = self::createPayment($invitation, $ref);
- Session::flash('message', trans('texts.applied_payment'));
-
- return Redirect::to('view/'.$payment->invitation->invitation_key);
- } elseif ($response->isRedirect()) {
- $invitation->transaction_reference = $ref;
- $invitation->save();
-
- Session::save();
- $response->redirect();
- } else {
- Session::flash('error', $response->getMessage());
-
- return Utils::fatalError('Sorry, there was an error processing your payment. Please try again later.', $response->getMessage());
- }
- }
- } catch (\Exception $e) {
- $errorMessage = trans('texts.payment_error');
- Session::flash('error', $errorMessage."
".$e->getMessage());
- Utils::logError(Utils::getErrorString($e));
-
- if ($onSite) {
- return Redirect::to('payment/'.$invitationKey)->withInput();
- } else {
- return Redirect::to('view/'.$invitationKey);
- }
- }
- }
-
- private function createPayment($invitation, $ref, $payerId = null)
- {
- $invoice = $invitation->invoice;
- $accountGateway = $invoice->client->account->getGatewayByType(Session::get('payment_type'));
-
- if ($invoice->account->account_key == NINJA_ACCOUNT_KEY) {
- $account = Account::find($invoice->client->public_id);
- $account->pro_plan_paid = date_create()->format('Y-m-d');
- $account->save();
- }
-
- $payment = Payment::createNew($invitation);
- $payment->invitation_id = $invitation->id;
- $payment->account_gateway_id = $accountGateway->id;
- $payment->invoice_id = $invoice->id;
- $payment->amount = $invoice->balance;
- $payment->client_id = $invoice->client_id;
- $payment->contact_id = $invitation->contact_id;
- $payment->transaction_reference = $ref;
- $payment->payment_date = date_create()->format('Y-m-d');
-
- if ($payerId) {
- $payment->payer_id = $payerId;
- }
-
- $payment->save();
-
- Event::fire('invoice.paid', $payment);
-
- return $payment;
- }
-
- public function offsite_payment()
- {
- $payerId = Request::query('PayerID');
- $token = Request::query('token');
-
- $invitation = Invitation::with('invoice.client.currency', 'invoice.client.account.account_gateways.gateway')->where('transaction_reference', '=', $token)->firstOrFail();
- $invoice = $invitation->invoice;
-
- $accountGateway = $invoice->client->account->getGatewayByType(Session::get('payment_type'));
- $gateway = self::createGateway($accountGateway);
-
- try {
- $details = self::getPaymentDetails($invitation);
- $response = $gateway->completePurchase($details)->send();
- $ref = $response->getTransactionReference();
-
- if ($response->isSuccessful()) {
- $payment = self::createPayment($invitation, $ref, $payerId);
-
- Session::flash('message', trans('texts.applied_payment'));
-
- return Redirect::to('view/'.$invitation->invitation_key);
- } else {
- $errorMessage = trans('texts.payment_error')."\n\n".$response->getMessage();
- Session::flash('error', $errorMessage);
- Utils::logError($errorMessage);
-
- return Redirect::to('view/'.$invitation->invitation_key);
- }
- } catch (\Exception $e) {
- $errorMessage = trans('texts.payment_error');
- Session::flash('error', $errorMessage);
- Utils::logError($errorMessage."\n\n".$e->getMessage());
-
- return Redirect::to('view/'.$invitation->invitation_key);
- }
- }
-
- public function store()
- {
- return $this->save();
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- private function save($publicId = null)
- {
- if (!$publicId && $errors = $this->paymentRepo->getErrors(Input::all())) {
- $url = $publicId ? 'payments/'.$publicId.'/edit' : 'payments/create';
-
- return Redirect::to($url)
- ->withErrors($errors)
- ->withInput();
- } else {
- $this->paymentRepo->save($publicId, Input::all());
-
- if ($publicId) {
- Session::flash('message', trans('texts.updated_payment'));
-
- return Redirect::to('payments/');
- } else {
- Session::flash('message', trans('texts.created_payment'));
-
- return Redirect::to('clients/'.Input::get('client'));
- }
- }
- }
-
- public function bulk()
- {
- $action = Input::get('action');
- $ids = Input::get('id') ? Input::get('id') : Input::get('ids');
- $count = $this->paymentRepo->bulk($ids, $action);
-
- if ($count > 0) {
- $message = Utils::pluralize($action.'d_payment', $count);
- Session::flash('message', $message);
- }
-
- return Redirect::to('payments');
- }
-}
diff --git a/app/controllers/ProductController.php b/app/controllers/ProductController.php
deleted file mode 100644
index 5be7ab1339fa..000000000000
--- a/app/controllers/ProductController.php
+++ /dev/null
@@ -1,96 +0,0 @@
-where('products.account_id', '=', Auth::user()->account_id)
- ->where('products.deleted_at', '=', null)
- ->select('products.public_id', 'products.product_key', 'products.notes', 'products.cost');
-
- return Datatable::query($query)
- ->addColumn('product_key', function ($model) { return link_to('products/'.$model->public_id.'/edit', $model->product_key); })
- ->addColumn('notes', function ($model) { return nl2br(Str::limit($model->notes, 100)); })
- ->addColumn('cost', function ($model) { return Utils::formatMoney($model->cost); })
- ->addColumn('dropdown', function ($model) {
- return '
-
- '.trans('texts.select').'
-
-
-
';
- })
- ->orderColumns(['cost', 'product_key', 'cost'])
- ->make();
- }
-
- public function edit($publicId)
- {
- $data = [
- 'showBreadcrumbs' => false,
- 'product' => Product::scope($publicId)->firstOrFail(),
- 'method' => 'PUT',
- 'url' => 'products/'.$publicId,
- 'title' => trans('texts.edit_product'),
- ];
-
- return View::make('accounts.product', $data);
- }
-
- public function create()
- {
- $data = [
- 'showBreadcrumbs' => false,
- 'product' => null,
- 'method' => 'POST',
- 'url' => 'products',
- 'title' => trans('texts.create_product'),
- ];
-
- return View::make('accounts.product', $data);
- }
-
- public function store()
- {
- return $this->save();
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- private function save($productPublicId = false)
- {
- if ($productPublicId) {
- $product = Product::scope($productPublicId)->firstOrFail();
- } else {
- $product = Product::createNew();
- }
-
- $product->product_key = trim(Input::get('product_key'));
- $product->notes = trim(Input::get('notes'));
- $product->cost = trim(Input::get('cost'));
- $product->save();
-
- $message = $productPublicId ? trans('texts.updated_product') : trans('texts.created_product');
- Session::flash('message', $message);
-
- return Redirect::to('company/products');
- }
-
- public function archive($publicId)
- {
- $product = Product::scope($publicId)->firstOrFail();
- $product->delete();
-
- Session::flash('message', trans('texts.archived_product'));
-
- return Redirect::to('company/products');
- }
-}
diff --git a/app/controllers/QuoteApiController.php b/app/controllers/QuoteApiController.php
deleted file mode 100644
index 713f92997cb6..000000000000
--- a/app/controllers/QuoteApiController.php
+++ /dev/null
@@ -1,36 +0,0 @@
-invoiceRepo = $invoiceRepo;
- }
-
- public function index()
- {
- $invoices = Invoice::scope()->where('invoices.is_quote', '=', true)->orderBy('created_at', 'desc')->get();
- $invoices = Utils::remapPublicIds($invoices->toArray());
-
- $response = json_encode($invoices, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders(count($invoices));
-
- return Response::make($response, 200, $headers);
- }
-
- /*
- public function store()
- {
- $data = Input::all();
- $invoice = $this->invoiceRepo->save(false, $data, false);
-
- $response = json_encode($invoice, JSON_PRETTY_PRINT);
- $headers = Utils::getApiHeaders();
- return Response::make($response, 200, $headers);
- }
- */
-}
diff --git a/app/controllers/QuoteController.php b/app/controllers/QuoteController.php
deleted file mode 100644
index 199d6b1130a9..000000000000
--- a/app/controllers/QuoteController.php
+++ /dev/null
@@ -1,187 +0,0 @@
-mailer = $mailer;
- $this->invoiceRepo = $invoiceRepo;
- $this->clientRepo = $clientRepo;
- $this->taxRateRepo = $taxRateRepo;
- }
-
- public function index()
- {
- if (!Utils::isPro()) {
- return Redirect::to('/invoices/create');
- }
-
- $data = [
- 'title' => trans('texts.quotes'),
- 'entityType' => ENTITY_QUOTE,
- 'columns' => Utils::trans(['checkbox', 'quote_number', 'client', 'quote_date', 'quote_total', 'due_date', 'status', 'action']),
- ];
-
- /*
- if (Invoice::scope()->where('is_recurring', '=', true)->count() > 0)
- {
- $data['secEntityType'] = ENTITY_RECURRING_INVOICE;
- $data['secColumns'] = Utils::trans(['checkbox', 'frequency', 'client', 'start_date', 'end_date', 'quote_total', 'action']);
- }
- */
-
- return View::make('list', $data);
- }
-
- public function clientIndex()
- {
- $invitationKey = Session::get('invitation_key');
- if (!$invitationKey) {
- return Redirect::to('/setup');
- }
-
- $invitation = Invitation::with('account')->where('invitation_key', '=', $invitationKey)->first();
- $color = $invitation->account->primary_color ? $invitation->account->primary_color : '#0b4d78';
-
- $data = [
- 'color' => $color,
- 'hideLogo' => Session::get('white_label'),
- 'title' => trans('texts.quotes'),
- 'entityType' => ENTITY_QUOTE,
- 'columns' => Utils::trans(['quote_number', 'quote_date', 'quote_total', 'due_date']),
- ];
-
- return View::make('public_list', $data);
- }
-
- public function getDatatable($clientPublicId = null)
- {
- $accountId = Auth::user()->account_id;
- $search = Input::get('sSearch');
-
- return $this->invoiceRepo->getDatatable($accountId, $clientPublicId, ENTITY_QUOTE, $search);
- }
-
- public function getClientDatatable()
- {
- $search = Input::get('sSearch');
- $invitationKey = Session::get('invitation_key');
- $invitation = Invitation::where('invitation_key', '=', $invitationKey)->first();
-
- if (!$invitation || $invitation->is_deleted) {
- return [];
- }
-
- $invoice = $invitation->invoice;
-
- if (!$invoice || $invoice->is_deleted) {
- return [];
- }
-
- return $this->invoiceRepo->getClientDatatable($invitation->contact_id, ENTITY_QUOTE, $search);
- }
-
- public function create($clientPublicId = 0)
- {
- if (!Utils::isPro()) {
- return Redirect::to('/invoices/create');
- }
-
- $client = null;
- $invoiceNumber = Auth::user()->account->getNextInvoiceNumber(true);
- $account = Account::with('country')->findOrFail(Auth::user()->account_id);
-
- if ($clientPublicId) {
- $client = Client::scope($clientPublicId)->firstOrFail();
- }
-
- $data = array(
- 'account' => $account,
- 'invoice' => null,
- 'data' => Input::old('data'),
- 'invoiceNumber' => $invoiceNumber,
- 'method' => 'POST',
- 'url' => 'invoices',
- 'title' => trans('texts.new_quote'),
- 'client' => $client, );
- $data = array_merge($data, self::getViewModel());
-
- return View::make('invoices.edit', $data);
- }
-
- private static function getViewModel()
- {
- return [
- 'entityType' => ENTITY_QUOTE,
- 'account' => Auth::user()->account,
- 'products' => Product::scope()->orderBy('id')->get(array('product_key', 'notes', 'cost', 'qty')),
- 'countries' => Country::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'clients' => Client::scope()->with('contacts', 'country')->orderBy('name')->get(),
- 'taxRates' => TaxRate::scope()->orderBy('name')->get(),
- 'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'sizes' => Size::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
- 'paymentTerms' => PaymentTerm::remember(DEFAULT_QUERY_CACHE)->orderBy('num_days')->get(['name', 'num_days']),
- 'industries' => Industry::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
- 'invoiceDesigns' => InvoiceDesign::remember(DEFAULT_QUERY_CACHE, 'invoice_designs_cache_'.Auth::user()->maxInvoiceDesignId())
- ->where('id', '<=', Auth::user()->maxInvoiceDesignId())->orderBy('id')->get(),
- 'invoiceLabels' => Auth::user()->account->getInvoiceLabels()
- ];
- }
-
- public function bulk()
- {
- $action = Input::get('action');
-
- if ($action == 'convert') {
- $invoice = Invoice::with('invoice_items')->scope(Input::get('id'))->firstOrFail();
- $clone = $this->invoiceRepo->cloneInvoice($invoice, $invoice->id);
-
- Session::flash('message', trans('texts.converted_to_invoice'));
- return Redirect::to('invoices/'.$clone->public_id);
- }
-
- $statusId = Input::get('statusId');
- $ids = Input::get('id') ? Input::get('id') : Input::get('ids');
- $count = $this->invoiceRepo->bulk($ids, $action, $statusId);
-
- if ($count > 0) {
- $key = $action == 'mark' ? "updated_quote" : "{$action}d_quote";
- $message = Utils::pluralize($key, $count);
- Session::flash('message', $message);
- }
-
- return Redirect::to('quotes');
- }
-
- public function approve($invitationKey)
- {
- $invitation = Invitation::with('invoice.invoice_items', 'invoice.invitations')->where('invitation_key', '=', $invitationKey)->firstOrFail();
- $invoice = $invitation->invoice;
-
- if ($invoice->is_quote && !$invoice->quote_invoice_id) {
- Activity::approveQuote($invitation);
- $invoice = $this->invoiceRepo->cloneInvoice($invoice, $invoice->id);
- Session::flash('message', trans('texts.converted_to_invoice'));
-
- foreach ($invoice->invitations as $invitationClone) {
- if ($invitation->contact_id == $invitationClone->contact_id) {
- $invitationKey = $invitationClone->invitation_key;
- }
- }
- }
-
- return Redirect::to("view/{$invitationKey}");
- }
-}
diff --git a/app/controllers/ReportController.php b/app/controllers/ReportController.php
deleted file mode 100755
index 9000b8165444..000000000000
--- a/app/controllers/ReportController.php
+++ /dev/null
@@ -1,127 +0,0 @@
-account->isPro()) {
- $account = Account::where('id', '=', Auth::user()->account->id)->with(['clients.invoices.invoice_items', 'clients.contacts'])->first();
- $account = $account->hideFieldsForViz();
- $clients = $account->clients->toJson();
- } elseif (isset($_ENV['DATA_VIZ_SAMPLE'])) {
- $clients = $_ENV['DATA_VIZ_SAMPLE'];
- $message = trans('texts.sample_data');
- } else {
- $clients = '[]';
- }
-
- $data = [
- 'feature' => ACCOUNT_DATA_VISUALIZATIONS,
- 'clients' => $clients,
- 'message' => $message,
- ];
-
- return View::make('reports.d3', $data);
- }
-
- public function report()
- {
- if (Input::all()) {
- $groupBy = Input::get('group_by');
- $chartType = Input::get('chart_type');
- $startDate = Utils::toSqlDate(Input::get('start_date'), false);
- $endDate = Utils::toSqlDate(Input::get('end_date'), false);
- } else {
- $groupBy = 'MONTH';
- $chartType = 'Bar';
- $startDate = Utils::today(false)->modify('-3 month');
- $endDate = Utils::today(false);
- }
-
- $padding = $groupBy == 'DAYOFYEAR' ? 'day' : ($groupBy == 'WEEK' ? 'week' : 'month');
- $endDate->modify('+1 '.$padding);
- $datasets = [];
- $labels = [];
- $maxTotals = 0;
- $width = 10;
-
- if (Auth::user()->account->isPro()) {
- foreach ([ENTITY_INVOICE, ENTITY_PAYMENT, ENTITY_CREDIT] as $entityType) {
- $records = DB::table($entityType.'s')
- ->select(DB::raw('sum(amount) as total, '.$groupBy.'('.$entityType.'_date) as '.$groupBy))
- ->where('account_id', '=', Auth::user()->account_id)
- ->where($entityType.'s.is_deleted', '=', false)
- ->where($entityType.'s.'.$entityType.'_date', '>=', $startDate->format('Y-m-d'))
- ->where($entityType.'s.'.$entityType.'_date', '<=', $endDate->format('Y-m-d'))
- ->groupBy($groupBy);
-
- if ($entityType == ENTITY_INVOICE) {
- $records->where('is_quote', '=', false)
- ->where('is_recurring', '=', false);
- }
-
- $totals = $records->lists('total');
- $dates = $records->lists($groupBy);
- $data = array_combine($dates, $totals);
-
- $interval = new DateInterval('P1'.substr($groupBy, 0, 1));
- $period = new DatePeriod($startDate, $interval, $endDate);
-
- $totals = [];
-
- foreach ($period as $d) {
- $dateFormat = $groupBy == 'DAYOFYEAR' ? 'z' : ($groupBy == 'WEEK' ? 'W' : 'n');
- $date = $d->format($dateFormat);
- $totals[] = isset($data[$date]) ? $data[$date] : 0;
-
- if ($entityType == ENTITY_INVOICE) {
- $labelFormat = $groupBy == 'DAYOFYEAR' ? 'j' : ($groupBy == 'WEEK' ? 'W' : 'F');
- $label = $d->format($labelFormat);
- $labels[] = $label;
- }
- }
-
- $max = max($totals);
-
- if ($max > 0) {
- $datasets[] = [
- 'totals' => $totals,
- 'colors' => $entityType == ENTITY_INVOICE ? '78,205,196' : ($entityType == ENTITY_CREDIT ? '199,244,100' : '255,107,107'),
- ];
- $maxTotals = max($max, $maxTotals);
- }
- }
-
- $width = (ceil($maxTotals / 100) * 100) / 10;
- $width = max($width, 10);
- }
-
- $dateTypes = [
- 'DAYOFYEAR' => 'Daily',
- 'WEEK' => 'Weekly',
- 'MONTH' => 'Monthly',
- ];
-
- $chartTypes = [
- 'Bar' => 'Bar',
- 'Line' => 'Line',
- ];
-
- $params = [
- 'labels' => $labels,
- 'datasets' => $datasets,
- 'scaleStepWidth' => $width,
- 'dateTypes' => $dateTypes,
- 'chartTypes' => $chartTypes,
- 'chartType' => $chartType,
- 'startDate' => $startDate->format(Session::get(SESSION_DATE_FORMAT)),
- 'endDate' => $endDate->modify('-1'.$padding)->format(Session::get(SESSION_DATE_FORMAT)),
- 'groupBy' => $groupBy,
- 'feature' => ACCOUNT_CHART_BUILDER,
- ];
-
- return View::make('reports.report_builder', $params);
- }
-}
diff --git a/app/controllers/TimesheetController.php b/app/controllers/TimesheetController.php
deleted file mode 100644
index afc6982a5d5e..000000000000
--- a/app/controllers/TimesheetController.php
+++ /dev/null
@@ -1,93 +0,0 @@
- false,
- 'timesheet' => [
- 'timesheet_number' => 1
- ]
- ];
-
- return View::make('timesheets.edit', $data);
- }
-
-
- /**
- * Show the form for creating a new resource.
- *
- * @return Response
- */
- public function create()
- {
- //
- }
-
-
- /**
- * Store a newly created resource in storage.
- *
- * @return Response
- */
- public function store()
- {
- //
- }
-
-
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function show($id)
- {
- //
- }
-
-
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function edit($id)
- {
- //
- }
-
-
- /**
- * Update the specified resource in storage.
- *
- * @param int $id
- * @return Response
- */
- public function update($id)
- {
- //
- }
-
-
- /**
- * Remove the specified resource from storage.
- *
- * @param int $id
- * @return Response
- */
- public function destroy($id)
- {
- //
- }
-
-
-}
diff --git a/app/controllers/TokenController.php b/app/controllers/TokenController.php
deleted file mode 100755
index ba7924d49479..000000000000
--- a/app/controllers/TokenController.php
+++ /dev/null
@@ -1,161 +0,0 @@
-where('account_tokens.account_id', '=', Auth::user()->account_id);
-
- if (!Session::get('show_trash:token')) {
- $query->where('account_tokens.deleted_at', '=', null);
- }
-
- $query->select('account_tokens.public_id', 'account_tokens.name', 'account_tokens.token', 'account_tokens.public_id', 'account_tokens.deleted_at');
-
- return Datatable::query($query)
- ->addColumn('name', function ($model) { return link_to('tokens/'.$model->public_id.'/edit', $model->name); })
- ->addColumn('token', function ($model) { return $model->token; })
- ->addColumn('dropdown', function ($model) {
- $actions = '
-
- '.trans('texts.select').'
-
-
-
';
-
- return $actions;
- })
- ->orderColumns(['name', 'token'])
- ->make();
- }
-
- public function edit($publicId)
- {
- $token = AccountToken::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $publicId)->firstOrFail();
-
- $data = [
- 'showBreadcrumbs' => false,
- 'token' => $token,
- 'method' => 'PUT',
- 'url' => 'tokens/'.$publicId,
- 'title' => trans('texts.edit_token'),
- ];
-
- return View::make('accounts.token', $data);
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- public function store()
- {
- return $this->save();
- }
-
- /**
- * Displays the form for account creation
- *
- */
- public function create()
- {
- if (!Auth::user()->confirmed) {
- Session::flash('error', trans('texts.register_to_add_user'));
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- $data = [
- 'showBreadcrumbs' => false,
- 'token' => null,
- 'method' => 'POST',
- 'url' => 'tokens',
- 'title' => trans('texts.add_token'),
- ];
-
- return View::make('accounts.token', $data);
- }
-
- public function delete()
- {
- $tokenPublicId = Input::get('tokenPublicId');
- $token = AccountToken::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $tokenPublicId)->firstOrFail();
-
- $token->delete();
-
- Session::flash('message', trans('texts.deleted_token'));
-
- return Redirect::to('company/advanced_settings/token_management');
- }
-
- /**
- * Stores new account
- *
- */
- public function save($tokenPublicId = false)
- {
- if (Auth::user()->account->isPro()) {
- $rules = [
- 'name' => 'required',
- ];
-
- if ($tokenPublicId) {
- $token = AccountToken::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $tokenPublicId)->firstOrFail();
- }
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to($tokenPublicId ? 'tokens/edit' : 'tokens/create')->withInput()->withErrors($validator);
- }
-
- if ($tokenPublicId) {
- $token->name = trim(Input::get('name'));
- } else {
- $lastToken = AccountToken::withTrashed()->where('account_id', '=', Auth::user()->account_id)
- ->orderBy('public_id', 'DESC')->first();
-
- $token = AccountToken::createNew();
- $token->name = trim(Input::get('name'));
- $token->token = str_random(RANDOM_KEY_LENGTH);
- $token->public_id = $lastToken ? $lastToken->public_id + 1 : 1;
- }
-
- $token->save();
-
- if ($tokenPublicId) {
- $message = trans('texts.updated_token');
- } else {
- $message = trans('texts.created_token');
- }
-
- Session::flash('message', $message);
- }
-
- return Redirect::to('company/advanced_settings/token_management');
- }
-
-}
diff --git a/app/controllers/UserController.php b/app/controllers/UserController.php
deleted file mode 100755
index 85fff4f86da3..000000000000
--- a/app/controllers/UserController.php
+++ /dev/null
@@ -1,507 +0,0 @@
-accountRepo = $accountRepo;
- $this->contactMailer = $contactMailer;
- $this->userMailer = $userMailer;
- }
-
- public function getDatatable()
- {
- $query = DB::table('users')
- ->where('users.account_id', '=', Auth::user()->account_id);
-
- if (!Session::get('show_trash:user')) {
- $query->where('users.deleted_at', '=', null);
- }
-
- $query->where('users.public_id', '>', 0)
- ->select('users.public_id', 'users.first_name', 'users.last_name', 'users.email', 'users.confirmed', 'users.public_id', 'users.deleted_at');
-
- return Datatable::query($query)
- ->addColumn('first_name', function ($model) { return link_to('users/'.$model->public_id.'/edit', $model->first_name.' '.$model->last_name); })
- ->addColumn('email', function ($model) { return $model->email; })
- ->addColumn('confirmed', function ($model) { return $model->deleted_at ? trans('texts.deleted') : ($model->confirmed ? trans('texts.active') : trans('texts.pending')); })
- ->addColumn('dropdown', function ($model) {
- $actions = '
-
- '.trans('texts.select').'
-
-
-
';
-
- return $actions;
- })
- ->orderColumns(['first_name', 'email', 'confirmed'])
- ->make();
- }
-
- public function setTheme()
- {
- $user = User::find(Auth::user()->id);
- $user->theme_id = Input::get('theme_id');
- $user->save();
-
- return Redirect::to(Input::get('path'));
- }
-
- public function forcePDFJS()
- {
- $user = Auth::user();
- $user->force_pdfjs = true;
- $user->save();
-
- Session::flash('message', trans('texts.confide.updated_settings'));
-
- return Redirect::to('/dashboard');
- }
-
- public function edit($publicId)
- {
- $user = User::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $publicId)->firstOrFail();
-
- $data = [
- 'showBreadcrumbs' => false,
- 'user' => $user,
- 'method' => 'PUT',
- 'url' => 'users/'.$publicId,
- 'title' => trans('texts.edit_user'),
- ];
-
- return View::make('users.edit', $data);
- }
-
- public function update($publicId)
- {
- return $this->save($publicId);
- }
-
- public function store()
- {
- return $this->save();
- }
-
- /**
- * Displays the form for account creation
- *
- */
- public function create()
- {
- if (!Auth::user()->confirmed) {
- Session::flash('error', trans('texts.register_to_add_user'));
-
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- if (Utils::isNinja()) {
- $count = User::where('account_id', '=', Auth::user()->account_id)->count();
- if ($count >= MAX_NUM_USERS) {
- Session::flash('error', trans('texts.limit_users'));
-
- return Redirect::to('company/advanced_settings/user_management');
- }
- }
-
- $data = [
- 'showBreadcrumbs' => false,
- 'user' => null,
- 'method' => 'POST',
- 'url' => 'users',
- 'title' => trans('texts.add_user'),
- ];
-
- return View::make('users.edit', $data);
- }
-
- public function delete()
- {
- $userPublicId = Input::get('userPublicId');
- $user = User::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $userPublicId)->firstOrFail();
-
- $user->delete();
-
- Session::flash('message', trans('texts.deleted_user'));
-
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- public function restoreUser($userPublicId)
- {
- $user = User::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $userPublicId)
- ->withTrashed()->firstOrFail();
-
- $user->restore();
-
- Session::flash('message', trans('texts.restored_user'));
-
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- /**
- * Stores new account
- *
- */
- public function save($userPublicId = false)
- {
- if (Auth::user()->account->isPro()) {
- $rules = [
- 'first_name' => 'required',
- 'last_name' => 'required',
- ];
-
- if ($userPublicId) {
- $user = User::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $userPublicId)->firstOrFail();
-
- $rules['email'] = 'required|email|unique:users,email,'.$user->id.',id';
- } else {
- $rules['email'] = 'required|email|unique:users';
- }
-
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to($userPublicId ? 'users/edit' : 'users/create')->withInput()->withErrors($validator);
- }
-
- if ($userPublicId) {
- $user->first_name = trim(Input::get('first_name'));
- $user->last_name = trim(Input::get('last_name'));
- $user->username = trim(Input::get('email'));
- $user->email = trim(Input::get('email'));
- } else {
- $lastUser = User::withTrashed()->where('account_id', '=', Auth::user()->account_id)
- ->orderBy('public_id', 'DESC')->first();
-
- $user = new User();
- $user->account_id = Auth::user()->account_id;
- $user->first_name = trim(Input::get('first_name'));
- $user->last_name = trim(Input::get('last_name'));
- $user->username = trim(Input::get('email'));
- $user->email = trim(Input::get('email'));
- $user->registered = true;
- $user->password = str_random(RANDOM_KEY_LENGTH);
- $user->password_confirmation = $user->password;
- $user->public_id = $lastUser->public_id + 1;
- }
-
- $user->save();
-
- if (!$user->confirmed) {
- $this->userMailer->sendConfirmation($user, Auth::user());
- $message = trans('texts.sent_invite');
- } else {
- $message = trans('texts.updated_user');
- }
-
- Session::flash('message', $message);
- }
-
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- public function sendConfirmation($userPublicId)
- {
- $user = User::where('account_id', '=', Auth::user()->account_id)
- ->where('public_id', '=', $userPublicId)->firstOrFail();
-
- $this->userMailer->sendConfirmation($user, Auth::user());
- Session::flash('message', trans('texts.sent_invite'));
-
- return Redirect::to('company/advanced_settings/user_management');
- }
-
- /**
- * Displays the login form
- *
- */
- public function login()
- {
- if (Confide::user()) {
- Event::fire('user.login');
- Session::reflash();
-
- return Redirect::to('/dashboard');
-
- /*
- $invoice = Invoice::scope()->orderBy('id', 'desc')->first();
-
- if ($invoice)
- {
- return Redirect::to('/invoices/' . $invoice->public_id);
- }
- else
- {
- return Redirect::to('/dashboard');
- }
- */
- } else {
- return View::make(Config::get('confide::login_form'));
- }
- }
-
- /**
- * Attempt to do login
- *
- */
- public function do_login()
- {
- $input = array(
- 'email' => Input::get('login_email'), // May be the username too
- 'username' => Input::get('login_email'), // so we have to pass both
- 'password' => Input::get('login_password'),
- 'remember' => true,
- );
-
- // If you wish to only allow login from confirmed users, call logAttempt
- // with the second parameter as true.
- // logAttempt will check if the 'email' perhaps is the username.
- // Get the value from the config file instead of changing the controller
- if (Input::get('login_email') && Confide::logAttempt($input, false)) {
- Event::fire('user.login');
- // Redirect the user to the URL they were trying to access before
- // caught by the authentication filter IE Redirect::guest('user/login').
- // Otherwise fallback to '/'
- // Fix pull #145
- return Redirect::intended('/dashboard'); // change it to '/admin', '/dashboard' or something
- } else {
- //$user = new User;
-
- // Check if there was too many login attempts
- if (Confide::isThrottled($input)) {
- $err_msg = trans('texts.confide.too_many_attempts');
- }
- /*
- elseif( $user->checkUserExists( $input ) and ! $user->isConfirmed( $input ) )
- {
- $err_msg = Lang::get('confide::confide.alerts.not_confirmed');
- }
- */
- else {
- $err_msg = trans('texts.confide.wrong_credentials');
- }
-
- return Redirect::action('UserController@login')
- ->withInput(Input::except('login_password'))
- ->with('error', $err_msg);
- }
- }
-
- /**
- * Attempt to confirm account with code
- *
- * @param string $code
- */
- public function confirm($code)
- {
- if (Confide::confirm($code)) {
- $notice_msg = trans('texts.confide.confirmation');
-
- $user = User::where('confirmation_code', '=', $code)->get()->first();
- $user->confirmation_code = '';
- $user->save();
-
- if ($user->public_id) {
- Auth::login($user);
-
- return Redirect::to('user/reset');
- } else {
- if (Session::has(REQUESTED_PRO_PLAN)) {
- Session::forget(REQUESTED_PRO_PLAN);
- $invitation = $this->accountRepo->enableProPlan();
-
- return Redirect::to($invitation->getLink());
- } else {
- return Redirect::action('UserController@login')->with('message', $notice_msg);
- }
- }
- } else {
- $error_msg = trans('texts.confide.wrong_confirmation');
-
- return Redirect::action('UserController@login')->with('error', $error_msg);
- }
- }
-
- /**
- * Displays the forgot password form
- *
- */
- public function forgot_password()
- {
- return View::make(Config::get('confide::forgot_password_form'));
- }
-
- /**
- * Attempt to send change password link to the given email
- *
- */
- public function do_forgot_password()
- {
- Confide::forgotPassword(Input::get('email'));
-
- $notice_msg = trans('texts.confide.password_forgot');
-
- return Redirect::action('UserController@login')
- ->with('notice', $notice_msg);
-
- /*
- if( Confide::forgotPassword( Input::get( 'email' ) ) )
- {
- $notice_msg = Lang::get('confide::confide.alerts.password_forgot');
- return Redirect::action('UserController@login')
- ->with( 'notice', $notice_msg );
- }
- else
- {
- $error_msg = Lang::get('confide::confide.alerts.wrong_password_forgot');
- return Redirect::action('UserController@forgot_password')
- ->withInput()
- ->with( 'error', $error_msg );
- }
- */
- }
-
- /**
- * Shows the change password form with the given token
- *
- */
- public function reset_password($token = false)
- {
- return View::make(Config::get('confide::reset_password_form'))
- ->with('token', $token);
- }
-
- /**
- * Attempt change password of the user
- *
- */
- public function do_reset_password()
- {
- if (Auth::check()) {
- $rules = [
- 'password' => 'required|between:4,11|confirmed',
- 'password_confirmation' => 'between:4,11',
- ];
- $validator = Validator::make(Input::all(), $rules);
-
- if ($validator->fails()) {
- return Redirect::to('user/reset')->withInput()->withErrors($validator);
- }
-
- $user = Auth::user();
- $user->password = Input::get('password');
- $user->save();
-
- Session::flash('message', trans('texts.confide.password_reset'));
-
- return Redirect::to('/dashboard');
- } else {
- $input = array(
- 'token' => Input::get('token'),
- 'password' => Input::get('password'),
- 'password_confirmation' => Input::get('password_confirmation'),
- );
-
- // By passing an array with the token, password and confirmation
- if (Confide::resetPassword($input)) {
- $notice_msg = trans('texts.confide.password_reset');
-
- return Redirect::action('UserController@login')
- ->with('notice', $notice_msg);
- } else {
- $error_msg = trans('texts.confide.wrong_password_reset');
-
- return Redirect::action('UserController@reset_password', array('token' => $input['token']))
- ->withInput()
- ->with('error', $error_msg);
- }
- }
- }
-
- /**
- * Log the user out of the application.
- *
- */
- public function logout()
- {
- if (Auth::check()) {
- if (!Auth::user()->registered) {
- $account = Auth::user()->account;
- $account->forceDelete();
- }
- }
-
- Session::forget('news_feed_id');
- Session::forget('news_feed_message');
-
- Confide::logout();
-
- return Redirect::to('/')->with('clearGuestKey', true);
- }
-
- public function changePassword()
- {
- // check the current password is correct
- if (!Auth::validate([
- 'email' => Auth::user()->email,
- 'password' => Input::get('current_password')
- ])) {
- return trans('texts.password_error_incorrect');
- }
-
- // validate the new password
- $password = Input::get('new_password');
- $confirm = Input::get('confirm_password');
-
- if (strlen($password) < 6 || $password != $confirm) {
- return trans('texts.password_error_invalid');
- }
-
- // save the new password
- $user = Auth::user();
- $user->password = $password;
- $user->save();
-
- return RESULT_SUCCESS;
- }
-}
diff --git a/app/database/migrations/.gitkeep b/app/database/migrations/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/database/migrations/2013_11_05_180133_confide_setup_users_table.php b/app/database/migrations/2013_11_05_180133_confide_setup_users_table.php
deleted file mode 100755
index cb2594770923..000000000000
--- a/app/database/migrations/2013_11_05_180133_confide_setup_users_table.php
+++ /dev/null
@@ -1,550 +0,0 @@
-increments('id');
- $table->string('capital', 255)->nullable();
- $table->string('citizenship', 255)->nullable();
- $table->string('country_code', 3)->default('');
- $table->string('currency', 255)->nullable();
- $table->string('currency_code', 255)->nullable();
- $table->string('currency_sub_unit', 255)->nullable();
- $table->string('full_name', 255)->nullable();
- $table->string('iso_3166_2', 2)->default('');
- $table->string('iso_3166_3', 3)->default('');
- $table->string('name', 255)->default('');
- $table->string('region_code', 3)->default('');
- $table->string('sub_region_code', 3)->default('');
- $table->boolean('eea')->default(0);
- });
-
- Schema::create('themes', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('payment_types', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('payment_terms', function($t)
- {
- $t->increments('id');
- $t->integer('num_days');
- $t->string('name');
- });
-
- Schema::create('timezones', function($t)
- {
- $t->increments('id');
- $t->string('name');
- $t->string('location');
- });
-
- Schema::create('date_formats', function($t)
- {
- $t->increments('id');
- $t->string('format');
- $t->string('picker_format');
- $t->string('label');
- });
-
- Schema::create('datetime_formats', function($t)
- {
- $t->increments('id');
- $t->string('format');
- $t->string('label');
- });
-
- Schema::create('currencies', function($t)
- {
- $t->increments('id');
-
- $t->string('name');
- $t->string('symbol');
- $t->string('precision');
- $t->string('thousand_separator');
- $t->string('decimal_separator');
- $t->string('code');
- });
-
- Schema::create('sizes', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('industries', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('accounts', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('timezone_id')->nullable();
- $t->unsignedInteger('date_format_id')->nullable();
- $t->unsignedInteger('datetime_format_id')->nullable();
- $t->unsignedInteger('currency_id')->nullable();
-
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('name')->nullable();
- $t->string('ip');
- $t->string('account_key')->unique();
- $t->timestamp('last_login')->nullable();
-
- $t->string('address1')->nullable();
- $t->string('address2')->nullable();
- $t->string('city')->nullable();
- $t->string('state')->nullable();
- $t->string('postal_code')->nullable();
- $t->unsignedInteger('country_id')->nullable();
- $t->text('invoice_terms')->nullable();
- $t->text('email_footer')->nullable();
- $t->unsignedInteger('industry_id')->nullable();
- $t->unsignedInteger('size_id')->nullable();
-
- $t->boolean('invoice_taxes')->default(true);
- $t->boolean('invoice_item_taxes')->default(false);
-
- $t->foreign('timezone_id')->references('id')->on('timezones');
- $t->foreign('date_format_id')->references('id')->on('date_formats');
- $t->foreign('datetime_format_id')->references('id')->on('datetime_formats');
- $t->foreign('country_id')->references('id')->on('countries');
- $t->foreign('currency_id')->references('id')->on('currencies');
- $t->foreign('industry_id')->references('id')->on('industries');
- $t->foreign('size_id')->references('id')->on('sizes');
- });
-
- Schema::create('gateways', function($t)
- {
- $t->increments('id');
- $t->timestamps();
-
- $t->string('name');
- $t->string('provider');
- $t->boolean('visible')->default(true);
- });
-
- Schema::create('users', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id')->index();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('first_name')->nullable();
- $t->string('last_name')->nullable();
- $t->string('phone')->nullable();
- $t->string('username')->unique();
- $t->string('email')->nullable();
- $t->string('password');
- $t->string('confirmation_code');
- $t->boolean('registered')->default(false);
- $t->boolean('confirmed')->default(false);
- $t->integer('theme_id')->nullable();
-
- $t->boolean('notify_sent')->default(true);
- $t->boolean('notify_viewed')->default(false);
- $t->boolean('notify_paid')->default(true);
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
-
- $t->unsignedInteger('public_id')->nullable();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('account_gateways', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('gateway_id');
- $t->timestamps();
- $t->softDeletes();
-
- $t->text('config');
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('gateway_id')->references('id')->on('gateways');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- });
-
-
- Schema::create('password_reminders', function($t)
- {
- $t->string('email');
- $t->timestamps();
-
- $t->string('token');
- });
-
- Schema::create('clients', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('currency_id')->nullable();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('name')->nullable();
- $t->string('address1')->nullable();
- $t->string('address2')->nullable();
- $t->string('city')->nullable();
- $t->string('state')->nullable();
- $t->string('postal_code')->nullable();
- $t->unsignedInteger('country_id')->nullable();
- $t->string('work_phone')->nullable();
- $t->text('private_notes')->nullable();
- $t->decimal('balance', 13, 2)->nullable();
- $t->decimal('paid_to_date', 13, 2)->nullable();
- $t->timestamp('last_login')->nullable();
- $t->string('website')->nullable();
- $t->unsignedInteger('industry_id')->nullable();
- $t->unsignedInteger('size_id')->nullable();
- $t->boolean('is_deleted')->default(false);
- $t->integer('payment_terms')->nullable();
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('country_id')->references('id')->on('countries');
- $t->foreign('industry_id')->references('id')->on('industries');
- $t->foreign('size_id')->references('id')->on('sizes');
- $t->foreign('currency_id')->references('id')->on('currencies');
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('contacts', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('client_id')->index();
- $t->timestamps();
- $t->softDeletes();
-
- $t->boolean('is_primary')->default(0);
- $t->boolean('send_invoice')->default(0);
- $t->string('first_name')->nullable();
- $t->string('last_name')->nullable();
- $t->string('email')->nullable();
- $t->string('phone')->nullable();
- $t->timestamp('last_login')->nullable();
-
- $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
-
- $t->unsignedInteger('public_id')->nullable();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('invoice_statuses', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('frequencies', function($t)
- {
- $t->increments('id');
- $t->string('name');
- });
-
- Schema::create('invoices', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('client_id')->index();
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('invoice_status_id')->default(1);
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('invoice_number');
- $t->float('discount');
- $t->string('po_number');
- $t->date('invoice_date')->nullable();
- $t->date('due_date')->nullable();
- $t->text('terms');
- $t->text('public_notes');
- $t->boolean('is_deleted')->default(false);
- $t->boolean('is_recurring');
- $t->unsignedInteger('frequency_id');
- $t->date('start_date')->nullable();
- $t->date('end_date')->nullable();
- $t->timestamp('last_sent_date')->nullable();
- $t->unsignedInteger('recurring_invoice_id')->index()->nullable();
-
- $t->string('tax_name');
- $t->decimal('tax_rate', 13, 2);
-
- $t->decimal('amount', 13, 2);
- $t->decimal('balance', 13, 2);
-
- $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('invoice_status_id')->references('id')->on('invoice_statuses');
- $t->foreign('recurring_invoice_id')->references('id')->on('invoices')->onDelete('cascade');
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- $t->unique( array('account_id','invoice_number') );
- });
-
-
- Schema::create('invitations', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('contact_id');
- $t->unsignedInteger('invoice_id')->index();
- $t->string('invitation_key')->index()->unique();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('transaction_reference')->nullable();
- $t->timestamp('sent_date');
- $t->timestamp('viewed_date');
-
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
- $t->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade');
- $t->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('tax_rates', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('user_id');
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('name');
- $t->decimal('rate', 13, 2);
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
-
- $t->unsignedInteger('public_id');
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('products', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('user_id');
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('product_key');
- $t->text('notes');
- $t->decimal('cost', 13, 2);
- $t->decimal('qty', 13, 2)->nullable();
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
-
- $t->unsignedInteger('public_id');
- $t->unique( array('account_id','public_id') );
- });
-
-
- Schema::create('invoice_items', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('invoice_id')->index();
- $t->unsignedInteger('product_id')->nullable();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('product_key');
- $t->text('notes');
- $t->decimal('cost', 13, 2);
- $t->decimal('qty', 13, 2)->nullable();
-
- $t->string('tax_name')->nullable();
- $t->decimal('tax_rate', 13, 2)->nullable();
-
- $t->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');
- $t->foreign('product_id')->references('id')->on('products')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
-
- $t->unsignedInteger('public_id');
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('payments', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('invoice_id')->nullable();
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('client_id')->index();
- $t->unsignedInteger('contact_id')->nullable();
- $t->unsignedInteger('invitation_id')->nullable();
- $t->unsignedInteger('user_id')->nullable();
- $t->unsignedInteger('account_gateway_id')->nullable();
- $t->unsignedInteger('payment_type_id')->nullable();
- $t->timestamps();
- $t->softDeletes();
-
- $t->boolean('is_deleted')->default(false);
- $t->decimal('amount', 13, 2);
- $t->date('payment_date')->nullable();
- $t->string('transaction_reference')->nullable();
- $t->string('payer_id')->nullable();
-
- $t->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- $t->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade');
- $t->foreign('account_gateway_id')->references('id')->on('account_gateways')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
- $t->foreign('payment_type_id')->references('id')->on('payment_types');
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('credits', function($t)
- {
- $t->increments('id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('client_id')->index();
- $t->unsignedInteger('user_id');
- $t->timestamps();
- $t->softDeletes();
-
- $t->boolean('is_deleted')->default(false);
- $t->decimal('amount', 13, 2);
- $t->decimal('balance', 13, 2);
- $t->date('credit_date')->nullable();
- $t->string('credit_number')->nullable();
- $t->text('private_notes');
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
-
- $t->unsignedInteger('public_id')->index();
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('activities', function($t)
- {
- $t->increments('id');
- $t->timestamps();
-
- $t->unsignedInteger('account_id');
- $t->unsignedInteger('client_id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('contact_id')->nullable();
- $t->unsignedInteger('payment_id')->nullable();
- $t->unsignedInteger('invoice_id')->nullable();
- $t->unsignedInteger('credit_id')->nullable();
- $t->unsignedInteger('invitation_id')->nullable();
-
- $t->text('message')->nullable();
- $t->text('json_backup')->nullable();
- $t->integer('activity_type_id');
- $t->decimal('adjustment', 13, 2)->nullable();
- $t->decimal('balance', 13, 2)->nullable();
-
- $t->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $t->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('payment_terms');
- Schema::dropIfExists('themes');
- Schema::dropIfExists('credits');
- Schema::dropIfExists('activities');
- Schema::dropIfExists('invitations');
- Schema::dropIfExists('payments');
- Schema::dropIfExists('account_gateways');
- Schema::dropIfExists('invoice_items');
- Schema::dropIfExists('products');
- Schema::dropIfExists('tax_rates');
- Schema::dropIfExists('contacts');
- Schema::dropIfExists('invoices');
- Schema::dropIfExists('password_reminders');
- Schema::dropIfExists('clients');
- Schema::dropIfExists('users');
- Schema::dropIfExists('accounts');
- Schema::dropIfExists('currencies');
- Schema::dropIfExists('invoice_statuses');
- Schema::dropIfExists('countries');
- Schema::dropIfExists('timezones');
- Schema::dropIfExists('frequencies');
- Schema::dropIfExists('date_formats');
- Schema::dropIfExists('datetime_formats');
- Schema::dropIfExists('sizes');
- Schema::dropIfExists('industries');
- Schema::dropIfExists('gateways');
- Schema::dropIfExists('payment_types');
- }
-}
diff --git a/app/database/migrations/2013_11_28_195703_setup_countries_table.php b/app/database/migrations/2013_11_28_195703_setup_countries_table.php
deleted file mode 100755
index 09e8c8eca2e0..000000000000
--- a/app/database/migrations/2013_11_28_195703_setup_countries_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-integer('id')->index();
- $table->string('capital', 255)->nullable();
- $table->string('citizenship', 255)->nullable();
- $table->string('country_code', 3)->default('');
- $table->string('currency', 255)->nullable();
- $table->string('currency_code', 255)->nullable();
- $table->string('currency_sub_unit', 255)->nullable();
- $table->string('full_name', 255)->nullable();
- $table->string('iso_3166_2', 2)->default('');
- $table->string('iso_3166_3', 3)->default('');
- $table->string('name', 255)->default('');
- $table->string('region_code', 3)->default('');
- $table->string('sub_region_code', 3)->default('');
- $table->boolean('eea')->default(0);
-
- $table->primary('id');
- });
- */
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- //Schema::drop('countries');
- }
-
-}
\ No newline at end of file
diff --git a/app/database/migrations/2014_02_13_151500_add_cascase_drops.php b/app/database/migrations/2014_02_13_151500_add_cascase_drops.php
deleted file mode 100644
index 66d362317dfd..000000000000
--- a/app/database/migrations/2014_02_13_151500_add_cascase_drops.php
+++ /dev/null
@@ -1,32 +0,0 @@
-dropForeign('invoices_account_id_foreign');
- $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
-
- }
-
-}
diff --git a/app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php b/app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php
deleted file mode 100644
index 4bd8daf912df..000000000000
--- a/app/database/migrations/2014_02_19_151817_add_support_for_invoice_designs.php
+++ /dev/null
@@ -1,72 +0,0 @@
-increments('id');
- $table->string('name');
- });
-
- DB::table('invoice_designs')->insert(['name' => 'Clean']);
- DB::table('invoice_designs')->insert(['name' => 'Bold']);
- DB::table('invoice_designs')->insert(['name' => 'Modern']);
- DB::table('invoice_designs')->insert(['name' => 'Plain']);
-
- Schema::table('invoices', function($table)
- {
- $table->unsignedInteger('invoice_design_id')->default(1);
- });
-
- Schema::table('accounts', function($table)
- {
- $table->unsignedInteger('invoice_design_id')->default(1);
- });
-
- DB::table('invoices')->update(['invoice_design_id' => 1]);
- DB::table('accounts')->update(['invoice_design_id' => 1]);
-
- Schema::table('invoices', function($table)
- {
- $table->foreign('invoice_design_id')->references('id')->on('invoice_designs');
- });
-
- Schema::table('accounts', function($table)
- {
- $table->foreign('invoice_design_id')->references('id')->on('invoice_designs');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('invoices', function($table)
- {
- $table->dropForeign('invoices_invoice_design_id_foreign');
- $table->dropColumn('invoice_design_id');
- });
-
- Schema::table('accounts', function($table)
- {
- $table->dropForeign('accounts_invoice_design_id_foreign');
- $table->dropColumn('invoice_design_id');
- });
-
- Schema::dropIfExists('invoice_designs');
- }
-
-}
diff --git a/app/database/migrations/2014_03_03_155556_add_phone_to_account.php b/app/database/migrations/2014_03_03_155556_add_phone_to_account.php
deleted file mode 100644
index 79e03e9d183a..000000000000
--- a/app/database/migrations/2014_03_03_155556_add_phone_to_account.php
+++ /dev/null
@@ -1,36 +0,0 @@
-string('work_phone')->nullable();
- $table->string('work_email')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('work_phone');
- $table->dropColumn('work_email');
- });
- }
-
-}
\ No newline at end of file
diff --git a/app/database/migrations/2014_03_19_201454_add_language_support.php b/app/database/migrations/2014_03_19_201454_add_language_support.php
deleted file mode 100644
index cdb092a9a498..000000000000
--- a/app/database/migrations/2014_03_19_201454_add_language_support.php
+++ /dev/null
@@ -1,60 +0,0 @@
-increments('id');
- $table->string('name');
- $table->string('locale');
- });
-
- DB::table('languages')->insert(['name' => 'English', 'locale' => 'en']);
- DB::table('languages')->insert(['name' => 'Italian', 'locale' => 'it']);
- DB::table('languages')->insert(['name' => 'German', 'locale' => 'de']);
- DB::table('languages')->insert(['name' => 'French', 'locale' => 'fr']);
- DB::table('languages')->insert(['name' => 'Brazilian Portuguese', 'locale' => 'pt_BR']);
- DB::table('languages')->insert(['name' => 'Dutch', 'locale' => 'nl']);
- DB::table('languages')->insert(['name' => 'Spanish', 'locale' => 'es']);
- DB::table('languages')->insert(['name' => 'Norwegian', 'locale' => 'nb_NO']);
-
- Schema::table('accounts', function($table)
- {
- $table->unsignedInteger('language_id')->default(1);
- });
-
- DB::table('accounts')->update(['language_id' => 1]);
-
- Schema::table('accounts', function($table)
- {
- $table->foreign('language_id')->references('id')->on('languages');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropForeign('accounts_language_id_foreign');
- $table->dropColumn('language_id');
- });
-
- Schema::drop('languages');
- }
-
-}
diff --git a/app/database/migrations/2014_03_20_200300_create_payment_libraries.php b/app/database/migrations/2014_03_20_200300_create_payment_libraries.php
deleted file mode 100644
index dc8074c913bd..000000000000
--- a/app/database/migrations/2014_03_20_200300_create_payment_libraries.php
+++ /dev/null
@@ -1,58 +0,0 @@
-increments('id');
- $t->timestamps();
-
- $t->string('name');
- $t->boolean('visible')->default(true);
- });
-
- Schema::table('gateways', function($table)
- {
- $table->unsignedInteger('payment_library_id')->default(1);
- });
-
- DB::table('gateways')->update(['payment_library_id' => 1]);
-
- Schema::table('gateways', function($table)
- {
- $table->foreign('payment_library_id')->references('id')->on('payment_libraries')->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- if (Schema::hasColumn('gateways', 'payment_library_id'))
- {
- Schema::table('gateways', function($table)
- {
- $table->dropForeign('gateways_payment_library_id_foreign');
- $table->dropColumn('payment_library_id');
- });
- }
-
- Schema::dropIfExists('payment_libraries');
- }
-
-}
\ No newline at end of file
diff --git a/app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php b/app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php
deleted file mode 100644
index 30d7c664e451..000000000000
--- a/app/database/migrations/2014_03_23_051736_enable_forcing_jspdf.php
+++ /dev/null
@@ -1,34 +0,0 @@
-boolean('force_pdfjs')->default(false);
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('users', function($table)
- {
- $table->dropColumn('force_pdfjs');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php b/app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php
deleted file mode 100644
index a49fe8f855ef..000000000000
--- a/app/database/migrations/2014_03_25_102200_add_sort_and_recommended_to_gateways.php
+++ /dev/null
@@ -1,49 +0,0 @@
-unsignedInteger('sort_order')->default(10000);
- $table->boolean('recommended')->default(0);
- $table->string('site_url', 200)->nullable();
- });
- }
-
- public function down()
- {
- if (Schema::hasColumn('gateways', 'sort_order'))
- {
- Schema::table('gateways', function($table)
- {
- $table->dropColumn('sort_order');
- });
- }
-
- if (Schema::hasColumn('gateways', 'recommended'))
- {
- Schema::table('gateways', function($table)
- {
- $table->dropColumn('recommended');
- });
- }
-
- if (Schema::hasColumn('gateways', 'site_url'))
- {
- Schema::table('gateways', function($table)
- {
- $table->dropColumn('site_url');
- });
- }
- }
-}
diff --git a/app/database/migrations/2014_04_03_191105_add_pro_plan.php b/app/database/migrations/2014_04_03_191105_add_pro_plan.php
deleted file mode 100644
index cbc714971f1d..000000000000
--- a/app/database/migrations/2014_04_03_191105_add_pro_plan.php
+++ /dev/null
@@ -1,34 +0,0 @@
-date('pro_plan_paid')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('pro_plan_paid');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_04_17_100523_add_remember_token.php b/app/database/migrations/2014_04_17_100523_add_remember_token.php
deleted file mode 100644
index 6a436001075a..000000000000
--- a/app/database/migrations/2014_04_17_100523_add_remember_token.php
+++ /dev/null
@@ -1,34 +0,0 @@
-string('remember_token', 100)->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('users', function($table)
- {
- $table->dropColumn('remember_token');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_04_17_145108_add_custom_fields.php b/app/database/migrations/2014_04_17_145108_add_custom_fields.php
deleted file mode 100644
index f6ff7c8f45a1..000000000000
--- a/app/database/migrations/2014_04_17_145108_add_custom_fields.php
+++ /dev/null
@@ -1,60 +0,0 @@
-string('custom_label1')->nullable();
- $table->string('custom_value1')->nullable();
-
- $table->string('custom_label2')->nullable();
- $table->string('custom_value2')->nullable();
-
- $table->string('custom_client_label1')->nullable();
- $table->string('custom_client_label2')->nullable();
- });
-
- Schema::table('clients', function($table)
- {
- $table->string('custom_value1')->nullable();
- $table->string('custom_value2')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('custom_label1');
- $table->dropColumn('custom_value1');
-
- $table->dropColumn('custom_label2');
- $table->dropColumn('custom_value2');
-
- $table->dropColumn('custom_client_label1');
- $table->dropColumn('custom_client_label2');
- });
-
- Schema::table('clients', function($table)
- {
- $table->dropColumn('custom_value1');
- $table->dropColumn('custom_value2');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_04_23_170909_add_products_settings.php b/app/database/migrations/2014_04_23_170909_add_products_settings.php
deleted file mode 100644
index a5e5541177b5..000000000000
--- a/app/database/migrations/2014_04_23_170909_add_products_settings.php
+++ /dev/null
@@ -1,39 +0,0 @@
-boolean('fill_products')->default(true);
- $table->boolean('update_products')->default(true);
- });
-
- DB::table('accounts')->update(['fill_products' => true]);
- DB::table('accounts')->update(['update_products' => true]);
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('fill_products');
- $table->dropColumn('update_products');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_04_29_174315_add_advanced_settings.php b/app/database/migrations/2014_04_29_174315_add_advanced_settings.php
deleted file mode 100644
index ae91740d21f3..000000000000
--- a/app/database/migrations/2014_04_29_174315_add_advanced_settings.php
+++ /dev/null
@@ -1,42 +0,0 @@
-string('primary_color')->nullable();
- $table->string('secondary_color')->nullable();
- });
-
- Schema::table('payments', function($table)
- {
- $table->dropForeign('payments_invoice_id_foreign');
- $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('primary_color');
- $table->dropColumn('secondary_color');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_05_17_175626_add_quotes.php b/app/database/migrations/2014_05_17_175626_add_quotes.php
deleted file mode 100644
index 6299ad124dc0..000000000000
--- a/app/database/migrations/2014_05_17_175626_add_quotes.php
+++ /dev/null
@@ -1,38 +0,0 @@
-boolean('is_quote')->default(0);
- $table->unsignedInteger('quote_id')->nullable();
- $table->unsignedInteger('quote_invoice_id')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('invoices', function($table)
- {
- $table->dropColumn('is_quote');
- $table->dropColumn('quote_id');
- $table->dropColumn('quote_invoice_id');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php b/app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php
deleted file mode 100644
index dfcbdc90559a..000000000000
--- a/app/database/migrations/2014_06_17_131940_add_accepted_credit_cards_to_account_gateways.php
+++ /dev/null
@@ -1,34 +0,0 @@
-unsignedInteger('accepted_credit_cards')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('account_gateways', function($table)
- {
- $table->dropColumn('accepted_credit_cards');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_07_13_142654_one_click_install.php b/app/database/migrations/2014_07_13_142654_one_click_install.php
deleted file mode 100644
index 943117bed3a7..000000000000
--- a/app/database/migrations/2014_07_13_142654_one_click_install.php
+++ /dev/null
@@ -1,58 +0,0 @@
-increments('id');
- $table->timestamps();
- $table->softDeletes();
-
- $table->string('name');
- $table->string('affiliate_key')->unique();
-
- $table->text('payment_title');
- $table->text('payment_subtitle');
- });
-
- Schema::create('licenses', function($table)
- {
- $table->increments('id');
- $table->timestamps();
- $table->softDeletes();
- $table->unsignedInteger('affiliate_id');
-
- $table->string('first_name');
- $table->string('last_name');
- $table->string('email');
-
- $table->string('license_key')->unique();
- $table->boolean('is_claimed');
- $table->string('transaction_reference');
-
- $table->foreign('affiliate_id')->references('id')->on('affiliates');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('licenses');
- Schema::dropIfExists('affiliates');
- }
-
-}
diff --git a/app/database/migrations/2014_07_17_205900_support_hiding_quantity.php b/app/database/migrations/2014_07_17_205900_support_hiding_quantity.php
deleted file mode 100644
index c7104ef88c8d..000000000000
--- a/app/database/migrations/2014_07_17_205900_support_hiding_quantity.php
+++ /dev/null
@@ -1,66 +0,0 @@
-boolean('hide_quantity')->default(0);
- $table->boolean('hide_paid_to_date')->default(0);
-
- $table->string('custom_invoice_label1')->nullable();
- $table->string('custom_invoice_label2')->nullable();
-
- $table->boolean('custom_invoice_taxes1')->nullable();
- $table->boolean('custom_invoice_taxes2')->nullable();
- });
-
- Schema::table('invoices', function($table)
- {
- $table->decimal('custom_value1', 13, 2)->default(0);
- $table->decimal('custom_value2', 13, 2)->default(0);
-
- $table->boolean('custom_taxes1')->default(0);
- $table->boolean('custom_taxes2')->default(0);
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('hide_quantity');
- $table->dropColumn('hide_paid_to_date');
-
- $table->dropColumn('custom_invoice_label1');
- $table->dropColumn('custom_invoice_label2');
-
- $table->dropColumn('custom_invoice_taxes1');
- $table->dropColumn('custom_invoice_taxes2');
- });
-
- Schema::table('invoices', function($table)
- {
- $table->dropColumn('custom_value1');
- $table->dropColumn('custom_value2');
-
- $table->dropColumn('custom_taxes1');
- $table->dropColumn('custom_taxes2');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_07_24_171214_add_zapier_support.php b/app/database/migrations/2014_07_24_171214_add_zapier_support.php
deleted file mode 100644
index b7bfc0a5bae3..000000000000
--- a/app/database/migrations/2014_07_24_171214_add_zapier_support.php
+++ /dev/null
@@ -1,42 +0,0 @@
-increments('id');
- $table->unsignedInteger('account_id')->nullable();
-
- $table->timestamps();
- $table->softDeletes();
-
- $table->unsignedInteger('event_id')->nullable();
- $table->string('target_url');
-
- $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $table->unique( ['account_id', 'event_id'] );
- });
-
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('subscriptions');
- }
-
-}
diff --git a/app/database/migrations/2014_10_01_141248_add_company_vat_number.php b/app/database/migrations/2014_10_01_141248_add_company_vat_number.php
deleted file mode 100644
index b93a217712ed..000000000000
--- a/app/database/migrations/2014_10_01_141248_add_company_vat_number.php
+++ /dev/null
@@ -1,43 +0,0 @@
-string('vat_number')->nullable();
- });
-
- Schema::table('clients', function($table)
- {
- $table->string('vat_number')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('vat_number');
- });
- Schema::table('clients', function($table)
- {
- $table->dropColumn('vat_number');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_10_05_141856_track_last_seen_message.php b/app/database/migrations/2014_10_05_141856_track_last_seen_message.php
deleted file mode 100644
index 7446782a6ac3..000000000000
--- a/app/database/migrations/2014_10_05_141856_track_last_seen_message.php
+++ /dev/null
@@ -1,46 +0,0 @@
-unsignedInteger('news_feed_id')->nullable();
- });
-
- if (DB::table('payment_libraries')->count() > 0) {
- DB::table('gateways')->update(['recommended' => 0]);
- DB::table('gateways')->insert([
- 'name' => 'moolah',
- 'provider' => 'AuthorizeNet_AIM',
- 'sort_order' => 1,
- 'recommended' => 1,
- 'site_url' => 'https://invoiceninja.mymoolah.com/',
- 'payment_library_id' => 1
- ]);
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('users', function($table)
- {
- $table->dropColumn('news_feed_id');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_10_06_103529_add_timesheets.php b/app/database/migrations/2014_10_06_103529_add_timesheets.php
deleted file mode 100644
index 879cd450402d..000000000000
--- a/app/database/migrations/2014_10_06_103529_add_timesheets.php
+++ /dev/null
@@ -1,152 +0,0 @@
-increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('client_id')->nullable();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('name');
- $t->string('description');
-
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('account_id')->references('id')->on('accounts');
-
- $t->unique( array('account_id','name') );
- });
-
- Schema::create('project_codes', function($t) {
- $t->increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('project_id');
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('name');
- $t->string('description');
-
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('account_id')->references('id')->on('accounts');
- $t->foreign('project_id')->references('id')->on('projects')->onDelete('cascade');
-
- $t->unique( array('account_id','name') );
- });
-
-
- Schema::create('timesheets', function($t) {
- $t->increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->timestamps();
- $t->softDeletes();
-
- $t->dateTime('start_date');
- $t->dateTime('end_date');
- $t->float('discount');
-
- $t->decimal('hours');
-
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('account_id')->references('id')->on('accounts');
-
- $t->unsignedInteger('public_id');
- $t->unique( array('account_id','public_id') );
- });
-
- Schema::create('timesheet_event_sources', function($t) {
- $t->increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->timestamps();
- $t->softDeletes();
-
- $t->string('owner');
- $t->string('name');
- $t->string('url');
- $t->enum('type', array('ical', 'googlejson'));
-
- $t->dateTime('from_date')->nullable();
- $t->dateTime('to_date')->nullable();
-
- $t->foreign('account_id')->references('id')->on('accounts');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- });
-
- Schema::create('timesheet_events', function($t) {
- $t->increments('id');
- $t->unsignedInteger('user_id');
- $t->unsignedInteger('account_id')->index();
- $t->unsignedInteger('timesheet_event_source_id');
- $t->unsignedInteger('timesheet_id')->nullable()->index();
- $t->unsignedInteger('project_id')->nullable()->index();
- $t->unsignedInteger('project_code_id')->nullable()->index();
- $t->timestamps();
- $t->softDeletes();
-
- // Basic fields
- $t->string('uid');
- $t->string('summary');
- $t->text('description');
- $t->string('location');
- $t->string('owner');
- $t->dateTime('start_date');
- $t->dateTime('end_date');
-
- # Calculated values
- $t->decimal('hours');
- $t->float('discount');
- $t->boolean('manualedit');
-
- // Original data
- $t->string('org_code');
- $t->timeStamp('org_created_at');
- $t->timeStamp('org_updated_at');
- $t->timeStamp('org_deleted_at')->default('0000-00-00T00:00:00');
- $t->string('org_start_date_timezone')->nullable();
- $t->string('org_end_date_timezone')->nullable();
- $t->text('org_data');
-
- // Error and merge handling
- $t->string('import_error')->nullable();
- $t->string('import_warning')->nullable();
- $t->text('updated_data')->nullable();
- $t->timeStamp('updated_data_at')->default('0000-00-00T00:00:00');
-
- $t->foreign('account_id')->references('id')->on('accounts');
- $t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
- $t->foreign('timesheet_event_source_id')->references('id')->on('timesheet_event_sources')->onDelete('cascade');
-
- $t->unique( array('timesheet_event_source_id', 'uid') );
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::drop('timesheet_events');
- Schema::drop('timesheet_event_sources');
- Schema::drop('timesheets');
- Schema::drop('project_codes');
- Schema::drop('projects');
- }
-
-}
diff --git a/app/database/migrations/2014_10_06_195330_add_invoice_design_table.php b/app/database/migrations/2014_10_06_195330_add_invoice_design_table.php
deleted file mode 100644
index 81442b001b3f..000000000000
--- a/app/database/migrations/2014_10_06_195330_add_invoice_design_table.php
+++ /dev/null
@@ -1,519 +0,0 @@
-text('javascript')->nullable();
- });
-
- Schema::table('accounts', function($table)
- {
- $table->text('invoice_design')->nullable();
- });
-
- DB::table('invoice_designs')->where('id', 1)->update([
- 'javascript' => "var GlobalY=0;//Y position of line at current page
-
- var client = invoice.client;
- var account = invoice.account;
- var currencyId = client.currency_id;
-
- layout.headerRight = 550;
- layout.rowHeight = 15;
-
- doc.setFontSize(9);
-
- if (invoice.image)
- {
- var left = layout.headerRight - invoice.imageWidth;
- doc.addImage(invoice.image, 'JPEG', layout.marginLeft, 30);
- }
-
- if (!invoice.is_pro && logoImages.imageLogo1)
- {
- pageHeight=820;
- y=pageHeight-logoImages.imageLogoHeight1;
- doc.addImage(logoImages.imageLogo1, 'JPEG', layout.marginLeft, y, logoImages.imageLogoWidth1, logoImages.imageLogoHeight1);
- }
-
- doc.setFontSize(9);
- SetPdfColor('LightBlue', doc, 'primary');
- displayAccount(doc, invoice, 220, layout.accountTop, layout);
-
- SetPdfColor('LightBlue', doc, 'primary');
- doc.setFontSize('11');
- doc.text(50, layout.headerTop, (invoice.is_quote ? invoiceLabels.quote : invoiceLabels.invoice).toUpperCase());
-
-
- SetPdfColor('Black',doc); //set black color
- doc.setFontSize(9);
-
- var invoiceHeight = displayInvoice(doc, invoice, 50, 170, layout);
- var clientHeight = displayClient(doc, invoice, 220, 170, layout);
- var detailsHeight = Math.max(invoiceHeight, clientHeight);
- layout.tableTop = Math.max(layout.tableTop, layout.headerTop + detailsHeight + (3 * layout.rowHeight));
-
- doc.setLineWidth(0.3);
- doc.setDrawColor(200,200,200);
- doc.line(layout.marginLeft - layout.tablePadding, layout.headerTop + 6, layout.marginRight + layout.tablePadding, layout.headerTop + 6);
- doc.line(layout.marginLeft - layout.tablePadding, layout.headerTop + detailsHeight + 14, layout.marginRight + layout.tablePadding, layout.headerTop + detailsHeight + 14);
-
- doc.setFontSize(10);
- doc.setFontType('bold');
- displayInvoiceHeader(doc, invoice, layout);
- var y = displayInvoiceItems(doc, invoice, layout);
-
- doc.setFontSize(9);
- doc.setFontType('bold');
-
- GlobalY=GlobalY+25;
-
-
- doc.setLineWidth(0.3);
- doc.setDrawColor(241,241,241);
- doc.setFillColor(241,241,241);
- var x1 = layout.marginLeft - 12;
- var y1 = GlobalY-layout.tablePadding;
-
- var w2 = 510 + 24;
- var h2 = doc.internal.getFontSize()*3+layout.tablePadding*2;
-
- if (invoice.discount) {
- h2 += doc.internal.getFontSize()*2;
- }
- if (invoice.tax_amount) {
- h2 += doc.internal.getFontSize()*2;
- }
-
- //doc.rect(x1, y1, w2, h2, 'FD');
-
- doc.setFontSize(9);
- displayNotesAndTerms(doc, layout, invoice, y);
- y += displaySubtotals(doc, layout, invoice, y, layout.unitCostRight);
-
-
- doc.setFontSize(10);
- Msg = invoice.is_quote ? invoiceLabels.total : invoiceLabels.balance_due;
- var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
-
- doc.text(TmpMsgX, y, Msg);
-
- SetPdfColor('LightBlue', doc, 'primary');
- AmountText = formatMoney(invoice.balance_amount, currencyId);
- headerLeft=layout.headerRight+400;
- var AmountX = layout.lineTotalRight - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
- doc.text(AmountX, y, AmountText);"
- ]);
-
- DB::table('invoice_designs')->where('id', 2)->update([
- 'javascript' => " var GlobalY=0;//Y position of line at current page
-
- var client = invoice.client;
- var account = invoice.account;
- var currencyId = client.currency_id;
-
- layout.headerRight = 150;
- layout.rowHeight = 15;
- layout.headerTop = 125;
- layout.tableTop = 300;
-
- doc.setLineWidth(0.5);
-
- if (NINJA.primaryColor) {
- setDocHexFill(doc, NINJA.primaryColor);
- setDocHexDraw(doc, NINJA.primaryColor);
- } else {
- doc.setFillColor(46,43,43);
- }
-
- var x1 =0;
- var y1 = 0;
- var w2 = 595;
- var h2 = 100;
- doc.rect(x1, y1, w2, h2, 'FD');
-
- if (invoice.image)
- {
- var left = layout.headerRight - invoice.imageWidth;
- doc.addImage(invoice.image, 'JPEG', layout.marginLeft, 30);
- }
-
- doc.setLineWidth(0.5);
- if (NINJA.primaryColor) {
- setDocHexFill(doc, NINJA.primaryColor);
- setDocHexDraw(doc, NINJA.primaryColor);
- } else {
- doc.setFillColor(46,43,43);
- doc.setDrawColor(46,43,43);
- }
-
- // return doc.setTextColor(240,240,240);//select color Custom Report GRAY Colour
- var x1 = 0;//tableLeft-tablePadding ;
- var y1 = 750;
- var w2 = 596;
- var h2 = 94;//doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
-
- doc.rect(x1, y1, w2, h2, 'FD');
- if (!invoice.is_pro && logoImages.imageLogo2)
- {
- pageHeight=820;
- var left = 250;//headerRight ;
- y=pageHeight-logoImages.imageLogoHeight2;
- var headerRight=370;
-
- var left = headerRight - logoImages.imageLogoWidth2;
- doc.addImage(logoImages.imageLogo2, 'JPEG', left, y, logoImages.imageLogoWidth2, logoImages.imageLogoHeight2);
- }
-
- doc.setFontSize(7);
- doc.setFontType('bold');
- SetPdfColor('White',doc);
-
- displayAccount(doc, invoice, 300, layout.accountTop, layout);
-
-
- var y = layout.accountTop;
- var left = layout.marginLeft;
- var headerY = layout.headerTop;
-
- SetPdfColor('GrayLogo',doc); //set black color
- doc.setFontSize(7);
-
- //show left column
- SetPdfColor('Black',doc); //set black color
- doc.setFontType('normal');
-
- //publish filled box
- doc.setDrawColor(200,200,200);
-
- if (NINJA.secondaryColor) {
- setDocHexFill(doc, NINJA.secondaryColor);
- } else {
- doc.setFillColor(54,164,152);
- }
-
- GlobalY=190;
- doc.setLineWidth(0.5);
-
- var BlockLenght=220;
- var x1 =595-BlockLenght;
- var y1 = GlobalY-12;
- var w2 = BlockLenght;
- var h2 = getInvoiceDetailsHeight(invoice, layout) + layout.tablePadding + 2;
-
- doc.rect(x1, y1, w2, h2, 'FD');
-
- SetPdfColor('SomeGreen', doc, 'secondary');
- doc.setFontSize('14');
- doc.setFontType('bold');
- doc.text(50, GlobalY, (invoice.is_quote ? invoiceLabels.your_quote : invoiceLabels.your_invoice).toUpperCase());
-
-
- var z=GlobalY;
- z=z+30;
-
- doc.setFontSize('8');
- SetPdfColor('Black',doc);
- var clientHeight = displayClient(doc, invoice, layout.marginLeft, z, layout);
- layout.tableTop += Math.max(0, clientHeight - 75);
- marginLeft2=395;
-
- //publish left side information
- SetPdfColor('White',doc);
- doc.setFontSize('8');
- var detailsHeight = displayInvoice(doc, invoice, marginLeft2, z-25, layout) + 75;
- layout.tableTop = Math.max(layout.tableTop, layout.headerTop + detailsHeight + (2 * layout.tablePadding));
-
- y=z+60;
- x = GlobalY + 100;
- doc.setFontType('bold');
-
- doc.setFontSize(12);
- doc.setFontType('bold');
- SetPdfColor('Black',doc);
- displayInvoiceHeader(doc, invoice, layout);
-
- var y = displayInvoiceItems(doc, invoice, layout);
- doc.setLineWidth(0.3);
- displayNotesAndTerms(doc, layout, invoice, y);
- y += displaySubtotals(doc, layout, invoice, y, layout.unitCostRight);
-
- doc.setFontType('bold');
-
- doc.setFontSize(12);
- x += doc.internal.getFontSize()*4;
- Msg = invoice.is_quote ? invoiceLabels.total : invoiceLabels.balance_due;
- var TmpMsgX = layout.unitCostRight-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
-
- doc.text(TmpMsgX, y, Msg);
-
- //SetPdfColor('LightBlue',doc);
- AmountText = formatMoney(invoice.balance_amount , currencyId);
- headerLeft=layout.headerRight+400;
- var AmountX = headerLeft - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
- SetPdfColor('SomeGreen', doc, 'secondary');
- doc.text(AmountX, y, AmountText);"
- ]);
-
- DB::table('invoice_designs')->where('id', 3)->update([
- 'javascript' => " var client = invoice.client;
- var account = invoice.account;
- var currencyId = client.currency_id;
-
- layout.headerRight = 400;
- layout.rowHeight = 15;
-
-
- doc.setFontSize(7);
-
- // add header
- doc.setLineWidth(0.5);
-
- if (NINJA.primaryColor) {
- setDocHexFill(doc, NINJA.primaryColor);
- setDocHexDraw(doc, NINJA.primaryColor);
- } else {
- doc.setDrawColor(242,101,34);
- doc.setFillColor(242,101,34);
- }
-
- var x1 =0;
- var y1 = 0;
- var w2 = 595;
- var h2 = Math.max(110, getInvoiceDetailsHeight(invoice, layout) + 30);
- doc.rect(x1, y1, w2, h2, 'FD');
-
- SetPdfColor('White',doc);
-
- //second column
- doc.setFontType('bold');
- var name = invoice.account.name;
- if (name) {
- doc.setFontSize('30');
- doc.setFontType('bold');
- doc.text(40, 50, name);
- }
-
- if (invoice.image)
- {
- y=130;
- var left = layout.headerRight - invoice.imageWidth;
- doc.addImage(invoice.image, 'JPEG', layout.marginLeft, y);
- }
-
- // add footer
- doc.setLineWidth(0.5);
-
- if (NINJA.primaryColor) {
- setDocHexFill(doc, NINJA.primaryColor);
- setDocHexDraw(doc, NINJA.primaryColor);
- } else {
- doc.setDrawColor(242,101,34);
- doc.setFillColor(242,101,34);
- }
-
- var x1 = 0;//tableLeft-tablePadding ;
- var y1 = 750;
- var w2 = 596;
- var h2 = 94;//doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
-
- doc.rect(x1, y1, w2, h2, 'FD');
-
- if (!invoice.is_pro && logoImages.imageLogo3)
- {
- pageHeight=820;
- // var left = 25;//250;//headerRight ;
- y=pageHeight-logoImages.imageLogoHeight3;
- //var headerRight=370;
-
- //var left = headerRight - invoice.imageLogoWidth3;
- doc.addImage(logoImages.imageLogo3, 'JPEG', 40, y, logoImages.imageLogoWidth3, logoImages.imageLogoHeight3);
- }
-
- doc.setFontSize(10);
- var marginLeft = 340;
- displayAccount(doc, invoice, marginLeft, 780, layout);
-
-
- SetPdfColor('White',doc);
- doc.setFontSize('8');
- var detailsHeight = displayInvoice(doc, invoice, layout.headerRight, layout.accountTop-10, layout);
- layout.headerTop = Math.max(layout.headerTop, detailsHeight + 50);
- layout.tableTop = Math.max(layout.tableTop, detailsHeight + 150);
-
- SetPdfColor('Black',doc); //set black color
- doc.setFontSize(7);
- doc.setFontType('normal');
- displayClient(doc, invoice, layout.headerRight, layout.headerTop, layout);
-
-
-
- SetPdfColor('White',doc);
- doc.setFontType('bold');
-
- doc.setLineWidth(0.3);
- if (NINJA.secondaryColor) {
- setDocHexFill(doc, NINJA.secondaryColor);
- setDocHexDraw(doc, NINJA.secondaryColor);
- } else {
- doc.setDrawColor(63,60,60);
- doc.setFillColor(63,60,60);
- }
-
- var left = layout.marginLeft - layout.tablePadding;
- var top = layout.tableTop - layout.tablePadding;
- var width = layout.marginRight - (2 * layout.tablePadding);
- var height = 20;
- doc.rect(left, top, width, height, 'FD');
-
-
- displayInvoiceHeader(doc, invoice, layout);
- SetPdfColor('Black',doc);
- var y = displayInvoiceItems(doc, invoice, layout);
-
-
- var height1 = displayNotesAndTerms(doc, layout, invoice, y);
- var height2 = displaySubtotals(doc, layout, invoice, y, layout.unitCostRight);
- y += Math.max(height1, height2);
-
-
- var left = layout.marginLeft - layout.tablePadding;
- var top = y - layout.tablePadding;
- var width = layout.marginRight - (2 * layout.tablePadding);
- var height = 20;
- if (NINJA.secondaryColor) {
- setDocHexFill(doc, NINJA.secondaryColor);
- setDocHexDraw(doc, NINJA.secondaryColor);
- } else {
- doc.setDrawColor(63,60,60);
- doc.setFillColor(63,60,60);
- }
- doc.rect(left, top, width, height, 'FD');
-
- doc.setFontType('bold');
- SetPdfColor('White', doc);
- doc.setFontSize(12);
-
- var label = invoice.is_quote ? invoiceLabels.total : invoiceLabels.balance_due;
- var labelX = layout.unitCostRight-(doc.getStringUnitWidth(label) * doc.internal.getFontSize());
- doc.text(labelX, y+2, label);
-
-
- doc.setFontType('normal');
- var amount = formatMoney(invoice.balance_amount , currencyId);
- headerLeft=layout.headerRight+400;
- var amountX = layout.lineTotalRight - (doc.getStringUnitWidth(amount) * doc.internal.getFontSize());
- doc.text(amountX, y+2, amount);"
- ]);
-
- DB::table('invoice_designs')->where('id', 4)->update([
- 'javascript' => " var client = invoice.client;
- var account = invoice.account;
- var currencyId = client.currency_id;
-
- layout.accountTop += 25;
- layout.headerTop += 25;
- layout.tableTop += 25;
-
- if (invoice.image)
- {
- var left = layout.headerRight - invoice.imageWidth;
- doc.addImage(invoice.image, 'JPEG', left, 50);
- }
-
- /* table header */
- doc.setDrawColor(200,200,200);
- doc.setFillColor(230,230,230);
-
- var detailsHeight = getInvoiceDetailsHeight(invoice, layout);
- var left = layout.headerLeft - layout.tablePadding;
- var top = layout.headerTop + detailsHeight - layout.rowHeight - layout.tablePadding;
- var width = layout.headerRight - layout.headerLeft + (2 * layout.tablePadding);
- var height = layout.rowHeight + 1;
- doc.rect(left, top, width, height, 'FD');
-
- doc.setFontSize(10);
- doc.setFontType('normal');
-
- displayAccount(doc, invoice, layout.marginLeft, layout.accountTop, layout);
- displayClient(doc, invoice, layout.marginLeft, layout.headerTop, layout);
-
- displayInvoice(doc, invoice, layout.headerLeft, layout.headerTop, layout, layout.headerRight);
- layout.tableTop = Math.max(layout.tableTop, layout.headerTop + detailsHeight + (2 * layout.tablePadding));
-
- var headerY = layout.headerTop;
- var total = 0;
-
- doc.setDrawColor(200,200,200);
- doc.setFillColor(230,230,230);
- var left = layout.marginLeft - layout.tablePadding;
- var top = layout.tableTop - layout.tablePadding;
- var width = layout.headerRight - layout.marginLeft + (2 * layout.tablePadding);
- var height = layout.rowHeight + 2;
- doc.rect(left, top, width, height, 'FD');
-
- displayInvoiceHeader(doc, invoice, layout);
- var y = displayInvoiceItems(doc, invoice, layout);
-
- doc.setFontSize(10);
-
- displayNotesAndTerms(doc, layout, invoice, y+20);
-
- y += displaySubtotals(doc, layout, invoice, y+20, 480) + 20;
-
- doc.setDrawColor(200,200,200);
- doc.setFillColor(230,230,230);
-
- var left = layout.footerLeft - layout.tablePadding;
- var top = y - layout.tablePadding;
- var width = layout.headerRight - layout.footerLeft + (2 * layout.tablePadding);
- var height = layout.rowHeight + 2;
- doc.rect(left, top, width, height, 'FD');
-
- doc.setFontType('bold');
- doc.text(layout.footerLeft, y, invoice.is_quote ? invoiceLabels.total : invoiceLabels.balance_due);
-
- total = formatMoney(invoice.balance_amount, currencyId);
- var totalX = layout.headerRight - (doc.getStringUnitWidth(total) * doc.internal.getFontSize());
- doc.text(totalX, y, total);
-
- if (!invoice.is_pro) {
- doc.setFontType('normal');
- doc.text(layout.marginLeft, 790, 'Created by InvoiceNinja.com');
- }"
-
- ]);
-
-
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('invoice_designs', function($table)
- {
- $table->dropColumn('javascript');
- });
-
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('invoice_design');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php b/app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php
deleted file mode 100644
index 377e9e013fa3..000000000000
--- a/app/database/migrations/2014_10_13_054100_add_invoice_number_settings.php
+++ /dev/null
@@ -1,63 +0,0 @@
-text('invoice_number_prefix')->nullable();
- $table->integer('invoice_number_counter')->default(1)->nullable();
-
- $table->text('quote_number_prefix')->nullable();
- $table->integer('quote_number_counter')->default(1)->nullable();
-
- $table->boolean('share_counter')->default(true);
- });
-
- // set initial counter value for accounts with invoices
- $accounts = DB::table('accounts')->lists('id');
-
- foreach ($accounts as $accountId) {
-
- $invoiceNumbers = DB::table('invoices')->where('account_id', $accountId)->lists('invoice_number');
- $max = 0;
-
- foreach ($invoiceNumbers as $invoiceNumber) {
- $number = intval(preg_replace('/[^0-9]/', '', $invoiceNumber));
- $max = max($max, $number);
- }
-
- DB::table('accounts')->where('id', $accountId)->update(['invoice_number_counter' => ++$max]);
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('invoice_number_prefix');
- $table->dropColumn('invoice_number_counter');
-
- $table->dropColumn('quote_number_prefix');
- $table->dropColumn('quote_number_counter');
-
- $table->dropColumn('share_counter');
- });
-
- }
-
-}
diff --git a/app/database/migrations/2014_10_14_225227_add_danish_translation.php b/app/database/migrations/2014_10_14_225227_add_danish_translation.php
deleted file mode 100644
index b7f8b42d5b42..000000000000
--- a/app/database/migrations/2014_10_14_225227_add_danish_translation.php
+++ /dev/null
@@ -1,29 +0,0 @@
-insert(['name' => 'Danish', 'locale' => 'da']);
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- $language = Language::whereLocale('da')->first();
- $language->delete();
- }
-
-}
diff --git a/app/database/migrations/2014_10_22_174452_add_affiliate_price.php b/app/database/migrations/2014_10_22_174452_add_affiliate_price.php
deleted file mode 100644
index 305ad1f42135..000000000000
--- a/app/database/migrations/2014_10_22_174452_add_affiliate_price.php
+++ /dev/null
@@ -1,44 +0,0 @@
-decimal('price', 7, 2)->nullable();
- });
-
- Schema::table('licenses', function($table)
- {
- $table->unsignedInteger('product_id')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('affiliates', function($table)
- {
- $table->dropColumn('price');
- });
-
- Schema::table('licenses', function($table)
- {
- $table->dropColumn('product_id');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_10_30_184126_add_company_id_number.php b/app/database/migrations/2014_10_30_184126_add_company_id_number.php
deleted file mode 100644
index 9e0fcb75b494..000000000000
--- a/app/database/migrations/2014_10_30_184126_add_company_id_number.php
+++ /dev/null
@@ -1,43 +0,0 @@
-string('id_number')->nullable();
- });
-
- Schema::table('clients', function($table)
- {
- $table->string('id_number')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('id_number');
- });
- Schema::table('clients', function($table)
- {
- $table->dropColumn('id_number');
- });
- }
-
-}
diff --git a/app/database/migrations/2014_11_04_200406_allow_null_client_currency.php b/app/database/migrations/2014_11_04_200406_allow_null_client_currency.php
deleted file mode 100644
index 8007e8cb65c4..000000000000
--- a/app/database/migrations/2014_11_04_200406_allow_null_client_currency.php
+++ /dev/null
@@ -1,31 +0,0 @@
-boolean('is_amount_discount')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('invoices', function($table)
- {
- $table->dropColumn('is_amount_discount');
- });
- }
-
-}
diff --git a/app/database/migrations/2015_02_12_102940_add_email_templates.php b/app/database/migrations/2015_02_12_102940_add_email_templates.php
deleted file mode 100644
index 756466a79113..000000000000
--- a/app/database/migrations/2015_02_12_102940_add_email_templates.php
+++ /dev/null
@@ -1,38 +0,0 @@
-text('email_template_invoice')->nullable();
- $table->text('email_template_quote')->nullable();
- $table->text('email_template_payment')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('email_template_invoice');
- $table->dropColumn('email_template_quote');
- $table->dropColumn('email_template_payment');
- });
- }
-
-}
diff --git a/app/database/migrations/2015_02_17_131714_support_token_billing.php b/app/database/migrations/2015_02_17_131714_support_token_billing.php
deleted file mode 100644
index 0022d44cf2ef..000000000000
--- a/app/database/migrations/2015_02_17_131714_support_token_billing.php
+++ /dev/null
@@ -1,56 +0,0 @@
-smallInteger('token_billing_type_id')->default(TOKEN_BILLING_OPT_IN);
- });
-
- Schema::create('account_gateway_tokens', function($table)
- {
- $table->increments('id');
- $table->unsignedInteger('account_id');
- $table->unsignedInteger('contact_id');
- $table->unsignedInteger('account_gateway_id');
- $table->unsignedInteger('client_id');
- $table->string('token');
-
- $table->timestamps();
- $table->softDeletes();
-
- $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $table->foreign('contact_id')->references('id')->on('contacts')->onDelete('cascade');
- $table->foreign('account_gateway_id')->references('id')->on('account_gateways')->onDelete('cascade');
- $table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade');
- });
-
- DB::table('accounts')->update(['token_billing_type_id' => TOKEN_BILLING_OPT_IN]);
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('token_billing_type_id');
- });
-
- Schema::drop('account_gateway_tokens');
- }
-
-}
\ No newline at end of file
diff --git a/app/database/migrations/2015_02_27_081836_add_invoice_footer.php b/app/database/migrations/2015_02_27_081836_add_invoice_footer.php
deleted file mode 100644
index 6d1cfb7a9efa..000000000000
--- a/app/database/migrations/2015_02_27_081836_add_invoice_footer.php
+++ /dev/null
@@ -1,44 +0,0 @@
-text('invoice_footer')->nullable();
- });
-
- Schema::table('invoices', function($table)
- {
- $table->text('invoice_footer')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('accounts', function($table)
- {
- $table->dropColumn('invoice_footer');
- });
-
- Schema::table('invoices', function($table)
- {
- $table->dropColumn('invoice_footer');
- });
- }
-
-}
diff --git a/app/database/migrations/2015_03_03_140259_add_tokens.php b/app/database/migrations/2015_03_03_140259_add_tokens.php
deleted file mode 100644
index 45b54e3ca4f8..000000000000
--- a/app/database/migrations/2015_03_03_140259_add_tokens.php
+++ /dev/null
@@ -1,54 +0,0 @@
-increments('id');
- $table->unsignedInteger('account_id')->index();
- $table->unsignedInteger('user_id');
- $table->timestamps();
- $table->softDeletes();
-
- $table->string('name')->nullable();
- $table->string('token')->unique();
-
- $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade');
- $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
-
- $table->unsignedInteger('public_id')->nullable();
- $table->unique(['account_id', 'public_id']);
- });
-
- Schema::table('activities', function($table)
- {
- $table->unsignedInteger('token_id')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::drop('account_tokens');
-
- Schema::table('activities', function($table)
- {
- $table->dropColumn('token_id');
- });
- }
-
-}
diff --git a/app/database/migrations/2015_03_09_151011_add_ip_to_activity.php b/app/database/migrations/2015_03_09_151011_add_ip_to_activity.php
deleted file mode 100644
index 552f75dfa808..000000000000
--- a/app/database/migrations/2015_03_09_151011_add_ip_to_activity.php
+++ /dev/null
@@ -1,34 +0,0 @@
-string('ip')->nullable();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('activities', function($table)
- {
- $table->dropColumn('ip');
- });
- }
-
-}
diff --git a/app/database/production.sqlite b/app/database/production.sqlite
deleted file mode 100755
index 4380c89b7fb1d1b04413ac81eb40710bed26d4a1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 22528
zcmeHPKX2Pc6z7Sy8OQn8rj3Tcz(tEAByLO#iQ7y~U84wK1WB8q&BUImvrU8|Y4Vs@
zXggT0o26Znsox??zChOw{SIBabZLezS^Dls#-c>JfMvlJ^aP9K-6KzTzsGm{y?2lP
z>cOfbI9>O{78A6gO=yH@pHix6+A4f6!8iMS1P3H5^c;6p=MGo3`9H5rLe-@HmlS-c
zzt#WM|IzEDd27mZL1Q3DIM&Jg~
zZL+vvHZ0S$7H(SR$8g-RY~NdVn%s)GhyyE*cojfUqw0MXgV1Yqk82E*)dflq~&acOgO$5?H^T^zg)TVaD_g+^V#YOt?dhH^y+@8MxV0K
z-ee*5d_ld~b+6Of8WZ+rjXIv-8+>0$?vpjOy$x`RO~=CbMln_C%EJ^;|2ptXhu1Y4&%J2BFhpVVgeTZOUTd
zJDwf#7WV`U3XXs`HZ3May*4dIzeHz>u>m0zyyF?
z06+A;u%0!W(gw_fgo}kj+Y!Z0MgqoMcuC-c%!S}vvskVa6}GJ+J=FQ6QEkkU9mDaO
zd^=N{1p~8U&w(2ztC~y|{OI1@2ai_h-Fu&}d_yx~*ZI`KO_yR7Uv^VG8aRNkJm>d~?1AoQO?EIRBrnR+KMjOzS6*}K?1m08&s
z)0_HTc{&e8ulP`qWQ`QrB+P(mR|-vb$P=WD+Lum}0gIw%eh3qK!DJXY8y*vJSTGAI
z`$zwOFpI^j5rI)fKtBJ`{zp}N*l$E&Fa#3*zod~R{nlVDjn&n=-=8w7)hc=ZwPLC&
zqe5*?=Q*jW8wL>_rYpYggpsgHxu(kwk_MZ;S3op@93Mzvd5bx2A$vWL+N#7BnYs#r
zn{r3niL8y7M-a6Tj@O2m%)6ikZSr*%yMoS{bCSQyJejb?fk&60xiDAX`C{6rnkMOd
zqST*t(Sk^cbl1bEzvfK-#^^sm-X-NI461M8KjB_KzR3T_YTClVA_92?kpJiLz!D-b
zP6#Oeuf5W=SCyYfVcffqPaD2O0s7y!Xp8)R6ed0FBO)*)1d#s^30Q0v5f}jkr2XsKOHF%OnX2rahz@sx
zGYJiBC>rQ^PkjfHs0btCReITw5kSJ?`)qls&jK>??$)AEy#^*Wol0f7YlWt$PRS_WFss|_Zg;&
zArGn<+oH?|$;731K;l6ar2E*Ac37bNEt$XAmye3?|D1?94?BSf918--|BnTB{82>U
zL?D3neqip{{
h55$T44U3S6coFg#F+AG10IvTH&Em0PMBwBj@E^9}Y$yN#
diff --git a/app/database/seeds/.gitkeep b/app/database/seeds/.gitkeep
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/database/seeds/ConstantsSeeder.php b/app/database/seeds/ConstantsSeeder.php
deleted file mode 100755
index 53e3a26cf6d8..000000000000
--- a/app/database/seeds/ConstantsSeeder.php
+++ /dev/null
@@ -1,327 +0,0 @@
-first_name = 'Hillel';
- $contact->last_name = 'Hillel';
- $contact->email = 'hillelcoren@gmail.com';
- $contact->last_name = '2125551234';
- $client->contacts()->save($contact);
-
- $invoice = new Invoice;
- $invoice->invoice_number = '0001';
- $client->invoices()->save($invoice);
-
- $invoice = new Invoice;
- $invoice->invoice_number = '0002';
- $client->invoices()->save($invoice);
-
- $invoice = new Invoice;
- $invoice->invoice_number = '0003';
- $client->invoices()->save($invoice);
-
- $invoice = new Invoice;
- $invoice->invoice_number = '0004';
- $client->invoices()->save($invoice);
- */
-
- PaymentType::create(array('name' => 'Apply Credit'));
- PaymentType::create(array('name' => 'Bank Transfer'));
- PaymentType::create(array('name' => 'Cash'));
- PaymentType::create(array('name' => 'Debit'));
- PaymentType::create(array('name' => 'ACH'));
- PaymentType::create(array('name' => 'Visa Card'));
- PaymentType::create(array('name' => 'MasterCard'));
- PaymentType::create(array('name' => 'American Express'));
- PaymentType::create(array('name' => 'Discover Card'));
- PaymentType::create(array('name' => 'Diners Card'));
- PaymentType::create(array('name' => 'EuroCard'));
- PaymentType::create(array('name' => 'Nova'));
- PaymentType::create(array('name' => 'Credit Card Other'));
- PaymentType::create(array('name' => 'PayPal'));
- PaymentType::create(array('name' => 'Google Wallet'));
- PaymentType::create(array('name' => 'Check'));
-
- Theme::create(array('name' => 'amelia'));
- Theme::create(array('name' => 'cerulean'));
- Theme::create(array('name' => 'cosmo'));
- Theme::create(array('name' => 'cyborg'));
- Theme::create(array('name' => 'flatly'));
- Theme::create(array('name' => 'journal'));
- Theme::create(array('name' => 'readable'));
- Theme::create(array('name' => 'simplex'));
- Theme::create(array('name' => 'slate'));
- Theme::create(array('name' => 'spacelab'));
- Theme::create(array('name' => 'united'));
- Theme::create(array('name' => 'yeti'));
-
- InvoiceStatus::create(array('name' => 'Draft'));
- InvoiceStatus::create(array('name' => 'Sent'));
- InvoiceStatus::create(array('name' => 'Viewed'));
- InvoiceStatus::create(array('name' => 'Partial'));
- InvoiceStatus::create(array('name' => 'Paid'));
-
- Frequency::create(array('name' => 'Weekly'));
- Frequency::create(array('name' => 'Two weeks'));
- Frequency::create(array('name' => 'Four weeks'));
- Frequency::create(array('name' => 'Monthly'));
- Frequency::create(array('name' => 'Three months'));
- Frequency::create(array('name' => 'Six months'));
- Frequency::create(array('name' => 'Annually'));
-
- Industry::create(array('name' => 'Accounting & Legal'));
- Industry::create(array('name' => 'Advertising'));
- Industry::create(array('name' => 'Aerospace'));
- Industry::create(array('name' => 'Agriculture'));
- Industry::create(array('name' => 'Automotive'));
- Industry::create(array('name' => 'Banking & Finance'));
- Industry::create(array('name' => 'Biotechnology'));
- Industry::create(array('name' => 'Broadcasting'));
- Industry::create(array('name' => 'Business Services'));
- Industry::create(array('name' => 'Commodities & Chemicals'));
- Industry::create(array('name' => 'Communications'));
- Industry::create(array('name' => 'Computers & Hightech'));
- Industry::create(array('name' => 'Defense'));
- Industry::create(array('name' => 'Energy'));
- Industry::create(array('name' => 'Entertainment'));
- Industry::create(array('name' => 'Government'));
- Industry::create(array('name' => 'Healthcare & Life Sciences'));
- Industry::create(array('name' => 'Insurance'));
- Industry::create(array('name' => 'Manufacturing'));
- Industry::create(array('name' => 'Marketing'));
- Industry::create(array('name' => 'Media'));
- Industry::create(array('name' => 'Nonprofit & Higher Ed'));
- Industry::create(array('name' => 'Pharmaceuticals'));
- Industry::create(array('name' => 'Professional Services & Consulting'));
- Industry::create(array('name' => 'Real Estate'));
- Industry::create(array('name' => 'Retail & Wholesale'));
- Industry::create(array('name' => 'Sports'));
- Industry::create(array('name' => 'Transportation'));
- Industry::create(array('name' => 'Travel & Luxury'));
- Industry::create(array('name' => 'Other'));
- Industry::create(array('name' => 'Photography'));
-
- Size::create(array('name' => '1 - 3'));
- Size::create(array('name' => '4 - 10'));
- Size::create(array('name' => '11 - 50'));
- Size::create(array('name' => '51 - 100'));
- Size::create(array('name' => '101 - 500'));
- Size::create(array('name' => '500+'));
-
- PaymentTerm::create(array('num_days' => 7, 'name' => 'Net 7'));
- PaymentTerm::create(array('num_days' => 10, 'name' => 'Net 10'));
- PaymentTerm::create(array('num_days' => 14, 'name' => 'Net 14'));
- PaymentTerm::create(array('num_days' => 15, 'name' => 'Net 15'));
- PaymentTerm::create(array('num_days' => 30, 'name' => 'Net 30'));
- PaymentTerm::create(array('num_days' => 60, 'name' => 'Net 60'));
- PaymentTerm::create(array('num_days' => 90, 'name' => 'Net 90'));
-
- Currency::create(array('name' => 'US Dollar', 'code' => 'USD', 'symbol' => '$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Pound Sterling', 'code' => 'GBP', 'symbol' => '£', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Euro', 'code' => 'EUR', 'symbol' => '€', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Rand', 'code' => 'ZAR', 'symbol' => 'R', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Danish Krone', 'code' => 'DKK', 'symbol' => 'kr ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Israeli Shekel', 'code' => 'ILS', 'symbol' => 'NIS ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Swedish Krona', 'code' => 'SEK', 'symbol' => 'kr ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Kenyan Shilling', 'code' => 'KES', 'symbol' => 'KSh ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Canadian Dollar', 'code' => 'CAD', 'symbol' => 'C$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Philippine Peso', 'code' => 'PHP', 'symbol' => 'P ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Indian Rupee', 'code' => 'INR', 'symbol' => 'Rs. ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Australian Dollar', 'code' => 'AUD', 'symbol' => '$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Singapore Dollar', 'code' => 'SGD', 'symbol' => 'SGD ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Norske Kroner', 'code' => 'NOK', 'symbol' => 'kr ', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'New Zealand Dollar', 'code' => 'NZD', 'symbol' => '$', 'precision' => '2', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Vietnamese Dong', 'code' => 'VND', 'symbol' => 'VND ', 'precision' => '0', 'thousand_separator' => ',', 'decimal_separator' => '.'));
- Currency::create(array('name' => 'Swiss Franc', 'code' => 'CHF', 'symbol' => 'CHF ', 'precision' => '2', 'thousand_separator' => '\'', 'decimal_separator' => '.'));
-
-
- DatetimeFormat::create(array('format' => 'd/M/Y g:i a', 'label' => '10/Mar/2013'));
- DatetimeFormat::create(array('format' => 'd-M-Yk g:i a', 'label' => '10-Mar-2013'));
- DatetimeFormat::create(array('format' => 'd/F/Y g:i a', 'label' => '10/March/2013'));
- DatetimeFormat::create(array('format' => 'd-F-Y g:i a', 'label' => '10-March-2013'));
- DatetimeFormat::create(array('format' => 'M j, Y g:i a', 'label' => 'Mar 10, 2013 6:15 pm'));
- DatetimeFormat::create(array('format' => 'F j, Y g:i a', 'label' => 'March 10, 2013 6:15 pm'));
- DatetimeFormat::create(array('format' => 'D M jS, Y g:ia', 'label' => 'Mon March 10th, 2013 6:15 pm'));
-
- DateFormat::create(array('format' => 'd/M/Y', 'picker_format' => 'dd/M/yyyy', 'label' => '10/Mar/2013'));
- DateFormat::create(array('format' => 'd-M-Y', 'picker_format' => 'dd-M-yyyy', 'label' => '10-Mar-2013'));
- DateFormat::create(array('format' => 'd/F/Y', 'picker_format' => 'dd/MM/yyyy', 'label' => '10/March/2013'));
- DateFormat::create(array('format' => 'd-F-Y', 'picker_format' => 'dd-MM-yyyy', 'label' => '10-March-2013'));
- DateFormat::create(array('format' => 'M j, Y', 'picker_format' => 'M d, yyyy', 'label' => 'Mar 10, 2013'));
- DateFormat::create(array('format' => 'F j, Y', 'picker_format' => 'MM d, yyyy', 'label' => 'March 10, 2013'));
- DateFormat::create(array('format' => 'D M j, Y', 'picker_format' => 'D MM d, yyyy', 'label' => 'Mon March 10, 2013'));
-
- PaymentLibrary::create(['name' => 'Omnipay']);
- PaymentLibrary::create(['name' => 'PHP-Payments']);
-
- /*
- d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05.
- D, DD: Abbreviated and full weekday names, respectively. Eg, Mon, Monday.
- m, mm: Numeric month, no leading zero and leading zero, respectively. Eg, 7, 07.
- M, MM: Abbreviated and full month names, respectively. Eg, Jan, January
- yy, yyyy: 2- and 4-digit years, respectively. Eg, 12, 2012.)
- */
-
- $gateways = [
- array('name'=>'Authorize.Net AIM', 'provider'=>'AuthorizeNet_AIM'),
- array('name'=>'Authorize.Net SIM', 'provider'=>'AuthorizeNet_SIM'),
- array('name'=>'CardSave', 'provider'=>'CardSave'),
- array('name'=>'Eway Rapid', 'provider'=>'Eway_Rapid'),
- array('name'=>'FirstData Connect', 'provider'=>'FirstData_Connect'),
- array('name'=>'GoCardless', 'provider'=>'GoCardless'),
- array('name'=>'Migs ThreeParty', 'provider'=>'Migs_ThreeParty'),
- array('name'=>'Migs TwoParty', 'provider'=>'Migs_TwoParty'),
- array('name'=>'Mollie', 'provider'=>'Mollie'),
- array('name'=>'MultiSafepay', 'provider'=>'MultiSafepay'),
- array('name'=>'Netaxept', 'provider'=>'Netaxept'),
- array('name'=>'NetBanx', 'provider'=>'NetBanx'),
- array('name'=>'PayFast', 'provider'=>'PayFast'),
- array('name'=>'Payflow Pro', 'provider'=>'Payflow_Pro'),
- array('name'=>'PaymentExpress PxPay', 'provider'=>'PaymentExpress_PxPay'),
- array('name'=>'PaymentExpress PxPost', 'provider'=>'PaymentExpress_PxPost'),
- array('name'=>'PayPal Express', 'provider'=>'PayPal_Express'),
- array('name'=>'PayPal Pro', 'provider'=>'PayPal_Pro'),
- array('name'=>'Pin', 'provider'=>'Pin'),
- array('name'=>'SagePay Direct', 'provider'=>'SagePay_Direct'),
- array('name'=>'SagePay Server', 'provider'=>'SagePay_Server'),
- array('name'=>'SecurePay DirectPost', 'provider'=>'SecurePay_DirectPost'),
- array('name'=>'Stripe', 'provider'=>'Stripe'),
- array('name'=>'TargetPay Direct eBanking', 'provider'=>'TargetPay_Directebanking'),
- array('name'=>'TargetPay Ideal', 'provider'=>'TargetPay_Ideal'),
- array('name'=>'TargetPay Mr Cash', 'provider'=>'TargetPay_Mrcash'),
- array('name'=>'TwoCheckout', 'provider'=>'TwoCheckout'),
- array('name'=>'WorldPay', 'provider'=>'WorldPay'),
- ];
-
- foreach ($gateways as $gateway)
- {
- Gateway::create($gateway);
- }
-
- $timezones = array(
- 'Pacific/Midway' => "(GMT-11:00) Midway Island",
- 'US/Samoa' => "(GMT-11:00) Samoa",
- 'US/Hawaii' => "(GMT-10:00) Hawaii",
- 'US/Alaska' => "(GMT-09:00) Alaska",
- 'US/Pacific' => "(GMT-08:00) Pacific Time (US & Canada)",
- 'America/Tijuana' => "(GMT-08:00) Tijuana",
- 'US/Arizona' => "(GMT-07:00) Arizona",
- 'US/Mountain' => "(GMT-07:00) Mountain Time (US & Canada)",
- 'America/Chihuahua' => "(GMT-07:00) Chihuahua",
- 'America/Mazatlan' => "(GMT-07:00) Mazatlan",
- 'America/Mexico_City' => "(GMT-06:00) Mexico City",
- 'America/Monterrey' => "(GMT-06:00) Monterrey",
- 'Canada/Saskatchewan' => "(GMT-06:00) Saskatchewan",
- 'US/Central' => "(GMT-06:00) Central Time (US & Canada)",
- 'US/Eastern' => "(GMT-05:00) Eastern Time (US & Canada)",
- 'US/East-Indiana' => "(GMT-05:00) Indiana (East)",
- 'America/Bogota' => "(GMT-05:00) Bogota",
- 'America/Lima' => "(GMT-05:00) Lima",
- 'America/Caracas' => "(GMT-04:30) Caracas",
- 'Canada/Atlantic' => "(GMT-04:00) Atlantic Time (Canada)",
- 'America/La_Paz' => "(GMT-04:00) La Paz",
- 'America/Santiago' => "(GMT-04:00) Santiago",
- 'Canada/Newfoundland' => "(GMT-03:30) Newfoundland",
- 'America/Buenos_Aires' => "(GMT-03:00) Buenos Aires",
- 'Greenland' => "(GMT-03:00) Greenland",
- 'Atlantic/Stanley' => "(GMT-02:00) Stanley",
- 'Atlantic/Azores' => "(GMT-01:00) Azores",
- 'Atlantic/Cape_Verde' => "(GMT-01:00) Cape Verde Is.",
- 'Africa/Casablanca' => "(GMT) Casablanca",
- 'Europe/Dublin' => "(GMT) Dublin",
- 'Europe/Lisbon' => "(GMT) Lisbon",
- 'Europe/London' => "(GMT) London",
- 'Africa/Monrovia' => "(GMT) Monrovia",
- 'Europe/Amsterdam' => "(GMT+01:00) Amsterdam",
- 'Europe/Belgrade' => "(GMT+01:00) Belgrade",
- 'Europe/Berlin' => "(GMT+01:00) Berlin",
- 'Europe/Bratislava' => "(GMT+01:00) Bratislava",
- 'Europe/Brussels' => "(GMT+01:00) Brussels",
- 'Europe/Budapest' => "(GMT+01:00) Budapest",
- 'Europe/Copenhagen' => "(GMT+01:00) Copenhagen",
- 'Europe/Ljubljana' => "(GMT+01:00) Ljubljana",
- 'Europe/Madrid' => "(GMT+01:00) Madrid",
- 'Europe/Paris' => "(GMT+01:00) Paris",
- 'Europe/Prague' => "(GMT+01:00) Prague",
- 'Europe/Rome' => "(GMT+01:00) Rome",
- 'Europe/Sarajevo' => "(GMT+01:00) Sarajevo",
- 'Europe/Skopje' => "(GMT+01:00) Skopje",
- 'Europe/Stockholm' => "(GMT+01:00) Stockholm",
- 'Europe/Vienna' => "(GMT+01:00) Vienna",
- 'Europe/Warsaw' => "(GMT+01:00) Warsaw",
- 'Europe/Zagreb' => "(GMT+01:00) Zagreb",
- 'Europe/Athens' => "(GMT+02:00) Athens",
- 'Europe/Bucharest' => "(GMT+02:00) Bucharest",
- 'Africa/Cairo' => "(GMT+02:00) Cairo",
- 'Africa/Harare' => "(GMT+02:00) Harare",
- 'Europe/Helsinki' => "(GMT+02:00) Helsinki",
- 'Europe/Istanbul' => "(GMT+02:00) Istanbul",
- 'Asia/Jerusalem' => "(GMT+02:00) Jerusalem",
- 'Europe/Kiev' => "(GMT+02:00) Kyiv",
- 'Europe/Minsk' => "(GMT+02:00) Minsk",
- 'Europe/Riga' => "(GMT+02:00) Riga",
- 'Europe/Sofia' => "(GMT+02:00) Sofia",
- 'Europe/Tallinn' => "(GMT+02:00) Tallinn",
- 'Europe/Vilnius' => "(GMT+02:00) Vilnius",
- 'Asia/Baghdad' => "(GMT+03:00) Baghdad",
- 'Asia/Kuwait' => "(GMT+03:00) Kuwait",
- 'Africa/Nairobi' => "(GMT+03:00) Nairobi",
- 'Asia/Riyadh' => "(GMT+03:00) Riyadh",
- 'Asia/Tehran' => "(GMT+03:30) Tehran",
- 'Europe/Moscow' => "(GMT+04:00) Moscow",
- 'Asia/Baku' => "(GMT+04:00) Baku",
- 'Europe/Volgograd' => "(GMT+04:00) Volgograd",
- 'Asia/Muscat' => "(GMT+04:00) Muscat",
- 'Asia/Tbilisi' => "(GMT+04:00) Tbilisi",
- 'Asia/Yerevan' => "(GMT+04:00) Yerevan",
- 'Asia/Kabul' => "(GMT+04:30) Kabul",
- 'Asia/Karachi' => "(GMT+05:00) Karachi",
- 'Asia/Tashkent' => "(GMT+05:00) Tashkent",
- 'Asia/Kolkata' => "(GMT+05:30) Kolkata",
- 'Asia/Kathmandu' => "(GMT+05:45) Kathmandu",
- 'Asia/Yekaterinburg' => "(GMT+06:00) Ekaterinburg",
- 'Asia/Almaty' => "(GMT+06:00) Almaty",
- 'Asia/Dhaka' => "(GMT+06:00) Dhaka",
- 'Asia/Novosibirsk' => "(GMT+07:00) Novosibirsk",
- 'Asia/Bangkok' => "(GMT+07:00) Bangkok",
- 'Asia/Ho_Chi_Minh' => "(GMT+07.00) Ho Chi Minh",
- 'Asia/Jakarta' => "(GMT+07:00) Jakarta",
- 'Asia/Krasnoyarsk' => "(GMT+08:00) Krasnoyarsk",
- 'Asia/Chongqing' => "(GMT+08:00) Chongqing",
- 'Asia/Hong_Kong' => "(GMT+08:00) Hong Kong",
- 'Asia/Kuala_Lumpur' => "(GMT+08:00) Kuala Lumpur",
- 'Australia/Perth' => "(GMT+08:00) Perth",
- 'Asia/Singapore' => "(GMT+08:00) Singapore",
- 'Asia/Taipei' => "(GMT+08:00) Taipei",
- 'Asia/Ulaanbaatar' => "(GMT+08:00) Ulaan Bataar",
- 'Asia/Urumqi' => "(GMT+08:00) Urumqi",
- 'Asia/Irkutsk' => "(GMT+09:00) Irkutsk",
- 'Asia/Seoul' => "(GMT+09:00) Seoul",
- 'Asia/Tokyo' => "(GMT+09:00) Tokyo",
- 'Australia/Adelaide' => "(GMT+09:30) Adelaide",
- 'Australia/Darwin' => "(GMT+09:30) Darwin",
- 'Asia/Yakutsk' => "(GMT+10:00) Yakutsk",
- 'Australia/Brisbane' => "(GMT+10:00) Brisbane",
- 'Australia/Canberra' => "(GMT+10:00) Canberra",
- 'Pacific/Guam' => "(GMT+10:00) Guam",
- 'Australia/Hobart' => "(GMT+10:00) Hobart",
- 'Australia/Melbourne' => "(GMT+10:00) Melbourne",
- 'Pacific/Port_Moresby' => "(GMT+10:00) Port Moresby",
- 'Australia/Sydney' => "(GMT+10:00) Sydney",
- 'Asia/Vladivostok' => "(GMT+11:00) Vladivostok",
- 'Asia/Magadan' => "(GMT+12:00) Magadan",
- 'Pacific/Auckland' => "(GMT+12:00) Auckland",
- 'Pacific/Fiji' => "(GMT+12:00) Fiji",
- );
-
- foreach ($timezones as $name => $location) {
- Timezone::create(array('name'=>$name, 'location'=>$location));
- }
- }
-}
diff --git a/app/database/seeds/CountriesSeeder.php b/app/database/seeds/CountriesSeeder.php
deleted file mode 100755
index 7fe9c9e3fb05..000000000000
--- a/app/database/seeds/CountriesSeeder.php
+++ /dev/null
@@ -1,37 +0,0 @@
-delete();
-
- //Get all of the countries
- $countries = Countries::getList();
- foreach ($countries as $countryId => $country){
- DB::table('countries')->insert(array(
- 'id' => $countryId,
- 'capital' => ((isset($country['capital'])) ? $country['capital'] : null),
- 'citizenship' => ((isset($country['citizenship'])) ? $country['citizenship'] : null),
- 'country_code' => $country['country-code'],
- 'currency' => ((isset($country['currency'])) ? $country['currency'] : null),
- 'currency_code' => ((isset($country['currency_code'])) ? $country['currency_code'] : null),
- 'currency_sub_unit' => ((isset($country['currency_sub_unit'])) ? $country['currency_sub_unit'] : null),
- 'full_name' => ((isset($country['full_name'])) ? $country['full_name'] : null),
- 'iso_3166_2' => $country['iso_3166_2'],
- 'iso_3166_3' => $country['iso_3166_3'],
- 'name' => $country['name'],
- 'region_code' => $country['region-code'],
- 'sub_region_code' => $country['sub-region-code'],
- 'eea' => (bool)$country['eea']
- ));
- }
- }
-}
\ No newline at end of file
diff --git a/app/database/seeds/DatabaseSeeder.php b/app/database/seeds/DatabaseSeeder.php
deleted file mode 100755
index 955e643203b9..000000000000
--- a/app/database/seeds/DatabaseSeeder.php
+++ /dev/null
@@ -1,26 +0,0 @@
-command->info('Running DatabaseSeeder');
-
- Eloquent::unguard();
-
- $this->call('UserTableSeeder');
- $this->call('ConstantsSeeder');
-
- $this->call('CountriesSeeder');
- $this->command->info('Seeded the countries!');
-
- $this->call('PaymentLibrariesSeeder');
- $this->command->info('Seeded the Payment Libraries!');
- }
-
-}
\ No newline at end of file
diff --git a/app/database/seeds/PaymentLibrariesSeeder.php b/app/database/seeds/PaymentLibrariesSeeder.php
deleted file mode 100644
index 186b656f769f..000000000000
--- a/app/database/seeds/PaymentLibrariesSeeder.php
+++ /dev/null
@@ -1,35 +0,0 @@
- 'BeanStream', 'provider' => 'BeanStream', 'payment_library_id' => 2],
- ['name' => 'Psigate', 'provider' => 'Psigate', 'payment_library_id' => 2],
- ['name' => 'moolah', 'provider' => 'AuthorizeNet_AIM', 'sort_order' => 1, 'recommended' => 1, 'site_url' => 'https://invoiceninja.mymoolah.com/', 'payment_library_id' => 1],
- ['name' => 'Alipay', 'provider' => 'Alipay_Express', 'payment_library_id' => 1],
- ['name' => 'Buckaroo', 'provider' => 'Buckaroo_CreditCard', 'payment_library_id' => 1],
- ['name' => 'Coinbase', 'provider' => 'Coinbase', 'payment_library_id' => 1],
- ['name' => 'DataCash', 'provider' => 'DataCash', 'payment_library_id' => 1],
- ['name' => 'Neteller', 'provider' => 'Neteller', 'payment_library_id' => 1],
- ['name' => 'Pacnet', 'provider' => 'Pacnet', 'payment_library_id' => 1],
- ['name' => 'PaymentSense', 'provider' => 'PaymentSense', 'payment_library_id' => 1],
- ['name' => 'Realex', 'provider' => 'Realex_Remote', 'payment_library_id' => 1],
- ['name' => 'Sisow', 'provider' => 'Sisow', 'payment_library_id' => 1],
- ['name' => 'Skrill', 'provider' => 'Skrill', 'payment_library_id' => 1]
- ];
-
- foreach ($gateways as $gateway)
- {
- if (!DB::table('gateways')->where('name', '=', $gateway['name'])->get())
- {
- Gateway::create($gateway);
- }
- }
-
- }
-}
\ No newline at end of file
diff --git a/app/database/seeds/SecurePaymentFormSeeder.php b/app/database/seeds/SecurePaymentFormSeeder.php
deleted file mode 100644
index 77bbe1ba6cf2..000000000000
--- a/app/database/seeds/SecurePaymentFormSeeder.php
+++ /dev/null
@@ -1,187 +0,0 @@
-delete();
- DB::table('invoices')->delete();
- DB::table('contacts')->delete();
- DB::table('clients')->delete();
- DB::table('account_gateways')->delete();
- //To reset the auto increment
- $statement = "
- ALTER TABLE invitations AUTO_INCREMENT = 1;
- ALTER TABLE invoices AUTO_INCREMENT = 1;
- ALTER TABLE contacts AUTO_INCREMENT = 1;
- ALTER TABLE clients AUTO_INCREMENT = 1;
- ALTER TABLE account_gateways AUTO_INCREMENT = 1;
- ";
-
- DB::unprepared($statement);
-
- //$firstName = 'Oscar';
-// $lastName = 'Thompson';
-// $firstName_2 = 'Philip';
-// $lastName_2 = 'Jonsson';
-//
-// $user = AccountGateway::create(array(
-// 'account_id' => 1,
-// 'user_id' => 1,
-// 'gateway_id' => 4,
-// 'config' => '{"bla":"vla","bli":"cla"}',
-// 'public_id' => 1,
-// 'accepted_credit_cards' => 8
-// ));
-//
-// $user2 = AccountGateway::create(array(
-// 'account_id' => 2,
-// 'user_id' => 2,
-// 'gateway_id' => 5,
-// 'config' => '{"bla":"vla","bli":"cla"}',
-// 'public_id' => 2,
-// 'accepted_credit_cards' => 7
-// ));
-//
-// $client = Client::create(array(
-// 'user_id' => 1,
-// 'account_id' => 1,
-// 'currency_id' => 1,
-// 'name' => $firstName.' '.$lastName,
-// 'address1' => '2119 Howe Course',
-// 'address2' => '2118 Howe Course',
-// 'city' => 'West Chazport',
-// 'state' => 'Utah',
-// 'postal_code' => '31572',
-// 'country_id' => 752,
-// 'work_phone' => '012-345678',
-// 'private_notes' => 'bla bla bla bla bla bla bla',
-// 'balance' => 10.4,
-// 'paid_to_date' => 10.2,
-// 'website' => 'awebsite.com',
-// 'industry_id' => 8,
-// 'is_deleted' => 0,
-// 'payment_terms' => 2,
-// 'public_id' => 1,
-// 'custom_value1' => $firstName,
-// 'custom_value2' => $firstName
-// ));
-//
-// $client2 = Client::create(array(
-// 'user_id' => 2,
-// 'account_id' => 2,
-// 'currency_id' => 1,
-// 'name' => $firstName_2.' '.$lastName_2,
-// 'address1' => '1118 Muma Road',
-// 'address2' => '1118 Muma Road',
-// 'city' => 'New Orleans',
-// 'state' => 'Arizona',
-// 'postal_code' => '31572',
-// 'country_id' => 752,
-// 'work_phone' => '012-345678',
-// 'private_notes' => 'bla bla bla bla bla bla bla',
-// 'balance' => 10.4,
-// 'paid_to_date' => 10.2,
-// 'website' => 'bodosite.com',
-// 'industry_id' => 8,
-// 'is_deleted' => 0,
-// 'payment_terms' => 2,
-// 'public_id' => 1,
-// 'custom_value1' => $firstName_2,
-// 'custom_value2' => $firstName_2
-// ));
-//
-// $contact = Contact::create(array(
-// 'account_id' => 1,
-// 'user_id' => 1,
-// 'client_id' => 1,
-// 'is_primary' => 0,
-// 'send_invoice' => 0,
-// 'first_name' => $firstName,
-// 'last_name' => $lastName,
-// 'email' => 'an@email.com',
-// 'phone' => '012-345678',
-// 'public_id' => 1
-// ));
-//
-// $contact2 = Contact::create(array(
-// 'account_id' => 2,
-// 'user_id' => 2,
-// 'client_id' => 2,
-// 'is_primary' => 0,
-// 'send_invoice' => 0,
-// 'first_name' => $firstName_2,
-// 'last_name' => $lastName_2,
-// 'email' => 'the@email.com',
-// 'phone' => '012-345678',
-// 'public_id' => 2
-// ));
-//
-// $invoice = Invoice::create(array(
-// 'client_id' => 1,
-// 'user_id' => 1,
-// 'account_id' => 1,
-// 'invoice_number' => 1,
-// 'discount' => 0.4,
-// 'po_number' => $firstName,
-// 'terms' => 'bla bla bla bla bla bla bla',
-// 'public_notes' => 'bla bla bla bla bla bla bla',
-// 'is_deleted' => 0,
-// 'is_recurring' => 0,
-// 'frequency_id' => 1,
-// 'tax_name' => 'moms',
-// 'tax_rate' => 33.0,
-// 'amount' => 10.0,
-// 'balance' => 8.0,
-// 'public_id' => 1,
-// 'is_quote' => 0
-// ));
-//
-// $invoice2 = Invoice::create(array(
-// 'client_id' => 2,
-// 'user_id' => 2,
-// 'account_id' => 2,
-// 'invoice_number' => 2,
-// 'discount' => 0.4,
-// 'po_number' => $firstName_2,
-// 'terms' => 'bla bla bla bla bla bla bla',
-// 'public_notes' => 'bla bla bla bla bla bla bla',
-// 'is_deleted' => 0,
-// 'is_recurring' => 0,
-// 'frequency_id' => 1,
-// 'tax_name' => 'moms',
-// 'tax_rate' => 33.0,
-// 'amount' => 10.0,
-// 'balance' => 8.0,
-// 'public_id' => 2,
-// 'is_quote' => 0
-// ));
-//
-// $invitation = Invitation::create(array(
-// 'account_id' => 1,
-// 'user_id' => 1,
-// 'contact_id' => 1,
-// 'invoice_id' => 1,
-// 'invitation_key' => 'aaabbb',
-// 'transaction_reference' => 'bla bla bla bla bla bla bla',
-// 'public_id' => 1
-// ));
-//
-// $invitation2 = Invitation::create(array(
-// 'account_id' => 2,
-// 'user_id' => 2,
-// 'contact_id' => 2,
-// 'invoice_id' => 2,
-// 'invitation_key' => 'cccddd',
-// 'transaction_reference' => 'bla bla bla bla bla bla bla',
-// 'public_id' => 2
-// ));
- }
-}
\ No newline at end of file
diff --git a/app/database/seeds/UserTableSeeder.php b/app/database/seeds/UserTableSeeder.php
deleted file mode 100755
index 4250450755d8..000000000000
--- a/app/database/seeds/UserTableSeeder.php
+++ /dev/null
@@ -1,11 +0,0 @@
-version != NINJA_VERSION) {
- $params = [
- 'user_version' => NINJA_VERSION,
- 'latest_version'=> $data->version,
- 'releases_link' => link_to(RELEASES_URL, 'Invoice Ninja', ['target' => '_blank'])
- ];
- Session::put('news_feed_id', NEW_VERSION_AVAILABLE);
- Session::put('news_feed_message', trans('texts.new_version_available', $params));
- } else {
- Session::put('news_feed_id', $data->id);
- if ($data->message && $data->id > Auth::user()->news_feed_id) {
- Session::put('news_feed_message', $data->message);
- }
- }
- } else {
- Session::put('news_feed_id', true);
- }
- }
- }
-
- // Check if we're requesting to change the account's language
- if (Input::has('lang'))
- {
- $locale = Input::get('lang');
- App::setLocale($locale);
- Session::set(SESSION_LOCALE, $locale);
-
- if (Auth::check())
- {
- if ($language = Language::whereLocale($locale)->first())
- {
- $account = Auth::user()->account;
- $account->language_id = $language->id;
- $account->save();
- }
- }
- }
- else if (Auth::check())
- {
- $locale = Session::get(SESSION_LOCALE, DEFAULT_LOCALE);
- App::setLocale($locale);
- }
-
- // Make sure the account/user localization settings are in the session
- if (Auth::check() && !Session::has(SESSION_TIMEZONE))
- {
- Event::fire('user.refresh');
- }
-
- // Check if the user is claiming a license (ie, additional invoices, white label, etc.)
- $claimingLicense = Utils::startsWith($_SERVER['REQUEST_URI'], '/claim_license');
- if (!$claimingLicense && Input::has('license_key') && Input::has('product_id'))
- {
- $licenseKey = Input::get('license_key');
- $productId = Input::get('product_id');
-
- $data = trim(file_get_contents((Utils::isNinjaDev() ? 'http://ninja.dev' : NINJA_APP_URL) . "/claim_license?license_key={$licenseKey}&product_id={$productId}"));
-
- if ($productId == PRODUCT_INVOICE_DESIGNS)
- {
- if ($data = json_decode($data))
- {
- foreach ($data as $item)
- {
- $design = new InvoiceDesign();
- $design->id = $item->id;
- $design->name = $item->name;
- $design->javascript = $item->javascript;
- $design->save();
- }
-
- if (!Utils::isNinjaProd()) {
- Cache::forget('invoice_designs_cache_' . Auth::user()->maxInvoiceDesignId());
- }
-
- Session::flash('message', trans('texts.bought_designs'));
- }
- }
- else if ($productId == PRODUCT_WHITE_LABEL)
- {
- if ($data == 'valid')
- {
- $account = Auth::user()->account;
- $account->pro_plan_paid = NINJA_DATE;
- $account->save();
-
- Session::flash('message', trans('texts.bought_white_label'));
- }
- }
- }
-});
-
-
-App::after(function($request, $response)
-{
- //
-});
-
-/*
-|--------------------------------------------------------------------------
-| Authentication Filters
-|--------------------------------------------------------------------------
-|
-| The following filters are used to verify that the user of the current
-| session is logged into this application. The "basic" filter easily
-| integrates HTTP Basic authentication for quick, simple checking.
-|
-*/
-
-Route::filter('auth', function()
-{
- if (Auth::guest())
- {
- if (Utils::isNinja() || Account::count() == 0)
- {
- return Redirect::guest('/');
- }
- else
- {
- return Redirect::guest('/login');
- }
- }
-});
-
-
-Route::filter('auth.basic', function()
-{
- return Auth::basic();
-});
-
-Route::filter('api.access', function()
-{
- $headers = Utils::getApiHeaders();
-
- // check for a valid token
- $token = AccountToken::where('token', '=', Request::header('X-Ninja-Token'))->first(['id', 'user_id']);
-
- if ($token) {
- Auth::loginUsingId($token->user_id);
- Session::set('token_id', $token->id);
- } else {
- sleep(3);
- return Response::make('Invalid token', 403, $headers);
- }
-
- if (!Utils::isNinja()) {
- return null;
- }
-
- if (!Utils::isPro()) {
- return Response::make('API requires pro plan', 403, $headers);
- } else {
- $accountId = Auth::user()->account->id;
-
- // http://stackoverflow.com/questions/1375501/how-do-i-throttle-my-sites-api-users
- $hour = 60 * 60;
- $hour_limit = 100; # users are limited to 100 requests/hour
- $hour_throttle = Cache::get("hour_throttle:{$accountId}", null);
- $last_api_request = Cache::get("last_api_request:{$accountId}", 0);
- $last_api_diff = time() - $last_api_request;
-
- if (is_null($hour_throttle)) {
- $new_hour_throttle = 0;
- } else {
- $new_hour_throttle = $hour_throttle - $last_api_diff;
- $new_hour_throttle = $new_hour_throttle < 0 ? 0 : $new_hour_throttle;
- $new_hour_throttle += $hour / $hour_limit;
- $hour_hits_remaining = floor(( $hour - $new_hour_throttle ) * $hour_limit / $hour);
- $hour_hits_remaining = $hour_hits_remaining >= 0 ? $hour_hits_remaining : 0;
- }
-
- if ($new_hour_throttle > $hour) {
- $wait = ceil($new_hour_throttle - $hour);
- sleep(1);
- return Response::make("Please wait {$wait} second(s)", 403, $headers);
- }
-
- Cache::put("hour_throttle:{$accountId}", $new_hour_throttle, 10);
- Cache::put("last_api_request:{$accountId}", time(), 10);
- }
-
- return null;
-});
-
-
-
-/*
-|--------------------------------------------------------------------------
-| Guest Filter
-|--------------------------------------------------------------------------
-|
-| The "guest" filter is the counterpart of the authentication filters as
-| it simply checks that the current user is not logged in. A redirect
-| response will be issued if they are, which you may freely change.
-|
-*/
-
-Route::filter('guest', function()
-{
- if (Auth::check()) return Redirect::to('/');
-});
-
-/*
-|--------------------------------------------------------------------------
-| CSRF Protection Filter
-|--------------------------------------------------------------------------
-|
-| The CSRF filter is responsible for protecting your application against
-| cross-site request forgery attacks. If this special token in a user
-| session does not match the one given in this request, we'll bail.
-|
-*/
-
-Route::filter('csrf', function()
-{
- if ($_SERVER['REQUEST_URI'] != '/signup/register')
- {
- $token = Request::ajax() ? Request::header('X-CSRF-Token') : Input::get('_token');
-
- if (Session::token() != $token)
- {
- Session::flash('warning', trans('texts.session_expired'));
-
- return Redirect::to('/');
- //throw new Illuminate\Session\TokenMismatchException;
- }
- }
-});
\ No newline at end of file
diff --git a/app/handlers/InvoiceEventHandler.php b/app/handlers/InvoiceEventHandler.php
deleted file mode 100755
index 7b6f4e9cc52b..000000000000
--- a/app/handlers/InvoiceEventHandler.php
+++ /dev/null
@@ -1,51 +0,0 @@
-userMailer = $userMailer;
- $this->contactMailer = $contactMailer;
- }
-
- public function subscribe($events)
- {
- $events->listen('invoice.sent', 'InvoiceEventHandler@onSent');
- $events->listen('invoice.viewed', 'InvoiceEventHandler@onViewed');
- $events->listen('invoice.paid', 'InvoiceEventHandler@onPaid');
- }
-
- public function onSent($invoice)
- {
- $this->sendNotifications($invoice, 'sent');
- }
-
- public function onViewed($invoice)
- {
- $this->sendNotifications($invoice, 'viewed');
- }
-
- public function onPaid($payment)
- {
- $this->contactMailer->sendPaymentConfirmation($payment);
-
- $this->sendNotifications($payment->invoice, 'paid', $payment);
- }
-
- private function sendNotifications($invoice, $type, $payment = null)
- {
- foreach ($invoice->account->users as $user)
- {
- if ($user->{'notify_' . $type})
- {
- $this->userMailer->sendNotification($user, $invoice, $type, $payment);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/app/handlers/UserEventHandler.php b/app/handlers/UserEventHandler.php
deleted file mode 100755
index 19ee6f5de936..000000000000
--- a/app/handlers/UserEventHandler.php
+++ /dev/null
@@ -1,30 +0,0 @@
-listen('user.signup', 'UserEventHandler@onSignup');
- $events->listen('user.login', 'UserEventHandler@onLogin');
-
- $events->listen('user.refresh', 'UserEventHandler@onRefresh');
- }
-
- public function onSignup()
- {
- }
-
- public function onLogin()
- {
- $account = Auth::user()->account;
- $account->last_login = Carbon::now()->toDateTimeString();
- $account->save();
-
- Event::fire('user.refresh');
- }
-
- public function onRefresh()
- {
- Auth::user()->account->loadLocalizationSettings();
- }
-}
diff --git a/app/includes/parsecsv.lib.php b/app/includes/parsecsv.lib.php
deleted file mode 100755
index c5941b9dbcbd..000000000000
--- a/app/includes/parsecsv.lib.php
+++ /dev/null
@@ -1,695 +0,0 @@
-data);
- ----------------
- # tab delimited, and encoding conversion
- $csv = new parseCSV();
- $csv->encoding('UTF-16', 'UTF-8');
- $csv->delimiter = "\t";
- $csv->parse('data.tsv');
- print_r($csv->data);
- ----------------
- # auto-detect delimiter character
- $csv = new parseCSV();
- $csv->auto('data.csv');
- print_r($csv->data);
- ----------------
- # modify data in a csv file
- $csv = new parseCSV();
- $csv->sort_by = 'id';
- $csv->parse('data.csv');
- # "4" is the value of the "id" column of the CSV row
- $csv->data[4] = array('firstname' => 'John', 'lastname' => 'Doe', 'email' => 'john@doe.com');
- $csv->save();
- ----------------
- # add row/entry to end of CSV file
- # - only recommended when you know the extact sctructure of the file
- $csv = new parseCSV();
- $csv->save('data.csv', array('1986', 'Home', 'Nowhere', ''), true);
- ----------------
- # convert 2D array to csv data and send headers
- # to browser to treat output as a file and download it
- $csv = new parseCSV();
- $csv->output (true, 'movies.csv', $array);
- ----------------
-
-
-*/
-
-
- /**
- * Configuration
- * - set these options with $object->var_name = 'value';
- */
-
- # use first line/entry as field names
- var $heading = true;
-
- # override field names
- var $fields = array();
-
- # sort entries by this field
- var $sort_by = null;
- var $sort_reverse = false;
-
- # delimiter (comma) and enclosure (double quote)
- var $delimiter = ',';
- var $enclosure = '"';
-
- # basic SQL-like conditions for row matching
- var $conditions = null;
-
- # number of rows to ignore from beginning of data
- var $offset = null;
-
- # limits the number of returned rows to specified amount
- var $limit = null;
-
- # number of rows to analyze when attempting to auto-detect delimiter
- var $auto_depth = 15;
-
- # characters to ignore when attempting to auto-detect delimiter
- var $auto_non_chars = "a-zA-Z0-9\n\r";
-
- # preferred delimiter characters, only used when all filtering method
- # returns multiple possible delimiters (happens very rarely)
- var $auto_preferred = ",;\t.:|";
-
- # character encoding options
- var $convert_encoding = false;
- var $input_encoding = 'ISO-8859-1';
- var $output_encoding = 'ISO-8859-1';
-
- # used by unparse(), save(), and output() functions
- var $linefeed = "\r\n";
-
- # only used by output() function
- var $output_delimiter = ',';
- var $output_filename = 'data.csv';
-
-
- /**
- * Internal variables
- */
-
- # current file
- var $file;
-
- # loaded file contents
- var $file_data;
-
- # array of field values in data parsed
- var $titles = array();
-
- # two dimentional array of CSV data
- var $data = array();
-
-
- /**
- * Constructor
- * @param input CSV file or string
- * @return nothing
- */
- function parseCSV ($input = null, $offset = null, $limit = null, $conditions = null) {
- if ( $offset !== null ) $this->offset = $offset;
- if ( $limit !== null ) $this->limit = $limit;
- if ( count($conditions) > 0 ) $this->conditions = $conditions;
- if ( !empty($input) ) $this->parse($input);
- }
-
-
- // ==============================================
- // ----- [ Main Functions ] ---------------------
- // ==============================================
-
- /**
- * Parse CSV file or string
- * @param input CSV file or string
- * @return nothing
- */
- function parse ($input = null, $offset = null, $limit = null, $conditions = null) {
- if ( !empty($input) ) {
- if ( $offset !== null ) $this->offset = $offset;
- if ( $limit !== null ) $this->limit = $limit;
- if ( count($conditions) > 0 ) $this->conditions = $conditions;
- if ( is_readable($input) ) {
- $this->data = $this->parse_file($input);
- } else {
- $this->file_data = &$input;
- $this->data = $this->parse_string();
- }
- if ( $this->data === false ) return false;
- }
- return true;
- }
-
- /**
- * Save changes, or new file and/or data
- * @param file file to save to
- * @param data 2D array with data
- * @param append append current data to end of target CSV if exists
- * @param fields field names
- * @return true or false
- */
- function save ($file = null, $data = array(), $append = false, $fields = array()) {
- if ( empty($file) ) $file = &$this->file;
- $mode = ( $append ) ? 'at' : 'wt' ;
- $is_php = ( preg_match('/\.php$/i', $file) ) ? true : false ;
- return $this->_wfile($file, $this->unparse($data, $fields, $append, $is_php), $mode);
- }
-
- /**
- * Generate CSV based string for output
- * @param output if true, prints headers and strings to browser
- * @param filename filename sent to browser in headers if output is true
- * @param data 2D array with data
- * @param fields field names
- * @param delimiter delimiter used to separate data
- * @return CSV data using delimiter of choice, or default
- */
- function output ($output = true, $filename = null, $data = array(), $fields = array(), $delimiter = null) {
- if ( empty($filename) ) $filename = $this->output_filename;
- if ( $delimiter === null ) $delimiter = $this->output_delimiter;
- $data = $this->unparse($data, $fields, null, null, $delimiter);
- if ( $output ) {
- header('Content-type: application/csv');
- header('Content-Disposition: inline; filename="'.$filename.'"');
- echo $data;
- }
- return $data;
- }
-
- /**
- * Convert character encoding
- * @param input input character encoding, uses default if left blank
- * @param output output character encoding, uses default if left blank
- * @return nothing
- */
- function encoding ($input = null, $output = null) {
- $this->convert_encoding = true;
- if ( $input !== null ) $this->input_encoding = $input;
- if ( $output !== null ) $this->output_encoding = $output;
- }
-
- /**
- * Auto-Detect Delimiter: Find delimiter by analyzing a specific number of
- * rows to determine most probable delimiter character
- * @param file local CSV file
- * @param parse true/false parse file directly
- * @param search_depth number of rows to analyze
- * @param preferred preferred delimiter characters
- * @param enclosure enclosure character, default is double quote (").
- * @return delimiter character
- */
- function auto ($file = null, $parse = true, $search_depth = null, $preferred = null, $enclosure = null) {
-
- if ( $file === null ) $file = $this->file;
- if ( empty($search_depth) ) $search_depth = $this->auto_depth;
- if ( $enclosure === null ) $enclosure = $this->enclosure;
-
- if ( $preferred === null ) $preferred = $this->auto_preferred;
-
- if ( empty($this->file_data) ) {
- if ( $this->_check_data($file) ) {
- $data = &$this->file_data;
- } else return false;
- } else {
- $data = &$this->file_data;
- }
-
- $chars = array();
- $strlen = strlen($data);
- $enclosed = false;
- $n = 1;
- $to_end = true;
-
- // walk specific depth finding posssible delimiter characters
- for ( $i=0; $i < $strlen; $i++ ) {
- $ch = $data{$i};
- $nch = ( isset($data{$i+1}) ) ? $data{$i+1} : false ;
- $pch = ( isset($data{$i-1}) ) ? $data{$i-1} : false ;
-
- // open and closing quotes
- if ( $ch == $enclosure && (!$enclosed || $nch != $enclosure) ) {
- $enclosed = ( $enclosed ) ? false : true ;
-
- // inline quotes
- } elseif ( $ch == $enclosure && $enclosed ) {
- $i++;
-
- // end of row
- } elseif ( ($ch == "\n" && $pch != "\r" || $ch == "\r") && !$enclosed ) {
- if ( $n >= $search_depth ) {
- $strlen = 0;
- $to_end = false;
- } else {
- $n++;
- }
-
- // count character
- } elseif (!$enclosed) {
- if ( !preg_match('/['.preg_quote($this->auto_non_chars, '/').']/i', $ch) ) {
- if ( !isset($chars[$ch][$n]) ) {
- $chars[$ch][$n] = 1;
- } else {
- $chars[$ch][$n]++;
- }
- }
- }
- }
-
- // filtering
- $depth = ( $to_end ) ? $n-1 : $n ;
- $filtered = array();
- foreach( $chars as $char => $value ) {
- if ( $match = $this->_check_count($char, $value, $depth, $preferred) ) {
- $filtered[$match] = $char;
- }
- }
-
- // capture most probable delimiter
- ksort($filtered);
- $delimiter = reset($filtered);
- $this->delimiter = $delimiter;
-
- // parse data
- if ( $parse ) $this->data = $this->parse_string();
-
- return $delimiter;
-
- }
-
-
- // ==============================================
- // ----- [ Core Functions ] ---------------------
- // ==============================================
-
- /**
- * Read file to string and call parse_string()
- * @param file local CSV file
- * @return 2D array with CSV data, or false on failure
- */
- function parse_file ($file = null) {
- if ( $file === null ) $file = $this->file;
- if ( empty($this->file_data) ) $this->load_data($file);
- return ( !empty($this->file_data) ) ? $this->parse_string() : false ;
- }
-
- /**
- * Parse CSV strings to arrays
- * @param data CSV string
- * @return 2D array with CSV data, or false on failure
- */
- function parse_string ($data = null) {
- if ( empty($data) ) {
- if ( $this->_check_data() ) {
- $data = &$this->file_data;
- } else return false;
- }
-
- $rows = array();
- $row = array();
- $row_count = 0;
- $current = '';
- $head = ( !empty($this->fields) ) ? $this->fields : array() ;
- $col = 0;
- $enclosed = false;
- $was_enclosed = false;
- $strlen = strlen($data);
-
- // walk through each character
- for ( $i=0; $i < $strlen; $i++ ) {
- $ch = $data{$i};
- $nch = ( isset($data{$i+1}) ) ? $data{$i+1} : false ;
- $pch = ( isset($data{$i-1}) ) ? $data{$i-1} : false ;
-
- // open and closing quotes
- if ( $ch == $this->enclosure && (!$enclosed || $nch != $this->enclosure) ) {
- $enclosed = ( $enclosed ) ? false : true ;
- if ( $enclosed ) $was_enclosed = true;
-
- // inline quotes
- } elseif ( $ch == $this->enclosure && $enclosed ) {
- $current .= $ch;
- $i++;
-
- // end of field/row
- } elseif ( ($ch == $this->delimiter || ($ch == "\n" && $pch != "\r") || $ch == "\r") && !$enclosed ) {
- if ( !$was_enclosed ) $current = trim($current);
- $key = ( !empty($head[$col]) ) ? $head[$col] : $col ;
- $row[$key] = $current;
- $current = '';
- $col++;
-
- // end of row
- if ( $ch == "\n" || $ch == "\r" ) {
- if ( $this->_validate_offset($row_count) && $this->_validate_row_conditions($row, $this->conditions) ) {
- if ( $this->heading && empty($head) ) {
- $head = $row;
- } elseif ( empty($this->fields) || (!empty($this->fields) && (($this->heading && $row_count > 0) || !$this->heading)) ) {
- if ( !empty($this->sort_by) && !empty($row[$this->sort_by]) ) {
- if ( isset($rows[$row[$this->sort_by]]) ) {
- $rows[$row[$this->sort_by].'_0'] = &$rows[$row[$this->sort_by]];
- unset($rows[$row[$this->sort_by]]);
- for ( $sn=1; isset($rows[$row[$this->sort_by].'_'.$sn]); $sn++ ) {}
- $rows[$row[$this->sort_by].'_'.$sn] = $row;
- } else $rows[$row[$this->sort_by]] = $row;
- } else $rows[] = $row;
- }
- }
- $row = array();
- $col = 0;
- $row_count++;
- if ( $this->sort_by === null && $this->limit !== null && count($rows) == $this->limit ) {
- $i = $strlen;
- }
- }
-
- // append character to current field
- } else {
- $current .= $ch;
- }
- }
- $this->titles = $head;
- if ( !empty($this->sort_by) ) {
- ( $this->sort_reverse ) ? krsort($rows) : ksort($rows) ;
- if ( $this->offset !== null || $this->limit !== null ) {
- $rows = array_slice($rows, ($this->offset === null ? 0 : $this->offset) , $this->limit, true);
- }
- }
- return $rows;
- }
-
- /**
- * Create CSV data from array
- * @param data 2D array with data
- * @param fields field names
- * @param append if true, field names will not be output
- * @param is_php if a php die() call should be put on the first
- * line of the file, this is later ignored when read.
- * @param delimiter field delimiter to use
- * @return CSV data (text string)
- */
- function unparse ( $data = array(), $fields = array(), $append = false , $is_php = false, $delimiter = null) {
- if ( !is_array($data) || empty($data) ) $data = &$this->data;
- if ( !is_array($fields) || empty($fields) ) $fields = &$this->titles;
- if ( $delimiter === null ) $delimiter = $this->delimiter;
-
- $string = ( $is_php ) ? "".$this->linefeed : '' ;
- $entry = array();
-
- // create heading
- if ( $this->heading && !$append ) {
- foreach( $fields as $key => $value ) {
- $entry[] = $this->_enclose_value($value);
- }
- $string .= implode($delimiter, $entry).$this->linefeed;
- $entry = array();
- }
-
- // create data
- foreach( $data as $key => $row ) {
- foreach( $row as $field => $value ) {
- $entry[] = $this->_enclose_value($value);
- }
- $string .= implode($delimiter, $entry).$this->linefeed;
- $entry = array();
- }
-
- return $string;
- }
-
- /**
- * Load local file or string
- * @param input local CSV file
- * @return true or false
- */
- function load_data ($input = null) {
- $data = null;
- $file = null;
- if ( $input === null ) {
- $file = $this->file;
- } elseif ( file_exists($input) ) {
- $file = $input;
- } else {
- $data = $input;
- }
- if ( !empty($data) || $data = $this->_rfile($file) ) {
- if ( $this->file != $file ) $this->file = $file;
- if ( preg_match('/\.php$/i', $file) && preg_match('/<\?.*?\?>(.*)/ims', $data, $strip) ) {
- $data = ltrim($strip[1]);
- }
- if ( $this->convert_encoding ) $data = iconv($this->input_encoding, $this->output_encoding, $data);
- if ( substr($data, -1) != "\n" ) $data .= "\n";
- $this->file_data = &$data;
- return true;
- }
- return false;
- }
-
-
- // ==============================================
- // ----- [ Internal Functions ] -----------------
- // ==============================================
-
- /**
- * Validate a row against specified conditions
- * @param row array with values from a row
- * @param conditions specified conditions that the row must match
- * @return true of false
- */
- function _validate_row_conditions ($row = array(), $conditions = null) {
- if ( !empty($row) ) {
- if ( !empty($conditions) ) {
- $conditions = (strpos($conditions, ' OR ') !== false) ? explode(' OR ', $conditions) : array($conditions) ;
- $or = '';
- foreach( $conditions as $key => $value ) {
- if ( strpos($value, ' AND ') !== false ) {
- $value = explode(' AND ', $value);
- $and = '';
- foreach( $value as $k => $v ) {
- $and .= $this->_validate_row_condition($row, $v);
- }
- $or .= (strpos($and, '0') !== false) ? '0' : '1' ;
- } else {
- $or .= $this->_validate_row_condition($row, $value);
- }
- }
- return (strpos($or, '1') !== false) ? true : false ;
- }
- return true;
- }
- return false;
- }
-
- /**
- * Validate a row against a single condition
- * @param row array with values from a row
- * @param condition specified condition that the row must match
- * @return true of false
- */
- function _validate_row_condition ($row, $condition) {
- $operators = array(
- '=', 'equals', 'is',
- '!=', 'is not',
- '<', 'is less than',
- '>', 'is greater than',
- '<=', 'is less than or equals',
- '>=', 'is greater than or equals',
- 'contains',
- 'does not contain',
- );
- $operators_regex = array();
- foreach( $operators as $value ) {
- $operators_regex[] = preg_quote($value, '/');
- }
- $operators_regex = implode('|', $operators_regex);
- if ( preg_match('/^(.+) ('.$operators_regex.') (.+)$/i', trim($condition), $capture) ) {
- $field = $capture[1];
- $op = $capture[2];
- $value = $capture[3];
- if ( preg_match('/^([\'\"]{1})(.*)([\'\"]{1})$/i', $value, $capture) ) {
- if ( $capture[1] == $capture[3] ) {
- $value = $capture[2];
- $value = str_replace("\\n", "\n", $value);
- $value = str_replace("\\r", "\r", $value);
- $value = str_replace("\\t", "\t", $value);
- $value = stripslashes($value);
- }
- }
- if ( array_key_exists($field, $row) ) {
- if ( ($op == '=' || $op == 'equals' || $op == 'is') && $row[$field] == $value ) {
- return '1';
- } elseif ( ($op == '!=' || $op == 'is not') && $row[$field] != $value ) {
- return '1';
- } elseif ( ($op == '<' || $op == 'is less than' ) && $row[$field] < $value ) {
- return '1';
- } elseif ( ($op == '>' || $op == 'is greater than') && $row[$field] > $value ) {
- return '1';
- } elseif ( ($op == '<=' || $op == 'is less than or equals' ) && $row[$field] <= $value ) {
- return '1';
- } elseif ( ($op == '>=' || $op == 'is greater than or equals') && $row[$field] >= $value ) {
- return '1';
- } elseif ( $op == 'contains' && preg_match('/'.preg_quote($value, '/').'/i', $row[$field]) ) {
- return '1';
- } elseif ( $op == 'does not contain' && !preg_match('/'.preg_quote($value, '/').'/i', $row[$field]) ) {
- return '1';
- } else {
- return '0';
- }
- }
- }
- return '1';
- }
-
- /**
- * Validates if the row is within the offset or not if sorting is disabled
- * @param current_row the current row number being processed
- * @return true of false
- */
- function _validate_offset ($current_row) {
- if ( $this->sort_by === null && $this->offset !== null && $current_row < $this->offset ) return false;
- return true;
- }
-
- /**
- * Enclose values if needed
- * - only used by unparse()
- * @param value string to process
- * @return Processed value
- */
- function _enclose_value ($value = null) {
- if ( $value !== null && $value != '' ) {
- $delimiter = preg_quote($this->delimiter, '/');
- $enclosure = preg_quote($this->enclosure, '/');
- if ( preg_match("/".$delimiter."|".$enclosure."|\n|\r/i", $value) || ($value{0} == ' ' || substr($value, -1) == ' ') ) {
- $value = str_replace($this->enclosure, $this->enclosure.$this->enclosure, $value);
- $value = $this->enclosure.$value.$this->enclosure;
- }
- }
- return $value;
- }
-
- /**
- * Check file data
- * @param file local filename
- * @return true or false
- */
- function _check_data ($file = null) {
- if ( empty($this->file_data) ) {
- if ( $file === null ) $file = $this->file;
- return $this->load_data($file);
- }
- return true;
- }
-
-
- /**
- * Check if passed info might be delimiter
- * - only used by find_delimiter()
- * @return special string used for delimiter selection, or false
- */
- function _check_count ($char, $array, $depth, $preferred) {
- if ( $depth == count($array) ) {
- $first = null;
- $equal = null;
- $almost = false;
- foreach( $array as $key => $value ) {
- if ( $first == null ) {
- $first = $value;
- } elseif ( $value == $first && $equal !== false) {
- $equal = true;
- } elseif ( $value == $first+1 && $equal !== false ) {
- $equal = true;
- $almost = true;
- } else {
- $equal = false;
- }
- }
- if ( $equal ) {
- $match = ( $almost ) ? 2 : 1 ;
- $pref = strpos($preferred, $char);
- $pref = ( $pref !== false ) ? str_pad($pref, 3, '0', STR_PAD_LEFT) : '999' ;
- return $pref.$match.'.'.(99999 - str_pad($first, 5, '0', STR_PAD_LEFT));
- } else return false;
- }
- }
-
- /**
- * Read local file
- * @param file local filename
- * @return Data from file, or false on failure
- */
- function _rfile ($file = null) {
- if ( is_readable($file) ) {
- if ( !($fh = fopen($file, 'r')) ) return false;
- $data = fread($fh, filesize($file));
- fclose($fh);
- return $data;
- }
- return false;
- }
-
- /**
- * Write to local file
- * @param file local filename
- * @param string data to write to file
- * @param mode fopen() mode
- * @param lock flock() mode
- * @return true or false
- */
- function _wfile ($file, $string = '', $mode = 'wb', $lock = 2) {
- if ( $fp = fopen($file, $mode) ) {
- flock($fp, $lock);
- $re = fwrite($fp, $string);
- $re2 = fclose($fp);
- if ( $re != false && $re2 != false ) return true;
- }
- return false;
- }
-
-}
-
-?>
\ No newline at end of file
diff --git a/app/lang/da/pagination.php b/app/lang/da/pagination.php
deleted file mode 100644
index f07b64dfa85f..000000000000
--- a/app/lang/da/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Forrige',
-
- 'next' => 'Næste »',
-
-);
\ No newline at end of file
diff --git a/app/lang/da/public.php b/app/lang/da/public.php
deleted file mode 100644
index 24e4d6c04227..000000000000
--- a/app/lang/da/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Gratis Open-Source Online Fakturering',
- 'description' => 'Invoice Ninja er en gratis, open-source løsning til fakturering af kunder. Med Invoice Ninja, kan du nemt opbygge og sende smukke fakturaer fra enhver enhed, der har adgang til internettet. Dine kunder kan printe dine fakturaer, downloade dem som PDF-filer, og endda betale dig online via systemet.',
- 'invoice_now' => 'Fakturér nu',
- 'no_signup_needed' => 'Ingen tilmelding påkrævet',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'Om Os',
- 'link_contact_us' => 'Kontakt Os',
- 'link_features' => 'Funktioner',
- 'link_plans' => 'Løsninger',
- 'link_compare' => 'Sammenlign',
- 'link_testimonials' => 'Anbefalinger',
- 'link_faq' => 'OSS',
-
- 'my_account' => 'Min konto',
- 'login' => 'Login',
- 'connect_with_us' => 'Forbind med os',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Vis/Skjul navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
diff --git a/app/lang/da/reminders.php b/app/lang/da/reminders.php
deleted file mode 100644
index 2c17b1ffeccc..000000000000
--- a/app/lang/da/reminders.php
+++ /dev/null
@@ -1,26 +0,0 @@
- "Passwords skal minimum være 6 tegn og matche sikkerhedstjekket.",
-
- "user" => "Vi kan ikke finde en bruger med den email-adresse.",
-
- "token" => "Password-nulstillingskoden er ugyldig.",
-
- "sent" => "Password-påmindelse sendt!",
-
- "reset" => "Password has been reset!",
-
-);
diff --git a/app/lang/da/texts.php b/app/lang/da/texts.php
deleted file mode 100644
index 9df8d9e79d82..000000000000
--- a/app/lang/da/texts.php
+++ /dev/null
@@ -1,582 +0,0 @@
- 'Organisation',
- 'name' => 'Navn',
- 'id_number' => 'SE/CVR nummer',
- 'vat_number' => 'SE/CVR nummer',
- 'website' => 'Webside',
- 'work_phone' => 'Telefon',
- 'address' => 'Adresse',
- 'address1' => 'Gade',
- 'address2' => 'Nummer',
- 'city' => 'By',
- 'state' => 'Område',
- 'postal_code' => 'Postnummer',
- 'country_id' => 'Land',
- 'contacts' => 'Kontakter',
- 'first_name' => 'Fornavn',
- 'last_name' => 'Efternavn',
- 'phone' => 'Telefon',
- 'email' => 'E-mail',
- 'additional_info' => 'Ekstra information',
- 'payment_terms' => 'Betalingsvilkår',
- 'currency_id' => 'Valuta',
- 'size_id' => 'Størrelse',
- 'industry_id' => 'Sektor',
- 'private_notes' => 'Private notater',
-
- // invoice
- 'invoice' => 'Faktura',
- 'client' => 'Klient',
- 'invoice_date' => 'Faktureringsdato',
- 'due_date' => 'Betalingsfrist',
- 'invoice_number' => 'Fakturanummer',
- 'invoice_number_short' => 'Faktura #',
- 'po_number' => 'Ordrenummer',
- 'po_number_short' => 'Ordre #',
- 'frequency_id' => 'Frekvens',
- 'discount' => 'Rabat',
- 'taxes' => 'Skatter',
- 'tax' => 'Skat',
- 'item' => 'Produkttype',
- 'description' => 'Beskrivelse',
- 'unit_cost' => 'Pris',
- 'quantity' => 'Stk.',
- 'line_total' => 'Sum',
- 'subtotal' => 'Subtotal',
- 'paid_to_date' => 'Betalt',
- 'balance_due' => 'Udestående beløb',
- 'invoice_design_id' => 'Design',
- 'terms' => 'Vilkår',
- 'your_invoice' => 'Din faktura',
-
- 'remove_contact' => 'Fjern kontakt',
- 'add_contact' => 'Tilføj til kontakt',
- 'create_new_client' => 'Opret ny klient',
- 'edit_client_details' => 'Ændre klientdetaljer',
- 'enable' => 'Aktiver',
- 'learn_more' => 'Lær mere',
- 'manage_rates' => 'Administrer priser',
- 'note_to_client' => 'Note til klient',
- 'invoice_terms' => 'Vilkår for fakturaen',
- 'save_as_default_terms' => 'Gem som standard vilkår',
- 'download_pdf' => 'Download PDF',
- 'pay_now' => 'Betal nu',
- 'save_invoice' => 'Gem faktura',
- 'clone_invoice' => 'Kopier faktura',
- 'archive_invoice' => 'Arkiver faktura',
- 'delete_invoice' => 'Slet faktura',
- 'email_invoice' => 'Send faktura som e-mail',
- 'enter_payment' => 'Tilføj betaling',
- 'tax_rates' => 'Skattesatser',
- 'rate' => 'Sats',
- 'settings' => 'Indstillinger',
- 'enable_invoice_tax' => 'Aktiver for at specificere en faktura skat ',
- 'enable_line_item_tax' => 'Aktiver for at specificere per faktura linje skat ',
-
- // navigation
- 'dashboard' => 'Dashboard',
- 'clients' => 'Klienter',
- 'invoices' => 'Fakturaer',
- 'payments' => 'Betalinger',
- 'credits' => 'Kreditter',
- 'history' => 'Historie',
- 'search' => 'Søg',
- 'sign_up' => 'Registrer dig',
- 'guest' => 'Gjest',
- 'company_details' => 'Firmainformation',
- 'online_payments' => 'Online betaling',
- 'notifications' => 'Varsler',
- 'import_export' => 'Import/Export',
- 'done' => 'Færdig',
- 'save' => 'Gem',
- 'create' => 'Opret',
- 'upload' => 'Upload',
- 'import' => 'Importer',
- 'download' => 'Download',
- 'cancel' => 'Afbrud',
- 'close' => 'Luk',
- 'provide_email' => 'Venligst opgiv en gyldig e-mail',
- 'powered_by' => 'Drevet af',
- 'no_items' => 'Ingen elementer',
-
- // recurring invoices
- 'recurring_invoices' => 'Gentagende fakturaer',
- 'recurring_help' => 'Automatisk send klienter de samme fakturaene ugentlig, bi-månedlig, månedlig, kvartalsvis eller årlig.
- Brug :MONTH, :QUARTER eller :YEAR for dynamiske datoer. Grundliggende matematik fungerer også, for eksempel :MONTH-1.
- Eksempler på dynamiske faktura variabler:
-
- "Træningsmedlemskab for måneden :MONTH" => "Træningsmedlemskab for måneden Juli"
- ":YEAR+1 årlig abonnement" => "2015 årlig abonnement"
- "Forudbetaling for :QUARTER+1" => "Forudbetaling for Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'totale indtægter',
- 'billed_client' => 'faktureret klient',
- 'billed_clients' => 'fakturerede klienter',
- 'active_client' => 'aktiv klient',
- 'active_clients' => 'aktive klienter',
- 'invoices_past_due' => 'Forfaldne fakturaer',
- 'upcoming_invoices' => 'Forestående fakturaer',
- 'average_invoice' => 'Gennemsnitlige fakturaer',
-
- // list pages
- 'archive' => 'Arkiv',
- 'delete' => 'Slet',
- 'archive_client' => 'Arkiver klient',
- 'delete_client' => 'Slet klient',
- 'archive_payment' => 'Arkiver betaling',
- 'delete_payment' => 'Slet betaling',
- 'archive_credit' => 'Arkiver kredit',
- 'delete_credit' => 'Slet kredit',
- 'show_archived_deleted' => 'Vis slettet/arkiverede',
- 'filter' => 'Filter',
- 'new_client' => 'Ny klient',
- 'new_invoice' => 'Ny faktura',
- 'new_payment' => 'Ny betaling',
- 'new_credit' => 'Ny kredit',
- 'contact' => 'Kontakt',
- 'date_created' => 'Dato oprettet',
- 'last_login' => 'Sidst på-logging',
- 'balance' => 'Balance',
- 'action' => 'Handling',
- 'status' => 'Status',
- 'invoice_total' => 'Faktura total',
- 'frequency' => 'Frekvens',
- 'start_date' => 'Startdato',
- 'end_date' => 'Slutdato',
- 'transaction_reference' => 'Transaktionsreference',
- 'method' => 'Betalingsmåde',
- 'payment_amount' => 'Beløb',
- 'payment_date' => 'Betalingsdato',
- 'credit_amount' => 'Kreditbeløb',
- 'credit_balance' => 'Kreditsaldo',
- 'credit_date' => 'Kreditdato',
- 'empty_table' => 'Ingen data er tilgængelige i tabellen',
- 'select' => 'Vælg',
- 'edit_client' => 'Rediger klient',
- 'edit_invoice' => 'Rediger faktura',
-
- // client view page
- 'create_invoice' => 'Lag faktura',
- 'enter_credit' => 'Tilføj kredit',
- 'last_logged_in' => 'Sidst på-logget',
- 'details' => 'Detaljer',
- 'standing' => 'Stående',
- 'credit' => 'Kredit',
- 'activity' => 'Aktivitet',
- 'date' => 'Dato',
- 'message' => 'Besked',
- 'adjustment' => 'Justering',
- 'are_you_sure' => 'Er du sikker?',
-
- // payment pages
- 'payment_type_id' => 'Betalingsmetode',
- 'amount' => 'Beløb',
-
- // account/company pages
- 'work_email' => 'E-mail',
- 'language_id' => 'Sprog',
- 'timezone_id' => 'Tidszone',
- 'date_format_id' => 'Dato format',
- 'datetime_format_id' => 'Dato/Tidsformat',
- 'users' => 'Brugere',
- 'localization' => 'Lokalisering',
- 'remove_logo' => 'Fjern logo',
- 'logo_help' => 'Understøttede filtyper: JPEG, GIF og PNG. Anbefalet størrelse: 200px brede og 120px højde',
- 'payment_gateway' => 'Betalingsløsning',
- 'gateway_id' => 'Tilbyder',
- 'email_notifications' => 'Varsel via e-mail',
- 'email_sent' => 'Varsle når en faktura er sendt ',
- 'email_viewed' => 'Varsle når en faktura er set ',
- 'email_paid' => 'Varsle når en faktura er betalt ',
- 'site_updates' => 'Webside opdateringer',
- 'custom_messages' => 'Tilpassede meldinger',
- 'default_invoice_terms' => 'Sæt standard fakturavilkår',
- 'default_email_footer' => 'Sæt standard e-mailsignatur',
- 'import_clients' => 'Importer klientdata',
- 'csv_file' => 'Vælg CSV-fil',
- 'export_clients' => 'Eksporter klientdata',
- 'select_file' => 'Venligst vælg en fil',
- 'first_row_headers' => 'Brug første række som overskrifter',
- 'column' => 'Kolonne',
- 'sample' => 'Eksempel',
- 'import_to' => 'Importer til',
- 'client_will_create' => 'Klient vil blive oprettet',
- 'clients_will_create' => 'Klienter vil blive oprettet',
-
- // application messages
- 'created_client' => 'Klient oprettet succesfuldt',
- 'created_clients' => 'Klienter oprettet succesfuldt',
- 'updated_settings' => 'Indstillinger opdateret',
- 'removed_logo' => 'Logo fjernet',
- 'sent_message' => 'Melding sendt',
- 'invoice_error' => 'Venligst vælge en klient og rette eventuelle fejl',
- 'limit_clients' => 'Desværre, dette vil overstige græsen på :count klienter',
- 'payment_error' => 'Det opstod en fejl under din betaling. Venligst prøv igen senere.',
- 'registration_required' => 'Venligst registrer dig for at sende e-mailfaktura',
- 'confirmation_required' => 'Venligst bekræft din e-mail',
-
- 'updated_client' => 'Klient opdateret',
- 'created_client' => 'Klient lagret',
- 'archived_client' => 'Klient arkiveret',
- 'archived_clients' => 'Arkiverede :count klienter',
- 'deleted_client' => 'Klient slettet',
- 'deleted_clients' => 'Slettet :count klienter',
-
- 'updated_invoice' => 'Faktura opdateret',
- 'created_invoice' => 'Faktura oprettet',
- 'cloned_invoice' => 'Faktura kopieret',
- 'emailed_invoice' => 'E-mailfaktura sendt',
- 'and_created_client' => 'og klient oprettet',
- 'archived_invoice' => 'Faktura arkiveret',
- 'archived_invoices' => 'Arkiverede :count fakturaer',
- 'deleted_invoice' => 'Faktura slettet',
- 'deleted_invoices' => 'Slettet :count fakturaer',
-
- 'created_payment' => 'Betaling oprettet',
- 'archived_payment' => 'Betaling arkiveret',
- 'archived_payments' => 'Arkiverede :count betalinger',
- 'deleted_payment' => 'Betaling slettet',
- 'deleted_payments' => 'Slettet :count betalinger',
- 'applied_payment' => 'Betaling lagret',
-
- 'created_credit' => 'Kredit oprettet',
- 'archived_credit' => 'Kredit arkiveret',
- 'archived_credits' => 'Arkiverede :count kreditter',
- 'deleted_credit' => 'Kredit slettet',
- 'deleted_credits' => 'Slettet :count kreditter',
-
- // Emails
- 'confirmation_subject' => 'Invoice Ninja kontobekræftelse',
- 'confirmation_header' => 'Kontobekræftelse',
- 'confirmation_message' => 'Venligst åbne linket nedenfor for å bekræfte din konto.',
- 'invoice_subject' => 'Ny faktura fra :account',
- 'invoice_message' => 'For at se din faktura på :amount, klik på linket nedenfor.',
- 'payment_subject' => 'Betaling modtaget',
- 'payment_message' => 'Tak for din betaling pålydende :amount.',
- 'email_salutation' => 'Kære :name,',
- 'email_signature' => 'Med venlig hilsen,',
- 'email_from' => 'The InvoiceNinja Team',
- 'user_email_footer' => 'For at justere varslingsindstillingene venligst besøg '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Hvis du vil se din klientfaktura klik på linket under:',
- 'notification_invoice_paid_subject' => 'Faktura :invoice betalt af :client',
- 'notification_invoice_sent_subject' => 'Faktura :invoice sendt til :client',
- 'notification_invoice_viewed_subject' => 'Faktura :invoice set av :client',
- 'notification_invoice_paid' => 'En betaling pålydende :amount blev gjort af :client for faktura :invoice.',
- 'notification_invoice_sent' => 'E-mail er blevet sendt til :client - Faktura :invoice pålydende :amount.',
- 'notification_invoice_viewed' => ':client har set faktura :invoice pålydende :amount.',
- 'reset_password' => 'Du kan nulstille din adgangskode ved at besøge følgende link:',
- 'reset_password_footer' => 'Hvis du ikke bad om at få nulstillet din adgangskode venligst kontakt kundeservice: ' . CONTACT_EMAIL,
-
-
- // Payment page
- 'secure_payment' => 'Sikker betaling',
- 'card_number' => 'Kortnummer',
- 'expiration_month' => 'Udløbsdato',
- 'expiration_year' => 'Udløbsår',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'For mange forsøg. Prøv igen om nogen få minutter.',
- 'wrong_credentials' => 'Fejl e-mail eller adgangskode.',
- 'confirmation' => 'Din konto har blevet bekræftet!',
- 'wrong_confirmation' => 'Fejl bekræftelseskode.',
- 'password_forgot' => 'Informationen om nulstilling af din adgangskode er blevet sendt til din e-mail.',
- 'password_reset' => 'Adgangskode ændret',
- 'wrong_password_reset' => 'Ugyldig adgangskode. Prøv på ny',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link for å fjerne Invoice Ninja-logoen, oppgrader til en Pro Plan',
- 'remove_logo_link' => 'Klik her',
- ],
-
- 'logout' => 'Log ud',
- 'sign_up_to_save' => 'Registrer dig for at gemme dit arbejde',
- 'agree_to_terms' =>'Jeg acceptere Invoice Ninja :terms',
- 'terms_of_service' => 'vilkår for brug',
- 'email_taken' => 'E-mailadressen er allerede registreret',
- 'working' => 'Arbejder',
- 'success' => 'Succes',
-
- 'success_message' => 'Du er blevet registreret. Venligst gå ind på linket som du har modtaget i e-mailbekræftelsen for at bekræfte e-mailaddressen.',
- 'erase_data' => 'Dette vil permanent slette dine data.',
- 'password' => 'Adgangskode',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'Et års indmelding i Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Tak for at du valgte Invoice Ninja\'s Pro plan!
- De næste skridt
En betalbar faktura er send til e-emailaddesse
- som er tilknyttet din konto. For at låse op for alle de utrolige
- Pro-funktioner, kan du følge instruktionerne på fakturaen til at
- betale for et år med Pro-niveau funktionerer.
- Kan du ikke finde fakturaen? Har behov for mere hjælp? Vi hjælper dig gerne om det skulle være noget
- -- kontakt os på contact@invoiceninja.com',
-
- 'unsaved_changes' => 'Du har ugemente ændringer',
- 'custom_fields' => 'Egendefineret felt',
- 'company_fields' => 'Selskabets felt',
- 'client_fields' => 'Klientens felt',
- 'field_label' => 'Felt etikette',
- 'field_value' => 'Feltets værdi',
- 'edit' => 'Rediger',
- 'set_name' => 'Sæt dit firmanavn',
- 'view_as_recipient' => 'Vis som modtager',
-
- // product management
- 'product_library' => 'Produktbibliotek',
- 'product' => 'Produkt',
- 'products' => 'Produkter',
- 'fill_products' => 'Automatisk-udfyld produkter',
- 'fill_products_help' => 'Valg af produkt vil automatisk udfylde beskrivelse og pris ',
- 'update_products' => 'Automatisk opdatering af produkter',
- 'update_products_help' => 'En opdatering af en faktura vil automatisk opdaterer Produktbiblioteket ',
- 'create_product' => 'Opret nyt produkt',
- 'edit_product' => 'Rediger produkt',
- 'archive_product' => 'Arkiver produkt',
- 'updated_product' => 'Produkt opdateret',
- 'created_product' => 'Produkt lagret',
- 'archived_product' => 'Produkt arkiveret',
- 'pro_plan_custom_fields' => ':link for at aktivere egendefinerede felter ved at bliver medlem af Pro Plan',
-
- 'advanced_settings' => 'avancerede indstillinger',
- 'pro_plan_advanced_settings' => ':link for at aktivere avancerede indstillinger felter ved at bliver medlem af Pro Plan',
- 'invoice_design' => 'Fakturadesign',
- 'specify_colors' => 'Egendefineret farve',
- 'specify_colors_label' => 'Vælg farver som bruges i fakturaen',
-
- 'chart_builder' => 'Diagram bygger',
- 'ninja_email_footer' => 'Brug :sitet til at fakturere dine kunder og få betalt på nettet - gratis!',
- 'go_pro' => 'Vælg Pro',
-
- // Quotes
- 'quote' => 'Pristilbud',
- 'quotes' => 'Pristilbud',
- 'quote_number' => 'Tilbuds nummer',
- 'quote_number_short' => 'Tilbuds #',
- 'quote_date' => 'Tilbudsdato',
- 'quote_total' => 'Tilbud total',
- 'your_quote' => 'Dit tilbud',
- 'total' => 'Total',
- 'clone' => 'Kopier',
-
- 'new_quote' => 'Nyt tilbud',
- 'create_quote' => 'Gem tilbud',
- 'edit_quote' => 'Rediger tilbud',
- 'archive_quote' => 'Arkiver tilbud',
- 'delete_quote' => 'Slet tilbud',
- 'save_quote' => 'Lagre tilbud',
- 'email_quote' => 'E-mail tilbudet',
- 'clone_quote' => 'Kopier tilbud',
- 'convert_to_invoice' => 'Konverter til en faktura',
- 'view_invoice' => 'Se faktura',
- 'view_client' => 'Vis klient',
- 'view_quote' => 'Se tilbud',
-
- 'updated_quote' => 'Tilbud opdatert',
- 'created_quote' => 'Tilbud oprettet',
- 'cloned_quote' => 'Tilbud kopieret',
- 'emailed_quote' => 'Tilbud sendt som e-mail',
- 'archived_quote' => 'Tilbud arkiveret',
- 'archived_quotes' => 'Arkiverede :count tilbud',
- 'deleted_quote' => 'Tilbud slettet',
- 'deleted_quotes' => 'Slettet :count tilbud',
- 'converted_to_invoice' => 'Tilbud konverteret til faktura',
-
- 'quote_subject' => 'Nyt tilbud fra :account',
- 'quote_message' => 'For å se dit tilbud pålydende :amount, klik på linket nedenfor.',
- 'quote_link_message' => 'Hvis du vil se din klients tilbud, klik på linket under:',
- 'notification_quote_sent_subject' => 'Tilbud :invoice sendt til :client',
- 'notification_quote_viewed_subject' => 'Tilbudet :invoice er set af :client',
- 'notification_quote_sent' => 'Følgende klient :client blev sendt tilbudsfaktura :invoice pålydende :amount.',
- 'notification_quote_viewed' => 'Følgende klient :client har set tilbudsfakturaen :invoice pålydende :amount.',
-
- 'session_expired' => 'Session er udløbet.',
-
- 'invoice_fields' => 'Faktura felt',
- 'invoice_options' => 'Faktura alternativer',
- 'hide_quantity' => 'Skjul antal',
- 'hide_quantity_help' => 'Hvis du altid kun har 1 som antal på dine fakturalinjer på fakturaen, kan du vælge ikke at vise antal på fakturaen.',
- 'hide_paid_to_date' => 'Skjul delbetalinger',
- 'hide_paid_to_date_help' => 'Vis kun delbetalinger hvis der er forekommet en delbetaling.',
-
- 'charge_taxes' => 'Inkluder skat',
- 'user_management' => 'Brugerhåndtering',
- 'add_user' => 'Tilføj bruger',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Invitation sendt',
- 'updated_user' => 'Bruger opdateret',
- 'invitation_message' => 'Du har blevet inviteret af :invitor. ',
- 'register_to_add_user' => 'Venligst registrer dig for at oprette en bruger',
- 'user_state' => 'Status',
- 'edit_user' => 'Rediger bruger',
- 'delete_user' => 'Slet bruger',
- 'active' => 'Aktiv',
- 'pending' => 'Afventer',
- 'deleted_user' => 'Bruger slettet',
- 'limit_users' => 'Desværre, vil dette overstiger grænsen på ' . MAX_NUM_USERS . ' brugere',
-
- 'confirm_email_invoice' => 'Er du sikker på at du vil sende denne faktura?',
- 'confirm_email_quote' => 'Er du sikker på du ville sende dette tilbud?',
- 'confirm_recurring_email_invoice' => 'Gentagende er slået til, er du sikker på du vil have denne faktura sendt?',
-
- 'cancel_account' => 'Annuller konto',
- 'cancel_account_message' => 'Advarsel: Dette ville slette alle dine data og kan ikke omgøres',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data visualisering',
- 'sample_data' => 'Eksempel data vis',
- 'hide' => 'Skjul',
- 'new_version_available' => 'En ny version af :releases_link er tilgængelig. Din nuværende version er v:user_version, den nyeste version er v:latest_version',
-
- 'invoice_settings' => 'Faktura indstillinger',
- 'invoice_number_prefix' => 'Faktura nummer præfiks',
- 'invoice_number_counter' => 'Faktura nummer tæller',
- 'quote_number_prefix' => 'Tilbuds nummer præfiks',
- 'quote_number_counter' => 'Tilbuds nummer tæller',
- 'share_invoice_counter' => 'Del faktura nummer tæller',
- 'invoice_issued_to' => 'Faktura udstedt til',
- 'invalid_counter' => 'For at undgå mulige overlap, sæt venligst et faktura eller tilbuds nummer præfiks',
- 'mark_sent' => 'Marker som sendt',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'id_number' => 'ID Number',
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-);
diff --git a/app/lang/da/validation.php b/app/lang/da/validation.php
deleted file mode 100644
index acdb9c443adc..000000000000
--- a/app/lang/da/validation.php
+++ /dev/null
@@ -1,106 +0,0 @@
- ":attribute skal accepteres.",
- "active_url" => ":attribute er ikke en valid URL.",
- "after" => ":attribute skal være en dato efter :date.",
- "alpha" => ":attribute må kun bestå af bogstaver.",
- "alpha_dash" => ":attribute må kun bestå af bogstaver, tal og bindestreger.",
- "alpha_num" => ":attribute må kun bestå af bogstaver og tal.",
- "array" => ":attribute skal være et array.",
- "before" => ":attribute skal være en dato før :date.",
- "between" => array(
- "numeric" => ":attribute skal være imellem :min - :max.",
- "file" => ":attribute skal være imellem :min - :max kilobytes.",
- "string" => ":attribute skal være imellem :min - :max tegn.",
- "array" => ":attribute skal indeholde mellem :min - :max elementer."
- ),
- "boolean" => ":attribute skal være sandt eller falsk",
- "confirmed" => ":attribute er ikke det samme som bekræftelsesfeltet.",
- "date" => ":attribute er ikke en gyldig dato.",
- "date_format" => ":attribute matcher ikke formatet :format.",
- "different" => ":attribute og :other skal være forskellige.",
- "digits" => ":attribute skal have :digits cifre.",
- "digits_between" => ":attribute skal have mellem :min og :max cifre.",
- "email" => ":attribute skal være en gyldig e-mailadresse.",
- "exists" => "Det valgte :attribute er ugyldig.",
- "image" => ":attribute skal være et billede.",
- "in" => "Det valgte :attribute er ugyldig.",
- "integer" => ":attribute skal være et heltal.",
- "ip" => ":attribute skal være en gyldig IP adresse.",
- "max" => array(
- "numeric" => ":attribute skal være højest :max.",
- "file" => ":attribute skal være højest :max kilobytes.",
- "string" => ":attribute skal være højest :max tegn.",
- "array" => ":attribute må ikke indeholde mere end :max elementer."
- ),
- "mimes" => ":attribute skal være en fil af typen: :values.",
- "min" => array(
- "numeric" => ":attribute skal være mindst :min.",
- "file" => ":attribute skal være mindst :min kilobytes.",
- "string" => ":attribute skal være mindst :min tegn.",
- "array" => ":attribute skal indeholde mindst :min elementer."
- ),
- "not_in" => "Den valgte :attribute er ugyldig.",
- "numeric" => ":attribute skal være et tal.",
- "regex" => ":attribute formatet er ugyldigt.",
- "required" => ":attribute skal udfyldes.",
- "required_if" => ":attribute skal udfyldes når :other er :value.",
- "required_with" => ":attribute skal udfyldes når :values er udfyldt.",
- "required_with_all" => ":attribute skal udfyldes når :values er udfyldt.",
- "required_without" => ":attribute skal udfyldes når :values ikke er udfyldt.",
- "required_without_all" => ":attribute skal udfyldes når ingen af :values er udfyldt.",
- "same" => ":attribute og :other skal være ens.",
- "size" => array(
- "numeric" => ":attribute skal være :size.",
- "file" => ":attribute skal være :size kilobytes.",
- "string" => ":attribute skal være :size tegn lang.",
- "array" => ":attribute skal indeholde :size elementer."
- ),
- "timezone" => "The :attribute must be a valid zone.",
- "unique" => ":attribute er allerede taget.",
- "url" => ":attribute formatet er ugyldigt.",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/de/pagination.php b/app/lang/de/pagination.php
deleted file mode 100644
index 5f83d3e960ee..000000000000
--- a/app/lang/de/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« zurück',
-
- 'next' => 'weiter »',
-
-);
\ No newline at end of file
diff --git a/app/lang/de/public.php b/app/lang/de/public.php
deleted file mode 100644
index cd5d665bd2d5..000000000000
--- a/app/lang/de/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Kostenlose & Open-Source Online-Rechnungsausstellung',
- 'description' => 'Invoice Ninja ist eine kostenlose, Open-Source Lösung für die Rechnungsstellung und Abrechnung deiner Kunden. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Jetzt Rechnungen schreiben',
- 'no_signup_needed' => 'Keine Anmeldung benötigt',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'Über uns',
- 'link_contact_us' => 'Kontaktiere uns',
- 'link_features' => 'Funktionen',
- 'link_plans' => 'Mitgliedschaften',
- 'link_compare' => 'Vergleich',
- 'link_testimonials' => 'Referenzen',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'Mein Konto',
- 'login' => 'Einloggen',
- 'connect_with_us' => 'Trete mit uns in Kontakt',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Navigation umschalten',
-
-
- 'home' => [
- 'header' => 'DER EINFACHE & KOSTENLOSE WEG RECHNUNGEN AUSZUSTELLEN',
- 'sub_header' => 'Es ist so einfach. Hör auf Zeit mit komplizierten und teuren Methoden der Rechnungsstellung zu verschwenden. Keine Aufregung, einfach loslegen und bezahlt werden.',
- 'footer' => 'Einfache, intuitive Rechnungsausstellung, Überall.',
-
- 'free_always' => 'Kostenlos, immer',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF Vorschau',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Bezahlungen',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'Über Invoice Ninja',
- 'what_is' => 'Was ist Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Fragen, spezielle Anfragen, oder einfach nur Hallo sagen?',
- 'sub_header' => 'Fülle das Formular aus und wir werden uns sobald wie möglich bei dir melden! Wir freuen uns von dir zuhören!',
- 'other_ways' => 'Andere Wege uns zu erreichen',
-
- 'name' => 'Name',
- 'name_help' => 'Bitte gib deinen Namen ein.',
-
- 'email' => 'E-Mail-Adresse',
- 'email_help' => 'Bitte gib eine gültige E-Mail-Adresse ein.',
-
- 'message' => 'Nachricht',
- 'message_help' => 'Bitte gib eine Nachricht ein.',
- 'send_message' => 'Nachricht abschicken',
- ],
-
- 'features' => [
- 'header' => 'Die Funktionen',
- 'footer' => 'Dir gefällt, was du siehst?',
- 'footer_action' => 'Beginne noch heute!',
-
- 'open_source' => 'Open-Source-Plattform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'KOSTENLOS. Für immer.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Teste Invoice Ninja. Du hast buchstäblich nichts zu verlieren. Wir sind uns sicher, deine Erfahrung wird so positiv sein, dass du nie wieder einen anderen Service brauchen wirst.',
-
- 'secure' => 'Sicher & Privat',
- 'secure_text1' => 'Invoice Ninja wurde von Grund auf entworfen, um Ihre Daten sicher zu halten. Nur du hast Zugriff auf deine Anmeldungs-und Buchaltungsdaten und wir werden deine Transaktionen niemals an dritte weitergeben.',
- 'secure_text2' => 'Unsere Webseite benutzt 256-bit verschlüsselung, das ist sicherer, als die meisten Online-Banking-Seiten! Invoice Ninja benutzt das kryptographische Protokoll TLS 1.0, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. Wir fühlen uns hier sicher und haben masiv darin investiert, dass es dir genauso geht.',
-
- 'live_pdf' => 'Live .PDF Vorschau',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Einfach erstellen, speichern, senden und du bist fertig!',
-
- 'online_payments' => 'Online Bezahlungen',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'Die Mitgliedschaften',
- 'free' => 'Kostenlos',
- 'unlimited' => 'Uneingeschränkt',
- 'pro_plan' => 'Pro-Mitgliedschaft',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Kostenlos /Immer! ',
- 'year_price' => '$50 /Jahre ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Gratis-Mitgledschaften-Vergleich',
- 'paid_plan_comparison' => 'Kostenpflichtige-Mitgledschaften-Vergleich',
- 'app' => 'Service',
- 'cost' => 'Kosten',
- 'clients' => 'Kunden',
- 'invoices' => 'Rechnungen',
- 'payment_gateways' => 'Zahlungsanbieter',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Mehrere Vorlagen',
- 'recurring_payments' => 'Wiederkehrende Zahlungen',
- 'open_source' => 'Open-Source',
- 'per_month' => 'pro Monat',
- 'per_year' => 'pro Jahr',
- 'free' => 'Kostenlos',
- 'unlimited' => 'Unbegrenzt',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'Referenzen',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'Das FAQ',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Ist Invoice Ninja wirklich kostenlos? Für wie lange?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'Also, wie sicher ist diese App?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Haben wir etwas vergessen?',
- 'miss_something_text' => 'Schreib uns eine E-Mail an contact@invoiceninja.com mit jeder Frage und jedem Kommentar, den du uns gerne mitteilen möchtest. Wir lieben es von den Menschen zu hören, die unsere Angebot nutzen! Wir werden unser bestes geben, um deine E-Mail innerhalb eines Werktages zu beantworten.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/de/reminders.php b/app/lang/de/reminders.php
deleted file mode 100644
index 6f0a413e0093..000000000000
--- a/app/lang/de/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Passwörter müssen 6 Zeichen lang sein und korrekt bestätigt werden.",
-
- "user" => "Wir konnten leider keinen Nutzer mit dieser E-Mail Adresse finden.",
-
- "token" => "Der Passwort-Wiederherstellungs-Schlüssel ist ungültig.",
-
- "sent" => "Passworterinnerung wurde gesendet!",
-
-);
diff --git a/app/lang/de/texts.php b/app/lang/de/texts.php
deleted file mode 100644
index 87de74960d85..000000000000
--- a/app/lang/de/texts.php
+++ /dev/null
@@ -1,574 +0,0 @@
- 'Organisation',
- 'name' => 'Name',
- 'website' => 'Webseite',
- 'work_phone' => 'Telefon',
- 'address' => 'Adresse',
- 'address1' => 'Straße',
- 'address2' => 'Adresszusatz',
- 'city' => 'Stadt',
- 'state' => 'Bundesland',
- 'postal_code' => 'Postleitzahl',
- 'country_id' => 'Land',
- 'contacts' => 'Kontakte',
- 'first_name' => 'Vorname',
- 'last_name' => 'Nachname',
- 'phone' => 'Telefon',
- 'email' => 'Email',
- 'additional_info' => 'Zusätzliche Info',
- 'payment_terms' => 'Zahlungsbedingungen',
- 'currency_id' => 'Währung',
- 'size_id' => 'Größe',
- 'industry_id' => 'Kategorie',
- 'private_notes' => 'Notizen',
-
- // invoice
- 'invoice' => 'Rechnung',
- 'client' => 'Kunde',
- 'invoice_date' => 'Rechnungsdatum',
- 'due_date' => 'Fällig am',
- 'invoice_number' => 'Rechungsnummer',
- 'invoice_number_short' => 'Rechnung #',
- 'po_number' => 'Bestellnummer',
- 'po_number_short' => 'BN #',
- 'frequency_id' => 'Wie oft',
- 'discount' => 'Rabatt',
- 'taxes' => 'Steuern',
- 'tax' => 'Steuer',
- 'item' => 'Artikel',
- 'description' => 'Beschreibung',
- 'unit_cost' => 'Kosten pro Einheit',
- 'quantity' => 'Menge',
- 'line_total' => 'Summe',
- 'subtotal' => 'Zwischensumme',
- 'paid_to_date' => 'Bereits gezahlt',
- 'balance_due' => 'Rechnungsbetrag',
- 'invoice_design_id' => 'Design',
- 'terms' => 'Bedingungen',
- 'your_invoice' => 'Ihre Rechnung',
-
- 'remove_contact' => 'Kontakt löschen',
- 'add_contact' => 'Kontakt hinzufügen',
- 'create_new_client' => 'Einen neuen Kunden erstellen',
- 'edit_client_details' => 'Kundendetails bearbeiten',
- 'enable' => 'Aktivieren',
- 'learn_more' => 'Mehr erfahren',
- 'manage_rates' => 'Steuersätze verwalten',
- 'note_to_client' => 'Notiz an den Kunden',
- 'invoice_terms' => 'Zahlungsbedingungen',
- 'save_as_default_terms' => 'Als Standardbedingungen speichern',
- 'download_pdf' => 'PDF herunterladen',
- 'pay_now' => 'Jetzt bezahlen',
- 'save_invoice' => 'Rechnung speichern',
- 'clone_invoice' => 'Rechnung duplizieren',
- 'archive_invoice' => 'Rechnung archivieren',
- 'delete_invoice' => 'Rechnung löschen',
- 'email_invoice' => 'Rechnung versenden',
- 'enter_payment' => 'Zahlung eingeben',
- 'tax_rates' => 'Steuersätze',
- 'rate' => 'Satz',
- 'settings' => 'Einstellungen',
- 'enable_invoice_tax' => 'Ermögliche das Bestimmen einer Rechnungssteuer ',
- 'enable_line_item_tax' => 'Ermögliche das Bestimmen von Steuern für Belegpositionen ',
-
- // navigation
- 'dashboard' => 'Dashboard',
- 'clients' => 'Kunden',
- 'invoices' => 'Rechnungen',
- 'payments' => 'Zahlungen',
- 'credits' => 'Guthaben',
- 'history' => 'Verlauf',
- 'search' => 'Suche',
- 'sign_up' => 'Anmeldung',
- 'guest' => 'Gast',
- 'company_details' => 'Firmendaten',
- 'online_payments' => 'Online-Zahlungen',
- 'notifications' => 'Benachrichtigungen',
- 'import_export' => 'Import/Export',
- 'done' => 'Erledigt',
- 'save' => 'Speichern',
- 'create' => 'Erstellen',
- 'upload' => 'Hochladen',
- 'import' => 'Importieren',
- 'download' => 'Downloaden',
- 'cancel' => 'Abbrechen',
- 'provide_email' => 'Bitte gib eine gültige E-Mail Adresse an',
- 'powered_by' => 'Powered by',
- 'no_items' => 'Keine Objekte',
-
- // recurring invoices
- 'recurring_invoices' => 'Wiederkehrende Rechnungen',
- 'recurring_help' => 'Sende deinem Kunden wöchentlich, zwei mal im Monat, monatlich, vierteljährlich oder jährlich automatisch die gleiche Rechnung.
- Benutze :MONTH, :QUARTER oder :YEAR für ein dynamisches Datum. Grundlegende Mathematik funktioniert genauso gut, zum Beispiel :MONTH-1.
- Beispiel zu dynamischen Rechnungs-Variabeln:
-
- "Fitnessstudio Mitgliedschaft für den Monat :MONTH" => "Fitnessstudio Mitgliedschaft für den Monat Juli"
- ":YEAR+1 Jahresbeitrag" => "2015 Jahresbeitrag"
- "Vorschusszahlung für :QUARTER+1" => "Vorschusszahlung für Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'Gesamtumsatz',
- 'billed_client' => 'abgerechneter Kunde',
- 'billed_clients' => 'abgerechnete Kunden',
- 'active_client' => 'aktiver Kunde',
- 'active_clients' => 'aktive Kunden',
- 'invoices_past_due' => 'Fällige Rechnungen',
- 'upcoming_invoices' => 'Kommende Rechnungen',
- 'average_invoice' => 'Durchschnittlicher Rechnungsbetrag',
-
- // list pages
- 'archive' => 'archivieren',
- 'delete' => 'löschen',
- 'archive_client' => 'Kunde archivieren',
- 'delete_client' => 'Kunde löschen',
- 'archive_payment' => 'Zahlung archivieren',
- 'delete_payment' => 'Zahlung löschen',
- 'archive_credit' => 'Guthaben archivieren',
- 'delete_credit' => 'Guthaben löschen',
- 'show_archived_deleted' => 'Zeige archivierte/gelöschte',
- 'filter' => 'Filter',
- 'new_client' => 'Neuer Kunde',
- 'new_invoice' => 'Neue Rechnung',
- 'new_payment' => 'Neue Zahlung',
- 'new_credit' => 'Neues Guthaben',
- 'contact' => 'Kontakt',
- 'date_created' => 'Erstellungsdatum',
- 'last_login' => 'Letzter Login',
- 'balance' => 'Saldo',
- 'action' => 'Aktion',
- 'status' => 'Status',
- 'invoice_total' => 'Rechnungsbetrag',
- 'frequency' => 'Häufigkeit',
- 'start_date' => 'Startdatum',
- 'end_date' => 'Enddatum',
- 'transaction_reference' => 'Abwicklungsreferenz',
- 'method' => 'Verfahren',
- 'payment_amount' => 'Zahlungsbetrag',
- 'payment_date' => 'Zahlungsdatum',
- 'credit_amount' => 'Guthabenbetrag',
- 'credit_balance' => 'Guthabenstand',
- 'credit_date' => 'Guthabendatum',
- 'empty_table' => 'Es sind keine Daten vorhanden',
- 'select' => 'Wählen',
- 'edit_client' => 'Kunde bearbeiten',
- 'edit_invoice' => 'Rechnung bearbeiten',
-
- // client view page
- 'create_invoice' => 'Rechnung erstellen',
- 'enter_credit' => 'Guthaben eingeben',
- 'last_logged_in' => 'Zuletzt eingeloggt',
- 'details' => 'Details',
- 'standing' => 'Aktueller Stand',
- 'credit' => 'Guthaben',
- 'activity' => 'Aktivität',
- 'date' => 'Datum',
- 'message' => 'Nachricht',
- 'adjustment' => 'Anpassung',
- 'are_you_sure' => 'Bist du dir sicher?',
-
- // payment pages
- 'payment_type_id' => 'Zahlungsart',
- 'amount' => 'Betrag',
-
- // account/company pages
- 'work_email' => 'E-Mail',
- 'language_id' => 'Sprache',
- 'timezone_id' => 'Zeitzone',
- 'date_format_id' => 'Datumsformat',
- 'datetime_format_id' => 'Datums-/Zeitformat',
- 'users' => 'Benutzer',
- 'localization' => 'Lokalisierung',
- 'remove_logo' => 'Logo entfernen',
- 'logo_help' => 'Unterstützt: JPEG, GIF und PNG. Empfohlene Höhe: 120px',
- 'payment_gateway' => 'Zahlungseingang',
- 'gateway_id' => 'Provider',
- 'email_notifications' => 'E-Mail Benachrichtigungen',
- 'email_sent' => 'Benachrichtigen, wenn eine Rechnung versendet wurde',
- 'email_viewed' => 'Benachrichtigen, wenn eine Rechnung betrachtet wurde',
- 'email_paid' => 'Benachrichtigen, wenn eine Rechnung bezahlt wurde',
- 'site_updates' => 'Seiten Updates',
- 'custom_messages' => 'Benutzerdefinierte Nachrichten',
- 'default_invoice_terms' => 'Standard Rechnungsbedingungen',
- 'default_email_footer' => 'Standard E-Mail Signatur',
- 'import_clients' => 'Importiere Kundendaten',
- 'csv_file' => 'Wähle CSV Datei',
- 'export_clients' => 'Exportiere Kundendaten',
- 'select_file' => 'Bitte wähle eine Datei',
- 'first_row_headers' => 'Benutze erste Zeile als Kopfzeile',
- 'column' => 'Spalte',
- 'sample' => 'Beispiel',
- 'import_to' => 'Importieren nach',
- 'client_will_create' => 'Kunde wird erstellt',
- 'clients_will_create' => 'Kunden werden erstellt',
-
- // application messages
- 'created_client' => 'Kunde erfolgreich angelegt',
- 'created_clients' => ':count Kunden erfolgreich angelegt',
- 'updated_settings' => 'Einstellungen erfolgreich aktualisiert',
- 'removed_logo' => 'Logo erfolgreich entfernt',
- 'sent_message' => 'Nachricht erfolgreich versendet',
- 'invoice_error' => 'Bitte stelle sicher, dass ein Kunde ausgewählt und alle Fehler behoben wurden',
- 'limit_clients' => 'Entschuldige, das überschreitet das Limit von :count Kunden',
- 'payment_error' => 'Es ist ein Fehler während der Zahlung aufgetreten. Bitte versuche es später noch einmal.',
- 'registration_required' => 'Bitte melde dich an um eine Rechnung zu versenden',
- 'confirmation_required' => 'Bitte bestätige deine E-Mail Adresse',
-
- 'updated_client' => 'Kunde erfolgreich aktualisiert',
- 'created_client' => 'Kunde erfolgreich erstellt',
- 'archived_client' => 'Kunde erfolgreich archiviert',
- 'archived_clients' => ':count Kunden erfolgreich archiviert',
- 'deleted_client' => 'Kunde erfolgreich gelöscht',
- 'deleted_clients' => ':count Kunden erfolgreich gelöscht',
-
- 'updated_invoice' => 'Rechnung erfolgreich aktualisiert',
- 'created_invoice' => 'Rechnung erfolgreich erstellt',
- 'cloned_invoice' => 'Rechnung erfolgreich dupliziert',
- 'emailed_invoice' => 'Rechnung erfolgreich versendet',
- 'and_created_client' => 'und Kunde erstellt',
- 'archived_invoice' => 'Rechnung erfolgreich archiviert',
- 'archived_invoices' => ':count Rechnungen erfolgreich archiviert',
- 'deleted_invoice' => 'Rechnung erfolgreich gelöscht',
- 'deleted_invoices' => ':count Rechnungen erfolgreich gelöscht',
-
- 'created_payment' => 'Zahlung erfolgreich erstellt',
- 'archived_payment' => 'Zahlung erfolgreich archiviert',
- 'archived_payments' => ':count Zahlungen erfolgreich archiviert',
- 'deleted_payment' => 'Zahlung erfolgreich gelöscht',
- 'deleted_payments' => ':count Zahlungen erfolgreich gelöscht',
- 'applied_payment' => 'Zahlung erfolgreich angewandt',
-
- 'created_credit' => 'Guthaben erfolgreich erstellt',
- 'archived_credit' => 'Guthaben erfolgreich archiviert',
- 'archived_credits' => ':count Guthaben erfolgreich archiviert',
- 'deleted_credit' => 'Guthaben erfolgreich gelöscht',
- 'deleted_credits' => ':count Guthaben erfolgreich gelöscht',
-
- // Emails
- 'confirmation_subject' => 'Invoice Ninja Kontobestätigung',
- 'confirmation_header' => 'Kontobestätigung',
- 'confirmation_message' => 'Bitte klicke auf den folgenden Link um dein Konto zu bestätigen.',
- 'invoice_message' => 'Um Ihre Rechnung über :amount einzusehen, klicken Sie bitte auf den folgenden Link.',
- 'payment_subject' => 'Zahlungseingang',
- 'payment_message' => 'Vielen Dank für Ihre Zahlung von :amount.',
- 'email_salutation' => 'Sehr geehrte/r :name,',
- 'email_signature' => 'Mit freundlichen Grüßen,',
- 'email_from' => 'Das InvoiceNinja Team',
- 'user_email_footer' => 'Um deine E-Mail Benachrichtigungen anzupassen besuche bitte '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Um deine Kundenrechnung anzuschauen, klicke auf den folgenden Link:',
- 'notification_invoice_paid_subject' => 'Die Rechnung :invoice wurde von :client bezahlt',
- 'notification_invoice_sent_subject' => 'Die Rechnung :invoice wurde an :client versendet',
- 'notification_invoice_viewed_subject' => 'Die Rechnung :invoice wurde von :client angeschaut',
- 'notification_invoice_paid' => 'Eine Zahlung von :amount wurde von :client bezüglich Rechnung :invoice getätigt.',
- 'notification_invoice_sent' => 'Dem folgenden Kunden :client wurde die Rechnung :invoice über :amount zugesendet.',
- 'notification_invoice_viewed' => 'Der folgende Kunde :client hat sich Rechnung :invoice über :amount angesehen.',
- 'reset_password' => 'Du kannst dein Passwort zurücksetzen, indem du auf den folgenden Link klickst:',
- 'reset_password_footer' => 'Wenn du das Zurücksetzen des Passworts nicht beantragt hast benachrichtige bitte unseren Support: ' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Sichere Zahlung',
- 'card_number' => 'Kartennummer',
- 'expiration_month' => 'Ablaufmonat',
- 'expiration_year' => 'Ablaufjahr',
- 'cvv' => 'Kartenprüfziffer',
-
- // Security alerts
- 'confide' => array(
- 'too_many_attempts' => 'Zu viele Versuche. Bitte probiere es in ein paar Minuten erneut.',
- 'wrong_credentials' => 'Falsche E-Mail Adresse oder falsches Passwort.',
- 'confirmation' => 'Dein Konto wurde bestätigt!',
- 'wrong_confirmation' => 'Falscher Bestätigungscode.',
- 'password_forgot' => 'Weitere Informationen um das Passwort zurückzusetzen wurden dir per E-Mail zugeschickt.',
- 'password_reset' => 'Dein Passwort wurde erfolgreich geändert.',
- 'wrong_password_reset' => 'Ungültiges Passwort. Versuche es erneut',
- ),
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link, um das Invoice Ninja Logo zu entfernen, indem du dem Pro Plan beitrittst',
- 'remove_logo_link' => 'Klicke hier',
- ],
-
- 'logout' => 'Ausloggen',
- 'sign_up_to_save' => 'Melde dich an, um deine Arbeit zu speichern',
- 'agree_to_terms' =>'Ich akzeptiere die Invoice Ninja :terms',
- 'terms_of_service' => 'Service-Bedingungen',
- 'email_taken' => 'Diese E-Mail Adresse ist bereits registriert',
- 'working' => 'Wird bearbeitet',
- 'success' => 'Erfolg',
- 'success_message' => 'Du hast dich erfolgreich registriert. Bitte besuche den Link in deiner Bestätigungsmail um deine E-Mail Adresse zu verifizieren.',
- 'erase_data' => 'Diese Aktion wird deine Daten dauerhaft löschen.',
- 'password' => 'Passwort',
- 'invoice_subject' => 'Neue Rechnung von :account',
- 'close' => 'Schließen',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'Jahresmitgliedschaft beim Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Danke für den Beitritt! Sobald die Rechnung bezahlt wurde, beginnt deine Pro Plan Mitgliedschaft.',
- 'pro_plan_success' => 'Danke für den Beitritt! Sobald die Rechnung bezahlt wurde,Beim Auswählen eines Produktes werden beginnt deine Pro Plan Mitgliedschaft.',
-
- 'unsaved_changes' => 'Es liegen ungespeicherte Änderungen vor',
- 'custom_fields' => 'Benutzerdefinierte Felder',
- 'company_fields' => 'Firmenfelder',
- 'client_fields' => 'Kundenfelder',
- 'field_label' => 'Feldbezeichnung',
- 'field_value' => 'Feldwert',
- 'edit' => 'Bearbeiten',
- 'view_as_recipient' => 'Als Empfänger betrachten',
-
- // product management
- 'product' => 'Produkt',
- 'products' => 'Produkte',
- 'fill_products' => 'Produkte automatisch ausfüllen',
- 'fill_products_help' => 'Beim Auswählen eines Produktes werden automatisch Beschreibung und Kosten ausgefüllt ',
- 'update_products' => 'Produkte automatisch aktualisieren',
- 'update_products_help' => 'Beim Aktualisieren einer Rechnung werden die Produkte automatisch aktualisiert ',
- 'create_product' => 'Produkt erstellen',
- 'edit_product' => 'Produkt bearbeiten',
- 'archive_product' => 'Produkt archivieren',
- 'updated_product' => 'Produkt erfolgreich aktualisiert',
- 'created_product' => 'Produkt erfolgreich erstellt',
- 'archived_product' => 'Produkt erfolgreich archiviert',
- 'product_library' => 'Produktbibliothek',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Erweiterte Einstellungen',
- 'pro_plan_advanced_settings' => ':link um durch eine Pro-Mitgliedschaft erweiterte Einstellungen zu aktivieren',
- 'invoice_design' => 'Rechnungsvorlage',
- 'specify_colors' => 'Farben wählen',
- 'specify_colors_label' => 'Wähle die in der Rechnung verwendeten Farben',
-
- 'chart_builder' => 'Diagrammersteller',
- 'ninja_email_footer' => 'Nutze :site um Kunden Rechnungen zu stellen und online bezahlt zu werden, kostenlos!',
- 'go_pro' => 'Werde Pro-Mitglied',
-
- // Quotes
- 'quote' => 'Angebot',
- 'quotes' => 'Angebote',
- 'quote_number' => 'Angebotsnummer',
- 'quote_number_short' => 'Angebot #',
- 'quote_date' => 'Angebotsdatum',
- 'quote_total' => 'Gesamtanzahl Angebote',
- 'your_quote' => 'Ihr Angebot',
- 'total' => 'Gesamt',
- 'clone' => 'Duplizieren',
-
- 'new_quote' => 'Neues Angebot',
- 'create_quote' => 'Angebot erstellen',
- 'edit_quote' => 'Angebot bearbeiten',
- 'archive_quote' => 'Angebot archivieren',
- 'delete_quote' => 'Angebot löschen',
- 'save_quote' => 'Angebot speichern',
- 'email_quote' => 'Angebot per E-Mail senden',
- 'clone_quote' => 'Angebot duplizieren',
- 'convert_to_invoice' => 'In Rechnung umwandeln',
- 'view_invoice' => 'Rechnung anschauen',
- 'view_quote' => 'Angebot anschauen',
- 'view_client' => 'Kunde anschauen',
-
- 'updated_quote' => 'Angebot erfolgreich aktualisiert',
- 'created_quote' => 'Angebot erfolgreich erstellt',
- 'cloned_quote' => 'Angebot erfolgreich dupliziert',
- 'emailed_quote' => 'Angebot erfolgreich versendet',
- 'archived_quote' => 'Angebot erfolgreich archiviert',
- 'archived_quotes' => ':count Angebote erfolgreich archiviert',
- 'deleted_quote' => 'Angebot erfolgreich gelöscht',
- 'deleted_quotes' => ':count Angebote erfolgreich gelöscht',
- 'converted_to_invoice' => 'Angebot erfolgreich in Rechnung umgewandelt',
-
- 'quote_subject' => 'Neues Angebot von :account',
- 'quote_message' => 'Klicken Sie auf den folgenden Link um das Angebot über :amount anzuschauen.',
- 'quote_link_message' => 'Klicke auf den folgenden Link um das Angebot deines Kunden anzuschauen:',
- 'notification_quote_sent_subject' => 'Angebot :invoice wurde an :client versendet',
- 'notification_quote_viewed_subject' => 'Angebot :invoice wurde von :client angeschaut',
- 'notification_quote_sent' => 'Der folgende Kunde :client erhielt das Angebot :invoice über :amount.',
- 'notification_quote_viewed' => 'Der folgende Kunde :client hat sich das Angebot :client über :amount angesehen.',
-
- 'session_expired' => 'Deine Sitzung ist abgelaufen.',
-
- 'invoice_fields' => 'Rechnungsfelder',
- 'invoice_options' => 'Rechnungsoptionen',
- 'hide_quantity' => 'Anzahl verbergen',
- 'hide_quantity_help' => 'Wenn deine Menge immer 1 beträgt, kannst du deine Rechnung einfach halten, indem du dieses Feld entfernst.',
- 'hide_paid_to_date' => 'Bereits gezahlt ausblenden',
- 'hide_paid_to_date_help' => 'Bereits gezahlt nur anzeigen, wenn eine Zahlung eingegangen ist.',
-
- 'charge_taxes' => 'Steuern erheben',
- 'user_management' => 'Benutzerverwaltung',
- 'add_user' => 'Add User',
- 'send_invite' => 'Einladung senden',
- 'sent_invite' => 'Einladung erfolgreich gesendet',
- 'updated_user' => 'Benutzer erfolgreich aktualisiert',
- 'invitation_message' => 'Du wurdest von :invitor eingeladen.',
- 'register_to_add_user' => 'Bitte registrieren um einen Benutzer hinzuzufügen',
- 'user_state' => 'Status',
- 'edit_user' => 'Benutzer bearbeiten',
- 'delete_user' => 'Benutzer löschen',
- 'active' => 'Aktiv',
- 'pending' => 'Ausstehend',
- 'deleted_user' => 'Benutzer erfolgreich gelöscht',
- 'limit_users' => 'Entschuldige, das würde das Limit von ' . MAX_NUM_USERS . ' Benutzern überschreiten',
-
- 'confirm_email_invoice' => 'Bist du sicher, dass du diese Rechnung per E-Mail versenden möchtest?',
- 'confirm_email_quote' => 'Bist du sicher, dass du dieses Angebot per E-Mail versenden möchtest',
- 'confirm_recurring_email_invoice' => 'Wiederkehrende Rechnung ist aktiv. Bis du sicher, dass du diese Rechnung weiterhin als E-Mail verschicken möchtest?',
-
- 'cancel_account' => 'Account Kündigen',
- 'cancel_account_message' => 'Warnung: Alle Daten werden unwiderruflich und vollständig gelöscht, es gibt kein zurück.',
- 'go_back' => 'Zurück',
-
- 'data_visualizations' => 'Datenvisualisierungen',
- 'sample_data' => 'Beispieldaten werden angezeigt',
- 'hide' => 'Verbergen',
- 'new_version_available' => 'Eine neue Version von :releases_link ist verfügbar. Du benutzt v:user_version, die aktuelle ist v:latest_version',
-
- 'invoice_settings' => 'Rechnungseinstellungen',
- 'invoice_number_prefix' => 'Präfix für Rechnungsnummer',
- 'invoice_number_counter' => 'Zähler für Rechnungsnummer',
- 'quote_number_prefix' => 'Präfix für Angebotsnummer',
- 'quote_number_counter' => 'Zähler für Angebotsnummer',
- 'share_invoice_counter' => 'Zähler der Rechnung teilen',
- 'invoice_issued_to' => 'Rechnung ausgestellt für',
- 'invalid_counter' => 'Bitte setze, um Probleme zu vermeiden, entweder ein Rechnungs-oder Angebotspräfix.',
- 'mark_sent' => 'Als gesendet markieren',
-
- 'gateway_help_1' => ':link um sich bei Authorize.net anzumelden.',
- 'gateway_help_2' => ':link um sich bei Authorize.net anzumelden.',
- 'gateway_help_17' => ':link um deine PayPal API-Signatur zu erhalten.',
- 'gateway_help_23' => 'Anmerkung: benutze deinen secret API key, nicht deinen publishable API key.',
- 'gateway_help_27' => ':link um sich bei TwoCheckout anzumelden.',
-
- 'more_designs' => 'Weitere Vorlagen',
- 'more_designs_title' => 'Zusätzliche Rechnungsvorlagen',
- 'more_designs_cloud_header' => 'Werde Pro-Mitglied für zusätzliche Rechnungsvorlagen',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Erhalte 6 zusätzliche Rechnungsvorlagen für nur $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Kaufen',
- 'bought_designs' => 'Die zusätzliche Rechnungsvorlagen wurden erfolgreich hinzugefügt',
-
- 'sent' => 'gesendet',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Geben Sie Ihre Rechnungsadresse und Ihre Kreditkarteninformationen ein',
- 'payment_cvv' => '*Dies ist die 3-4-stellige Nummer auf der Rückseite Ihrer Kreditkarte',
- 'payment_footer1' => '*Die Rechnungsadresse muss mit der Adresse der Kreditkarte übereinstimmen.',
- 'payment_footer2' => '*Bitte drücken Sie nur einmal auf "Jetzt bezahlen" - die Verarbeitung der Transaktion kann bis zu einer Minute dauern.',
- 'vat_number' => 'USt-IdNr.',
-
- 'id_number' => 'ID-Nummer',
- 'white_label_link' => 'Branding entfernen',
- 'white_label_text' => 'Um das Invoice Ninja Logo auf der Kundenseite zu entfernen, kaufe bitte eine Lizenz für $'.WHITE_LABEL_PRICE,
- 'white_label_header' => 'Branding entfernen',
- 'bought_white_label' => 'Branding-freie Lizenz erfolgreich aktiviert',
- 'white_labeled' => 'Branding entfernt',
-
- 'restore' => 'Wiederherstellen',
- 'restore_invoice' => 'Rechnung wiederherstellen',
- 'restore_quote' => 'Angebot wiederherstellen',
- 'restore_client' => 'Kunde wiederherstellen',
- 'restore_credit' => 'Guthaben wiederherstellen',
- 'restore_payment' => 'Zahlung wiederherstellen',
-
- 'restored_invoice' => 'Rechnung erfolgreich wiederhergestellt',
- 'restored_quote' => 'Angebot erfolgreich wiederhergestellt',
- 'restored_client' => 'Kunde erfolgreich wiederhergestellt',
- 'restored_payment' => 'Zahlung erfolgreich wiederhergestellt',
- 'restored_credit' => 'Guthaben erfolgreich wiederhergestellt',
-
- 'reason_for_canceling' => 'Hilf uns, unser Angebot zu verbessern, indem du uns mitteilst, weswegen du dich dazu entschieden hast, unseren Service nicht länger zu nutzen.',
- 'discount_percent' => 'Prozent',
- 'discount_amount' => 'Wert',
-
- 'invoice_history' => 'Rechnungshistorie',
- 'quote_history' => 'Angebotshistorie',
- 'current_version' => 'Aktuelle Version',
- 'select_versiony' => 'Version auswählen',
- 'view_history' => 'Historie anzeigen',
-
- 'edit_payment' => 'Zahlung bearbeiten',
- 'updated_payment' => 'Zahlung erfolgreich aktualisiert',
- 'deleted' => 'Gelöscht',
- 'restore_user' => 'Benutzer wiederherstellen',
- 'restored_user' => 'Benutzer erfolgreich wiederhergestellt',
- 'show_deleted_users' => 'Zeige gelöschte Benutzer',
- 'email_templates' => 'E-Mail Vorlagen',
- 'invoice_email' => 'Rechnungsmail',
- 'payment_email' => 'Zahlungsmail',
- 'quote_email' => 'Angebotsmail',
- 'reset_all' => 'Alle zurücksetzen',
- 'approve' => 'Zustimmen',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Deaktiviert',
- 'token_billing_2' => 'Opt-in - Kontrollkästchen wird angezeigt ist aber nicht ausgewählt',
- 'token_billing_3' => 'Opt-out - Kontrollkästchen wird angezeigt und ist ausgewählt',
- 'token_billing_4' => 'Immer',
- 'token_billing_checkbox' => 'Kreditkarteninformationen speichern',
- 'view_in_stripe' => 'Auf Stripe anzeigen',
- 'use_card_on_file' => 'Verwende gespeicherte Kreditkarte',
- 'edit_payment_details' => 'Zahlungsdetails bearbeiten',
- 'token_billing' => 'Kreditkarte merken',
- 'token_billing_secure' => 'Die Daten werden sicher von :stripe_link gespeichert.',
-
- 'support' => 'Support',
- 'contact_information' => 'Kontakt Informationen',
- '256_encryption' => '256-Bit Verschlüsselung',
- 'amount_due' => 'Fälliger Betrag',
- 'billing_address' => 'Rechnungsadresse',
- 'billing_method' => 'Abrechnungsmethode',
- 'order_overview' => 'Bestellübersicht',
- 'match_address' => '*Die Rechnungsadresse muss mit der Adresse der Kreditkarte übereinstimmen.',
- 'click_once' => '*Bitte drücken Sie nur einmal auf "Jetzt bezahlen" - die Verarbeitung der Transaktion kann bis zu einer Minute dauern.',
-
- 'default_invoice_footer' => 'Standard Fußzeile festlegen',
- 'invoice_footer' => 'Fußzeile',
- 'save_as_default_footer' => 'Als Standard Fußzeile speichern',
-
- 'token_management' => 'Token Verwaltung',
- 'tokens' => 'Token',
- 'add_token' => 'Token hinzufügen',
- 'show_deleted_tokens' => 'Zeige gelöschte Token',
- 'deleted_token' => 'Token erfolgreich gelöscht',
- 'created_token' => 'Token erfolgreich erstellt',
- 'updated_token' => 'Token erfolgreich aktualisiert',
- 'edit_token' => 'Token bearbeiten',
- 'delete_token' => 'Token löschen',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Passwort ändern',
- 'current_password' => 'Aktuelles Passwort',
- 'new_password' => 'Neues Passwort',
- 'confirm_password' => 'Passwort bestätigen',
- 'password_error_incorrect' => 'Das aktuelle Passwort ist nicht korrekt.',
- 'password_error_invalid' => 'Das neue Kennwort ist ungültig.',
- 'updated_password' => 'Passwort erfolgreich aktualisiert',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
diff --git a/app/lang/de/validation.php b/app/lang/de/validation.php
deleted file mode 100644
index 489dfee02fb3..000000000000
--- a/app/lang/de/validation.php
+++ /dev/null
@@ -1,108 +0,0 @@
- ":attribute muss akzeptiert werden.",
- "active_url" => ":attribute ist keine gültige Internet-Adresse.",
- "after" => ":attribute muss ein Datum nach dem :date sein.",
- "alpha" => ":attribute darf nur aus Buchstaben bestehen.",
- "alpha_dash" => ":attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.",
- "alpha_num" => ":attribute darf nur aus Buchstaben und Zahlen bestehen.",
- "array" => ":attribute muss ein Array sein.",
- "before" => ":attribute muss ein Datum vor dem :date sein.",
- "between" => array(
- "numeric" => ":attribute muss zwischen :min & :max liegen.",
- "file" => ":attribute muss zwischen :min & :max Kilobytes groß sein.",
- "string" => ":attribute muss zwischen :min & :max Zeichen lang sein.",
- "array" => ":attribute muss zwischen :min & :max Elemente haben."
- ),
- "confirmed" => ":attribute stimmt nicht mit der Bestätigung überein.",
- "date" => ":attribute muss ein gültiges Datum sein.",
- "date_format" => ":attribute entspricht nicht dem gültigen Format für :format.",
- "different" => ":attribute und :other müssen sich unterscheiden.",
- "digits" => ":attribute muss :digits Stellen haben.",
- "digits_between" => ":attribute muss zwischen :min und :max Stellen haben.",
- "email" => ":attribute Format ist ungültig.",
- "exists" => "Der gewählte Wert für :attribute ist ungültig.",
- "image" => ":attribute muss ein Bild sein.",
- "in" => "Der gewählte Wert für :attribute ist ungültig.",
- "integer" => ":attribute muss eine ganze Zahl sein.",
- "ip" => ":attribute muss eine gültige IP-Adresse sein.",
- "max" => array(
- "numeric" => ":attribute darf maximal :max sein.",
- "file" => ":attribute darf maximal :max Kilobytes groß sein.",
- "string" => ":attribute darf maximal :max Zeichen haben.",
- "array" => ":attribute darf nicht mehr als :max Elemente haben."
- ),
- "mimes" => ":attribute muss den Dateityp :values haben.",
- "min" => array(
- "numeric" => ":attribute muss mindestens :min sein.",
- "file" => ":attribute muss mindestens :min Kilobytes groß sein.",
- "string" => ":attribute muss mindestens :min Zeichen lang sein.",
- "array" => ":attribute muss mindestens :min Elemente haben."
- ),
- "not_in" => "Der gewählte Wert für :attribute ist ungültig.",
- "numeric" => ":attribute muss eine Zahl sein.",
- "regex" => ":attribute Format ist ungültig.",
- "required" => ":attribute muss ausgefüllt sein.",
- "required_if" => ":attribute muss ausgefüllt sein wenn :other :value ist.",
- "required_with" => ":attribute muss angegeben werden wenn :values ausgefüllt wurde.",
- "required_with_all" => "The :attribute field is required when :values is present.",
- "required_without" => ":attribute muss angegeben werden wenn :values nicht ausgefüllt wurde.",
- "required_without_all" => ":attribute muss angegeben werden wenn keines der Felder :values ausgefüllt wurde.",
- "same" => ":attribute und :other müssen übereinstimmen.",
- "size" => array(
- "numeric" => ":attribute muss gleich :size sein.",
- "file" => ":attribute muss :size Kilobyte groß sein.",
- "string" => ":attribute muss :size Zeichen lang sein.",
- "array" => ":attribute muss genau :size Elemente haben."
- ),
- "unique" => ":attribute ist schon vergeben.",
- "url" => "Das Format von :attribute ist ungültig.",
-
- "positive" => ":attribute muss größer als null sein.",
- "has_credit" => "Der Kunde hat nicht genug Guthaben.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/en/pagination.php b/app/lang/en/pagination.php
deleted file mode 100755
index eb9be3baaed5..000000000000
--- a/app/lang/en/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Previous',
-
- 'next' => 'Next »',
-
-);
\ No newline at end of file
diff --git a/app/lang/en/public.php b/app/lang/en/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/en/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/en/reminders.php b/app/lang/en/reminders.php
deleted file mode 100755
index ad2262124d4d..000000000000
--- a/app/lang/en/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Passwords must be at least six characters and match the confirmation.",
-
- "user" => "We can't find a user with that e-mail address.",
-
- "token" => "This password reset token is invalid.",
-
- "sent" => "Password reminder sent!",
-
-);
\ No newline at end of file
diff --git a/app/lang/en/texts.php b/app/lang/en/texts.php
deleted file mode 100644
index 50727cfdd6c2..000000000000
--- a/app/lang/en/texts.php
+++ /dev/null
@@ -1,581 +0,0 @@
- 'Organization',
- 'name' => 'Name',
- 'website' => 'Website',
- 'work_phone' => 'Phone',
- 'address' => 'Address',
- 'address1' => 'Street',
- 'address2' => 'Apt/Suite',
- 'city' => 'City',
- 'state' => 'State/Province',
- 'postal_code' => 'Postal Code',
- 'country_id' => 'Country',
- 'contacts' => 'Contacts',
- 'first_name' => 'First Name',
- 'last_name' => 'Last Name',
- 'phone' => 'Phone',
- 'email' => 'Email',
- 'additional_info' => 'Additional Info',
- 'payment_terms' => 'Payment Terms',
- 'currency_id' => 'Currency',
- 'size_id' => 'Size',
- 'industry_id' => 'Industry',
- 'private_notes' => 'Private Notes',
-
- // invoice
- 'invoice' => 'Invoice',
- 'client' => 'Client',
- 'invoice_date' => 'Invoice Date',
- 'due_date' => 'Due Date',
- 'invoice_number' => 'Invoice Number',
- 'invoice_number_short' => 'Invoice #',
- 'po_number' => 'PO Number',
- 'po_number_short' => 'PO #',
- 'frequency_id' => 'How often',
- 'discount' => 'Discount',
- 'taxes' => 'Taxes',
- 'tax' => 'Tax',
- 'item' => 'Item',
- 'description' => 'Description',
- 'unit_cost' => 'Unit Cost',
- 'quantity' => 'Quantity',
- 'line_total' => 'Line Total',
- 'subtotal' => 'Subtotal',
- 'paid_to_date' => 'Paid to Date',
- 'balance_due' => 'Balance Due',
- 'invoice_design_id' => 'Design',
- 'terms' => 'Terms',
- 'your_invoice' => 'Your Invoice',
-
- 'remove_contact' => 'Remove contact',
- 'add_contact' => 'Add contact',
- 'create_new_client' => 'Create new client',
- 'edit_client_details' => 'Edit client details',
- 'enable' => 'Enable',
- 'learn_more' => 'Learn more',
- 'manage_rates' => 'Manage rates',
- 'note_to_client' => 'Note to client',
- 'invoice_terms' => 'Invoice terms',
- 'save_as_default_terms' => 'Save as default terms',
- 'download_pdf' => 'Download PDF',
- 'pay_now' => 'Pay Now',
- 'save_invoice' => 'Save Invoice',
- 'clone_invoice' => 'Clone Invoice',
- 'archive_invoice' => 'Archive Invoice',
- 'delete_invoice' => 'Delete Invoice',
- 'email_invoice' => 'Email Invoice',
- 'enter_payment' => 'Enter Payment',
- 'tax_rates' => 'Tax Rates',
- 'rate' => 'Rate',
- 'settings' => 'Settings',
- 'enable_invoice_tax' => 'Enable specifying an invoice tax ',
- 'enable_line_item_tax' => 'Enable specifying line item taxes ',
-
- // navigation
- 'dashboard' => 'Dashboard',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payments' => 'Payments',
- 'credits' => 'Credits',
- 'history' => 'History',
- 'search' => 'Search',
- 'sign_up' => 'Sign Up',
- 'guest' => 'Guest',
- 'company_details' => 'Company Details',
- 'online_payments' => 'Online Payments',
- 'notifications' => 'Notifications',
- 'import_export' => 'Import/Export',
- 'done' => 'Done',
- 'save' => 'Save',
- 'create' => 'Create',
- 'upload' => 'Upload',
- 'import' => 'Import',
- 'download' => 'Download',
- 'cancel' => 'Cancel',
- 'close' => 'Close',
- 'provide_email' => 'Please provide a valid email address',
- 'powered_by' => 'Powered by',
- 'no_items' => 'No items',
-
- // recurring invoices
- 'recurring_invoices' => 'Recurring Invoices',
- 'recurring_help' => 'Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.
- Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.
- Examples of dynamic invoice variables:
-
- "Gym membership for the month of :MONTH" => "Gym membership for the month of July"
- ":YEAR+1 yearly subscription" => "2015 Yearly Subscription"
- "Retainer payment for :QUARTER+1" => "Retainer payment for Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'in total revenue',
- 'billed_client' => 'billed client',
- 'billed_clients' => 'billed clients',
- 'active_client' => 'active client',
- 'active_clients' => 'active clients',
- 'invoices_past_due' => 'Invoices Past Due',
- 'upcoming_invoices' => 'Upcoming invoices',
- 'average_invoice' => 'Average invoice',
-
- // list pages
- 'archive' => 'Archive',
- 'delete' => 'Delete',
- 'archive_client' => 'Archive client',
- 'delete_client' => 'Delete client',
- 'archive_payment' => 'Archive payment',
- 'delete_payment' => 'Delete payment',
- 'archive_credit' => 'Archive credit',
- 'delete_credit' => 'Delete credit',
- 'show_archived_deleted' => 'Show archived/deleted',
- 'filter' => 'Filter',
- 'new_client' => 'New Client',
- 'new_invoice' => 'New Invoice',
- 'new_payment' => 'New Payment',
- 'new_credit' => 'New Credit',
- 'contact' => 'Contact',
- 'date_created' => 'Date Created',
- 'last_login' => 'Last Login',
- 'balance' => 'Balance',
- 'action' => 'Action',
- 'status' => 'Status',
- 'invoice_total' => 'Invoice Total',
- 'frequency' => 'Frequency',
- 'start_date' => 'Start Date',
- 'end_date' => 'End Date',
- 'transaction_reference' => 'Transaction Reference',
- 'method' => 'Method',
- 'payment_amount' => 'Payment Amount',
- 'payment_date' => 'Payment Date',
- 'credit_amount' => 'Credit Amount',
- 'credit_balance' => 'Credit Balance',
- 'credit_date' => 'Credit Date',
- 'empty_table' => 'No data available in table',
- 'select' => 'Select',
- 'edit_client' => 'Edit Client',
- 'edit_invoice' => 'Edit Invoice',
-
- // client view page
- 'create_invoice' => 'Create Invoice',
- 'enter_credit' => 'Enter Credit',
- 'last_logged_in' => 'Last logged in',
- 'details' => 'Details',
- 'standing' => 'Standing',
- 'credit' => 'Credit',
- 'activity' => 'Activity',
- 'date' => 'Date',
- 'message' => 'Message',
- 'adjustment' => 'Adjustment',
- 'are_you_sure' => 'Are you sure?',
-
- // payment pages
- 'payment_type_id' => 'Payment type',
- 'amount' => 'Amount',
-
- // account/company pages
- 'work_email' => 'Email',
- 'language_id' => 'Language',
- 'timezone_id' => 'Timezone',
- 'date_format_id' => 'Date format',
- 'datetime_format_id' => 'Date/Time Format',
- 'users' => 'Users',
- 'localization' => 'Localization',
- 'remove_logo' => 'Remove logo',
- 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended size: 200px width by 120px height',
- 'payment_gateway' => 'Payment Gateway',
- 'gateway_id' => 'Provider',
- 'email_notifications' => 'Email Notifications',
- 'email_sent' => 'Email me when an invoice is sent ',
- 'email_viewed' => 'Email me when an invoice is viewed ',
- 'email_paid' => 'Email me when an invoice is paid ',
- 'site_updates' => 'Site Updates',
- 'custom_messages' => 'Custom Messages',
- 'default_invoice_terms' => 'Set default invoice terms ',
- 'default_email_footer' => 'Set default email signature ',
- 'import_clients' => 'Import Client Data',
- 'csv_file' => 'Select CSV file',
- 'export_clients' => 'Export Client Data',
- 'select_file' => 'Please select a file',
- 'first_row_headers' => 'Use first row as headers',
- 'column' => 'Column',
- 'sample' => 'Sample',
- 'import_to' => 'Import to',
- 'client_will_create' => 'client will be created',
- 'clients_will_create' => 'clients will be created',
-
- // application messages
- 'created_client' => 'Successfully created client',
- 'created_clients' => 'Successfully created :count clients',
- 'updated_settings' => 'Successfully updated settings',
- 'removed_logo' => 'Successfully removed logo',
- 'sent_message' => 'Successfully sent message',
- 'invoice_error' => 'Please make sure to select a client and correct any errors',
- 'limit_clients' => 'Sorry, this will exceed the limit of :count clients',
- 'payment_error' => 'There was an error processing your payment. Please try again later.',
- 'registration_required' => 'Please sign up to email an invoice',
- 'confirmation_required' => 'Please confirm your email address',
-
- 'updated_client' => 'Successfully updated client',
- 'created_client' => 'Successfully created client',
- 'archived_client' => 'Successfully archived client',
- 'archived_clients' => 'Successfully archived :count clients',
- 'deleted_client' => 'Successfully deleted client',
- 'deleted_clients' => 'Successfully deleted :count clients',
-
- 'updated_invoice' => 'Successfully updated invoice',
- 'created_invoice' => 'Successfully created invoice',
- 'cloned_invoice' => 'Successfully cloned invoice',
- 'emailed_invoice' => 'Successfully emailed invoice',
- 'and_created_client' => 'and created client',
- 'archived_invoice' => 'Successfully archived invoice',
- 'archived_invoices' => 'Successfully archived :count invoices',
- 'deleted_invoice' => 'Successfully deleted invoice',
- 'deleted_invoices' => 'Successfully deleted :count invoices',
-
- 'created_payment' => 'Successfully created payment',
- 'archived_payment' => 'Successfully archived payment',
- 'archived_payments' => 'Successfully archived :count payments',
- 'deleted_payment' => 'Successfully deleted payment',
- 'deleted_payments' => 'Successfully deleted :count payments',
- 'applied_payment' => 'Successfully applied payment',
-
- 'created_credit' => 'Successfully created credit',
- 'archived_credit' => 'Successfully archived credit',
- 'archived_credits' => 'Successfully archived :count credits',
- 'deleted_credit' => 'Successfully deleted credit',
- 'deleted_credits' => 'Successfully deleted :count credits',
-
- // Emails
- 'confirmation_subject' => 'Invoice Ninja Account Confirmation',
- 'confirmation_header' => 'Account Confirmation',
- 'confirmation_message' => 'Please access the link below to confirm your account.',
- 'invoice_subject' => 'New invoice from :account',
- 'invoice_message' => 'To view your invoice for :amount, click the link below.',
- 'payment_subject' => 'Payment Received',
- 'payment_message' => 'Thank you for your payment of :amount.',
- 'email_salutation' => 'Dear :name,',
- 'email_signature' => 'Regards,',
- 'email_from' => 'The InvoiceNinja Team',
- 'user_email_footer' => 'To adjust your email notification settings please visit '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'To view your client invoice click the link below:',
- 'notification_invoice_paid_subject' => 'Invoice :invoice was paid by :client',
- 'notification_invoice_sent_subject' => 'Invoice :invoice was sent to :client',
- 'notification_invoice_viewed_subject' => 'Invoice :invoice was viewed by :client',
- 'notification_invoice_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.',
- 'notification_invoice_sent' => 'The following client :client was emailed Invoice :invoice for :amount.',
- 'notification_invoice_viewed' => 'The following client :client viewed Invoice :invoice for :amount.',
- 'reset_password' => 'You can reset your account password by clicking the following link:',
- 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL,
-
-
- // Payment page
- 'secure_payment' => 'Secure Payment',
- 'card_number' => 'Card number',
- 'expiration_month' => 'Expiration month',
- 'expiration_year' => 'Expiration year',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'Too many attempts. Try again in few minutes.',
- 'wrong_credentials' => 'Incorrect email or password.',
- 'confirmation' => 'Your account has been confirmed!',
- 'wrong_confirmation' => 'Wrong confirmation code.',
- 'password_forgot' => 'The information regarding password reset was sent to your email.',
- 'password_reset' => 'Your password has been changed successfully.',
- 'wrong_password_reset' => 'Invalid password. Try again',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link to remove the Invoice Ninja logo by joining the Pro Plan',
- 'remove_logo_link' => 'Click here',
- ],
-
- 'logout' => 'Log Out',
- 'sign_up_to_save' => 'Sign up to save your work',
- 'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
- 'terms_of_service' => 'Terms of Service',
- 'email_taken' => 'The email address is already registered',
- 'working' => 'Working',
- 'success' => 'Success',
- 'success_message' => 'You have successfully registered. Please visit the link in the account confirmation email to verify your email address.',
- 'erase_data' => 'This will permanently erase your data.',
- 'password' => 'Password',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'One year enrollment in the Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Thanks for choosing Invoice Ninja\'s Pro plan!
- Next Steps
A payable invoice has been sent to the email
- address associated with your account. To unlock all of the awesome
- Pro features, please follow the instructions on the invoice to pay
- for a year of Pro-level invoicing.
- Can\'t find the invoice? Need further assistance? We\'re happy to help
- -- email us at contact@invoiceninja.com',
-
- 'unsaved_changes' => 'You have unsaved changes',
- 'custom_fields' => 'Custom fields',
- 'company_fields' => 'Company Fields',
- 'client_fields' => 'Client Fields',
- 'field_label' => 'Field Label',
- 'field_value' => 'Field Value',
- 'edit' => 'Edit',
- 'set_name' => 'Set your company name',
- 'view_as_recipient' => 'View as recipient',
-
- // product management
- 'product_library' => 'Product Library',
- 'product' => 'Product',
- 'products' => 'Products',
- 'fill_products' => 'Auto-fill products',
- 'fill_products_help' => 'Selecting a product will automatically fill in the description and cost ',
- 'update_products' => 'Auto-update products',
- 'update_products_help' => 'Updating an invoice will automatically update the product library ',
- 'create_product' => 'Create Product',
- 'edit_product' => 'Edit Product',
- 'archive_product' => 'Archive Product',
- 'updated_product' => 'Successfully updated product',
- 'created_product' => 'Successfully created product',
- 'archived_product' => 'Successfully archived product',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Advanced Settings',
- 'pro_plan_advanced_settings' => ':link to enable the advanced settings by joining the Pro Plan',
- 'invoice_design' => 'Invoice Design',
- 'specify_colors' => 'Specify colors',
- 'specify_colors_label' => 'Select the colors used in the invoice',
-
- 'chart_builder' => 'Chart Builder',
- 'ninja_email_footer' => 'Use :site to invoice your clients and get paid online for free!',
- 'go_pro' => 'Go Pro',
-
- // Quotes
- 'quote' => 'Quote',
- 'quotes' => 'Quotes',
- 'quote_number' => 'Quote Number',
- 'quote_number_short' => 'Quote #',
- 'quote_date' => 'Quote Date',
- 'quote_total' => 'Quote Total',
- 'your_quote' => 'Your Quote',
- 'total' => 'Total',
- 'clone' => 'Clone',
-
- 'new_quote' => 'New Quote',
- 'create_quote' => 'Create Quote',
- 'edit_quote' => 'Edit Quote',
- 'archive_quote' => 'Archive Quote',
- 'delete_quote' => 'Delete Quote',
- 'save_quote' => 'Save Quote',
- 'email_quote' => 'Email Quote',
- 'clone_quote' => 'Clone Quote',
- 'convert_to_invoice' => 'Convert to Invoice',
- 'view_invoice' => 'View Invoice',
- 'view_client' => 'View Client',
- 'view_quote' => 'View Quote',
-
- 'updated_quote' => 'Successfully updated quote',
- 'created_quote' => 'Successfully created quote',
- 'cloned_quote' => 'Successfully cloned quote',
- 'emailed_quote' => 'Successfully emailed quote',
- 'archived_quote' => 'Successfully archived quote',
- 'archived_quotes' => 'Successfully archived :count quotes',
- 'deleted_quote' => 'Successfully deleted quote',
- 'deleted_quotes' => 'Successfully deleted :count quotes',
- 'converted_to_invoice' => 'Successfully converted quote to invoice',
-
- 'quote_subject' => 'New quote from :account',
- 'quote_message' => 'To view your quote for :amount, click the link below.',
- 'quote_link_message' => 'To view your client quote click the link below:',
- 'notification_quote_sent_subject' => 'Quote :invoice was sent to :client',
- 'notification_quote_viewed_subject' => 'Quote :invoice was viewed by :client',
- 'notification_quote_sent' => 'The following client :client was emailed Quote :invoice for :amount.',
- 'notification_quote_viewed' => 'The following client :client viewed Quote :invoice for :amount.',
-
- 'session_expired' => 'Your session has expired.',
-
- 'invoice_fields' => 'Invoice Fields',
- 'invoice_options' => 'Invoice Options',
- 'hide_quantity' => 'Hide quantity',
- 'hide_quantity_help' => 'If your line items quantities are always 1, then you can declutter invoices by no longer displaying this field.',
- 'hide_paid_to_date' => 'Hide paid to date',
- 'hide_paid_to_date_help' => 'Only display the "Paid to Date" area on your invoices once a payment has been received.',
-
- 'charge_taxes' => 'Charge taxes',
- 'user_management' => 'User Management',
- 'add_user' => 'Add User',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Successfully sent invitation',
- 'updated_user' => 'Successfully updated user',
- 'invitation_message' => 'You\'ve been invited by :invitor. ',
- 'register_to_add_user' => 'Please sign up to add a user',
- 'user_state' => 'State',
- 'edit_user' => 'Edit User',
- 'delete_user' => 'Delete User',
- 'active' => 'Active',
- 'pending' => 'Pending',
- 'deleted_user' => 'Successfully deleted user',
- 'limit_users' => 'Sorry, this will exceed the limit of ' . MAX_NUM_USERS . ' users',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
- 'sent' => 'sent',
-
- 'vat_number' => 'VAT Number',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'id_number' => 'ID Number',
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer ',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
diff --git a/app/lang/en/validation.php b/app/lang/en/validation.php
deleted file mode 100755
index 68b39c68af2f..000000000000
--- a/app/lang/en/validation.php
+++ /dev/null
@@ -1,102 +0,0 @@
- "The :attribute must be accepted.",
- "active_url" => "The :attribute is not a valid URL.",
- "after" => "The :attribute must be a date after :date.",
- "alpha" => "The :attribute may only contain letters.",
- "alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.",
- "alpha_num" => "The :attribute may only contain letters and numbers.",
- "array" => "The :attribute must be an array.",
- "before" => "The :attribute must be a date before :date.",
- "between" => array(
- "numeric" => "The :attribute must be between :min - :max.",
- "file" => "The :attribute must be between :min - :max kilobytes.",
- "string" => "The :attribute must be between :min - :max characters.",
- "array" => "The :attribute must have between :min - :max items.",
- ),
- "confirmed" => "The :attribute confirmation does not match.",
- "date" => "The :attribute is not a valid date.",
- "date_format" => "The :attribute does not match the format :format.",
- "different" => "The :attribute and :other must be different.",
- "digits" => "The :attribute must be :digits digits.",
- "digits_between" => "The :attribute must be between :min and :max digits.",
- "email" => "The :attribute format is invalid.",
- "exists" => "The selected :attribute is invalid.",
- "image" => "The :attribute must be an image.",
- "in" => "The selected :attribute is invalid.",
- "integer" => "The :attribute must be an integer.",
- "ip" => "The :attribute must be a valid IP address.",
- "max" => array(
- "numeric" => "The :attribute may not be greater than :max.",
- "file" => "The :attribute may not be greater than :max kilobytes.",
- "string" => "The :attribute may not be greater than :max characters.",
- "array" => "The :attribute may not have more than :max items.",
- ),
- "mimes" => "The :attribute must be a file of type: :values.",
- "min" => array(
- "numeric" => "The :attribute must be at least :min.",
- "file" => "The :attribute must be at least :min kilobytes.",
- "string" => "The :attribute must be at least :min characters.",
- "array" => "The :attribute must have at least :min items.",
- ),
- "not_in" => "The selected :attribute is invalid.",
- "numeric" => "The :attribute must be a number.",
- "regex" => "The :attribute format is invalid.",
- "required" => "The :attribute field is required.",
- "required_if" => "The :attribute field is required when :other is :value.",
- "required_with" => "The :attribute field is required when :values is present.",
- "required_without" => "The :attribute field is required when :values is not present.",
- "same" => "The :attribute and :other must match.",
- "size" => array(
- "numeric" => "The :attribute must be :size.",
- "file" => "The :attribute must be :size kilobytes.",
- "string" => "The :attribute must be :size characters.",
- "array" => "The :attribute must contain :size items.",
- ),
- "unique" => "The :attribute has already been taken.",
- "url" => "The :attribute format is invalid.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/es/pagination.php b/app/lang/es/pagination.php
deleted file mode 100755
index 9cbe91da3011..000000000000
--- a/app/lang/es/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Anterior',
-
- 'next' => 'Siguiente »',
-
-);
diff --git a/app/lang/es/public.php b/app/lang/es/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/es/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/es/reminders.php b/app/lang/es/reminders.php
deleted file mode 100755
index 094e8788814b..000000000000
--- a/app/lang/es/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Las contraseñas deben contener al menos 6 caracteres y coincidir.",
-
- "user" => "No podemos encontrar a un usuario con ese correo electrónico.",
-
- "token" => "Este token de recuperación de contraseña es inválido.",
-
- "sent" => "¡Recordatorio de contraseña enviado!",
-
-);
diff --git a/app/lang/es/texts.php b/app/lang/es/texts.php
deleted file mode 100644
index 5d5a04863c32..000000000000
--- a/app/lang/es/texts.php
+++ /dev/null
@@ -1,554 +0,0 @@
- 'Empresa',
- 'name' => 'Nombre', //Razon social-Colombia,
- 'website' => 'Sitio Web',
- 'work_phone' => 'Teléfono',
- 'address' => 'Dirección',
- 'address1' => 'Calle',
- 'address2' => 'Bloq/Pta',
- 'city' => 'Ciudad',
- 'state' => 'Región/Provincia', //Departamento-Colombia, Comarca-Panama
- 'postal_code' => 'Código Postal',
- 'country_id' => 'PaÃs',
- 'contacts' => 'Contactos',
- 'first_name' => 'Nombres',
- 'last_name' => 'Apellidos',
- 'phone' => 'Teléfono',
- 'email' => 'Email',
- 'additional_info' => 'Información adicional',
- 'payment_terms' => 'Plazos de pago', //
- 'currency_id' => 'Divisa',
- 'size_id' => 'Tamaño',
- 'industry_id' => 'Industria',
- 'private_notes' => 'Notas Privadas',
-
- // invoice
- 'invoice' => 'Factura de venta', //Factura de Venta-Colombia
- 'client' => 'Cliente',
- 'invoice_date' => 'Fecha de factura',
- 'due_date' => 'Fecha de pago',
- 'invoice_number' => 'Número de Factura',
- 'invoice_number_short' => 'Factura #',
- 'po_number' => 'Apartado de correo',
- 'po_number_short' => 'Apdo.',
- 'frequency_id' => 'Frecuencia',
- 'discount' => 'Descuento',
- 'taxes' => 'Impuestos',
- 'tax' => 'Impuesto', //IVA for almost all latinamerica, ISV-Honduras, ITBMS-Panama, IV-Costa Rica, ITBIS- Republica Dominicana, IVU-Puerto Rico
- 'item' => 'Concepto',
- 'description' => 'Descripción',
- 'unit_cost' => 'Coste unitario',
- 'quantity' => 'Cantidad',
- 'line_total' => 'Total',
- 'subtotal' => 'Subtotal',
- 'paid_to_date' => 'Pagado',
- 'balance_due' => 'Pendiente',
- 'invoice_design_id' => 'Diseño',
- 'terms' => 'Términos',
- 'your_invoice' => 'Tu factura',
- 'remove_contact' => 'Eliminar contacto',
- 'add_contact' => 'Añadir contacto',
- 'create_new_client' => 'Crear nuevo cliente',
- 'edit_client_details' => 'Editar detalles del cliente',
- 'enable' => 'Activar',
- 'learn_more' => 'Aprender más',
- 'manage_rates' => 'Gestionar tarifas',
- 'note_to_client' => 'Nota para el cliente',
- 'invoice_terms' => 'Términos de facturación',
- 'save_as_default_terms' => 'Guardar como términos por defecto',
- 'download_pdf' => 'Descargar PDF',
- 'pay_now' => 'Pagar ahora',
- 'save_invoice' => 'Guardar factura',
- 'clone_invoice' => 'Clonar factura',
- 'archive_invoice' => 'Archivar factura',
- 'delete_invoice' => 'Eliminar factura',
- 'email_invoice' => 'Enviar factura por correo',
- 'enter_payment' => 'Agregar pago',
- 'tax_rates' => 'Tasas de impuesto',
- 'rate' => 'Tasas',
- 'settings' => 'Configuración',
- 'enable_invoice_tax' => 'Activar impuesto para la factura ',
- 'enable_line_item_tax' => 'Activar impuesto por concepto ',
-
- // navigation
- 'dashboard' => 'Inicio',
- 'clients' => 'Clientes',
- 'invoices' => 'Facturas',
- 'payments' => 'Pagos',
- 'credits' => 'Créditos',
- 'history' => 'Historial',
- 'search' => 'Búsqueda',
- 'sign_up' => 'registrate',
- 'guest' => 'invitado',
- 'company_details' => 'Detalles de la empresa',
- 'online_payments' => 'Pagos en linea',
- 'notifications' => 'Notificaciones',
- 'import_export' => 'Importar/Exportar',
- 'done' => 'Hecho',
- 'save' => 'Guardar',
- 'create' => 'Crear',
- 'upload' => 'Subir',
- 'import' => 'Importar',
- 'download' => 'Descargar',
- 'cancel' => 'Cancelar',
- 'close' => 'Cerrar',
- 'provide_email' => 'Por favor facilita una dirección de correo válida.',
- 'powered_by' => 'Plataforma por ',
- 'no_items' => 'No hay data',
-
- // recurring invoices
- 'recurring_invoices' => 'Facturas recurrentes',
- 'recurring_help' => 'Enviar facturas automáticamente a clientes semanalmente, bi-mensualmente, mensualmente, trimestral o anualmente.
- Uso :MONTH, :QUARTER or :YEAR para fechas dinámicas. Matemáticas básicas también funcionan bien. Por ejemplo: :MONTH-1.
- Ejemplos de variables dinámicas de factura:
-
- "Afiliación de gimnasio para el mes de:MONTH" => Afiliación de gimnasio para el mes de julio"
- ":YEAR+1 suscripción anual" => "2015 suscripción anual"
- "Retainer payment for :QUARTER+1" => "Pago anticipo de pagos para T2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'ingreso total',
- 'billed_client' => 'cliente facturado',
- 'billed_clients' => 'clientes facturados',
- 'active_client' => 'cliente activo',
- 'active_clients' => 'clientes activos',
- 'invoices_past_due' => 'Facturas vencidas',
- 'upcoming_invoices' => 'Próximas facturas',
- 'average_invoice' => 'Promedio de facturación',
-
- // list pages
- 'archive' => 'Archivar',
- 'delete' => 'Eliminar',
- 'archive_client' => 'Archivar cliente',
- 'delete_client' => 'Eliminar cliente',
- 'archive_payment' => 'Archivar pago',
- 'delete_payment' => 'Eliminar pago',
- 'archive_credit' => 'Archivar crédito',
- 'delete_credit' => 'Eliminar crédito',
- 'show_archived_deleted' => 'Mostrar archivados/eliminados',
- 'filter' => 'Filtrar',
- 'new_client' => 'Nuevo cliente',
- 'new_invoice' => 'Nueva factura',
- 'new_payment' => 'Nuevo pago',
- 'new_credit' => 'Nuevo crédito',
- 'contact' => 'Contacto',
- 'date_created' => 'Fecha de creación',
- 'last_login' => 'Último acceso',
- 'balance' => 'Balance',
- 'action' => 'Acción',
- 'status' => 'Estado',
- 'invoice_total' => 'Total facturado',
- 'frequency' => 'Frequencia',
- 'start_date' => 'Fecha de inicio',
- 'end_date' => 'Fecha de finalización',
- 'transaction_reference' => 'Referencia de transacción',
- 'method' => 'Método',
- 'payment_amount' => 'Valor del pago',
- 'payment_date' => 'Fecha de Pago',
- 'credit_amount' => 'Cantidad de Crédito',
- 'credit_balance' => 'Balance de Crédito',
- 'credit_date' => 'Fecha de Crédito',
- 'empty_table' => 'Tabla vacÃa',
- 'select' => 'Seleccionar',
- 'edit_client' => 'Editar Cliente',
- 'edit_invoice' => 'Editar Factura',
-
- // client view page
- 'create_invoice' => 'Crear Factura',
- 'enter_credit' => 'Agregar Crédito',
- 'last_logged_in' => 'Último inicio de sesión',
- 'details' => 'Detalles',
- 'standing' => 'Standing', //What is this for, context of it's use
- 'credit' => 'Crédito',
- 'activity' => 'Actividad',
- 'date' => 'Fecha',
- 'message' => 'Mensaje',
- 'adjustment' => 'Ajustes',
- 'are_you_sure' => '¿Estás seguro?',
-
- // payment pages
- 'payment_type_id' => 'Tipo de pago',
- 'amount' => 'Cantidad',
-
- // account/company pages
- 'work_email' => 'Correo electrónico de la empresa',
- 'language_id' => 'Idioma',
- 'timezone_id' => 'Zona horaria',
- 'date_format_id' => 'Formato de fecha',
- 'datetime_format_id' => 'Format de fecha/hora',
- 'users' => 'Usuarios',
- 'localization' => 'Localización',
- 'remove_logo' => 'Eliminar logo',
- 'logo_help' => 'Formatos aceptados: JPEG, GIF y PNG. Altura recomendada: 120px',
- 'payment_gateway' => 'Pasarela de pago',
- 'gateway_id' => 'Proveedor',
- 'email_notifications' => 'Notificaciones de email',
- 'email_sent' => 'AvÃsame por email cuando una factura se envÃa ',
- 'email_viewed' => 'AvÃsame por email cuando una factura se visualiza ',
- 'email_paid' => 'AvÃsame por email cuando una factura se paga ',
- 'site_updates' => 'Actualizaciones del sitio',
- 'custom_messages' => 'Mensajes a medida',
- 'default_invoice_terms' => 'Configurar términos de factura por defecto',
- 'default_email_footer' => 'Configurar firma de email por defecto',
- 'import_clients' => 'Importar datos del cliente',
- 'csv_file' => 'Seleccionar archivo CSV',
- 'export_clients' => 'Exportar datos del cliente',
- 'select_file' => 'Seleccionar archivo',
- 'first_row_headers' => 'Usar la primera fila como encabezados',
- 'column' => 'Columna',
- 'sample' => 'Ejemplo',
- 'import_to' => 'Importar a',
- 'client_will_create' => 'cliente se creará', //What is this for, context of it's use
- 'clients_will_create' => 'clientes se crearan', //What is this for, context of it's use
-
- // application messages
- 'created_client' => 'cliente creado con éxito',
- 'created_clients' => ':count clientes creados con éxito',
- 'updated_settings' => 'Configuración actualizada con éxito',
- 'removed_logo' => 'Logo eliminado con éxito',
- 'sent_message' => 'Mensaje enviado con éxito',
- 'invoice_error' => 'Seleccionar cliente y corregir errores.',
- 'limit_clients' => 'Lo sentimos, se ha pasado del lÃmite de :count clientes',
- 'payment_error' => 'Ha habido un error en el proceso de tu pago. Inténtalo de nuevo más tarde.',
- 'registration_required' => 'InscrÃbete para enviar una factura',
- 'confirmation_required' => 'Por favor confirma tu dirección de correo electrónico',
- 'updated_client' => 'Cliente actualizado con éxito',
- 'created_client' => 'Cliente creado con éxito',
- 'archived_client' => 'Cliente archivado con éxito',
- 'archived_clients' => ':count clientes archivados con éxito',
- 'deleted_client' => 'Cliente eliminado con éxito',
- 'deleted_clients' => ':count clientes eliminados con éxito',
- 'updated_invoice' => 'Factura actualizada con éxito',
- 'created_invoice' => 'Factura creada con éxito',
- 'cloned_invoice' => 'Factura clonada con éxito',
- 'emailed_invoice' => 'Factura enviada con éxito',
- 'and_created_client' => 'y cliente creado ',
- 'archived_invoice' => 'Factura archivada con éxito',
- 'archived_invoices' => ':count facturas archivados con éxito',
- 'deleted_invoice' => 'Factura eliminada con éxito',
- 'deleted_invoices' => ':count facturas eliminadas con éxito',
- 'created_payment' => 'Pago creado con éxito',
- 'archived_payment' => 'Pago archivado con éxito',
- 'archived_payments' => ':count pagos archivados con éxito',
- 'deleted_payment' => 'Pago eliminado con éxito',
- 'deleted_payments' => ':count pagos eliminados con éxito',
- 'applied_payment' => 'Pago aplicado con éxito',
- 'created_credit' => 'Crédito creado con éxito',
- 'archived_credit' => 'Crédito archivado con éxito',
- 'archived_credits' => ':count creditos archivados con éxito',
- 'deleted_credit' => 'Créditos eliminados con éxito',
- 'deleted_credits' => ':count creditos eliminados con éxito',
- // Emails
- 'confirmation_subject' => 'Corfimación de tu cuenta en Invoice Ninja',
- 'confirmation_header' => 'Confirmación de Cuenta',
- 'confirmation_message' => 'Por favor, haz clic en el enlace abajo para confirmar tu cuenta.',
- 'invoice_subject' => 'Nueva factura de :account',
- 'invoice_message' => 'Para visualizar tu factura por el valor de :amount, haz click en el enlace abajo.',
- 'payment_subject' => 'Pago recibido',
- 'payment_message' => 'Gracias por tu pago por valor de :amount.',
- 'email_salutation' => 'Estimado :name,',
- 'email_signature' => 'Un saludo cordial,',
- 'email_from' => 'El equipo de Invoice Ninja ',
- 'user_email_footer' => 'Para ajustar la configuración de las notificaciones de tu email, visita '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Para visualizar la factura de cliente, haz clic en el enlace abajo:',
- 'notification_invoice_paid_subject' => 'La factura :invoice ha sido pagada por el cliente :client',
- 'notification_invoice_sent_subject' => 'La factura :invoice ha sido enviada a el cliente :client',
- 'notification_invoice_viewed_subject' => 'La factura :invoice ha sido visualizado por el cliente:client',
- 'notification_invoice_paid' => 'Un pago por valor de :amount se ha realizado por el cliente :client a la factura :invoice.',
- 'notification_invoice_sent' => 'La factura :invoice por valor de :amount fue enviada al cliente :cliente.',
- 'notification_invoice_viewed' => 'La factura :invoice por valor de :amount fue visualizada por el cliente :client.',
- 'reset_password' => 'Puedes reconfigurar la contraseña de tu cuenta haciendo clic en el siguiente enlace:',
- 'reset_password_footer' => 'Si no has solicitado un cambio de contraseña, por favor contactate con nosostros: ' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Pago seguro',
- 'card_number' => 'Número de tarjeta',
- 'expiration_month' => 'Mes de caducidad',
- 'expiration_year' => 'Año de caducidad',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => array(
- 'too_many_attempts' => 'Demasiados intentos fallidos. Inténtalo de nuevo en un par de minutos.',
- 'wrong_credentials' => 'Contraseña o email incorrecto.',
- 'confirmation' => '¡Tu cuenta se ha confirmado!',
- 'wrong_confirmation' => 'Código de confirmación incorrecto.',
- 'password_forgot' => 'La información sobre el cambio de tu contraseña se ha enviado a tu dirección de correo electrónico.',
- 'password_reset' => 'Tu contraseña se ha cambiado con éxito.',
- 'wrong_password_reset' => 'Contraseña no válida. Inténtalo de nuevo',
- ),
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link haz click para eliminar el logo de Invoice Ninja', //Maybe incorrect for the context
- 'remove_logo_link' => 'Haz clic aquÃ',
- ],
- 'logout' => 'Cerrar sesión',
- 'sign_up_to_save' => 'Registrate para guardar tu trabajo',
- 'agree_to_terms' =>'Estoy de acuerdo con los términos de Invoice Ninja :terms',
- 'terms_of_service' => 'Términos de servicio',
- 'email_taken' => 'Esta dirección de correo electrónico ya se ha registrado',
- 'working' => 'Procesando',
- 'success' => 'Éxito',
- 'success_message' => 'Te has registrado con éxito. Por favor, haz clic en el enlace de el correo de confirmación para verificar tu dirección de correo electrónico.',
- 'erase_data' => 'Esta acción eliminará todos tus datos de forma permanente.',
- 'password' => 'Contraseña',
-
- 'pro_plan_product' => 'Plan Pro',
- 'pro_plan_description' => 'Un año de inscripción en el Plan Pro de Invoice Ninja.',
- 'pro_plan_success' => '¡Gracias por unirte a Invoice Ninja! Al realizar el pago de tu factura, se iniciara tu PLAN PRO.',
- 'unsaved_changes' => 'Tienes cambios no guardados',
- 'custom_fields' => 'Campos a medida',
- 'company_fields' => 'Campos de la empresa',
- 'client_fields' => 'Campos del cliente',
- 'field_label' => 'Etiqueta del campo',
- 'field_value' => 'Valor del campo',
- 'edit' => 'Editar',
- 'view_as_recipient' => 'Ver como destinitario',
-
- // product management
- 'product_library' => 'Inventario de productos',
- 'product' => 'Producto',
- 'products' => 'Productos',
- 'fill_products' => 'Auto-rellenar productos',
- 'fill_products_help' => 'Seleccionar un producto automáticamente configurará la descripción y coste ',
- 'update_products' => 'Auto-actualizar productos',
- 'update_products_help' => 'Actualizar una factura automáticamente actualizará los productos ',
- 'create_product' => 'Crear Producto',
- 'edit_product' => 'Editar Producto',
- 'archive_product' => 'Archivar Producto',
- 'updated_product' => 'Producto actualizado con éxito',
- 'created_product' => 'Producto creado con éxito',
- 'archived_product' => 'Producto archivado con éxito',
- 'pro_plan_custom_fields' => ':link haz click para para activar campos a medida',
- 'advanced_settings' => 'Configuración Avanzada',
- 'pro_plan_advanced_settings' => ':link haz click para para activar la configuración avanzada',
- 'invoice_design' => 'Diseño de factura',
- 'specify_colors' => 'Especificar colores',
- 'specify_colors_label' => 'Seleccionar los colores para usar en las facturas',
- 'chart_builder' => 'Constructor de graficos',
- 'ninja_email_footer' => 'Usa :site para facturar a tus clientes y recibir pagos de forma gratuita!',
- 'go_pro' => 'Hazte Pro',
-
- // Quotes
- 'quote' => 'Cotización',
- 'quotes' => 'Cotizaciones',
- 'quote_number' => 'Numero de cotización',
- 'quote_number_short' => 'Cotización #',
- 'quote_date' => 'Fecha cotización',
- 'quote_total' => 'Total cotizado',
- 'your_quote' => 'Tu cotización',
- 'total' => 'Total',
- 'clone' => 'Clon', //Whats the context for this one
- 'new_quote' => 'Nueva cotización',
- 'create_quote' => 'Crear Cotización',
- 'edit_quote' => 'Editar Cotización',
- 'archive_quote' => 'Archivar Cotización',
- 'delete_quote' => 'Eliminar Cotización',
- 'save_quote' => 'Guardar Cotización',
- 'email_quote' => 'Enviar Cotización',
- 'clone_quote' => 'Clonar Cotización',
- 'convert_to_invoice' => 'Convertir a Factura',
- 'view_invoice' => 'Ver Factura',
- 'view_quote' => 'Ver Cotización',
- 'view_client' => 'Ver Cliente',
- 'updated_quote' => 'Cotización actualizada con éxito',
- 'created_quote' => 'Cotización creada con éxito',
- 'cloned_quote' => 'Cotización clonada con éxito',
- 'emailed_quote' => 'Cotización enviada con éxito',
- 'archived_quote' => 'Cotización archivada con éxito',
- 'archived_quotes' => ':count cotizaciones archivadas con exito',
- 'deleted_quote' => 'Cotizaciónes eliminadas con éxito',
- 'deleted_quotes' => ':count cotizaciones eliminadas con exito',
- 'converted_to_invoice' => 'Cotización convertida a factura con éxito',
- 'quote_subject' => 'Nueva cotización de :account',
- 'quote_message' => 'Para visualizar la cotización por valor de :amount, haz click en el enlace abajo.',
- 'quote_link_message' => 'Para visualizar tu cotización haz click en el enlace abajo:',
- 'notification_quote_sent_subject' => 'Cotización :invoice enviada a el cliente :client',
- 'notification_quote_viewed_subject' => 'Cotización :invoice visualizada por el cliente :client',
- 'notification_quote_sent' => 'La cotización :invoice por un valor de :amount, ha sido enviada al cliente :client.',
- 'notification_quote_viewed' => 'La cotizacion :invoice por un valor de :amount ha sido visualizada por el cliente :client.',
- 'session_expired' => 'Tu sesión ha caducado.',
- 'invoice_fields' => 'Campos de factura',
- 'invoice_options' => 'Opciones de factura',
- 'hide_quantity' => 'Ocultar cantidad',
- 'hide_quantity_help' => 'Si las cantidades de tus partidas siempre son 1, entonces puedes organizar tus facturas mejor al no mostrar este campo.',
- 'hide_paid_to_date' => 'Ocultar valor pagado a la fecha',
- 'hide_paid_to_date_help' => 'Solo mostrar la opción “Pagado a la fecha†en tus facturas en cuanto se ha recibido un pago.',
- 'charge_taxes' => 'Cargar impuestos',
- 'user_management' => 'Gestión de usario',
- 'add_user' => 'Añadir usario',
- 'send_invite' => 'Enviar invitación', //Context for its use
- 'sent_invite' => 'Invitación enviada con éxito',
- 'updated_user' => 'Usario actualizado con éxito',
- 'invitation_message' => ':invitor te ha invitado a unirte a su cuenta en Invoice Ninja.',
- 'register_to_add_user' => 'RegÃstrate para añadir usarios',
- 'user_state' => 'Estado',
- 'edit_user' => 'Editar Usario',
- 'delete_user' => 'Eliminar Usario',
- 'active' => 'Activar',
- 'pending' => 'Pendiente',
- 'deleted_user' => 'Usario eliminado con éxito',
- 'limit_users' => 'Lo sentimos, esta acción excederá el lÃmite de ' . MAX_NUM_USERS . ' usarios',
- 'confirm_email_invoice' => '¿Estás seguro que quieres enviar esta factura?',
- 'confirm_email_quote' => '¿Estás seguro que quieres enviar esta cotización?',
- 'confirm_recurring_email_invoice' => 'Se ha marcado esta factura como recurrente, estás seguro que quieres enviar esta factura?',
- 'cancel_account' => 'Cancelar Cuenta',
- 'cancel_account_message' => 'AVISO: Esta acción eliminará todos tus datos de forma permanente.',
- 'go_back' => 'Atrás',
- 'data_visualizations' => 'Visualización de datos',
- 'sample_data' => 'Datos de ejemplo',
- 'hide' => 'Ocultar',
- 'new_version_available' => 'Una nueva versión de :releases_link disponible. Estás utilizando versión :user_version, la última versión es :latest_version',
- 'invoice_settings' => 'Configuración de facturas',
- 'invoice_number_prefix' => 'Prefijo de facturación',
- 'invoice_number_counter' => 'Numeración de facturación',
- 'quote_number_prefix' => 'Prejijo de cotizaciones',
- 'quote_number_counter' => 'Numeración de cotizaciones',
- 'share_invoice_counter' => 'Compartir la numeración para cotización y facturación',
- 'invoice_issued_to' => 'Factura emitida a',
- 'invalid_counter' => 'Para evitar posibles conflictos, por favor crea un prefijo de facturación y de cotización.',
- 'mark_sent' => 'Marcar como enviado',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
-
- 'id_number' => 'ID Number',
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-
-);
\ No newline at end of file
diff --git a/app/lang/es/validation.php b/app/lang/es/validation.php
deleted file mode 100755
index 2baee0ab1da4..000000000000
--- a/app/lang/es/validation.php
+++ /dev/null
@@ -1,111 +0,0 @@
- ":attribute debe ser aceptado.",
- "active_url" => ":attribute no es una URL válida.",
- "after" => ":attribute debe ser una fecha posterior a :date.",
- "alpha" => ":attribute solo debe contener letras.",
- "alpha_dash" => ":attribute solo debe contener letras, números y guiones.",
- "alpha_num" => ":attribute solo debe contener letras y números.",
- "array" => ":attribute debe ser un conjunto.",
- "before" => ":attribute debe ser una fecha anterior a :date.",
- "between" => array(
- "numeric" => ":attribute tiene que estar entre :min - :max.",
- "file" => ":attribute debe pesar entre :min - :max kilobytes.",
- "string" => ":attribute tiene que tener entre :min - :max caracteres.",
- "array" => ":attribute tiene que tener entre :min - :max Ãtems.",
- ),
- "confirmed" => "La confirmación de :attribute no coincide.",
- "date" => ":attribute no es una fecha válida.",
- "date_format" => ":attribute no corresponde al formato :format.",
- "different" => ":attribute y :other deben ser diferentes.",
- "digits" => ":attribute debe tener :digits dÃgitos.",
- "digits_between" => ":attribute debe tener entre :min y :max dÃgitos.",
- "email" => ":attribute no es un correo válido",
- "exists" => ":attribute es inválido.",
- "image" => ":attribute debe ser una imagen.",
- "in" => ":attribute es inválido.",
- "integer" => ":attribute debe ser un número entero.",
- "ip" => ":attribute debe ser una dirección IP válida.",
- "max" => array(
- "numeric" => ":attribute no debe ser mayor a :max.",
- "file" => ":attribute no debe ser mayor que :max kilobytes.",
- "string" => ":attribute no debe ser mayor que :max caracteres.",
- "array" => ":attribute no debe tener más de :max elementos.",
- ),
- "mimes" => ":attribute debe ser un archivo con formato: :values.",
- "min" => array(
- "numeric" => "El tamaño de :attribute debe ser de al menos :min.",
- "file" => "El tamaño de :attribute debe ser de al menos :min kilobytes.",
- "string" => ":attribute debe contener al menos :min caracteres.",
- "array" => ":attribute debe tener al menos :min elementos.",
- ),
- "not_in" => ":attribute es inválido.",
- "numeric" => ":attribute debe ser numérico.",
- "regex" => "El formato de :attribute es inválido.",
- "required" => "El campo :attribute es obligatorio.",
- "required_if" => "El campo :attribute es obligatorio cuando :other es :value.",
- "required_with" => "El campo :attribute es obligatorio cuando :values está presente.",
- "required_with_all" => "The :attribute field is required when :values is present.",
- "required_without" => "El campo :attribute es obligatorio cuando :values no está presente.",
- "required_without_all" => "The :attribute field is required when none of :values are present.",
- "same" => ":attribute y :other deben coincidir.",
- "size" => array(
- "numeric" => "El tamaño de :attribute debe ser :size.",
- "file" => "El tamaño de :attribute debe ser :size kilobytes.",
- "string" => ":attribute debe contener :size caracteres.",
- "array" => ":attribute debe contener :size elementos.",
- ),
- "unique" => ":attribute ya ha sido registrado.",
- "url" => "El formato :attribute es inválido.",
- "positive" => ":attribute debe ser mayor que cero.",
- "has_credit" => "el cliente no tiene crédito suficiente.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/fr/pagination.php b/app/lang/fr/pagination.php
deleted file mode 100644
index 5f0b1d94f7b0..000000000000
--- a/app/lang/fr/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Précédent',
-
- 'next' => 'Suivant »',
-
-);
\ No newline at end of file
diff --git a/app/lang/fr/public.php b/app/lang/fr/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/fr/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/fr/reminders.php b/app/lang/fr/reminders.php
deleted file mode 100644
index e9f1f353e9d8..000000000000
--- a/app/lang/fr/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Les mots de passe doivent avoir au moins six caractères et doivent être identiques.",
-
- "user" => "Nous ne pouvons trouver cet utilisateur avec cette adresse e-mail.",
-
- "token" => "Ce jeton de réinitialisation du mot de passe n'est pas valide.",
-
- "sent" => "Rappel du mot de passe envoyé !",
-
-);
\ No newline at end of file
diff --git a/app/lang/fr/texts.php b/app/lang/fr/texts.php
deleted file mode 100644
index 9c78aa59e0ff..000000000000
--- a/app/lang/fr/texts.php
+++ /dev/null
@@ -1,574 +0,0 @@
- 'Entreprise',
- 'name' => 'Nom',
- 'website' => 'Site web',
- 'work_phone' => 'Téléphone',
- 'address' => 'Adresse',
- 'address1' => 'Rue',
- 'address2' => 'Appt/Bâtiment',
- 'city' => 'Ville',
- 'state' => 'Région/Département',
- 'postal_code' => 'Code Postal',
- 'country_id' => 'Pays',
- 'contacts' => 'Informations de contact', //if you speak about contact details
- 'first_name' => 'Prénom',
- 'last_name' => 'Nom',
- 'phone' => 'Téléphone',
- 'email' => 'Courriel',
- 'additional_info' => 'Informations complémentaires',
- 'payment_terms' => 'Conditions de paiement',
- 'currency_id' => 'Devise',
- 'size_id' => 'Taille',
- 'industry_id' => 'Secteur', // literal translation : Industrie
- 'private_notes' => 'Note personnelle',
-
- // invoice
- 'invoice' => 'Facture',
- 'client' => 'Client',
- 'invoice_date' => 'Date de la facture',
- 'due_date' => 'Date d\'échéance',
- 'invoice_number' => 'Numéro de facture',
- 'invoice_number_short' => 'Facture #',
- 'po_number' => 'Numéro du bon de commande',
- 'po_number_short' => 'Bon de commande #',
- 'frequency_id' => 'Fréquence',
- 'discount' => 'Remise',
- 'taxes' => 'Taxes',
- 'tax' => 'Taxe',
- 'item' => 'Article',
- 'description' => 'Description',
- 'unit_cost' => 'Coût unitaire',
- 'quantity' => 'Quantité',
- 'line_total' => 'Total',
- 'subtotal' => 'Total',
- 'paid_to_date' => 'Versé à ce jour',//this one is not very used in France
- 'balance_due' => 'Montant total',//can be "Montant à verser" or "Somme totale"
- 'invoice_design_id' => 'Design', //if you speak about invoice's design -> "Modèle"
- 'terms' => 'Conditions',
- 'your_invoice' => 'Votre Facture',
-
- 'remove_contact' => 'Supprimer un contact',
- 'add_contact' => 'Ajouter un contact',
- 'create_new_client' => 'Ajouter un nouveau client',
- 'edit_client_details' => 'Modifier les informations du client',
- 'enable' => 'Autoriser',
- 'learn_more' => 'En savoir +',
- 'manage_rates' => 'Gérer les taux',
- 'note_to_client' => 'Commentaire pour le client',
- 'invoice_terms' => 'Conditions de facturation',
- 'save_as_default_terms' => 'Sauvegarder comme conditions par défaut',
- 'download_pdf' => 'Télécharger le PDF',
- 'pay_now' => 'Payer maintenant',
- 'save_invoice' => 'Sauvegarder la facture',
- 'clone_invoice' => 'Dupliquer la facture',
- 'archive_invoice' => 'Archiver la facture',
- 'delete_invoice' => 'Supprimer la facture',
- 'email_invoice' => 'Envoyer la facture par courriel',
- 'enter_payment' => 'Saisissez un paiement',
- 'tax_rates' => 'Taux de taxe',
- 'rate' => 'Taux',
- 'settings' => 'Paramètres',
- 'enable_invoice_tax' => 'Spécifier une taxe pour la facture',
- 'enable_line_item_tax' => 'Spécifier une taxe pour chaque ligne ',
-
- // navigation
- 'dashboard' => 'Tableau de bord',
- 'clients' => 'Clients',
- 'invoices' => 'Factures',
- 'payments' => 'Paiements',
- 'credits' => 'Crédits',
- 'history' => 'Historique',
- 'search' => 'Rechercher',
- 'sign_up' => 'S\'enregistrer',
- 'guest' => 'Invité',
- 'company_details' => 'Informations sur l\'entreprise',
- 'online_payments' => 'Paiements en ligne',
- 'notifications' => 'Notifications',
- 'import_export' => 'Importer/Exporter',
- 'done' => 'Valider',
- 'save' => 'Sauvegarder',
- 'create' => 'Créer',
- 'upload' => 'Envoyer',
- 'import' => 'Importer',
- 'download' => 'Télécharger',
- 'cancel' => 'Annuler',
- 'close' => 'Fermer',
- 'provide_email' => 'Veuillez renseigner une adresse courriel valide',
- 'powered_by' => 'Propulsé par',
- 'no_items' => 'Aucun élément',
-
- // recurring invoices
- 'recurring_invoices' => 'Factures récurrentes',
- 'recurring_help' => 'Envoyer automatiquement la même facture à vos clients de façon hebdomadaire, bimensuelle, mensuelle, trimestrielle ou annuelle.
- Utiliser :MONTH, :QUARTER ou :YEAR pour des dates dynamiques. Les opérations simples fonctionnent également, par exemple :MONTH-1.
- Exemples de variables dynamiques pour les factures:
-
- "Adhésion au club de gym pour le mois de :MONTH" => "Adhésion au club de gym pour le mois de Juillet"
- ":YEAR+1 - abonnement annuel" => "2015 - abonnement annuel"
- "Acompte pour le :QUARTER+1" => "Acompte pour le Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'de bénéfice total',
- 'billed_client' => 'client facturé',
- 'billed_clients' => 'clients facturés',
- 'active_client' => 'client actif',
- 'active_clients' => 'clients actifs',
- 'invoices_past_due' => 'Date limite de paiement dépassée',
- 'upcoming_invoices' => 'Factures à venir',
- 'average_invoice' => 'Moyenne de facturation',
-
- // list pages
- 'archive' => 'Archiver',
- 'delete' => 'Supprimer',
- 'archive_client' => 'Archiver ce client',
- 'delete_client' => 'Supprimer ce client',
- 'archive_payment' => 'Archiver ce paiement',
- 'delete_payment' => 'Supprimer ce paiement',
- 'archive_credit' => 'Archiver ce crédit',
- 'delete_credit' => 'Supprimer ce crédit',
- 'show_archived_deleted' => 'Afficher archivés/supprimés',
- 'filter' => 'Filtrer',
- 'new_client' => 'Nouveau Client',
- 'new_invoice' => 'Nouvelle Facture',
- 'new_payment' => 'Nouveau Paiement',
- 'new_credit' => 'Nouveau Crédit',
- 'contact' => 'Contact',
- 'date_created' => 'Date de création',
- 'last_login' => 'Dernière connexion',
- 'balance' => 'Solde',
- 'action' => 'Action',
- 'status' => 'Statut',
- 'invoice_total' => 'Montant Total',
- 'frequency' => 'Fréquence',
- 'start_date' => 'Date de début',
- 'end_date' => 'Date de fin',
- 'transaction_reference' => 'Référence de la transaction',
- 'method' => 'Méthode',
- 'payment_amount' => 'Montant du paiement',
- 'payment_date' => 'Date du paiement',
- 'credit_amount' => 'Montant du crédit',
- 'credit_balance' => 'Solde du crédit',
- 'credit_date' => 'Date de crédit',
- 'empty_table' => 'Aucune donnée disponible dans la table',
- 'select' => 'Sélectionner',
- 'edit_client' => 'Éditer le Client',
- 'edit_invoice' => 'Éditer la Facture',
-
- // client view page
- 'create_invoice' => 'Créer une facture',
- 'enter_credit' => 'Saisissez un crédit',
- 'last_logged_in' => 'Dernière connexion',
- 'details' => 'Détails',
- 'standing' => 'En attente',
- 'credit' => 'Crédit',
- 'activity' => 'Activité',
- 'date' => 'Date',
- 'message' => 'Message',
- 'adjustment' => 'Réglements',
- 'are_you_sure' => 'Voulez-vous vraiment effectuer cette action ?',
-
- // payment pages
- 'payment_type_id' => 'Type de paiement',
- 'amount' => 'Montant',
-
- // account/company pages
- 'work_email' => 'Courriel',
- 'language_id' => 'Langage',
- 'timezone_id' => 'Fuseau horaire',
- 'date_format_id' => 'Format de la date',
- 'datetime_format_id' => 'Format Date/Heure',
- 'users' => 'Utilisateurs',
- 'localization' => 'Localisation',
- 'remove_logo' => 'Supprimer le logo',
- 'logo_help' => 'Formats supportés: JPEG, GIF et PNG. Hauteur recommandé: 120px',
- 'payment_gateway' => 'Passerelle de paiement',
- 'gateway_id' => 'Fournisseur',
- 'email_notifications' => 'Notifications par courriel',
- 'email_sent' => 'm\'envoyer un courriel quand une facture est envoyée ',
- 'email_viewed' => 'm\'envoyer un courriel quand une facture est vue ',
- 'email_paid' => 'm\'envoyer un courriel quand une facture est payée ',
- 'site_updates' => 'Mises à jour du site',
- 'custom_messages' => 'Messages personnalisés',
- 'default_invoice_terms' => 'Définir comme les conditions par défaut',
- 'default_email_footer' => 'Définir comme la signature de courriel par défaut',
- 'import_clients' => 'Importer des données clients',
- 'csv_file' => 'Sélectionner un fichier CSV',
- 'export_clients' => 'Exporter des données clients',
- 'select_file' => 'Veuillez sélectionner un fichier',
- 'first_row_headers' => 'Utiliser la première ligne comme en-tête',
- 'column' => 'Colonne',
- 'sample' => 'Exemple',
- 'import_to' => 'Importer en tant que',
- 'client_will_create' => 'client sera créé',
- 'clients_will_create' => 'clients seront créés',
-
- // application messages
- 'created_client' => 'Client créé avec succès',
- 'created_clients' => ':count clients créés ave csuccès',
- 'updated_settings' => 'paramètres mis à jour avec succès',
- 'removed_logo' => 'Logo supprimé avec succès',
- 'sent_message' => 'Message envoyé avec succès',
- 'invoice_error' => 'Veuillez vous assurer de sélectionner un client et de corriger les erreurs',
- 'limit_clients' => 'Désolé, cela dépasse la limite de :count clients',
- 'payment_error' => 'Il y a eu une erreur lors du traitement de votre paiement. Veuillez réessayer ultérieurement',
- 'registration_required' => 'Veuillez vous enregistrer pour envoyer une facture par courriel',
- 'confirmation_required' => 'Veuillez confirmer votre adresse courriel',
-
- 'updated_client' => 'Client modifié avec succès',
- 'created_client' => 'Client créé avec succès',
- 'archived_client' => 'Client archivé avec succès',
- 'archived_clients' => ':count clients archivés avec succès',
- 'deleted_client' => 'Client supprimé avec succès',
- 'deleted_clients' => ':count clients supprimés avec succès',
-
- 'updated_invoice' => 'Facture modifiée avec succès',
- 'created_invoice' => 'Facture créée avec succès',
- 'cloned_invoice' => 'Facture dupliquée avec succès',
- 'emailed_invoice' => 'Facture envoyée par courriel avec succès',
- 'and_created_client' => 'et client créé',
- 'archived_invoice' => 'Facture archivée avec succès',
- 'archived_invoices' => ':count factures archivées avec succès',
- 'deleted_invoice' => 'Facture supprimée avec succès',
- 'deleted_invoices' => ':count factures supprimées avec succès',
-
- 'created_payment' => 'Paiement créé avec succès',
- 'archived_payment' => 'Paiement archivé avec succès',
- 'archived_payments' => ':count paiement archivés avec succès',
- 'deleted_payment' => 'Paiement supprimé avec succès',
- 'deleted_payments' => ':count paiement supprimés avec succès',
- 'applied_payment' => 'Paiement appliqué avec succès',
-
- 'created_credit' => 'Crédit créé avec succès',
- 'archived_credit' => 'Crédit archivé avec succès',
- 'archived_credits' => ':count crédits archivés avec succès',
- 'deleted_credit' => 'Crédit supprimé avec succès',
- 'deleted_credits' => ':count crédits supprimés avec succès',
-
- // Emails
- 'confirmation_subject' => 'Validation du compte invoice ninja',
- 'confirmation_header' => 'Validation du compte',
- 'confirmation_message' => 'Veuillez cliquer sur le lien ci-après pour valider votre compte.',
- 'invoice_subject' => 'Nouvelle facture en provenance de :account',
- 'invoice_message' => 'Pour voir votre facture de :amount, Cliquez sur le lien ci-après.',
- 'payment_subject' => 'Paiement reçu',
- 'payment_message' => 'Merci pour votre paiement d\'un montant de :amount',
- 'email_salutation' => 'Cher :name,',
- 'email_signature' => 'Cordialement,',
- 'email_from' => 'L\'équipe InvoiceNinja',
- 'user_email_footer' => 'Pour modifier vos paramètres de notification par courriel, veuillez visiter '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Pour voir la facture de votre client cliquez sur le lien ci-après :',
- 'notification_invoice_paid_subject' => 'La facture :invoice a été payée par le client :client',
- 'notification_invoice_sent_subject' => 'La facture :invoice a été envoyée au client :client',
- 'notification_invoice_viewed_subject' => 'La facture :invoice a été vue par le client :client',
- 'notification_invoice_paid' => 'Un paiement de :amount a été effectué par le client :client concernant la facture :invoice.',
- 'notification_invoice_sent' => 'Le client suivant :client a reçu par courriel la facture :invoice d\'un montant de :amount',
- 'notification_invoice_viewed' => 'Le client suivant :client a vu la facture :invoice d\'un montant de :amount',
- 'reset_password' => 'Vous pouvez réinitialiser votre mot de passe en cliquant sur le lien suivant :',
- 'reset_password_footer' => 'Si vous n\'avez pas effectué de demande de réinitalisation de mot de passe veuillez contacter notre support :' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Paiement sécurisé',
- 'card_number' => 'Numéro de carte',
- 'expiration_month' => 'Mois d\'expiration',
- 'expiration_year' => 'Année d\'expiration',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => array(
- 'too_many_attempts' => 'Trop de tentatives. Essayez à nouveau dans quelques minutes.',
- 'wrong_credentials' => 'Courriel ou mot de passe incorrect',
- 'confirmation' => 'Votre compte a été validé !',
- 'wrong_confirmation' => 'Code de confirmation incorrect.',
- 'password_forgot' => 'Les informations de réinitialisation de votre mot de passe vous ont été envoyées par courriel.',
- 'password_reset' => 'Votre mot de passe a été modifié avec succès.',
- 'wrong_password_reset' => 'Mot de passe incorrect. Veuillez réessayer',
- ),
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link pour supprimer le logo Invoice Ninja en souscrivant au plan pro',
- 'remove_logo_link' => 'Cliquez ici',
- ],
-
- 'logout' => 'Se déconnecter',
- 'sign_up_to_save' => 'Connectez vous pour sauvegarder votre travail',
- 'agree_to_terms' =>'J\'accepte les conditions d\'utilisation d\'Invoice ninja :terms',
- 'terms_of_service' => 'Conditions d\'utilisation',
- 'email_taken' => 'L\'adresse courriel existe déjà ',
- 'working' => 'En cours',
- 'success' => 'Succès',
- 'success_message' => 'Inscription réussie avec succès. Veuillez cliquer sur le lien dans le courriel de confirmation de compte pour vérifier votre adresse courriel.',
- 'erase_data' => 'Cela supprimera vos données de façon permanente.',
- 'password' => 'Mot de passe',
-
- 'pro_plan_product' => 'Plan Pro',
- 'pro_plan_description' => 'Inscription d\'une durée d\'un an au Plan Pro d\'Invoice ninja',
- 'pro_plan_success' => 'Merci pour votre inscription ! Une fois la facture réglée, votre adhésion au Plan Pro commencera.',
-
- 'unsaved_changes' => 'Vous avez des modifications non enregistrées',
- 'custom_fields' => 'Champs personnalisés',
- 'company_fields' => 'Champs de société',
- 'client_fields' => 'Champs client',
- 'field_label' => 'Nom du champ',
- 'field_value' => 'Valeur du champ',
- 'edit' => 'Éditer',
- 'view_as_recipient' => 'Voir en tant que destinataire',
-
- // product management
- 'product_library' => 'Inventaire',
- 'product' => 'Produit',
- 'products' => 'Produits',
- 'fill_products' => 'Remplissage auto des produits',
- 'fill_products_help' => 'La sélection d\'un produit entrainera la MAJ de la description et du prix ',
- 'update_products' => 'Mise à jour auto des produits',
- 'update_products_help' => 'La mise à jour d\'une facture entraîne la mise à jour des produits ',
- 'create_product' => 'Nouveau produit',
- 'edit_product' => 'Éditer Produit',
- 'archive_product' => 'Archiver Produit',
- 'updated_product' => 'Produit mis à jour',
- 'created_product' => 'Produit créé',
- 'archived_product' => 'Produit archivé',
- 'pro_plan_custom_fields' => ':link pour activer les champs personnalisés en rejoingant le Plan Pro',
-
- 'advanced_settings' => 'Paramètres avancés',
- 'pro_plan_advanced_settings' => ':link pour activer les paramètres avancés en rejoingant le Plan Pro',
- 'invoice_design' => 'Modèle de facture',
- 'specify_colors' => 'Spécifiez les couleurs',
- 'specify_colors_label' => 'Sélectionnez les couleurs utilisés dans les factures',
-
- 'chart_builder' => 'Concepteur de graphiques',
- 'ninja_email_footer' => 'Utilisez :site pour facturer vos clients et être payés en ligne gratuitement!',
- 'go_pro' => 'Passez au Plan Pro',
-
- // Quotes
- 'quote' => 'Devis',
- 'quotes' => 'Devis',
- 'quote_number' => 'Devis numéro',
- 'quote_number_short' => 'Devis #',
- 'quote_date' => 'Date du devis',
- 'quote_total' => 'Montant du devis',
- 'your_quote' => 'Votre devis',
- 'total' => 'Total',
- 'clone' => 'Dupliquer',
-
- 'new_quote' => 'Nouveau devis',
- 'create_quote' => 'Créer un devis',
- 'edit_quote' => 'Éditer le devis',
- 'archive_quote' => 'Archiver le devis',
- 'delete_quote' => 'Supprimer le devis',
- 'save_quote' => 'Enregistrer le devis',
- 'email_quote' => 'Envoyer le devis par courriel',
- 'clone_quote' => 'Dupliquer le devis',
- 'convert_to_invoice' => 'Convertir en facture',
- 'view_invoice' => 'Nouvelle facture',
- 'view_quote' => 'Voir le devis',
- 'view_client' => 'Voir le client',
-
- 'updated_quote' => 'Devis mis à jour',
- 'created_quote' => 'Devis créé',
- 'cloned_quote' => 'Devis dupliqué avec succès',
- 'emailed_quote' => 'Devis envoyé par courriel',
- 'archived_quote' => 'Devis archivé',
- 'archived_quotes' => ':count devis ont bien été archivés',
- 'deleted_quote' => 'Devis supprimé',
- 'deleted_quotes' => ':count devis ont bien été supprimés',
- 'converted_to_invoice' => 'Le devis a bien été converti en facture',
-
- 'quote_subject' => 'Nouveau devis de :account',
- 'quote_message' => 'Pour visionner votre devis de :amount, cliquez sur le lien ci-dessous.',
- 'quote_link_message' => 'Pour visionner votre soumission, cliquez sur le lien ci-dessous:',
- 'notification_quote_sent_subject' => 'Le devis :invoice a été envoyé à :client',
- 'notification_quote_viewed_subject' => 'Le devis :invoice a été visionné par :client',
- 'notification_quote_sent' => 'Le devis :invoice de :amount a été envoyé au client :client.',
- 'notification_quote_viewed' => 'Le devis :invoice de :amount a été visioné par le client :client.',
-
- 'session_expired' => 'Votre session a expiré.',
-
- 'invoice_fields' => 'Champs de facture',
- 'invoice_options' => 'Options de facturation',
- 'hide_quantity' => 'Masquer la quantité',
- 'hide_quantity_help' => 'Si la quantité de vos produits sont toujours 1, vous pouvez alors masquer la colonne "Quantité".',
- 'hide_paid_to_date' => 'Masquer "Payé à ce jour"',
- 'hide_paid_to_date_help' => 'Afficher seulement la ligne "Payé à ce jour"sur les factures pour lesquelles il y a au moins un paiement.',
-
- 'charge_taxes' => 'Taxe supplémentaire',
- 'user_management' => 'Gestion des utilisateurs',
- 'add_user' => 'Ajouter utilisateur',
- 'send_invite' => 'Envoyer invitation',
- 'sent_invite' => 'Invitation envoyés',
- 'updated_user' => 'Utilisateur mis à jour',
- 'invitation_message' => 'Vous avez été invité par :invitor. ',
- 'register_to_add_user' => 'Veuillez vous enregistrer pour ajouter un utilisateur',
- 'user_state' => 'État',
- 'edit_user' => 'Éditer l\'utilisateur',
- 'delete_user' => 'Supprimer l\'utilisateur',
- 'active' => 'Actif',
- 'pending' => 'En attente',
- 'deleted_user' => 'Utilisateur supprimé',
- 'limit_users' => 'Désolé, ceci excédera la limite de ' . MAX_NUM_USERS . ' utilisateurs',
-
- 'confirm_email_invoice' => 'Voulez-vous vraiment envoyer cette facture par courriel ?',
- 'confirm_email_quote' => 'Voulez-vous vraiment envoyer ce devis par courriel ?',
- 'confirm_recurring_email_invoice' => 'Les factures récurrentes sont activées, voulez-vous vraiment envoyer cette facture par courriel ?',
-
- 'cancel_account' => 'Supprimer le compte',
- 'cancel_account_message' => 'Attention: Ceci supprimera de façon permanente toutes vos données; cette action est irréversible.',
- 'go_back' => 'Retour',
-
- 'data_visualizations' => 'Visualisation des données',
- 'sample_data' => 'Données fictives présentées',
- 'hide' => 'Cacher',
- 'new_version_available' => 'Une nouvelle version de :releases_link est disponible. Vous utilisez v:user_version, la plus récente est v:latest_version',
-
-
- 'invoice_settings' => 'Paramètres des factures',
- 'invoice_number_prefix' => 'Préfixe du numéro de facture',
- 'invoice_number_counter' => 'Compteur du numéro de facture',
- 'quote_number_prefix' => 'Préfixe du numéro de devis',
- 'quote_number_counter' => 'Compteur du numéro de devis',
- 'share_invoice_counter' => 'Partager le compteur de facture',
- 'invoice_issued_to' => 'Facture destinée à ',
- 'invalid_counter' => 'Pour éviter un éventuel conflit, merci de définir un préfixe pour le numéro de facture ou pour le numéro de devis',
- 'mark_sent' => 'Marquer comme envoyé',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'Plus de modèles',
- 'more_designs_title' => 'Modèles de factures additionnels',
- 'more_designs_cloud_header' => 'Passez au Plan Pro pour plus de modèles',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Obtenez 6 modèles de factures additionnels pour seulement '.INVOICE_DESIGNS_PRICE.'$',
- 'more_designs_self_host_text' => '',
- 'buy' => 'Acheter',
- 'bought_designs' => 'Les nouveaux modèles ont été ajoutés avec succès',
-
- 'sent' => 'envoyé',
- 'timesheets' => 'Feuilles de temps',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Numéro de TVA',
-
- 'id_number' => 'Numéro ID',
- 'white_label_link' => 'Marque blanche',
- 'white_label_text' => 'Pour retirer la marque Invoice Ninja en haut de la page client, achetez un licence en marque blanche de '.WHITE_LABEL_PRICE.'$.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restaurer',
- 'restore_invoice' => 'Restaurer la facture',
- 'restore_quote' => 'Restaurer le devis',
- 'restore_client' => 'Restaurer le client',
- 'restore_credit' => 'Restaurer le crédit',
- 'restore_payment' => 'Restaurer le paiement',
-
- 'restored_invoice' => 'Facture restaurée avec succès',
- 'restored_quote' => 'Devis restauré avec succès',
- 'restored_client' => 'Client restauré avec succès',
- 'restored_payment' => 'Paiement restauré avec succès',
- 'restored_credit' => 'Crédit restauré avec succès',
-
- 'reason_for_canceling' => 'Aidez nous à améliorer notre site en nous disant pourquoi vous partez.',
- 'discount_percent' => 'Pourcent',
- 'discount_amount' => 'Montant',
-
- 'invoice_history' => 'Historique des factures',
- 'quote_history' => 'Historique des devis',
- 'current_version' => 'Version courante',
- 'select_versiony' => 'Choix de la verison',
- 'view_history' => 'Consulter l\'historique',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
\ No newline at end of file
diff --git a/app/lang/fr/validation.php b/app/lang/fr/validation.php
deleted file mode 100644
index bb337904f75c..000000000000
--- a/app/lang/fr/validation.php
+++ /dev/null
@@ -1,138 +0,0 @@
- "Le champ :attribute doit être accepté.",
- "active_url" => "Le champ :attribute n'est pas une URL valide.",
- "after" => "Le champ :attribute doit être une date postérieure au :date.",
- "alpha" => "Le champ :attribute doit seulement contenir des lettres.",
- "alpha_dash" => "Le champ :attribute doit seulement contenir des lettres, des chiffres et des tirets.",
- "alpha_num" => "Le champ :attribute doit seulement contenir des chiffres et des lettres.",
- "array" => "Le champ :attribute doit être un tableau.",
- "before" => "Le champ :attribute doit être une date antérieure au :date.",
- "between" => array(
- "numeric" => "La valeur de :attribute doit être comprise entre :min et :max.",
- "file" => "Le fichier :attribute doit avoir une taille entre :min et :max kilobytes.",
- "string" => "Le texte :attribute doit avoir entre :min et :max caractères.",
- "array" => "Le champ :attribute doit avoir entre :min et :max éléments."
- ),
- "confirmed" => "Le champ de confirmation :attribute ne correspond pas.",
- "date" => "Le champ :attribute n'est pas une date valide.",
- "date_format" => "Le champ :attribute ne correspond pas au format :format.",
- "different" => "Les champs :attribute et :other doivent être différents.",
- "digits" => "Le champ :attribute doit avoir :digits chiffres.",
- "digits_between" => "Le champ :attribute doit avoir entre :min and :max chiffres.",
- "email" => "Le champ :attribute doit être une adresse email valide.",
- "exists" => "Le champ :attribute sélectionné est invalide.",
- "image" => "Le champ :attribute doit être une image.",
- "in" => "Le champ :attribute est invalide.",
- "integer" => "Le champ :attribute doit être un entier.",
- "ip" => "Le champ :attribute doit être une adresse IP valide.",
- "max" => array(
- "numeric" => "La valeur de :attribute ne peut être supérieure à :max.",
- "file" => "Le fichier :attribute ne peut être plus gros que :max kilobytes.",
- "string" => "Le texte de :attribute ne peut contenir plus de :max caractères.",
- "array" => "Le champ :attribute ne peut avoir plus de :max éléments.",
- ),
- "mimes" => "Le champ :attribute doit être un fichier de type : :values.",
- "min" => array(
- "numeric" => "La valeur de :attribute doit être supérieure à :min.",
- "file" => "Le fichier :attribute doit être plus que gros que :min kilobytes.",
- "string" => "Le texte :attribute doit contenir au moins :min caractères.",
- "array" => "Le champ :attribute doit avoir au moins :min éléments."
- ),
- "not_in" => "Le champ :attribute sélectionné n'est pas valide.",
- "numeric" => "Le champ :attribute doit contenir un nombre.",
- "regex" => "Le format du champ :attribute est invalide.",
- "required" => "Le champ :attribute est obligatoire.",
- "required_if" => "Le champ :attribute est obligatoire quand la valeur de :other est :value.",
- "required_with" => "Le champ :attribute est obligatoire quand :values est présent.",
- "required_with_all" => "Le champ :attribute est obligatoire quand :values est présent.",
- "required_without" => "Le champ :attribute est obligatoire quand :values n'est pas présent.",
- "required_without_all" => "Le champ :attribute est requis quand aucun de :values n'est présent.",
- "same" => "Les champs :attribute et :other doivent être identiques.",
- "size" => array(
- "numeric" => "La valeur de :attribute doit être :size.",
- "file" => "La taille du fichier de :attribute doit être de :size kilobytes.",
- "string" => "Le texte de :attribute doit contenir :size caractères.",
- "array" => "Le champ :attribute doit contenir :size éléments."
- ),
- "unique" => "La valeur du champ :attribute est déjà utilisée.",
- "url" => "Le format de l'URL de :attribute n'est pas valide.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(
- "name" => "Nom",
- "username" => "Pseudo",
- "email" => "E-mail",
- "first_name" => "Prénom",
- "last_name" => "Nom",
- "password" => "Mot de passe",
- "password_confirmation" => "Confirmation du mot de passe",
- "city" => "Ville",
- "country" => "Pays",
- "address" => "Adresse",
- "phone" => "Téléphone",
- "mobile" => "Portable",
- "age" => "Age",
- "sex" => "Sexe",
- "gender" => "Genre",
- "day" => "Jour",
- "month" => "Mois",
- "year" => "Année",
- "hour" => "Heure",
- "minute" => "Minute",
- "second" => "Seconde",
- "title" => "Titre",
- "content" => "Contenu",
- "description" => "Description",
- "excerpt" => "Extrait",
- "date" => "Date",
- "time" => "Heure",
- "available" => "Disponible",
- "size" => "Taille"
- ),
-
-);
diff --git a/app/lang/it/pagination.php b/app/lang/it/pagination.php
deleted file mode 100644
index f1e10a7b10e1..000000000000
--- a/app/lang/it/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Precedente',
-
- 'next' => 'Successivo »',
-
-);
\ No newline at end of file
diff --git a/app/lang/it/public.php b/app/lang/it/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/it/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/it/reminders.php b/app/lang/it/reminders.php
deleted file mode 100644
index a7ea42a5a159..000000000000
--- a/app/lang/it/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Le password devono essere di almeno 6 caratteri e devono coincidere.",
-
- "user" => "Non esiste un utente associato a questo indirizzo e-mail.",
-
- "token" => "Questo token per la reimpostazione della password non è valido.",
-
- "sent" => "Promemoria della password inviato!",
-
-);
diff --git a/app/lang/it/texts.php b/app/lang/it/texts.php
deleted file mode 100644
index b3c96be0a247..000000000000
--- a/app/lang/it/texts.php
+++ /dev/null
@@ -1,576 +0,0 @@
- 'Organizzazione',
- 'name' => 'Nome',
- 'website' => 'Sito web',
- 'work_phone' => 'Telefono',
- 'address' => 'Indirizzo',
- 'address1' => 'Via',
- 'address2' => 'Appartamento/Piano',
- 'city' => 'Città ',
- 'state' => 'Stato/Provincia',
- 'postal_code' => 'Codice postale', /* CAP */
- 'country_id' => 'Paese',
- 'contacts' => 'Contatti',
- 'first_name' => 'Nome',
- 'last_name' => 'Cognome',
- 'phone' => 'Telefono',
- 'email' => 'Email',
- 'additional_info' => 'Maggiori informazioni',
- 'payment_terms' => 'Condizioni di pagamento',
- 'currency_id' => 'Valuta',
- 'size_id' => 'Dimensione',
- 'industry_id' => 'Industria',
- 'private_notes' => 'Note Personali',
-
- // invoice
- 'invoice' => 'Fattura',
- 'client' => 'Cliente',
- 'invoice_date' => 'Data Fattura',
- 'due_date' => 'Scadenza Fattura',
- 'invoice_number' => 'Numero Fattura',
- 'invoice_number_short' => 'Fattura #', /* Fattura N° */
- 'po_number' => 'Numero d\'ordine d\'acquisto',
- 'po_number_short' => 'Ordine d\'acquisto #', /* Ordine d'acquisto N° */
- 'frequency_id' => 'Frequenza',
- 'discount' => 'Sconto',
- 'taxes' => 'Tasse',
- 'tax' => 'Tassa',
- 'item' => 'Articolo',
- 'description' => 'Descrizione',
- 'unit_cost' => 'Costo Unitario',
- 'quantity' => 'Quantità ',
- 'line_total' => 'Totale Riga',
- 'subtotal' => 'Subtotale',
- 'paid_to_date' => 'Pagato in Data',
- 'balance_due' => 'Saldo Dovuto',
- 'invoice_design_id' => 'Stile',
- 'terms' => 'Condizioni',
- 'your_invoice' => 'Tua Fattura',
-
- 'remove_contact' => 'Rimuovi contatto',
- 'add_contact' => 'Aggiungi contatto',
- 'create_new_client' => 'Crea nuovo cliente',
- 'edit_client_details' => 'Modifica dati cliente',
- 'enable' => 'Abilita',
- 'learn_more' => 'Scopri di più',
- 'manage_rates' => 'Gestisci tassi',
- 'note_to_client' => 'Nota al cliente',
- 'invoice_terms' => 'Termini della fattura',
- 'save_as_default_terms' => 'Salva termini come predefiniti', /* Imposta termini come predefiniti */
- 'download_pdf' => 'Scarica PDF',
- 'pay_now' => 'Paga Adesso', /* Paga Ora */
- 'save_invoice' => 'Salva Fattura',
- 'clone_invoice' => 'Duplica Fattura',
- 'archive_invoice' => 'Archivia Fattura',
- 'delete_invoice' => 'Elimina Fattura',
- 'email_invoice' => 'Manda Fattura', /* Spedisci Fattura */
- 'enter_payment' => 'Inserisci Pagamento',
- 'tax_rates' => 'Aliquote Fiscali', /* ^^Unsure^^ */
- 'rate' => 'Aliquota', /* ^^Unsure^^ */
- 'settings' => 'Impostazioni',
- 'enable_invoice_tax' => 'Abilita la specifica di aliquote fiscali ', /* ^^Unsure^^ */
- 'enable_line_item_tax' => 'Abilita la specifica di aliquote di voci di bilancio ', /* ^^Unsure^^ */
-
- // navigation
- 'dashboard' => 'Cruscotto', /* Pannello */
- 'clients' => 'Clienti',
- 'invoices' => 'Fatture',
- 'payments' => 'Pagamenti',
- 'credits' => 'Crediti',
- 'history' => 'Storia', /* Cronologia */
- 'search' => 'Cerca', /* Cerca */
- 'sign_up' => 'Registrati',
- 'guest' => 'Ospite',
- 'company_details' => 'Dettagli Azienda',
- 'online_payments' => 'Pagamenti Online',
- 'notifications' => 'Notifiche',
- 'import_export' => 'Importa/Esporta',
- 'done' => 'Fatto',
- 'save' => 'Salva',
- 'create' => 'Crea',
- 'upload' => 'Carica',
- 'import' => 'Importa',
- 'download' => 'Scarica',
- 'cancel' => 'Annulla',
- 'close' => 'Close',
- 'provide_email' => 'Per favore, fornisci un indirizzo Email valido',
- 'powered_by' => 'Powered by', /* Realizzato da */
- 'no_items' => 'Nessun articolo',
-
- // recurring invoices
- 'recurring_invoices' => 'Fatture ricorrenti',
- 'recurring_help' => 'Invia automaticamente al cliente le stesse fatture settimanalmente, bimestralmente, mensilmente, trimestralmente o annualmente.
- Usa :MESE, :TRIMESRE o :ANNO per date dinamiche. Funziona anche con la matematica di base, ad esempio :MESE-1.
- Esempi di variabili di fattura dinamiche:
-
- "Iscrizione palestra per il mese di :MESE" => "Iscrizione palestra per il mese di Luglio"
- ":ANNO+1 iscrizione annuale" => "Anno d\'iscrizione 2015"
- "Pagamento fermo a :TRIMESTRE+1" => "Pagamento fermo al 2° trimestre"
- ', /* ^^Variables translated in case you'll need it for front end^^ */
-
- // dashboard
- 'in_total_revenue' => 'di fatturato',
- 'billed_client' => 'Cliente fatturato',
- 'billed_clients' => 'Clienti fatturati',
- 'active_client' => 'cliente attivo',
- 'active_clients' => 'clienti attivi',
- 'invoices_past_due' => 'Fatture Insolute', /* Insoluti */
- 'upcoming_invoices' => 'Prossime fatture',
- 'average_invoice' => 'Fattura media',
-
- // list pages
- 'archive' => 'Archivia',
- 'delete' => 'Elimina',
- 'archive_client' => 'Archivia cliente',
- 'delete_client' => 'Elimina cliente',
- 'archive_payment' => 'Archivia pagamento',
- 'delete_payment' => 'Elimina pagamento',
- 'archive_credit' => 'Archivia credito',
- 'delete_credit' => 'Elimina credito',
- 'show_archived_deleted' => 'Mostra Archiviati/eliminati',
- 'filter' => 'Filtra',
- 'new_client' => 'Nuovo Cliente',
- 'new_invoice' => 'Nuova Fattura',
- 'new_payment' => 'Nuovo Pagamento',
- 'new_credit' => 'Nuovo Credito',
- 'contact' => 'Contatto',
- 'date_created' => 'Data di Creazione',
- 'last_login' => 'Ultimo Accesso',
- 'balance' => 'Saldo',
- 'action' => 'Azione',
- 'status' => 'Stato',
- 'invoice_total' => 'Totale Fattura',
- 'frequency' => 'Frequenza',
- 'start_date' => 'Data Inizio',
- 'end_date' => 'Data Fine',
- 'transaction_reference' => 'Riferimento Transazione',
- 'method' => 'Metodo',
- 'payment_amount' => 'Importo Pagamento',
- 'payment_date' => 'Data Pagamento',
- 'credit_amount' => 'Importo Credito',
- 'credit_balance' => 'Saldo Credito',
- 'credit_date' => 'Data Credito',
- 'empty_table' => 'Nessun dato disponibile nella tabella',
- 'select' => 'Seleziona',
- 'edit_client' => 'Modifica Cliente',
- 'edit_invoice' => 'Modifica Fattura',
-
- // client view page
- 'create_invoice' => 'Crea Fattura',
- 'enter_credit' => 'Inserisci Credito',
- 'last_logged_in' => 'Ultimo accesso',
- 'details' => 'Dettagli',
- 'standing' => 'Fermo',
- 'credit' => 'Credito',
- 'activity' => 'Attività ',
- 'date' => 'Data',
- 'message' => 'Messaggio',
- 'adjustment' => 'Correzione',
- 'are_you_sure' => 'Sei sicuro?',
-
- // payment pages
- 'payment_type_id' => 'Tipo di Pagamento',
- 'amount' => 'Importo',
-
- // account/company pages
- 'work_email' => 'Email',
- 'language_id' => 'Lingua',
- 'timezone_id' => 'Fuso Orario',
- 'date_format_id' => 'Formato data',
- 'datetime_format_id' => 'Formato Data/Ora',
- 'users' => 'Utenti',
- 'localization' => 'Localizzazione',
- 'remove_logo' => 'Rimuovi logo',
- 'logo_help' => 'Supportati: JPEG, GIF e PNG. Altezza raccomandata: 120px',
- 'payment_gateway' => 'Servizi di Pagamento',
- 'gateway_id' => 'Piattaforma',
- 'email_notifications' => 'Notifiche Email',
- 'email_sent' => 'Mandami un\'email quando una fattura è inviata ',
- 'email_viewed' => 'Mandami un\'email quando una fattura è visualizzata ',
- 'email_paid' => 'Mandami un\'email quando una fattura è pagata ',
- 'site_updates' => 'Aggiornamenti Sito',
- 'custom_messages' => 'Messaggi Personalizzati',
- 'default_invoice_terms' => 'Salva termini come predefiniti',
- 'default_email_footer' => 'Salva firma email come predefinita',
- 'import_clients' => 'Importa Dati Clienti',
- 'csv_file' => 'Seleziona file CSV',
- 'export_clients' => 'Esporta Dati Clienti',
- 'select_file' => 'Seleziona un file, per favore',
- 'first_row_headers' => 'Usa la prima riga come Intestazione',
- 'column' => 'Colonna',
- 'sample' => 'Esempio',
- 'import_to' => 'Importa in',
- 'client_will_create' => 'il cliente sarà creato',
- 'clients_will_create' => 'i clienti saranno creati',
-
- // application messages
- 'created_client' => 'Cliente creato con successo',
- 'created_clients' => ':count clienti creati con successo',
- 'updated_settings' => 'Impostazioni aggiornate con successo',
- 'removed_logo' => 'Logo rimosso con successo',
- 'sent_message' => 'Messaggio inviato con successo',
- 'invoice_error' => 'Per favore, assicurati di aver selezionato un cliente e correggi tutti gli errori',
- 'limit_clients' => 'Ci dispiace, questo supererà il limite di :count clienti',
- 'payment_error' => 'C\'è stato un errore durante il pagamento. Riprova più tardi, per favore.',
- 'registration_required' => 'Per favore, registrati per inviare una fattura',
- 'confirmation_required' => 'Per favore, conferma il tuo indirizzo email',
-
- 'updated_client' => 'Cliente aggiornato con successo',
- 'created_client' => 'Cliente creato con successo',
- 'archived_client' => 'Cliente archiviato con successo',
- 'archived_clients' => ':count clienti archiviati con successo',
- 'deleted_client' => 'Cliente eliminato con successo',
- 'deleted_clients' => ':count clienti eliminati con successo',
-
- 'updated_invoice' => 'Fattura aggiornata con successo',
- 'created_invoice' => 'Fattura creata con successo',
- 'cloned_invoice' => 'Fattura duplicata con successo',
- 'emailed_invoice' => 'Fattura inviata con successo',
- 'and_created_client' => 'e cliente creato',
- 'archived_invoice' => 'Fattura archiviata con successo',
- 'archived_invoices' => ':count fatture archiviate con successo',
- 'deleted_invoice' => 'Fattura eliminata con successo',
- 'deleted_invoices' => ':count fatture eliminate con successo',
-
- 'created_payment' => 'Pagamento creato con successo',
- 'archived_payment' => 'Pagamento archiviato con successo',
- 'archived_payments' => ':count pagamenti archiviati con successo',
- 'deleted_payment' => 'Pagamenti eliminati con successo',
- 'deleted_payments' => ':count pagamenti eliminati con successo',
- 'applied_payment' => 'Pagamento applicato con successo',
-
- 'created_credit' => 'Credito creato con successo',
- 'archived_credit' => 'Credito archiviato con successo',
- 'archived_credits' => ':count crediti archiviati con successo',
- 'deleted_credit' => 'Credito eliminato con successo',
- 'deleted_credits' => ':count crediti eliminati con successo',
-
- // Emails
- 'confirmation_subject' => 'Conferma Account Invoice Ninja',
- 'confirmation_header' => 'Conferma Account',
- 'confirmation_message' => 'Per favore, accedi al link qui sotto per confermare il tuo account.',
- 'invoice_subject' => 'Nuova fattura da :account',
- 'invoice_message' => 'Per visualizzare la tua fattura di :amount, clicca sul link qui sotto.',
- 'payment_subject' => 'Pagamento Ricevuto',
- 'payment_message' => 'Grazie per il tuo pagamento di :amount.',
- 'email_salutation' => 'Caro :name,',
- 'email_signature' => 'Distinti saluti,',
- 'email_from' => 'Il Team di InvoiceNinja',
- 'user_email_footer' => 'Per modificare le impostazioni di notifiche via email per favore accedi a: '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Per visualizzare la tua fattura del cliente clicca sul link qui sotto:',
- 'notification_invoice_paid_subject' => 'La fattura :invoice è stata pagata da :client',
- 'notification_invoice_sent_subject' => 'La fattura :invoice è stata inviata a :client',
- 'notification_invoice_viewed_subject' => 'La fattura :invoice è stata visualizzata da :client',
- 'notification_invoice_paid' => 'Un pagamento di :amount è stato effettuato dal cliente :client attraverso la fattura :invoice.',
- 'notification_invoice_sent' => 'Al seguente cliente :client è stata inviata via email la fattura :invoice di :amount.',
- 'notification_invoice_viewed' => 'Il seguente cliente :client ha visualizzato la fattura :invoice di :amount.',
- 'reset_password' => 'Puoi resettare la password del tuo account cliccando sul link qui sotto:',
- 'reset_password_footer' => 'Se non sei stato tu a voler resettare la password per favore invia un\'email di assistenza a: ' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Pagamento Sicuro',
- 'card_number' => 'Numero Carta',
- 'expiration_month' => 'Mese di Scadenza',
- 'expiration_year' => 'Anno di Scadenza',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'Troppi tentativi fatti. Riprova tra qualche minuto.',
- 'wrong_credentials' => 'Email o password non corretti.',
- 'confirmation' => 'Il tuo account è stato confermato!',
- 'wrong_confirmation' => 'Codice di verifica errato.',
- 'password_forgot' => 'I dati per resettare la tua password sono stati inviati alla tua email.',
- 'password_reset' => 'La tua password è stata cambiata con successo.',
- 'wrong_password_reset' => 'Password errata. Riprova',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link per rimuovere il logo di Invoice Ninja aderendo al programma pro',
- 'remove_logo_link' => 'Clicca qui',
- ],
-
- 'logout' => 'Log Out', /* Esci */
- 'sign_up_to_save' => 'Registrati per salvare il tuo lavoro',
- 'agree_to_terms' =>'Accetto i :terms di Invoice Ninja',
- 'terms_of_service' => 'Condizioni di Servizio',
- 'email_taken' => 'Questo indirizzo email è già registrato',
- 'working' => 'In elaborazione',
- 'success' => 'Fatto',
- 'success_message' => 'Registrazione avvenuta con successo. Per favore visita il link nell\'email di conferma per verificare il tuo indirizzo email.',
- 'erase_data' => 'Questo eliminerà definitivamente i tuoi dati.',
- 'password' => 'Password',
-
- 'pro_plan_product' => 'Piano PRO',
- 'pro_plan_description' => 'Un anno di sottoscrizione al piano PRO Invoice Ninja.',
- 'pro_plan_success' => 'Grazie per aver aderito! Non appena la fattura risulterà pagata il tuo piano PRO avrà inizio.',
-
- 'unsaved_changes' => 'Ci sono dei cambiamenti non salvati',
- 'custom_fields' => 'Campi Personalizzabili',
- 'company_fields' => 'Campi Azienda',
- 'client_fields' => 'Campi Cliente',
- 'field_label' => 'Etichetta Campo',
- 'field_value' => 'Valore Campo',
- 'edit' => 'Modifica',
- 'view_as_recipient' => 'Visualizza come destinatario',
-
- // product management
- 'product_library' => 'Libreria prodotti',
- 'product' => 'Prodotto',
- 'products' => 'Prodotti',
- 'fill_products' => 'Riempimento automatico prodotti',
- 'fill_products_help' => 'Selezionare un prodotto farà automaticamente inserire la descrizione ed il costo ',
- 'update_products' => 'Aggiorna automaticamente i prodotti',
- 'update_products_help' => 'Aggiornare una fatura farà automaticamente aggiornare i prodotti ',
- 'create_product' => 'Crea Prodotto',
- 'edit_product' => 'Modifica Prodotto',
- 'archive_product' => 'Archivia Prodotto',
- 'updated_product' => 'Prodotto aggiornato con successo',
- 'created_product' => 'Prodotto creato con successo',
- 'archived_product' => 'Prodotto archiviato con successo',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Advanced Settings',
- 'pro_plan_advanced_settings' => ':link to enable the advanced settings by joining the Pro Plan',
- 'invoice_design' => 'Invoice Design',
- 'specify_colors' => 'Specify colors',
- 'specify_colors_label' => 'Select the colors used in the invoice',
-
- 'chart_builder' => 'Creatore grafico',
- 'ninja_email_footer' => 'Usa :site per fatturare ai tuoi clienti e venire pagato online gratis!',
- 'go_pro' => 'diventa Pro',
-
- // Quotes
- 'quote' => 'Preventivo',
- 'quotes' => 'Preventivi',
- 'quote_number' => 'Numero Preventivo',
- 'quote_number_short' => 'Preventivo #',
- 'quote_date' => 'Data Preventivo',
- 'quote_total' => 'Totale Preventivo',
- 'your_quote' => 'Il vostro Preventivo',
- 'total' => 'Totale',
- 'clone' => 'Clona', /*Infinite verb?*/
-
- 'new_quote' => 'Nuovo Preventivo',
- 'create_quote' => 'Crea Preventivo',
- 'edit_quote' => 'Modifica Preventivo',
- 'archive_quote' => 'Archivia Preventivo',
- 'delete_quote' => 'Cancella Preventivo',
- 'save_quote' => 'Salva Preventivo',
- 'email_quote' => 'Invia Preventivo via Email',
- 'clone_quote' => 'Clona Preventivo',
- 'convert_to_invoice' => 'Converti a Fattura',
- 'view_invoice' => 'Vedi Fattura',
- 'view_quote' => 'Vedi Preventivo',
- 'view_client' => 'Vedi Cliente',
-
- 'updated_quote' => 'Preventivo aggiornato con successo',
- 'created_quote' => 'Preventivo creato con successo',
- 'cloned_quote' => 'Preventivo clonato con successo',
- 'emailed_quote' => 'Preventivo inviato con successo',
- 'archived_quote' => 'Preventivo archiviato con successo',
- 'archived_quotes' => 'Sono stati archiviati :count preventivi con successo',
- 'deleted_quote' => 'Preventivo cancellato con successo',
- 'deleted_quotes' => 'Sono stati cancellati :count preventivi con successo',
- 'converted_to_invoice' => 'Il preventivo è stato convertito a fattura con successo',
-
- 'quote_subject' => 'Nuovo preventivo da :account',
- 'quote_message' => 'Per visualizzare il vostro preventivo per :amount, cliccare il collegamento sotto.',
- 'quote_link_message' => 'Per visualizzare il preventivo del vostro cliante cliccate il collegamento sotto:',
- 'notification_quote_sent_subject' => 'Il preventivo :invoice è stato inviato a :client',
- 'notification_quote_viewed_subject' => 'Il preventivo :invoice è stato visualizzato da :client',
- 'notification_quote_sent' => 'Al seguente cliente :client è stata inviata la fattura :invoice per :amount.',
- 'notification_quote_viewed' => 'Il seguente cliente :client ha visualizzato il preventivo :invoice di :amount.',
-
- 'session_expired' => 'La vostra sessione è scaduta.',
-
- 'invoice_fields' => 'Invoice Fields',
- 'invoice_options' => 'Invoice Options',
- 'hide_quantity' => 'Hide quantity',
- 'hide_quantity_help' => 'If your line items quantities are always 1, then you can declutter invoices by no longer displaying this field.',
- 'hide_paid_to_date' => 'Hide paid to date',
- 'hide_paid_to_date_help' => 'Only display the "Paid to Date" area on your invoices once a payment has been received.',
-
- 'charge_taxes' => 'Charge taxes',
- 'user_management' => 'User Management',
- 'add_user' => 'Add User',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Successfully sent invitation',
- 'updated_user' => 'Successfully updated user',
- 'invitation_message' => 'You\'ve been invited by :invitor. ',
- 'register_to_add_user' => 'Please sign up to add a user',
- 'user_state' => 'State',
- 'edit_user' => 'Edit User',
- 'delete_user' => 'Delete User',
- 'active' => 'Active',
- 'pending' => 'Pending',
- 'deleted_user' => 'Successfully deleted user',
- 'limit_users' => 'Sorry, this will exceed the limit of ' . MAX_NUM_USERS . ' users',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
- 'id_number' => 'ID Number',
-
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
diff --git a/app/lang/it/validation.php b/app/lang/it/validation.php
deleted file mode 100644
index 9d1d547d8beb..000000000000
--- a/app/lang/it/validation.php
+++ /dev/null
@@ -1,107 +0,0 @@
- ":attribute deve essere accettato.",
- "active_url" => ":attribute non è un URL valido.",
- "after" => ":attribute deve essere una data successiva al :date.",
- "alpha" => ":attribute può contenere solo lettere.",
- "alpha_dash" => ":attribute può contenere solo lettere, numeri e trattini.",
- "alpha_num" => ":attribute può contenere solo lettere e numeri.",
- "array" => ":attribute deve essere un array.",
- "before" => ":attribute deve essere una data precedente al :date.",
- "between" => array(
- "numeric" => ":attribute deve trovarsi tra :min - :max.",
- "file" => ":attribute deve trovarsi tra :min - :max kilobytes.",
- "string" => ":attribute deve trovarsi tra :min - :max caratteri.",
- "array" => ":attribute deve avere tra :min - :max elementi."
- ),
- "confirmed" => "Il campo di conferma per :attribute non coincide.",
- "date" => ":attribute non è una data valida.",
- "date_format" => ":attribute non coincide con il formato :format.",
- "different" => ":attribute e :other devono essere differenti.",
- "digits" => ":attribute deve essere di :digits cifre.",
- "digits_between" => ":attribute deve essere tra :min e :max cifre.",
- "email" => ":attribute non è valido.",
- "exists" => ":attribute selezionato/a non è valido.",
- "image" => ":attribute deve essere un'immagine.",
- "in" => ":attribute selezionato non è valido.",
- "integer" => ":attribute deve essere intero.",
- "ip" => ":attribute deve essere un indirizzo IP valido.",
- "max" => array(
- "numeric" => ":attribute deve essere minore di :max.",
- "file" => ":attribute non deve essere più grande di :max kilobytes.",
- "string" => ":attribute non può contenere più di :max caratteri.",
- "array" => ":attribute non può avere più di :max elementi."
- ),
- "mimes" => ":attribute deve essere del tipo: :values.",
- "min" => array(
- "numeric" => ":attribute deve valere almeno :min.",
- "file" => ":attribute deve essere più grande di :min kilobytes.",
- "string" => ":attribute deve contenere almeno :min caratteri.",
- "array" => ":attribute deve avere almeno :min elementi."
- ),
- "not_in" => "Il valore selezionato per :attribute non è valido.",
- "numeric" => ":attribute deve essere un numero.",
- "regex" => "Il formato del campo :attribute non è valido.",
- "required" => ":attribute è richiesto.",
- "required_if" => "Il campo :attribute è richiesto quando :other è :value.",
- "required_with" => "Il campo :attribute è richiesto quando :values è presente.",
- "required_with_all" => "The :attribute field is required when :values is present.",
- "required_without" => "Il campo :attribute è richiesto quando :values non è presente.",
- "required_without_all" => "The :attribute field is required when none of :values are present.",
- "same" => ":attribute e :other devono coincidere.",
- "size" => array(
- "numeric" => ":attribute deve valere :size.",
- "file" => ":attribute deve essere grande :size kilobytes.",
- "string" => ":attribute deve contenere :size caratteri.",
- "array" => ":attribute deve contenere :size elementi."
- ),
- "unique" => ":attribute è stato già utilizzato.",
- "url" => ":attribute deve essere un URL.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/lt/pagination.php b/app/lang/lt/pagination.php
deleted file mode 100755
index eb9be3baaed5..000000000000
--- a/app/lang/lt/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Previous',
-
- 'next' => 'Next »',
-
-);
\ No newline at end of file
diff --git a/app/lang/lt/public.php b/app/lang/lt/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/lt/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/lt/reminders.php b/app/lang/lt/reminders.php
deleted file mode 100755
index ad2262124d4d..000000000000
--- a/app/lang/lt/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Passwords must be at least six characters and match the confirmation.",
-
- "user" => "We can't find a user with that e-mail address.",
-
- "token" => "This password reset token is invalid.",
-
- "sent" => "Password reminder sent!",
-
-);
\ No newline at end of file
diff --git a/app/lang/lt/texts.php b/app/lang/lt/texts.php
deleted file mode 100644
index 81cfdee8f893..000000000000
--- a/app/lang/lt/texts.php
+++ /dev/null
@@ -1,586 +0,0 @@
- 'Įmonė',
- 'name' => 'Vardas',
- 'website' => 'Internetinis puslapis',
- 'work_phone' => 'Telefonas',
- 'address' => 'Adresas',
- 'address1' => 'GatvÄ—',
- 'address2' => 'Kabinetas',
- 'city' => 'Miestas',
- 'state' => 'Valstija',
- 'postal_code' => 'Pašto kodas',
- 'country_id' => 'Å alis',
- 'contacts' => 'KontaktinÄ— infromacija',
- 'first_name' => 'Vardas',
- 'last_name' => 'PavardÄ—',
- 'phone' => 'Telefonas',
- 'email' => 'El. paštas',
- 'additional_info' => 'Papidoma Info',
- 'payment_terms' => 'ApmokÄ—jimo sÄ…lygos',
- 'currency_id' => 'Valiuta',
- 'size_id' => 'Dydis',
- 'industry_id' => 'Veiklos sritis',
- 'private_notes' => 'Privatūs užrašai',
-
- // invoice
- 'invoice' => 'Sąkaita faktūra',
- 'client' => 'Klientas',
- 'invoice_date' => 'Išrašymo data',
- 'due_date' => 'ApmokÄ—jimo Data',
- 'invoice_number' => 'Serija ir Nr.',
- 'invoice_number_short' => 'Nr.',
- 'po_number' => 'PO Numeris',
- 'po_number_short' => 'PO Nr.',
- 'frequency_id' => 'Kaip dažnai',
- 'discount' => 'Nuolaida',
- 'taxes' => 'MokesÄiai',
- 'tax' => 'PVM',
- 'item' => 'PrekÄ—',
- 'description' => 'Aprašymas',
- 'unit_cost' => 'Vnt. kaina',
- 'quantity' => 'Kiekis',
- 'line_total' => 'Suma',
- 'subtotal' => 'Suma viso',
- 'paid_to_date' => 'ApmokÄ—ta',
- 'balance_due' => 'ApmokÄ—ti',
- 'invoice_design_id' => 'Dizainas',
- 'terms' => 'SÄ…lygos',
- 'your_invoice' => 'Tavo sÄ…skaitos',
-
- 'remove_contact' => 'Pašalinti kontaktą',
- 'add_contact' => 'PridÄ—ti kontaktÄ…',
- 'create_new_client' => 'Sukurti naujÄ… klientÄ…',
- 'edit_client_details' => 'Redaguoti kliento informacijÄ…',
- 'enable' => 'Įgalinti',
- 'learn_more' => 'PlaÄiau',
- 'manage_rates' => 'Redaguoti įkainius',
- 'note_to_client' => 'Pastaba klientui',
- 'invoice_terms' => 'SÄ…skaitos sÄ…lygos',
- 'save_as_default_terms' => 'Išsaugoti sąlygas kaip standratrines',
- 'download_pdf' => 'Atsisiųsti PDF',
- 'pay_now' => 'ApmokÄ—ti dabar',
- 'save_invoice' => 'Išsaugoti sąskaitą',
- 'clone_invoice' => 'Kopijuoti sÄ…skaitÄ…',
- 'archive_invoice' => 'Archyvuoti sÄ…skaitÄ…',
- 'delete_invoice' => 'Ištrinti sąskaitą',
- 'email_invoice' => 'Išsiųsti el. paštu sąskaitą',
- 'enter_payment' => 'Įvesti apmokėjimą',
- 'tax_rates' => 'MokesÄių įkainiai',
- 'rate' => 'Įkainis',
- 'settings' => 'Nustatymai',
- 'enable_invoice_tax' => 'Ä®jungti PVM mokesÄius ',
- 'enable_line_item_tax' => 'Ä®jungti PVM mokesÄius sumai ',
-
- // navigation
- 'dashboard' => 'Darbastalis',
- 'clients' => 'Klientai',
- 'invoices' => 'SÄ…skaitos',
- 'payments' => 'MokÄ—jimai',
- 'credits' => 'Kreditai',
- 'history' => 'Istorija',
- 'search' => 'Paieška',
- 'sign_up' => 'Prisijunk',
- 'guest' => 'SveÄias',
- 'company_details' => 'ImonÄ—s informacija',
- 'online_payments' => 'Online mokÄ—jimai',
- 'notifications' => 'Priminimai',
- 'import_export' => 'Importas/Eksportas',
- 'done' => 'Baigta',
- 'save' => 'Saugoti',
- 'create' => 'Kurti',
- 'upload' => 'Įkelti',
- 'import' => 'Importuoti',
- 'download' => 'Atsiųsti',
- 'cancel' => 'Atšaukti',
- 'close' => 'Uždaryti',
- 'provide_email' => 'Prašome pateikti galiojantį el. pašto adresą',
- 'powered_by' => 'Energija teikia',
- 'no_items' => 'Įrašų nėra',
-
- // recurring invoices
- 'recurring_invoices' => 'Recurring Invoices',
- 'recurring_help' => 'Automatically send clients the same invoices weekly, bi-monthly, monthly, quarterly or annually.
- Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well, for example :MONTH-1.
- Examples of dynamic invoice variables:
-
- "Gym membership for the month of :MONTH" => "Gym membership for the month of July"
- ":YEAR+1 yearly subscription" => "2015 Yearly Subscription"
- "Retainer payment for :QUARTER+1" => "Retainer payment for Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'in total revenue',
- 'billed_client' => 'billed client',
- 'billed_clients' => 'billed clients',
- 'active_client' => 'active client',
- 'active_clients' => 'active clients',
- 'invoices_past_due' => 'Invoices Past Due',
- 'upcoming_invoices' => 'Upcoming invoices',
- 'average_invoice' => 'Average invoice',
-
- // list pages
- 'archive' => 'Archive',
- 'delete' => 'Delete',
- 'archive_client' => 'Archive client',
- 'delete_client' => 'Delete client',
- 'archive_payment' => 'Archive payment',
- 'delete_payment' => 'Delete payment',
- 'archive_credit' => 'Archive credit',
- 'delete_credit' => 'Delete credit',
- 'show_archived_deleted' => 'Show archived/deleted',
- 'filter' => 'Filter',
- 'new_client' => 'New Client',
- 'new_invoice' => 'New Invoice',
- 'new_payment' => 'New Payment',
- 'new_credit' => 'New Credit',
- 'contact' => 'Contact',
- 'date_created' => 'Date Created',
- 'last_login' => 'Last Login',
- 'balance' => 'Balance',
- 'action' => 'Action',
- 'status' => 'Status',
- 'invoice_total' => 'Invoice Total',
- 'frequency' => 'Frequency',
- 'start_date' => 'Start Date',
- 'end_date' => 'End Date',
- 'transaction_reference' => 'Transaction Reference',
- 'method' => 'Method',
- 'payment_amount' => 'Payment Amount',
- 'payment_date' => 'Payment Date',
- 'credit_amount' => 'Credit Amount',
- 'credit_balance' => 'Credit Balance',
- 'credit_date' => 'Credit Date',
- 'empty_table' => 'No data available in table',
- 'select' => 'Select',
- 'edit_client' => 'Edit Client',
- 'edit_invoice' => 'Edit Invoice',
-
- // client view page
- 'create_invoice' => 'Create Invoice',
- 'enter_credit' => 'Enter Credit',
- 'last_logged_in' => 'Last logged in',
- 'details' => 'Details',
- 'standing' => 'Standing',
- 'credit' => 'Credit',
- 'activity' => 'Activity',
- 'date' => 'Date',
- 'message' => 'Message',
- 'adjustment' => 'Adjustment',
- 'are_you_sure' => 'Are you sure?',
-
- // payment pages
- 'payment_type_id' => 'Payment type',
- 'amount' => 'Amount',
-
- // account/company pages
- 'work_email' => 'Email',
- 'language_id' => 'Language',
- 'timezone_id' => 'Timezone',
- 'date_format_id' => 'Date format',
- 'datetime_format_id' => 'Date/Time Format',
- 'users' => 'Users',
- 'localization' => 'Localization',
- 'remove_logo' => 'Remove logo',
- 'logo_help' => 'Supported: JPEG, GIF and PNG. Recommended size: 200px width by 120px height',
- 'payment_gateway' => 'Payment Gateway',
- 'gateway_id' => 'Provider',
- 'email_notifications' => 'Email Notifications',
- 'email_sent' => 'Email me when an invoice is sent ',
- 'email_viewed' => 'Email me when an invoice is viewed ',
- 'email_paid' => 'Email me when an invoice is paid ',
- 'site_updates' => 'Site Updates',
- 'custom_messages' => 'Custom Messages',
- 'default_invoice_terms' => 'Set default invoice terms',
- 'default_email_footer' => 'Set default email signature',
- 'import_clients' => 'Import Client Data',
- 'csv_file' => 'Select CSV file',
- 'export_clients' => 'Export Client Data',
- 'select_file' => 'Please select a file',
- 'first_row_headers' => 'Use first row as headers',
- 'column' => 'Column',
- 'sample' => 'Sample',
- 'import_to' => 'Import to',
- 'client_will_create' => 'client will be created',
- 'clients_will_create' => 'clients will be created',
-
- // application messages
- 'created_client' => 'Successfully created client',
- 'created_clients' => 'Successfully created :count clients',
- 'updated_settings' => 'Successfully updated settings',
- 'removed_logo' => 'Successfully removed logo',
- 'sent_message' => 'Successfully sent message',
- 'invoice_error' => 'Please make sure to select a client and correct any errors',
- 'limit_clients' => 'Sorry, this will exceed the limit of :count clients',
- 'payment_error' => 'There was an error processing your payment. Please try again later.',
- 'registration_required' => 'Please sign up to email an invoice',
- 'confirmation_required' => 'Please confirm your email address',
-
- 'updated_client' => 'Successfully updated client',
- 'created_client' => 'Successfully created client',
- 'archived_client' => 'Successfully archived client',
- 'archived_clients' => 'Successfully archived :count clients',
- 'deleted_client' => 'Successfully deleted client',
- 'deleted_clients' => 'Successfully deleted :count clients',
-
- 'updated_invoice' => 'Successfully updated invoice',
- 'created_invoice' => 'Successfully created invoice',
- 'cloned_invoice' => 'Successfully cloned invoice',
- 'emailed_invoice' => 'Successfully emailed invoice',
- 'and_created_client' => 'and created client',
- 'archived_invoice' => 'Successfully archived invoice',
- 'archived_invoices' => 'Successfully archived :count invoices',
- 'deleted_invoice' => 'Successfully deleted invoice',
- 'deleted_invoices' => 'Successfully deleted :count invoices',
-
- 'created_payment' => 'Successfully created payment',
- 'archived_payment' => 'Successfully archived payment',
- 'archived_payments' => 'Successfully archived :count payments',
- 'deleted_payment' => 'Successfully deleted payment',
- 'deleted_payments' => 'Successfully deleted :count payments',
- 'applied_payment' => 'Successfully applied payment',
-
- 'created_credit' => 'Successfully created credit',
- 'archived_credit' => 'Successfully archived credit',
- 'archived_credits' => 'Successfully archived :count credits',
- 'deleted_credit' => 'Successfully deleted credit',
- 'deleted_credits' => 'Successfully deleted :count credits',
-
- // Emails
- 'confirmation_subject' => 'Invoice Ninja Account Confirmation',
- 'confirmation_header' => 'Account Confirmation',
- 'confirmation_message' => 'Please access the link below to confirm your account.',
- 'invoice_subject' => 'New invoice from :account',
- 'invoice_message' => 'To view your invoice for :amount, click the link below.',
- 'payment_subject' => 'Payment Received',
- 'payment_message' => 'Thank you for your payment of :amount.',
- 'email_salutation' => 'Dear :name,',
- 'email_signature' => 'Regards,',
- 'email_from' => 'The InvoiceNinja Team',
- 'user_email_footer' => 'To adjust your email notification settings please visit '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'To view your client invoice click the link below:',
- 'notification_invoice_paid_subject' => 'Invoice :invoice was paid by :client',
- 'notification_invoice_sent_subject' => 'Invoice :invoice was sent to :client',
- 'notification_invoice_viewed_subject' => 'Invoice :invoice was viewed by :client',
- 'notification_invoice_paid' => 'A payment of :amount was made by client :client towards Invoice :invoice.',
- 'notification_invoice_sent' => 'The following client :client was emailed Invoice :invoice for :amount.',
- 'notification_invoice_viewed' => 'The following client :client viewed Invoice :invoice for :amount.',
- 'reset_password' => 'You can reset your account password by clicking the following link:',
- 'reset_password_footer' => 'If you did not request this password reset please email our support: ' . CONTACT_EMAIL,
-
-
- // Payment page
- 'secure_payment' => 'Secure Payment',
- 'card_number' => 'Card number',
- 'expiration_month' => 'Expiration month',
- 'expiration_year' => 'Expiration year',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'Too many attempts. Try again in few minutes.',
- 'wrong_credentials' => 'Incorrect email or password.',
- 'confirmation' => 'Your account has been confirmed!',
- 'wrong_confirmation' => 'Wrong confirmation code.',
- 'password_forgot' => 'The information regarding password reset was sent to your email.',
- 'password_reset' => 'Your password has been changed successfully.',
- 'wrong_password_reset' => 'Invalid password. Try again',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link to remove the Invoice Ninja logo by joining the Pro Plan',
- 'remove_logo_link' => 'Click here',
- ],
-
- 'logout' => 'Log Out',
- 'sign_up_to_save' => 'Sign up to save your work',
- 'agree_to_terms' =>'I agree to the Invoice Ninja :terms',
- 'terms_of_service' => 'Terms of Service',
- 'email_taken' => 'The email address is already registered',
- 'working' => 'Working',
- 'success' => 'Success',
- 'success_message' => 'You have succesfully registered. Please visit the link in the account confirmation email to verify your email address.',
- 'erase_data' => 'This will permanently erase your data.',
- 'password' => 'Password',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'One year enrollment in the Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Thanks for choosing Invoice Ninja\'s Pro plan!
- Next Steps
A payable invoice has been sent to the email
- address associated with your account. To unlock all of the awesome
- Pro features, please follow the instructions on the invoice to pay
- for a year of Pro-level invoicing.
- Can\'t find the invoice? Need further assistance? We\'re happy to help
- -- email us at contact@invoiceninja.com',
-
- 'unsaved_changes' => 'You have unsaved changes',
- 'custom_fields' => 'Custom fields',
- 'company_fields' => 'Company Fields',
- 'client_fields' => 'Client Fields',
- 'field_label' => 'Field Label',
- 'field_value' => 'Field Value',
- 'edit' => 'Edit',
- 'set_name' => 'Set your company name',
- 'view_as_recipient' => 'View as recipient',
-
- // product management
- 'product_library' => 'Product Library',
- 'product' => 'Product',
- 'products' => 'Products',
- 'fill_products' => 'Auto-fill products',
- 'fill_products_help' => 'Selecting a product will automatically fill in the description and cost ',
- 'update_products' => 'Auto-update products',
- 'update_products_help' => 'Updating an invoice will automatically update the product library ',
- 'create_product' => 'Create Product',
- 'edit_product' => 'Edit Product',
- 'archive_product' => 'Archive Product',
- 'updated_product' => 'Successfully updated product',
- 'created_product' => 'Successfully created product',
- 'archived_product' => 'Successfully archived product',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Advanced Settings',
- 'pro_plan_advanced_settings' => ':link to enable the advanced settings by joining the Pro Plan',
- 'invoice_design' => 'Invoice Design',
- 'specify_colors' => 'Specify colors',
- 'specify_colors_label' => 'Select the colors used in the invoice',
-
- 'chart_builder' => 'Chart Builder',
- 'ninja_email_footer' => 'Use :site to invoice your clients and get paid online for free!',
- 'go_pro' => 'Go Pro',
-
- // Quotes
- 'quote' => 'Quote',
- 'quotes' => 'Quotes',
- 'quote_number' => 'Quote Number',
- 'quote_number_short' => 'Quote #',
- 'quote_date' => 'Quote Date',
- 'quote_total' => 'Quote Total',
- 'your_quote' => 'Your Quote',
- 'total' => 'Total',
- 'clone' => 'Clone',
-
- 'new_quote' => 'New Quote',
- 'create_quote' => 'Create Quote',
- 'edit_quote' => 'Edit Quote',
- 'archive_quote' => 'Archive Quote',
- 'delete_quote' => 'Delete Quote',
- 'save_quote' => 'Save Quote',
- 'email_quote' => 'Email Quote',
- 'clone_quote' => 'Clone Quote',
- 'convert_to_invoice' => 'Convert to Invoice',
- 'view_invoice' => 'View Invoice',
- 'view_client' => 'View Client',
- 'view_quote' => 'View Quote',
-
- 'updated_quote' => 'Successfully updated quote',
- 'created_quote' => 'Successfully created quote',
- 'cloned_quote' => 'Successfully cloned quote',
- 'emailed_quote' => 'Successfully emailed quote',
- 'archived_quote' => 'Successfully archived quote',
- 'archived_quotes' => 'Successfully archived :count quotes',
- 'deleted_quote' => 'Successfully deleted quote',
- 'deleted_quotes' => 'Successfully deleted :count quotes',
- 'converted_to_invoice' => 'Successfully converted quote to invoice',
-
- 'quote_subject' => 'New quote from :account',
- 'quote_message' => 'To view your quote for :amount, click the link below.',
- 'quote_link_message' => 'To view your client quote click the link below:',
- 'notification_quote_sent_subject' => 'Quote :invoice was sent to :client',
- 'notification_quote_viewed_subject' => 'Quote :invoice was viewed by :client',
- 'notification_quote_sent' => 'The following client :client was emailed Quote :invoice for :amount.',
- 'notification_quote_viewed' => 'The following client :client viewed Quote :invoice for :amount.',
-
- 'session_expired' => 'Your session has expired.',
-
- 'invoice_fields' => 'Invoice Fields',
- 'invoice_options' => 'Invoice Options',
- 'hide_quantity' => 'Hide quantity',
- 'hide_quantity_help' => 'If your line items quantities are always 1, then you can declutter invoices by no longer displaying this field.',
- 'hide_paid_to_date' => 'Hide paid to date',
- 'hide_paid_to_date_help' => 'Only display the "Paid to Date" area on your invoices once a payment has been received.',
-
- 'charge_taxes' => 'Charge taxes',
- 'user_management' => 'User Management',
- 'add_user' => 'Add User',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Successfully sent invitation',
- 'updated_user' => 'Successfully updated user',
- 'invitation_message' => 'You\'ve been invited by :invitor. ',
- 'register_to_add_user' => 'Please sign up to add a user',
- 'user_state' => 'State',
- 'edit_user' => 'Edit User',
- 'delete_user' => 'Delete User',
- 'active' => 'Active',
- 'pending' => 'Pending',
- 'deleted_user' => 'Successfully deleted user',
- 'limit_users' => 'Sorry, this will exceed the limit of ' . MAX_NUM_USERS . ' users',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
-
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
- 'id_number' => 'ID Number',
-
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-
-);
-
diff --git a/app/lang/lt/validation.php b/app/lang/lt/validation.php
deleted file mode 100755
index 68b39c68af2f..000000000000
--- a/app/lang/lt/validation.php
+++ /dev/null
@@ -1,102 +0,0 @@
- "The :attribute must be accepted.",
- "active_url" => "The :attribute is not a valid URL.",
- "after" => "The :attribute must be a date after :date.",
- "alpha" => "The :attribute may only contain letters.",
- "alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.",
- "alpha_num" => "The :attribute may only contain letters and numbers.",
- "array" => "The :attribute must be an array.",
- "before" => "The :attribute must be a date before :date.",
- "between" => array(
- "numeric" => "The :attribute must be between :min - :max.",
- "file" => "The :attribute must be between :min - :max kilobytes.",
- "string" => "The :attribute must be between :min - :max characters.",
- "array" => "The :attribute must have between :min - :max items.",
- ),
- "confirmed" => "The :attribute confirmation does not match.",
- "date" => "The :attribute is not a valid date.",
- "date_format" => "The :attribute does not match the format :format.",
- "different" => "The :attribute and :other must be different.",
- "digits" => "The :attribute must be :digits digits.",
- "digits_between" => "The :attribute must be between :min and :max digits.",
- "email" => "The :attribute format is invalid.",
- "exists" => "The selected :attribute is invalid.",
- "image" => "The :attribute must be an image.",
- "in" => "The selected :attribute is invalid.",
- "integer" => "The :attribute must be an integer.",
- "ip" => "The :attribute must be a valid IP address.",
- "max" => array(
- "numeric" => "The :attribute may not be greater than :max.",
- "file" => "The :attribute may not be greater than :max kilobytes.",
- "string" => "The :attribute may not be greater than :max characters.",
- "array" => "The :attribute may not have more than :max items.",
- ),
- "mimes" => "The :attribute must be a file of type: :values.",
- "min" => array(
- "numeric" => "The :attribute must be at least :min.",
- "file" => "The :attribute must be at least :min kilobytes.",
- "string" => "The :attribute must be at least :min characters.",
- "array" => "The :attribute must have at least :min items.",
- ),
- "not_in" => "The selected :attribute is invalid.",
- "numeric" => "The :attribute must be a number.",
- "regex" => "The :attribute format is invalid.",
- "required" => "The :attribute field is required.",
- "required_if" => "The :attribute field is required when :other is :value.",
- "required_with" => "The :attribute field is required when :values is present.",
- "required_without" => "The :attribute field is required when :values is not present.",
- "same" => "The :attribute and :other must match.",
- "size" => array(
- "numeric" => "The :attribute must be :size.",
- "file" => "The :attribute must be :size kilobytes.",
- "string" => "The :attribute must be :size characters.",
- "array" => "The :attribute must contain :size items.",
- ),
- "unique" => "The :attribute has already been taken.",
- "url" => "The :attribute format is invalid.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/nb_NO/pagination.php b/app/lang/nb_NO/pagination.php
deleted file mode 100644
index c57908251668..000000000000
--- a/app/lang/nb_NO/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Tilbake',
-
- 'next' => 'Neste »',
-
-);
\ No newline at end of file
diff --git a/app/lang/nb_NO/public.php b/app/lang/nb_NO/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/nb_NO/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/nb_NO/reminders.php b/app/lang/nb_NO/reminders.php
deleted file mode 100644
index 88c8a1c920c4..000000000000
--- a/app/lang/nb_NO/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Passord må være minst seks tegn og samsvare med bekreftelsen.",
-
- "user" => "Vi kan ikke finne en bruker med den e-postadressen.",
-
- "token" => "Denne tilbakestillingsnøkkelen er ugyldig.",
-
- "sent" => "Passord påminnelse sendt!",
-
-);
\ No newline at end of file
diff --git a/app/lang/nb_NO/texts.php b/app/lang/nb_NO/texts.php
deleted file mode 100644
index 2d066fc016d7..000000000000
--- a/app/lang/nb_NO/texts.php
+++ /dev/null
@@ -1,582 +0,0 @@
- 'Organisasjon',
- 'name' => 'Navn',
- 'website' => 'Webside',
- 'work_phone' => 'Telefon',
- 'address' => 'Adresse',
- 'address1' => 'Gate',
- 'address2' => 'Nummer',
- 'city' => 'By',
- 'state' => 'Fylke',
- 'postal_code' => 'Postnummer',
- 'country_id' => 'Land',
- 'contacts' => 'Kontakter',
- 'first_name' => 'Fornavn',
- 'last_name' => 'Etternavn',
- 'phone' => 'Telefon',
- 'email' => 'Email',
- 'additional_info' => 'Tilleggsinfo',
- 'payment_terms' => 'Betalingsvilkår',
- 'currency_id' => 'Valuta',
- 'size_id' => 'Størrelse',
- 'industry_id' => 'Sektor',
- 'private_notes' => 'Private notater',
-
- // invoice
- 'invoice' => 'Faktura',
- 'client' => 'Klient',
- 'invoice_date' => 'Faktureringsdato',
- 'due_date' => 'Betalingsfrist',
- 'invoice_number' => 'Fakturanummer',
- 'invoice_number_short' => 'Faktura #',
- 'po_number' => 'Ordrenummer',
- 'po_number_short' => 'Ordre #',
- 'frequency_id' => 'Frekvens',
- 'discount' => 'Rabatt',
- 'taxes' => 'Skatter',
- 'tax' => 'Skatt',
- 'item' => 'Beløpstype',
- 'description' => 'Beskrivese',
- 'unit_cost' => 'á pris',
- 'quantity' => 'STK',
- 'line_total' => 'Sum',
- 'subtotal' => 'Totalbeløp',
- 'paid_to_date' => 'Betalt',
- 'balance_due' => 'Gjenstående',
- 'invoice_design_id' => 'Design',
- 'terms' => 'Vilkår',
- 'your_invoice' => 'Din faktura',
-
- 'remove_contact' => 'Fjern kontakt',
- 'add_contact' => 'Legg til kontakt',
- 'create_new_client' => 'Opprett ny klient',
- 'edit_client_details' => 'Endre klientdetaljer',
- 'enable' => 'Aktiver',
- 'learn_more' => 'Lær mer',
- 'manage_rates' => 'Administrer priser',
- 'note_to_client' => 'Merknad til klient',
- 'invoice_terms' => 'Vilkår for fakturaen',
- 'save_as_default_terms' => 'Lagre som standard vilkår',
- 'download_pdf' => 'Last ned PDF',
- 'pay_now' => 'Betal nå',
- 'save_invoice' => 'Lagre faktura',
- 'clone_invoice' => 'Kopier faktura',
- 'archive_invoice' => 'Arkiver faktura',
- 'delete_invoice' => 'Slett faktura',
- 'email_invoice' => 'Send faktura på epost',
- 'enter_payment' => 'Oppgi betaling',
- 'tax_rates' => 'Skattesatser',
- 'rate' => 'Sats',
- 'settings' => 'Innstillinger',
- 'enable_invoice_tax' => 'Aktiver for å spesifisere en faktura skatt ',
- 'enable_line_item_tax' => 'Aktiver for å spesifisere artikkel skatt ',
-
- // navigation
- 'dashboard' => 'Dashboard',
- 'clients' => 'Klienter',
- 'invoices' => 'Fakturaer',
- 'payments' => 'Betalinger',
- 'credits' => 'Kreditter',
- 'history' => 'Historie',
- 'search' => 'Søk',
- 'sign_up' => 'Registrer deg',
- 'guest' => 'Gjest',
- 'company_details' => 'Firmainformasjon',
- 'online_payments' => 'Online betaling',
- 'notifications' => 'Varsler',
- 'import_export' => 'Import/Export',
- 'done' => 'Ferdig',
- 'save' => 'Lagre',
- 'create' => 'Lag',
- 'upload' => 'Last opp',
- 'import' => 'Importer',
- 'download' => 'Last ned',
- 'cancel' => 'Avbryt',
- 'close' => 'Lukk',
- 'provide_email' => 'Vennligst oppgi en gyldig e-postadresse',
- 'powered_by' => 'Drevet av',
- 'no_items' => 'Ingen elementer',
-
- // recurring invoices
- 'recurring_invoices' => 'Gjentakende fakturaer',
- 'recurring_help' => 'Automatisk send klienter de samme fakturaene ukentlig, bi-månedlig, månedlig, kvartalsvis eller årlig.
- Bruk :MONTH, :QUARTER eller :YEAR for dynamiske datoer. Grunnleggende matematikk fungerer også, for eksempel :MONTH-1.
- Eksempler på dynamiske faktura variabler:
-
- "Treningsmedlemskap for måneden :MONTH" => "Treningsmedlemskap for måneden Juli"
- ":YEAR+1 årlig abonnement" => "2015 årlig abonnement"
- "Forhåndsbetaling for :QUARTER+1" => "Forhåndsbetaling for Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'totale inntekter',
- 'billed_client' => 'fakturert klient',
- 'billed_clients' => 'fakturerte klienter',
- 'active_client' => 'aktiv klient',
- 'active_clients' => 'aktive klienter',
- 'invoices_past_due' => 'Fakturaer forfalt',
- 'upcoming_invoices' => 'Forestående fakturaer',
- 'average_invoice' => 'Gjennomsnittlige fakturaer',
-
- // list pages
- 'archive' => 'Arkiv',
- 'delete' => 'Slett',
- 'archive_client' => 'Arkiver klient',
- 'delete_client' => 'Slett klient',
- 'archive_payment' => 'Arkiver betaling',
- 'delete_payment' => 'Slett betaling',
- 'archive_credit' => 'Arkiver kreditt',
- 'delete_credit' => 'Slett kreditt',
- 'show_archived_deleted' => 'Vis slettet/arkivert',
- 'filter' => 'Filter',
- 'new_client' => 'Ny klient',
- 'new_invoice' => 'Ny faktura',
- 'new_payment' => 'Ny betaling',
- 'new_credit' => 'Ny kreditt',
- 'contact' => 'Kontakt',
- 'date_created' => 'Dato opprettet',
- 'last_login' => 'Siste pålogging',
- 'balance' => 'Balanse',
- 'action' => 'Handling',
- 'status' => 'Status',
- 'invoice_total' => 'Faktura total',
- 'frequency' => 'Frekvens',
- 'start_date' => 'Startdato',
- 'end_date' => 'Sluttdato',
- 'transaction_reference' => 'Transaksjonsreferanse',
- 'method' => 'Betalingsmåte',
- 'payment_amount' => 'Beløp',
- 'payment_date' => 'Betalingsdato',
- 'credit_amount' => 'Kredittbeløp',
- 'credit_balance' => 'Kreditsaldo',
- 'credit_date' => 'Kredittdato',
- 'empty_table' => 'Ingen data er tilgjengelige i tabellen',
- 'select' => 'Velg',
- 'edit_client' => 'Rediger klient',
- 'edit_invoice' => 'Rediger faktura',
-
- // client view page
- 'create_invoice' => 'Lag faktura',
- 'enter_credit' => 'Oppgi kreditt',
- 'last_logged_in' => 'Sist pålogget',
- 'details' => 'Detaljer',
- 'standing' => 'Stående',
- 'credit' => 'Kreditt',
- 'activity' => 'Aktivitet',
- 'date' => 'Dato',
- 'message' => 'Beskjed',
- 'adjustment' => 'Justering',
- 'are_you_sure' => 'Er du sikker?',
-
- // payment pages
- 'payment_type_id' => 'Betalingsmetode',
- 'amount' => 'Beløp',
-
- // account/company pages
- 'work_email' => 'Email',
- 'language_id' => 'Språk',
- 'timezone_id' => 'Tidssone',
- 'date_format_id' => 'Dato format',
- 'datetime_format_id' => 'Dato/Tidsformat',
- 'users' => 'Brukere',
- 'localization' => 'Lokaliseing',
- 'remove_logo' => 'Fjern logo',
- 'logo_help' => 'Støttedefiltyper: JPEG, GIF og PNG. Anbefalt størrelse: 200px bredde by 120px høyde',
- 'payment_gateway' => 'Betalingsløsning',
- 'gateway_id' => 'Tilbyder',
- 'email_notifications' => 'Varsel via email',
- 'email_sent' => 'Varsle når en faktura er sendt ',
- 'email_viewed' => 'Varsle når en faktura er sett ',
- 'email_paid' => 'Varsle når en faktura er betalt ',
- 'site_updates' => 'Nettsted oppdateringer',
- 'custom_messages' => 'Tilpassede meldinger',
- 'default_invoice_terms' => 'Sett standard fakturavilkår',
- 'default_email_footer' => 'Sett standard emailsignatur',
- 'import_clients' => 'Importer klientdata',
- 'csv_file' => 'Velg CSV-fil',
- 'export_clients' => 'Exporter klientdata',
- 'select_file' => 'Vennligst velg en fil',
- 'first_row_headers' => 'Bruk første rad som overskrifter',
- 'column' => 'Kolonne',
- 'sample' => 'Eksempel',
- 'import_to' => 'Importer til',
- 'client_will_create' => 'Klient vil bli opprettet',
- 'clients_will_create' => 'Klienter vil bli opprettet',
-
- // application messages
- 'created_client' => 'Klient opprettet suksessfullt',
- 'created_clients' => 'Klienter opprettet suksessfullt',
- 'updated_settings' => 'Innstillger oppdatert',
- 'removed_logo' => 'Logo fjernet',
- 'sent_message' => 'Melding sendt',
- 'invoice_error' => 'Vennligst sørg for å velge en klient og rette eventuelle feil',
- 'limit_clients' => 'Dessverre, dette vil overstige grensen på :count klienter',
- 'payment_error' => 'Det oppstod en feil under din betaling. Vennligst prøv igjen senere.',
- 'registration_required' => 'Vennligst registrer deg for å sende e-postfaktura',
- 'confirmation_required' => 'Vennligst bekreft din e-postadresse',
-
- 'updated_client' => 'Klient oppdatert',
- 'created_client' => 'Klient lagret',
- 'archived_client' => 'Klient arkivert',
- 'archived_clients' => 'Arkiverte :count klienter',
- 'deleted_client' => 'Klient slettet',
- 'deleted_clients' => 'Slettet :count kliener',
-
- 'updated_invoice' => 'Faktura oppdatert',
- 'created_invoice' => 'Faktura opprettet',
- 'cloned_invoice' => 'Faktura kopiert',
- 'emailed_invoice' => 'Emailfaktura sendt',
- 'and_created_client' => 'og klient opprettet',
- 'archived_invoice' => 'Faktura arkivert',
- 'archived_invoices' => 'Fakturaer arkivert',
- 'deleted_invoice' => 'Faktura slettet',
- 'deleted_invoices' => 'Slettet :count fakturaer',
-
- 'created_payment' => 'Betaling opprettet',
- 'archived_payment' => 'Betaling arkivert',
- 'archived_payments' => 'Arkiverte :count betalinger',
- 'deleted_payment' => 'Betaling slettet',
- 'deleted_payments' => 'Slettet :count betalinger',
- 'applied_payment' => 'Betaling lagret',
-
- 'created_credit' => 'Kreditt opprettet',
- 'archived_credit' => 'Kreditt arkivert',
- 'archived_credits' => 'Arkiverte :count kreditter',
- 'deleted_credit' => 'Kreditt slettet',
- 'deleted_credits' => 'Slettet :count kreditter',
-
- // Emails
- 'confirmation_subject' => 'Invoice Ninja kontobekreftelse',
- 'confirmation_header' => 'Kontobekreftelse',
- 'confirmation_message' => 'Vennligst åpne koblingen nedenfor for å bekrefte kontoen din.',
- 'invoice_subject' => 'Ny faktura fra :account',
- 'invoice_message' => 'Sor å se din faktura på :amount, klikk linken nedenfor.',
- 'payment_subject' => 'Betaling mottatt',
- 'payment_message' => 'Fakk for din betaling pålydende :amount.',
- 'email_salutation' => 'Kjære :name,',
- 'email_signature' => 'Med vennlig hilsen,',
- 'email_from' => 'The InvoiceNinja Team',
- 'user_email_footer' => 'For å justere varslingsinnstillingene vennligst besøk '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Hvis du vil se din klientfaktura klikk på linken under:',
- 'notification_invoice_paid_subject' => 'Faktura :invoice betalt av :client',
- 'notification_invoice_sent_subject' => 'Faktura :invoice sendt til :client',
- 'notification_invoice_viewed_subject' => 'Faktura :invoice sett av :client',
- 'notification_invoice_paid' => 'En betaling pålydende :amount ble gjort av :client for faktura :invoice.',
- 'notification_invoice_sent' => 'Email har blitt sendt til :client - Faktura :invoice pålydende :amount.',
- 'notification_invoice_viewed' => ':client har nå sett faktura :invoice pålydende :amount.',
- 'reset_password' => 'Du kan nullstille ditt passord ved å besøke følgende link:',
- 'reset_password_footer' => 'Hvis du ikke ba om å få nullstillt ditt passord, vennligst kontakt kundeservice: ' . CONTACT_EMAIL,
-
-
- // Payment page
- 'secure_payment' => 'Sikker betaling',
- 'card_number' => 'Kortnummer',
- 'expiration_month' => 'Utløpsdato',
- 'expiration_year' => 'Utløpsår',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'For mange forsøk. Prøv igjen om noen få minutter.',
- 'wrong_credentials' => 'Feil e-post eller passord.',
- 'confirmation' => 'Din konto har blitt bekreftet!',
- 'wrong_confirmation' => 'Feil bekreftelseskode.',
- 'password_forgot' => 'Informasjonen om tilbakestilling av passord ble sendt til e-postadressen.',
- 'password_reset' => 'Passordet ditt er endret.',
- 'wrong_password_reset' => 'Ugyldig passord. Prøv på nytt',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link for å fjerne Invoice Ninja-logoen, oppgrader til en Pro Plan',
- 'remove_logo_link' => 'Klikk her',
- ],
-
- 'logout' => 'Logg ut',
- 'sign_up_to_save' => 'Registrer deg for å lagre arbeidet ditt',
- 'agree_to_terms' =>'Jeg godtar Invoice Ninja :terms',
- 'terms_of_service' => 'vilkår for bruk',
- 'email_taken' => 'Epost-adressen er allerede registrert',
- 'working' => 'Jobber',
- 'success' => 'Suksess',
- 'success_message' => 'Du har nå blitt registrert. Vennligst gå inn på linken som du har mottatt i e-postbekreftelsen for å bekrefte e-postadressen.',
- 'erase_data' => 'Dette vil permanent slette dine data.',
- 'password' => 'Passord',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'Ett års innmelding i Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Takk for at du valgte Invoice Ninja\'s Pro plan!
- Neste steg
en betalbar faktura er send til e-postadressen
- som er tilknyttet knotoen din. For å låse opp alle de utrolige
- Pro-funksjonene, kan du følge instruksjonene på fakturaen til å
- betale for et år med Pro-nivå funksjonerer.
- Finner du ikke fakturaen? Trenger du mer hjelp? Vi hjelper deg gjerne om det skulle være noe
- -- kontakt oss på contact@invoiceninja.com',
-
- 'unsaved_changes' => 'Du har ulagrede endringer',
- 'custom_fields' => 'Egendefinerte felt',
- 'company_fields' => 'Selskapets felt',
- 'client_fields' => 'Klientens felt',
- 'field_label' => 'Felt etikett',
- 'field_value' => 'Feltets verdi',
- 'edit' => 'Endre',
- 'set_name' => 'Sett ditt firmanavn',
- 'view_as_recipient' => 'Vis som mottaker',
-
- // product management
- 'product_library' => 'Produktbibliotek',
- 'product' => 'Produkt',
- 'products' => 'Produkter',
- 'fill_products' => 'Automatisk-fyll produkter',
- 'fill_products_help' => 'Valg av produkt vil automatisk fylle ut beskrivelse og kostnaden ',
- 'update_products' => 'Automatisk oppdater produkter',
- 'update_products_help' => 'Å endre en faktura vil automatisk oppdatere produktbilioteket ',
- 'create_product' => 'Lag nytt produkt',
- 'edit_product' => 'Endre produkt',
- 'archive_product' => 'Arkiver produkt',
- 'updated_product' => 'Produkt oppdatert',
- 'created_product' => 'Produkt lagret',
- 'archived_product' => 'Produkt arkivert',
- 'pro_plan_custom_fields' => ':link for å aktivere egendefinerte felt ved å delta i Pro Plan',
-
- 'advanced_settings' => 'Avanserte innstillinger',
- 'pro_plan_advanced_settings' => ':link for å aktivere avanserte innstillinger ved å delta i en Pro Plan',
- 'invoice_design' => 'Fakturadesign',
- 'specify_colors' => 'Egendefinerte farger',
- 'specify_colors_label' => 'Velg farger som brukes i fakturaen',
-
- 'chart_builder' => 'Diagram bygger',
- 'ninja_email_footer' => 'Bruk :site til å fakturere kundene dine og få betalt på nettet - gratis!',
- 'go_pro' => 'Velg Pro',
-
- // Quotes
- 'quote' => 'Pristilbud',
- 'quotes' => 'Pristilbud',
- 'quote_number' => 'Tilbuds nummer',
- 'quote_number_short' => 'Tilbuds #',
- 'quote_date' => 'Tilbudsdato',
- 'quote_total' => 'Tilbud total',
- 'your_quote' => 'Ditt tilbud',
- 'total' => 'Total',
- 'clone' => 'Kopier',
-
- 'new_quote' => 'Nytt tilbud',
- 'create_quote' => 'Lag tilbud',
- 'edit_quote' => 'Endre tilbud',
- 'archive_quote' => 'Arkiver tilbud',
- 'delete_quote' => 'Slett tilbud',
- 'save_quote' => 'Lagre tilbud',
- 'email_quote' => 'Email tilbudet',
- 'clone_quote' => 'Kopier tilbud',
- 'convert_to_invoice' => 'Konverter til en faktura',
- 'view_invoice' => 'Se faktura',
- 'view_client' => 'Vis klient',
- 'view_quote' => 'Se tilbud',
-
- 'updated_quote' => 'Tilbud oppdatert',
- 'created_quote' => 'Tilbud opprettet',
- 'cloned_quote' => 'Tilbud kopiert',
- 'emailed_quote' => 'Tilbud sendt som email',
- 'archived_quote' => 'Tilbud arkivert',
- 'archived_quotes' => 'Arkiverte :count tilbud',
- 'deleted_quote' => 'Tilbud slettet',
- 'deleted_quotes' => 'Slettet :count tilbud',
- 'converted_to_invoice' => 'Tilbud konvertert til faktura',
-
- 'quote_subject' => 'Nytt tilbud fra :account',
- 'quote_message' => 'For å se ditt tilbud pålydende :amount, klikk linken nedenfor.',
- 'quote_link_message' => 'Hvis du vil se din klients tilbud, klikk på linken under:',
- 'notification_quote_sent_subject' => 'Tilbud :invoice sendt til :client',
- 'notification_quote_viewed_subject' => 'Tilbudet :invoice er nå sett av :client',
- 'notification_quote_sent' => 'Følgende klient :client ble sendt tilbudsfaktura :invoice pålydende :amount.',
- 'notification_quote_viewed' => 'Følgende klient :client har nå sett tilbudsfakturaen :invoice pålydende :amount.',
-
- 'session_expired' => 'Økten er utløpt.',
-
- 'invoice_fields' => 'Faktura felt',
- 'invoice_options' => 'Faktura alternativer',
- 'hide_quantity' => 'Skjul antall',
- 'hide_quantity_help' => 'Hvis du alltid har 1 (en) av hvert element på fakturaen, kan du velge dette alternativet for å ikke vise antall på fakturaen.',
- 'hide_paid_to_date' => 'Skjul delbetalinger',
- 'hide_paid_to_date_help' => 'Bare vis delbetalinger om det har forekommet en delbetaling.',
-
- 'charge_taxes' => 'Inkluder skatt',
- 'user_management' => 'Brukerhåndtering',
- 'add_user' => 'Legg til bruker',
- 'send_invite' => 'Send invitasjon',
- 'sent_invite' => 'Invitasjon sendt',
- 'updated_user' => 'Bruker oppdatert',
- 'invitation_message' => 'Du har blitt invitert av :invitor. ',
- 'register_to_add_user' => 'Vennligst registrer deg for å legge til en bruker',
- 'user_state' => 'Status',
- 'edit_user' => 'Endre bruker',
- 'delete_user' => 'Slett bruker',
- 'active' => 'Aktiv',
- 'pending' => 'Avventer',
- 'deleted_user' => 'Bruker slettet',
- 'limit_users' => 'Dessverre, vil dette overstiger grensen på ' . MAX_NUM_USERS . ' brukere',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $20',
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
- 'id_number' => 'ID Number',
-
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
\ No newline at end of file
diff --git a/app/lang/nb_NO/validation.php b/app/lang/nb_NO/validation.php
deleted file mode 100644
index 6f23dd44a852..000000000000
--- a/app/lang/nb_NO/validation.php
+++ /dev/null
@@ -1,102 +0,0 @@
- ":attribute må være akseptert.",
- "active_url" => ":attribute er ikke en gyldig URL.",
- "after" => ":attribute må være en dato etter :date.",
- "alpha" => ":attribute kan kun inneholde bokstaver.",
- "alpha_dash" => ":attribute kan kun inneholde bokstaver, sifre, og bindestreker.",
- "alpha_num" => ":attribute kan kun inneholde bokstaver og sifre.",
- "array" => ":attribute må være en matrise.",
- "before" => ":attribute må være en dato før :date.",
- "between" => array(
- "numeric" => ":attribute må være mellom :min - :max.",
- "file" => ":attribute må være mellom :min - :max kilobytes.",
- "string" => ":attribute må være mellom :min - :max tegn.",
- "array" => ":attribute må ha mellom :min - :max elementer.",
- ),
- "confirmed" => ":attribute bekreftelsen stemmer ikke",
- "date" => ":attribute er ikke en gyldig dato.",
- "date_format" => ":attribute samsvarer ikke med formatet :format.",
- "different" => ":attribute og :other må være forskjellig.",
- "digits" => ":attribute må være :digits sifre.",
- "digits_between" => ":attribute må være mellom :min og :max sifre.",
- "email" => ":attribute formatet er ugyldig.",
- "exists" => "Valgt :attribute er ugyldig.",
- "image" => ":attribute må være et bilde.",
- "in" => "Valgt :attribute er ugyldig.",
- "integer" => ":attribute må være heltall.",
- "ip" => ":attribute må være en gyldig IP-adresse.",
- "max" => array(
- "numeric" => ":attribute kan ikke være høyere enn :max.",
- "file" => ":attribute kan ikke være større enn :max kilobytes.",
- "string" => ":attribute kan ikke være mer enn :max tegn.",
- "array" => ":attribute kan ikke inneholde mer enn :max elementer.",
- ),
- "mimes" => ":attribute må være av filtypen: :values.",
- "min" => array(
- "numeric" => ":attribute må minimum være :min.",
- "file" => ":attribute må minimum være :min kilobytes.",
- "string" => ":attribute må minimum være :min tegn.",
- "array" => ":attribute må inneholde minimum :min elementer.",
- ),
- "not_in" => "Valgt :attribute er ugyldig.",
- "numeric" => ":attribute må være et siffer.",
- "regex" => ":attribute formatet er ugyldig.",
- "required" => ":attribute er påkrevd.",
- "required_if" => ":attribute er påkrevd når :other er :value.",
- "required_with" => ":attribute er påkrevd når :values er valgt.",
- "required_without" => ":attribute er påkrevd når :values ikke er valgt.",
- "same" => ":attribute og :other må sammsvare.",
- "size" => array(
- "numeric" => ":attribute må være :size.",
- "file" => ":attribute må være :size kilobytes.",
- "string" => ":attribute må være :size tegn.",
- "array" => ":attribute må inneholde :size elementer.",
- ),
- "unique" => ":attribute er allerede blitt tatt.",
- "url" => ":attribute formatet er ugyldig.",
-
- "positive" => ":attribute må være mer enn null.",
- "has_credit" => "Klienten har ikke høy nok kreditt.",
- "notmasked" => "Verdiene er skjult",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/nl/pagination.php b/app/lang/nl/pagination.php
deleted file mode 100644
index 583b463a6375..000000000000
--- a/app/lang/nl/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Vorige',
-
- 'next' => 'Volgende »',
-
-);
\ No newline at end of file
diff --git a/app/lang/nl/public.php b/app/lang/nl/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/nl/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/nl/reminders.php b/app/lang/nl/reminders.php
deleted file mode 100644
index 1a517a658edd..000000000000
--- a/app/lang/nl/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Wachtwoord moet minimaal zes tekens lang zijn en de wachtwoorden moeten overeenkomen.",
-
- "user" => "Geen gebruiker bekend met dat e-mailadres.",
-
- "token" => "Dit wachtwoord reset token is niet geldig.",
-
- "sent" => "Wachtwoord herinnering verzonden!",
-
-);
diff --git a/app/lang/nl/texts.php b/app/lang/nl/texts.php
deleted file mode 100644
index 45304e64b143..000000000000
--- a/app/lang/nl/texts.php
+++ /dev/null
@@ -1,578 +0,0 @@
- 'Organisatie',
- 'name' => 'Naam',
- 'website' => 'Website',
- 'work_phone' => 'Telefoon',
- 'address' => 'Adres',
- 'address1' => 'Straat',
- 'address2' => 'Bus/Suite',
- 'city' => 'Gemeente',
- 'state' => 'Staat/Provincie',
- 'postal_code' => 'Postcode',
- 'country_id' => 'Land',
- 'contacts' => 'Contacten',
- 'first_name' => 'Voornaam',
- 'last_name' => 'Achternaam',
- 'phone' => 'Telefoon',
- 'email' => 'E-mail',
- 'additional_info' => 'Extra Informatie',
- 'payment_terms' => 'Betalingsvoorwaarden',
- 'currency_id' => 'Munteenheid',
- 'size_id' => 'Grootte',
- 'industry_id' => 'Industrie',
- 'private_notes' => 'Privé Bericht',
-
- // invoice
- 'invoice' => 'Factuur',
- 'client' => 'Klant',
- 'invoice_date' => 'Factuurdatum',
- 'due_date' => 'Vervaldatum',
- 'invoice_number' => 'Factuur nummer',
- 'invoice_number_short' => 'Factuur #',
- 'po_number' => 'Bestelnummer',
- 'po_number_short' => 'Bestel #',
- 'frequency_id' => 'Hoe vaak',
- 'discount' => 'Korting',
- 'taxes' => 'Belastingen',
- 'tax' => 'Belasting',
- 'item' => 'Naam',
- 'description' => 'Beschrijving',
- 'unit_cost' => 'Eenheidsprijs',
- 'quantity' => 'Aantal',
- 'line_total' => 'Totaal lijn',
- 'subtotal' => 'Subtotaal',
- 'paid_to_date' => 'Betaal Datum',
- 'balance_due' => 'Openstaand saldo',
- 'invoice_design_id' => 'Ontwerp',
- 'terms' => 'Voorwaarden',
- 'your_invoice' => 'Jouw factuur',
-
- 'remove_contact' => 'Verwijder contact',
- 'add_contact' => 'Voeg contact toe',
- 'create_new_client' => 'Maak nieuwe klant',
- 'edit_client_details' => 'Pas klantdetails aan',
- 'enable' => 'Activeer',
- 'learn_more' => 'Meer te weten komen',
- 'manage_rates' => 'Beheer prijzen',
- 'note_to_client' => 'Bericht aan klant',
- 'invoice_terms' => 'Factuur voorwaarden',
- 'save_as_default_terms' => 'Opslaan als standaard voorwaarden',
- 'download_pdf' => 'Download PDF',
- 'pay_now' => 'Betaal nu',
- 'save_invoice' => 'Sla Factuur op',
- 'clone_invoice' => 'Kopieer Factuur',
- 'archive_invoice' => 'Archiveer Factuur',
- 'delete_invoice' => 'Verwijder Factuur',
- 'email_invoice' => 'E-mail Factuur',
- 'enter_payment' => 'Betaling ingeven',
- 'tax_rates' => 'BTW tarief',
- 'rate' => 'Tarief',
- 'settings' => 'Instellingen',
- 'enable_invoice_tax' => 'Activeer instelling van BTW op volledige factuur ',
- 'enable_line_item_tax' => 'Activeer instelling van BTW per lijn ',
-
- // navigation
- 'dashboard' => 'Dashboard',
- 'clients' => 'Klanten',
- 'invoices' => 'Facturen',
- 'payments' => 'Betalingen',
- 'credits' => 'Kredietnota\'s',
- 'history' => 'Geschiedenis',
- 'search' => 'Zoeken',
- 'sign_up' => 'Aanmelden',
- 'guest' => 'Gast',
- 'company_details' => 'Bedrijfsdetails',
- 'online_payments' => 'Online betalingen',
- 'notifications' => 'Meldingen',
- 'import_export' => 'Importeer/Exporteer',
- 'done' => 'Klaar',
- 'save' => 'Opslaan',
- 'create' => 'Aanmaken',
- 'upload' => 'Uploaden',
- 'import' => 'Importeer',
- 'download' => 'Downloaden',
- 'cancel' => 'Annuleren',
- 'provide_email' => 'Geef een geldig e-mailadres aub.',
- 'powered_by' => 'Factuur gemaakt via',
- 'no_items' => 'Geen artikelen',
-
- // recurring invoices
- 'recurring_invoices' => 'Terugkerende facturen',
- 'recurring_help' => 'Zend klanten automatisch wekelijks, twee keer per maand, maandelijks, per kwartaal of jaarlijks dezelfde facturen.
- Gebruik :MONTH, :QUARTER of :YEAR voor dynamische datums. Eenvoudige wiskunde werkt ook, bijvoorbeeld :MONTH-1.
- Voorbeelden van dynamische factuur variabelen:
-
- "Fitness lidmaatschap voor de maand :MONTH" => "Fitness lidmaatschap voor de maand juli"
- "Jaarlijks abonnement :YEAR+1" => "Jaarlijks abonnement 2015"
- "Betaling voor :QUARTER+1" => "Betaling voor Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'in totale opbrengst',
- 'billed_client' => 'Gefactureerde klant',
- 'billed_clients' => 'Gefactureerde klanten',
- 'active_client' => 'Actieve klant',
- 'active_clients' => 'Actieve klanten',
- 'invoices_past_due' => 'Vervallen facturen',
- 'upcoming_invoices' => 'Aankomende facturen',
- 'average_invoice' => 'Gemiddelde factuur',
-
- // list pages
- 'archive' => 'Archiveer',
- 'delete' => 'Verwijder',
- 'archive_client' => 'Archiveer klant',
- 'delete_client' => 'Verwijder klant',
- 'archive_payment' => 'Archiveer betaling',
- 'delete_payment' => 'Verwijder betaling',
- 'archive_credit' => 'Archiveer kredietnota',
- 'delete_credit' => 'Verwijder kredietnota',
- 'show_archived_deleted' => 'Toon gearchiveerde/verwijderde',
- 'filter' => 'Filter',
- 'new_client' => 'Nieuwe Klant',
- 'new_invoice' => 'Nieuwe Factuur',
- 'new_payment' => 'Nieuwe Betaling',
- 'new_credit' => 'Nieuwe Kredietnota',
- 'contact' => 'Contact',
- 'date_created' => 'Aanmaakdatum',
- 'last_login' => 'Laatste login',
- 'balance' => 'Saldo',
- 'action' => 'Actie',
- 'status' => 'Status',
- 'invoice_total' => 'Factuur totaal',
- 'frequency' => 'Frequentie',
- 'start_date' => 'Startdatum',
- 'end_date' => 'Einddatum',
- 'transaction_reference' => 'Transactie Referentie',
- 'method' => 'Methode',
- 'payment_amount' => 'Betalingsbedrag',
- 'payment_date' => 'Betalingsdatum',
- 'credit_amount' => 'Kredietbedrag',
- 'credit_balance' => 'Kredietsaldo',
- 'credit_date' => 'Kredietdatum',
- 'empty_table' => 'Geen gegevens beschikbaar in de tabel',
- 'select' => 'Selecteer',
- 'edit_client' => 'Klant aanpassen',
- 'edit_invoice' => 'Factuur aanpassen',
-
- // client view page
- 'create_invoice' => 'Factuur aanmaken',
- 'enter_credit' => 'Kredietnota ingeven',
- 'last_logged_in' => 'Laatste login',
- 'details' => 'Details',
- 'standing' => 'Openstaand',
- 'credit' => 'Krediet',
- 'activity' => 'Activiteit',
- 'date' => 'Datum',
- 'message' => 'Bericht',
- 'adjustment' => 'Aanpassing',
- 'are_you_sure' => 'Ben je zeker?',
-
- // payment pages
- 'payment_type_id' => 'Betalingstype',
- 'amount' => 'Bedrag',
-
- // account/company pages
- 'work_email' => 'E-mail',
- 'language_id' => 'Taal',
- 'timezone_id' => 'Tijdszone',
- 'date_format_id' => 'Formaat datum',
- 'datetime_format_id' => 'Datum/Tijd Formaat',
- 'users' => 'Gebruikers',
- 'localization' => 'Localisatie',
- 'remove_logo' => 'Verwijder logo',
- 'logo_help' => 'Ondersteund: JPEG, GIF en PNG. Aangeraden hoogte: 120px',
- 'payment_gateway' => 'Betalingsmiddel',
- 'gateway_id' => 'Leverancier',
- 'email_notifications' => 'E-mail meldingen',
- 'email_sent' => 'E-mail me wanneer een factuur is verzonden ',
- 'email_viewed' => 'E-mail me wanneer een factuur is bekeken ',
- 'email_paid' => 'E-mail me wanneer een factuur is betaald ',
- 'site_updates' => 'Site Aanpassingen',
- 'custom_messages' => 'Aangepaste berichten',
- 'default_invoice_terms' => 'Stel standaard factuursvoorwaarden in',
- 'default_email_footer' => 'Stel standaard e-mail signatuur in',
- 'import_clients' => 'Importeer Klant Gegevens',
- 'csv_file' => 'Selecteer CSV bestand',
- 'export_clients' => 'Exporteer Klant Gegevens',
- 'select_file' => 'Selecteer alstublieft een bestand',
- 'first_row_headers' => 'Gebruik eerste rij als hoofdding',
- 'column' => 'Kolom',
- 'sample' => 'Voorbeeld',
- 'import_to' => 'Importeer naar',
- 'client_will_create' => 'klant zal aangemaakt worden',
- 'clients_will_create' => 'klanten zullen aangemaakt worden',
-
- // application messages
- 'created_client' => 'Klant succesvol aangemaakt',
- 'created_clients' => ':count klanten succesvol aangemaakt',
- 'updated_settings' => 'Instellingen succesvol aangepast',
- 'removed_logo' => 'Logo succesvol verwijderd',
- 'sent_message' => 'Bericht succesvol verzonden',
- 'invoice_error' => 'Selecteer een klant alstublieft en corrigeer mogelijke fouten',
- 'limit_clients' => 'Sorry, dit zal de klantenlimiet van :count klanten overschrijden',
- 'payment_error' => 'Er was een fout bij het verwerken van uw betaling. Probeer later alstublieft opnieuw.',
- 'registration_required' => 'Meld je aan om een factuur te mailen',
- 'confirmation_required' => 'Bevestig je e-mail adres alstublieft',
-
- 'updated_client' => 'Klant succesvol aangepast',
- 'created_client' => 'Klant succesvol aangemaakt',
- 'archived_client' => 'Klant succesvol gearchiveerd',
- 'archived_clients' => ':count klanten succesvol gearchiveerd',
- 'deleted_client' => 'Klant succesvol verwijderd',
- 'deleted_clients' => ':count klanten succesvol verwijderd',
-
- 'updated_invoice' => 'Factuur succesvol aangepast',
- 'created_invoice' => 'Factuur succesvol aangemaakt',
- 'cloned_invoice' => 'Factuur succesvol gekopieerd',
- 'emailed_invoice' => 'Factuur succesvol gemaild',
- 'and_created_client' => 'en klant aangemaakt',
- 'archived_invoice' => 'Factuur succesvol gearchiveerd',
- 'archived_invoices' => ':count facturen succesvol gearchiveerd',
- 'deleted_invoice' => 'Factuur succesvol verwijderd',
- 'deleted_invoices' => ':count facturen succesvol verwijderd',
-
- 'created_payment' => 'Betaling succesvol aangemaakt',
- 'archived_payment' => 'Betaling succesvol gearchiveerd',
- 'archived_payments' => ':count betalingen succesvol gearchiveerd',
- 'deleted_payment' => 'Betaling succesvol verwijderd',
- 'deleted_payments' => ':count betalingen succesvol verwijderd',
- 'applied_payment' => 'Betaling succesvol toegepast',
-
- 'created_credit' => 'Kredietnota succesvol aangemaakt',
- 'archived_credit' => 'Kredietnota succesvol gearchiveerd',
- 'archived_credits' => ':count kredietnota\'s succesvol gearchiveerd',
- 'deleted_credit' => 'Kredietnota succesvol verwijderd',
- 'deleted_credits' => ':count kredietnota\'s succesvol verwijderd',
-
- // E-mails
- 'confirmation_subject' => 'Invoice Ninja Bevestiging Account',
- 'confirmation_header' => 'Bevestiging Account',
- 'confirmation_message' => 'Ga alstublieft naar onderstaande link om je account te bevestiging.',
- 'invoice_message' => 'Om je factuur voor :amount te bekijken, klik op onderstaande link.',
- 'payment_subject' => 'Betaling ontvangen',
- 'payment_message' => 'Bedankt voor je betaling van :amount.',
- 'email_salutation' => 'Beste :name,',
- 'email_signature' => 'Met vriendelijke groeten,',
- 'email_from' => 'Het InvoiceNinja Team',
- 'user_email_footer' => 'Ga alstublieft naar '.SITE_URL.'/company/notifications om je e-mail notificatie instellingen aan te passen ',
- 'invoice_link_message' => 'Klik op volgende link om de Factuur van je klant te bekijken:',
- 'notification_invoice_paid_subject' => 'Factuur :invoice is betaald door :client',
- 'notification_invoice_sent_subject' => 'Factuur :invoice is gezonden door :client',
- 'notification_invoice_viewed_subject' => 'Factuur :invoice is bekeken door :client',
- 'notification_invoice_paid' => 'Een betaling voor :amount is gemaakt door klant :client voor Factuur :invoice.',
- 'notification_invoice_sent' => 'De volgende klant :client heeft Factuur :invoice voor :amount gemaild gekregen.',
- 'notification_invoice_viewed' => 'De volgende klant :client heeft Factuur :invoice voor :amount bekeken.',
- 'reset_password' => 'Je kan het paswoord van je account resetten door op volgende link te klikken:',
- 'reset_password_footer' => 'Als je deze paswoord reset niet aangevraagd hebt contacteer dan onze helpdesk alstublieft: ' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Veilige betaling',
- 'card_number' => 'Kaart nummer',
- 'expiration_month' => 'Verval maand',
- 'expiration_year' => 'Verval jaar',
- 'cvv' => 'CVV',
-
- // Security alerts
- 'confide' => [
- 'too_many_attempts' => 'Te veel pogingen. Probeer opnieuw binnen enkele minuten.',
- 'wrong_credentials' => 'Verkeerd e-mailadres of paswoord.',
- 'confirmation' => 'Je account is bevestigd!',
- 'wrong_confirmation' => 'Verkeerde bevestigingscode.',
- 'password_forgot' => 'De informatie over je paswoord reset is verzonden naar je e-mailadres.',
- 'password_reset' => 'Je paswoord is succesvol aangepast.',
- 'wrong_password_reset' => 'Ongeldig paswoord. Probeer opnieuw',
- ],
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link om het Invoice Ninja logo te verwijderen door het pro plan te nemen',
- 'remove_logo_link' => 'Klik hier',
- ],
-
- 'logout' => 'Afmelden',
- 'sign_up_to_save' => 'Registreer je om je werk op te slaan',
- 'agree_to_terms' =>'Ik accepteer de Invoice Ninja :terms',
- 'terms_of_service' => 'Gebruiksvoorwaarden',
- 'email_taken' => 'Het e-mailadres is al geregistreerd',
- 'working' => 'Actief',
- 'success' => 'Succes',
- 'success_message' => 'Je bent succesvol geregistreerd. Ga alstublieft naar de link in de bevestigingsmail om je e-mailadres te verifiëren.',
- 'erase_data' => 'Dit zal uw data permanent verwijderen.',
- 'password' => 'Wachtwoord',
- 'invoice_subject' => 'Nieuwe factuur van :account',
- 'close' => 'Sluiten',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'One year enrollment in the Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Thanks for joining! Once the invoice is paid your Pro Plan membership will begin.',
-
- 'unsaved_changes' => 'You have unsaved changes',
- 'custom_fields' => 'Custom fields',
- 'company_fields' => 'Company Fields',
- 'client_fields' => 'Client Fields',
- 'field_label' => 'Field Label',
- 'field_value' => 'Field Value',
- 'edit' => 'Edit',
- 'view_invoice' => 'View invoice',
- 'view_as_recipient' => 'View as recipient',
-
- // product management
- 'product_library' => 'Product Library',
- 'product' => 'Product',
- 'products' => 'Products',
- 'fill_products' => 'Auto-fill products',
- 'fill_products_help' => 'Selecting a product will automatically set the description and cost ',
- 'update_products' => 'Auto-update products',
- 'update_products_help' => 'Updating an invoice will automatically update the products ',
- 'create_product' => 'Create Product',
- 'edit_product' => 'Edit Product',
- 'archive_product' => 'Archive Product',
- 'updated_product' => 'Successfully updated product',
- 'created_product' => 'Successfully created product',
- 'archived_product' => 'Successfully archived product',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Advanced Settings',
- 'pro_plan_advanced_settings' => ':link to enable the advanced settings by joining the Pro Plan',
- 'invoice_design' => 'Invoice Design',
- 'specify_colors' => 'Specify colors',
- 'specify_colors_label' => 'Select the colors used in the invoice',
-
- 'chart_builder' => 'Chart Builder',
- 'ninja_email_footer' => 'Use :site to invoice your clients and get paid online for free!',
- 'go_pro' => 'Go Pro',
-
- // Quotes
- 'quote' => 'Quote',
- 'quotes' => 'Quotes',
- 'quote_number' => 'Quote Number',
- 'quote_number_short' => 'Quote #',
- 'quote_date' => 'Quote Date',
- 'quote_total' => 'Quote Total',
- 'your_quote' => 'Your Quote',
- 'total' => 'Total',
- 'clone' => 'Clone',
-
- 'new_quote' => 'New Quote',
- 'create_quote' => 'Create Quote',
- 'edit_quote' => 'Edit Quote',
- 'archive_quote' => 'Archive Quote',
- 'delete_quote' => 'Delete Quote',
- 'save_quote' => 'Save Quote',
- 'email_quote' => 'Email Quote',
- 'clone_quote' => 'Clone Quote',
- 'convert_to_invoice' => 'Convert to Invoice',
- 'view_invoice' => 'View Invoice',
- 'view_quote' => 'View Quote',
- 'view_client' => 'View Client',
-
- 'updated_quote' => 'Successfully updated quote',
- 'created_quote' => 'Successfully created quote',
- 'cloned_quote' => 'Successfully cloned quote',
- 'emailed_quote' => 'Successfully emailed quote',
- 'archived_quote' => 'Successfully archived quote',
- 'archived_quotes' => 'Successfully archived :count quotes',
- 'deleted_quote' => 'Successfully deleted quote',
- 'deleted_quotes' => 'Successfully deleted :count quotes',
- 'converted_to_invoice' => 'Successfully converted quote to invoice',
-
- 'quote_subject' => 'New quote from :account',
- 'quote_message' => 'To view your quote for :amount, click the link below.',
- 'quote_link_message' => 'To view your client quote click the link below:',
- 'notification_quote_sent_subject' => 'Quote :invoice was sent to :client',
- 'notification_quote_viewed_subject' => 'Quote :invoice was viewed by :client',
- 'notification_quote_sent' => 'The following client :client was emailed Quote :invoice for :amount.',
- 'notification_quote_viewed' => 'The following client :client viewed Quote :invoice for :amount.',
-
- 'session_expired' => 'Your session has expired.',
-
- 'invoice_fields' => 'Invoice Fields',
- 'invoice_options' => 'Invoice Options',
- 'hide_quantity' => 'Hide quantity',
- 'hide_quantity_help' => 'If your line items quantities are always 1, then you can declutter invoices by no longer displaying this field.',
- 'hide_paid_to_date' => 'Hide paid to date',
- 'hide_paid_to_date_help' => 'Only display the "Paid to Date" area on your invoices once a payment has been received.',
-
- 'charge_taxes' => 'Charge taxes',
- 'user_management' => 'User Management',
- 'add_user' => 'Add User',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Successfully sent invitation',
- 'updated_user' => 'Successfully updated user',
- 'invitation_message' => 'You\'ve been invited by :invitor. ',
- 'register_to_add_user' => 'Please sign up to add a user',
- 'user_state' => 'State',
- 'edit_user' => 'Edit User',
- 'delete_user' => 'Delete User',
- 'active' => 'Active',
- 'pending' => 'Pending',
- 'deleted_user' => 'Successfully deleted user',
- 'limit_users' => 'Sorry, this will exceed the limit of ' . MAX_NUM_USERS . ' users',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
- 'id_number' => 'ID Number',
-
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-
-);
\ No newline at end of file
diff --git a/app/lang/nl/validation.php b/app/lang/nl/validation.php
deleted file mode 100644
index 81ab739e520f..000000000000
--- a/app/lang/nl/validation.php
+++ /dev/null
@@ -1,111 +0,0 @@
- ":attribute moet geaccepteerd zijn.",
- "active_url" => ":attribute is geen geldige URL.",
- "after" => ":attribute moet een datum na :date zijn.",
- "alpha" => ":attribute mag alleen letters bevatten.",
- "alpha_dash" => ":attribute mag alleen letters, nummers, onderstreep(_) en strepen(-) bevatten.",
- "alpha_num" => ":attribute mag alleen letters en nummers bevatten.",
- "array" => ":attribute moet geselecteerde elementen bevatten.",
- "before" => ":attribute moet een datum voor :date zijn.",
- "between" => array(
- "numeric" => ":attribute moet tussen :min en :max zijn.",
- "file" => ":attribute moet tussen :min en :max kilobytes zijn.",
- "string" => ":attribute moet tussen :min en :max karakters zijn.",
- "array" => ":attribute moet tussen :min en :max items bevatten."
- ),
- "confirmed" => ":attribute bevestiging komt niet overeen.",
- "count" => ":attribute moet precies :count geselecteerde elementen bevatten.",
- "countbetween" => ":attribute moet tussen :min en :max geselecteerde elementen bevatten.",
- "countmax" => ":attribute moet minder dan :max geselecteerde elementen bevatten.",
- "countmin" => ":attribute moet minimaal :min geselecteerde elementen bevatten.",
- "date_format" => ":attribute moet een geldig datum formaat bevatten.",
- "different" => ":attribute en :other moeten verschillend zijn.",
- "email" => ":attribute is geen geldig e-mailadres.",
- "exists" => ":attribute bestaat niet.",
- "image" => ":attribute moet een afbeelding zijn.",
- "in" => ":attribute is ongeldig.",
- "integer" => ":attribute moet een getal zijn.",
- "ip" => ":attribute moet een geldig IP-adres zijn.",
- "match" => "Het formaat van :attribute is ongeldig.",
- "max" => array(
- "numeric" => ":attribute moet minder dan :max zijn.",
- "file" => ":attribute moet minder dan :max kilobytes zijn.",
- "string" => ":attribute moet minder dan :max karakters zijn.",
- "array" => ":attribute mag maximaal :max items bevatten."
- ),
- "mimes" => ":attribute moet een bestand zijn van het bestandstype :values.",
- "min" => array(
- "numeric" => ":attribute moet minimaal :min zijn.",
- "file" => ":attribute moet minimaal :min kilobytes zijn.",
- "string" => ":attribute moet minimaal :min karakters zijn.",
- "array" => ":attribute moet minimaal :min items bevatten."
- ),
- "not_in" => "Het formaat van :attribute is ongeldig.",
- "numeric" => ":attribute moet een nummer zijn.",
- "required" => ":attribute is verplicht.",
- "required_with" => ":attribute is verplicht i.c.m. :values",
- "required_with_all" => ":attribute is verplicht i.c.m. :values",
- "required_without" => ":attribute is verplicht als :values niet ingevuld is.",
- "required_without_all" => ":attribute is verplicht als :values niet ingevuld zijn.",
- "same" => ":attribute en :other moeten overeenkomen.",
- "size" => array(
- "numeric" => ":attribute moet :size zijn.",
- "file" => ":attribute moet :size kilobyte zijn.",
- "string" => ":attribute moet :size characters zijn.",
- "array" => ":attribute moet :size items bevatten."
- ),
- "unique" => ":attribute is al in gebruik.",
- "url" => ":attribute is geen geldige URL.",
-
- "positive" => ":attribute moet groter zijn dan nul.",
- "has_credit" => "De klant heeft niet voldoende krediet.",
-
- "positive" => "The :attribute must be greater than zero.",
- "has_credit" => "The client does not have enough credit.",
- "notmasked" => "The values are masked",
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => array(
- 'attribute-name' => array(
- 'rule-name' => 'custom-message',
- ),
- ),
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => array(),
-
-);
diff --git a/app/lang/pt_BR/pagination.php b/app/lang/pt_BR/pagination.php
deleted file mode 100644
index 39b1c02096a4..000000000000
--- a/app/lang/pt_BR/pagination.php
+++ /dev/null
@@ -1,20 +0,0 @@
- '« Anterior',
-
-'next' => 'Próximo »',
-
-);
diff --git a/app/lang/pt_BR/public.php b/app/lang/pt_BR/public.php
deleted file mode 100644
index 7f5ecb9008e2..000000000000
--- a/app/lang/pt_BR/public.php
+++ /dev/null
@@ -1,209 +0,0 @@
- 'Free Open-Source Online Invoicing',
- 'description' => 'Invoice Ninja is a free, open-source solution for invoicing and billing customers. With Invoice Ninja, you can easily build and send beautiful invoices from any device that has access to the web. Your clients can print your invoices, download them as pdf files, and even pay you online from within the system.',
- 'invoice_now' => 'Invoice Now',
- 'no_signup_needed' => 'No signup needed',
-
- 'link_blog' => 'Blog',
- 'link_about_us' => 'About Us',
- 'link_contact_us' => 'Contact Us',
- 'link_features' => 'Features',
- 'link_plans' => 'Plans',
- 'link_compare' => 'Compare',
- 'link_testimonials' => 'Testimonials',
- 'link_faq' => 'FAQ',
-
- 'my_account' => 'My Account',
- 'login' => 'Login',
- 'connect_with_us' => 'Connect with Us',
- 'safe_and_secure' => 'Safe & Secure',
- 'toggle_navigation' => 'Toggle navigation',
-
-
- 'home' => [
- 'header' => 'THE SIMPLE & FREE WAY TO INVOICE CLIENTS',
- 'sub_header' => 'It\'s just that easy. Stop spending time on complicated and expensive invoicing. No fuss, just get started and get paid.',
- 'footer' => 'Simple, Intuitive Invoicing, Anywhere.',
-
- 'free_always' => 'Free, Always',
- 'free_always_text' => 'Send unlimited invoices to 500 clients per month and never pay a dime. You are welcome to unlock still more awesome features with our Pro Plan, but our free app is a top-notch product that will do everything you need it to do, without any subscription or fees.',
-
- 'open_source' => 'Open-Source',
- 'open_source_text' => 'No mysterious corporate silos here! Just full source code transparency and a devotion to working with anyone interested to build a better electronic invoicing platform. We even offer a handy zip download for a self-hosted version of Invoice Ninja.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text' => 'See how your edited invoice will look as a print-friendly pdf while you make the changes. Our pdf generator works in real time as you make your changes. You can even preview four beautiful preset designs. Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text' => 'Invoices sent with our app integrate seamlessly with the gateway credit card processor of your choice, to make it super easy for your clients to send you money with just a few clicks. We play nicely with Authorize.Net, Stripe, PayPal and loads more - 23 in all!',
- ],
-
- 'about' => [
- 'header' => 'About Invoice Ninja',
- 'what_is' => 'What is Invoice Ninja?',
-
- 'team_ninja' => 'Team Ninja',
- 'team_ninja_text' => 'Invoice Ninja is managed by a team of seasoned web workers. We launched in early 2014 and have been thrilled by the enthusiastic response we’ve received from our growing community of users.',
-
- 'co_founder' => 'Co-Founder',
- 'ceo' => 'CEO',
- 'cto' => '',
- 'designer' => 'Designer',
- 'marketing' => 'Marketing',
-
- 'shalom_bio' => 'Shalom has specialized in small business development for nearly 10 years. In addition to InvoiceNinja.com Shalom is CEO of a leading tour agency in Israel.',
- 'hillel_bio' => 'Hillel has been developing enterprise applications for 15 years. His open-source AutoComplete component has been used by thousands of developers around the world.',
- 'razi_bio' => 'Razi is a pixel nerd with a great deal of experience in design for web sites and applications. When she isn\'t busy with InvoiceNinja she runs a small web agency in Stockholm called kantorp-wegl.in',
- 'ben_bio' => 'A veteran digital marketer and content strategist, Ben specializes in building communities around brands that make business easier for freelancers, SMBs and micro-entrepreneurs.',
- ],
-
- 'contact' => [
- 'header' => 'Questions, special requests, or just want to say hi?',
- 'sub_header' => 'Fill in the form below and we\'ll get back to you as soon as possible. Hope to hear from you!',
- 'other_ways' => 'Other ways to reach us',
-
- 'name' => 'Name',
- 'name_help' => 'Please enter your name.',
-
- 'email' => 'Email Address',
- 'email_help' => 'Please enter a valid e-mail address.',
-
- 'message' => 'Message',
- 'message_help' => 'Please enter a message.',
- 'send_message' => 'Send Message',
- ],
-
- 'features' => [
- 'header' => 'The Features',
- 'footer' => 'Like what you see?',
- 'footer_action' => 'Get started today!',
-
- 'open_source' => 'Open Source Platform',
- 'open_source_text1' => 'Set the code free! Here at Invoice Ninja, we’re all about creating the best possible app, and inviting scrutiny via full code transparency is a central manifestation of this value.',
- 'open_source_text2' => 'We firmly believe that being an open source product helps everyone involved. We’re looking forward to seeing what the developers out there can do to take Invoice Ninja into new realms of usefulness.',
-
- 'free_forever' => 'FREE. Forever.',
- 'free_forever_text1' => 'Yeah, you read that correctly. You don’t have to pay us a cent to use our tools. We know how tough it is to make ends meet as a web-based business, and we’re bent on providing a top-notch product that will do everything you need it to do, without any subscription or opt-in fees.',
- 'free_forever_text2' => 'Try Invoice Ninja out. You literally have nothing to lose. We’re confident that you’ll find the experience so positive that you’ll never need to turn elsewhere.',
-
- 'secure' => 'Secure & Private',
- 'secure_text1' => 'Invoice Ninja has been built from the ground up to keep your data safe. Only you have access to your login & accounting details, & we will never share your transaction data to any third party.',
- 'secure_text2' => 'Our website operates with 256-bit encryption, which is even more secure than most banking websites. Invoice Ninja uses the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. We feel safe here and have invested heavily in measures to ensure that you do too.',
-
- 'live_pdf' => 'Live .PDF View',
- 'live_pdf_text1' => 'With Invoice Ninja, we’ve done away with the need for cumbersome multi-click invoice previewing after each save.',
- 'live_pdf_text2' => 'When you enter the details of your customer and/or invoice in our editor, you can instantly see the results in the pdf preview pane below. Want to see what your invoice would look like in a different layout style? The live pdf can show you four beautiful preset styles in real time too.',
- 'live_pdf_text3' => 'Just create, save, send, and you’re done!',
-
- 'online_payments' => 'Online Payments',
- 'online_payments_text1' => 'Invoice Ninja seamlessly integrates with all of the top internet payment processors and gateways so you can get paid for your work quickly and easily.',
- 'online_payments_text2' => 'Invoices created with our tools aren’t just for bookkeeping purposes - they bring in the Benjamins. We also make it super easy to choose the right gateway for the specific needs of your business and are happy to help you to get started working with the gateway of your choice. What’s more, we’re constantly working on rolling out additional gateway integrations, so if you don’t see the one you use here, just let us know, and there’s a good chance we’ll add it for you.',
- ],
-
- 'plans' => [
- 'header' => 'The Plans',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- 'pro_plan' => 'Pro Plan',
-
- 'go_pro' => 'Go Pro to Unlock Premium Invoice Ninja Features',
- 'go_pro_text' => 'We believe that the free version of Invoice Ninja is a truly awesome product loaded with the key features you need to bill your clients electronically. But for those who crave still more Ninja awesomeness, we\'ve unmasked the Invoice Ninja Pro plan, which offers more versatility, power and customization options for just $50 per year.',
-
- 'number_clients' => 'Number of clients per account',
- 'unlimited_invoices' => 'Unlimited client invoices',
- 'company_logo' => 'Add your company logo',
- 'live_pdf' => 'Live .PDF invoice creation',
- 'four_templates' => '4 beautiful invoice templates',
- 'payments' => 'Accept credit card payments',
- 'additional_templates' => 'Additional invoice templates',
- 'multi_user' => 'Multi-user support',
- 'quotes' => 'Quotes/pro-forma invoices',
- 'advanced_settings' => 'Advanced invoice settings',
- 'data_vizualizations' => 'Dynamic data vizualizations',
- 'email_support' => 'Priority email support',
- 'remove_created_by' => 'Remove "Created by Invoice Ninja"',
- 'latest_features' => 'Latest and greatest features',
- 'pricing' => 'Pricing',
- 'free_always' => 'Free /Always! ',
- 'year_price' => '$50 /Year ',
- ],
-
- 'compare' => [
- 'header' => 'How We Compare',
- 'free_plan_comparison' => 'Free Plan Comparison',
- 'paid_plan_comparison' => 'Paid Plan Comparison',
- 'app' => 'App',
- 'cost' => 'Cost',
- 'clients' => 'Clients',
- 'invoices' => 'Invoices',
- 'payment_gateways' => 'Payment Gateways',
- 'custom_logo' => 'Custom Logo',
- 'multiple_templates' => 'Multiple Templates',
- 'recurring_payments' => 'Recurring Payments',
- 'open_source' => 'Open Source',
- 'per_month' => 'per month',
- 'per_year' => 'per year',
- 'free' => 'Free',
- 'unlimited' => 'Unlimited',
- ],
-
- 'testimonials' => [
- 'testimonials' => 'testimonials',
- 'header' => 'Since we launched Invoice Ninja in March of 2014, we\'ve been overwhelmed by a deluge of user love. Here\'s a small taste of the glowing things people have to say about the great experiences the\'ve been having with our free e-invoicing app!',
- ],
-
- 'faq' => [
- 'header' => 'The FAQs',
-
- 'question1' => 'I know it isn’t standard ninja practice to reveal too many identity details, but who are you guys exactly?',
- 'answer1' => 'We’re a small team of highly skilled digital journeymen based in Israel. We love open source, we love disrupting the big business status quo, and we love building helpful tools that are easy to use. We believe that everyone else’s web-based cash flow tools are unnecessarily expensive, clunky and complicated - and we’re bent on proving these beliefs with Invoice Ninja.',
-
- 'question2' => 'How do I get started using Invoice Ninja?',
- 'answer2' => 'Just click on the big, yellow "Invoice Now" button on our homepage!',
-
- 'question3' => 'Do you offer customer support?',
- 'answer3' => 'We sure do. Support is super important to us. Feel free to email us at support@invoiceninja.com with any questions you might have. We almost always reply within one business day.',
-
- 'question4' => 'Is Invoice Ninja really free? For how long?',
- 'answer4' => 'Yes, our basic app is 100% free. Forever and ever. For real. We also offer a paid Pro version of Invoice Ninja (you can learn all about its awesome features here ), but it\'s important to us that the free version have all of the key features people need to do business.',
-
- 'question5' => 'How is Invoice Ninja able to offer this all for free? How are you making any money?',
- 'answer5' => 'We’re mostly in this line of work because we believe it’s high time that a good electronic invoicing tool be available for free. There isn’t much money in it - yet. We do offer a paid Pro version of the app that we\'ve souped up with premium features. And when our users open up new accounts with payment processor gateways by clicking on links from our site, we make modest commissions as a gateway affiliate. So if zillions of freelancers and small businesses start running credit card charges through Invoice Ninja, or if scores of users go Pro , there’s a decent chance we\'ll recover our investment.',
-
- 'question6' => 'Really? So does that mean you’re not collecting information about me so you can sell me stuff or so that some other company can spam me according to my interests?',
- 'answer6' => 'No way. We’re not mining your data, and we’re not selling you out. That wouldn’t be very ninja of us, would it?',
-
- 'question7' => 'But don’t you have access to my merchant and banking accounts?',
- 'answer7' => 'Actually, we don’t. When you link an account at a third party financial institution with your Invoice Ninja account, you’re essentially giving our app permission to send money to you and nothing more. This is all managed by the tech teams at your financial service providers, who go to great lengths to ensure their integrations can’t be exploited or abused.',
-
- 'question8' => 'Given that Invoice Ninja is an open source app, how can I be sure that my financial information is safe with you?',
- 'answer8' => 'There\'s a big difference between “open source" and “open data.†Anyone who wants to use the code that drives Invoice Ninja to create their own products or to make improvements to ours can do so. It’s available for anyone who wants to download and work with. But that’s just the source code - totally separate from what happens with that code on the Invoice Ninja servers. You’re the only one who has full access to what you\'re doing with our product. For more details on the security of our servers and how we handle our users\' information, please read the next question.',
-
- 'question9' => 'So just how secure is this app?',
- 'answer9' => 'Extremely. Data uploaded by our users runs through connections with 256-bit encryption, which is twice as many encryption bits that most bank websites use. We use the TLS 1.0 cryptographic protocol, AES_256_CBC string encryption, SHA1 message authentication and DHE_RSA key exchanges. It’s fancy stuff that we put in place to make sure no one can gain access to your information except you.',
-
- 'question10' => 'How do I remove the small "Created by Invoice Ninja†image from the bottom of my invoices?',
- 'answer10' => 'The amazingly affordable Pro version of Invoice Ninja allows you to do this and oh so much more.',
-
- 'question11' => 'Can I see what the application looks like with sample data?',
- 'answer11' => 'Sure, click here to try out our demo account.',
-
- 'question12' => 'I hear that there\'s a version of Invoice Ninja that I can install myself on my own servers? Where can I learn more about this?',
- 'answer12' => 'The rumors are true! Full instructions are available here .',
-
- 'question13' => 'I\'m seeing the options to assign various statuses to my invoices, clients, credits and payments. What\'s the difference between "active," "archived" and "deleted"?',
- 'answer13' => 'These three handy statuses for invoices, clients, credits and payments allow you to keep your own cash flow management as straightforward and accessible as possible from your Invoice Ninja dashboard. None of these statuses will actually purge any records from your account - even "deleted" can always be recovered at any point in the future. "Active" means the record will appear in the relevant queue of records. To stash a record away so it\'s still fully operational but no longer cluttering up your interface, simply set it to be "archived." To deactivate a record and render it inaccessible to your clients, mark it "deleted."',
-
- 'question14' => 'My question wasn\'t covered by any of the content on this FAQ page. How can I get in touch with you?',
- 'answer14' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- 'miss_something' => 'Did we miss something?',
- 'miss_something_text' => 'Please email us at contact@invoiceninja.com with any questions or comments you have. We love hearing from the people who use our app! We’ll do our best to reply to your email within the business day.',
-
- ],
-
-
-];
\ No newline at end of file
diff --git a/app/lang/pt_BR/reminders.php b/app/lang/pt_BR/reminders.php
deleted file mode 100644
index b1af622faf82..000000000000
--- a/app/lang/pt_BR/reminders.php
+++ /dev/null
@@ -1,24 +0,0 @@
- "Senhas devem possuir no mÃnimo seis caracteres e devem ser iguais.",
-
-"user" => "Não achamos um usuário com o endereço de e-mail informado.",
-
-"token" => "Este token de redefinição de senha é inválido.",
-
-"sent" => "Lmebrete de senha enviado!",
-
-);
diff --git a/app/lang/pt_BR/texts.php b/app/lang/pt_BR/texts.php
deleted file mode 100644
index 47ff16ff5dd6..000000000000
--- a/app/lang/pt_BR/texts.php
+++ /dev/null
@@ -1,565 +0,0 @@
- 'Organização',
- 'name' => 'Nome',
- 'website' => 'Website',
- 'work_phone' => 'Telefone',
- 'address' => 'Endereço',
- 'address1' => 'Rua',
- 'address2' => 'Bloco/apto',
- 'city' => 'Cidade',
- 'state' => 'Estado',
- 'postal_code' => 'CEP',
- 'country_id' => 'PaÃs',
- 'contacts' => 'Contatos',
- 'first_name' => 'Primeiro Nome',
- 'last_name' => 'Último Nome',
- 'phone' => 'Telefone',
- 'email' => 'Email',
- 'additional_info' => 'Informações Adicionais',
- 'payment_terms' => 'Termos de Pagamento',
- 'currency_id' => 'Moeda',
- 'size_id' => 'Tamanho',
- 'industry_id' => 'Empresa',
- 'private_notes' => 'Notas Privadas',
-
- // invoice
- 'invoice' => 'Fatura',
- 'client' => 'Cliente',
- 'invoice_date' => 'Data da Fatura',
- 'due_date' => 'Data de Vencimento',
- 'invoice_number' => 'Número da Fatura',
- 'invoice_number_short' => 'Fatura #',
- 'po_number' => 'Núm. Ordem de Compra',
- 'po_number_short' => 'OC #',
- 'frequency_id' => 'Quantas vezes',
- 'discount' => 'Desconto',
- 'taxes' => 'Taxas',
- 'tax' => 'Taxa',
- 'item' => 'Item',
- 'description' => 'Descrição',
- 'unit_cost' => 'Custo Unitário',
- 'quantity' => 'Quantidade',
- 'line_total' => 'Linha Total',
- 'subtotal' => 'Subtotal',
- 'paid_to_date' => 'Pagamento até',
- 'balance_due' => 'Saldo Devedor',
- 'invoice_design_id' => 'Design',
- 'terms' => 'Termos',
- 'your_invoice' => 'Sua Fatura',
-
- 'remove_contact' => 'Remover contato',
- 'add_contact' => 'Adicionar contato',
- 'create_new_client' => 'Criar novo cliente',
- 'edit_client_details' => 'Editar detalhes do cliente',
- 'enable' => 'Habilitar',
- 'learn_more' => 'Aprender mais',
- 'manage_rates' => 'Gerenciar impostos',
- 'note_to_client' => 'Nota para o cliente',
- 'invoice_terms' => 'Termos da Fatura',
- 'save_as_default_terms' => 'Salvar como termo padrão',
- 'download_pdf' => 'Baixar PDF',
- 'pay_now' => 'Pagar agora',
- 'save_invoice' => 'Salvar Fatura',
- 'clone_invoice' => 'Clonar Fatura',
- 'archive_invoice' => 'Arquivar Fatura',
- 'delete_invoice' => 'Apagar Fatura',
- 'email_invoice' => 'Enviar Fatura',
- 'enter_payment' => 'Entre com o Pagamento',
- 'tax_rates' => 'Taxas de Impostos',
- 'rate' => 'Imposto',
- 'settings' => 'Configurações',
- 'enable_invoice_tax' => 'Permitir especificar a taxa da fatura ',
- 'enable_line_item_tax' => 'Permitir especificar o item da linha de taxas ',
-
- // navigation
- 'dashboard' => 'Painel de Controle',
- 'clients' => 'Clientes',
- 'invoices' => 'Faturas',
- 'payments' => 'Pagamentos',
- 'credits' => 'Créditos',
- 'history' => 'Histórico',
- 'search' => 'Pesquisa',
- 'sign_up' => 'Cadastrar',
- 'guest' => 'Convidado',
- 'company_details' => 'Detalhes da Empresa',
- 'online_payments' => 'Pagamentos Online',
- 'notifications' => 'Notificações',
- 'import_export' => 'Importar/Exportar',
- 'done' => 'Feito',
- 'save' => 'Salvar',
- 'create' => 'Criar',
- 'upload' => 'Upload',
- 'import' => 'Importar',
- 'download' => 'Download',
- 'cancel' => 'Cancelar',
- 'provide_email' => 'Favor fornecer um endereço de e-mail válido',
- 'powered_by' => 'Powered by',
- 'no_items' => 'Sem itens',
-
- // recurring invoices
- 'recurring_invoices' => 'Faturas Recorrentes',
- 'recurring_help' => 'Enviar automaticamente aos clientes as mesmas faturas semanalmente, mensalmente, bimenstralmente, trimestralmente ou anualmente.
- Use :MONTH, :QUARTER ou :YEAR para datas dinâmicas. Matemática básica também funciona, por exemplo :MONTH-1.
- Exemplo de variáveis de uma fatura dinâmica:
-
- "Mensalidade da academia para o mês de :MONTH" => "Mensalidade da academia para o mês de Julho"
- "Plano anual de :YEAR+1" => "Plano anual de 2015"
- "Pagamento retido para :QUARTER+1" => "Pagamento retido para Q2"
- ',
-
- // dashboard
- 'in_total_revenue' => 'no total de rendimento',
- 'billed_client' => 'cliente faturado',
- 'billed_clients' => 'clientes faturados',
- 'active_client' => 'cliente ativo',
- 'active_clients' => 'clientes ativos',
- 'invoices_past_due' => 'Faturas Vencidas',
- 'upcoming_invoices' => 'Próximas Faturas',
- 'average_invoice' => 'Média da fatura',
-
- // list pages
- 'archive' => 'Arquivos',
- 'delete' => 'Apagar',
- 'archive_client' => 'Arquivar cliente',
- 'delete_client' => 'Apagar cliente',
- 'archive_payment' => 'Arquivar pagamento',
- 'delete_payment' => 'Apagar pagamento',
- 'archive_credit' => 'Arquivar crédito',
- 'delete_credit' => 'Apagar crédito',
- 'show_archived_deleted' => 'Mostrar arquivados/apagados',
- 'filter' => 'Filtrar',
- 'new_client' => 'Novo Cliente',
- 'new_invoice' => 'Nova Fatura',
- 'new_payment' => 'Novo Pagamento',
- 'new_credit' => 'Novo Crédito',
- 'contact' => 'Contato',
- 'date_created' => 'Data de Criação',
- 'last_login' => 'Último Login',
- 'balance' => 'Balanço',
- 'action' => 'Ação',
- 'status' => 'Status',
- 'invoice_total' => 'Total da Fatura',
- 'frequency' => 'Frequência',
- 'start_date' => 'Data Inicial',
- 'end_date' => 'Data Final',
- 'transaction_reference' => 'Referência da Transação',
- 'method' => 'Método',
- 'payment_amount' => 'Qtde do Pagamento',
- 'payment_date' => 'Data do Pagamento',
- 'credit_amount' => 'Qtde do Crédito',
- 'credit_balance' => 'Balanço do Crédito',
- 'credit_date' => 'Data do Crédito',
- 'empty_table' => 'Sem data disponÃvel na tabela',
- 'select' => 'Selecionar',
- 'edit_client' => 'Editar Cliente',
- 'edit_invoice' => 'Editar Fatura',
-
- // client view page
- 'create_invoice' => 'Criar Fatura',
- 'enter_credit' => 'Digitar Crédito',
- 'last_logged_in' => 'Último login em',
- 'details' => 'Detalhes',
- 'standing' => 'Constante',
- 'credit' => 'Crédito',
- 'activity' => 'Atividade',
- 'date' => 'Data',
- 'message' => 'Mensagem',
- 'adjustment' => 'Ajustes',
- 'are_you_sure' => 'Você tem certeza?',
-
- // payment pages
- 'payment_type_id' => 'Tipo de pagamento',
- 'amount' => 'Quantidade',
-
- // account/company pages
- 'work_email' => 'Email',
- 'language_id' => 'Idioma',
- 'timezone_id' => 'Fuso Horário',
- 'date_format_id' => 'Formato da Data',
- 'datetime_format_id' => 'Formato da Data/Hora',
- 'users' => 'Usuários',
- 'localization' => 'Localização',
- 'remove_logo' => 'Remover logo',
- 'logo_help' => 'Suportados: JPEG, GIF and PNG. Altura recomendada: 120px',
- 'payment_gateway' => 'Provedor de Pagamento',
- 'gateway_id' => 'Provedor',
- 'email_notifications' => 'Notificações por Email',
- 'email_sent' => 'Me avise por email quando a fatura for enviada ',
- 'email_viewed' => 'Me avise por email quando a fatura for visualizada ',
- 'email_paid' => 'Me avise por email quando a fatura for paga ',
- 'site_updates' => 'Atualizações do Site',
- 'custom_messages' => 'Mensagens Customizadas',
- 'default_invoice_terms' => 'Definir termos padrões da fatura',
- 'default_email_footer' => 'Definir assinatura de email padrão',
- 'import_clients' => 'Importar Dados do Cliente',
- 'csv_file' => 'Selecionar arquivo CSV',
- 'export_clients' => 'Exportar Dados do Cliente',
- 'select_file' => 'Favor selecionar um arquivo',
- 'first_row_headers' => 'Usar as primeiras linhas como cabeçalho',
- 'column' => 'Coluna',
- 'sample' => 'Exemplo',
- 'import_to' => 'Importar para',
- 'client_will_create' => 'cliente será criado',
- 'clients_will_create' => 'clientes serão criados',
-
- // application messages
- 'created_client' => 'Cliente criado com sucesso',
- 'created_clients' => ':count clientes criados com sucesso',
- 'updated_settings' => 'Configurações atualizadas com sucesso',
- 'removed_logo' => 'Logo removida com sucesso',
- 'sent_message' => 'Mensagem enviada com sucesso',
- 'invoice_error' => 'Verifique se você selecionou algum cliente e que não há nenhum outro erro',
- 'limit_clients' => 'Desculpe, isto irá exceder o limite de :count clientes',
- 'payment_error' => 'Ocorreu um erro ao processar o pagamento. Por favor tente novamente mais tarde.',
- 'registration_required' => 'Favor logar-se para enviar uma fatura por email',
- 'confirmation_required' => 'Favor confirmar o seu endereço de email',
-
- 'updated_client' => 'Cliente atualizado com sucesso',
- 'created_client' => 'Cliente criado com sucesso',
- 'archived_client' => 'Cliente arquivado com sucesso',
- 'archived_clients' => ':count clientes arquivados com sucesso',
- 'deleted_client' => 'Clientes removidos com sucesso',
- 'deleted_clients' => ':count clientes removidos com sucesso',
-
- 'updated_invoice' => 'Fatura atualizado com sucesso',
- 'created_invoice' => 'Fatura criada com sucesso',
- 'cloned_invoice' => 'Fatura clonada com sucesso',
- 'emailed_invoice' => 'Fatura enviada por email com sucesso',
- 'and_created_client' => 'e o cliente foi criado',
- 'archived_invoice' => 'Fatura arquivado com sucesso',
- 'archived_invoices' => ':count faturas arquivados com sucesso',
- 'deleted_invoice' => 'Fatura apagados com sucesso',
- 'deleted_invoices' => ':count faturas apagados com sucesso',
-
- 'created_payment' => 'Pagamento criado com sucesso',
- 'archived_payment' => 'Pagamento arquivado com sucesso',
- 'archived_payments' => ':count pagamentos arquivados com sucesso',
- 'deleted_payment' => 'Pagamento apagado com sucesso',
- 'deleted_payments' => ':count pagamentos apagados com sucesso',
- 'applied_payment' => 'Pagamentos aplicados com sucesso',
-
- 'created_credit' => 'Crédito criado com sucesso',
- 'archived_credit' => 'Crédito arquivado com sucesso',
- 'archived_credits' => ':count créditos arquivados com sucesso',
- 'deleted_credit' => 'Crédito apagado com sucesso',
- 'deleted_credits' => ':count créditos apagados com sucesso',
-
- // Emails
- 'confirmation_subject' => 'Confirmação de Conta do Invoice Ninja',
- 'confirmation_header' => 'Confirmação de Conta',
- 'confirmation_message' => 'Favor acessar o link abaixo para confirmar a sua conta.',
- 'invoice_message' => 'Para visualizar a sua fatura de :amount, clique no link abaixo.',
- 'payment_message' => 'Obrigado pelo seu pagamento de :amount.',
- 'email_salutation' => 'Caro :name,',
- 'email_signature' => 'Até mais,',
- 'email_from' => 'Equipe InvoiceNinja',
- 'user_email_footer' => 'Para ajustar suas configurações de notificações de email acesse '.SITE_URL.'/company/notifications',
- 'invoice_link_message' => 'Para visualizar a fatura do seu cliente clique no link abaixo:',
- 'notification_invoice_paid_subject' => 'Fatura :invoice foi pago por :client',
- 'notification_invoice_sent_subject' => 'Fatura :invoice foi enviado por :client',
- 'notification_invoice_viewed_subject' => 'Fatura :invoice foi visualizada por :client',
- 'notification_invoice_paid' => 'Um pagamento de :amount foi realizado pelo cliente :client através da fatura :invoice.',
- 'notification_invoice_sent' => 'O cliente :client foi notificado por email referente à fatura :invoice de :amount.',
- 'notification_invoice_viewed' => 'O cliente :client visualizou a fatura :invoice de :amount.',
- 'reset_password' => 'Você pode redefinir a sua senha clicando no seguinte link:',
- 'reset_password_footer' => 'Se você não solicitou a redefinição de sua senha por favor envie um email para o nosso suporte: ' . CONTACT_EMAIL,
-
- // Payment page
- 'secure_payment' => 'Pagamento Seguro',
- 'card_number' => 'Número do cartão',
- 'expiration_month' => 'Mês de expiração',
- 'expiration_year' => 'Ano de expiração',
- 'cvv' => 'CVV',
-
- // Pro Plan
- 'pro_plan' => [
- 'remove_logo' => ':link para remover a logo do Invoice Ninja contratando o plano profissional',
- 'remove_logo_link' => 'Clique aqui',
- ],
-
- 'logout' => 'Sair',
- 'sign_up_to_save' => 'Faça login para salvar o seu trabalho',
- 'agree_to_terms' =>'Eu concordo com os :terms do Invoice Ninja',
- 'terms_of_service' => 'Termos do Serviço',
- 'email_taken' => 'O endereço de e-mail já está registrado',
- 'working' => 'Processando',
- 'success' => 'Successo',
- 'success_message' => 'Você se registrou com sucesso. Por favor acesse o link de confirmação recebido para confirmar o seu endereço de e-mail.',
- 'erase_data' => 'Isto irá apagar completamente todos os seus dados.',
- 'password' => 'Senha',
- 'close' => 'Fechar',
- 'invoice_subject' => 'Nova fatura de :account',
- 'payment_subject' => 'Recebido Pagamento de',
-
- 'pro_plan_product' => 'Pro Plan',
- 'pro_plan_description' => 'One year enrollment in the Invoice Ninja Pro Plan.',
- 'pro_plan_success' => 'Thanks for joining! Once the invoice is paid your Pro Plan membership will begin.',
-
- 'unsaved_changes' => 'You have unsaved changes',
- 'custom_fields' => 'Custom fields',
- 'company_fields' => 'Company Fields',
- 'client_fields' => 'Client Fields',
- 'field_label' => 'Field Label',
- 'field_value' => 'Field Value',
- 'edit' => 'Edit',
- 'view_invoice' => 'View invoice',
- 'view_as_recipient' => 'View as recipient',
-
- // product management
- 'product_library' => 'Product Library',
- 'product' => 'Product',
- 'products' => 'Products',
- 'fill_products' => 'Auto-fill products',
- 'fill_products_help' => 'Selecting a product will automatically set the description and cost ',
- 'update_products' => 'Auto-update products',
- 'update_products_help' => 'Updating an invoice will automatically update the products ',
- 'create_product' => 'Create Product',
- 'edit_product' => 'Edit Product',
- 'archive_product' => 'Archive Product',
- 'updated_product' => 'Successfully updated product',
- 'created_product' => 'Successfully created product',
- 'archived_product' => 'Successfully archived product',
- 'pro_plan_custom_fields' => ':link to enable custom fields by joining the Pro Plan',
-
- 'advanced_settings' => 'Advanced Settings',
- 'pro_plan_advanced_settings' => ':link to enable the advanced settings by joining the Pro Plan',
- 'invoice_design' => 'Invoice Design',
- 'specify_colors' => 'Specify colors',
- 'specify_colors_label' => 'Select the colors used in the invoice',
-
- 'chart_builder' => 'Chart Builder',
- 'ninja_email_footer' => 'Use :site to invoice your clients and get paid online for free!',
- 'go_pro' => 'Go Pro',
-
- // Quotes
- 'quote' => 'Quote',
- 'quotes' => 'Quotes',
- 'quote_number' => 'Quote Number',
- 'quote_number_short' => 'Quote #',
- 'quote_date' => 'Quote Date',
- 'quote_total' => 'Quote Total',
- 'your_quote' => 'Your Quote',
- 'total' => 'Total',
- 'clone' => 'Clone',
-
- 'new_quote' => 'New Quote',
- 'create_quote' => 'Create Quote',
- 'edit_quote' => 'Edit Quote',
- 'archive_quote' => 'Archive Quote',
- 'delete_quote' => 'Delete Quote',
- 'save_quote' => 'Save Quote',
- 'email_quote' => 'Email Quote',
- 'clone_quote' => 'Clone Quote',
- 'convert_to_invoice' => 'Convert to Invoice',
- 'view_invoice' => 'View Invoice',
- 'view_quote' => 'View Quote',
- 'view_client' => 'View Client',
-
- 'updated_quote' => 'Successfully updated quote',
- 'created_quote' => 'Successfully created quote',
- 'cloned_quote' => 'Successfully cloned quote',
- 'emailed_quote' => 'Successfully emailed quote',
- 'archived_quote' => 'Successfully archived quote',
- 'archived_quotes' => 'Successfully archived :count quotes',
- 'deleted_quote' => 'Successfully deleted quote',
- 'deleted_quotes' => 'Successfully deleted :count quotes',
- 'converted_to_invoice' => 'Successfully converted quote to invoice',
-
- 'quote_subject' => 'New quote from :account',
- 'quote_message' => 'To view your quote for :amount, click the link below.',
- 'quote_link_message' => 'To view your client quote click the link below:',
- 'notification_quote_sent_subject' => 'Quote :invoice was sent to :client',
- 'notification_quote_viewed_subject' => 'Quote :invoice was viewed by :client',
- 'notification_quote_sent' => 'The following client :client was emailed Quote :invoice for :amount.',
- 'notification_quote_viewed' => 'The following client :client viewed Quote :invoice for :amount.',
-
- 'session_expired' => 'Your session has expired.',
-
- 'invoice_fields' => 'Invoice Fields',
- 'invoice_options' => 'Invoice Options',
- 'hide_quantity' => 'Hide quantity',
- 'hide_quantity_help' => 'If your line items quantities are always 1, then you can declutter invoices by no longer displaying this field.',
- 'hide_paid_to_date' => 'Hide paid to date',
- 'hide_paid_to_date_help' => 'Only display the "Paid to Date" area on your invoices once a payment has been received.',
-
- 'charge_taxes' => 'Charge taxes',
- 'user_management' => 'User Management',
- 'add_user' => 'Add User',
- 'send_invite' => 'Send invitation',
- 'sent_invite' => 'Successfully sent invitation',
- 'updated_user' => 'Successfully updated user',
- 'invitation_message' => 'You\'ve been invited by :invitor. ',
- 'register_to_add_user' => 'Please sign up to add a user',
- 'user_state' => 'State',
- 'edit_user' => 'Edit User',
- 'delete_user' => 'Delete User',
- 'active' => 'Active',
- 'pending' => 'Pending',
- 'deleted_user' => 'Successfully deleted user',
- 'limit_users' => 'Sorry, this will exceed the limit of ' . MAX_NUM_USERS . ' users',
-
- 'confirm_email_invoice' => 'Are you sure you want to email this invoice?',
- 'confirm_email_quote' => 'Are you sure you want to email this quote?',
- 'confirm_recurring_email_invoice' => 'Recurring is enabled, are you sure you want this invoice emailed?',
-
- 'cancel_account' => 'Cancel Account',
- 'cancel_account_message' => 'Warning: This will permanently erase all of your data, there is no undo.',
- 'go_back' => 'Go Back',
-
- 'data_visualizations' => 'Data Visualizations',
- 'sample_data' => 'Sample data shown',
- 'hide' => 'Hide',
- 'new_version_available' => 'A new version of :releases_link is available. You\'re running v:user_version, the latest is v:latest_version',
-
- 'invoice_settings' => 'Invoice Settings',
- 'invoice_number_prefix' => 'Invoice Number Prefix',
- 'invoice_number_counter' => 'Invoice Number Counter',
- 'quote_number_prefix' => 'Quote Number Prefix',
- 'quote_number_counter' => 'Quote Number Counter',
- 'share_invoice_counter' => 'Share invoice counter',
- 'invoice_issued_to' => 'Invoice issued to',
- 'invalid_counter' => 'To prevent a possible conflict please set either an invoice or quote number prefix',
- 'mark_sent' => 'Mark sent',
-
- 'gateway_help_1' => ':link to sign up for Authorize.net.',
- 'gateway_help_2' => ':link to sign up for Authorize.net.',
- 'gateway_help_17' => ':link to get your PayPal API signature.',
- 'gateway_help_23' => 'Note: use your secret API key, not your publishable API key.',
- 'gateway_help_27' => ':link to sign up for TwoCheckout.',
-
- 'more_designs' => 'More designs',
- 'more_designs_title' => 'Additional Invoice Designs',
- 'more_designs_cloud_header' => 'Go Pro for more invoice designs',
- 'more_designs_cloud_text' => '',
- 'more_designs_self_host_header' => 'Get 6 more invoice designs for just $'.INVOICE_DESIGNS_PRICE,
- 'more_designs_self_host_text' => '',
- 'buy' => 'Buy',
- 'bought_designs' => 'Successfully added additional invoice designs',
-
-
-
- 'sent' => 'sent',
- 'timesheets' => 'Timesheets',
-
- 'payment_title' => 'Enter Your Billing Address and Credit Card information',
- 'payment_cvv' => '*This is the 3-4 digit number onthe back of your card',
- 'payment_footer1' => '*Billing address must match address associated with credit card.',
- 'payment_footer2' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
- 'vat_number' => 'Vat Number',
- 'id_number' => 'ID Number',
-
- 'white_label_link' => 'White label',
- 'white_label_text' => 'Purchase a white label license for $'.WHITE_LABEL_PRICE.' to remove the Invoice Ninja branding from the top of the client pages.',
- 'white_label_header' => 'White Label',
- 'bought_white_label' => 'Successfully enabled white label license',
- 'white_labeled' => 'White labeled',
-
- 'restore' => 'Restore',
- 'restore_invoice' => 'Restore Invoice',
- 'restore_quote' => 'Restore Quote',
- 'restore_client' => 'Restore Client',
- 'restore_credit' => 'Restore Credit',
- 'restore_payment' => 'Restore Payment',
-
- 'restored_invoice' => 'Successfully restored invoice',
- 'restored_quote' => 'Successfully restored quote',
- 'restored_client' => 'Successfully restored client',
- 'restored_payment' => 'Successfully restored payment',
- 'restored_credit' => 'Successfully restored credit',
-
- 'reason_for_canceling' => 'Help us improve our site by telling us why you\'re leaving.',
- 'discount_percent' => 'Percent',
- 'discount_amount' => 'Amount',
-
- 'invoice_history' => 'Invoice History',
- 'quote_history' => 'Quote History',
- 'current_version' => 'Current version',
- 'select_versiony' => 'Select version',
- 'view_history' => 'View History',
-
- 'edit_payment' => 'Edit Payment',
- 'updated_payment' => 'Successfully updated payment',
- 'deleted' => 'Deleted',
- 'restore_user' => 'Restore User',
- 'restored_user' => 'Successfully restored user',
- 'show_deleted_users' => 'Show deleted users',
- 'email_templates' => 'Email Templates',
- 'invoice_email' => 'Invoice Email',
- 'payment_email' => 'Payment Email',
- 'quote_email' => 'Quote Email',
- 'reset_all' => 'Reset All',
- 'approve' => 'Approve',
-
- 'token_billing_type_id' => 'Token Billing',
- 'token_billing_help' => 'Enables you to store credit cards with your gateway, and charge them at a later date.',
- 'token_billing_1' => 'Disabled',
- 'token_billing_2' => 'Opt-in - checkbox is shown but not selected',
- 'token_billing_3' => 'Opt-out - checkbox is shown and selected',
- 'token_billing_4' => 'Always',
- 'token_billing_checkbox' => 'Store credit card details',
- 'view_in_stripe' => 'View in Stripe',
- 'use_card_on_file' => 'Use card on file',
- 'edit_payment_details' => 'Edit payment details',
- 'token_billing' => 'Save card details',
- 'token_billing_secure' => 'The data is stored securely by :stripe_link',
-
- 'support' => 'Support',
- 'contact_information' => 'Contact information',
- '256_encryption' => '256-Bit Encryption',
- 'amount_due' => 'Amount due',
- 'billing_address' => 'Billing address',
- 'billing_method' => 'Billing method',
- 'order_overview' => 'Order overview',
- 'match_address' => '*Address must match address associated with credit card.',
- 'click_once' => '*Please click "PAY NOW" only once - transaction may take up to 1 minute to process.',
-
- 'default_invoice_footer' => 'Set default invoice footer',
- 'invoice_footer' => 'Invoice footer',
- 'save_as_default_footer' => 'Save as default footer',
-
- 'token_management' => 'Token Management',
- 'tokens' => 'Tokens',
- 'add_token' => 'Add Token',
- 'show_deleted_tokens' => 'Show deleted tokens',
- 'deleted_token' => 'Successfully deleted token',
- 'created_token' => 'Successfully created token',
- 'updated_token' => 'Successfully updated token',
- 'edit_token' => 'Edit Token',
- 'delete_token' => 'Delete Token',
- 'token' => 'Token',
-
- 'add_gateway' => 'Add Gateway',
- 'delete_gateway' => 'Delete Gateway',
- 'edit_gateway' => 'Edit Gateway',
- 'updated_gateway' => 'Successfully updated gateway',
- 'created_gateway' => 'Successfully created gateway',
- 'deleted_gateway' => 'Successfully deleted gateway',
- 'pay_with_paypal' => 'PayPal',
- 'pay_with_card' => 'Credit card',
-
-
- 'change_password' => 'Change password',
- 'current_password' => 'Current password',
- 'new_password' => 'New password',
- 'confirm_password' => 'Confirm password',
- 'password_error_incorrect' => 'The current password is incorrect.',
- 'password_error_invalid' => 'The new password is invalid.',
- 'updated_password' => 'Successfully updated password',
-
- 'api_tokens' => 'API Tokens',
- 'users_and_tokens' => 'Users & Tokens',
- 'account_login' => 'Account Login',
- 'recover_password' => 'Recover your password',
- 'forgot_password' => 'Forgot your password?',
- 'email_address' => 'Email address',
- 'lets_go' => 'Let’s go',
- 'password_recovery' => 'Password Recovery',
- 'send_email' => 'Send email',
- 'set_password' => 'Set Password',
- 'converted' => 'Converted',
-
-
-);
diff --git a/app/lang/pt_BR/validation.php b/app/lang/pt_BR/validation.php
deleted file mode 100644
index 27d5c008900c..000000000000
--- a/app/lang/pt_BR/validation.php
+++ /dev/null
@@ -1,106 +0,0 @@
- ":attribute deve ser aceito.",
-"active_url" => ":attribute não é uma URL válida.",
-"after" => ":attribute deve ser uma data maior que :date.",
-"alpha" => ":attribute deve conter apenas letras.",
-"alpha_dash" => ":attribute pode conter apenas letras, número e traços",
-"alpha_num" => ":attribute pode conter apenas letras e números.",
-"array" => ":attribute deve ser um array.",
-"before" => ":attribute deve ser uma data anterior a :date.",
-"between" => array(
-"numeric" => ":attribute deve ser entre :min - :max.",
-"file" => ":attribute deve ser entre :min - :max kilobytes.",
-"string" => ":attribute deve ser entre :min - :max caracteres.",
-"array" => ":attribute deve conter entre :min - :max itens.",
-),
-"confirmed" => ":attribute confirmação não correponde.",
-"date" => ":attribute não é uma data válida.",
-"date_format" => ":attribute não satisfaz o formato :format.",
-"different" => ":attribute e :other devem ser diferentes.",
-"digits" => ":attribute deve conter :digits dÃgitos.",
-"digits_between" => ":attribute deve conter entre :min e :max dÃgitos.",
-"email" => ":attribute está em um formato inválido.",
-"exists" => "A opção selecionada :attribute é inválida.",
-"image" => ":attribute deve ser uma imagem.",
-"in" => "A opção selecionada :attribute é inválida.",
-"integer" => ":attribute deve ser um número inteiro.",
-"ip" => ":attribute deve ser um endereço IP válido.",
-"max" => array(
-"numeric" => ":attribute não pode ser maior que :max.",
-"file" => ":attribute não pode ser maior que :max kilobytes.",
-"string" => ":attribute não pode ser maior que :max caracteres.",
-"array" => ":attribute não pode conter mais que :max itens.",
-),
-"mimes" => ":attribute deve ser um arquivo do tipo: :values.",
-"min" => array(
-"numeric" => ":attribute não deve ser menor que :min.",
-"file" => ":attribute deve ter no mÃnimo :min kilobytes.",
-"string" => ":attribute deve conter no mÃnimo :min caracteres.",
-"array" => ":attribute deve conter ao menos :min itens.",
-),
-"not_in" => "A opção selecionada :attribute é inválida.",
-"numeric" => ":attribute deve ser um número.",
-"regex" => ":attribute está em um formato inválido.",
-"required" => ":attribute é um campo obrigatório.",
-"required_if" => ":attribute é necessário quando :other é :value.",
-"required_with" => ":attribute é obrigatório quando :values está presente.",
-"required_without" => ":attribute é obrigatório quando :values não está presente.",
-"same" => ":attribute e :other devem corresponder.",
-"size" => array(
-"numeric" => ":attribute deve ter :size.",
-"file" => ":attribute deve ter :size kilobytes.",
-"string" => ":attribute deve conter :size caracteres.",
-"array" => ":attribute deve conter :size itens.",
-),
-"unique" => ":attribute já está sendo utilizado.",
-"url" => ":attribute está num formato inválido.",
-
-"positive" => ":attribute deve ser maior que zero.",
-"has_credit" => "O cliente não possui crédito suficiente.",
-
-"positive" => "The :attribute must be greater than zero.",
-"has_credit" => "The client does not have enough credit.",
-"notmasked" => "The values are masked",
-
-
-/*
-|--------------------------------------------------------------------------
-| Custom Validation Language Lines
-|--------------------------------------------------------------------------
-|
-| Here you may specify custom validation messages for attributes using the
-| convention "attribute.rule" to name the lines. This makes it quick to
-| specify a specific custom language line for a given attribute rule.
-|
-*/
-
-'custom' => array(),
-
-/*
-|--------------------------------------------------------------------------
-| Custom Validation Attributes
-|--------------------------------------------------------------------------
-|
-| The following language lines are used to swap attribute place-holders
-| with something more reader friendly such as E-Mail Address instead
-| of "email". This simply helps us make messages a little cleaner.
-|
-*/
-
-'attributes' => array(),
-
-);
diff --git a/app/libraries/Utils.php b/app/libraries/Utils.php
deleted file mode 100755
index 99d5a7052e7c..000000000000
--- a/app/libraries/Utils.php
+++ /dev/null
@@ -1,604 +0,0 @@
-registered;
- }
-
- public static function isConfirmed()
- {
- return Auth::check() && Auth::user()->confirmed;
- }
-
- public static function isDatabaseSetup()
- {
- try {
- if (Schema::hasTable('accounts')) {
- return true;
- }
- } catch (Exception $e) {
- return false;
- }
- }
-
- public static function isProd()
- {
- return App::environment() == ENV_PRODUCTION;
- }
-
- public static function isNinja()
- {
- return self::isNinjaProd() || self::isNinjaDev();
- }
-
- public static function isNinjaProd()
- {
- return isset($_ENV['NINJA_PROD']) && $_ENV['NINJA_PROD'];
- }
-
- public static function isNinjaDev()
- {
- return isset($_ENV['NINJA_DEV']) && $_ENV['NINJA_DEV'];
- }
-
- public static function isPro()
- {
- return Auth::check() && Auth::user()->isPro();
- }
-
- public static function getUserType()
- {
- if (Utils::isNinja()) {
- return USER_TYPE_CLOUD_HOST;
- } else {
- return USER_TYPE_SELF_HOST;
- }
- }
-
- public static function getDemoAccountId()
- {
- return isset($_ENV[DEMO_ACCOUNT_ID]) ? $_ENV[DEMO_ACCOUNT_ID] : false;
- }
-
- public static function isDemo()
- {
- return Auth::check() && Auth::user()->isDemo();
- }
-
- public static function getNewsFeedResponse($userType = false)
- {
- if (!$userType) {
- $userType = Utils::getUserType();
- }
-
- $response = new stdClass();
- $response->message = isset($_ENV["{$userType}_MESSAGE"]) ? $_ENV["{$userType}_MESSAGE"] : '';
- $response->id = isset($_ENV["{$userType}_ID"]) ? $_ENV["{$userType}_ID"] : '';
- $response->version = NINJA_VERSION;
-
- return $response;
- }
-
- public static function getProLabel($feature)
- {
- if (Auth::check()
- && !Auth::user()->isPro()
- && $feature == ACCOUNT_ADVANCED_SETTINGS) {
- return ' PRO ';
- } else {
- return '';
- }
- }
-
- public static function basePath()
- {
- return substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/') + 1);
- }
-
- public static function trans($input)
- {
- $data = [];
-
- foreach ($input as $field) {
- if ($field == "checkbox") {
- $data[] = $field;
- } else {
- $data[] = trans("texts.$field");
- }
- }
-
- return $data;
- }
-
- public static function fatalError($message = false, $exception = false)
- {
- if (!$message) {
- $message = "An error occurred, please try again later.";
- }
-
- static::logError($message.' '.$exception);
-
- $data = [
- 'showBreadcrumbs' => false,
- 'hideHeader' => true,
- ];
-
- return View::make('error', $data)->with('error', $message);
- }
-
- public static function getErrorString($exception)
- {
- return "{$exception->getFile()} [Line {$exception->getLine()}] => {$exception->getMessage()}";
- }
-
- public static function logError($error, $context = 'PHP')
- {
- $count = Session::get('error_count', 0);
- Session::put('error_count', ++$count);
- if ($count > 100) {
- return 'logged';
- }
-
- $data = [
- 'context' => $context,
- 'user_id' => Auth::check() ? Auth::user()->id : 0,
- 'user_name' => Auth::check() ? Auth::user()->getDisplayName() : '',
- 'url' => Input::get('url', Request::url()),
- 'user_agent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '',
- 'ip' => Request::getClientIp(),
- 'count' => Session::get('error_count', 0),
- ];
-
- Log::error($error."\n", $data);
-
- /*
- Mail::queue('emails.error', ['message'=>$error.' '.json_encode($data)], function($message)
- {
- $message->to($email)->subject($subject);
- });
- */
- }
-
- public static function parseFloat($value)
- {
- $value = preg_replace('/[^0-9\.\-]/', '', $value);
-
- return floatval($value);
- }
-
- public static function formatPhoneNumber($phoneNumber)
- {
- $phoneNumber = preg_replace('/[^0-9a-zA-Z]/', '', $phoneNumber);
-
- if (!$phoneNumber) {
- return '';
- }
-
- if (strlen($phoneNumber) > 10) {
- $countryCode = substr($phoneNumber, 0, strlen($phoneNumber)-10);
- $areaCode = substr($phoneNumber, -10, 3);
- $nextThree = substr($phoneNumber, -7, 3);
- $lastFour = substr($phoneNumber, -4, 4);
-
- $phoneNumber = '+'.$countryCode.' ('.$areaCode.') '.$nextThree.'-'.$lastFour;
- } elseif (strlen($phoneNumber) == 10 && in_array(substr($phoneNumber, 0, 3), array(653, 656, 658, 659))) {
- /**
- * SG country code are 653, 656, 658, 659
- * US area code consist of 650, 651 and 657
- * @see http://en.wikipedia.org/wiki/Telephone_numbers_in_Singapore#Numbering_plan
- * @see http://www.bennetyee.org/ucsd-pages/area.html
- */
- $countryCode = substr($phoneNumber, 0, 2);
- $nextFour = substr($phoneNumber, 2, 4);
- $lastFour = substr($phoneNumber, 6, 4);
-
- $phoneNumber = '+'.$countryCode.' '.$nextFour.' '.$lastFour;
- } elseif (strlen($phoneNumber) == 10) {
- $areaCode = substr($phoneNumber, 0, 3);
- $nextThree = substr($phoneNumber, 3, 3);
- $lastFour = substr($phoneNumber, 6, 4);
-
- $phoneNumber = '('.$areaCode.') '.$nextThree.'-'.$lastFour;
- } elseif (strlen($phoneNumber) == 7) {
- $nextThree = substr($phoneNumber, 0, 3);
- $lastFour = substr($phoneNumber, 3, 4);
-
- $phoneNumber = $nextThree.'-'.$lastFour;
- }
-
- return $phoneNumber;
- }
-
- public static function formatMoney($value, $currencyId = false)
- {
- if (!$currencyId) {
- $currencyId = Session::get(SESSION_CURRENCY);
- }
-
- $currency = Currency::remember(DEFAULT_QUERY_CACHE)->find($currencyId);
-
- if (!$currency) {
- $currency = Currency::remember(DEFAULT_QUERY_CACHE)->find(1);
- }
-
- return $currency->symbol.number_format($value, $currency->precision, $currency->decimal_separator, $currency->thousand_separator);
- }
-
- public static function pluralize($string, $count)
- {
- $field = $count == 1 ? $string : $string.'s';
- $string = trans("texts.$field", ['count' => $count]);
-
- return $string;
- }
-
- public static function toArray($data)
- {
- return json_decode(json_encode((array) $data), true);
- }
-
- public static function toSpaceCase($camelStr)
- {
- return preg_replace('/([a-z])([A-Z])/s', '$1 $2', $camelStr);
- }
-
- public static function timestampToDateTimeString($timestamp)
- {
- $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE);
- $format = Session::get(SESSION_DATETIME_FORMAT, DEFAULT_DATETIME_FORMAT);
-
- return Utils::timestampToString($timestamp, $timezone, $format);
- }
-
- public static function timestampToDateString($timestamp)
- {
- $timezone = Session::get(SESSION_TIMEZONE, DEFAULT_TIMEZONE);
- $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT);
-
- return Utils::timestampToString($timestamp, $timezone, $format);
- }
-
- public static function dateToString($date)
- {
- $dateTime = new DateTime($date);
- $timestamp = $dateTime->getTimestamp();
- $format = Session::get(SESSION_DATE_FORMAT, DEFAULT_DATE_FORMAT);
-
- return Utils::timestampToString($timestamp, false, $format);
- }
-
- public static function timestampToString($timestamp, $timezone = false, $format)
- {
- if (!$timestamp) {
- return '';
- }
- $date = Carbon::createFromTimeStamp($timestamp);
- if ($timezone) {
- $date->tz = $timezone;
- }
- if ($date->year < 1900) {
- return '';
- }
-
- return $date->format($format);
- }
-
- public static function toSqlDate($date, $formatResult = true)
- {
- if (!$date) {
- return;
- }
-
- $timezone = Session::get(SESSION_TIMEZONE);
- $format = Session::get(SESSION_DATE_FORMAT);
-
- $dateTime = DateTime::createFromFormat($format, $date, new DateTimeZone($timezone));
-
- return $formatResult ? $dateTime->format('Y-m-d') : $dateTime;
- }
-
- public static function fromSqlDate($date, $formatResult = true)
- {
- if (!$date || $date == '0000-00-00') {
- return '';
- }
-
- $timezone = Session::get(SESSION_TIMEZONE);
- $format = Session::get(SESSION_DATE_FORMAT);
-
- $dateTime = DateTime::createFromFormat('Y-m-d', $date, new DateTimeZone($timezone));
-
- return $formatResult ? $dateTime->format($format) : $dateTime;
- }
-
- public static function today($formatResult = true)
- {
- $timezone = Session::get(SESSION_TIMEZONE);
- $format = Session::get(SESSION_DATE_FORMAT);
- $date = date_create(null, new DateTimeZone($timezone));
-
- if ($formatResult) {
- return $date->format($format);
- } else {
- return $date;
- }
- }
-
- public static function trackViewed($name, $type, $url = false)
- {
- if (!$url) {
- $url = Request::url();
- }
-
- $viewed = Session::get(RECENTLY_VIEWED);
-
- if (!$viewed) {
- $viewed = [];
- }
-
- $object = new stdClass();
- $object->url = $url;
- $object->name = ucwords($type).': '.$name;
-
- $data = [];
-
- for ($i = 0; $iurl == $item->url || $object->name == $item->name) {
- continue;
- }
-
- array_unshift($data, $item);
- }
-
- array_unshift($data, $object);
-
- if (count($data) > RECENTLY_VIEWED_LIMIT) {
- array_pop($data);
- }
-
- Session::put(RECENTLY_VIEWED, $data);
- }
-
- public static function processVariables($str)
- {
- if (!$str) {
- return '';
- }
-
- $variables = ['MONTH', 'QUARTER', 'YEAR'];
- for ($i = 0; $i 1) {
- $offset = intval($addArray[1]);
- } elseif (count($minArray) > 1) {
- $offset = intval($minArray[1]) * -1;
- }
-
- $val = Utils::getDatePart($variable, $offset);
- $str = str_replace($match, $val, $str);
- }
- }
-
- return $str;
- }
-
- private static function getDatePart($part, $offset)
- {
- $offset = intval($offset);
- if ($part == 'MONTH') {
- return Utils::getMonth($offset);
- } elseif ($part == 'QUARTER') {
- return Utils::getQuarter($offset);
- } elseif ($part == 'YEAR') {
- return Utils::getYear($offset);
- }
- }
-
- private static function getMonth($offset)
- {
- $months = [ "January", "February", "March", "April", "May", "June",
- "July", "August", "September", "October", "November", "December", ];
-
- $month = intval(date('n')) - 1;
-
- $month += $offset;
- $month = $month % 12;
-
- if ($month < 0) {
- $month += 12;
- }
-
- return $months[$month];
- }
-
- private static function getQuarter($offset)
- {
- $month = intval(date('n')) - 1;
- $quarter = floor(($month + 3) / 3);
- $quarter += $offset;
- $quarter = $quarter % 4;
- if ($quarter == 0) {
- $quarter = 4;
- }
-
- return 'Q'.$quarter;
- }
-
- private static function getYear($offset)
- {
- $year = intval(date('Y'));
-
- return $year + $offset;
- }
-
- public static function getEntityName($entityType)
- {
- return ucwords(str_replace('_', ' ', $entityType));
- }
-
- public static function getClientDisplayName($model)
- {
- if ($model->client_name) {
- return $model->client_name;
- } elseif ($model->first_name || $model->last_name) {
- return $model->first_name.' '.$model->last_name;
- } else {
- return $model->email;
- }
- }
-
- public static function encodeActivity($person = null, $action, $entity = null, $otherPerson = null)
- {
- $person = $person ? $person->getDisplayName() : 'System ';
- $entity = $entity ? '['.$entity->getActivityKey().']' : '';
- $otherPerson = $otherPerson ? 'to '.$otherPerson->getDisplayName() : '';
- $token = Session::get('token_id') ? ' ('.trans('texts.token').')' : '';
-
- return trim("$person $token $action $entity $otherPerson");
- }
-
- public static function decodeActivity($message)
- {
- $pattern = '/\[([\w]*):([\d]*):(.*)\]/i';
- preg_match($pattern, $message, $matches);
-
- if (count($matches) > 0) {
- $match = $matches[0];
- $type = $matches[1];
- $publicId = $matches[2];
- $name = $matches[3];
-
- $link = link_to($type.'s/'.$publicId, $name);
- $message = str_replace($match, "$type $link", $message);
- }
-
- return $message;
- }
-
- public static function generateLicense()
- {
- $parts = [];
- for ($i = 0; $i<5; $i++) {
- $parts[] = strtoupper(str_random(4));
- }
-
- return implode('-', $parts);
- }
-
- public static function lookupEventId($eventName)
- {
- if ($eventName == 'create_client') {
- return EVENT_CREATE_CLIENT;
- } elseif ($eventName == 'create_invoice') {
- return EVENT_CREATE_INVOICE;
- } elseif ($eventName == 'create_quote') {
- return EVENT_CREATE_QUOTE;
- } elseif ($eventName == 'create_payment') {
- return EVENT_CREATE_PAYMENT;
- } else {
- return false;
- }
- }
-
- public static function notifyZapier($subscription, $data)
- {
- $curl = curl_init();
-
- $jsonEncodedData = json_encode($data->toJson());
- $opts = [
- CURLOPT_URL => $subscription->target_url,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_CUSTOMREQUEST => 'POST',
- CURLOPT_POST => 1,
- CURLOPT_POSTFIELDS => $jsonEncodedData,
- CURLOPT_HTTPHEADER => ['Content-Type: application/json', 'Content-Length: '.strlen($jsonEncodedData)],
- ];
-
- curl_setopt_array($curl, $opts);
-
- $result = curl_exec($curl);
- $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
-
- curl_close($curl);
-
- if ($status == 410) {
- $subscription->delete();
- }
- }
-
-
- public static function remapPublicIds(array $data)
- {
- $return = [];
-
- foreach ($data as $key => $val) {
- if ($key === 'public_id') {
- $key = 'id';
- } elseif (strpos($key, '_id')) {
- continue;
- }
-
- if (is_array($val)) {
- $val = Utils::remapPublicIds($val);
- }
-
- $return[$key] = $val;
- }
-
- return $return;
- }
-
- public static function getApiHeaders($count = 0)
- {
- return [
- 'Content-Type' => 'application/json',
- //'Access-Control-Allow-Origin' => '*',
- //'Access-Control-Allow-Methods' => 'GET',
- //'Access-Control-Allow-Headers' => 'Origin, Content-Type, Accept, Authorization, X-Requested-With',
- //'Access-Control-Allow-Credentials' => 'true',
- 'X-Total-Count' => $count,
- //'X-Rate-Limit-Limit' - The number of allowed requests in the current period
- //'X-Rate-Limit-Remaining' - The number of remaining requests in the current period
- //'X-Rate-Limit-Reset' - The number of seconds left in the current period,
- ];
- }
-
- public static function startsWith($haystack, $needle)
- {
- return $needle === "" || strpos($haystack, $needle) === 0;
- }
-
- public static function endsWith($haystack, $needle)
- {
- return $needle === "" || substr($haystack, -strlen($needle)) === $needle;
- }
-
- public static function getEntityRowClass($model)
- {
- $str = $model->is_deleted || ($model->deleted_at && $model->deleted_at != '0000-00-00') ? 'DISABLED ' : '';
-
- if ($model->is_deleted) {
- $str .= 'ENTITY_DELETED ';
- }
-
- if ($model->deleted_at && $model->deleted_at != '0000-00-00') {
- $str .= 'ENTITY_ARCHIVED ';
- }
-
- return $str;
- }
-}
diff --git a/app/libraries/entity.php b/app/libraries/entity.php
deleted file mode 100755
index 57e447e2e271..000000000000
--- a/app/libraries/entity.php
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-class Entity
-{
- public $id;
- public $type;
-}
-
diff --git a/app/libraries/timesheet_utils.php b/app/libraries/timesheet_utils.php
deleted file mode 100644
index 8a225b81e06a..000000000000
--- a/app/libraries/timesheet_utils.php
+++ /dev/null
@@ -1,119 +0,0 @@
- ''];
- foreach ($matches[1] as $i => $key) {
- # Convert escaped linebreakes to linebreak
- $value = preg_replace("/\r?\n\s/", "", $matches[2][$i]);
- # Unescape , and ;
- $value = preg_replace('/\\\\([,;])/s', '$1', $value);
- $data[strtolower($key)] = $value;
- }
- return $data;
- } else {
- return false;
- }
- }
-
-
- public static function parseICALDate($datestr) {
- $dt = null;
- $timezone = null;
- if (preg_match('/^TZID=(.+?):([12]\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)$/', $datestr, $m)) {
- $timezone = $m[1];
- $dt = new DateTime("{$m[2]}-{$m[3]}-{$m[4]}T{$m[5]}:{$m[6]}:{$m[7]}", new DateTimeZone($m[1]));
-
- } else if (preg_match('/^VALUE=DATE:([12]\d\d\d)(\d\d)(\d\d)$/', $datestr, $m)) {
- $dt = new DateTime("{$m[1]}-{$m[2]}-{$m[3]}T00:00:00", new DateTimeZone("UTC"));
-
- } else if (preg_match('/^([12]\d\d\d)(\d\d)(\d\d)T(\d\d)(\d\d)(\d\d)Z$/', $datestr, $m)) {
- $dt = new DateTime("{$m[1]}-{$m[2]}-{$m[3]}T{$m[4]}:{$m[5]}:{$m[6]}", new DateTimeZone("UTC"));
-
- } else {
- return false;
- }
-
- // Convert all to UTC
- if($dt->getTimezone()->getName() != 'UTC') {
- $dt->setTimezone(new DateTimeZone('UTC'));
- }
-
- return [$dt, $timezone];
- }
-
- public static function curlGetUrls($urls = [], $timeout = 30) {
- // Create muxer
- $results = [];
- $multi = curl_multi_init();
- $handles = [];
- $ch2idx = [];
- try {
- foreach ($urls as $i => $url) {
- // Create new handle and add to muxer
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_ENCODING, "gzip");
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //timeout in seconds
-
- curl_multi_add_handle($multi, $ch);
- $handles[(int) $ch] = $ch;
- $ch2idx[(int) $ch] = $i;
- }
-
- // Do initial connect
- $still_running = true;
- while ($still_running) {
- // Do curl stuff
- while (($mrc = curl_multi_exec($multi, $still_running)) === CURLM_CALL_MULTI_PERFORM);
- if ($mrc !== CURLM_OK) {
- break;
- }
-
- // Try to read from handles that are ready
- while ($info = curl_multi_info_read($multi)) {
- if ($info["result"] == CURLE_OK) {
- $results[$ch2idx[(int) $info["handle"]]] = curl_multi_getcontent($info["handle"]);
- } else {
- if (CURLE_UNSUPPORTED_PROTOCOL == $info["result"]) {
- $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Unsupported protocol"];
- } else if (CURLE_URL_MALFORMAT == $info["result"]) {
- $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Malform url"];
- } else if (CURLE_COULDNT_RESOLVE_HOST == $info["result"]) {
- $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Could not resolve host"];
- } else if (CURLE_OPERATION_TIMEDOUT == $info["result"]) {
- $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Timed out waiting for operations to finish"];
- } else {
- $results[$ch2idx[(int) $info["handle"]]] = [$info["result"], "Unknown curl error code"];
- }
- }
- }
-
- // Sleep until
- if (($rs = curl_multi_select($multi)) === -1) {
- usleep(20); // select failed for some reason, so we sleep for 20ms and run some more curl stuff
- }
- }
- } finally {
- foreach ($handles as $chi => $ch) {
- curl_multi_remove_handle($multi, $ch);
- }
-
- curl_multi_close($multi);
- }
-
- return $results;
- }
-}
diff --git a/app/models/Account.php b/app/models/Account.php
deleted file mode 100755
index bbe026266a64..000000000000
--- a/app/models/Account.php
+++ /dev/null
@@ -1,363 +0,0 @@
-hasMany('User');
- }
-
- public function clients()
- {
- return $this->hasMany('Client');
- }
-
- public function invoices()
- {
- return $this->hasMany('Invoice');
- }
-
- public function account_gateways()
- {
- return $this->hasMany('AccountGateway');
- }
-
- public function tax_rates()
- {
- return $this->hasMany('TaxRate');
- }
-
- public function country()
- {
- return $this->belongsTo('Country');
- }
-
- public function timezone()
- {
- return $this->belongsTo('Timezone');
- }
-
- public function language()
- {
- return $this->belongsTo('Language');
- }
-
- public function date_format()
- {
- return $this->belongsTo('DateFormat');
- }
-
- public function datetime_format()
- {
- return $this->belongsTo('DatetimeFormat');
- }
-
- public function size()
- {
- return $this->belongsTo('Size');
- }
-
- public function industry()
- {
- return $this->belongsTo('Industry');
- }
-
- public function isGatewayConfigured($gatewayId = 0)
- {
- $this->load('account_gateways');
-
- if ($gatewayId) {
- return $this->getGatewayConfig($gatewayId) != false;
- } else {
- return count($this->account_gateways) > 0;
- }
- }
-
- public function getDisplayName()
- {
- if ($this->name) {
- return $this->name;
- }
-
- $this->load('users');
- $user = $this->users()->first();
-
- return $user->getDisplayName();
- }
-
- public function getTimezone()
- {
- if ($this->timezone) {
- return $this->timezone->name;
- } else {
- return 'US/Eastern';
- }
- }
-
- public function getGatewayByType($type = PAYMENT_TYPE_ANY)
- {
- foreach ($this->account_gateways as $gateway) {
- if ($type == PAYMENT_TYPE_ANY) {
- return $gateway;
- } elseif ($gateway->isPayPal() && $type == PAYMENT_TYPE_PAYPAL) {
- return $gateway;
- } elseif (!$gateway->isPayPal() && $type == PAYMENT_TYPE_CREDIT_CARD) {
- return $gateway;
- }
- }
-
- return false;
- }
-
- public function getGatewayConfig($gatewayId)
- {
- foreach ($this->account_gateways as $gateway) {
- if ($gateway->gateway_id == $gatewayId) {
- return $gateway;
- }
- }
-
- return false;
- }
-
- public function getLogoPath()
- {
- return 'logo/'.$this->account_key.'.jpg';
- }
-
- public function getLogoWidth()
- {
- $path = $this->getLogoPath();
- if (!file_exists($path)) {
- return 0;
- }
- list($width, $height) = getimagesize($path);
-
- return $width;
- }
-
- public function getLogoHeight()
- {
- $path = $this->getLogoPath();
- if (!file_exists($path)) {
- return 0;
- }
- list($width, $height) = getimagesize($path);
-
- return $height;
- }
-
- public function getNextInvoiceNumber($isQuote = false)
- {
- $counter = $isQuote && !$this->share_counter ? $this->quote_number_counter : $this->invoice_number_counter;
- $prefix = $isQuote ? $this->quote_number_prefix : $this->invoice_number_prefix;
-
- return $prefix.str_pad($counter, 4, "0", STR_PAD_LEFT);
- }
-
- public function incrementCounter($invoiceNumber, $isQuote = false, $isRecurring)
- {
- // check if the user modified the invoice number
- if (!$isRecurring && $invoiceNumber != $this->getNextInvoiceNumber($isQuote)) {
- $number = intval(preg_replace('/[^0-9]/', '', $invoiceNumber));
- if ($isQuote && !$this->share_counter) {
- $this->quote_number_counter = $number + 1;
- } else {
- $this->invoice_number_counter = $number + 1;
- }
- // otherwise, just increment the counter
- } else {
- if ($isQuote && !$this->share_counter) {
- $this->quote_number_counter += 1;
- } else {
- $this->invoice_number_counter += 1;
- }
- }
-
- $this->save();
- }
-
- public function getLocale()
- {
- $language = Language::remember(DEFAULT_QUERY_CACHE)->where('id', '=', $this->account->language_id)->first();
-
- return $language->locale;
- }
-
- public function loadLocalizationSettings()
- {
- $this->load('timezone', 'date_format', 'datetime_format', 'language');
-
- Session::put(SESSION_TIMEZONE, $this->timezone ? $this->timezone->name : DEFAULT_TIMEZONE);
- Session::put(SESSION_DATE_FORMAT, $this->date_format ? $this->date_format->format : DEFAULT_DATE_FORMAT);
- Session::put(SESSION_DATE_PICKER_FORMAT, $this->date_format ? $this->date_format->picker_format : DEFAULT_DATE_PICKER_FORMAT);
- Session::put(SESSION_DATETIME_FORMAT, $this->datetime_format ? $this->datetime_format->format : DEFAULT_DATETIME_FORMAT);
- Session::put(SESSION_CURRENCY, $this->currency_id ? $this->currency_id : DEFAULT_CURRENCY);
- Session::put(SESSION_LOCALE, $this->language_id ? $this->language->locale : DEFAULT_LOCALE);
- }
-
- public function getInvoiceLabels()
- {
- $data = [];
- $fields = [
- 'invoice',
- 'invoice_date',
- 'due_date',
- 'invoice_number',
- 'po_number',
- 'discount',
- 'taxes',
- 'tax',
- 'item',
- 'description',
- 'unit_cost',
- 'quantity',
- 'line_total',
- 'subtotal',
- 'paid_to_date',
- 'balance_due',
- 'terms',
- 'your_invoice',
- 'quote',
- 'your_quote',
- 'quote_date',
- 'quote_number',
- 'total',
- 'invoice_issued_to',
- ];
-
- foreach ($fields as $field) {
- $data[$field] = trans("texts.$field");
- }
-
- return $data;
- }
-
- public function isPro()
- {
- if (!Utils::isNinjaProd()) {
- return true;
- }
-
- if ($this->account_key == NINJA_ACCOUNT_KEY) {
- return true;
- }
-
- $datePaid = $this->pro_plan_paid;
-
- if (!$datePaid || $datePaid == '0000-00-00') {
- return false;
- } elseif ($datePaid == NINJA_DATE) {
- return true;
- }
-
- $today = new DateTime('now');
- $datePaid = DateTime::createFromFormat('Y-m-d', $datePaid);
- $interval = $today->diff($datePaid);
-
- return $interval->y == 0;
- }
-
- public function isWhiteLabel()
- {
- if (Utils::isNinjaProd()) {
- return false;
- }
-
- return $this->pro_plan_paid == NINJA_DATE;
- }
-
- public function getSubscription($eventId)
- {
- return Subscription::where('account_id', '=', $this->id)->where('event_id', '=', $eventId)->first();
- }
-
- public function hideFieldsForViz()
- {
- foreach ($this->clients as $client) {
- $client->setVisible([
- 'public_id',
- 'name',
- 'balance',
- 'paid_to_date',
- 'invoices',
- 'contacts',
- ]);
-
- foreach ($client->invoices as $invoice) {
- $invoice->setVisible([
- 'public_id',
- 'invoice_number',
- 'amount',
- 'balance',
- 'invoice_status_id',
- 'invoice_items',
- 'created_at',
- ]);
-
- foreach ($invoice->invoice_items as $invoiceItem) {
- $invoiceItem->setVisible([
- 'product_key',
- 'cost',
- 'qty',
- ]);
- }
- }
-
- foreach ($client->contacts as $contact) {
- $contact->setVisible([
- 'public_id',
- 'first_name',
- 'last_name',
- 'email', ]);
- }
- }
-
- return $this;
- }
-
- public function getEmailTemplate($entityType, $message = false)
- {
- $field = "email_template_$entityType";
- $template = $this->$field;
-
- if ($template) {
- return $template;
- }
-
- $template = "\$client,
\r\n\r\n" .
- trans("texts.{$entityType}_message", ['amount' => '$amount']) . "
\r\n\r\n";
-
- if ($entityType != ENTITY_PAYMENT) {
- $template .= "\$link
\r\n\r\n";
- }
-
- if ($message) {
- $template .= "$message
\r\n\r\n";
- }
-
- return $template . "\$footer";
- }
-
- public function getEmailFooter()
- {
- if ($this->email_footer) {
- return $this->email_footer;
- } else {
- return "" . trans('texts.email_signature') . " \$account
";
- }
- }
-
- public function showTokenCheckbox()
- {
- return $this->token_billing_type_id == TOKEN_BILLING_OPT_IN
- || $this->token_billing_type_id == TOKEN_BILLING_OPT_OUT;
- }
-
- public function selectTokenCheckbox()
- {
- return $this->token_billing_type_id == TOKEN_BILLING_OPT_OUT;
- }
-}
diff --git a/app/models/AccountGateway.php b/app/models/AccountGateway.php
deleted file mode 100755
index 002bc830795e..000000000000
--- a/app/models/AccountGateway.php
+++ /dev/null
@@ -1,28 +0,0 @@
-belongsTo('Gateway');
- }
-
- public function getCreditcardTypes()
- {
- $flags = unserialize(CREDIT_CARDS);
- $arrayOfImages = [];
-
- foreach ($flags as $card => $name) {
- if (($this->accepted_credit_cards & $card) == $card) {
- $arrayOfImages[] = ['source' => asset($name['card']), 'alt' => $name['text']];
- }
- }
-
- return $arrayOfImages;
- }
-
- public function isPayPal() {
- return $this->gateway_id == GATEWAY_PAYPAL_EXPRESS;
- }
-}
-
diff --git a/app/models/AccountGatewayToken.php b/app/models/AccountGatewayToken.php
deleted file mode 100644
index ae63d6c2d2cd..000000000000
--- a/app/models/AccountGatewayToken.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Account');
- }
-}
diff --git a/app/models/Activity.php b/app/models/Activity.php
deleted file mode 100755
index 9fe82178c612..000000000000
--- a/app/models/Activity.php
+++ /dev/null
@@ -1,470 +0,0 @@
-whereAccountId(Auth::user()->account_id);
- }
-
- public function account()
- {
- return $this->belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- private static function getBlank($entity = false)
- {
- $activity = new Activity();
-
- if ($entity) {
- $activity->user_id = $entity instanceof User ? $entity->id : $entity->user_id;
- $activity->account_id = $entity->account_id;
- } elseif (Auth::check()) {
- $activity->user_id = Auth::user()->id;
- $activity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- $activity->token_id = Session::get('token_id', null);
- $activity->ip = Request::getClientIp();
-
- return $activity;
- }
-
- public static function createClient($client, $notify = true)
- {
- $activity = Activity::getBlank();
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_CREATE_CLIENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'created', $client);
- $activity->save();
-
- if ($notify) {
- Activity::checkSubscriptions(EVENT_CREATE_CLIENT, $client);
- }
- }
-
- public static function updateClient($client)
- {
- if ($client->is_deleted && !$client->getOriginal('is_deleted')) {
- $activity = Activity::getBlank();
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_DELETE_CLIENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'deleted', $client);
- $activity->balance = $client->balance;
- $activity->save();
- }
- }
-
- public static function archiveClient($client)
- {
- if (!$client->is_deleted) {
- $activity = Activity::getBlank();
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_ARCHIVE_CLIENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'archived', $client);
- $activity->balance = $client->balance;
- $activity->save();
- }
- }
-
- public static function restoreClient($client)
- {
- $activity = Activity::getBlank();
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_RESTORE_CLIENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'restored', $client);
- $activity->balance = $client->balance;
- $activity->save();
- }
-
- public static function createInvoice($invoice)
- {
- if (Auth::check()) {
- $message = Utils::encodeActivity(Auth::user(), 'created', $invoice);
- } else {
- $message = Utils::encodeActivity(null, 'created', $invoice);
- }
-
- $adjustment = 0;
- $client = $invoice->client;
- if (!$invoice->is_quote && !$invoice->is_recurring) {
- $adjustment = $invoice->amount;
- $client->balance = $client->balance + $adjustment;
- $client->save();
- }
-
- $activity = Activity::getBlank($invoice);
- $activity->invoice_id = $invoice->id;
- $activity->client_id = $invoice->client_id;
- $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_CREATE_QUOTE : ACTIVITY_TYPE_CREATE_INVOICE;
- $activity->message = $message;
- $activity->balance = $client->balance;
- $activity->adjustment = $adjustment;
- $activity->save();
-
- Activity::checkSubscriptions($invoice->is_quote ? EVENT_CREATE_QUOTE : EVENT_CREATE_INVOICE, $invoice);
- }
-
- public static function archiveInvoice($invoice)
- {
- if (!$invoice->is_deleted) {
- $activity = Activity::getBlank();
- $activity->invoice_id = $invoice->id;
- $activity->client_id = $invoice->client_id;
- $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_ARCHIVE_QUOTE : ACTIVITY_TYPE_ARCHIVE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'archived', $invoice);
- $activity->balance = $invoice->client->balance;
-
- $activity->save();
- }
- }
-
- public static function restoreInvoice($invoice)
- {
- $activity = Activity::getBlank();
- $activity->invoice_id = $invoice->id;
- $activity->client_id = $invoice->client_id;
- $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_RESTORE_QUOTE : ACTIVITY_TYPE_RESTORE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'restored', $invoice);
- $activity->balance = $invoice->client->balance;
-
- $activity->save();
- }
-
- public static function emailInvoice($invitation)
- {
- $adjustment = 0;
- $client = $invitation->invoice->client;
-
- $activity = Activity::getBlank($invitation);
- $activity->client_id = $invitation->invoice->client_id;
- $activity->invoice_id = $invitation->invoice_id;
- $activity->contact_id = $invitation->contact_id;
- $activity->activity_type_id = $invitation->invoice ? ACTIVITY_TYPE_EMAIL_QUOTE : ACTIVITY_TYPE_EMAIL_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::check() ? Auth::user() : null, 'emailed', $invitation->invoice, $invitation->contact);
- $activity->balance = $client->balance;
- $activity->save();
- }
-
- public static function updateInvoice($invoice)
- {
- $client = $invoice->client;
-
- if ($invoice->is_deleted && !$invoice->getOriginal('is_deleted')) {
- $adjustment = 0;
- if (!$invoice->is_quote && !$invoice->is_recurring) {
- $adjustment = $invoice->balance * -1;
- $client->balance = $client->balance - $invoice->balance;
- $client->paid_to_date = $client->paid_to_date - ($invoice->amount - $invoice->balance);
- $client->save();
- }
-
- $activity = Activity::getBlank();
- $activity->client_id = $invoice->client_id;
- $activity->invoice_id = $invoice->id;
- $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_DELETE_QUOTE : ACTIVITY_TYPE_DELETE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'deleted', $invoice);
- $activity->balance = $invoice->client->balance;
- $activity->adjustment = $adjustment;
- $activity->save();
- } else {
- $diff = floatval($invoice->amount) - floatval($invoice->getOriginal('amount'));
-
- $fieldChanged = false;
- foreach (['invoice_number', 'po_number', 'invoice_date', 'due_date', 'terms', 'public_notes', 'invoice_footer'] as $field) {
- if ($invoice->$field != $invoice->getOriginal($field)) {
- $fieldChanged = true;
- break;
- }
- }
-
- if ($diff > 0 || $fieldChanged) {
- $backupInvoice = Invoice::with('invoice_items', 'client.account', 'client.contacts')->find($invoice->id);
-
- if ($diff > 0 && !$invoice->is_quote && !$invoice->is_recurring) {
- $client->balance = $client->balance + $diff;
- $client->save();
- }
-
- $activity = Activity::getBlank($invoice);
- $activity->client_id = $invoice->client_id;
- $activity->invoice_id = $invoice->id;
- $activity->activity_type_id = $invoice->is_quote ? ACTIVITY_TYPE_UPDATE_QUOTE : ACTIVITY_TYPE_UPDATE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'updated', $invoice);
- $activity->balance = $client->balance;
- $activity->adjustment = $invoice->is_quote || $invoice->is_recurring ? 0 : $diff;
- $activity->json_backup = $backupInvoice->hidePrivateFields()->toJSON();
- $activity->save();
-
- if ($invoice->isPaid() && $invoice->balance > 0) {
- $invoice->invoice_status_id = INVOICE_STATUS_PARTIAL;
- $invoice->save();
- }
- }
- }
- }
-
- public static function viewInvoice($invitation)
- {
- if (Session::get($invitation->invitation_key)) {
- return;
- }
-
- Session::put($invitation->invitation_key, true);
- $invoice = $invitation->invoice;
-
- if (!$invoice->isViewed()) {
- $invoice->invoice_status_id = INVOICE_STATUS_VIEWED;
- $invoice->save();
- }
-
- $now = Carbon::now()->toDateTimeString();
-
- $invitation->viewed_date = $now;
- $invitation->save();
-
- $client = $invoice->client;
- $client->last_login = $now;
- $client->save();
-
- $activity = Activity::getBlank($invitation);
- $activity->client_id = $invitation->invoice->client_id;
- $activity->invitation_id = $invitation->id;
- $activity->contact_id = $invitation->contact_id;
- $activity->invoice_id = $invitation->invoice_id;
- $activity->activity_type_id = $invitation->invoice->is_quote ? ACTIVITY_TYPE_VIEW_QUOTE : ACTIVITY_TYPE_VIEW_INVOICE;
- $activity->message = Utils::encodeActivity($invitation->contact, 'viewed', $invitation->invoice);
- $activity->balance = $invitation->invoice->client->balance;
- $activity->save();
- }
-
- public static function approveQuote($invitation) {
-
- $activity = Activity::getBlank($invitation);
- $activity->client_id = $invitation->invoice->client_id;
- $activity->invitation_id = $invitation->id;
- $activity->contact_id = $invitation->contact_id;
- $activity->invoice_id = $invitation->invoice_id;
- $activity->activity_type_id = ACTIVITY_TYPE_APPROVE_QUOTE;
- $activity->message = Utils::encodeActivity($invitation->contact, 'approved', $invitation->invoice);
- $activity->balance = $invitation->invoice->client->balance;
- $activity->save();
- }
-
- public static function createPayment($payment)
- {
- $client = $payment->client;
- $client->balance = $client->balance - $payment->amount;
- $client->paid_to_date = $client->paid_to_date + $payment->amount;
- $client->save();
-
- if ($payment->contact_id) {
- $activity = Activity::getBlank($client);
- $activity->contact_id = $payment->contact_id;
- $activity->message = Utils::encodeActivity($payment->invitation->contact, 'entered '.$payment->getName().' for ', $payment->invoice);
- } else {
- $activity = Activity::getBlank($client);
- $message = $payment->payment_type_id == PAYMENT_TYPE_CREDIT ? 'applied credit for ' : 'entered '.$payment->getName().' for ';
- $activity->message = Utils::encodeActivity(Auth::user(), $message, $payment->invoice);
- }
-
- $activity->payment_id = $payment->id;
-
- if ($payment->invoice_id) {
- $activity->invoice_id = $payment->invoice_id;
-
- $invoice = $payment->invoice;
- $invoice->balance = $invoice->balance - $payment->amount;
- $invoice->invoice_status_id = ($invoice->balance > 0) ? INVOICE_STATUS_PARTIAL : INVOICE_STATUS_PAID;
- $invoice->save();
- }
-
- $activity->payment_id = $payment->id;
- $activity->client_id = $payment->client_id;
- $activity->activity_type_id = ACTIVITY_TYPE_CREATE_PAYMENT;
- $activity->balance = $client->balance;
- $activity->adjustment = $payment->amount * -1;
- $activity->save();
-
- Activity::checkSubscriptions(EVENT_CREATE_PAYMENT, $payment);
- }
-
- public static function updatePayment($payment)
- {
- if ($payment->is_deleted && !$payment->getOriginal('is_deleted')) {
- $client = $payment->client;
- $client->balance = $client->balance + $payment->amount;
- $client->paid_to_date = $client->paid_to_date - $payment->amount;
- $client->save();
-
- $invoice = $payment->invoice;
- $invoice->balance = $invoice->balance + $payment->amount;
- $invoice->save();
-
- $activity = Activity::getBlank();
- $activity->payment_id = $payment->id;
- $activity->client_id = $invoice->client_id;
- $activity->invoice_id = $invoice->id;
- $activity->activity_type_id = ACTIVITY_TYPE_DELETE_PAYMENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'deleted '.$payment->getName());
- $activity->balance = $client->balance;
- $activity->adjustment = $payment->amount;
- $activity->save();
- } else {
- /*
- $diff = floatval($invoice->amount) - floatval($invoice->getOriginal('amount'));
-
- if ($diff == 0)
- {
- return;
- }
-
- $client = $invoice->client;
- $client->balance = $client->balance + $diff;
- $client->save();
-
- $activity = Activity::getBlank($invoice);
- $activity->client_id = $invoice->client_id;
- $activity->invoice_id = $invoice->id;
- $activity->activity_type_id = ACTIVITY_TYPE_UPDATE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'updated', $invoice);
- $activity->balance = $client->balance;
- $activity->adjustment = $diff;
- $activity->json_backup = $backupInvoice->hidePrivateFields()->toJSON();
- $activity->save();
- */
- }
- }
-
- public static function archivePayment($payment)
- {
- if ($payment->is_deleted) {
- return;
- }
-
- $client = $payment->client;
- $invoice = $payment->invoice;
-
- $activity = Activity::getBlank();
- $activity->payment_id = $payment->id;
- $activity->invoice_id = $invoice->id;
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_ARCHIVE_PAYMENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'archived '.$payment->getName());
- $activity->balance = $client->balance;
- $activity->adjustment = 0;
- $activity->save();
- }
-
- public static function restorePayment($payment)
- {
- $client = $payment->client;
- $invoice = $payment->invoice;
-
- $activity = Activity::getBlank();
- $activity->payment_id = $payment->id;
- $activity->invoice_id = $invoice->id;
- $activity->client_id = $client->id;
- $activity->activity_type_id = ACTIVITY_TYPE_RESTORE_PAYMENT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'restored '.$payment->getName());
- $activity->balance = $client->balance;
- $activity->adjustment = 0;
- $activity->save();
- }
-
- public static function createCredit($credit)
- {
- $activity = Activity::getBlank();
- $activity->message = Utils::encodeActivity(Auth::user(), 'entered '.Utils::formatMoney($credit->amount, $credit->client->currency_id).' credit');
- $activity->credit_id = $credit->id;
- $activity->client_id = $credit->client_id;
- $activity->activity_type_id = ACTIVITY_TYPE_CREATE_CREDIT;
- $activity->balance = $credit->client->balance;
- $activity->save();
- }
-
- public static function updateCredit($credit)
- {
- if ($credit->is_deleted && !$credit->getOriginal('is_deleted')) {
- $activity = Activity::getBlank();
- $activity->credit_id = $credit->id;
- $activity->client_id = $credit->client_id;
- $activity->activity_type_id = ACTIVITY_TYPE_DELETE_CREDIT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'deleted '.Utils::formatMoney($credit->balance, $credit->client->currency_id).' credit');
- $activity->balance = $credit->client->balance;
- $activity->save();
- } else {
- /*
- $diff = floatval($invoice->amount) - floatval($invoice->getOriginal('amount'));
-
- if ($diff == 0)
- {
- return;
- }
-
- $client = $invoice->client;
- $client->balance = $client->balance + $diff;
- $client->save();
-
- $activity = Activity::getBlank($invoice);
- $activity->client_id = $invoice->client_id;
- $activity->invoice_id = $invoice->id;
- $activity->activity_type_id = ACTIVITY_TYPE_UPDATE_INVOICE;
- $activity->message = Utils::encodeActivity(Auth::user(), 'updated', $invoice);
- $activity->balance = $client->balance;
- $activity->adjustment = $diff;
- $activity->json_backup = $backupInvoice->hidePrivateFields()->toJSON();
- $activity->save();
- */
- }
- }
-
- public static function archiveCredit($credit)
- {
- if ($credit->is_deleted) {
- return;
- }
-
- $activity = Activity::getBlank();
- $activity->client_id = $credit->client_id;
- $activity->credit_id = $credit->id;
- $activity->activity_type_id = ACTIVITY_TYPE_ARCHIVE_CREDIT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'archived '.Utils::formatMoney($credit->balance, $credit->client->currency_id).' credit');
- $activity->balance = $credit->client->balance;
- $activity->save();
- }
-
- public static function restoreCredit($credit)
- {
- $activity = Activity::getBlank();
- $activity->client_id = $credit->client_id;
- $activity->credit_id = $credit->id;
- $activity->activity_type_id = ACTIVITY_TYPE_RESTORE_CREDIT;
- $activity->message = Utils::encodeActivity(Auth::user(), 'restored '.Utils::formatMoney($credit->balance, $credit->client->currency_id).' credit');
- $activity->balance = $credit->client->balance;
- $activity->save();
- }
-
- private static function checkSubscriptions($event, $data)
- {
- if (!Auth::check()) {
- return;
- }
-
- $subscription = Auth::user()->account->getSubscription($event);
-
- if ($subscription) {
- Utils::notifyZapier($subscription, $data);
- }
- }
-}
diff --git a/app/models/Affiliate.php b/app/models/Affiliate.php
deleted file mode 100644
index 3efccbd1ada0..000000000000
--- a/app/models/Affiliate.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Account');
- }
-
- public function invoices()
- {
- return $this->hasMany('Invoice');
- }
-
- public function payments()
- {
- return $this->hasMany('Payment');
- }
-
- public function contacts()
- {
- return $this->hasMany('Contact');
- }
-
- public function projects()
- {
- return $this->hasMany('Project');
- }
-
- public function country()
- {
- return $this->belongsTo('Country');
- }
-
- public function currency()
- {
- return $this->belongsTo('Currency');
- }
-
- public function size()
- {
- return $this->belongsTo('Size');
- }
-
- public function industry()
- {
- return $this->belongsTo('Industry');
- }
-
- public function getTotalCredit()
- {
- return DB::table('credits')
- ->where('client_id', '=', $this->id)
- ->whereNull('deleted_at')
- ->sum('balance');
- }
-
- public function getName()
- {
- return $this->getDisplayName();
- }
-
- public function getDisplayName()
- {
- if ($this->name) {
- return $this->name;
- }
-
- $this->load('contacts');
- $contact = $this->contacts()->first();
-
- return $contact->getDisplayName();
- }
-
- public function getEntityType()
- {
- return ENTITY_CLIENT;
- }
-
- public function getAddress()
- {
- $str = '';
-
- if ($this->address1) {
- $str .= $this->address1.' ';
- }
- if ($this->address2) {
- $str .= $this->address2.' ';
- }
- if ($this->city) {
- $str .= $this->city.', ';
- }
- if ($this->state) {
- $str .= $this->state.' ';
- }
- if ($this->postal_code) {
- $str .= $this->postal_code;
- }
- if ($this->country) {
- $str .= ' '.$this->country->name;
- }
-
- if ($str) {
- $str = ''.$str.'
';
- }
-
- return $str;
- }
-
- public function getPhone()
- {
- $str = '';
-
- if ($this->work_phone) {
- $str .= ' '.Utils::formatPhoneNumber($this->work_phone);
- }
-
- return $str;
- }
-
- public function getIdNumber()
- {
- $str = '';
-
- if ($this->id_number) {
- $str .= ' '.trans('texts.id_number').': '.$this->id_number;
- }
-
- return $str;
- }
-
- public function getVatNumber()
- {
- $str = '';
-
- if ($this->vat_number) {
- $str .= ' '.trans('texts.vat_number').': '.$this->vat_number;
- }
-
- return $str;
- }
-
- public function getNotes()
- {
- $str = '';
-
- if ($this->private_notes) {
- $str .= ''.$this->private_notes.' ';
- }
-
- return $str;
- }
-
- public function getIndustry()
- {
- $str = '';
-
- if ($this->client_industry) {
- $str .= $this->client_industry->name.' ';
- }
-
- if ($this->client_size) {
- $str .= $this->client_size->name;
- }
-
- return $str;
- }
-
- public function getCustomFields()
- {
- $str = '';
- $account = $this->account;
-
- if ($account->custom_client_label1 && $this->custom_value1) {
- $str .= "{$account->custom_client_label1}: {$this->custom_value1} ";
- }
-
- if ($account->custom_client_label2 && $this->custom_value2) {
- $str .= "{$account->custom_client_label2}: {$this->custom_value2} ";
- }
-
- return $str;
- }
-
- public function getWebsite()
- {
- if (!$this->website) {
- return '';
- }
-
- $link = $this->website;
- $title = $this->website;
- $prefix = 'http://';
-
- if (strlen($link) > 7 && substr($link, 0, 7) === $prefix) {
- $title = substr($title, 7);
- } else {
- $link = $prefix.$link;
- }
-
- return link_to($link, $title, array('target' => '_blank'));
- }
-
- public function getDateCreated()
- {
- if ($this->created_at == '0000-00-00 00:00:00') {
- return '---';
- } else {
- return $this->created_at->format('m/d/y h:i a');
- }
- }
-
-
- public function getGatewayToken()
- {
- $this->account->load('account_gateways');
-
- if (!count($this->account->account_gateways)) {
- return false;
- }
-
- $accountGateway = $this->account->getGatewayConfig(GATEWAY_STRIPE);
-
- if (!$accountGateway) {
- return false;
- }
-
- $token = AccountGatewayToken::where('client_id', '=', $this->id)
- ->where('account_gateway_id', '=', $accountGateway->id)->first();
-
- return $token ? $token->token : false;
- }
-
- public function getGatewayLink()
- {
- $token = $this->getGatewayToken();
- return $token ? "https://dashboard.stripe.com/customers/{$token}" : false;
- }
-}
-
-/*
-Client::created(function($client)
-{
- Activity::createClient($client);
-});
-*/
-
-Client::updating(function ($client) {
- Activity::updateClient($client);
-});
-
-Client::deleting(function ($client) {
- Activity::archiveClient($client);
-});
-
-Client::restoring(function ($client) {
- Activity::restoreClient($client);
-});
diff --git a/app/models/Contact.php b/app/models/Contact.php
deleted file mode 100755
index ca29ce31b9f5..000000000000
--- a/app/models/Contact.php
+++ /dev/null
@@ -1,74 +0,0 @@
-belongsTo('Client');
- }
-
- public function getPersonType()
- {
- return PERSON_CONTACT;
- }
-
- /*
- public function getLastLogin()
- {
- if ($this->last_login == '0000-00-00 00:00:00')
- {
- return '---';
- }
- else
- {
- return $this->last_login->format('m/d/y h:i a');
- }
- }
- */
-
- public function getDisplayName()
- {
- if ($this->getFullName()) {
- return $this->getFullName();
- } else {
- return $this->email;
- }
- }
-
- public function getFullName()
- {
- if ($this->first_name || $this->last_name) {
- return $this->first_name.' '.$this->last_name;
- } else {
- return '';
- }
- }
-
- public function getDetails()
- {
- $str = '';
-
- if ($this->first_name || $this->last_name) {
- $str .= ''.$this->first_name.' '.$this->last_name.' ';
- }
-
- if ($this->email) {
- $str .= ' '.HTML::mailto($this->email, $this->email).' ';
- }
-
- if ($this->phone) {
- $str .= ' '.Utils::formatPhoneNumber($this->phone);
- }
-
- if ($str) {
- $str = ''.$str.'
';
- }
-
- return $str;
- }
-}
diff --git a/app/models/Country.php b/app/models/Country.php
deleted file mode 100755
index 05364b4e3529..000000000000
--- a/app/models/Country.php
+++ /dev/null
@@ -1,9 +0,0 @@
-belongsTo('Invoice')->withTrashed();
- }
-
- public function client()
- {
- return $this->belongsTo('Client')->withTrashed();
- }
-
- public function getName()
- {
- return '';
- }
-
- public function getEntityType()
- {
- return ENTITY_CREDIT;
- }
-
- public function apply($amount)
- {
- if ($amount > $this->balance) {
- $applied = $this->balance;
- $this->balance = 0;
- } else {
- $applied = $amount;
- $this->balance = $this->balance - $amount;
- }
-
- $this->save();
-
- return $applied;
- }
-}
-
-Credit::created(function ($credit) {
- Activity::createCredit($credit);
-});
-
-Credit::updating(function ($credit) {
- Activity::updateCredit($credit);
-});
-
-Credit::deleting(function ($credit) {
- Activity::archiveCredit($credit);
-});
-
-Credit::restoring(function ($credit) {
- Activity::restoreCredit($credit);
-});
diff --git a/app/models/Currency.php b/app/models/Currency.php
deleted file mode 100755
index 943816064607..000000000000
--- a/app/models/Currency.php
+++ /dev/null
@@ -1,7 +0,0 @@
-user_id = $parent instanceof User ? $parent->id : $parent->user_id;
- $entity->account_id = $parent->account_id;
- } elseif (Auth::check()) {
- $entity->user_id = Auth::user()->id;
- $entity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- $lastEntity = $className::withTrashed()->scope(false, $entity->account_id)->orderBy('public_id', 'DESC')->first();
-
- if ($lastEntity) {
- $entity->public_id = $lastEntity->public_id + 1;
- } else {
- $entity->public_id = 1;
- }
-
- return $entity;
- }
-
- public static function getPrivateId($publicId)
- {
- $className = get_called_class();
-
- return $className::scope($publicId)->pluck('id');
- }
-
- public function getActivityKey()
- {
- return $this->getEntityType().':'.$this->public_id.':'.$this->getName();
- }
-
- /*
- public function getEntityType()
- {
- return '';
- }
-
- public function getNmae()
- {
- return '';
- }
- */
-
- public function scopeScope($query, $publicId = false, $accountId = false)
- {
- if (!$accountId) {
- $accountId = Auth::user()->account_id;
- }
-
- $query->whereAccountId($accountId);
-
- if ($publicId) {
- if (is_array($publicId)) {
- $query->whereIn('public_id', $publicId);
- } else {
- $query->wherePublicId($publicId);
- }
- }
-
- return $query;
- }
-}
diff --git a/app/models/Frequency.php b/app/models/Frequency.php
deleted file mode 100755
index 84373222ae62..000000000000
--- a/app/models/Frequency.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('PaymentLibrary', 'payment_library_id');
- }
-
- public function getLogoUrl()
- {
- return '/images/gateways/logo_'.$this->provider.'.png';
- }
-
- public function getHelp()
- {
- $link = '';
-
- if ($this->id == GATEWAY_AUTHORIZE_NET || $this->id == GATEWAY_AUTHORIZE_NET_SIM) {
- $link = 'http://reseller.authorize.net/application/?id=5560364';
- } elseif ($this->id == GATEWAY_PAYPAL_EXPRESS) {
- $link = 'https://www.paypal.com/us/cgi-bin/webscr?cmd=_login-api-run';
- } elseif ($this->id == GATEWAY_TWO_CHECKOUT) {
- $link = 'https://www.2checkout.com/referral?r=2c37ac2298';
- }
-
- $key = 'texts.gateway_help_'.$this->id;
- $str = trans($key, ['link' => "Click here "]);
-
- return $key != $str ? $str : '';
- }
-
- public function getFields()
- {
- $paymentLibrary = $this->paymentlibrary;
-
- if ($paymentLibrary->id == PAYMENT_LIBRARY_OMNIPAY) {
- $fields = Omnipay::create($this->provider)->getDefaultParameters();
- } else {
- $fields = Payment_Utility::load('config', 'drivers/'.strtolower($this->provider));
- }
-
- if ($fields == null) {
- $fields = array();
- }
-
- return $fields;
- }
-}
diff --git a/app/models/Industry.php b/app/models/Industry.php
deleted file mode 100755
index 4c931a520d8f..000000000000
--- a/app/models/Industry.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Invoice');
- }
-
- public function contact()
- {
- return $this->belongsTo('Contact')->withTrashed();
- }
-
- public function user()
- {
- return $this->belongsTo('User')->withTrashed();
- }
-
- public function account()
- {
- return $this->belongsTo('Account');
- }
-
- public function getLink()
- {
- return SITE_URL.'/view/'.$this->invitation_key;
- }
-}
diff --git a/app/models/Invoice.php b/app/models/Invoice.php
deleted file mode 100755
index 09e1f887d34d..000000000000
--- a/app/models/Invoice.php
+++ /dev/null
@@ -1,230 +0,0 @@
-belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function client()
- {
- return $this->belongsTo('Client')->withTrashed();
- }
-
- public function invoice_items()
- {
- return $this->hasMany('InvoiceItem')->orderBy('id');
- }
-
- public function invoice_status()
- {
- return $this->belongsTo('InvoiceStatus');
- }
-
- public function invoice_design()
- {
- return $this->belongsTo('InvoiceDesign');
- }
-
- public function invitations()
- {
- return $this->hasMany('Invitation')->orderBy('invitations.contact_id');
- }
-
- public function getName()
- {
- return $this->invoice_number;
- }
-
- public function getLink()
- {
- return link_to('invoices/'.$this->public_id, $this->invoice_number);
- }
-
- public function getEntityType()
- {
- return $this->is_quote ? ENTITY_QUOTE : ENTITY_INVOICE;
- }
-
- public function isSent()
- {
- return $this->invoice_status_id >= INVOICE_STATUS_SENT;
- }
-
- public function isViewed()
- {
- return $this->invoice_status_id >= INVOICE_STATUS_VIEWED;
- }
-
- public function isPaid()
- {
- return $this->invoice_status_id >= INVOICE_STATUS_PAID;
- }
-
- public function hidePrivateFields()
- {
- $this->setVisible([
- 'invoice_number',
- 'discount',
- 'is_amount_discount',
- 'po_number',
- 'invoice_date',
- 'due_date',
- 'terms',
- 'invoice_footer',
- 'public_notes',
- 'amount',
- 'balance',
- 'invoice_items',
- 'client',
- 'tax_name',
- 'tax_rate',
- 'account',
- 'invoice_design',
- 'invoice_design_id',
- 'is_pro',
- 'is_quote',
- 'custom_value1',
- 'custom_value2',
- 'custom_taxes1',
- 'custom_taxes2', ]);
-
- $this->client->setVisible([
- 'name',
- 'id_number',
- 'vat_number',
- 'address1',
- 'address2',
- 'city',
- 'state',
- 'postal_code',
- 'work_phone',
- 'payment_terms',
- 'contacts',
- 'country',
- 'currency_id',
- 'custom_value1',
- 'custom_value2', ]);
-
- $this->account->setVisible([
- 'name',
- 'id_number',
- 'vat_number',
- 'address1',
- 'address2',
- 'city',
- 'state',
- 'postal_code',
- 'work_phone',
- 'work_email',
- 'country',
- 'currency_id',
- 'custom_label1',
- 'custom_value1',
- 'custom_label2',
- 'custom_value2',
- 'custom_client_label1',
- 'custom_client_label2',
- 'primary_color',
- 'secondary_color',
- 'hide_quantity',
- 'hide_paid_to_date',
- 'custom_invoice_label1',
- 'custom_invoice_label2', ]);
-
- foreach ($this->invoice_items as $invoiceItem) {
- $invoiceItem->setVisible([
- 'product_key',
- 'notes',
- 'cost',
- 'qty',
- 'tax_name',
- 'tax_rate', ]);
- }
-
- foreach ($this->client->contacts as $contact) {
- $contact->setVisible([
- 'first_name',
- 'last_name',
- 'email',
- 'phone', ]);
- }
-
- return $this;
- }
-
- public function shouldSendToday()
- {
- if (!$this->start_date || strtotime($this->start_date) > strtotime('now')) {
- return false;
- }
-
- if ($this->end_date && strtotime($this->end_date) < strtotime('now')) {
- return false;
- }
-
- $dayOfWeekToday = date('w');
- $dayOfWeekStart = date('w', strtotime($this->start_date));
-
- $dayOfMonthToday = date('j');
- $dayOfMonthStart = date('j', strtotime($this->start_date));
-
- if (!$this->last_sent_date) {
- return true;
- } else {
- $date1 = new DateTime($this->last_sent_date);
- $date2 = new DateTime();
- $diff = $date2->diff($date1);
- $daysSinceLastSent = $diff->format("%a");
- $monthsSinceLastSent = ($diff->format('%y') * 12) + $diff->format('%m');
-
- if ($daysSinceLastSent == 0) {
- return false;
- }
- }
-
- switch ($this->frequency_id) {
- case FREQUENCY_WEEKLY:
- return $daysSinceLastSent >= 7;
- case FREQUENCY_TWO_WEEKS:
- return $daysSinceLastSent >= 14;
- case FREQUENCY_FOUR_WEEKS:
- return $daysSinceLastSent >= 28;
- case FREQUENCY_MONTHLY:
- return $monthsSinceLastSent >= 1;
- case FREQUENCY_THREE_MONTHS:
- return $monthsSinceLastSent >= 3;
- case FREQUENCY_SIX_MONTHS:
- return $monthsSinceLastSent >= 6;
- case FREQUENCY_ANNUALLY:
- return $monthsSinceLastSent >= 12;
- default:
- return false;
- }
-
- return false;
- }
-}
-
-Invoice::created(function ($invoice) {
- $invoice->account->incrementCounter($invoice->invoice_number, $invoice->is_quote, $invoice->recurring_invoice_id);
- Activity::createInvoice($invoice);
-});
-
-Invoice::updating(function ($invoice) {
- Activity::updateInvoice($invoice);
-});
-
-Invoice::deleting(function ($invoice) {
- Activity::archiveInvoice($invoice);
-});
-
-Invoice::restoring(function ($invoice) {
- Activity::restoreInvoice($invoice);
-});
diff --git a/app/models/InvoiceDesign.php b/app/models/InvoiceDesign.php
deleted file mode 100644
index 6dfd823dae02..000000000000
--- a/app/models/InvoiceDesign.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Invoice');
- }
-
- public function product()
- {
- return $this->belongsTo('Product');
- }
-}
diff --git a/app/models/InvoiceStatus.php b/app/models/InvoiceStatus.php
deleted file mode 100755
index faca90e50bcf..000000000000
--- a/app/models/InvoiceStatus.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Invoice')->withTrashed();
- }
-
- public function invitation()
- {
- return $this->belongsTo('Invitation');
- }
-
- public function client()
- {
- return $this->belongsTo('Client')->withTrashed();
- }
-
- public function account()
- {
- return $this->belongsTo('Account');
- }
-
- public function contact()
- {
- return $this->belongsTo('Contact');
- }
-
- public function getAmount()
- {
- return Utils::formatMoney($this->amount, $this->client->currency_id);
- }
-
- public function getName()
- {
- return trim("payment {$this->transaction_reference}");
- }
-
- public function getEntityType()
- {
- return ENTITY_PAYMENT;
- }
-}
-
-Payment::created(function ($payment) {
- Activity::createPayment($payment);
-});
-
-Payment::updating(function ($payment) {
- Activity::updatePayment($payment);
-});
-
-Payment::deleting(function ($payment) {
- Activity::archivePayment($payment);
-});
-
-Payment::restoring(function ($payment) {
- Activity::restorePayment($payment);
-});
diff --git a/app/models/PaymentLibrary.php b/app/models/PaymentLibrary.php
deleted file mode 100644
index c6eff7009159..000000000000
--- a/app/models/PaymentLibrary.php
+++ /dev/null
@@ -1,12 +0,0 @@
-hasMany('Gateway', 'payment_library_id');
- }
-}
diff --git a/app/models/PaymentTerm.php b/app/models/PaymentTerm.php
deleted file mode 100755
index 15669d6535d3..000000000000
--- a/app/models/PaymentTerm.php
+++ /dev/null
@@ -1,7 +0,0 @@
-where('product_key', '=', $key)->first();
- }
-}
diff --git a/app/models/Project.php b/app/models/Project.php
deleted file mode 100644
index 6a2042e87ab9..000000000000
--- a/app/models/Project.php
+++ /dev/null
@@ -1,45 +0,0 @@
-belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function client()
- {
- return $this->belongsTo('Client');
- }
-
- public function codes()
- {
- return $this->hasMany('ProjectCode');
- }
-
- public static function createNew($parent = false)
- {
- $className = get_called_class();
- $entity = new $className();
-
- if ($parent) {
- $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id;
- $entity->account_id = $parent->account_id;
- } elseif (Auth::check()) {
- $entity->user_id = Auth::user()->id;
- $entity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- return $entity;
- }
-}
diff --git a/app/models/ProjectCode.php b/app/models/ProjectCode.php
deleted file mode 100644
index 3f3f344a5e0b..000000000000
--- a/app/models/ProjectCode.php
+++ /dev/null
@@ -1,45 +0,0 @@
-belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function project()
- {
- return $this->belongsTo('Project');
- }
-
- public function events()
- {
- return $this->hasMany('TimesheetEvent');
- }
-
- public static function createNew($parent = false)
- {
- $className = get_called_class();
- $entity = new $className();
-
- if ($parent) {
- $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id;
- $entity->account_id = $parent->account_id;
- } elseif (Auth::check()) {
- $entity->user_id = Auth::user()->id;
- $entity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- return $entity;
- }
-}
diff --git a/app/models/Size.php b/app/models/Size.php
deleted file mode 100755
index a598c7732d01..000000000000
--- a/app/models/Size.php
+++ /dev/null
@@ -1,7 +0,0 @@
-belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function timesheet_events()
- {
- return $this->hasMany('TimeSheetEvent');
- }
-}
diff --git a/app/models/TimesheetEvent.php b/app/models/TimesheetEvent.php
deleted file mode 100644
index 448ac40c9b5a..000000000000
--- a/app/models/TimesheetEvent.php
+++ /dev/null
@@ -1,122 +0,0 @@
-attributes['org_updated_at'] = $value->getTimestamp();
- }*/
-
- public function account()
- {
- return $this->belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function source()
- {
- return $this->belongsTo('TimesheetEventSource');
- }
-
- public function timesheet()
- {
- return $this->belongsTo('Timesheet');
- }
-
- public function project()
- {
- return $this->belongsTo('Project');
- }
-
- public function project_code()
- {
- return $this->belongsTo('ProjectCode');
- }
-
- /**
- * @return TimesheetEvent
- */
- public static function createNew($parent = false)
- {
- $className = get_called_class();
- $entity = new $className();
-
- if ($parent) {
- $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id;
- $entity->account_id = $parent->account_id;
- } elseif (Auth::check()) {
- $entity->user_id = Auth::user()->id;
- $entity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- return $entity;
- }
-
- public function toChangesArray(TimesheetEvent $other)
- {
- $attributes_old = parent::toArray();
- $attributes_new = $other->toArray();
-
- $skip_keys = ['id' => 1, 'created_at' => 1, 'updated_at' => 1, 'deleted_at' => 1, 'org_data' => 1, 'update_data' => 1];
- $zeroisempty_keys = ['discount' => 1];
-
- $result = [];
- // Find all the values that where changed or deleted
- foreach ($attributes_old as $key => $value) {
- // Skip null values, keys we don't care about and 0 value keys that means they are not used
- if (empty($value) || isset($skip_keys[$key]) || (isset($zeroisempty_keys[$key]) && $value)) {
- continue;
- }
-
- // Compare values if it exists in the new array
- if (isset($attributes_new[$key]) || array_key_exists($key, $attributes_new)) {
- if ($value instanceof \DateTime && $attributes_new[$key] instanceof \DateTime) {
- if ($value != $attributes_new[$key]) {
- $result[$key] = $attributes_new[$key]->format("Y-m-d H:i:s");
- }
- } elseif ($value instanceof \DateTime && is_string($attributes_new[$key])) {
- if ($value->format("Y-m-d H:i:s") != $attributes_new[$key]) {
- $result[$key] = $attributes_new[$key];
- }
- } elseif (is_string($value) && $attributes_new[$key] instanceof \DateTime) {
- if ($attributes_new[$key]->format("Y-m-d H:i:s") != $value) {
- $result[$key] = $attributes_new[$key]->format("Y-m-d H:i:s");
- }
- } elseif ($value != $attributes_new[$key]) {
- $result[$key] = $attributes_new[$key];
- }
- } else {
- $result[$key] = null;
- }
- }
-
- // Find all the values that where deleted
- foreach ($attributes_new as $key => $value) {
- if (isset($skip_keys[$key])) {
- continue;
- }
-
- if (!isset($attributes_old[$key])) {
- $result[$key] = $value;
- }
- }
-
- return $result;
- }
-}
diff --git a/app/models/TimesheetEventSource.php b/app/models/TimesheetEventSource.php
deleted file mode 100644
index fcca52c61f79..000000000000
--- a/app/models/TimesheetEventSource.php
+++ /dev/null
@@ -1,40 +0,0 @@
-belongsTo('Account');
- }
-
- public function user()
- {
- return $this->belongsTo('User');
- }
-
- public function events()
- {
- return $this->hasMany('TimesheetEvent');
- }
-
- public static function createNew($parent = false)
- {
- $className = get_called_class();
- $entity = new $className();
-
- if ($parent) {
- $entity->user_id = $parent instanceof User ? $parent->id : $parent->user_id;
- $entity->account_id = $parent->account_id;
- } elseif (Auth::check()) {
- $entity->user_id = Auth::user()->id;
- $entity->account_id = Auth::user()->account_id;
- } else {
- Utils::fatalError();
- }
-
- return $entity;
- }
-}
diff --git a/app/models/Timezone.php b/app/models/Timezone.php
deleted file mode 100755
index 09b91108a4b4..000000000000
--- a/app/models/Timezone.php
+++ /dev/null
@@ -1,7 +0,0 @@
- 'required|unique:users',
- 'password' => 'required|between:6,32|confirmed',
- 'password_confirmation' => 'between:6,32',
- */
- );
-
- protected $updateRules = array(
- /*
- 'email' => 'required|unique:users',
- 'username' => 'required|unique:users',
- */
- );
-
- /**
- * The database table used by the model.
- *
- * @var string
- */
- protected $table = 'users';
-
- public function account()
- {
- return $this->belongsTo('Account');
- }
-
- public function theme()
- {
- return $this->belongsTo('Theme');
- }
-
- public function getPersonType()
- {
- return PERSON_USER;
- }
-
- /**
- * Get the unique identifier for the user.
- *
- * @return mixed
- */
- public function getAuthIdentifier()
- {
- return $this->getKey();
- }
-
- /**
- * Get the password for the user.
- *
- * @return string
- */
- public function getAuthPassword()
- {
- return $this->password;
- }
-
- /**
- * Get the e-mail address where password reminders are sent.
- *
- * @return string
- */
- public function getReminderEmail()
- {
- return $this->email;
- }
-
- public function isPro()
- {
- return $this->account->isPro();
- }
-
- public function isDemo()
- {
- return $this->account->id == Utils::getDemoAccountId();
- }
-
- public function maxInvoiceDesignId()
- {
- return $this->isPro() ? 10 : COUNT_FREE_DESIGNS;
- }
-
- public function getDisplayName()
- {
- if ($this->getFullName()) {
- return $this->getFullName();
- } elseif ($this->email) {
- return $this->email;
- } else {
- return 'Guest';
- }
- }
-
- public function getFullName()
- {
- if ($this->first_name || $this->last_name) {
- return $this->first_name.' '.$this->last_name;
- } else {
- return '';
- }
- }
-
- public function showGreyBackground()
- {
- return !$this->theme_id || in_array($this->theme_id, [2, 3, 5, 6, 7, 8, 10, 11, 12]);
- }
-
- public function getRequestsCount()
- {
- return Session::get(SESSION_COUNTER, 0);
- }
-
- public function getPopOverText()
- {
- if (!Utils::isNinja() || !Auth::check() || Session::has('error')) {
- return false;
- }
-
- $count = self::getRequestsCount();
-
- if ($count == 1 || $count % 5 == 0) {
- if (!Utils::isRegistered()) {
- return trans('texts.sign_up_to_save');
- } elseif (!Auth::user()->account->name) {
- return trans('texts.set_name');
- }
- }
-
- return false;
- }
-
- public function afterSave($success = true, $forced = false)
- {
- if ($this->email) {
- return parent::afterSave($success = true, $forced = false);
- } else {
- return true;
- }
- }
-
- public function getMaxNumClients()
- {
- return $this->isPro() ? MAX_NUM_CLIENTS_PRO : MAX_NUM_CLIENTS;
- }
-
- public function getRememberToken()
- {
- return $this->remember_token;
- }
-
- public function setRememberToken($value)
- {
- $this->remember_token = $value;
- }
-
- public function getRememberTokenName()
- {
- return 'remember_token';
- }
-}
diff --git a/app/ninja/mailers/ContactMailer.php b/app/ninja/mailers/ContactMailer.php
deleted file mode 100755
index 0a262aecba08..000000000000
--- a/app/ninja/mailers/ContactMailer.php
+++ /dev/null
@@ -1,104 +0,0 @@
-load('invitations', 'client', 'account');
- $entityType = $invoice->getEntityType();
-
- $view = 'invoice';
- $subject = trans("texts.{$entityType}_subject", ['invoice' => $invoice->invoice_number, 'account' => $invoice->account->getDisplayName()]);
- $accountName = $invoice->account->getDisplayName();
- $emailTemplate = $invoice->account->getEmailTemplate($entityType);
- $invoiceAmount = Utils::formatMoney($invoice->amount, $invoice->client->currency_id);
-
- foreach ($invoice->invitations as $invitation) {
- if (!$invitation->user || !$invitation->user->email) {
- return false;
- }
- if (!$invitation->contact || !$invitation->contact->email) {
- return false;
- }
-
- $invitation->sent_date = \Carbon::now()->toDateTimeString();
- $invitation->save();
-
- $variables = [
- '$footer' => $invoice->account->getEmailFooter(),
- '$link' => $invitation->getLink(),
- '$client' => $invoice->client->getDisplayName(),
- '$account' => $accountName,
- '$contact' => $invitation->contact->getDisplayName(),
- '$amount' => $invoiceAmount
- ];
-
- $data['body'] = str_replace(array_keys($variables), array_values($variables), $emailTemplate);
- $data['link'] = $invitation->getLink();
- $data['entityType'] = $entityType;
-
- $fromEmail = $invitation->user->email;
- $this->sendTo($invitation->contact->email, $fromEmail, $accountName, $subject, $view, $data);
-
- Activity::emailInvoice($invitation);
- }
-
- if (!$invoice->isSent()) {
- $invoice->invoice_status_id = INVOICE_STATUS_SENT;
- $invoice->save();
- }
-
- \Event::fire('invoice.sent', $invoice);
- }
-
- public function sendPaymentConfirmation(Payment $payment)
- {
- $invoice = $payment->invoice;
- $view = 'payment_confirmation';
- $subject = trans('texts.payment_subject', ['invoice' => $invoice->invoice_number]);
- $accountName = $payment->account->getDisplayName();
- $emailTemplate = $invoice->account->getEmailTemplate(ENTITY_PAYMENT);
-
- $variables = [
- '$footer' => $payment->account->getEmailFooter(),
- '$client' => $payment->client->getDisplayName(),
- '$account' => $accountName,
- '$amount' => Utils::formatMoney($payment->amount, $payment->client->currency_id)
- ];
-
- $data = ['body' => str_replace(array_keys($variables), array_values($variables), $emailTemplate)];
-
- $user = $payment->invitation->user;
- $this->sendTo($payment->contact->email, $user->email, $accountName, $subject, $view, $data);
- }
-
- public function sendLicensePaymentConfirmation($name, $email, $amount, $license, $productId)
- {
- $view = 'license_confirmation';
- $subject = trans('texts.payment_subject');
-
- if ($productId == PRODUCT_ONE_CLICK_INSTALL) {
- $license = "Softaculous install license: $license";
- } elseif ($productId == PRODUCT_INVOICE_DESIGNS) {
- $license = "Invoice designs license: $license";
- } elseif ($productId == PRODUCT_WHITE_LABEL) {
- $license = "White label license: $license";
- }
-
- $data = [
- 'account' => trans('texts.email_from'),
- 'client' => $name,
- 'amount' => Utils::formatMoney($amount, 1),
- 'license' => $license
- ];
-
- $this->sendTo($email, CONTACT_EMAIL, CONTACT_NAME, $subject, $view, $data);
- }
-}
diff --git a/app/ninja/mailers/Mailer.php b/app/ninja/mailers/Mailer.php
deleted file mode 100755
index 16264d91cc55..000000000000
--- a/app/ninja/mailers/Mailer.php
+++ /dev/null
@@ -1,27 +0,0 @@
-setEncoder(\Swift_Encoding::get8BitEncoding());
- $message->to($toEmail)->from($fromEmail, $fromName)->replyTo($replyEmail, $fromName)->subject($subject);
- });
- }
-}
diff --git a/app/ninja/mailers/UserMailer.php b/app/ninja/mailers/UserMailer.php
deleted file mode 100755
index 12e7bedd60eb..000000000000
--- a/app/ninja/mailers/UserMailer.php
+++ /dev/null
@@ -1,62 +0,0 @@
-email) {
- return;
- }
-
- $view = 'confirm';
- $subject = trans('texts.confirmation_subject');
-
- $data = [
- 'user' => $user,
- 'invitationMessage' => $invitor ? trans('texts.invitation_message', ['invitor' => $invitor->getDisplayName()]) : '',
- ];
-
- if ($invitor) {
- $fromEmail = $invitor->email;
- $fromName = $invitor->getDisplayName();
- } else {
- $fromEmail = CONTACT_EMAIL;
- $fromName = CONTACT_NAME;
- }
-
- $this->sendTo($user->email, $fromEmail, $fromName, $subject, $view, $data);
- }
-
- public function sendNotification(User $user, Invoice $invoice, $notificationType, Payment $payment = null)
- {
- if (!$user->email) {
- return;
- }
-
- $view = 'invoice_'.$notificationType;
- $entityType = $invoice->getEntityType();
-
- $data = [
- 'entityType' => $entityType,
- 'clientName' => $invoice->client->getDisplayName(),
- 'accountName' => $invoice->account->getDisplayName(),
- 'userName' => $user->getDisplayName(),
- 'invoiceAmount' => Utils::formatMoney($invoice->amount, $invoice->client->currency_id),
- 'invoiceNumber' => $invoice->invoice_number,
- 'invoiceLink' => SITE_URL."/{$entityType}s/{$invoice->public_id}",
- ];
-
- if ($payment) {
- $data['paymentAmount'] = Utils::formatMoney($payment->amount, $invoice->client->currency_id);
- }
-
- $subject = trans("texts.notification_{$entityType}_{$notificationType}_subject", ['invoice' => $invoice->invoice_number, 'client' => $invoice->client->getDisplayName()]);
-
- $this->sendTo($user->email, CONTACT_EMAIL, CONTACT_NAME, $subject, $view, $data);
- }
-}
diff --git a/app/ninja/repositories/AccountRepository.php b/app/ninja/repositories/AccountRepository.php
deleted file mode 100755
index fa1b3e41410b..000000000000
--- a/app/ninja/repositories/AccountRepository.php
+++ /dev/null
@@ -1,234 +0,0 @@
-ip = Request::getClientIp();
- $account->account_key = str_random(RANDOM_KEY_LENGTH);
-
- if (Session::has(SESSION_LOCALE)) {
- $locale = Session::get(SESSION_LOCALE);
- if ($language = Language::whereLocale($locale)->first()) {
- $account->language_id = $language->id;
- }
- }
-
- $account->save();
-
- $random = str_random(RANDOM_KEY_LENGTH);
-
- $user = new User();
- $user->password = $random;
- $user->password_confirmation = $random;
- $user->username = $random;
- $user->confirmed = !Utils::isNinja();
- $account->users()->save($user, []);
-
- return $account;
- }
-
- public function getSearchData()
- {
- $clients = \DB::table('clients')
- ->where('clients.deleted_at', '=', null)
- ->where('clients.account_id', '=', \Auth::user()->account_id)
- ->whereRaw("clients.name <> ''")
- ->select(\DB::raw("'Clients' as type, clients.public_id, clients.name, '' as token"));
-
- $contacts = \DB::table('clients')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->where('clients.deleted_at', '=', null)
- ->where('clients.account_id', '=', \Auth::user()->account_id)
- ->whereRaw("CONCAT(contacts.first_name, contacts.last_name, contacts.email) <> ''")
- ->select(\DB::raw("'Contacts' as type, clients.public_id, CONCAT(contacts.first_name, ' ', contacts.last_name, ' ', contacts.email) as name, '' as token"));
-
- $invoices = \DB::table('clients')
- ->join('invoices', 'invoices.client_id', '=', 'clients.id')
- ->where('clients.account_id', '=', \Auth::user()->account_id)
- ->where('clients.deleted_at', '=', null)
- ->where('invoices.deleted_at', '=', null)
- ->select(\DB::raw("'Invoices' as type, invoices.public_id, CONCAT(invoices.invoice_number, ': ', clients.name) as name, invoices.invoice_number as token"));
-
- $data = [];
-
- foreach ($clients->union($contacts)->union($invoices)->get() as $row) {
- $type = $row->type;
-
- if (!isset($data[$type])) {
- $data[$type] = [];
- }
-
- $tokens = explode(' ', $row->name);
- $tokens[] = $type;
-
- if ($type == 'Invoices') {
- $tokens[] = intVal($row->token).'';
- }
-
- $data[$type][] = [
- 'value' => $row->name,
- 'public_id' => $row->public_id,
- 'tokens' => $tokens,
- ];
- }
-
- return $data;
- }
-
- public function enableProPlan()
- {
- if (Auth::user()->isPro()) {
- return false;
- }
-
- $ninjaAccount = $this->getNinjaAccount();
- $lastInvoice = Invoice::withTrashed()->whereAccountId($ninjaAccount->id)->orderBy('public_id', 'DESC')->first();
- $publicId = $lastInvoice ? ($lastInvoice->public_id + 1) : 1;
-
- $ninjaClient = $this->getNinjaClient($ninjaAccount);
- $invitation = $this->createNinjaInvoice($publicId, $ninjaAccount, $ninjaClient);
-
- return $invitation;
- }
-
- private function createNinjaInvoice($publicId, $account, $client)
- {
- $invoice = new Invoice();
- $invoice->account_id = $account->id;
- $invoice->user_id = $account->users()->first()->id;
- $invoice->public_id = $publicId;
- $invoice->client_id = $client->id;
- $invoice->invoice_number = $account->getNextInvoiceNumber();
- $invoice->invoice_date = date_create()->format('Y-m-d');
- $invoice->amount = PRO_PLAN_PRICE;
- $invoice->balance = PRO_PLAN_PRICE;
- $invoice->save();
-
- $item = new InvoiceItem();
- $item->account_id = $account->id;
- $item->user_id = $account->users()->first()->id;
- $item->public_id = $publicId;
- $item->qty = 1;
- $item->cost = PRO_PLAN_PRICE;
- $item->notes = trans('texts.pro_plan_description');
- $item->product_key = trans('texts.pro_plan_product');
- $invoice->invoice_items()->save($item);
-
- $invitation = new Invitation();
- $invitation->account_id = $account->id;
- $invitation->user_id = $account->users()->first()->id;
- $invitation->public_id = $publicId;
- $invitation->invoice_id = $invoice->id;
- $invitation->contact_id = $client->contacts()->first()->id;
- $invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
- $invitation->save();
-
- return $invitation;
- }
-
- public function getNinjaAccount()
- {
- $account = Account::whereAccountKey(NINJA_ACCOUNT_KEY)->first();
-
- if ($account) {
- return $account;
- } else {
- $account = new Account();
- $account->name = 'Invoice Ninja';
- $account->work_email = 'contact@invoiceninja.com';
- $account->work_phone = '(800) 763-1948';
- $account->account_key = NINJA_ACCOUNT_KEY;
- $account->save();
-
- $random = str_random(RANDOM_KEY_LENGTH);
- $user = new User();
- $user->registered = true;
- $user->confirmed = true;
- $user->email = 'contact@invoiceninja.com';
- $user->password = $random;
- $user->password_confirmation = $random;
- $user->username = $random;
- $user->first_name = 'Invoice';
- $user->last_name = 'Ninja';
- $user->notify_sent = true;
- $user->notify_paid = true;
- $account->users()->save($user);
-
- $accountGateway = new AccountGateway();
- $accountGateway->user_id = $user->id;
- $accountGateway->gateway_id = NINJA_GATEWAY_ID;
- $accountGateway->public_id = 1;
- $accountGateway->config = NINJA_GATEWAY_CONFIG;
- $account->account_gateways()->save($accountGateway);
- }
-
- return $account;
- }
-
- private function getNinjaClient($ninjaAccount)
- {
- $client = Client::whereAccountId($ninjaAccount->id)->wherePublicId(Auth::user()->account_id)->first();
-
- if (!$client) {
- $client = new Client();
- $client->public_id = Auth::user()->account_id;
- $client->user_id = $ninjaAccount->users()->first()->id;
- $client->currency_id = 1;
- foreach (['name', 'address1', 'address2', 'city', 'state', 'postal_code', 'country_id', 'work_phone'] as $field) {
- $client->$field = Auth::user()->account->$field;
- }
- $ninjaAccount->clients()->save($client);
-
- $contact = new Contact();
- $contact->user_id = $ninjaAccount->users()->first()->id;
- $contact->account_id = $ninjaAccount->id;
- $contact->public_id = Auth::user()->account_id;
- $contact->is_primary = true;
- foreach (['first_name', 'last_name', 'email', 'phone'] as $field) {
- $contact->$field = Auth::user()->$field;
- }
- $client->contacts()->save($contact);
- }
-
- return $client;
- }
-
- public function registerUser($user)
- {
- $url = NINJA_APP_URL.'/signup/register';
- $data = '';
- $fields = [
- 'first_name' => urlencode($user->first_name),
- 'last_name' => urlencode($user->last_name),
- 'email' => urlencode($user->email),
- ];
-
- foreach ($fields as $key => $value) {
- $data .= $key.'='.$value.'&';
- }
- rtrim($data, '&');
-
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_POST, count($fields));
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- curl_exec($ch);
- curl_close($ch);
- }
-}
diff --git a/app/ninja/repositories/ClientRepository.php b/app/ninja/repositories/ClientRepository.php
deleted file mode 100755
index f1308b84c609..000000000000
--- a/app/ninja/repositories/ClientRepository.php
+++ /dev/null
@@ -1,202 +0,0 @@
-join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->where('clients.account_id', '=', \Auth::user()->account_id)
- ->where('contacts.is_primary', '=', true)
- ->where('contacts.deleted_at', '=', null)
- ->select('clients.public_id', 'clients.name', 'contacts.first_name', 'contacts.last_name', 'clients.balance', 'clients.last_login', 'clients.created_at', 'clients.work_phone', 'contacts.email', 'clients.currency_id', 'clients.deleted_at', 'clients.is_deleted');
-
- if (!\Session::get('show_trash:client')) {
- $query->where('clients.deleted_at', '=', null);
- }
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.first_name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.last_name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.email', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function getErrors($data)
- {
- $contact = isset($data['contacts']) ? (array) $data['contacts'][0] : (isset($data['contact']) ? $data['contact'] : []);
- $validator = \Validator::make($contact, ['email' => 'required|email']);
- if ($validator->fails()) {
- return $validator->messages();
- }
-
- return false;
- }
-
- public function save($publicId, $data, $notify = true)
- {
- if (!$publicId || $publicId == "-1") {
- $client = Client::createNew();
- $client->currency_id = 1;
- $contact = Contact::createNew();
- $contact->is_primary = true;
- $contact->send_invoice = true;
- } else {
- $client = Client::scope($publicId)->with('contacts')->firstOrFail();
- $contact = $client->contacts()->where('is_primary', '=', true)->firstOrFail();
- }
-
- if (isset($data['name'])) {
- $client->name = trim($data['name']);
- }
- if (isset($data['id_number'])) {
- $client->id_number = trim($data['id_number']);
- }
- if (isset($data['vat_number'])) {
- $client->vat_number = trim($data['vat_number']);
- }
- if (isset($data['work_phone'])) {
- $client->work_phone = trim($data['work_phone']);
- }
- if (isset($data['custom_value1'])) {
- $client->custom_value1 = trim($data['custom_value1']);
- }
- if (isset($data['custom_value2'])) {
- $client->custom_value2 = trim($data['custom_value2']);
- }
- if (isset($data['address1'])) {
- $client->address1 = trim($data['address1']);
- }
- if (isset($data['address2'])) {
- $client->address2 = trim($data['address2']);
- }
- if (isset($data['city'])) {
- $client->city = trim($data['city']);
- }
- if (isset($data['state'])) {
- $client->state = trim($data['state']);
- }
- if (isset($data['postal_code'])) {
- $client->postal_code = trim($data['postal_code']);
- }
- if (isset($data['country_id'])) {
- $client->country_id = $data['country_id'] ? $data['country_id'] : null;
- }
- if (isset($data['private_notes'])) {
- $client->private_notes = trim($data['private_notes']);
- }
- if (isset($data['size_id'])) {
- $client->size_id = $data['size_id'] ? $data['size_id'] : null;
- }
- if (isset($data['industry_id'])) {
- $client->industry_id = $data['industry_id'] ? $data['industry_id'] : null;
- }
- if (isset($data['currency_id'])) {
- $client->currency_id = $data['currency_id'] ? $data['currency_id'] : null;
- }
- if (isset($data['payment_terms'])) {
- $client->payment_terms = $data['payment_terms'];
- }
- if (isset($data['website'])) {
- $client->website = trim($data['website']);
- }
-
- $client->save();
-
- $isPrimary = true;
- $contactIds = [];
-
- if (isset($data['contact'])) {
- $info = $data['contact'];
- if (isset($info['email'])) {
- $contact->email = trim(strtolower($info['email']));
- }
- if (isset($info['first_name'])) {
- $contact->first_name = trim($info['first_name']);
- }
- if (isset($info['last_name'])) {
- $contact->last_name = trim($info['last_name']);
- }
- if (isset($info['phone'])) {
- $contact->phone = trim($info['phone']);
- }
- $contact->is_primary = true;
- $contact->send_invoice = true;
- $client->contacts()->save($contact);
- } else {
- foreach ($data['contacts'] as $record) {
- $record = (array) $record;
-
- if ($publicId != "-1" && isset($record['public_id']) && $record['public_id']) {
- $contact = Contact::scope($record['public_id'])->firstOrFail();
- } else {
- $contact = Contact::createNew();
- }
-
- if (isset($record['email'])) {
- $contact->email = trim(strtolower($record['email']));
- }
- if (isset($record['first_name'])) {
- $contact->first_name = trim($record['first_name']);
- }
- if (isset($record['last_name'])) {
- $contact->last_name = trim($record['last_name']);
- }
- if (isset($record['phone'])) {
- $contact->phone = trim($record['phone']);
- }
- $contact->is_primary = $isPrimary;
- $contact->send_invoice = isset($record['send_invoice']) ? $record['send_invoice'] : true;
- $isPrimary = false;
-
- $client->contacts()->save($contact);
- $contactIds[] = $contact->public_id;
- }
-
- foreach ($client->contacts as $contact) {
- if (!in_array($contact->public_id, $contactIds)) {
- $contact->delete();
- }
- }
- }
-
- $client->save();
-
- if (!$publicId || $publicId == "-1") {
- \Activity::createClient($client, $notify);
- }
-
- return $client;
- }
-
- public function bulk($ids, $action)
- {
- $clients = Client::withTrashed()->scope($ids)->get();
-
- foreach ($clients as $client) {
- if ($action == 'restore') {
- $client->restore();
-
- $client->is_deleted = false;
- $client->save();
- } else {
- if ($action == 'delete') {
- $client->is_deleted = true;
- $client->save();
- }
-
- $client->delete();
- }
- }
-
- return count($clients);
- }
-}
diff --git a/app/ninja/repositories/CreditRepository.php b/app/ninja/repositories/CreditRepository.php
deleted file mode 100755
index 3bbdae5c8e10..000000000000
--- a/app/ninja/repositories/CreditRepository.php
+++ /dev/null
@@ -1,77 +0,0 @@
-join('clients', 'clients.id', '=', 'credits.client_id')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->where('clients.account_id', '=', \Auth::user()->account_id)
- ->where('clients.deleted_at', '=', null)
- ->where('contacts.is_primary', '=', true)
- ->select('credits.public_id', 'clients.name as client_name', 'clients.public_id as client_public_id', 'credits.amount', 'credits.balance', 'credits.credit_date', 'clients.currency_id', 'contacts.first_name', 'contacts.last_name', 'contacts.email', 'credits.private_notes', 'credits.deleted_at', 'credits.is_deleted');
-
- if ($clientPublicId) {
- $query->where('clients.public_id', '=', $clientPublicId);
- }
-
- if (!\Session::get('show_trash:credit')) {
- $query->where('credits.deleted_at', '=', null);
- }
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function save($publicId = null, $input)
- {
- if ($publicId) {
- $credit = Credit::scope($publicId)->firstOrFail();
- } else {
- $credit = Credit::createNew();
- }
-
- $credit->client_id = Client::getPrivateId($input['client']);
- $credit->credit_date = Utils::toSqlDate($input['credit_date']);
- $credit->amount = Utils::parseFloat($input['amount']);
- $credit->balance = Utils::parseFloat($input['amount']);
- $credit->private_notes = trim($input['private_notes']);
- $credit->save();
-
- return $credit;
- }
-
- public function bulk($ids, $action)
- {
- if (!$ids) {
- return 0;
- }
-
- $credits = Credit::withTrashed()->scope($ids)->get();
-
- foreach ($credits as $credit) {
- if ($action == 'restore') {
- $credit->restore();
- } else {
- if ($action == 'delete') {
- $credit->is_deleted = true;
- $credit->save();
- }
-
- $credit->delete();
- }
- }
-
- return count($credits);
- }
-}
diff --git a/app/ninja/repositories/InvoiceRepository.php b/app/ninja/repositories/InvoiceRepository.php
deleted file mode 100755
index c364cb569b9c..000000000000
--- a/app/ninja/repositories/InvoiceRepository.php
+++ /dev/null
@@ -1,490 +0,0 @@
-join('clients', 'clients.id', '=', 'invoices.client_id')
- ->join('invoice_statuses', 'invoice_statuses.id', '=', 'invoices.invoice_status_id')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->where('invoices.account_id', '=', $accountId)
- ->where('clients.deleted_at', '=', null)
- ->where('contacts.deleted_at', '=', null)
- ->where('invoices.is_recurring', '=', false)
- ->where('contacts.is_primary', '=', true)
- ->select('clients.public_id as client_public_id', 'invoice_number', 'invoice_status_id', 'clients.name as client_name', 'invoices.public_id', 'amount', 'invoices.balance', 'invoice_date', 'due_date', 'invoice_statuses.name as invoice_status_name', 'clients.currency_id', 'contacts.first_name', 'contacts.last_name', 'contacts.email', 'quote_id', 'quote_invoice_id', 'invoices.deleted_at', 'invoices.is_deleted');
-
- if (!\Session::get('show_trash:'.$entityType)) {
- $query->where('invoices.deleted_at', '=', null);
- }
-
- if ($clientPublicId) {
- $query->where('clients.public_id', '=', $clientPublicId);
- }
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%')
- ->orWhere('invoices.invoice_number', 'like', '%'.$filter.'%')
- ->orWhere('invoice_statuses.name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.first_name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.last_name', 'like', '%'.$filter.'%')
- ->orWhere('contacts.email', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function getRecurringInvoices($accountId, $clientPublicId = false, $filter = false)
- {
- $query = \DB::table('invoices')
- ->join('clients', 'clients.id', '=', 'invoices.client_id')
- ->join('frequencies', 'frequencies.id', '=', 'invoices.frequency_id')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->where('invoices.account_id', '=', $accountId)
- ->where('invoices.is_quote', '=', false)
- ->where('clients.deleted_at', '=', null)
- ->where('contacts.deleted_at', '=', null)
- ->where('invoices.is_recurring', '=', true)
- ->where('contacts.is_primary', '=', true)
- ->select('clients.public_id as client_public_id', 'clients.name as client_name', 'invoices.public_id', 'amount', 'frequencies.name as frequency', 'start_date', 'end_date', 'clients.currency_id', 'contacts.first_name', 'contacts.last_name', 'contacts.email', 'invoices.deleted_at', 'invoices.is_deleted');
-
- if ($clientPublicId) {
- $query->where('clients.public_id', '=', $clientPublicId);
- }
-
- if (!\Session::get('show_trash:invoice')) {
- $query->where('invoices.deleted_at', '=', null);
- }
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%')
- ->orWhere('invoices.invoice_number', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function getClientDatatable($contactId, $entityType, $search)
- {
- $query = \DB::table('invitations')
- ->join('invoices', 'invoices.id', '=', 'invitations.invoice_id')
- ->join('clients', 'clients.id', '=', 'invoices.client_id')
- ->where('invitations.contact_id', '=', $contactId)
- ->where('invitations.deleted_at', '=', null)
- ->where('invoices.is_quote', '=', $entityType == ENTITY_QUOTE)
- ->where('invoices.is_deleted', '=', false)
- ->where('clients.deleted_at', '=', null)
- ->where('invoices.is_recurring', '=', false)
- ->select('invitation_key', 'invoice_number', 'invoice_date', 'invoices.balance as balance', 'due_date', 'clients.public_id as client_public_id', 'clients.name as client_name', 'invoices.public_id', 'amount', 'start_date', 'end_date', 'clients.currency_id');
-
- $table = \Datatable::query($query)
- ->addColumn('invoice_number', function ($model) use ($entityType) { return link_to('/view/'.$model->invitation_key, $model->invoice_number); })
- ->addColumn('invoice_date', function ($model) { return Utils::fromSqlDate($model->invoice_date); })
- ->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id); });
-
- if ($entityType == ENTITY_INVOICE) {
- $table->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); });
- }
-
- return $table->addColumn('due_date', function ($model) { return Utils::fromSqlDate($model->due_date); })
- ->make();
- }
-
- public function getDatatable($accountId, $clientPublicId = null, $entityType, $search)
- {
- $query = $this->getInvoices($accountId, $clientPublicId, $entityType, $search)
- ->where('invoices.is_quote', '=', $entityType == ENTITY_QUOTE ? true : false);
-
- $table = \Datatable::query($query);
-
- if (!$clientPublicId) {
- $table->addColumn('checkbox', function ($model) { return ' '; });
- }
-
- $table->addColumn("invoice_number", function ($model) use ($entityType) { return link_to("{$entityType}s/".$model->public_id.'/edit', $model->invoice_number, ['class' => Utils::getEntityRowClass($model)]); });
-
- if (!$clientPublicId) {
- $table->addColumn('client_name', function ($model) { return link_to('clients/'.$model->client_public_id, Utils::getClientDisplayName($model)); });
- }
-
- $table->addColumn("invoice_date", function ($model) { return Utils::fromSqlDate($model->invoice_date); })
- ->addColumn('amount', function ($model) { return Utils::formatMoney($model->amount, $model->currency_id); });
-
- if ($entityType == ENTITY_INVOICE) {
- $table->addColumn('balance', function ($model) { return Utils::formatMoney($model->balance, $model->currency_id); });
- }
-
- return $table->addColumn('due_date', function ($model) { return Utils::fromSqlDate($model->due_date); })
- ->addColumn('invoice_status_name', function ($model) { return $model->quote_invoice_id ? link_to("invoices/{$model->quote_invoice_id}/edit", trans('texts.converted')) : $model->invoice_status_name; })
- ->addColumn('dropdown', function ($model) use ($entityType) {
-
- if ($model->is_deleted) {
- return '
';
- }
-
- $str = '
-
- '.trans('texts.select').'
-
-
-
';
- })
- ->make();
- }
-
- public function getErrors($input)
- {
- $contact = (array) $input->client->contacts[0];
- $rules = ['email' => 'required|email'];
- $validator = \Validator::make($contact, $rules);
-
- if ($validator->fails()) {
- return $validator;
- }
-
- $invoice = (array) $input;
- $invoiceId = isset($invoice['public_id']) && $invoice['public_id'] ? Invoice::getPrivateId($invoice['public_id']) : null;
- $rules = [
- 'invoice_number' => 'required|unique:invoices,invoice_number,'.$invoiceId.',id,account_id,'.\Auth::user()->account_id,
- 'discount' => 'positive',
- ];
-
- if ($invoice['is_recurring'] && $invoice['start_date'] && $invoice['end_date']) {
- $rules['end_date'] = 'after:'.$invoice['start_date'];
- }
-
- $validator = \Validator::make($invoice, $rules);
-
- if ($validator->fails()) {
- return $validator;
- }
-
- return false;
- }
-
- public function save($publicId, $data, $entityType)
- {
- if ($publicId) {
- $invoice = Invoice::scope($publicId)->firstOrFail();
- } else {
- $invoice = Invoice::createNew();
-
- if ($entityType == ENTITY_QUOTE) {
- $invoice->is_quote = true;
- }
- }
-
- $account = \Auth::user()->account;
-
- $invoice->client_id = $data['client_id'];
- $invoice->discount = round(Utils::parseFloat($data['discount']), 2);
- $invoice->is_amount_discount = $data['is_amount_discount'] ? true : false;
- $invoice->invoice_number = trim($data['invoice_number']);
- $invoice->is_recurring = $data['is_recurring'] && !Utils::isDemo() ? true : false;
- $invoice->invoice_date = isset($data['invoice_date_sql']) ? $data['invoice_date_sql'] : Utils::toSqlDate($data['invoice_date']);
-
- if ($invoice->is_recurring) {
- $invoice->frequency_id = $data['frequency_id'] ? $data['frequency_id'] : 0;
- $invoice->start_date = Utils::toSqlDate($data['start_date']);
- $invoice->end_date = Utils::toSqlDate($data['end_date']);
- $invoice->due_date = null;
- } else {
- $invoice->due_date = isset($data['due_date_sql']) ? $data['due_date_sql'] : Utils::toSqlDate($data['due_date']);
- $invoice->frequency_id = 0;
- $invoice->start_date = null;
- $invoice->end_date = null;
- }
-
- $invoice->terms = trim($data['terms']) ? trim($data['terms']) : ($account->invoice_terms ? $account->invoice_terms : '');
- $invoice->invoice_footer = trim($data['invoice_footer']) ? trim($data['invoice_footer']) : $account->invoice_footer;
- $invoice->public_notes = trim($data['public_notes']);
- $invoice->po_number = trim($data['po_number']);
- $invoice->invoice_design_id = $data['invoice_design_id'];
-
- if (isset($data['tax_name']) && isset($data['tax_rate']) && $data['tax_name']) {
- $invoice->tax_rate = Utils::parseFloat($data['tax_rate']);
- $invoice->tax_name = trim($data['tax_name']);
- } else {
- $invoice->tax_rate = 0;
- $invoice->tax_name = '';
- }
-
- $total = 0;
-
- foreach ($data['invoice_items'] as $item) {
- $item = (array) $item;
- if (!$item['cost'] && !$item['product_key'] && !$item['notes']) {
- continue;
- }
-
- $invoiceItemCost = round(Utils::parseFloat($item['cost']), 2);
- $invoiceItemQty = round(Utils::parseFloat($item['qty']), 2);
- $invoiceItemTaxRate = 0;
-
- if (isset($item['tax_rate']) && Utils::parseFloat($item['tax_rate']) > 0) {
- $invoiceItemTaxRate = Utils::parseFloat($item['tax_rate']);
- }
-
- $lineTotal = $invoiceItemCost * $invoiceItemQty;
-
- $total += round($lineTotal + ($lineTotal * $invoiceItemTaxRate / 100), 2);
- }
-
- if ($invoice->discount > 0) {
- if ($invoice->is_amount_discount) {
- $total -= $invoice->discount;
- } else {
- $total *= (100 - $invoice->discount) / 100;
- }
- }
-
- $invoice->custom_value1 = round($data['custom_value1'], 2);
- $invoice->custom_value2 = round($data['custom_value2'], 2);
- $invoice->custom_taxes1 = $data['custom_taxes1'] ? true : false;
- $invoice->custom_taxes2 = $data['custom_taxes2'] ? true : false;
-
- // custom fields charged taxes
- if ($invoice->custom_value1 && $invoice->custom_taxes1) {
- $total += $invoice->custom_value1;
- }
- if ($invoice->custom_value2 && $invoice->custom_taxes2) {
- $total += $invoice->custom_value2;
- }
-
- $total += $total * $invoice->tax_rate / 100;
- $total = round($total, 2);
-
- // custom fields not charged taxes
- if ($invoice->custom_value1 && !$invoice->custom_taxes1) {
- $total += $invoice->custom_value1;
- }
- if ($invoice->custom_value2 && !$invoice->custom_taxes2) {
- $total += $invoice->custom_value2;
- }
-
- if ($publicId) {
- $invoice->balance = $total - ($invoice->amount - $invoice->balance);
- } else {
- $invoice->balance = $total;
- }
-
- $invoice->amount = $total;
- $invoice->save();
-
- if ($publicId) {
- $invoice->invoice_items()->forceDelete();
- }
-
- foreach ($data['invoice_items'] as $item) {
- $item = (array) $item;
- if (!$item['cost'] && !$item['product_key'] && !$item['notes']) {
- continue;
- }
-
- if ($item['product_key']) {
- $product = Product::findProductByKey(trim($item['product_key']));
-
- if (!$product) {
- $product = Product::createNew();
- $product->product_key = trim($item['product_key']);
- }
-
- if (\Auth::user()->account->update_products) {
- $product->notes = $item['notes'];
- $product->cost = $item['cost'];
- }
-
- $product->save();
- }
-
- $invoiceItem = InvoiceItem::createNew();
- $invoiceItem->product_id = isset($product) ? $product->id : null;
- $invoiceItem->product_key = trim($invoice->is_recurring ? $item->product_key : Utils::processVariables($item['product_key']));
- $invoiceItem->notes = trim($invoice->is_recurring ? $item['notes'] : Utils::processVariables($item['notes']));
- $invoiceItem->cost = Utils::parseFloat($item['cost']);
- $invoiceItem->qty = Utils::parseFloat($item['qty']);
- $invoiceItem->tax_rate = 0;
-
- if (isset($item['tax_rate']) && isset($item['tax_name']) && $item['tax_name']) {
- $invoiceItem['tax_rate'] = Utils::parseFloat($item['tax_rate']);
- $invoiceItem['tax_name'] = trim($item['tax_name']);
- }
-
- $invoice->invoice_items()->save($invoiceItem);
- }
-
- if ((isset($data['set_default_terms']) && $data['set_default_terms'])
- || (isset($data['set_default_footer']) && $data['set_default_footer'])) {
- if (isset($data['set_default_terms']) && $data['set_default_terms']) {
- $account->invoice_terms = trim($data['terms']);
- }
- if (isset($data['set_default_footer']) && $data['set_default_footer']) {
- $account->invoice_footer = trim($data['invoice_footer']);
- }
- $account->save();
- }
-
- return $invoice;
- }
-
- public function cloneInvoice($invoice, $quotePublicId = null)
- {
- $invoice->load('invitations', 'invoice_items');
- $account = $invoice->account;
-
- $clone = Invoice::createNew($invoice);
- $clone->balance = $invoice->amount;
-
- // if the invoice prefix is diff than quote prefix, use the same number for the invoice
- if (($account->invoice_number_prefix || $account->quote_number_prefix)
- && $account->invoice_number_prefix != $account->quote_number_prefix
- && $account->share_counter) {
-
- $invoiceNumber = $invoice->invoice_number;
- if (strpos($invoiceNumber, $account->quote_number_prefix) === 0) {
- $invoiceNumber = substr($invoiceNumber, strlen($account->quote_number_prefix));
- }
- $clone->invoice_number = $account->invoice_number_prefix.$invoiceNumber;
- } else {
- $clone->invoice_number = $account->getNextInvoiceNumber();
- }
-
- foreach ([
- 'client_id',
- 'discount',
- 'is_amount_discount',
- 'invoice_date',
- 'po_number',
- 'due_date',
- 'is_recurring',
- 'frequency_id',
- 'start_date',
- 'end_date',
- 'terms',
- 'invoice_footer',
- 'public_notes',
- 'invoice_design_id',
- 'tax_name',
- 'tax_rate',
- 'amount',
- 'is_quote',
- 'custom_value1',
- 'custom_value2',
- 'custom_taxes1',
- 'custom_taxes2', ] as $field) {
- $clone->$field = $invoice->$field;
- }
-
- if ($quotePublicId) {
- $clone->is_quote = false;
- $clone->quote_id = $quotePublicId;
- }
-
- $clone->save();
-
- if ($quotePublicId) {
- $invoice->quote_invoice_id = $clone->public_id;
- $invoice->save();
- }
-
- foreach ($invoice->invoice_items as $item) {
- $cloneItem = InvoiceItem::createNew($invoice);
-
- foreach ([
- 'product_id',
- 'product_key',
- 'notes',
- 'cost',
- 'qty',
- 'tax_name',
- 'tax_rate', ] as $field) {
- $cloneItem->$field = $item->$field;
- }
-
- $clone->invoice_items()->save($cloneItem);
- }
-
- foreach ($invoice->invitations as $invitation) {
- $cloneInvitation = Invitation::createNew($invoice);
- $cloneInvitation->contact_id = $invitation->contact_id;
- $cloneInvitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
- $clone->invitations()->save($cloneInvitation);
- }
-
- return $clone;
- }
-
- public function bulk($ids, $action, $statusId = false)
- {
- if (!$ids) {
- return 0;
- }
-
- $invoices = Invoice::withTrashed()->scope($ids)->get();
-
- foreach ($invoices as $invoice) {
- if ($action == 'mark') {
- $invoice->invoice_status_id = $statusId;
- $invoice->save();
- } elseif ($action == 'restore') {
- $invoice->restore();
- } else {
- if ($action == 'delete') {
- $invoice->is_deleted = true;
- $invoice->save();
- }
-
- $invoice->delete();
- }
- }
-
- return count($invoices);
- }
-}
diff --git a/app/ninja/repositories/PaymentRepository.php b/app/ninja/repositories/PaymentRepository.php
deleted file mode 100755
index e7e986db374b..000000000000
--- a/app/ninja/repositories/PaymentRepository.php
+++ /dev/null
@@ -1,154 +0,0 @@
-join('clients', 'clients.id', '=', 'payments.client_id')
- ->join('invoices', 'invoices.id', '=', 'payments.invoice_id')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->leftJoin('payment_types', 'payment_types.id', '=', 'payments.payment_type_id')
- ->where('payments.account_id', '=', \Auth::user()->account_id)
- ->where('clients.deleted_at', '=', null)
- ->where('contacts.is_primary', '=', true)
- ->where('contacts.deleted_at', '=', null)
- ->select('payments.public_id', 'payments.transaction_reference', 'clients.name as client_name', 'clients.public_id as client_public_id', 'payments.amount', 'payments.payment_date', 'invoices.public_id as invoice_public_id', 'invoices.invoice_number', 'clients.currency_id', 'contacts.first_name', 'contacts.last_name', 'contacts.email', 'payment_types.name as payment_type', 'payments.account_gateway_id', 'payments.deleted_at', 'payments.is_deleted', 'invoices.is_deleted as invoice_is_deleted');
-
- if (!\Session::get('show_trash:payment')) {
- $query->where('payments.deleted_at', '=', null)
- ->where('invoices.deleted_at', '=', null);
- }
-
- if ($clientPublicId) {
- $query->where('clients.public_id', '=', $clientPublicId);
- }
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function findForContact($contactId = null, $filter = null)
- {
- $query = \DB::table('payments')
- ->join('clients', 'clients.id', '=', 'payments.client_id')
- ->join('invoices', 'invoices.id', '=', 'payments.invoice_id')
- ->join('contacts', 'contacts.client_id', '=', 'clients.id')
- ->leftJoin('invitations', function ($join) {
- $join->on('invitations.invoice_id', '=', 'invoices.id')
- ->on('invitations.contact_id', '=', 'contacts.id');
- })
- ->leftJoin('payment_types', 'payment_types.id', '=', 'payments.payment_type_id')
- ->where('clients.is_deleted', '=', false)
- ->where('payments.is_deleted', '=', false)
- ->where('invitations.deleted_at', '=', null)
- ->where('invoices.deleted_at', '=', null)
- ->where('invitations.contact_id', '=', $contactId)
- ->select('invitations.invitation_key', 'payments.public_id', 'payments.transaction_reference', 'clients.name as client_name', 'clients.public_id as client_public_id', 'payments.amount', 'payments.payment_date', 'invoices.public_id as invoice_public_id', 'invoices.invoice_number', 'clients.currency_id', 'contacts.first_name', 'contacts.last_name', 'contacts.email', 'payment_types.name as payment_type', 'payments.account_gateway_id');
-
- if ($filter) {
- $query->where(function ($query) use ($filter) {
- $query->where('clients.name', 'like', '%'.$filter.'%');
- });
- }
-
- return $query;
- }
-
- public function getErrors($input)
- {
- $rules = array(
- 'client' => 'required',
- 'invoice' => 'required',
- 'amount' => 'required',
- );
-
- if ($input['payment_type_id'] == PAYMENT_TYPE_CREDIT) {
- $rules['payment_type_id'] = 'has_credit:'.$input['client'].','.$input['amount'];
- }
-
- $validator = \Validator::make($input, $rules);
-
- if ($validator->fails()) {
- return $validator;
- }
-
- return false;
- }
-
- public function save($publicId = null, $input)
- {
- if ($publicId) {
- $payment = Payment::scope($publicId)->firstOrFail();
- } else {
- $payment = Payment::createNew();
- }
-
- $paymentTypeId = $input['payment_type_id'] ? $input['payment_type_id'] : null;
- $payment->payment_type_id = $paymentTypeId;
- $payment->payment_date = Utils::toSqlDate($input['payment_date']);
- $payment->transaction_reference = trim($input['transaction_reference']);
-
- if (!$publicId) {
- $clientId = Client::getPrivateId($input['client']);
- $amount = Utils::parseFloat($input['amount']);
-
- if ($paymentTypeId == PAYMENT_TYPE_CREDIT) {
- $credits = Credit::scope()->where('client_id', '=', $clientId)
- ->where('balance', '>', 0)->orderBy('created_at')->get();
- $applied = 0;
-
- foreach ($credits as $credit) {
- $applied += $credit->apply($amount);
-
- if ($applied >= $amount) {
- break;
- }
- }
- }
-
- $payment->client_id = $clientId;
- $payment->invoice_id = isset($input['invoice']) && $input['invoice'] != "-1" ? Invoice::getPrivateId($input['invoice']) : null;
- $payment->amount = $amount;
- }
-
- $payment->save();
-
- return $payment;
- }
-
- public function bulk($ids, $action)
- {
- if (!$ids) {
- return 0;
- }
-
- $payments = Payment::withTrashed()->scope($ids)->get();
-
- foreach ($payments as $payment) {
- if ($action == 'restore') {
- $payment->restore();
- } else {
- if ($action == 'delete') {
- $payment->is_deleted = true;
- $payment->save();
- }
-
- $payment->delete();
- }
- }
-
- return count($payments);
- }
-}
diff --git a/app/ninja/repositories/TaxRateRepository.php b/app/ninja/repositories/TaxRateRepository.php
deleted file mode 100755
index 9fe1c854411e..000000000000
--- a/app/ninja/repositories/TaxRateRepository.php
+++ /dev/null
@@ -1,42 +0,0 @@
-rate) || (isset($record->is_deleted) && $record->is_deleted)) {
- continue;
- }
-
- if (!isset($record->name) || !trim($record->name)) {
- continue;
- }
-
- if ($record->public_id) {
- $taxRate = TaxRate::scope($record->public_id)->firstOrFail();
- } else {
- $taxRate = TaxRate::createNew();
- }
-
- $taxRate->rate = Utils::parseFloat($record->rate);
- $taxRate->name = trim($record->name);
- $taxRate->save();
-
- $taxRateIds[] = $taxRate->public_id;
- }
-
- $taxRates = TaxRate::scope()->get();
-
- foreach ($taxRates as $taxRate) {
- if (!in_array($taxRate->public_id, $taxRateIds)) {
- $taxRate->delete();
- }
- }
- }
-}
diff --git a/app/routes.php b/app/routes.php
deleted file mode 100755
index fc436e177b86..000000000000
--- a/app/routes.php
+++ /dev/null
@@ -1,493 +0,0 @@
-'api.client.quotes', 'uses'=>'QuoteController@getClientDatatable'));
-Route::get('api/client.invoices', array('as'=>'api.client.invoices', 'uses'=>'InvoiceController@getClientDatatable'));
-Route::get('api/client.payments', array('as'=>'api.client.payments', 'uses'=>'PaymentController@getClientDatatable'));
-
-Route::get('license', 'PaymentController@show_license_payment');
-Route::post('license', 'PaymentController@do_license_payment');
-Route::get('claim_license', 'PaymentController@claim_license');
-
-Route::post('signup/validate', 'AccountController@checkEmail');
-Route::post('signup/submit', 'AccountController@submitSignup');
-
-// Confide routes
-Route::get('login', 'UserController@login');
-Route::post('login', 'UserController@do_login');
-Route::get('user/confirm/{code}', 'UserController@confirm');
-Route::get('forgot_password', 'UserController@forgot_password');
-Route::post('forgot_password', 'UserController@do_forgot_password');
-Route::get('user/reset/{token?}', 'UserController@reset_password');
-Route::post('user/reset', 'UserController@do_reset_password');
-Route::get('logout', 'UserController@logout');
-
-if (Utils::isNinja()) {
- Route::post('/signup/register', 'AccountController@doRegister');
- Route::get('/news_feed/{user_type}/{version}/', 'HomeController@newsFeed');
- Route::get('/demo', 'AccountController@demo');
-}
-
-Route::group(array('before' => 'auth'), function() {
- Route::get('dashboard', 'DashboardController@index');
- Route::get('view_archive/{entity_type}/{visible}', 'AccountController@setTrashVisible');
- Route::get('hide_message', 'HomeController@hideMessage');
- Route::get('force_inline_pdf', 'UserController@forcePDFJS');
-
- Route::get('api/users', array('as'=>'api.users', 'uses'=>'UserController@getDatatable'));
- Route::resource('users', 'UserController');
- Route::post('users/delete', 'UserController@delete');
- Route::get('send_confirmation/{user_id}', 'UserController@sendConfirmation');
- Route::get('restore_user/{user_id}', 'UserController@restoreUser');
- Route::post('users/change_password', 'UserController@changePassword');
-
- Route::get('api/tokens', array('as'=>'api.tokens', 'uses'=>'TokenController@getDatatable'));
- Route::resource('tokens', 'TokenController');
- Route::post('tokens/delete', 'TokenController@delete');
-
- Route::get('api/products', array('as'=>'api.products', 'uses'=>'ProductController@getDatatable'));
- Route::resource('products', 'ProductController');
- Route::get('products/{product_id}/archive', 'ProductController@archive');
-
- Route::get('company/advanced_settings/data_visualizations', 'ReportController@d3');
- Route::get('company/advanced_settings/chart_builder', 'ReportController@report');
- Route::post('company/advanced_settings/chart_builder', 'ReportController@report');
-
- Route::post('company/cancel_account', 'AccountController@cancelAccount');
- Route::get('account/getSearchData', array('as' => 'getSearchData', 'uses' => 'AccountController@getSearchData'));
- Route::get('company/{section?}/{sub_section?}', 'AccountController@showSection');
- Route::post('company/{section?}/{sub_section?}', 'AccountController@doSection');
- Route::post('user/setTheme', 'UserController@setTheme');
- Route::post('remove_logo', 'AccountController@removeLogo');
- Route::post('account/go_pro', 'AccountController@enableProPlan');
-
- Route::resource('gateways', 'AccountGatewayController');
- Route::get('api/gateways', array('as'=>'api.gateways', 'uses'=>'AccountGatewayController@getDatatable'));
- Route::post('gateways/delete', 'AccountGatewayController@delete');
-
- Route::resource('clients', 'ClientController');
- Route::get('api/clients', array('as'=>'api.clients', 'uses'=>'ClientController@getDatatable'));
- Route::get('api/activities/{client_id?}', array('as'=>'api.activities', 'uses'=>'ActivityController@getDatatable'));
- Route::post('clients/bulk', 'ClientController@bulk');
-
- Route::get('recurring_invoices', 'InvoiceController@recurringIndex');
- Route::get('api/recurring_invoices/{client_id?}', array('as'=>'api.recurring_invoices', 'uses'=>'InvoiceController@getRecurringDatatable'));
-
- Route::get('invoices/invoice_history/{invoice_id}', 'InvoiceController@invoiceHistory');
- Route::get('quotes/quote_history/{invoice_id}', 'InvoiceController@invoiceHistory');
-
- Route::resource('invoices', 'InvoiceController');
- Route::get('api/invoices/{client_id?}', array('as'=>'api.invoices', 'uses'=>'InvoiceController@getDatatable'));
- Route::get('invoices/create/{client_id?}', 'InvoiceController@create');
- Route::get('invoices/{public_id}/clone', 'InvoiceController@cloneInvoice');
- Route::post('invoices/bulk', 'InvoiceController@bulk');
-
- Route::get('quotes/create/{client_id?}', 'QuoteController@create');
- Route::get('quotes/{public_id}/clone', 'InvoiceController@cloneInvoice');
- Route::get('quotes/{public_id}/edit', 'InvoiceController@edit');
- Route::put('quotes/{public_id}', 'InvoiceController@update');
- Route::get('quotes/{public_id}', 'InvoiceController@edit');
- Route::post('quotes', 'InvoiceController@store');
- Route::get('quotes', 'QuoteController@index');
- Route::get('api/quotes/{client_id?}', array('as'=>'api.quotes', 'uses'=>'QuoteController@getDatatable'));
- Route::post('quotes/bulk', 'QuoteController@bulk');
-
- Route::resource('payments', 'PaymentController');
- Route::get('payments/create/{client_id?}/{invoice_id?}', 'PaymentController@create');
- Route::get('api/payments/{client_id?}', array('as'=>'api.payments', 'uses'=>'PaymentController@getDatatable'));
- Route::post('payments/bulk', 'PaymentController@bulk');
-
- Route::get('credits/{id}/edit', function() {
- return View::make('header');
- });
- Route::resource('credits', 'CreditController');
- Route::get('credits/create/{client_id?}/{invoice_id?}', 'CreditController@create');
- Route::get('api/credits/{client_id?}', array('as'=>'api.credits', 'uses'=>'CreditController@getDatatable'));
- Route::post('credits/bulk', 'CreditController@bulk');
-
- //Route::resource('timesheets', 'TimesheetController');
-});
-
-// Route group for API
-Route::group(array('prefix' => 'api/v1', 'before' => ['api.access']), function()
-{
- Route::resource('ping', 'ClientApiController@ping');
- Route::resource('clients', 'ClientApiController');
- Route::resource('invoices', 'InvoiceApiController');
- Route::resource('quotes', 'QuoteApiController');
- Route::resource('payments', 'PaymentApiController');
- Route::post('api/hooks', 'IntegrationController@subscribe');
- Route::post('email_invoice', 'InvoiceApiController@emailInvoice');
-});
-
-define('CONTACT_EMAIL', Config::get('mail.from.address'));
-define('CONTACT_NAME', Config::get('mail.from.name'));
-define('SITE_URL', Config::get('app.url'));
-
-define('ENV_DEVELOPMENT', 'local');
-define('ENV_STAGING', 'staging');
-define('ENV_PRODUCTION', 'fortrabbit');
-
-define('RECENTLY_VIEWED', 'RECENTLY_VIEWED');
-define('ENTITY_CLIENT', 'client');
-define('ENTITY_INVOICE', 'invoice');
-define('ENTITY_RECURRING_INVOICE', 'recurring_invoice');
-define('ENTITY_PAYMENT', 'payment');
-define('ENTITY_CREDIT', 'credit');
-define('ENTITY_QUOTE', 'quote');
-
-define('PERSON_CONTACT', 'contact');
-define('PERSON_USER', 'user');
-
-define('ACCOUNT_DETAILS', 'details');
-define('ACCOUNT_NOTIFICATIONS', 'notifications');
-define('ACCOUNT_IMPORT_EXPORT', 'import_export');
-define('ACCOUNT_PAYMENTS', 'payments');
-define('ACCOUNT_MAP', 'import_map');
-define('ACCOUNT_EXPORT', 'export');
-define('ACCOUNT_PRODUCTS', 'products');
-define('ACCOUNT_ADVANCED_SETTINGS', 'advanced_settings');
-define('ACCOUNT_INVOICE_SETTINGS', 'invoice_settings');
-define('ACCOUNT_INVOICE_DESIGN', 'invoice_design');
-define('ACCOUNT_CHART_BUILDER', 'chart_builder');
-define('ACCOUNT_USER_MANAGEMENT', 'user_management');
-define('ACCOUNT_DATA_VISUALIZATIONS', 'data_visualizations');
-define('ACCOUNT_EMAIL_TEMPLATES', 'email_templates');
-define('ACCOUNT_TOKEN_MANAGEMENT', 'token_management');
-
-define('ACTIVITY_TYPE_CREATE_CLIENT', 1);
-define('ACTIVITY_TYPE_ARCHIVE_CLIENT', 2);
-define('ACTIVITY_TYPE_DELETE_CLIENT', 3);
-
-define('ACTIVITY_TYPE_CREATE_INVOICE', 4);
-define('ACTIVITY_TYPE_UPDATE_INVOICE', 5);
-define('ACTIVITY_TYPE_EMAIL_INVOICE', 6);
-define('ACTIVITY_TYPE_VIEW_INVOICE', 7);
-define('ACTIVITY_TYPE_ARCHIVE_INVOICE', 8);
-define('ACTIVITY_TYPE_DELETE_INVOICE', 9);
-
-define('ACTIVITY_TYPE_CREATE_PAYMENT', 10);
-define('ACTIVITY_TYPE_UPDATE_PAYMENT', 11);
-define('ACTIVITY_TYPE_ARCHIVE_PAYMENT', 12);
-define('ACTIVITY_TYPE_DELETE_PAYMENT', 13);
-
-define('ACTIVITY_TYPE_CREATE_CREDIT', 14);
-define('ACTIVITY_TYPE_UPDATE_CREDIT', 15);
-define('ACTIVITY_TYPE_ARCHIVE_CREDIT', 16);
-define('ACTIVITY_TYPE_DELETE_CREDIT', 17);
-
-define('ACTIVITY_TYPE_CREATE_QUOTE', 18);
-define('ACTIVITY_TYPE_UPDATE_QUOTE', 19);
-define('ACTIVITY_TYPE_EMAIL_QUOTE', 20);
-define('ACTIVITY_TYPE_VIEW_QUOTE', 21);
-define('ACTIVITY_TYPE_ARCHIVE_QUOTE', 22);
-define('ACTIVITY_TYPE_DELETE_QUOTE', 23);
-
-define('ACTIVITY_TYPE_RESTORE_QUOTE', 24);
-define('ACTIVITY_TYPE_RESTORE_INVOICE', 25);
-define('ACTIVITY_TYPE_RESTORE_CLIENT', 26);
-define('ACTIVITY_TYPE_RESTORE_PAYMENT', 27);
-define('ACTIVITY_TYPE_RESTORE_CREDIT', 28);
-define('ACTIVITY_TYPE_APPROVE_QUOTE', 29);
-
-define('DEFAULT_INVOICE_NUMBER', '0001');
-define('RECENTLY_VIEWED_LIMIT', 8);
-define('LOGGED_ERROR_LIMIT', 100);
-define('RANDOM_KEY_LENGTH', 32);
-define('MAX_NUM_CLIENTS', 500);
-define('MAX_NUM_CLIENTS_PRO', 20000);
-define('MAX_NUM_USERS', 20);
-
-define('INVOICE_STATUS_DRAFT', 1);
-define('INVOICE_STATUS_SENT', 2);
-define('INVOICE_STATUS_VIEWED', 3);
-define('INVOICE_STATUS_PARTIAL', 4);
-define('INVOICE_STATUS_PAID', 5);
-
-define('PAYMENT_TYPE_CREDIT', 1);
-
-define('FREQUENCY_WEEKLY', 1);
-define('FREQUENCY_TWO_WEEKS', 2);
-define('FREQUENCY_FOUR_WEEKS', 3);
-define('FREQUENCY_MONTHLY', 4);
-define('FREQUENCY_THREE_MONTHS', 5);
-define('FREQUENCY_SIX_MONTHS', 6);
-define('FREQUENCY_ANNUALLY', 7);
-
-define('SESSION_TIMEZONE', 'timezone');
-define('SESSION_CURRENCY', 'currency');
-define('SESSION_DATE_FORMAT', 'dateFormat');
-define('SESSION_DATE_PICKER_FORMAT', 'datePickerFormat');
-define('SESSION_DATETIME_FORMAT', 'datetimeFormat');
-define('SESSION_COUNTER', 'sessionCounter');
-define('SESSION_LOCALE', 'sessionLocale');
-
-define('DEFAULT_TIMEZONE', 'US/Eastern');
-define('DEFAULT_CURRENCY', 1); // US Dollar
-define('DEFAULT_DATE_FORMAT', 'M j, Y');
-define('DEFAULT_DATE_PICKER_FORMAT', 'M d, yyyy');
-define('DEFAULT_DATETIME_FORMAT', 'F j, Y, g:i a');
-define('DEFAULT_QUERY_CACHE', 120); // minutes
-define('DEFAULT_LOCALE', 'en');
-
-define('RESULT_SUCCESS', 'success');
-define('RESULT_FAILURE', 'failure');
-
-
-define('PAYMENT_LIBRARY_OMNIPAY', 1);
-define('PAYMENT_LIBRARY_PHP_PAYMENTS', 2);
-
-define('GATEWAY_AUTHORIZE_NET', 1);
-define('GATEWAY_AUTHORIZE_NET_SIM', 2);
-define('GATEWAY_PAYPAL_EXPRESS', 17);
-define('GATEWAY_PAYPAL_PRO', 18);
-define('GATEWAY_STRIPE', 23);
-define('GATEWAY_TWO_CHECKOUT', 27);
-define('GATEWAY_BEANSTREAM', 29);
-define('GATEWAY_PSIGATE', 30);
-define('GATEWAY_MOOLAH', 31);
-
-define('EVENT_CREATE_CLIENT', 1);
-define('EVENT_CREATE_INVOICE', 2);
-define('EVENT_CREATE_QUOTE', 3);
-define('EVENT_CREATE_PAYMENT', 4);
-
-define('REQUESTED_PRO_PLAN', 'REQUESTED_PRO_PLAN');
-define('DEMO_ACCOUNT_ID', 'DEMO_ACCOUNT_ID');
-define('NINJA_ACCOUNT_KEY', 'zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h');
-define('NINJA_GATEWAY_ID', GATEWAY_AUTHORIZE_NET);
-define('NINJA_GATEWAY_CONFIG', '{"apiLoginId":"626vWcD5","transactionKey":"4bn26TgL9r4Br4qJ","testMode":"","developerMode":""}');
-define('NINJA_WEB_URL', 'https://www.invoiceninja.com');
-define('NINJA_APP_URL', 'https://app.invoiceninja.com');
-define('NINJA_VERSION', '1.6.1');
-define('NINJA_DATE', '2000-01-01');
-define('NINJA_FROM_EMAIL', 'maildelivery@invoiceninja.com');
-define('RELEASES_URL', 'https://github.com/hillelcoren/invoice-ninja/releases/');
-
-define('COUNT_FREE_DESIGNS', 4);
-define('PRODUCT_ONE_CLICK_INSTALL', 1);
-define('PRODUCT_INVOICE_DESIGNS', 2);
-define('PRODUCT_WHITE_LABEL', 3);
-define('PRODUCT_SELF_HOST', 4);
-define('WHITE_LABEL_AFFILIATE_KEY', '92D2J5');
-define('INVOICE_DESIGNS_AFFILIATE_KEY', 'T3RS74');
-define('SELF_HOST_AFFILIATE_KEY', '8S69AD');
-
-define('PRO_PLAN_PRICE', 50);
-define('WHITE_LABEL_PRICE', 20);
-define('INVOICE_DESIGNS_PRICE', 10);
-
-define('USER_TYPE_SELF_HOST', 'SELF_HOST');
-define('USER_TYPE_CLOUD_HOST', 'CLOUD_HOST');
-define('NEW_VERSION_AVAILABLE', 'NEW_VERSION_AVAILABLE');
-
-define('TOKEN_BILLING_DISABLED', 1);
-define('TOKEN_BILLING_OPT_IN', 2);
-define('TOKEN_BILLING_OPT_OUT', 3);
-define('TOKEN_BILLING_ALWAYS', 4);
-
-define('PAYMENT_TYPE_PAYPAL', 'PAYMENT_TYPE_PAYPAL');
-define('PAYMENT_TYPE_CREDIT_CARD', 'PAYMENT_TYPE_CREDIT_CARD');
-define('PAYMENT_TYPE_ANY', 'PAYMENT_TYPE_ANY');
-
-/*
-define('GATEWAY_AMAZON', 30);
-define('GATEWAY_BLUEPAY', 31);
-define('GATEWAY_BRAINTREE', 32);
-define('GATEWAY_GOOGLE', 33);
-define('GATEWAY_QUICKBOOKS', 35);
-*/
-
-/**
- * TEST VALUES FOR THE CREDIT CARDS
- * NUMBER IS FOR THE BINARY COUNT FOR WHICH IMAGES TO DISPLAY
- * card IS FOR CARD IMAGE AND text IS FOR CARD NAME (TO ADD TO alt FOR IMAGE)
-**/
-$creditCards = [
- 1 => ['card' => 'images/credit_cards/Test-Visa-Icon.png', 'text' => 'Visa'],
- 2 => ['card' => 'images/credit_cards/Test-MasterCard-Icon.png', 'text' => 'Master Card'],
- 4 => ['card' => 'images/credit_cards/Test-AmericanExpress-Icon.png', 'text' => 'American Express'],
- 8 => ['card' => 'images/credit_cards/Test-Diners-Icon.png', 'text' => 'Diners'],
- 16 => ['card' => 'images/credit_cards/Test-Discover-Icon.png', 'text' => 'Discover']
- ];
-
-define('CREDIT_CARDS', serialize($creditCards));
-
-
-HTML::macro('nav_link', function($url, $text, $url2 = '', $extra = '') {
- $class = ( Request::is($url) || Request::is($url.'/*') || Request::is($url2.'/*') ) ? ' class="active"' : '';
- $title = ucwords(trans("texts.$text")) . Utils::getProLabel($text);
- return ''.$title.' ';
-});
-
-HTML::macro('tab_link', function($url, $text, $active = false) {
- $class = $active ? ' class="active"' : '';
- return ''.$text.' ';
-});
-
-HTML::macro('menu_link', function($type) {
- $types = $type.'s';
- $Type = ucfirst($type);
- $Types = ucfirst($types);
- $class = ( Request::is($types) || Request::is('*'.$type.'*')) && !Request::is('*advanced_settings*') ? ' active' : '';
-
- return '
- '.trans("texts.$types").'
-
- ';
-});
-
-HTML::macro('image_data', function($imagePath) {
- return 'data:image/jpeg;base64,' . base64_encode(file_get_contents(public_path().'/'.$imagePath));
-});
-
-
-HTML::macro('breadcrumbs', function() {
- $str = '';
-
- // Get the breadcrumbs by exploding the current path.
- $basePath = Utils::basePath();
- $parts = explode('?', $_SERVER['REQUEST_URI']);
- $path = $parts[0];
-
- if ($basePath != '/') {
- $path = str_replace($basePath, '', $path);
- }
- $crumbs = explode('/', $path);
-
- foreach ($crumbs as $key => $val) {
- if (is_numeric($val)) {
- unset($crumbs[$key]);
- }
- }
-
- $crumbs = array_values($crumbs);
- for ($i=0; $i';
- }
- }
- return $str . ' ';
-});
-
-function uctrans($text)
-{
- return ucwords(trans($text));
-}
-
-// optional trans: only return the string if it's translated
-function otrans($text)
-{
- $locale = Session::get(SESSION_LOCALE);
-
- if ($locale == 'en') {
- return trans($text);
- } else {
- $string = trans($text);
- $english = trans($text, [], 'en');
- return $string != $english ? $string : '';
- }
-}
-
-Validator::extend('positive', function($attribute, $value, $parameters) {
- return Utils::parseFloat($value) >= 0;
-});
-
-Validator::extend('has_credit', function($attribute, $value, $parameters) {
- $publicClientId = $parameters[0];
- $amount = $parameters[1];
-
- $client = Client::scope($publicClientId)->firstOrFail();
- $credit = $client->getTotalCredit();
-
- return $credit >= $amount;
-});
-
-
-/*
-// Log all SQL queries to laravel.log
-Event::listen('illuminate.query', function($query, $bindings, $time, $name)
-{
- $data = compact('bindings', 'time', 'name');
-
- // Format binding data for sql insertion
- foreach ($bindings as $i => $binding)
- {
- if ($binding instanceof \DateTime)
- {
- $bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
- }
- else if (is_string($binding))
- {
- $bindings[$i] = "'$binding'";
- }
- }
-
- // Insert bindings into query
- $query = str_replace(array('%', '?'), array('%%', '%s'), $query);
- $query = vsprintf($query, $bindings);
-
- Log::info($query, $data);
-});
-*/
-
-/*
-if (Auth::check() && Auth::user()->id === 1)
-{
- Auth::loginUsingId(1);
-}
-*/
\ No newline at end of file
diff --git a/app/start/artisan.php b/app/start/artisan.php
deleted file mode 100755
index 57ae92253c76..000000000000
--- a/app/start/artisan.php
+++ /dev/null
@@ -1,18 +0,0 @@
-pushHandler(new Monolog\Handler\SyslogHandler('intranet', 'user', Logger::DEBUG, false, LOG_PID));
-*/
-
-
-/*
-|--------------------------------------------------------------------------
-| Application Error Handler
-|--------------------------------------------------------------------------
-|
-| Here you may handle any errors that occur in your application, including
-| logging them or displaying custom views for specific errors. You may
-| even register several error handlers to handle different types of
-| exceptions. If nothing is returned, the default error view is
-| shown, which includes a detailed stack trace during debug.
-|
-*/
-
-App::error(function(Exception $exception, $code)
-{
- Utils::logError($code . ' ' . Utils::getErrorString($exception));
-
- if (Utils::isNinjaProd()) {
- return Response::view('error', ['hideHeader' => true, 'error' => "A {$code} error occurred."], $code);
- } else {
- return null;
- }
-});
-
-/*
-|--------------------------------------------------------------------------
-| Maintenance Mode Handler
-|--------------------------------------------------------------------------
-|
-| The "down" Artisan command gives you the ability to put an application
-| into maintenance mode. Here, you will define what is displayed back
-| to the user if maintenace mode is in effect for this application.
-|
-*/
-
-App::down(function()
-{
- return Response::make("We are currently undergoing some brief maintenance, be right back!", 503);
-});
-
-
-
-Event::subscribe('UserEventHandler');
-Event::subscribe('InvoiceEventHandler');
-
-
-/*
-|--------------------------------------------------------------------------
-| Require The Filters File
-|--------------------------------------------------------------------------
-|
-| Next we will load the filters file for the application. This gives us
-| a nice separate location to store our route and application filter
-| definitions instead of putting them all in the main routes file.
-|
-*/
-
-require app_path().'/filters.php';
\ No newline at end of file
diff --git a/app/start/local.php b/app/start/local.php
deleted file mode 100755
index adab104c9f13..000000000000
--- a/app/start/local.php
+++ /dev/null
@@ -1,3 +0,0 @@
-client->request('GET', '/');
- $this->assertTrue($this->client->getResponse()->isRedirect());
- }
-
-}
\ No newline at end of file
diff --git a/app/tests/TestCase.php b/app/tests/TestCase.php
deleted file mode 100755
index 49b80fc274bc..000000000000
--- a/app/tests/TestCase.php
+++ /dev/null
@@ -1,19 +0,0 @@
-assertSame(null, $code);
-
- list($code, $tags, $title) = TimesheetUtils::parseEventSummary('Test:');
- $this->assertSame("TEST", $code);
-
- list($code, $tags, $title) = TimesheetUtils::parseEventSummary('Test: ');
- $this->assertSame("TEST", $code);
-
- list($code, $tags, $title) = TimesheetUtils::parseEventSummary('Test::');
- $this->assertSame("TEST", $code);
-
- list($code, $tags, $title) = TimesheetUtils::parseEventSummary('TEST: Hello :)');
- $this->assertSame("TEST", $code);
-
- list($code, $tags, $title) = TimesheetUtils::parseEventSummary('Test/tags: ');
- $this->assertSame('TEST', $code);
- $this->assertSame('tags', $tags);
- }
-
-}
diff --git a/app/tests/data/Demo/demo.response.json b/app/tests/data/Demo/demo.response.json
deleted file mode 100644
index 21ff1e1c096b..000000000000
--- a/app/tests/data/Demo/demo.response.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "clients":[{"name":"IBM","balance":"0.00","paid_to_date":"13.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-18 00:00:00","invoice_number":"0001","amount":"13.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"13.00","qty":"1.00"}],"displayName":"0001","displayTotal":13,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"1"}],"displayName":"IBM","displayTotal":13,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Nestle","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"2"}],"displayName":"Nestle","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Mitsubishi UFJ Financial","balance":"0.00","paid_to_date":"1701.00","invoices":[{"invoice_status_id":"5","created_at":"2014-06-29 00:00:00","invoice_number":"0002","amount":"85.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"85.00","qty":"1.00"}],"displayName":"0002","displayTotal":85,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-11 00:00:00","invoice_number":"0003","amount":"142.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"142.00","qty":"1.00"}],"displayName":"0003","displayTotal":142,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-19 00:00:00","invoice_number":"0004","amount":"936.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"936.00","qty":"1.00"}],"displayName":"0004","displayTotal":936,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-19 00:00:00","invoice_number":"0005","amount":"74.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"74.00","qty":"1.00"}],"displayName":"0005","displayTotal":74,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-25 00:00:00","invoice_number":"0006","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"101.00","qty":"1.00"}],"displayName":"0006","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0007","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"116.00","qty":"1.00"}],"displayName":"0007","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0008","amount":"42.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"42.00","qty":"1.00"}],"displayName":"0008","displayTotal":42,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0009","amount":"66.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"66.00","qty":"1.00"}],"displayName":"0009","displayTotal":66,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0010","amount":"40.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"40.00","qty":"1.00"}],"displayName":"0010","displayTotal":40,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-25 00:00:00","invoice_number":"0011","amount":"99.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"99.00","qty":"1.00"}],"displayName":"0011","displayTotal":99,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"3"}],"displayName":"Mitsubishi UFJ Financial","displayTotal":1701,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Vodafone","balance":"0.00","paid_to_date":"106.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-26 00:00:00","invoice_number":"0012","amount":"106.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"106.00","qty":"1.00"}],"displayName":"0012","displayTotal":106,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"4"}],"displayName":"Vodafone","displayTotal":106,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Eni","balance":"0.00","paid_to_date":"402.00","invoices":[{"invoice_status_id":"5","created_at":"2014-06-29 00:00:00","invoice_number":"0013","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"18.00","qty":"1.00"}],"displayName":"0013","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-04 00:00:00","invoice_number":"0014","amount":"70.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"70.00","qty":"1.00"}],"displayName":"0014","displayTotal":70,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0015","amount":"59.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"59.00","qty":"1.00"}],"displayName":"0015","displayTotal":59,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-25 00:00:00","invoice_number":"0016","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"18.00","qty":"1.00"}],"displayName":"0016","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-04 00:00:00","invoice_number":"0017","amount":"61.00","balance":"0.00","invoice_items":[{"product_key":"Maine","cost":"61.00","qty":"1.00"}],"displayName":"0017","displayTotal":61,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-16 00:00:00","invoice_number":"0018","amount":"65.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"65.00","qty":"1.00"}],"displayName":"0018","displayTotal":65,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0019","amount":"39.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"39.00","qty":"1.00"}],"displayName":"0019","displayTotal":39,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0020","amount":"72.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"72.00","qty":"1.00"}],"displayName":"0020","displayTotal":72,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"5"}],"displayName":"Eni","displayTotal":402,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Procter & Gamble","balance":"0.00","paid_to_date":"251.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-12 00:00:00","invoice_number":"0021","amount":"48.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"48.00","qty":"1.00"}],"displayName":"0021","displayTotal":48,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0022","amount":"90.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"90.00","qty":"1.00"}],"displayName":"0022","displayTotal":90,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0023","amount":"70.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"70.00","qty":"1.00"}],"displayName":"0023","displayTotal":70,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-07 00:00:00","invoice_number":"0024","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"43.00","qty":"1.00"}],"displayName":"0024","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"6"}],"displayName":"Procter & Gamble","displayTotal":251,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Johnson & Johnson","balance":"485.00","paid_to_date":"2188.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0025","amount":"137.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"137.00","qty":"1.00"}],"displayName":"0025","displayTotal":137,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0026","amount":"92.00","balance":"92.00","invoice_items":[{"product_key":"Iowa","cost":"92.00","qty":"1.00"}],"displayName":"0026","displayTotal":92,"displayBalance":92,"displayPercent":0,"displayAge":3},{"invoice_status_id":"1","created_at":"2014-08-11 00:00:00","invoice_number":"0027","amount":"95.00","balance":"95.00","invoice_items":[{"product_key":"Arizona","cost":"95.00","qty":"1.00"}],"displayName":"0027","displayTotal":95,"displayBalance":95,"displayPercent":0,"displayAge":53},{"invoice_status_id":"1","created_at":"2014-07-28 00:00:00","invoice_number":"0028","amount":"25.00","balance":"25.00","invoice_items":[{"product_key":"Massachusetts","cost":"25.00","qty":"1.00"}],"displayName":"0028","displayTotal":25,"displayBalance":25,"displayPercent":0,"displayAge":67},{"invoice_status_id":"5","created_at":"2014-09-04 00:00:00","invoice_number":"0029","amount":"966.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"966.00","qty":"1.00"}],"displayName":"0029","displayTotal":966,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0030","amount":"91.00","balance":"91.00","invoice_items":[{"product_key":"Arizona","cost":"91.00","qty":"1.00"}],"displayName":"0030","displayTotal":91,"displayBalance":91,"displayPercent":0,"displayAge":17},{"invoice_status_id":"5","created_at":"2014-09-03 00:00:00","invoice_number":"0031","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"134.00","qty":"1.00"}],"displayName":"0031","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0032","amount":"102.00","balance":"102.00","invoice_items":[{"product_key":"Colorado","cost":"102.00","qty":"1.00"}],"displayName":"0032","displayTotal":102,"displayBalance":102,"displayPercent":0,"displayAge":87},{"invoice_status_id":"1","created_at":"2014-09-17 00:00:00","invoice_number":"0033","amount":"80.00","balance":"80.00","invoice_items":[{"product_key":"New York","cost":"80.00","qty":"1.00"}],"displayName":"0033","displayTotal":80,"displayBalance":80,"displayPercent":0,"displayAge":16},{"invoice_status_id":"5","created_at":"2014-07-23 00:00:00","invoice_number":"0034","amount":"951.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"951.00","qty":"1.00"}],"displayName":"0034","displayTotal":951,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"7"}],"displayName":"Johnson & Johnson","displayTotal":2673,"displayBalance":485,"displayPercent":"0.82","displayAge":87},{"name":"American International Group","balance":"0.00","paid_to_date":"94.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-23 00:00:00","invoice_number":"0035","amount":"94.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"94.00","qty":"1.00"}],"displayName":"0035","displayTotal":94,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"8"}],"displayName":"American International Group","displayTotal":94,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Banco Santander","balance":"0.00","paid_to_date":"137.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-13 00:00:00","invoice_number":"0036","amount":"137.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"137.00","qty":"1.00"}],"displayName":"0036","displayTotal":137,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"9"}],"displayName":"Banco Santander","displayTotal":137,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"BHP Billiton","balance":"2584.00","paid_to_date":"284.00","invoices":[{"invoice_status_id":"1","created_at":"2014-06-24 00:00:00","invoice_number":"0037","amount":"122.00","balance":"122.00","invoice_items":[{"product_key":"Alabama","cost":"122.00","qty":"1.00"}],"displayName":"0037","displayTotal":122,"displayBalance":122,"displayPercent":0,"displayAge":101},{"invoice_status_id":"1","created_at":"2014-09-25 00:00:00","invoice_number":"0038","amount":"44.00","balance":"44.00","invoice_items":[{"product_key":"Arizona","cost":"44.00","qty":"1.00"}],"displayName":"0038","displayTotal":44,"displayBalance":44,"displayPercent":0,"displayAge":8},{"invoice_status_id":"1","created_at":"2014-08-13 00:00:00","invoice_number":"0039","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Arizona","cost":"68.00","qty":"1.00"}],"displayName":"0039","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":51},{"invoice_status_id":"1","created_at":"2014-07-23 00:00:00","invoice_number":"0040","amount":"23.00","balance":"23.00","invoice_items":[{"product_key":"Delaware","cost":"23.00","qty":"1.00"}],"displayName":"0040","displayTotal":23,"displayBalance":23,"displayPercent":0,"displayAge":72},{"invoice_status_id":"1","created_at":"2014-07-06 00:00:00","invoice_number":"0041","amount":"61.00","balance":"61.00","invoice_items":[{"product_key":"Colorado","cost":"61.00","qty":"1.00"}],"displayName":"0041","displayTotal":61,"displayBalance":61,"displayPercent":0,"displayAge":89},{"invoice_status_id":"1","created_at":"2014-09-05 00:00:00","invoice_number":"0042","amount":"128.00","balance":"128.00","invoice_items":[{"product_key":"Arizona","cost":"128.00","qty":"1.00"}],"displayName":"0042","displayTotal":128,"displayBalance":128,"displayPercent":0,"displayAge":28},{"invoice_status_id":"5","created_at":"2014-07-17 00:00:00","invoice_number":"0043","amount":"130.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"130.00","qty":"1.00"}],"displayName":"0043","displayTotal":130,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-01 00:00:00","invoice_number":"0044","amount":"139.00","balance":"139.00","invoice_items":[{"product_key":"Arizona","cost":"139.00","qty":"1.00"}],"displayName":"0044","displayTotal":139,"displayBalance":139,"displayPercent":0,"displayAge":94},{"invoice_status_id":"1","created_at":"2014-07-20 00:00:00","invoice_number":"0045","amount":"127.00","balance":"127.00","invoice_items":[{"product_key":"California","cost":"127.00","qty":"1.00"}],"displayName":"0045","displayTotal":127,"displayBalance":127,"displayPercent":0,"displayAge":75},{"invoice_status_id":"1","created_at":"2014-09-15 00:00:00","invoice_number":"0046","amount":"83.00","balance":"83.00","invoice_items":[{"product_key":"Michigan","cost":"83.00","qty":"1.00"}],"displayName":"0046","displayTotal":83,"displayBalance":83,"displayPercent":0,"displayAge":18},{"invoice_status_id":"1","created_at":"2014-07-30 00:00:00","invoice_number":"0047","amount":"62.00","balance":"62.00","invoice_items":[{"product_key":"Florida","cost":"62.00","qty":"1.00"}],"displayName":"0047","displayTotal":62,"displayBalance":62,"displayPercent":0,"displayAge":65},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0048","amount":"902.00","balance":"902.00","invoice_items":[{"product_key":"New York","cost":"902.00","qty":"1.00"}],"displayName":"0048","displayTotal":902,"displayBalance":902,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-08-07 00:00:00","invoice_number":"0049","amount":"139.00","balance":"139.00","invoice_items":[{"product_key":"Arizona","cost":"139.00","qty":"1.00"}],"displayName":"0049","displayTotal":139,"displayBalance":139,"displayPercent":0,"displayAge":57},{"invoice_status_id":"1","created_at":"2014-07-12 00:00:00","invoice_number":"0050","amount":"124.00","balance":"124.00","invoice_items":[{"product_key":"Arizona","cost":"124.00","qty":"1.00"}],"displayName":"0050","displayTotal":124,"displayBalance":124,"displayPercent":0,"displayAge":83},{"invoice_status_id":"1","created_at":"2014-08-05 00:00:00","invoice_number":"0051","amount":"53.00","balance":"53.00","invoice_items":[{"product_key":"Connecticut","cost":"53.00","qty":"1.00"}],"displayName":"0051","displayTotal":53,"displayBalance":53,"displayPercent":0,"displayAge":59},{"invoice_status_id":"1","created_at":"2014-06-27 00:00:00","invoice_number":"0052","amount":"52.00","balance":"52.00","invoice_items":[{"product_key":"Michigan","cost":"52.00","qty":"1.00"}],"displayName":"0052","displayTotal":52,"displayBalance":52,"displayPercent":0,"displayAge":98},{"invoice_status_id":"1","created_at":"2014-09-04 00:00:00","invoice_number":"0053","amount":"28.00","balance":"28.00","invoice_items":[{"product_key":"New York","cost":"28.00","qty":"1.00"}],"displayName":"0053","displayTotal":28,"displayBalance":28,"displayPercent":0,"displayAge":29},{"invoice_status_id":"1","created_at":"2014-07-28 00:00:00","invoice_number":"0054","amount":"36.00","balance":"36.00","invoice_items":[{"product_key":"Alabama","cost":"36.00","qty":"1.00"}],"displayName":"0054","displayTotal":36,"displayBalance":36,"displayPercent":0,"displayAge":67},{"invoice_status_id":"1","created_at":"2014-08-28 00:00:00","invoice_number":"0055","amount":"111.00","balance":"111.00","invoice_items":[{"product_key":"New York","cost":"111.00","qty":"1.00"}],"displayName":"0055","displayTotal":111,"displayBalance":111,"displayPercent":0,"displayAge":36},{"invoice_status_id":"5","created_at":"2014-08-14 00:00:00","invoice_number":"0056","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"43.00","qty":"1.00"}],"displayName":"0056","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-23 00:00:00","invoice_number":"0057","amount":"111.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"111.00","qty":"1.00"}],"displayName":"0057","displayTotal":111,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-01 00:00:00","invoice_number":"0058","amount":"40.00","balance":"40.00","invoice_items":[{"product_key":"Massachusetts","cost":"40.00","qty":"1.00"}],"displayName":"0058","displayTotal":40,"displayBalance":40,"displayPercent":0,"displayAge":32},{"invoice_status_id":"1","created_at":"2014-09-21 00:00:00","invoice_number":"0059","amount":"116.00","balance":"116.00","invoice_items":[{"product_key":"Maryland","cost":"116.00","qty":"1.00"}],"displayName":"0059","displayTotal":116,"displayBalance":116,"displayPercent":0,"displayAge":12},{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0060","amount":"101.00","balance":"101.00","invoice_items":[{"product_key":"California","cost":"101.00","qty":"1.00"}],"displayName":"0060","displayTotal":101,"displayBalance":101,"displayPercent":0,"displayAge":85},{"invoice_status_id":"1","created_at":"2014-07-19 00:00:00","invoice_number":"0061","amount":"25.00","balance":"25.00","invoice_items":[{"product_key":"New York","cost":"25.00","qty":"1.00"}],"displayName":"0061","displayTotal":25,"displayBalance":25,"displayPercent":0,"displayAge":76}],"contacts":[{"public_id":"10"}],"displayName":"BHP Billiton","displayTotal":2868,"displayBalance":2584,"displayPercent":"0.10","displayAge":101},{"name":"Pfizer","balance":"0.00","paid_to_date":"119.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0062","amount":"119.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"119.00","qty":"1.00"}],"displayName":"0062","displayTotal":119,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"11"}],"displayName":"Pfizer","displayTotal":119,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Itaú Unibanco Holding","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"12"}],"displayName":"Itaú Unibanco Holding","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Ford Motor","balance":"42.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-07-21 00:00:00","invoice_number":"0063","amount":"42.00","balance":"42.00","invoice_items":[{"product_key":"California","cost":"42.00","qty":"1.00"}],"displayName":"0063","displayTotal":42,"displayBalance":42,"displayPercent":0,"displayAge":74}],"contacts":[{"public_id":"13"}],"displayName":"Ford Motor","displayTotal":42,"displayBalance":42,"displayPercent":"0.00","displayAge":74},{"name":"BMW Group","balance":"0.00","paid_to_date":"34.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-17 00:00:00","invoice_number":"0064","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"34.00","qty":"1.00"}],"displayName":"0064","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"14"}],"displayName":"BMW Group","displayTotal":34,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Commonwealth Bank","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"15"}],"displayName":"Commonwealth Bank","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"EDF","balance":"0.00","paid_to_date":"108.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0065","amount":"108.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"108.00","qty":"1.00"}],"displayName":"0065","displayTotal":108,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"16"}],"displayName":"EDF","displayTotal":108,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Statoil","balance":"0.00","paid_to_date":"38.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-29 00:00:00","invoice_number":"0066","amount":"38.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"38.00","qty":"1.00"}],"displayName":"0066","displayTotal":38,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"17"}],"displayName":"Statoil","displayTotal":38,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Google","balance":"0.00","paid_to_date":"5537.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0067","amount":"11.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"11.00","qty":"1.00"}],"displayName":"0067","displayTotal":11,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-02 00:00:00","invoice_number":"0068","amount":"128.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"128.00","qty":"1.00"}],"displayName":"0068","displayTotal":128,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-05 00:00:00","invoice_number":"0069","amount":"959.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"959.00","qty":"1.00"}],"displayName":"0069","displayTotal":959,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0070","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"116.00","qty":"1.00"}],"displayName":"0070","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-04 00:00:00","invoice_number":"0071","amount":"50.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"50.00","qty":"1.00"}],"displayName":"0071","displayTotal":50,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-11 00:00:00","invoice_number":"0072","amount":"23.00","balance":"0.00","invoice_items":[{"product_key":"Maryland","cost":"23.00","qty":"1.00"}],"displayName":"0072","displayTotal":23,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-28 00:00:00","invoice_number":"0073","amount":"125.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"125.00","qty":"1.00"}],"displayName":"0073","displayTotal":125,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-28 00:00:00","invoice_number":"0074","amount":"981.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"981.00","qty":"1.00"}],"displayName":"0074","displayTotal":981,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0075","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"34.00","qty":"1.00"}],"displayName":"0075","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0076","amount":"24.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"24.00","qty":"1.00"}],"displayName":"0076","displayTotal":24,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-19 00:00:00","invoice_number":"0077","amount":"107.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"107.00","qty":"1.00"}],"displayName":"0077","displayTotal":107,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-21 00:00:00","invoice_number":"0078","amount":"950.00","balance":"0.00","invoice_items":[{"product_key":"Kentucky","cost":"950.00","qty":"1.00"}],"displayName":"0078","displayTotal":950,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-27 00:00:00","invoice_number":"0079","amount":"148.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"148.00","qty":"1.00"}],"displayName":"0079","displayTotal":148,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-22 00:00:00","invoice_number":"0080","amount":"22.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"22.00","qty":"1.00"}],"displayName":"0080","displayTotal":22,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-22 00:00:00","invoice_number":"0081","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"105.00","qty":"1.00"}],"displayName":"0081","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-02 00:00:00","invoice_number":"0082","amount":"19.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"19.00","qty":"1.00"}],"displayName":"0082","displayTotal":19,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0083","amount":"102.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"102.00","qty":"1.00"}],"displayName":"0083","displayTotal":102,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-27 00:00:00","invoice_number":"0084","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"105.00","qty":"1.00"}],"displayName":"0084","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-07 00:00:00","invoice_number":"0085","amount":"138.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"138.00","qty":"1.00"}],"displayName":"0085","displayTotal":138,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0086","amount":"86.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"86.00","qty":"1.00"}],"displayName":"0086","displayTotal":86,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-14 00:00:00","invoice_number":"0087","amount":"59.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"59.00","qty":"1.00"}],"displayName":"0087","displayTotal":59,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-22 00:00:00","invoice_number":"0088","amount":"129.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"129.00","qty":"1.00"}],"displayName":"0088","displayTotal":129,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0089","amount":"107.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"107.00","qty":"1.00"}],"displayName":"0089","displayTotal":107,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-07 00:00:00","invoice_number":"0090","amount":"998.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"998.00","qty":"1.00"}],"displayName":"0090","displayTotal":998,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0091","amount":"11.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"11.00","qty":"1.00"}],"displayName":"0091","displayTotal":11,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"18"}],"displayName":"Google","displayTotal":5537,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Siemens","balance":"0.00","paid_to_date":"57.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-16 00:00:00","invoice_number":"0092","amount":"57.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"57.00","qty":"1.00"}],"displayName":"0092","displayTotal":57,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"19"}],"displayName":"Siemens","displayTotal":57,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Novartis","balance":"0.00","paid_to_date":"32.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-29 00:00:00","invoice_number":"0093","amount":"32.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"32.00","qty":"1.00"}],"displayName":"0093","displayTotal":32,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"20"}],"displayName":"Novartis","displayTotal":32,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Royal Bank of Canada","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"21"}],"displayName":"Royal Bank of Canada","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Sumitomo Mitsui Financial","balance":"0.00","paid_to_date":"108.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-06 00:00:00","invoice_number":"0094","amount":"108.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"108.00","qty":"1.00"}],"displayName":"0094","displayTotal":108,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"22"}],"displayName":"Sumitomo Mitsui Financial","displayTotal":108,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Comcast","balance":"0.00","paid_to_date":"18.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0095","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"18.00","qty":"1.00"}],"displayName":"0095","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"23"}],"displayName":"Comcast","displayTotal":18,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Sberbank","balance":"466.00","paid_to_date":"127.00","invoices":[{"invoice_status_id":"1","created_at":"2014-07-27 00:00:00","invoice_number":"0096","amount":"135.00","balance":"135.00","invoice_items":[{"product_key":"New York","cost":"135.00","qty":"1.00"}],"displayName":"0096","displayTotal":135,"displayBalance":135,"displayPercent":0,"displayAge":68},{"invoice_status_id":"1","created_at":"2014-09-29 00:00:00","invoice_number":"0097","amount":"133.00","balance":"133.00","invoice_items":[{"product_key":"New York","cost":"133.00","qty":"1.00"}],"displayName":"0097","displayTotal":133,"displayBalance":133,"displayPercent":0,"displayAge":4},{"invoice_status_id":"1","created_at":"2014-09-24 00:00:00","invoice_number":"0098","amount":"118.00","balance":"118.00","invoice_items":[{"product_key":"Colorado","cost":"118.00","qty":"1.00"}],"displayName":"0098","displayTotal":118,"displayBalance":118,"displayPercent":0,"displayAge":9},{"invoice_status_id":"5","created_at":"2014-09-15 00:00:00","invoice_number":"0099","amount":"127.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"127.00","qty":"1.00"}],"displayName":"0099","displayTotal":127,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-08-26 00:00:00","invoice_number":"0100","amount":"80.00","balance":"80.00","invoice_items":[{"product_key":"Maryland","cost":"80.00","qty":"1.00"}],"displayName":"0100","displayTotal":80,"displayBalance":80,"displayPercent":0,"displayAge":38}],"contacts":[{"public_id":"24"}],"displayName":"Sberbank","displayTotal":593,"displayBalance":466,"displayPercent":"0.21","displayAge":68},{"name":"Goldman Sachs Group","balance":"0.00","paid_to_date":"123.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-07 00:00:00","invoice_number":"0101","amount":"123.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"123.00","qty":"1.00"}],"displayName":"0101","displayTotal":123,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"25"}],"displayName":"Goldman Sachs Group","displayTotal":123,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Westpac Banking Group","balance":"0.00","paid_to_date":"116.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-05 00:00:00","invoice_number":"0102","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"116.00","qty":"1.00"}],"displayName":"0102","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"26"}],"displayName":"Westpac Banking Group","displayTotal":116,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Nippon Telegraph & Tel","balance":"0.00","paid_to_date":"36.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0103","amount":"36.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"36.00","qty":"1.00"}],"displayName":"0103","displayTotal":36,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"27"}],"displayName":"Nippon Telegraph & Tel","displayTotal":36,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Ping An Insurance Group","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"28"}],"displayName":"Ping An Insurance Group","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Banco Bradesco","balance":"1175.00","paid_to_date":"13.00","invoices":[{"invoice_status_id":"1","created_at":"2014-08-03 00:00:00","invoice_number":"0104","amount":"101.00","balance":"101.00","invoice_items":[{"product_key":"Arizona","cost":"101.00","qty":"1.00"}],"displayName":"0104","displayTotal":101,"displayBalance":101,"displayPercent":0,"displayAge":61},{"invoice_status_id":"1","created_at":"2014-07-06 00:00:00","invoice_number":"0105","amount":"132.00","balance":"132.00","invoice_items":[{"product_key":"Connecticut","cost":"132.00","qty":"1.00"}],"displayName":"0105","displayTotal":132,"displayBalance":132,"displayPercent":0,"displayAge":89},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0106","amount":"13.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"13.00","qty":"1.00"}],"displayName":"0106","displayTotal":13,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0107","amount":"942.00","balance":"942.00","invoice_items":[{"product_key":"Arizona","cost":"942.00","qty":"1.00"}],"displayName":"0107","displayTotal":942,"displayBalance":942,"displayPercent":0,"displayAge":87}],"contacts":[{"public_id":"29"}],"displayName":"Banco Bradesco","displayTotal":1188,"displayBalance":1175,"displayPercent":"0.01","displayAge":89},{"name":"Anheuser-Busch InBev","balance":"0.00","paid_to_date":"38.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-20 00:00:00","invoice_number":"0108","amount":"38.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"38.00","qty":"1.00"}],"displayName":"0108","displayTotal":38,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"30"}],"displayName":"Anheuser-Busch InBev","displayTotal":38,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Bank of Communications","balance":"0.00","paid_to_date":"145.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-27 00:00:00","invoice_number":"0109","amount":"145.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"145.00","qty":"1.00"}],"displayName":"0109","displayTotal":145,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"31"}],"displayName":"Bank of Communications","displayTotal":145,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"China Life Insurance","balance":"0.00","paid_to_date":"93.00","invoices":[{"invoice_status_id":"5","created_at":"2014-06-27 00:00:00","invoice_number":"0110","amount":"93.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"93.00","qty":"1.00"}],"displayName":"0110","displayTotal":93,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"32"}],"displayName":"China Life Insurance","displayTotal":93,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"General Motors","balance":"0.00","paid_to_date":"94.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0111","amount":"94.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"94.00","qty":"1.00"}],"displayName":"0111","displayTotal":94,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"33"}],"displayName":"General Motors","displayTotal":94,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Telefónica","balance":"41.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0112","amount":"41.00","balance":"41.00","invoice_items":[{"product_key":"California","cost":"41.00","qty":"1.00"}],"displayName":"0112","displayTotal":41,"displayBalance":41,"displayPercent":0,"displayAge":85}],"contacts":[{"public_id":"34"}],"displayName":"Telefónica","displayTotal":41,"displayBalance":41,"displayPercent":"0.00","displayAge":85},{"name":"MetLife","balance":"0.00","paid_to_date":"3253.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-25 00:00:00","invoice_number":"0113","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"43.00","qty":"1.00"}],"displayName":"0113","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-03 00:00:00","invoice_number":"0114","amount":"980.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"980.00","qty":"1.00"}],"displayName":"0114","displayTotal":980,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-11 00:00:00","invoice_number":"0115","amount":"903.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"903.00","qty":"1.00"}],"displayName":"0115","displayTotal":903,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-18 00:00:00","invoice_number":"0116","amount":"44.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"44.00","qty":"1.00"}],"displayName":"0116","displayTotal":44,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-30 00:00:00","invoice_number":"0117","amount":"17.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"17.00","qty":"1.00"}],"displayName":"0117","displayTotal":17,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0118","amount":"133.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"133.00","qty":"1.00"}],"displayName":"0118","displayTotal":133,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0119","amount":"25.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"25.00","qty":"1.00"}],"displayName":"0119","displayTotal":25,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0120","amount":"982.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"982.00","qty":"1.00"}],"displayName":"0120","displayTotal":982,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-29 00:00:00","invoice_number":"0121","amount":"57.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"57.00","qty":"1.00"}],"displayName":"0121","displayTotal":57,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0122","amount":"69.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"69.00","qty":"1.00"}],"displayName":"0122","displayTotal":69,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"35"}],"displayName":"MetLife","displayTotal":3253,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Honda Motor","balance":"14.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0123","amount":"14.00","balance":"14.00","invoice_items":[{"product_key":"California","cost":"14.00","qty":"1.00"}],"displayName":"0123","displayTotal":14,"displayBalance":14,"displayPercent":0,"displayAge":3}],"contacts":[{"public_id":"36"}],"displayName":"Honda Motor","displayTotal":14,"displayBalance":14,"displayPercent":"0.00","displayAge":3},{"name":"Enel","balance":"0.00","paid_to_date":"105.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-19 00:00:00","invoice_number":"0124","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"105.00","qty":"1.00"}],"displayName":"0124","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"37"}],"displayName":"Enel","displayTotal":105,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"BASF","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"38"}],"displayName":"BASF","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Softbank","balance":"68.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-09-28 00:00:00","invoice_number":"0125","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Iowa","cost":"68.00","qty":"1.00"}],"displayName":"0125","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":5}],"contacts":[{"public_id":"39"}],"displayName":"Softbank","displayTotal":68,"displayBalance":68,"displayPercent":"0.00","displayAge":5},{"name":"National Australia Bank","balance":"573.00","paid_to_date":"201.00","invoices":[{"invoice_status_id":"1","created_at":"2014-08-17 00:00:00","invoice_number":"0126","amount":"98.00","balance":"98.00","invoice_items":[{"product_key":"Arizona","cost":"98.00","qty":"1.00"}],"displayName":"0126","displayTotal":98,"displayBalance":98,"displayPercent":0,"displayAge":47},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0127","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Maine","cost":"68.00","qty":"1.00"}],"displayName":"0127","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0128","amount":"120.00","balance":"120.00","invoice_items":[{"product_key":"New York","cost":"120.00","qty":"1.00"}],"displayName":"0128","displayTotal":120,"displayBalance":120,"displayPercent":0,"displayAge":3},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0129","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"105.00","qty":"1.00"}],"displayName":"0129","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0130","amount":"117.00","balance":"117.00","invoice_items":[{"product_key":"California","cost":"117.00","qty":"1.00"}],"displayName":"0130","displayTotal":117,"displayBalance":117,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0131","amount":"32.00","balance":"32.00","invoice_items":[{"product_key":"Colorado","cost":"32.00","qty":"1.00"}],"displayName":"0131","displayTotal":32,"displayBalance":32,"displayPercent":0,"displayAge":87},{"invoice_status_id":"1","created_at":"2014-07-05 00:00:00","invoice_number":"0132","amount":"35.00","balance":"35.00","invoice_items":[{"product_key":"Arizona","cost":"35.00","qty":"1.00"}],"displayName":"0132","displayTotal":35,"displayBalance":35,"displayPercent":0,"displayAge":90},{"invoice_status_id":"5","created_at":"2014-07-10 00:00:00","invoice_number":"0133","amount":"14.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"14.00","qty":"1.00"}],"displayName":"0133","displayTotal":14,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0134","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"82.00","qty":"1.00"}],"displayName":"0134","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-20 00:00:00","invoice_number":"0135","amount":"103.00","balance":"103.00","invoice_items":[{"product_key":"Arizona","cost":"103.00","qty":"1.00"}],"displayName":"0135","displayTotal":103,"displayBalance":103,"displayPercent":0,"displayAge":75}],"contacts":[{"public_id":"40"}],"displayName":"National Australia Bank","displayTotal":774,"displayBalance":573,"displayPercent":"0.26","displayAge":90},{"name":"ANZ","balance":"49.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-06-26 00:00:00","invoice_number":"0136","amount":"49.00","balance":"49.00","invoice_items":[{"product_key":"Massachusetts","cost":"49.00","qty":"1.00"}],"displayName":"0136","displayTotal":49,"displayBalance":49,"displayPercent":0,"displayAge":99}],"contacts":[{"public_id":"41"}],"displayName":"ANZ","displayTotal":49,"displayBalance":49,"displayPercent":"0.00","displayAge":99},{"name":"ConocoPhillips","balance":"0.00","paid_to_date":"20.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-07 00:00:00","invoice_number":"0137","amount":"20.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"20.00","qty":"1.00"}],"displayName":"0137","displayTotal":20,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"42"}],"displayName":"ConocoPhillips","displayTotal":20,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"TD Bank Group","balance":"756.00","paid_to_date":"56.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0138","amount":"56.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"56.00","qty":"1.00"}],"displayName":"0138","displayTotal":56,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-26 00:00:00","invoice_number":"0139","amount":"147.00","balance":"147.00","invoice_items":[{"product_key":"Iowa","cost":"147.00","qty":"1.00"}],"displayName":"0139","displayTotal":147,"displayBalance":147,"displayPercent":0,"displayAge":69},{"invoice_status_id":"1","created_at":"2014-09-06 00:00:00","invoice_number":"0140","amount":"47.00","balance":"47.00","invoice_items":[{"product_key":"California","cost":"47.00","qty":"1.00"}],"displayName":"0140","displayTotal":47,"displayBalance":47,"displayPercent":0,"displayAge":27},{"invoice_status_id":"1","created_at":"2014-08-19 00:00:00","invoice_number":"0141","amount":"147.00","balance":"147.00","invoice_items":[{"product_key":"Colorado","cost":"147.00","qty":"1.00"}],"displayName":"0141","displayTotal":147,"displayBalance":147,"displayPercent":0,"displayAge":45},{"invoice_status_id":"1","created_at":"2014-09-27 00:00:00","invoice_number":"0142","amount":"113.00","balance":"113.00","invoice_items":[{"product_key":"Colorado","cost":"113.00","qty":"1.00"}],"displayName":"0142","displayTotal":113,"displayBalance":113,"displayPercent":0,"displayAge":6},{"invoice_status_id":"1","created_at":"2014-07-01 00:00:00","invoice_number":"0143","amount":"48.00","balance":"48.00","invoice_items":[{"product_key":"Indiana","cost":"48.00","qty":"1.00"}],"displayName":"0143","displayTotal":48,"displayBalance":48,"displayPercent":0,"displayAge":94},{"invoice_status_id":"1","created_at":"2014-08-18 00:00:00","invoice_number":"0144","amount":"137.00","balance":"137.00","invoice_items":[{"product_key":"Arizona","cost":"137.00","qty":"1.00"}],"displayName":"0144","displayTotal":137,"displayBalance":137,"displayPercent":0,"displayAge":46},{"invoice_status_id":"1","created_at":"2014-09-25 00:00:00","invoice_number":"0145","amount":"117.00","balance":"117.00","invoice_items":[{"product_key":"New York","cost":"117.00","qty":"1.00"}],"displayName":"0145","displayTotal":117,"displayBalance":117,"displayPercent":0,"displayAge":8}],"contacts":[{"public_id":"43"}],"displayName":"TD Bank Group","displayTotal":812,"displayBalance":756,"displayPercent":"0.07","displayAge":94},{"name":"Intel","balance":"0.00","paid_to_date":"71.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0146","amount":"71.00","balance":"0.00","invoice_items":[{"product_key":"Georgia","cost":"71.00","qty":"1.00"}],"displayName":"0146","displayTotal":71,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"44"}],"displayName":"Intel","displayTotal":71,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"UBS","balance":"0.00","paid_to_date":"976.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0147","amount":"976.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"976.00","qty":"1.00"}],"displayName":"0147","displayTotal":976,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"45"}],"displayName":"UBS","displayTotal":976,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Hewlett-Packard","balance":"0.00","paid_to_date":"501.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0148","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"Florida","cost":"82.00","qty":"1.00"}],"displayName":"0148","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-22 00:00:00","invoice_number":"0149","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"134.00","qty":"1.00"}],"displayName":"0149","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-15 00:00:00","invoice_number":"0150","amount":"147.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"147.00","qty":"1.00"}],"displayName":"0150","displayTotal":147,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0151","amount":"16.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"16.00","qty":"1.00"}],"displayName":"0151","displayTotal":16,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-17 00:00:00","invoice_number":"0152","amount":"14.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"14.00","qty":"1.00"}],"displayName":"0152","displayTotal":14,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-12 00:00:00","invoice_number":"0153","amount":"61.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"61.00","qty":"1.00"}],"displayName":"0153","displayTotal":61,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-17 00:00:00","invoice_number":"0154","amount":"47.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"47.00","qty":"1.00"}],"displayName":"0154","displayTotal":47,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"46"}],"displayName":"Hewlett-Packard","displayTotal":501,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Coca-Cola","balance":"289.00","paid_to_date":"82.00","invoices":[{"invoice_status_id":"1","created_at":"2014-09-10 00:00:00","invoice_number":"0155","amount":"137.00","balance":"137.00","invoice_items":[{"product_key":"California","cost":"137.00","qty":"1.00"}],"displayName":"0155","displayTotal":137,"displayBalance":137,"displayPercent":0,"displayAge":23},{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0156","amount":"76.00","balance":"76.00","invoice_items":[{"product_key":"Massachusetts","cost":"76.00","qty":"1.00"}],"displayName":"0156","displayTotal":76,"displayBalance":76,"displayPercent":0,"displayAge":85},{"invoice_status_id":"5","created_at":"2014-07-26 00:00:00","invoice_number":"0157","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"Maine","cost":"82.00","qty":"1.00"}],"displayName":"0157","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-29 00:00:00","invoice_number":"0158","amount":"76.00","balance":"76.00","invoice_items":[{"product_key":"New York","cost":"76.00","qty":"1.00"}],"displayName":"0158","displayTotal":76,"displayBalance":76,"displayPercent":0,"displayAge":4}],"contacts":[{"public_id":"47"}],"displayName":"Coca-Cola","displayTotal":371,"displayBalance":289,"displayPercent":"0.22","displayAge":85},{"name":"Cisco Systems","balance":"111.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-08-20 00:00:00","invoice_number":"0159","amount":"111.00","balance":"111.00","invoice_items":[{"product_key":"Arizona","cost":"111.00","qty":"1.00"}],"displayName":"0159","displayTotal":111,"displayBalance":111,"displayPercent":0,"displayAge":44}],"contacts":[{"public_id":"48"}],"displayName":"Cisco Systems","displayTotal":111,"displayBalance":111,"displayPercent":"0.00","displayAge":44},{"name":"UnitedHealth Group","balance":"0.00","paid_to_date":"27.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-14 00:00:00","invoice_number":"0160","amount":"27.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"27.00","qty":"1.00"}],"displayName":"0160","displayTotal":27,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"49"}],"displayName":"UnitedHealth Group","displayTotal":27,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Boeing","balance":"47.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-07-17 00:00:00","invoice_number":"0161","amount":"47.00","balance":"47.00","invoice_items":[{"product_key":"Kansas","cost":"47.00","qty":"1.00"}],"displayName":"0161","displayTotal":47,"displayBalance":47,"displayPercent":0,"displayAge":78}],"contacts":[{"public_id":"50"}],"displayName":"Boeing","displayTotal":47,"displayBalance":47,"displayPercent":"0.00","displayAge":78},{"name":"Zurich Insurance Group","balance":"1134.00","paid_to_date":"172.00","invoices":[{"invoice_status_id":"1","created_at":"2014-08-06 00:00:00","invoice_number":"0162","amount":"31.00","balance":"31.00","invoice_items":[{"product_key":"Indiana","cost":"31.00","qty":"1.00"}],"displayName":"0162","displayTotal":31,"displayBalance":31,"displayPercent":0,"displayAge":58},{"invoice_status_id":"1","created_at":"2014-08-06 00:00:00","invoice_number":"0163","amount":"78.00","balance":"78.00","invoice_items":[{"product_key":"California","cost":"78.00","qty":"1.00"}],"displayName":"0163","displayTotal":78,"displayBalance":78,"displayPercent":0,"displayAge":58},{"invoice_status_id":"5","created_at":"2014-09-24 00:00:00","invoice_number":"0164","amount":"118.00","balance":"0.00","invoice_items":[{"product_key":"Florida","cost":"118.00","qty":"1.00"}],"displayName":"0164","displayTotal":118,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-27 00:00:00","invoice_number":"0165","amount":"21.00","balance":"21.00","invoice_items":[{"product_key":"Colorado","cost":"21.00","qty":"1.00"}],"displayName":"0165","displayTotal":21,"displayBalance":21,"displayPercent":0,"displayAge":68},{"invoice_status_id":"5","created_at":"2014-07-30 00:00:00","invoice_number":"0166","amount":"54.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"54.00","qty":"1.00"}],"displayName":"0166","displayTotal":54,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-03 00:00:00","invoice_number":"0167","amount":"63.00","balance":"63.00","invoice_items":[{"product_key":"Arizona","cost":"63.00","qty":"1.00"}],"displayName":"0167","displayTotal":63,"displayBalance":63,"displayPercent":0,"displayAge":30},{"invoice_status_id":"1","created_at":"2014-06-26 00:00:00","invoice_number":"0168","amount":"941.00","balance":"941.00","invoice_items":[{"product_key":"Louisiana","cost":"941.00","qty":"1.00"}],"displayName":"0168","displayTotal":941,"displayBalance":941,"displayPercent":0,"displayAge":99}],"contacts":[{"public_id":"51"}],"displayName":"Zurich Insurance Group","displayTotal":1306,"displayBalance":1134,"displayPercent":"0.13","displayAge":99},{"name":"Hyundai Motor","balance":"0.00","paid_to_date":"1643.00","invoices":[{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0169","amount":"69.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"69.00","qty":"1.00"}],"displayName":"0169","displayTotal":69,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-24 00:00:00","invoice_number":"0170","amount":"31.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"31.00","qty":"1.00"}],"displayName":"0170","displayTotal":31,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-30 00:00:00","invoice_number":"0171","amount":"102.00","balance":"0.00","invoice_items":[{"product_key":"Maryland","cost":"102.00","qty":"1.00"}],"displayName":"0171","displayTotal":102,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-24 00:00:00","invoice_number":"0172","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"101.00","qty":"1.00"}],"displayName":"0172","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0173","amount":"971.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"971.00","qty":"1.00"}],"displayName":"0173","displayTotal":971,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-16 00:00:00","invoice_number":"0174","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Kentucky","cost":"34.00","qty":"1.00"}],"displayName":"0174","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0175","amount":"71.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"71.00","qty":"1.00"}],"displayName":"0175","displayTotal":71,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0176","amount":"106.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"106.00","qty":"1.00"}],"displayName":"0176","displayTotal":106,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-21 00:00:00","invoice_number":"0177","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"134.00","qty":"1.00"}],"displayName":"0177","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-04 00:00:00","invoice_number":"0178","amount":"24.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"24.00","qty":"1.00"}],"displayName":"0178","displayTotal":24,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"52"}],"displayName":"Hyundai Motor","displayTotal":1643,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Sanofi","balance":"0.00","paid_to_date":"20.00","invoices":[{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0179","amount":"20.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"20.00","qty":"1.00"}],"displayName":"0179","displayTotal":20,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"53"}],"displayName":"Sanofi","displayTotal":20,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Credit Agricole","balance":"0.00","paid_to_date":"124.00","invoices":[{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0180","amount":"124.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"124.00","qty":"1.00"}],"displayName":"0180","displayTotal":124,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"54"}],"displayName":"Credit Agricole","displayTotal":124,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"United Technologies","balance":"0.00","paid_to_date":"2598.00","invoices":[{"invoice_status_id":"5","created_at":"2014-06-28 00:00:00","invoice_number":"0181","amount":"33.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"33.00","qty":"1.00"}],"displayName":"0181","displayTotal":33,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-23 00:00:00","invoice_number":"0182","amount":"114.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"114.00","qty":"1.00"}],"displayName":"0182","displayTotal":114,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0183","amount":"938.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"938.00","qty":"1.00"}],"displayName":"0183","displayTotal":938,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0184","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"101.00","qty":"1.00"}],"displayName":"0184","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0185","amount":"87.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"87.00","qty":"1.00"}],"displayName":"0185","displayTotal":87,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-20 00:00:00","invoice_number":"0186","amount":"58.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"58.00","qty":"1.00"}],"displayName":"0186","displayTotal":58,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0187","amount":"961.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"961.00","qty":"1.00"}],"displayName":"0187","displayTotal":961,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-30 00:00:00","invoice_number":"0188","amount":"132.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"132.00","qty":"1.00"}],"displayName":"0188","displayTotal":132,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-13 00:00:00","invoice_number":"0189","amount":"60.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"60.00","qty":"1.00"}],"displayName":"0189","displayTotal":60,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0190","amount":"114.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"114.00","qty":"1.00"}],"displayName":"0190","displayTotal":114,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"55"}],"displayName":"United Technologies","displayTotal":2598,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Roche Holding","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"56"}],"displayName":"Roche Holding","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null},{"name":"Munich Re","balance":"93.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-07-13 00:00:00","invoice_number":"0191","amount":"93.00","balance":"93.00","invoice_items":[{"product_key":"Kentucky","cost":"93.00","qty":"1.00"}],"displayName":"0191","displayTotal":93,"displayBalance":93,"displayPercent":0,"displayAge":82}],"contacts":[{"public_id":"57"}],"displayName":"Munich Re","displayTotal":93,"displayBalance":93,"displayPercent":"0.00","displayAge":82},{"name":"PepsiCo","balance":"0.00","paid_to_date":"41.00","invoices":[{"invoice_status_id":"5","created_at":"2014-10-01 00:00:00","invoice_number":"0192","amount":"41.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"41.00","qty":"1.00"}],"displayName":"0192","displayTotal":41,"displayBalance":0,"displayPercent":1,"displayAge":0}],"contacts":[{"public_id":"58"}],"displayName":"PepsiCo","displayTotal":41,"displayBalance":0,"displayPercent":"1.00","displayAge":0},{"name":"Oracle","balance":"91.00","paid_to_date":null,"invoices":[{"invoice_status_id":"1","created_at":"2014-09-19 00:00:00","invoice_number":"0193","amount":"91.00","balance":"91.00","invoice_items":[{"product_key":"Iowa","cost":"91.00","qty":"1.00"}],"displayName":"0193","displayTotal":91,"displayBalance":91,"displayPercent":0,"displayAge":14}],"contacts":[{"public_id":"59"}],"displayName":"Oracle","displayTotal":91,"displayBalance":91,"displayPercent":"0.00","displayAge":14},{"name":"Bank of Nova Scotia","balance":null,"paid_to_date":null,"invoices":[],"contacts":[{"public_id":"60"}],"displayName":"Bank of Nova Scotia","displayTotal":0,"displayBalance":0,"displayPercent":"NaN","displayAge":null}],
- "invoices":[{"invoice_status_id":"5","created_at":"2014-09-18 00:00:00","invoice_number":"0001","amount":"13.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"13.00","qty":"1.00"}],"displayName":"0001","displayTotal":13,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-29 00:00:00","invoice_number":"0002","amount":"85.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"85.00","qty":"1.00"}],"displayName":"0002","displayTotal":85,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-11 00:00:00","invoice_number":"0003","amount":"142.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"142.00","qty":"1.00"}],"displayName":"0003","displayTotal":142,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-19 00:00:00","invoice_number":"0004","amount":"936.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"936.00","qty":"1.00"}],"displayName":"0004","displayTotal":936,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-19 00:00:00","invoice_number":"0005","amount":"74.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"74.00","qty":"1.00"}],"displayName":"0005","displayTotal":74,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-25 00:00:00","invoice_number":"0006","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"101.00","qty":"1.00"}],"displayName":"0006","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0007","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"116.00","qty":"1.00"}],"displayName":"0007","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0008","amount":"42.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"42.00","qty":"1.00"}],"displayName":"0008","displayTotal":42,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0009","amount":"66.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"66.00","qty":"1.00"}],"displayName":"0009","displayTotal":66,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0010","amount":"40.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"40.00","qty":"1.00"}],"displayName":"0010","displayTotal":40,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-25 00:00:00","invoice_number":"0011","amount":"99.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"99.00","qty":"1.00"}],"displayName":"0011","displayTotal":99,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-26 00:00:00","invoice_number":"0012","amount":"106.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"106.00","qty":"1.00"}],"displayName":"0012","displayTotal":106,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-29 00:00:00","invoice_number":"0013","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"18.00","qty":"1.00"}],"displayName":"0013","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-04 00:00:00","invoice_number":"0014","amount":"70.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"70.00","qty":"1.00"}],"displayName":"0014","displayTotal":70,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0015","amount":"59.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"59.00","qty":"1.00"}],"displayName":"0015","displayTotal":59,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-25 00:00:00","invoice_number":"0016","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"18.00","qty":"1.00"}],"displayName":"0016","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-04 00:00:00","invoice_number":"0017","amount":"61.00","balance":"0.00","invoice_items":[{"product_key":"Maine","cost":"61.00","qty":"1.00"}],"displayName":"0017","displayTotal":61,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-16 00:00:00","invoice_number":"0018","amount":"65.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"65.00","qty":"1.00"}],"displayName":"0018","displayTotal":65,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0019","amount":"39.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"39.00","qty":"1.00"}],"displayName":"0019","displayTotal":39,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0020","amount":"72.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"72.00","qty":"1.00"}],"displayName":"0020","displayTotal":72,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-12 00:00:00","invoice_number":"0021","amount":"48.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"48.00","qty":"1.00"}],"displayName":"0021","displayTotal":48,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0022","amount":"90.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"90.00","qty":"1.00"}],"displayName":"0022","displayTotal":90,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0023","amount":"70.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"70.00","qty":"1.00"}],"displayName":"0023","displayTotal":70,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-07 00:00:00","invoice_number":"0024","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"43.00","qty":"1.00"}],"displayName":"0024","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0025","amount":"137.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"137.00","qty":"1.00"}],"displayName":"0025","displayTotal":137,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0026","amount":"92.00","balance":"92.00","invoice_items":[{"product_key":"Iowa","cost":"92.00","qty":"1.00"}],"displayName":"0026","displayTotal":92,"displayBalance":92,"displayPercent":0,"displayAge":3},{"invoice_status_id":"1","created_at":"2014-08-11 00:00:00","invoice_number":"0027","amount":"95.00","balance":"95.00","invoice_items":[{"product_key":"Arizona","cost":"95.00","qty":"1.00"}],"displayName":"0027","displayTotal":95,"displayBalance":95,"displayPercent":0,"displayAge":53},{"invoice_status_id":"1","created_at":"2014-07-28 00:00:00","invoice_number":"0028","amount":"25.00","balance":"25.00","invoice_items":[{"product_key":"Massachusetts","cost":"25.00","qty":"1.00"}],"displayName":"0028","displayTotal":25,"displayBalance":25,"displayPercent":0,"displayAge":67},{"invoice_status_id":"5","created_at":"2014-09-04 00:00:00","invoice_number":"0029","amount":"966.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"966.00","qty":"1.00"}],"displayName":"0029","displayTotal":966,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0030","amount":"91.00","balance":"91.00","invoice_items":[{"product_key":"Arizona","cost":"91.00","qty":"1.00"}],"displayName":"0030","displayTotal":91,"displayBalance":91,"displayPercent":0,"displayAge":17},{"invoice_status_id":"5","created_at":"2014-09-03 00:00:00","invoice_number":"0031","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"134.00","qty":"1.00"}],"displayName":"0031","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0032","amount":"102.00","balance":"102.00","invoice_items":[{"product_key":"Colorado","cost":"102.00","qty":"1.00"}],"displayName":"0032","displayTotal":102,"displayBalance":102,"displayPercent":0,"displayAge":87},{"invoice_status_id":"1","created_at":"2014-09-17 00:00:00","invoice_number":"0033","amount":"80.00","balance":"80.00","invoice_items":[{"product_key":"New York","cost":"80.00","qty":"1.00"}],"displayName":"0033","displayTotal":80,"displayBalance":80,"displayPercent":0,"displayAge":16},{"invoice_status_id":"5","created_at":"2014-07-23 00:00:00","invoice_number":"0034","amount":"951.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"951.00","qty":"1.00"}],"displayName":"0034","displayTotal":951,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-23 00:00:00","invoice_number":"0035","amount":"94.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"94.00","qty":"1.00"}],"displayName":"0035","displayTotal":94,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-13 00:00:00","invoice_number":"0036","amount":"137.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"137.00","qty":"1.00"}],"displayName":"0036","displayTotal":137,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-06-24 00:00:00","invoice_number":"0037","amount":"122.00","balance":"122.00","invoice_items":[{"product_key":"Alabama","cost":"122.00","qty":"1.00"}],"displayName":"0037","displayTotal":122,"displayBalance":122,"displayPercent":0,"displayAge":101},{"invoice_status_id":"1","created_at":"2014-09-25 00:00:00","invoice_number":"0038","amount":"44.00","balance":"44.00","invoice_items":[{"product_key":"Arizona","cost":"44.00","qty":"1.00"}],"displayName":"0038","displayTotal":44,"displayBalance":44,"displayPercent":0,"displayAge":8},{"invoice_status_id":"1","created_at":"2014-08-13 00:00:00","invoice_number":"0039","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Arizona","cost":"68.00","qty":"1.00"}],"displayName":"0039","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":51},{"invoice_status_id":"1","created_at":"2014-07-23 00:00:00","invoice_number":"0040","amount":"23.00","balance":"23.00","invoice_items":[{"product_key":"Delaware","cost":"23.00","qty":"1.00"}],"displayName":"0040","displayTotal":23,"displayBalance":23,"displayPercent":0,"displayAge":72},{"invoice_status_id":"1","created_at":"2014-07-06 00:00:00","invoice_number":"0041","amount":"61.00","balance":"61.00","invoice_items":[{"product_key":"Colorado","cost":"61.00","qty":"1.00"}],"displayName":"0041","displayTotal":61,"displayBalance":61,"displayPercent":0,"displayAge":89},{"invoice_status_id":"1","created_at":"2014-09-05 00:00:00","invoice_number":"0042","amount":"128.00","balance":"128.00","invoice_items":[{"product_key":"Arizona","cost":"128.00","qty":"1.00"}],"displayName":"0042","displayTotal":128,"displayBalance":128,"displayPercent":0,"displayAge":28},{"invoice_status_id":"5","created_at":"2014-07-17 00:00:00","invoice_number":"0043","amount":"130.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"130.00","qty":"1.00"}],"displayName":"0043","displayTotal":130,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-01 00:00:00","invoice_number":"0044","amount":"139.00","balance":"139.00","invoice_items":[{"product_key":"Arizona","cost":"139.00","qty":"1.00"}],"displayName":"0044","displayTotal":139,"displayBalance":139,"displayPercent":0,"displayAge":94},{"invoice_status_id":"1","created_at":"2014-07-20 00:00:00","invoice_number":"0045","amount":"127.00","balance":"127.00","invoice_items":[{"product_key":"California","cost":"127.00","qty":"1.00"}],"displayName":"0045","displayTotal":127,"displayBalance":127,"displayPercent":0,"displayAge":75},{"invoice_status_id":"1","created_at":"2014-09-15 00:00:00","invoice_number":"0046","amount":"83.00","balance":"83.00","invoice_items":[{"product_key":"Michigan","cost":"83.00","qty":"1.00"}],"displayName":"0046","displayTotal":83,"displayBalance":83,"displayPercent":0,"displayAge":18},{"invoice_status_id":"1","created_at":"2014-07-30 00:00:00","invoice_number":"0047","amount":"62.00","balance":"62.00","invoice_items":[{"product_key":"Florida","cost":"62.00","qty":"1.00"}],"displayName":"0047","displayTotal":62,"displayBalance":62,"displayPercent":0,"displayAge":65},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0048","amount":"902.00","balance":"902.00","invoice_items":[{"product_key":"New York","cost":"902.00","qty":"1.00"}],"displayName":"0048","displayTotal":902,"displayBalance":902,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-08-07 00:00:00","invoice_number":"0049","amount":"139.00","balance":"139.00","invoice_items":[{"product_key":"Arizona","cost":"139.00","qty":"1.00"}],"displayName":"0049","displayTotal":139,"displayBalance":139,"displayPercent":0,"displayAge":57},{"invoice_status_id":"1","created_at":"2014-07-12 00:00:00","invoice_number":"0050","amount":"124.00","balance":"124.00","invoice_items":[{"product_key":"Arizona","cost":"124.00","qty":"1.00"}],"displayName":"0050","displayTotal":124,"displayBalance":124,"displayPercent":0,"displayAge":83},{"invoice_status_id":"1","created_at":"2014-08-05 00:00:00","invoice_number":"0051","amount":"53.00","balance":"53.00","invoice_items":[{"product_key":"Connecticut","cost":"53.00","qty":"1.00"}],"displayName":"0051","displayTotal":53,"displayBalance":53,"displayPercent":0,"displayAge":59},{"invoice_status_id":"1","created_at":"2014-06-27 00:00:00","invoice_number":"0052","amount":"52.00","balance":"52.00","invoice_items":[{"product_key":"Michigan","cost":"52.00","qty":"1.00"}],"displayName":"0052","displayTotal":52,"displayBalance":52,"displayPercent":0,"displayAge":98},{"invoice_status_id":"1","created_at":"2014-09-04 00:00:00","invoice_number":"0053","amount":"28.00","balance":"28.00","invoice_items":[{"product_key":"New York","cost":"28.00","qty":"1.00"}],"displayName":"0053","displayTotal":28,"displayBalance":28,"displayPercent":0,"displayAge":29},{"invoice_status_id":"1","created_at":"2014-07-28 00:00:00","invoice_number":"0054","amount":"36.00","balance":"36.00","invoice_items":[{"product_key":"Alabama","cost":"36.00","qty":"1.00"}],"displayName":"0054","displayTotal":36,"displayBalance":36,"displayPercent":0,"displayAge":67},{"invoice_status_id":"1","created_at":"2014-08-28 00:00:00","invoice_number":"0055","amount":"111.00","balance":"111.00","invoice_items":[{"product_key":"New York","cost":"111.00","qty":"1.00"}],"displayName":"0055","displayTotal":111,"displayBalance":111,"displayPercent":0,"displayAge":36},{"invoice_status_id":"5","created_at":"2014-08-14 00:00:00","invoice_number":"0056","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"43.00","qty":"1.00"}],"displayName":"0056","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-23 00:00:00","invoice_number":"0057","amount":"111.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"111.00","qty":"1.00"}],"displayName":"0057","displayTotal":111,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-01 00:00:00","invoice_number":"0058","amount":"40.00","balance":"40.00","invoice_items":[{"product_key":"Massachusetts","cost":"40.00","qty":"1.00"}],"displayName":"0058","displayTotal":40,"displayBalance":40,"displayPercent":0,"displayAge":32},{"invoice_status_id":"1","created_at":"2014-09-21 00:00:00","invoice_number":"0059","amount":"116.00","balance":"116.00","invoice_items":[{"product_key":"Maryland","cost":"116.00","qty":"1.00"}],"displayName":"0059","displayTotal":116,"displayBalance":116,"displayPercent":0,"displayAge":12},{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0060","amount":"101.00","balance":"101.00","invoice_items":[{"product_key":"California","cost":"101.00","qty":"1.00"}],"displayName":"0060","displayTotal":101,"displayBalance":101,"displayPercent":0,"displayAge":85},{"invoice_status_id":"1","created_at":"2014-07-19 00:00:00","invoice_number":"0061","amount":"25.00","balance":"25.00","invoice_items":[{"product_key":"New York","cost":"25.00","qty":"1.00"}],"displayName":"0061","displayTotal":25,"displayBalance":25,"displayPercent":0,"displayAge":76},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0062","amount":"119.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"119.00","qty":"1.00"}],"displayName":"0062","displayTotal":119,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-21 00:00:00","invoice_number":"0063","amount":"42.00","balance":"42.00","invoice_items":[{"product_key":"California","cost":"42.00","qty":"1.00"}],"displayName":"0063","displayTotal":42,"displayBalance":42,"displayPercent":0,"displayAge":74},{"invoice_status_id":"5","created_at":"2014-07-17 00:00:00","invoice_number":"0064","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"34.00","qty":"1.00"}],"displayName":"0064","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0065","amount":"108.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"108.00","qty":"1.00"}],"displayName":"0065","displayTotal":108,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-29 00:00:00","invoice_number":"0066","amount":"38.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"38.00","qty":"1.00"}],"displayName":"0066","displayTotal":38,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0067","amount":"11.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"11.00","qty":"1.00"}],"displayName":"0067","displayTotal":11,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-02 00:00:00","invoice_number":"0068","amount":"128.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"128.00","qty":"1.00"}],"displayName":"0068","displayTotal":128,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-05 00:00:00","invoice_number":"0069","amount":"959.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"959.00","qty":"1.00"}],"displayName":"0069","displayTotal":959,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0070","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"116.00","qty":"1.00"}],"displayName":"0070","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-04 00:00:00","invoice_number":"0071","amount":"50.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"50.00","qty":"1.00"}],"displayName":"0071","displayTotal":50,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-11 00:00:00","invoice_number":"0072","amount":"23.00","balance":"0.00","invoice_items":[{"product_key":"Maryland","cost":"23.00","qty":"1.00"}],"displayName":"0072","displayTotal":23,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-28 00:00:00","invoice_number":"0073","amount":"125.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"125.00","qty":"1.00"}],"displayName":"0073","displayTotal":125,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-28 00:00:00","invoice_number":"0074","amount":"981.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"981.00","qty":"1.00"}],"displayName":"0074","displayTotal":981,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0075","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"34.00","qty":"1.00"}],"displayName":"0075","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0076","amount":"24.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"24.00","qty":"1.00"}],"displayName":"0076","displayTotal":24,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-19 00:00:00","invoice_number":"0077","amount":"107.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"107.00","qty":"1.00"}],"displayName":"0077","displayTotal":107,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-21 00:00:00","invoice_number":"0078","amount":"950.00","balance":"0.00","invoice_items":[{"product_key":"Kentucky","cost":"950.00","qty":"1.00"}],"displayName":"0078","displayTotal":950,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-27 00:00:00","invoice_number":"0079","amount":"148.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"148.00","qty":"1.00"}],"displayName":"0079","displayTotal":148,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-22 00:00:00","invoice_number":"0080","amount":"22.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"22.00","qty":"1.00"}],"displayName":"0080","displayTotal":22,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-22 00:00:00","invoice_number":"0081","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"105.00","qty":"1.00"}],"displayName":"0081","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-02 00:00:00","invoice_number":"0082","amount":"19.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"19.00","qty":"1.00"}],"displayName":"0082","displayTotal":19,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0083","amount":"102.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"102.00","qty":"1.00"}],"displayName":"0083","displayTotal":102,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-27 00:00:00","invoice_number":"0084","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"105.00","qty":"1.00"}],"displayName":"0084","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-07 00:00:00","invoice_number":"0085","amount":"138.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"138.00","qty":"1.00"}],"displayName":"0085","displayTotal":138,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0086","amount":"86.00","balance":"0.00","invoice_items":[{"product_key":"Louisiana","cost":"86.00","qty":"1.00"}],"displayName":"0086","displayTotal":86,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-14 00:00:00","invoice_number":"0087","amount":"59.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"59.00","qty":"1.00"}],"displayName":"0087","displayTotal":59,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-22 00:00:00","invoice_number":"0088","amount":"129.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"129.00","qty":"1.00"}],"displayName":"0088","displayTotal":129,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0089","amount":"107.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"107.00","qty":"1.00"}],"displayName":"0089","displayTotal":107,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-07 00:00:00","invoice_number":"0090","amount":"998.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"998.00","qty":"1.00"}],"displayName":"0090","displayTotal":998,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0091","amount":"11.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"11.00","qty":"1.00"}],"displayName":"0091","displayTotal":11,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-16 00:00:00","invoice_number":"0092","amount":"57.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"57.00","qty":"1.00"}],"displayName":"0092","displayTotal":57,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-29 00:00:00","invoice_number":"0093","amount":"32.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"32.00","qty":"1.00"}],"displayName":"0093","displayTotal":32,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-06 00:00:00","invoice_number":"0094","amount":"108.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"108.00","qty":"1.00"}],"displayName":"0094","displayTotal":108,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0095","amount":"18.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"18.00","qty":"1.00"}],"displayName":"0095","displayTotal":18,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-27 00:00:00","invoice_number":"0096","amount":"135.00","balance":"135.00","invoice_items":[{"product_key":"New York","cost":"135.00","qty":"1.00"}],"displayName":"0096","displayTotal":135,"displayBalance":135,"displayPercent":0,"displayAge":68},{"invoice_status_id":"1","created_at":"2014-09-29 00:00:00","invoice_number":"0097","amount":"133.00","balance":"133.00","invoice_items":[{"product_key":"New York","cost":"133.00","qty":"1.00"}],"displayName":"0097","displayTotal":133,"displayBalance":133,"displayPercent":0,"displayAge":4},{"invoice_status_id":"1","created_at":"2014-09-24 00:00:00","invoice_number":"0098","amount":"118.00","balance":"118.00","invoice_items":[{"product_key":"Colorado","cost":"118.00","qty":"1.00"}],"displayName":"0098","displayTotal":118,"displayBalance":118,"displayPercent":0,"displayAge":9},{"invoice_status_id":"5","created_at":"2014-09-15 00:00:00","invoice_number":"0099","amount":"127.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"127.00","qty":"1.00"}],"displayName":"0099","displayTotal":127,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-08-26 00:00:00","invoice_number":"0100","amount":"80.00","balance":"80.00","invoice_items":[{"product_key":"Maryland","cost":"80.00","qty":"1.00"}],"displayName":"0100","displayTotal":80,"displayBalance":80,"displayPercent":0,"displayAge":38},{"invoice_status_id":"5","created_at":"2014-07-07 00:00:00","invoice_number":"0101","amount":"123.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"123.00","qty":"1.00"}],"displayName":"0101","displayTotal":123,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-05 00:00:00","invoice_number":"0102","amount":"116.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"116.00","qty":"1.00"}],"displayName":"0102","displayTotal":116,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0103","amount":"36.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"36.00","qty":"1.00"}],"displayName":"0103","displayTotal":36,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-08-03 00:00:00","invoice_number":"0104","amount":"101.00","balance":"101.00","invoice_items":[{"product_key":"Arizona","cost":"101.00","qty":"1.00"}],"displayName":"0104","displayTotal":101,"displayBalance":101,"displayPercent":0,"displayAge":61},{"invoice_status_id":"1","created_at":"2014-07-06 00:00:00","invoice_number":"0105","amount":"132.00","balance":"132.00","invoice_items":[{"product_key":"Connecticut","cost":"132.00","qty":"1.00"}],"displayName":"0105","displayTotal":132,"displayBalance":132,"displayPercent":0,"displayAge":89},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0106","amount":"13.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"13.00","qty":"1.00"}],"displayName":"0106","displayTotal":13,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0107","amount":"942.00","balance":"942.00","invoice_items":[{"product_key":"Arizona","cost":"942.00","qty":"1.00"}],"displayName":"0107","displayTotal":942,"displayBalance":942,"displayPercent":0,"displayAge":87},{"invoice_status_id":"5","created_at":"2014-07-20 00:00:00","invoice_number":"0108","amount":"38.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"38.00","qty":"1.00"}],"displayName":"0108","displayTotal":38,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-27 00:00:00","invoice_number":"0109","amount":"145.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"145.00","qty":"1.00"}],"displayName":"0109","displayTotal":145,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-27 00:00:00","invoice_number":"0110","amount":"93.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"93.00","qty":"1.00"}],"displayName":"0110","displayTotal":93,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-21 00:00:00","invoice_number":"0111","amount":"94.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"94.00","qty":"1.00"}],"displayName":"0111","displayTotal":94,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0112","amount":"41.00","balance":"41.00","invoice_items":[{"product_key":"California","cost":"41.00","qty":"1.00"}],"displayName":"0112","displayTotal":41,"displayBalance":41,"displayPercent":0,"displayAge":85},{"invoice_status_id":"5","created_at":"2014-09-25 00:00:00","invoice_number":"0113","amount":"43.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"43.00","qty":"1.00"}],"displayName":"0113","displayTotal":43,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-03 00:00:00","invoice_number":"0114","amount":"980.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"980.00","qty":"1.00"}],"displayName":"0114","displayTotal":980,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-11 00:00:00","invoice_number":"0115","amount":"903.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"903.00","qty":"1.00"}],"displayName":"0115","displayTotal":903,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-18 00:00:00","invoice_number":"0116","amount":"44.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"44.00","qty":"1.00"}],"displayName":"0116","displayTotal":44,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-30 00:00:00","invoice_number":"0117","amount":"17.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"17.00","qty":"1.00"}],"displayName":"0117","displayTotal":17,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-17 00:00:00","invoice_number":"0118","amount":"133.00","balance":"0.00","invoice_items":[{"product_key":"Michigan","cost":"133.00","qty":"1.00"}],"displayName":"0118","displayTotal":133,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0119","amount":"25.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"25.00","qty":"1.00"}],"displayName":"0119","displayTotal":25,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0120","amount":"982.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"982.00","qty":"1.00"}],"displayName":"0120","displayTotal":982,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-29 00:00:00","invoice_number":"0121","amount":"57.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"57.00","qty":"1.00"}],"displayName":"0121","displayTotal":57,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0122","amount":"69.00","balance":"0.00","invoice_items":[{"product_key":"Connecticut","cost":"69.00","qty":"1.00"}],"displayName":"0122","displayTotal":69,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0123","amount":"14.00","balance":"14.00","invoice_items":[{"product_key":"California","cost":"14.00","qty":"1.00"}],"displayName":"0123","displayTotal":14,"displayBalance":14,"displayPercent":0,"displayAge":3},{"invoice_status_id":"5","created_at":"2014-09-19 00:00:00","invoice_number":"0124","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"Delaware","cost":"105.00","qty":"1.00"}],"displayName":"0124","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-28 00:00:00","invoice_number":"0125","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Iowa","cost":"68.00","qty":"1.00"}],"displayName":"0125","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":5},{"invoice_status_id":"1","created_at":"2014-08-17 00:00:00","invoice_number":"0126","amount":"98.00","balance":"98.00","invoice_items":[{"product_key":"Arizona","cost":"98.00","qty":"1.00"}],"displayName":"0126","displayTotal":98,"displayBalance":98,"displayPercent":0,"displayAge":47},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0127","amount":"68.00","balance":"68.00","invoice_items":[{"product_key":"Maine","cost":"68.00","qty":"1.00"}],"displayName":"0127","displayTotal":68,"displayBalance":68,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-09-30 00:00:00","invoice_number":"0128","amount":"120.00","balance":"120.00","invoice_items":[{"product_key":"New York","cost":"120.00","qty":"1.00"}],"displayName":"0128","displayTotal":120,"displayBalance":120,"displayPercent":0,"displayAge":3},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0129","amount":"105.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"105.00","qty":"1.00"}],"displayName":"0129","displayTotal":105,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-16 00:00:00","invoice_number":"0130","amount":"117.00","balance":"117.00","invoice_items":[{"product_key":"California","cost":"117.00","qty":"1.00"}],"displayName":"0130","displayTotal":117,"displayBalance":117,"displayPercent":0,"displayAge":17},{"invoice_status_id":"1","created_at":"2014-07-08 00:00:00","invoice_number":"0131","amount":"32.00","balance":"32.00","invoice_items":[{"product_key":"Colorado","cost":"32.00","qty":"1.00"}],"displayName":"0131","displayTotal":32,"displayBalance":32,"displayPercent":0,"displayAge":87},{"invoice_status_id":"1","created_at":"2014-07-05 00:00:00","invoice_number":"0132","amount":"35.00","balance":"35.00","invoice_items":[{"product_key":"Arizona","cost":"35.00","qty":"1.00"}],"displayName":"0132","displayTotal":35,"displayBalance":35,"displayPercent":0,"displayAge":90},{"invoice_status_id":"5","created_at":"2014-07-10 00:00:00","invoice_number":"0133","amount":"14.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"14.00","qty":"1.00"}],"displayName":"0133","displayTotal":14,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-12 00:00:00","invoice_number":"0134","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"82.00","qty":"1.00"}],"displayName":"0134","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-20 00:00:00","invoice_number":"0135","amount":"103.00","balance":"103.00","invoice_items":[{"product_key":"Arizona","cost":"103.00","qty":"1.00"}],"displayName":"0135","displayTotal":103,"displayBalance":103,"displayPercent":0,"displayAge":75},{"invoice_status_id":"1","created_at":"2014-06-26 00:00:00","invoice_number":"0136","amount":"49.00","balance":"49.00","invoice_items":[{"product_key":"Massachusetts","cost":"49.00","qty":"1.00"}],"displayName":"0136","displayTotal":49,"displayBalance":49,"displayPercent":0,"displayAge":99},{"invoice_status_id":"5","created_at":"2014-09-07 00:00:00","invoice_number":"0137","amount":"20.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"20.00","qty":"1.00"}],"displayName":"0137","displayTotal":20,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-13 00:00:00","invoice_number":"0138","amount":"56.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"56.00","qty":"1.00"}],"displayName":"0138","displayTotal":56,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-26 00:00:00","invoice_number":"0139","amount":"147.00","balance":"147.00","invoice_items":[{"product_key":"Iowa","cost":"147.00","qty":"1.00"}],"displayName":"0139","displayTotal":147,"displayBalance":147,"displayPercent":0,"displayAge":69},{"invoice_status_id":"1","created_at":"2014-09-06 00:00:00","invoice_number":"0140","amount":"47.00","balance":"47.00","invoice_items":[{"product_key":"California","cost":"47.00","qty":"1.00"}],"displayName":"0140","displayTotal":47,"displayBalance":47,"displayPercent":0,"displayAge":27},{"invoice_status_id":"1","created_at":"2014-08-19 00:00:00","invoice_number":"0141","amount":"147.00","balance":"147.00","invoice_items":[{"product_key":"Colorado","cost":"147.00","qty":"1.00"}],"displayName":"0141","displayTotal":147,"displayBalance":147,"displayPercent":0,"displayAge":45},{"invoice_status_id":"1","created_at":"2014-09-27 00:00:00","invoice_number":"0142","amount":"113.00","balance":"113.00","invoice_items":[{"product_key":"Colorado","cost":"113.00","qty":"1.00"}],"displayName":"0142","displayTotal":113,"displayBalance":113,"displayPercent":0,"displayAge":6},{"invoice_status_id":"1","created_at":"2014-07-01 00:00:00","invoice_number":"0143","amount":"48.00","balance":"48.00","invoice_items":[{"product_key":"Indiana","cost":"48.00","qty":"1.00"}],"displayName":"0143","displayTotal":48,"displayBalance":48,"displayPercent":0,"displayAge":94},{"invoice_status_id":"1","created_at":"2014-08-18 00:00:00","invoice_number":"0144","amount":"137.00","balance":"137.00","invoice_items":[{"product_key":"Arizona","cost":"137.00","qty":"1.00"}],"displayName":"0144","displayTotal":137,"displayBalance":137,"displayPercent":0,"displayAge":46},{"invoice_status_id":"1","created_at":"2014-09-25 00:00:00","invoice_number":"0145","amount":"117.00","balance":"117.00","invoice_items":[{"product_key":"New York","cost":"117.00","qty":"1.00"}],"displayName":"0145","displayTotal":117,"displayBalance":117,"displayPercent":0,"displayAge":8},{"invoice_status_id":"5","created_at":"2014-07-24 00:00:00","invoice_number":"0146","amount":"71.00","balance":"0.00","invoice_items":[{"product_key":"Georgia","cost":"71.00","qty":"1.00"}],"displayName":"0146","displayTotal":71,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-06 00:00:00","invoice_number":"0147","amount":"976.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"976.00","qty":"1.00"}],"displayName":"0147","displayTotal":976,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0148","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"Florida","cost":"82.00","qty":"1.00"}],"displayName":"0148","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-22 00:00:00","invoice_number":"0149","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"134.00","qty":"1.00"}],"displayName":"0149","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-15 00:00:00","invoice_number":"0150","amount":"147.00","balance":"0.00","invoice_items":[{"product_key":"Illinois","cost":"147.00","qty":"1.00"}],"displayName":"0150","displayTotal":147,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-31 00:00:00","invoice_number":"0151","amount":"16.00","balance":"0.00","invoice_items":[{"product_key":"Kansas","cost":"16.00","qty":"1.00"}],"displayName":"0151","displayTotal":16,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-17 00:00:00","invoice_number":"0152","amount":"14.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"14.00","qty":"1.00"}],"displayName":"0152","displayTotal":14,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-12 00:00:00","invoice_number":"0153","amount":"61.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"61.00","qty":"1.00"}],"displayName":"0153","displayTotal":61,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-17 00:00:00","invoice_number":"0154","amount":"47.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"47.00","qty":"1.00"}],"displayName":"0154","displayTotal":47,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-10 00:00:00","invoice_number":"0155","amount":"137.00","balance":"137.00","invoice_items":[{"product_key":"California","cost":"137.00","qty":"1.00"}],"displayName":"0155","displayTotal":137,"displayBalance":137,"displayPercent":0,"displayAge":23},{"invoice_status_id":"1","created_at":"2014-07-10 00:00:00","invoice_number":"0156","amount":"76.00","balance":"76.00","invoice_items":[{"product_key":"Massachusetts","cost":"76.00","qty":"1.00"}],"displayName":"0156","displayTotal":76,"displayBalance":76,"displayPercent":0,"displayAge":85},{"invoice_status_id":"5","created_at":"2014-07-26 00:00:00","invoice_number":"0157","amount":"82.00","balance":"0.00","invoice_items":[{"product_key":"Maine","cost":"82.00","qty":"1.00"}],"displayName":"0157","displayTotal":82,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-29 00:00:00","invoice_number":"0158","amount":"76.00","balance":"76.00","invoice_items":[{"product_key":"New York","cost":"76.00","qty":"1.00"}],"displayName":"0158","displayTotal":76,"displayBalance":76,"displayPercent":0,"displayAge":4},{"invoice_status_id":"1","created_at":"2014-08-20 00:00:00","invoice_number":"0159","amount":"111.00","balance":"111.00","invoice_items":[{"product_key":"Arizona","cost":"111.00","qty":"1.00"}],"displayName":"0159","displayTotal":111,"displayBalance":111,"displayPercent":0,"displayAge":44},{"invoice_status_id":"5","created_at":"2014-07-14 00:00:00","invoice_number":"0160","amount":"27.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"27.00","qty":"1.00"}],"displayName":"0160","displayTotal":27,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-17 00:00:00","invoice_number":"0161","amount":"47.00","balance":"47.00","invoice_items":[{"product_key":"Kansas","cost":"47.00","qty":"1.00"}],"displayName":"0161","displayTotal":47,"displayBalance":47,"displayPercent":0,"displayAge":78},{"invoice_status_id":"1","created_at":"2014-08-06 00:00:00","invoice_number":"0162","amount":"31.00","balance":"31.00","invoice_items":[{"product_key":"Indiana","cost":"31.00","qty":"1.00"}],"displayName":"0162","displayTotal":31,"displayBalance":31,"displayPercent":0,"displayAge":58},{"invoice_status_id":"1","created_at":"2014-08-06 00:00:00","invoice_number":"0163","amount":"78.00","balance":"78.00","invoice_items":[{"product_key":"California","cost":"78.00","qty":"1.00"}],"displayName":"0163","displayTotal":78,"displayBalance":78,"displayPercent":0,"displayAge":58},{"invoice_status_id":"5","created_at":"2014-09-24 00:00:00","invoice_number":"0164","amount":"118.00","balance":"0.00","invoice_items":[{"product_key":"Florida","cost":"118.00","qty":"1.00"}],"displayName":"0164","displayTotal":118,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-27 00:00:00","invoice_number":"0165","amount":"21.00","balance":"21.00","invoice_items":[{"product_key":"Colorado","cost":"21.00","qty":"1.00"}],"displayName":"0165","displayTotal":21,"displayBalance":21,"displayPercent":0,"displayAge":68},{"invoice_status_id":"5","created_at":"2014-07-30 00:00:00","invoice_number":"0166","amount":"54.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"54.00","qty":"1.00"}],"displayName":"0166","displayTotal":54,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-03 00:00:00","invoice_number":"0167","amount":"63.00","balance":"63.00","invoice_items":[{"product_key":"Arizona","cost":"63.00","qty":"1.00"}],"displayName":"0167","displayTotal":63,"displayBalance":63,"displayPercent":0,"displayAge":30},{"invoice_status_id":"1","created_at":"2014-06-26 00:00:00","invoice_number":"0168","amount":"941.00","balance":"941.00","invoice_items":[{"product_key":"Louisiana","cost":"941.00","qty":"1.00"}],"displayName":"0168","displayTotal":941,"displayBalance":941,"displayPercent":0,"displayAge":99},{"invoice_status_id":"5","created_at":"2014-08-08 00:00:00","invoice_number":"0169","amount":"69.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"69.00","qty":"1.00"}],"displayName":"0169","displayTotal":69,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-24 00:00:00","invoice_number":"0170","amount":"31.00","balance":"0.00","invoice_items":[{"product_key":"Idaho","cost":"31.00","qty":"1.00"}],"displayName":"0170","displayTotal":31,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-30 00:00:00","invoice_number":"0171","amount":"102.00","balance":"0.00","invoice_items":[{"product_key":"Maryland","cost":"102.00","qty":"1.00"}],"displayName":"0171","displayTotal":102,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-24 00:00:00","invoice_number":"0172","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"101.00","qty":"1.00"}],"displayName":"0172","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0173","amount":"971.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"971.00","qty":"1.00"}],"displayName":"0173","displayTotal":971,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-16 00:00:00","invoice_number":"0174","amount":"34.00","balance":"0.00","invoice_items":[{"product_key":"Kentucky","cost":"34.00","qty":"1.00"}],"displayName":"0174","displayTotal":34,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0175","amount":"71.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"71.00","qty":"1.00"}],"displayName":"0175","displayTotal":71,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0176","amount":"106.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"106.00","qty":"1.00"}],"displayName":"0176","displayTotal":106,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-21 00:00:00","invoice_number":"0177","amount":"134.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"134.00","qty":"1.00"}],"displayName":"0177","displayTotal":134,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-04 00:00:00","invoice_number":"0178","amount":"24.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"24.00","qty":"1.00"}],"displayName":"0178","displayTotal":24,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-15 00:00:00","invoice_number":"0179","amount":"20.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"20.00","qty":"1.00"}],"displayName":"0179","displayTotal":20,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0180","amount":"124.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"124.00","qty":"1.00"}],"displayName":"0180","displayTotal":124,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-06-28 00:00:00","invoice_number":"0181","amount":"33.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"33.00","qty":"1.00"}],"displayName":"0181","displayTotal":33,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-23 00:00:00","invoice_number":"0182","amount":"114.00","balance":"0.00","invoice_items":[{"product_key":"New York","cost":"114.00","qty":"1.00"}],"displayName":"0182","displayTotal":114,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-16 00:00:00","invoice_number":"0183","amount":"938.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"938.00","qty":"1.00"}],"displayName":"0183","displayTotal":938,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-15 00:00:00","invoice_number":"0184","amount":"101.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"101.00","qty":"1.00"}],"displayName":"0184","displayTotal":101,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-03 00:00:00","invoice_number":"0185","amount":"87.00","balance":"0.00","invoice_items":[{"product_key":"Indiana","cost":"87.00","qty":"1.00"}],"displayName":"0185","displayTotal":87,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-20 00:00:00","invoice_number":"0186","amount":"58.00","balance":"0.00","invoice_items":[{"product_key":"Iowa","cost":"58.00","qty":"1.00"}],"displayName":"0186","displayTotal":58,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-08-24 00:00:00","invoice_number":"0187","amount":"961.00","balance":"0.00","invoice_items":[{"product_key":"California","cost":"961.00","qty":"1.00"}],"displayName":"0187","displayTotal":961,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-30 00:00:00","invoice_number":"0188","amount":"132.00","balance":"0.00","invoice_items":[{"product_key":"Colorado","cost":"132.00","qty":"1.00"}],"displayName":"0188","displayTotal":132,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-07-13 00:00:00","invoice_number":"0189","amount":"60.00","balance":"0.00","invoice_items":[{"product_key":"Hawaii","cost":"60.00","qty":"1.00"}],"displayName":"0189","displayTotal":60,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"5","created_at":"2014-09-30 00:00:00","invoice_number":"0190","amount":"114.00","balance":"0.00","invoice_items":[{"product_key":"Alabama","cost":"114.00","qty":"1.00"}],"displayName":"0190","displayTotal":114,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-07-13 00:00:00","invoice_number":"0191","amount":"93.00","balance":"93.00","invoice_items":[{"product_key":"Kentucky","cost":"93.00","qty":"1.00"}],"displayName":"0191","displayTotal":93,"displayBalance":93,"displayPercent":0,"displayAge":82},{"invoice_status_id":"5","created_at":"2014-10-01 00:00:00","invoice_number":"0192","amount":"41.00","balance":"0.00","invoice_items":[{"product_key":"Arizona","cost":"41.00","qty":"1.00"}],"displayName":"0192","displayTotal":41,"displayBalance":0,"displayPercent":1,"displayAge":0},{"invoice_status_id":"1","created_at":"2014-09-19 00:00:00","invoice_number":"0193","amount":"91.00","balance":"91.00","invoice_items":[{"product_key":"Iowa","cost":"91.00","qty":"1.00"}],"displayName":"0193","displayTotal":91,"displayBalance":91,"displayPercent":0,"displayAge":14}],
- "products":[{"key":"Alabama","values":{"amount":642,"paid":484,"age":84},"displayName":"Alabama","displayTotal":642,"displayBalance":158,"displayPercent":"0.75","displayAge":84},{"key":"Arizona","values":{"amount":7480,"paid":5062,"age":52},"displayName":"Arizona","displayTotal":7480,"displayBalance":2418,"displayPercent":"0.68","displayAge":52},{"key":"California","values":{"amount":6249,"paid":5545,"age":58},"displayName":"California","displayTotal":6249,"displayBalance":704,"displayPercent":"0.89","displayAge":58},{"key":"Colorado","values":{"amount":1260,"paid":666,"age":68},"displayName":"Colorado","displayTotal":1260,"displayBalance":594,"displayPercent":"0.53","displayAge":68},{"key":"Connecticut","values":{"amount":578,"paid":393,"age":74},"displayName":"Connecticut","displayTotal":578,"displayBalance":185,"displayPercent":"0.68","displayAge":74},{"key":"Delaware","values":{"amount":209,"paid":186,"age":72},"displayName":"Delaware","displayTotal":209,"displayBalance":23,"displayPercent":"0.89","displayAge":72},{"key":"Florida","values":{"amount":262,"paid":200,"age":65},"displayName":"Florida","displayTotal":262,"displayBalance":62,"displayPercent":"0.76","displayAge":65},{"key":"Georgia","values":{"amount":71,"paid":71},"displayName":"Georgia","displayTotal":71,"displayBalance":0,"displayPercent":"1.00"},{"key":"Hawaii","values":{"amount":536,"paid":536},"displayName":"Hawaii","displayTotal":536,"displayBalance":0,"displayPercent":"1.00"},{"key":"Idaho","values":{"amount":315,"paid":315},"displayName":"Idaho","displayTotal":315,"displayBalance":0,"displayPercent":"1.00"},{"key":"Illinois","values":{"amount":1281,"paid":1281},"displayName":"Illinois","displayTotal":1281,"displayBalance":0,"displayPercent":"1.00"},{"key":"Indiana","values":{"amount":227,"paid":148,"age":76},"displayName":"Indiana","displayTotal":227,"displayBalance":79,"displayPercent":"0.65","displayAge":76},{"key":"Iowa","values":{"amount":1659,"paid":1261,"age":9.5},"displayName":"Iowa","displayTotal":1659,"displayBalance":398,"displayPercent":"0.76","displayAge":9.5},{"key":"Kansas","values":{"amount":342,"paid":295,"age":78},"displayName":"Kansas","displayTotal":342,"displayBalance":47,"displayPercent":"0.86","displayAge":78},{"key":"Kentucky","values":{"amount":1077,"paid":984,"age":82},"displayName":"Kentucky","displayTotal":1077,"displayBalance":93,"displayPercent":"0.91","displayAge":82},{"key":"Louisiana","values":{"amount":2092,"paid":1151,"age":99},"displayName":"Louisiana","displayTotal":2092,"displayBalance":941,"displayPercent":"0.55","displayAge":99},{"key":"Maine","values":{"amount":211,"paid":143,"age":17},"displayName":"Maine","displayTotal":211,"displayBalance":68,"displayPercent":"0.68","displayAge":17},{"key":"Maryland","values":{"amount":321,"paid":125,"age":25},"displayName":"Maryland","displayTotal":321,"displayBalance":196,"displayPercent":"0.39","displayAge":25},{"key":"Massachusetts","values":{"amount":190,"paid":0,"age":76},"displayName":"Massachusetts","displayTotal":190,"displayBalance":190,"displayPercent":"0.00","displayAge":76},{"key":"Michigan","values":{"amount":522,"paid":387,"age":58},"displayName":"Michigan","displayTotal":522,"displayBalance":135,"displayPercent":"0.74","displayAge":58},{"key":"New York","values":{"amount":4396,"paid":2669,"age":16.5},"displayName":"New York","displayTotal":4396,"displayBalance":1727,"displayPercent":"0.61","displayAge":16.5}]
-}
\ No newline at end of file
diff --git a/app/views/accounts/account_gateway.blade.php b/app/views/accounts/account_gateway.blade.php
deleted file mode 100644
index 9aa605664798..000000000000
--- a/app/views/accounts/account_gateway.blade.php
+++ /dev/null
@@ -1,153 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open($url)->method($method)->rule()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
- {{ Former::populate($account) }}
-
- {{ Former::legend($title) }}
-
- @if ($accountGateway)
- {{ Former::populateField('gateway_id', $accountGateway->gateway_id) }}
- {{ Former::populateField('recommendedGateway_id', $accountGateway->gateway_id) }}
- @if ($config)
- @foreach ($accountGateway->fields as $field => $junk)
- @if (in_array($field, ['solutionType', 'landingPage', 'headerImageUrl', 'brandName']))
- {{-- do nothing --}}
- @elseif (isset($config->$field))
- {{ Former::populateField($accountGateway->gateway_id.'_'.$field, $config->$field) }}
- @endif
- @endforeach
- @endif
- @endif
-
-
- {{ Former::checkboxes('creditCardTypes[]')->label('Accepted Credit Cards')
- ->checkboxes($creditCardTypes)->class('creditcard-types')
- }}
-
-
-
-
-
-
- {{ Former::radios('recommendedGateway_id')->label('Recommended Gateway')
- ->radios($recommendedGateways)->class('recommended-gateway')
- }}
-
-
- {{ Former::select('gateway_id')->label('Select Gateway')->addOption('', '')
- ->dataClass('gateway-dropdown')
- ->fromQuery($gateways, 'name', 'id')
- ->onchange('setFieldsShown()'); }}
-
-
- @foreach ($gateways as $gateway)
-
-
- @foreach ($gateway->fields as $field => $details)
-
- @if (in_array($field, ['solutionType', 'landingPage', 'headerImageUrl', 'brandName']))
- {{-- do nothing --}}
- @elseif ($field == 'testMode' || $field == 'developerMode')
- {{-- Former::checkbox($gateway->id.'_'.$field)->label(Utils::toSpaceCase($field))->text('Enable') --}}
- @elseif ($field == 'username' || $field == 'password')
- {{ Former::text($gateway->id.'_'.$field)->label('API '. ucfirst(Utils::toSpaceCase($field))) }}
- @else
- {{ Former::text($gateway->id.'_'.$field)->label(Utils::toSpaceCase($field)) }}
- @endif
-
- @endforeach
-
- @if ($gateway->getHelp())
-
- @endif
-
- @if ($gateway->id == GATEWAY_STRIPE)
- {{ Former::select('token_billing_type_id')->options($tokenBillingOptions)->help(trans('texts.token_billing_help')) }}
- @endif
-
-
- @endforeach
-
-
-
- {{ Former::actions(
- Button::lg_success_submit('Save')->append_with_icon('floppy-disk'),
- $countGateways > 0 ? Button::lg_default_link('company/payments', 'Cancel')->append_with_icon('remove-circle') : false
- )}}
- {{ Former::close() }}
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/details.blade.php b/app/views/accounts/details.blade.php
deleted file mode 100755
index 7dd89ec9d428..000000000000
--- a/app/views/accounts/details.blade.php
+++ /dev/null
@@ -1,252 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
-
-
- {{ Former::open_for_files()->addClass('col-md-10 col-md-offset-1 warn-on-exit')->rules(array(
- 'name' => 'required',
- 'email' => 'email|required'
- )) }}
-
- {{ Former::populate($account) }}
- @if ($showUser)
- {{ Former::populateField('first_name', $account->users()->first()->first_name) }}
- {{ Former::populateField('last_name', $account->users()->first()->last_name) }}
- {{ Former::populateField('email', $account->users()->first()->email) }}
- {{ Former::populateField('phone', $account->users()->first()->phone) }}
- @endif
-
-
-
-
- {{ Former::legend('details') }}
- {{ Former::text('name') }}
- {{ Former::text('id_number') }}
- {{ Former::text('vat_number') }}
- {{ Former::text('work_email') }}
- {{ Former::text('work_phone') }}
- {{ Former::file('logo')->max(2, 'MB')->accept('image')->inlineHelp(trans('texts.logo_help')) }}
-
- @if (file_exists($account->getLogoPath()))
-
- {{ HTML::image($account->getLogoPath(), "Logo") }}
- {{ trans('texts.remove_logo') }}
-
- @endif
-
- {{ Former::select('size_id')->addOption('','')
- ->fromQuery($sizes, 'name', 'id') }}
- {{ Former::select('industry_id')->addOption('','')
- ->fromQuery($industries, 'name', 'id') }}
-
- {{ Former::legend('address') }}
- {{ Former::text('address1') }}
- {{ Former::text('address2') }}
- {{ Former::text('city') }}
- {{ Former::text('state') }}
- {{ Former::text('postal_code') }}
- {{ Former::select('country_id')->addOption('','')
- ->fromQuery($countries, 'name', 'id') }}
-
-
-
-
-
- @if ($showUser)
- {{ Former::legend('users') }}
- {{ Former::text('first_name') }}
- {{ Former::text('last_name') }}
- {{ Former::text('email') }}
- {{ Former::text('phone') }}
- {{ Former::actions(Button::primary_sm(trans('texts.change_password'), ['onclick'=>'showChangePassword()'])); }}
- @endif
-
- {{ Former::legend('localization') }}
- {{ Former::select('language_id')->addOption('','')
- ->fromQuery($languages, 'name', 'id') }}
- {{ Former::select('currency_id')->addOption('','')
- ->fromQuery($currencies, 'name', 'id') }}
- {{ Former::select('timezone_id')->addOption('','')
- ->fromQuery($timezones, 'location', 'id') }}
- {{ Former::select('date_format_id')->addOption('','')
- ->fromQuery($dateFormats, 'label', 'id') }}
- {{ Former::select('datetime_format_id')->addOption('','')
- ->fromQuery($datetimeFormats, 'label', 'id') }}
-
-
-
-
-
-
- {{ Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') }}
-
-
-
-
-
-
-
-
-
-
-
- {{ Former::password('current_password')->style('width:300px') }}
- {{ Former::password('new_password')->style('width:300px') }}
- {{ Former::password('confirm_password')->style('width:300px') }}
-
-
-
-
-
-
-
-
-
-
-
{{ trans('texts.working') }}...
-
-
-
-
-
-
{{ trans('texts.success') }}
- {{ trans('texts.updated_password') }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ Former::close() }}
-
- {{ Form::open(['url' => 'remove_logo', 'class' => 'removeLogoForm']) }}
- {{ Form::close() }}
-
-
-
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/email_templates.blade.php b/app/views/accounts/email_templates.blade.php
deleted file mode 100644
index f22abef5039e..000000000000
--- a/app/views/accounts/email_templates.blade.php
+++ /dev/null
@@ -1,109 +0,0 @@
-@extends('accounts.nav')
-
-@section('head')
- @parent
-
-
-
-@stop
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
- {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
- {{ Former::populateField('email_template_invoice', $invoiceEmail) }}
- {{ Former::populateField('email_template_quote', $quoteEmail) }}
- {{ Former::populateField('email_template_payment', $paymentEmail) }}
-
- {{ Former::legend('invoice_email') }}
-
-
- {{ Former::textarea('email_template_invoice')->raw() }}
-
-
-
-
-
-
- {{ Former::legend('quote_email') }}
-
-
- {{ Former::textarea('email_template_quote')->raw() }}
-
-
-
-
-
-
- {{ Former::legend('payment_email') }}
-
-
- {{ Former::textarea('email_template_payment')->raw() }}
-
-
-
-
-
-
- @if (Auth::user()->isPro())
- {{ Former::actions(
- Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk')
- ) }}
- @else
-
- @endif
-
- {{ Former::close() }}
-
-
-
-@stop
diff --git a/app/views/accounts/export.blade.php b/app/views/accounts/export.blade.php
deleted file mode 100755
index 71b2aa1cc470..000000000000
--- a/app/views/accounts/export.blade.php
+++ /dev/null
@@ -1,11 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open()->addClass('col-md-9 col-md-offset-1') }}
- {{ Former::legend('Export Client Data') }}
- {{ Button::lg_primary_submit('Download') }}
- {{ Former::close() }}
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/import_export.blade.php b/app/views/accounts/import_export.blade.php
deleted file mode 100755
index 6a3baaddc5e0..000000000000
--- a/app/views/accounts/import_export.blade.php
+++ /dev/null
@@ -1,61 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
-@parent
-
-{{ Former::open_for_files('company/import_map')->addClass('col-md-9 col-md-offset-1') }}
-{{ Former::legend('import_clients') }}
-{{ Former::file('file')->label(trans('texts.csv_file')) }}
-{{ Former::actions( Button::lg_info_submit(trans('texts.upload'))->append_with_icon('open') ) }}
-{{ Former::close() }}
-
-{{ Former::open('company/export')->addClass('col-md-9 col-md-offset-1') }}
-{{ Former::legend('export_clients') }}
-{{ Former::actions( Button::lg_primary_submit(trans('texts.download'))->append_with_icon('download-alt') ) }}
-{{ Former::close() }}
-
-
-
-
-{{ Former::open('company/cancel_account')->addClass('col-md-9 col-md-offset-1 cancel-account') }}
-{{ Former::legend('cancel_account') }}
-{{ Former::actions( Button::lg_danger_button(trans('texts.cancel_account'), ['onclick' => 'showConfirm()'])->append_with_icon('trash') ) }}
-
-
-
-
-
-
-
-
{{ trans('texts.cancel_account_message') }}
-
{{ Former::textarea('reason')->placeholder(trans('texts.reason_for_canceling'))->raw() }}
-
-
-
-
-
-
-
-
-{{ Former::close() }}
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/import_map.blade.php b/app/views/accounts/import_map.blade.php
deleted file mode 100755
index b1e4de004cbe..000000000000
--- a/app/views/accounts/import_map.blade.php
+++ /dev/null
@@ -1,73 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open('company/import_export')->addClass('warn-on-exit') }}
- {{ Former::legend('import_clients') }}
-
- @if ($headers)
-
-
- {{ trans('texts.first_row_headers') }}
-
-
-
-
-
- {{ trans('texts.column') }}
- {{ trans('texts.sample') }}
- {{ trans('texts.import_to') }}
-
-
- @for ($i=0; $i
- {{ $headers[$i] }}
- {{ $data[1][$i] }}
- {{ Former::select('map[' . $i . ']')->options($columns, $mapped[$i], true)->raw() }}
-
- @endfor
-
-
-
- @endif
-
-
- {{ Former::actions( Button::lg_primary_submit(trans('texts.import')), ' | ', link_to('company/import', trans('texts.cancel')) ) }}
- {{ Former::close() }}
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/invoice_design.blade.php b/app/views/accounts/invoice_design.blade.php
deleted file mode 100644
index 8124fb13bd53..000000000000
--- a/app/views/accounts/invoice_design.blade.php
+++ /dev/null
@@ -1,116 +0,0 @@
-@extends('accounts.nav')
-
-@section('head')
- @parent
-
-
-
-@stop
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
-
-
-
-
-
-
- {{ Former::open()->addClass('warn-on-exit')->onchange('refreshPDF()') }}
- {{ Former::populate($account) }}
- {{ Former::populateField('hide_quantity', intval($account->hide_quantity)) }}
- {{ Former::populateField('hide_paid_to_date', intval($account->hide_paid_to_date)) }}
-
- {{ Former::legend('invoice_design') }}
-
-
- @if (!Utils::isPro() || InvoiceDesign::count() == COUNT_FREE_DESIGNS)
- {{ Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id')->addOption(trans('texts.more_designs') . '...', '-1') }}
- @else
- {{ Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id') }}
- @endif
-
-
-
- {{ Former::text('primary_color') }}
- {{ Former::text('secondary_color') }}
-
-
-
-
- {{ Former::legend('invoice_options') }}
- {{ Former::checkbox('hide_quantity')->text(trans('texts.hide_quantity_help')) }}
- {{ Former::checkbox('hide_paid_to_date')->text(trans('texts.hide_paid_to_date_help')) }}
-
-
-
-
- @if (Auth::user()->isPro())
- {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }}
- @else
-
- @endif
-
- {{ Former::close() }}
-
-
-
-
- @include('invoices.pdf', ['account' => Auth::user()->account, 'pdfHeight' => 800])
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/invoice_settings.blade.php b/app/views/accounts/invoice_settings.blade.php
deleted file mode 100644
index bf789be9be32..000000000000
--- a/app/views/accounts/invoice_settings.blade.php
+++ /dev/null
@@ -1,73 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
- {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
- {{ Former::populate($account) }}
- {{ Former::populateField('custom_invoice_taxes1', intval($account->custom_invoice_taxes1)) }}
- {{ Former::populateField('custom_invoice_taxes2', intval($account->custom_invoice_taxes2)) }}
- {{ Former::populateField('share_counter', intval($account->share_counter)) }}
-
-
- {{ Former::legend('invoice_fields') }}
- {{ Former::text('custom_invoice_label1')->label(trans('texts.field_label'))
- ->append(Former::checkbox('custom_invoice_taxes1')->raw() . ' ' . trans('texts.charge_taxes')) }}
- {{ Former::text('custom_invoice_label2')->label(trans('texts.field_label'))
- ->append(Former::checkbox('custom_invoice_taxes2')->raw() . ' ' . trans('texts.charge_taxes')) }}
-
-
- {{ Former::legend('client_fields') }}
- {{ Former::text('custom_client_label1')->label(trans('texts.field_label')) }}
- {{ Former::text('custom_client_label2')->label(trans('texts.field_label')) }}
-
-
- {{ Former::legend('company_fields') }}
- {{ Former::text('custom_label1')->label(trans('texts.field_label')) }}
- {{ Former::text('custom_value1')->label(trans('texts.field_value')) }}
-
- {{ Former::text('custom_label2')->label(trans('texts.field_label')) }}
- {{ Former::text('custom_value2')->label(trans('texts.field_value')) }}
-
-
- {{ Former::legend('invoice_number') }}
- {{ Former::text('invoice_number_prefix')->label(trans('texts.invoice_number_prefix')) }}
- {{ Former::text('invoice_number_counter')->label(trans('texts.invoice_number_counter')) }}
-
-
- {{ Former::legend('quote_number') }}
- {{ Former::text('quote_number_prefix')->label(trans('texts.quote_number_prefix')) }}
- {{ Former::text('quote_number_counter')->label(trans('texts.quote_number_counter'))
- ->append(Former::checkbox('share_counter')->raw()->onclick('setQuoteNumberEnabled()') . ' ' . trans('texts.share_invoice_counter')) }}
-
-
- @if (Auth::user()->isPro())
- {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }}
- @else
-
- @endif
-
- {{ Former::close() }}
-
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/nav.blade.php b/app/views/accounts/nav.blade.php
deleted file mode 100755
index 5967295ffa9e..000000000000
--- a/app/views/accounts/nav.blade.php
+++ /dev/null
@@ -1,16 +0,0 @@
-@extends('header')
-
-@section('content')
-
-
- {{ HTML::nav_link('company/details', 'company_details') }}
- {{ HTML::nav_link('company/payments', 'online_payments', 'gateways') }}
- {{ HTML::nav_link('company/products', 'product_library') }}
- {{ HTML::nav_link('company/notifications', 'notifications') }}
- {{ HTML::nav_link('company/import_export', 'import_export', 'company/import_map') }}
- {{ HTML::nav_link('company/advanced_settings/invoice_settings', 'advanced_settings', '*/advanced_settings/*') }}
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/nav_advanced.blade.php b/app/views/accounts/nav_advanced.blade.php
deleted file mode 100644
index 3f0d62789ca5..000000000000
--- a/app/views/accounts/nav_advanced.blade.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
- {{ HTML::nav_link('company/advanced_settings/invoice_settings', 'invoice_settings') }}
- {{ HTML::nav_link('company/advanced_settings/invoice_design', 'invoice_design') }}
- {{ HTML::nav_link('company/advanced_settings/email_templates', 'email_templates') }}
- {{ HTML::nav_link('company/advanced_settings/chart_builder', 'chart_builder') }}
- {{ HTML::nav_link('company/advanced_settings/user_management', 'users_and_tokens') }}
-
-
-
-@if (!Auth::user()->account->isPro())
-
-
-
-
-@endif
-
-
\ No newline at end of file
diff --git a/app/views/accounts/notifications.blade.php b/app/views/accounts/notifications.blade.php
deleted file mode 100755
index 08e0c97b4d82..000000000000
--- a/app/views/accounts/notifications.blade.php
+++ /dev/null
@@ -1,47 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
- {{ Former::populate($account) }}
- {{ Former::populateField('notify_sent', intval(Auth::user()->notify_sent)) }}
- {{ Former::populateField('notify_viewed', intval(Auth::user()->notify_viewed)) }}
- {{ Former::populateField('notify_paid', intval(Auth::user()->notify_paid)) }}
-
- {{ Former::legend('email_notifications') }}
- {{ Former::checkbox('notify_sent')->label(' ')->text(trans('texts.email_sent')) }}
- {{ Former::checkbox('notify_viewed')->label(' ')->text(trans('texts.email_viewed')) }}
- {{ Former::checkbox('notify_paid')->label(' ')->text(trans('texts.email_paid')) }}
-
- {{ Former::legend('site_updates') }}
-
-
-
- {{ Former::legend('custom_messages') }}
- {{ Former::textarea('invoice_terms')->label(trans('texts.default_invoice_terms')) }}
- {{ Former::textarea('invoice_footer')->label(trans('texts.default_invoice_footer')) }}
- {{ Former::textarea('email_footer')->label(trans('texts.default_email_footer')) }}
-
- {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }}
- {{ Former::close() }}
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/payments.blade.php b/app/views/accounts/payments.blade.php
deleted file mode 100755
index abb07a11c787..000000000000
--- a/app/views/accounts/payments.blade.php
+++ /dev/null
@@ -1,60 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open('gateways/delete')->addClass('user-form') }}
- {{ Former::legend('online_payments') }}
-
-
- {{ Former::text('accountGatewayPublicId') }}
-
- {{ Former::close() }}
-
-
- @if ($showAdd)
- {{ Button::success_link(URL::to('gateways/create'), trans("texts.add_gateway"), array('class' => 'pull-right'))->append_with_icon('plus-sign') }}
- @endif
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.name'),
- trans('texts.action'))
- ->setUrl(url('api/gateways/'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('bAutoWidth', false)
- ->setOptions('aoColumns', [[ "sWidth"=> "80%" ], ["sWidth"=> "20%"]])
- ->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[1]]])
- ->render('datatable') }}
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/product.blade.php b/app/views/accounts/product.blade.php
deleted file mode 100644
index 9fe08652c237..000000000000
--- a/app/views/accounts/product.blade.php
+++ /dev/null
@@ -1,56 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open($url)->method($method)
- ->rules(['product_key' => 'required|max:20'])
- ->addClass('col-md-8 col-md-offset-2 warn-on-exit') }}
-
-
- {{ Former::legend($title) }}
-
- @if ($product)
- {{ Former::populate($product) }}
- {{ Former::populateField('cost', number_format($product->cost, 2, '.', '')) }}
- @endif
-
- {{ Former::text('product_key')->label('texts.product') }}
- {{ Former::textarea('notes')->data_bind("value: wrapped_notes, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('cost') }}
-
- {{ Former::actions(
- Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk'),
- Button::lg_default_link('company/products', trans('texts.cancel'))->append_with_icon('remove-circle')
- ) }}
-
- {{ Former::close() }}
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/products.blade.php b/app/views/accounts/products.blade.php
deleted file mode 100644
index 26cd3b66ee90..000000000000
--- a/app/views/accounts/products.blade.php
+++ /dev/null
@@ -1,48 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
-
- {{ Former::open()->addClass('col-md-10 col-md-offset-1 warn-on-exit') }}
- {{ Former::populateField('fill_products', intval($account->fill_products)) }}
- {{ Former::populateField('update_products', intval($account->update_products)) }}
-
-
- {{ Former::legend('product_library') }}
- {{ Former::checkbox('fill_products')->text(trans('texts.fill_products_help')) }}
- {{ Former::checkbox('update_products')->text(trans('texts.update_products_help')) }}
-
- {{ Former::actions( Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk') ) }}
- {{ Former::close() }}
-
- {{ Button::success_link(URL::to('products/create'), trans("texts.create_product"), array('class' => 'pull-right'))->append_with_icon('plus-sign') }}
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.product'),
- trans('texts.description'),
- trans('texts.unit_cost'),
- trans('texts.action'))
- ->setUrl(url('api/products/'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('bAutoWidth', false)
- ->setOptions('aoColumns', [[ "sWidth"=> "20%" ], [ "sWidth"=> "45%" ], ["sWidth"=> "20%"], ["sWidth"=> "15%" ]])
- ->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[3]]])
- ->render('datatable') }}
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/token.blade.php b/app/views/accounts/token.blade.php
deleted file mode 100644
index ace566e9dbf3..000000000000
--- a/app/views/accounts/token.blade.php
+++ /dev/null
@@ -1,30 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
- {{ Former::open($url)->method($method)->addClass('col-md-8 col-md-offset-2 warn-on-exit')->rules(array(
- 'name' => 'required',
- )); }}
-
- {{ Former::legend($title) }}
-
-
-
- @if ($token)
- {{ Former::populate($token) }}
- @endif
-
- {{ Former::text('name') }}
-
-
-
- {{ Former::actions(
- Button::lg_success_submit(trans('texts.save'))->append_with_icon('floppy-disk'),
- Button::lg_default_link('company/advanced_settings/token_management', trans('texts.cancel'))->append_with_icon('remove-circle')
- ) }}
-
- {{ Former::close() }}
-
-@stop
\ No newline at end of file
diff --git a/app/views/accounts/token_management.blade.php b/app/views/accounts/token_management.blade.php
deleted file mode 100644
index 9f1c0ed1c729..000000000000
--- a/app/views/accounts/token_management.blade.php
+++ /dev/null
@@ -1,67 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
- {{ Former::open('tokens/delete')->addClass('user-form') }}
- {{ Former::legend('token_management') }}
-
-
- {{ Former::text('tokenPublicId') }}
-
- {{ Former::close() }}
-
-
- @if (Utils::isPro())
- {{ Button::success_link(URL::to('tokens/create'), trans("texts.add_token"), array('class' => 'pull-right'))->append_with_icon('plus-sign') }}
- @endif
-
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.name'),
- trans('texts.token'),
- trans('texts.action'))
- ->setUrl(url('api/tokens/'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('bAutoWidth', false)
- ->setOptions('aoColumns', [[ "sWidth"=> "40%" ], [ "sWidth"=> "40%" ], ["sWidth"=> "20%"]])
- ->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[2]]])
- ->render('datatable') }}
-
-
-
-@stop
diff --git a/app/views/accounts/user_management.blade.php b/app/views/accounts/user_management.blade.php
deleted file mode 100644
index c0e8e2819e8e..000000000000
--- a/app/views/accounts/user_management.blade.php
+++ /dev/null
@@ -1,71 +0,0 @@
-@extends('accounts.nav')
-
-@section('content')
- @parent
- @include('accounts.nav_advanced')
-
- {{ Former::open('users/delete')->addClass('user-form') }}
- {{ Former::legend('user_management') }}
-
-
- {{ Former::text('userPublicId') }}
-
- {{ Former::close() }}
-
-
-
- @if (Utils::isPro())
- {{ Button::success_link(URL::to('users/create'), trans("texts.add_user"))->append_with_icon('plus-sign') }}
- @endif
- {{ Button::default_link(URL::to('company/advanced_settings/token_management'), trans("texts.api_tokens"))->append_with_icon('cloud') }}
-
-
-
-
- {{ trans('texts.show_deleted_users')}}
-
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.name'),
- trans('texts.email'),
- trans('texts.user_state'),
- trans('texts.action'))
- ->setUrl(url('api/users/'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('bAutoWidth', false)
- ->setOptions('aoColumns', [[ "sWidth"=> "20%" ], [ "sWidth"=> "45%" ], ["sWidth"=> "20%"], ["sWidth"=> "15%" ]])
- ->setOptions('aoColumnDefs', [['bSortable'=>false, 'aTargets'=>[3]]])
- ->render('datatable') }}
-
-
-
-@stop
diff --git a/app/views/client.blade.php b/app/views/client.blade.php
deleted file mode 100755
index ef22259a0654..000000000000
--- a/app/views/client.blade.php
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
- {{ Former::legend('Organization') }}
- {{ Former::text('name') }}
- {{ Former::text('id_number') }}
- {{ Former::text('vat_number') }}
- {{ Former::text('work_phone')->label('Phone') }}
- {{ Former::textarea('notes') }}
-
-
- {{ Former::legend('Address') }}
- {{ Former::text('address1')->label('Street') }}
- {{ Former::text('address2')->label('Apt/Floor') }}
- {{ Former::text('city') }}
- {{ Former::text('state') }}
- {{ Former::text('postal_code') }}
- {{ Former::select('country_id')->addOption('','')->label('Country')
- ->fromQuery($countries, 'name', 'id') }}
-
-
-
-
-
- {{ Former::legend('Contacts') }}
-
- {{ Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('email')->data_bind("value: email, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") }}
-
-
-
-
-
-
-
-
-
-{{ Former::hidden('data')->data_bind("value: ko.toJSON(model)") }}
-
-
-
diff --git a/app/views/clients/edit.blade.php b/app/views/clients/edit.blade.php
deleted file mode 100755
index 6d9eac7c7625..000000000000
--- a/app/views/clients/edit.blade.php
+++ /dev/null
@@ -1,168 +0,0 @@
-@extends('header')
-
-
-@section('onReady')
- $('input#name').focus();
-@stop
-
-@section('content')
-
-
-
- {{ Former::open($url)->addClass('col-md-12 warn-on-exit')->method($method)->rules(array(
- 'email' => 'email|required'
- )); }}
-
- @if ($client)
- {{ Former::populate($client) }}
- @endif
-
-
-
-
-
- {{ Former::legend('organization') }}
- {{ Former::text('name')->data_bind("attr { placeholder: placeholderName }") }}
- {{ Former::text('id_number') }}
- {{ Former::text('vat_number') }}
- {{ Former::text('website') }}
- {{ Former::text('work_phone') }}
-
- @if (Auth::user()->isPro())
- @if ($customLabel1)
- {{ Former::text('custom_value1')->label($customLabel1) }}
- @endif
- @if ($customLabel2)
- {{ Former::text('custom_value2')->label($customLabel2) }}
- @endif
- @endif
-
- {{ Former::legend('address') }}
- {{ Former::text('address1') }}
- {{ Former::text('address2') }}
- {{ Former::text('city') }}
- {{ Former::text('state') }}
- {{ Former::text('postal_code') }}
- {{ Former::select('country_id')->addOption('','')
- ->fromQuery($countries, 'name', 'id') }}
-
-
-
-
-
- {{ Former::legend('contacts') }}
-
- {{ Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") }}
- {{ Former::text('email')->data_bind('value: email, valueUpdate: \'afterkeydown\', attr: {id:\'email\'+$index()}') }}
- {{ Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") }}
-
-
-
-
- {{ Former::legend('additional_info') }}
- {{ Former::select('payment_terms')->addOption('','')
- ->fromQuery($paymentTerms, 'name', 'num_days') }}
- {{ Former::select('currency_id')->addOption('','')
- ->fromQuery($currencies, 'name', 'id') }}
- {{ Former::select('size_id')->addOption('','')
- ->fromQuery($sizes, 'name', 'id') }}
- {{ Former::select('industry_id')->addOption('','')
- ->fromQuery($industries, 'name', 'id') }}
- {{ Former::textarea('private_notes') }}
-
-
-
-
-
-
- {{ Former::hidden('data')->data_bind("value: ko.toJSON(model)") }}
-
-
-
-
- {{ Button::lg_primary_submit_success(trans('texts.save'))->append_with_icon('floppy-disk') }}
- {{ Button::lg_default_link('clients/' . ($client ? $client->public_id : ''), trans('texts.cancel'))->append_with_icon('remove-circle'); }}
-
-
- {{ Former::close() }}
-
-@stop
diff --git a/app/views/clients/show.blade.php b/app/views/clients/show.blade.php
deleted file mode 100755
index c162d2939052..000000000000
--- a/app/views/clients/show.blade.php
+++ /dev/null
@@ -1,233 +0,0 @@
-@extends('header')
-
-@section('content')
-
-
-
- {{ Former::open('clients/bulk')->addClass('mainForm') }}
-
- {{ Former::text('action') }}
- {{ Former::text('id')->value($client->public_id) }}
-
-
- @if ($gatewayLink)
- {{ Button::link($gatewayLink, trans('texts.view_in_stripe'), ['target' => '_blank']) }}
- @endif
-
- @if ($client->trashed())
- {{ Button::primary(trans('texts.restore_client'), ['onclick' => 'onRestoreClick()']) }}
- @else
- {{ DropdownButton::normal(trans('texts.edit_client'),
- Navigation::links(
- [
- [trans('texts.edit_client'), URL::to('clients/' . $client->public_id . '/edit')],
- [Navigation::DIVIDER],
- [trans('texts.archive_client'), "javascript:onArchiveClick()"],
- [trans('texts.delete_client'), "javascript:onDeleteClick()"],
- ]
- )
- , ['id'=>'normalDropDown'])->split(); }}
-
- {{ DropdownButton::primary(trans('texts.create_invoice'), Navigation::links($actionLinks), ['id'=>'primaryDropDown'])->split(); }}
- @endif
- {{ Former::close() }}
-
-
-
-
- {{ $client->getDisplayName() }}
- @if ($client->last_login > 0)
-
- {{ trans('texts.last_logged_in') }} {{ Utils::timestampToDateTimeString(strtotime($client->last_login)); }}
-
- @endif
-
-
-
-
-
{{ trans('texts.details') }}
-
{{ $client->getIdNumber() }}
-
{{ $client->getVatNumber() }}
-
{{ $client->getAddress() }}
-
{{ $client->getCustomFields() }}
-
{{ $client->getPhone() }}
-
{{ $client->getNotes() }}
-
{{ $client->getIndustry() }}
-
{{ $client->getWebsite() }}
-
{{ $client->payment_terms ? trans('texts.payment_terms') . ": Net " . $client->payment_terms : '' }}
-
-
-
-
{{ trans('texts.contacts') }}
- @foreach ($client->contacts as $contact)
- {{ $contact->getDetails() }}
- @endforeach
-
-
-
-
{{ trans('texts.standing') }}
-
-
- {{ trans('texts.paid_to_date') }}
- {{ Utils::formatMoney($client->paid_to_date, $client->currency_id); }}
-
-
- {{ trans('texts.balance') }}
- {{ Utils::formatMoney($client->balance, $client->currency_id); }}
-
- @if ($credit > 0)
-
- {{ trans('texts.credit') }}
- {{ Utils::formatMoney($credit, $client->currency_id); }}
-
- @endif
-
-
-
-
-
-
-
-
-
- {{ HTML::tab_link('#activity', trans('texts.activity'), true) }}
- @if (Utils::isPro())
- {{ HTML::tab_link('#quotes', trans('texts.quotes')) }}
- @endif
- {{ HTML::tab_link('#invoices', trans('texts.invoices')) }}
- {{ HTML::tab_link('#payments', trans('texts.payments')) }}
- {{ HTML::tab_link('#credits', trans('texts.credits')) }}
-
-
-
-
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.date'),
- trans('texts.message'),
- trans('texts.balance'),
- trans('texts.adjustment'))
- ->setUrl(url('api/activities/'. $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'desc']])
- ->render('datatable') }}
-
-
-
- @if (Utils::isPro())
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.quote_number'),
- trans('texts.quote_date'),
- trans('texts.total'),
- trans('texts.due_date'),
- trans('texts.status'))
- ->setUrl(url('api/quotes/'. $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'desc']])
- ->render('datatable') }}
-
-
- @endif
-
-
-
- @if ($hasRecurringInvoices)
- {{ Datatable::table()
- ->addColumn(
- trans('texts.frequency_id'),
- trans('texts.start_date'),
- trans('texts.end_date'),
- trans('texts.invoice_total'))
- ->setUrl(url('api/recurring_invoices/' . $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'asc']])
- ->render('datatable') }}
- @endif
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.invoice_number'),
- trans('texts.invoice_date'),
- trans('texts.invoice_total'),
- trans('texts.balance_due'),
- trans('texts.due_date'),
- trans('texts.status'))
- ->setUrl(url('api/invoices/' . $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'asc']])
- ->render('datatable') }}
-
-
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.invoice'),
- trans('texts.transaction_reference'),
- trans('texts.method'),
- trans('texts.payment_amount'),
- trans('texts.payment_date'))
- ->setUrl(url('api/payments/' . $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'asc']])
- ->render('datatable') }}
-
-
-
-
- {{ Datatable::table()
- ->addColumn(
- trans('texts.credit_amount'),
- trans('texts.credit_balance'),
- trans('texts.credit_date'),
- trans('texts.private_notes'))
- ->setUrl(url('api/credits/' . $client->public_id))
- ->setOptions('sPaginationType', 'bootstrap')
- ->setOptions('bFilter', false)
- ->setOptions('aaSorting', [['0', 'asc']])
- ->render('datatable') }}
-
-
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/coming_soon.blade.php b/app/views/coming_soon.blade.php
deleted file mode 100755
index 3f9decc68696..000000000000
--- a/app/views/coming_soon.blade.php
+++ /dev/null
@@ -1,35 +0,0 @@
-@extends('master')
-
-@section('body')
-
-
-
-
- coming soon
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/credits/edit.blade.php b/app/views/credits/edit.blade.php
deleted file mode 100755
index 1b02490817a9..000000000000
--- a/app/views/credits/edit.blade.php
+++ /dev/null
@@ -1,64 +0,0 @@
-@extends('header')
-
-
-@section('onReady')
- $('input#name').focus();
-@stop
-
-@section('content')
-
-
- {{ Former::open($url)->addClass('col-md-10 col-md-offset-1 warn-on-exit')->method($method)->rules(array(
- 'client' => 'required',
- 'amount' => 'required',
- )); }}
-
-
-
-
- {{ Former::select('client')->addOption('', '')->addGroupClass('client-select') }}
- {{ Former::text('amount') }}
- {{ Former::text('credit_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append(' ') }}
- {{-- Former::select('currency_id')->addOption('','')
- ->fromQuery($currencies, 'name', 'id')->select(Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY)) --}}
- {{ Former::textarea('private_notes') }}
-
-
-
-
-
-
-
- {{ Button::lg_primary_submit_success(trans('texts.save'))->append_with_icon('floppy-disk') }}
- {{ Button::lg_default_link('credits/' . ($credit ? $credit->public_id : ''), trans('texts.cancel'))->append_with_icon('remove-circle'); }}
-
-
- {{ Former::close() }}
-
-
-
-@stop
diff --git a/app/views/dashboard.blade.php b/app/views/dashboard.blade.php
deleted file mode 100644
index 8383e06c3a96..000000000000
--- a/app/views/dashboard.blade.php
+++ /dev/null
@@ -1,159 +0,0 @@
-@extends('header')
-
-@section('content')
-
-
-
-
-
-
-
- @if (count($paidToDate))
- @foreach ($paidToDate as $item)
- {{ Utils::formatMoney($item->value, $item->currency_id); }}
- @endforeach
- @else
- {{ Utils::formatMoney(0) }}
- @endif
-
-
- {{ trans('texts.in_total_revenue') }}
-
-
-
-
-
-
-
-
-
- {{ $billedClients }}
-
-
- {{ Utils::pluralize('billed_client', $billedClients) }}
-
-
-
-
-
-
-
-
-
- {{ $invoicesSent }}
-
-
- {{ Utils::pluralize('invoice', $invoicesSent) }} {{ trans('texts.sent') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ trans('texts.notifications') }}
-
-
-
- @foreach ($activities as $activity)
-
- {{ Utils::timestampToDateString(strtotime($activity->created_at)) }}:
- {{ Utils::decodeActivity($activity->message) }}
-
- @endforeach
-
-
-
-
-
-
-
- {{ trans('texts.invoices_past_due') }}
-
-
-
-
-
- {{ trans('texts.invoice_number_short') }}
- {{ trans('texts.client') }}
- {{ trans('texts.due_date') }}
- {{ trans('texts.balance_due') }}
-
-
- @foreach ($pastDue as $invoice)
- @if (!$invoice->client->trashed())
-
- {{ $invoice->getLink() }}
- {{ $invoice->client->getDisplayName() }}
- {{ Utils::fromSqlDate($invoice->due_date) }}
- {{ Utils::formatMoney($invoice->balance, $invoice->client->currency_id) }}
-
- @endif
- @endforeach
-
-
-
-
-
-
-
-
-
-
-
-
- {{ trans('texts.upcoming_invoices') }}
-
-
-
-
-
- {{ trans('texts.invoice_number_short') }}
- {{ trans('texts.client') }}
- {{ trans('texts.due_date') }}
- {{ trans('texts.balance_due') }}
-
-
- @foreach ($upcoming as $invoice)
- @if (!$invoice->client->trashed())
-
- {{ $invoice->getLink() }}
- {{ $invoice->client->getDisplayName() }}
- {{ Utils::fromSqlDate($invoice->due_date) }}
- {{ Utils::formatMoney($invoice->balance, $invoice->client->currency_id) }}
-
- @endif
- @endforeach
-
-
-
-
-
-
-
-
{{ $activeClients }}
-
{{ Utils::pluralize('active_client', $activeClients) }}
-
-
-
-
-
{{ trans('texts.average_invoice') }}
-
- @foreach ($averageInvoice as $item)
- {{ Utils::formatMoney($item->invoice_avg, $item->currency_id); }}
- @endforeach
-
-
-
-
-
-
-@stop
-
diff --git a/app/views/datatable.blade.php b/app/views/datatable.blade.php
deleted file mode 100755
index af3b3e5df5a3..000000000000
--- a/app/views/datatable.blade.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/views/emails/auth/reminder.blade.php b/app/views/emails/auth/reminder.blade.php
deleted file mode 100755
index 2976327b5df2..000000000000
--- a/app/views/emails/auth/reminder.blade.php
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
- Password Reset
-
-
- To reset your password, complete this form: {{ URL::to('password/reset', array($token)) }}.
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/confirm_html.blade.php b/app/views/emails/confirm_html.blade.php
deleted file mode 100755
index bcd4ca4b1ed5..000000000000
--- a/app/views/emails/confirm_html.blade.php
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-@if (!$invitationMessage)
-
-@endif
-
-{{ trans('texts.confirmation_header') }}
-
-
- {{ $invitationMessage . trans('texts.confirmation_message') }}
-
- {{{ URL::to("user/confirm/{$user->confirmation_code}") }}}
-
-
-
- {{ trans('texts.email_signature') }}
- {{ trans('texts.email_from') }}
-
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/confirm_text.blade.php b/app/views/emails/confirm_text.blade.php
deleted file mode 100644
index ff5c8107c40e..000000000000
--- a/app/views/emails/confirm_text.blade.php
+++ /dev/null
@@ -1,7 +0,0 @@
-{{ trans('texts.confirmation_header') }}
-
-{{ $invitationMessage . trans('texts.confirmation_message') }}
-{{{ URL::to("user/confirm/{$user->confirmation_code}") }}}
-
-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }}
\ No newline at end of file
diff --git a/app/views/emails/contact_html.blade.php b/app/views/emails/contact_html.blade.php
deleted file mode 100644
index 120f94c0f1bf..000000000000
--- a/app/views/emails/contact_html.blade.php
+++ /dev/null
@@ -1 +0,0 @@
-{{ nl2br($text) }}
diff --git a/app/views/emails/contact_text.blade.php b/app/views/emails/contact_text.blade.php
deleted file mode 100644
index 8c1a40ba956a..000000000000
--- a/app/views/emails/contact_text.blade.php
+++ /dev/null
@@ -1 +0,0 @@
-{{ $text }}
\ No newline at end of file
diff --git a/app/views/emails/error.blade.php b/app/views/emails/error.blade.php
deleted file mode 100755
index e69de29bb2d1..000000000000
diff --git a/app/views/emails/invoice_html.blade.php b/app/views/emails/invoice_html.blade.php
deleted file mode 100755
index 362047cf6f25..000000000000
--- a/app/views/emails/invoice_html.blade.php
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- @include('emails.view_action', ['link' => $link, 'entityType' => $entityType])
- {{ $body }}
-
-
\ No newline at end of file
diff --git a/app/views/emails/invoice_paid_html.blade.php b/app/views/emails/invoice_paid_html.blade.php
deleted file mode 100755
index 7cdd6932b73a..000000000000
--- a/app/views/emails/invoice_paid_html.blade.php
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
- @include('emails.view_action', ['link' => $invoiceLink, 'entityType' => $entityType])
- {{ trans('texts.email_salutation', ['name' => $userName]) }}
-
- {{ trans("texts.notification_{$entityType}_paid", ['amount' => $paymentAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
- {{ trans("texts.{$entityType}_link_message") }}
- {{ $invoiceLink }}
-
- {{ trans('texts.email_signature') }}
- {{ trans('texts.email_from') }}
- {{ trans('texts.user_email_footer') }}
-
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/invoice_paid_text.blade.php b/app/views/emails/invoice_paid_text.blade.php
deleted file mode 100755
index 77f29aed49c4..000000000000
--- a/app/views/emails/invoice_paid_text.blade.php
+++ /dev/null
@@ -1,11 +0,0 @@
-{{ trans('texts.email_salutation', ['name' => $userName]) }}
-
-{{ trans("texts.notification_{$entityType}_paid", ['amount' => $paymentAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
-{{ trans("texts.{$entityType}_link_message") }}
-{{ $invoiceLink }}
-
-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }}
-
-{{ trans('texts.user_email_footer') }}
\ No newline at end of file
diff --git a/app/views/emails/invoice_sent_html.blade.php b/app/views/emails/invoice_sent_html.blade.php
deleted file mode 100755
index 8663def2fd1d..000000000000
--- a/app/views/emails/invoice_sent_html.blade.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
- @include('emails.view_action', ['link' => $invoiceLink, 'entityType' => $entityType])
- {{ trans('texts.email_salutation', ['name' => $userName]) }}
-
- {{ trans("texts.notification_{$entityType}_sent", ['amount' => $invoiceAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
- {{ trans('texts.email_signature') }}
- {{ trans('texts.email_from') }}
-
- {{ trans('texts.user_email_footer') }}
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/invoice_sent_text.blade.php b/app/views/emails/invoice_sent_text.blade.php
deleted file mode 100755
index 72a595078029..000000000000
--- a/app/views/emails/invoice_sent_text.blade.php
+++ /dev/null
@@ -1,8 +0,0 @@
-{{ trans('texts.email_salutation', ['name' => $userName]) }}
-
-{{ trans("texts.notification_{$entityType}_sent", ['amount' => $invoiceAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }}
-
-{{ trans('texts.user_email_footer') }}
\ No newline at end of file
diff --git a/app/views/emails/invoice_text.blade.php b/app/views/emails/invoice_text.blade.php
deleted file mode 100755
index 022b18abd1a5..000000000000
--- a/app/views/emails/invoice_text.blade.php
+++ /dev/null
@@ -1 +0,0 @@
-{{ strip_tags($body) }}
\ No newline at end of file
diff --git a/app/views/emails/invoice_viewed_html.blade.php b/app/views/emails/invoice_viewed_html.blade.php
deleted file mode 100755
index 78e0423e4b55..000000000000
--- a/app/views/emails/invoice_viewed_html.blade.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
- @include('emails.view_action', ['link' => $invoiceLink, 'entityType' => $entityType])
- {{ trans('texts.email_salutation', ['name' => $userName]) }}
-
- {{ trans("texts.notification_{$entityType}_viewed", ['amount' => $invoiceAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
- {{ trans('texts.email_signature') }}
- {{ trans('texts.email_from') }}
-
- {{ trans('texts.user_email_footer') }}
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/invoice_viewed_text.blade.php b/app/views/emails/invoice_viewed_text.blade.php
deleted file mode 100755
index 7b9dadd21cdf..000000000000
--- a/app/views/emails/invoice_viewed_text.blade.php
+++ /dev/null
@@ -1,8 +0,0 @@
-{{ trans('texts.email_salutation', ['name' => $userName]) }}
-
-{{ trans("texts.notification_{$entityType}_viewed", ['amount' => $invoiceAmount, 'client' => $clientName, 'invoice' => $invoiceNumber]) }}
-
-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }}
-
-{{ trans('texts.user_email_footer') }}
\ No newline at end of file
diff --git a/app/views/emails/license_confirmation_html.blade.php b/app/views/emails/license_confirmation_html.blade.php
deleted file mode 100644
index 172e299e3f77..000000000000
--- a/app/views/emails/license_confirmation_html.blade.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
- {{ $client }},
-
- {{ trans('texts.payment_message', ['amount' => $amount]) }}
-
- {{ $license }}
-
- {{ trans('texts.email_signature') }}
- {{ $account }}
-
-
-
\ No newline at end of file
diff --git a/app/views/emails/license_confirmation_text.blade.php b/app/views/emails/license_confirmation_text.blade.php
deleted file mode 100644
index d8ee711c9aa8..000000000000
--- a/app/views/emails/license_confirmation_text.blade.php
+++ /dev/null
@@ -1,8 +0,0 @@
-{{ $client }},
-
-{{ trans('texts.payment_message', ['amount' => $amount]) }}
-
-{{ $license }}
-
-{{ trans('texts.email_signature') }}
-{{ $account }}
\ No newline at end of file
diff --git a/app/views/emails/passwordreset_html.blade.php b/app/views/emails/passwordreset_html.blade.php
deleted file mode 100644
index 52ad2763ed5f..000000000000
--- a/app/views/emails/passwordreset_html.blade.php
+++ /dev/null
@@ -1,9 +0,0 @@
-{{ trans('texts.email_salutation', ['name' => $user->username]) }}
-
-{{ trans('texts.reset_password') }}
-{{{ (Confide::checkAction('UserController@reset_password', array($token))) ? : URL::to('user/reset/'.$token) }}}
-
-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }}
-
-{{ trans('texts.reset_password_footer') }}
\ No newline at end of file
diff --git a/app/views/emails/payment_confirmation_html.blade.php b/app/views/emails/payment_confirmation_html.blade.php
deleted file mode 100644
index f96d52c7f918..000000000000
--- a/app/views/emails/payment_confirmation_html.blade.php
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
- {{ $body }}
-
diff --git a/app/views/emails/payment_confirmation_text.blade.php b/app/views/emails/payment_confirmation_text.blade.php
deleted file mode 100644
index 022b18abd1a5..000000000000
--- a/app/views/emails/payment_confirmation_text.blade.php
+++ /dev/null
@@ -1 +0,0 @@
-{{ strip_tags($body) }}
\ No newline at end of file
diff --git a/app/views/emails/view_action.blade.php b/app/views/emails/view_action.blade.php
deleted file mode 100644
index 718af5a5968d..000000000000
--- a/app/views/emails/view_action.blade.php
+++ /dev/null
@@ -1,17 +0,0 @@
-
\ No newline at end of file
diff --git a/app/views/error.blade.php b/app/views/error.blade.php
deleted file mode 100755
index a1397db1820e..000000000000
--- a/app/views/error.blade.php
+++ /dev/null
@@ -1,20 +0,0 @@
-@extends('public.header')
-
-@section('content')
-
-
-
-
-
-
-
{{ $error }}
- Looks like something went wrong.
- If you'd like help please email us at contact@invoiceninja.com.
-
-
-
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/header.blade.php b/app/views/header.blade.php
deleted file mode 100755
index c34a53c62667..000000000000
--- a/app/views/header.blade.php
+++ /dev/null
@@ -1,605 +0,0 @@
-@extends('master')
-
-
-@section('head')
-
-
-
-
-
- @include('script')
-
-@stop
-
-@section('body')
-
-
-
-
-
-
-
-
- {{ HTML::nav_link('dashboard', 'dashboard') }}
- {{ HTML::menu_link('client') }}
- @if (Utils::isPro())
- {{ HTML::menu_link('quote') }}
- @endif
- {{ HTML::menu_link('invoice') }}
- {{ HTML::menu_link('payment') }}
- {{ HTML::menu_link('credit') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- @if (!isset($showBreadcrumbs) || $showBreadcrumbs)
- {{ HTML::breadcrumbs() }}
- @endif
-
- @if (Session::has('warning'))
-
{{ Session::get('warning') }}
- @endif
-
- @if (Session::has('message'))
-
- {{ Session::get('message') }}
-
- @elseif (Session::has('news_feed_message'))
-
- @endif
-
- @if (Session::has('error'))
-
{{ Session::get('error') }}
- @endif
-
- @yield('content')
-
-
-
-
-
-
-
-
-@if (!Auth::check() || !Auth::user()->registered)
-
-
-
-
-
-
-
-
- {{ Former::open('signup/submit')->addClass('signUpForm') }}
-
- @if (Auth::check())
- {{ Former::populateField('new_first_name', Auth::user()->first_name); }}
- {{ Former::populateField('new_last_name', Auth::user()->last_name); }}
- {{ Former::populateField('new_email', Auth::user()->email); }}
- @endif
-
-
- {{ Former::text('path')->value(Request::path()) }}
- {{ Former::text('go_pro') }}
-
-
- {{ Former::text('new_first_name')->label(trans('texts.first_name')) }}
- {{ Former::text('new_last_name')->label(trans('texts.last_name')) }}
- {{ Former::text('new_email')->label(trans('texts.email')) }}
- {{ Former::password('new_password')->label(trans('texts.password')) }}
- {{ Former::checkbox('terms_checkbox')->label(' ')->text(trans('texts.agree_to_terms', ['terms' => '
'.trans('texts.terms_of_service').' '])) }}
- {{ Former::close() }}
-
-
{{ trans('texts.email_taken') }}
-
-
-
-
-
-
{{ trans('texts.working') }}...
-
-
-
-
-
-
{{ trans('texts.success') }}
- @if (Utils::isNinja())
- {{ trans('texts.success_message') }}
- @endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ trans('texts.are_you_sure') }}
-
{{ trans('texts.erase_data') }}
-
-
-
-
-
-
-@endif
-
-@if (Auth::check() && !Auth::user()->isPro())
-
-
-
-
-
-
-
-
-
-
Go Pro to Unlock Premium Invoice Ninja Features
-
We believe that the free version of Invoice Ninja is a truly awesome product loaded
- with the key features you need to bill your clients electronically. But for those who
- crave still more Ninja awesomeness, we've unmasked the Invoice Ninja Pro plan, which
- offers more versatility, power and customization options for just $50 per year.
-
-
-
- @include('plans')
-
-
-
-
-
-
{{ trans('texts.working') }}...
-
-
-
-
-
- {{ trans('texts.pro_plan_success') }}
-
-
-
-
-
-
-
-
-
-@endif
-
-{{-- Per our license, please do not remove or modify this link. --}}
-@if (!Utils::isNinja())
-
-@endif
-
-
-
-
-
- @if (isset($_ENV['TAG_MANAGER_KEY']) && $_ENV['TAG_MANAGER_KEY'])
-
-
-
-
-
-
- @elseif (isset($_ENV['ANALYTICS_KEY']) && $_ENV['ANALYTICS_KEY'])
-
- @else
-
- @endif
-
-@yield('body')
-
-
-
-
-
-
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/invoices/deleted.blade.php b/app/views/invoices/deleted.blade.php
deleted file mode 100755
index 89a7659ea1a1..000000000000
--- a/app/views/invoices/deleted.blade.php
+++ /dev/null
@@ -1 +0,0 @@
-The requested invoice is no longer available.
\ No newline at end of file
diff --git a/app/views/invoices/edit.blade.php b/app/views/invoices/edit.blade.php
deleted file mode 100755
index 93a6e3da8f7a..000000000000
--- a/app/views/invoices/edit.blade.php
+++ /dev/null
@@ -1,1671 +0,0 @@
-@extends('header')
-
-@section('head')
- @parent
-
-
-
-@stop
-
-@section('content')
-
- @if ($invoice && $invoice->id)
-
- @endif
-
- {{ Former::open($url)->method($method)->addClass('warn-on-exit')->rules(array(
- 'client' => 'required',
- 'email' => 'required',
- 'product_key' => 'max:20'
- )) }}
-
-
-
-
-
-
-
-@stop
diff --git a/app/views/invoices/history.blade.php b/app/views/invoices/history.blade.php
deleted file mode 100644
index 8c490072b24c..000000000000
--- a/app/views/invoices/history.blade.php
+++ /dev/null
@@ -1,61 +0,0 @@
-@extends('header')
-
-@section('head')
- @parent
-
-
-
-
-
-
-
-@stop
-
-@section('content')
-
- {{ Former::open()->addClass('form-inline')->onchange('refreshPDF()') }}
- {{ Former::select('version')->options($versionsSelect)->label(trans('select_version')) }}
- {{ Button::success_link(URL::to($invoice->getEntityType() . 's/' . $invoice->public_id . '/edit'), trans('texts.edit_' . $invoice->getEntityType()), array('class' => 'pull-right')) }}
- {{ Former::close() }}
-
-
-
- @include('invoices.pdf', ['account' => Auth::user()->account, 'pdfHeight' => 800])
-
-@stop
\ No newline at end of file
diff --git a/app/views/invoices/pdf.blade.php b/app/views/invoices/pdf.blade.php
deleted file mode 100644
index feb2e8234b93..000000000000
--- a/app/views/invoices/pdf.blade.php
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/views/invoices/view.blade.php b/app/views/invoices/view.blade.php
deleted file mode 100755
index 6f53dba4a4c8..000000000000
--- a/app/views/invoices/view.blade.php
+++ /dev/null
@@ -1,84 +0,0 @@
-@extends('public.header')
-
-@section('head')
- @parent
-
- @include('script')
-
-
-
-
-
-@stop
-
-@section('content')
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/list.blade.php b/app/views/list.blade.php
deleted file mode 100755
index 4cc501c55d16..000000000000
--- a/app/views/list.blade.php
+++ /dev/null
@@ -1,164 +0,0 @@
-@extends('header')
-
-@section('content')
-
- {{ Former::open($entityType . 's/bulk')->addClass('listForm') }}
-
- {{ Former::text('action') }}
- {{ Former::text('statusId') }}
- {{ Former::text('id') }}
-
-
- {{ DropdownButton::normal(trans('texts.archive'),
- Navigation::links(
- array(
- array(trans('texts.archive_'.$entityType), "javascript:submitForm('archive')"),
- array(trans('texts.delete_'.$entityType), "javascript:submitForm('delete')"),
- )
- )
- , array('id'=>'archive'))->split(); }}
-
-
- {{ trans('texts.show_archived_deleted')}} {{ strtolower(trans('texts.'.$entityType.'s')) }}
-
-
-
-
- @if (isset($secEntityType))
- {{ Datatable::table()
- ->addColumn($secColumns)
- ->setUrl(route('api.' . $secEntityType . 's'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->render('datatable') }}
- @endif
-
- {{ Datatable::table()
- ->addColumn($columns)
- ->setUrl(route('api.' . $entityType . 's'))
- ->setOptions('sPaginationType', 'bootstrap')
- ->render('datatable') }}
-
- {{ Former::close() }}
-
-
-
-@stop
-
-@section('onReady')
-
- var tableFilter = '';
- var searchTimeout = false;
-
- var oTable0 = $('#DataTables_Table_0').dataTable();
- var oTable1 = $('#DataTables_Table_1').dataTable();
- function filterTable(val) {
- if (val == tableFilter) {
- return;
- }
- tableFilter = val;
- oTable0.fnFilter(val);
- @if (isset($secEntityType))
- oTable1.fnFilter(val);
- @endif
- }
-
- $('#tableFilter').on('keyup', function(){
- if (searchTimeout) {
- window.clearTimeout(searchTimeout);
- }
-
- searchTimeout = setTimeout(function() {
- filterTable($('#tableFilter').val());
- }, 1000);
- })
-
- window.onDatatableReady = function() {
- $(':checkbox').click(function() {
- setArchiveEnabled();
- });
-
- $('tbody tr').click(function(event) {
- if (event.target.type !== 'checkbox' && event.target.type !== 'button' && event.target.tagName.toLowerCase() !== 'a') {
- $checkbox = $(this).closest('tr').find(':checkbox:not(:disabled)');
- var checked = $checkbox.prop('checked');
- $checkbox.prop('checked', !checked);
- setArchiveEnabled();
- }
- });
-
- $('tbody tr').mouseover(function() {
- $(this).closest('tr').find('.tr-action').css('visibility','visible');
- }).mouseout(function() {
- $dropdown = $(this).closest('tr').find('.tr-action');
- if (!$dropdown.hasClass('open')) {
- $dropdown.css('visibility','hidden');
- }
- });
-
- }
-
- $('#archive > button').prop('disabled', true);
- $('#archive > button:first').click(function() {
- submitForm('archive');
- });
-
- $('.selectAll').click(function() {
- $(this).closest('table').find(':checkbox:not(:disabled)').prop('checked', this.checked);
- });
-
- function setArchiveEnabled() {
- var checked = $('tbody :checkbox:checked').length > 0;
- $('#archive > button').prop('disabled', !checked);
- }
-
-
-
-@stop
\ No newline at end of file
diff --git a/app/views/master.blade.php b/app/views/master.blade.php
deleted file mode 100755
index d174c873917f..000000000000
--- a/app/views/master.blade.php
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-