Commit Graph

331 Commits

Author SHA1 Message Date
Michael Weimann 17192a2c41
Adapt code style to PSR-12 2019-11-12 22:04:39 +01:00
Michael Weimann 26b8d2b921
Introduce the NewsComments model 2019-11-12 21:58:40 +01:00
Igor Scheller 68afc74b03 Formatting to follow PSR-12 2019-11-11 00:05:41 +01:00
Igor Scheller b878740f80 News: Bug fixes, cleanup, comments & formatting
Use more magically available methods and properties
Fixed atom feed and stats not using the new model
2019-11-10 22:10:11 +01:00
Michael Weimann 6534191d59 Migrate news to model class 2019-11-10 22:10:11 +01:00
Igor Scheller 8b5b9e2c65 src/: Formatting, doc block hints and cleanup 2019-11-06 13:43:57 +01:00
Igor Scheller 109f112131 BaseModel: Removed methods as already provided by Eloquent Builder 2019-11-06 12:15:14 +01:00
msquare 2b27b45aba remove legacy file guest start 2019-11-03 12:21:37 +01:00
Igor Scheller a514ba3adc HasUserModel: Moved user method to trait 2019-11-03 00:25:35 +01:00
Luca 6cde313e47 Move translations whose message ids do not appear as literals in the sources into a separate file
Test whether additional.{m,p}o files are loaded correctly
2019-10-28 14:25:31 +01:00
Igor Scheller 18de950d8f Mail log: Formatting 2019-10-27 13:28:40 +01:00
Igor Scheller 9921c5002a DatabaseServiceProvider: Use timezone from config (was not set before) 2019-10-13 20:34:13 +02:00
Igor Scheller fa35187795 Removed .mo translation files from version control, use .po as fallback 2019-10-13 13:16:22 +02:00
Igor Scheller dd03662968 Rebuild password reset 2019-10-08 16:17:06 +02:00
Igor Scheller 8f8130634e Show normal login page after registration, added msg() template function 2019-10-08 15:28:23 +02:00
Igor Scheller 810068dcf8 Fixes: AuthController session error merging and StatsTest 2019-10-08 14:30:18 +02:00
Igor Scheller ae0816ce8d Response: Fixed naming to use renderer instead of view and added setter 2019-10-08 14:07:28 +02:00
Igor Scheller 1b3e3b1d65 Exceptions: Added HttpNotFound exception 2019-10-07 22:02:28 +02:00
Igor Scheller 8d090438b6 Validation rules: min/max/between: Use string length to compare strings 2019-10-07 21:59:40 +02:00
Igor Scheller faf74150e9 Mailer: Use users locale for translation 2019-10-06 21:18:42 +02:00
Igor Scheller efaf29e5ef Metrics: Add database access time 2019-08-21 14:22:31 +02:00
Igor Scheller b4f8092730 Database: Use configured time zone 2019-08-20 23:00:00 +02:00
Igor Scheller 64e4d168e0 migration: Order by migrated and append not migrated 2019-07-21 20:54:17 +02:00
msquare eefae43a47 simplified login form, show password recovery always, some camp theme tweaks 2019-07-21 18:53:51 +02:00
msquare 1e16f4c47e
Merge pull request #624 from MyIgel/version
Added version to credits and metrics page
2019-07-21 13:38:05 +02:00
Igor Scheller 3d8476efd3 ErrorHandler: Remove more form fields before serialization 2019-07-21 13:37:35 +02:00
Igor Scheller 51a3c6eb44 ErrorHandler: Remove some form fields before serialization 2019-07-21 13:24:47 +02:00
msquare b03102e3c6 AuthController return types 2019-07-21 12:37:01 +02:00
Igor Scheller 4582f808f0 Added version to credits and metrics page 2019-07-21 03:19:19 +02:00
Igor Scheller b25924e868 Allow nested rules (not and optional) 2019-07-16 01:39:54 +02:00
Igor Scheller 6743106d9a Replaced validation with `respect/validation` 2019-07-10 13:34:15 +02:00
Igor Scheller 6d5ada2522 Added validation to AuthController 2019-07-09 22:27:34 +02:00
Igor Scheller 7414f9b23d Implemented Validation for controllers 2019-07-09 21:43:18 +02:00
Igor Scheller 508695efb2 Replaced gettext translation with package
This allows to check if no translation is available
2019-07-08 01:58:06 +02:00
Igor Scheller f90ab26fee Moved translation helpers to sub namespace 2019-07-08 01:58:06 +02:00
Igor Scheller e9f157ec5c Renderer: Added shared data 2019-07-08 01:58:06 +02:00
Igor Scheller bcce2625a8 Implemented AuthController for login
* Moved /login functionality to AuthController
* Refactored password handling logic to use the Authenticator
2019-07-08 01:57:59 +02:00
Igor Scheller da804fe720 Metrics: Added scrape memory usage 2019-07-08 00:22:16 +02:00
Igor Scheller e06affae17 Added tests to HomeController 2019-06-14 04:15:20 +02:00
Luca 9232513831 Fix caching issue for '/' route 2019-06-14 04:15:20 +02:00
Igor Scheller 6ed891fc04 Added logout via AuthController 2019-06-12 10:24:02 +02:00
Igor Scheller 2e51fbff9d Added / route with redirects 2019-06-12 10:21:20 +02:00
Igor Scheller e948091066 Replaced old /api endpoint with ApiController 2019-06-12 10:20:08 +02:00
Igor Scheller 93e578e555 Added html content sniffer 2019-06-12 10:20:08 +02:00
Igor Scheller 236197faf8 Upgraded external components 2019-06-03 21:36:58 +02:00
Igor Scheller 819677c902 Use self references and fix class naming 2019-04-25 18:17:19 +02:00
Igor Scheller 8da8805f5d Replaced functions with mb_* equivalents 2019-04-25 18:17:19 +02:00
Igor Scheller 79c92da8c1 Formatting
```bash
php-cs-fixer fix --allow-risky=yes --rules=@PSR2,psr4,mb_str_functions.php_unit_construct,php_unit_ordered_covers,trailing_comma_in_multiline_array --rules='{"array_syntax": {"syntax":"short"}}' [tests/|src/]
```
2019-04-25 18:17:19 +02:00
Igor Scheller c74fa7955d phpunit: Upgrade to version 8, fixed tests, formatting
Use `dms/phpunit-arraysubset-asserts` after `assertArraySubset` got deprecated
2019-04-25 17:56:06 +02:00
Igor Scheller 58ca7113f3 PSR-7: Replaced implementation with `Nyholm\Psr7` 2019-04-17 13:11:39 +02:00
Igor Scheller d9f898a0bb Bugfix: Replaced Diactoros with Symfony PsrHttpFactory to use PhpExtended\HttpMessage implementation
Prevents warnings that get converted to errors when run in dev mode
2019-04-16 20:20:56 +02:00
Janne Heß afa4506e11 Support alternative home sites 2019-03-09 13:52:13 +01:00
Igor Scheller 491ee37651 Don't save sessions permanently on api and metrics paths
closes #530 (Session on API calls)
2018-12-28 20:35:44 +01:00
msquare db26412e6c fixes #549: fill missing arrival dates and prevent setting arrival by admin-user instead of admin-arrive 2018-12-27 19:08:35 +01:00
Igor Scheller 26f58b8156 metrics: Fix users stats 2018-12-25 20:56:46 +01:00
Igor Scheller 330356043d credits: Allow customization 2018-12-22 12:01:23 +01:00
Igor Scheller 393db49294 Renderer: Added twig extension for markdown rendering 2018-12-22 12:01:23 +01:00
Igor Scheller b3f059ad04 metrics: Added vouchers and tshirts 2018-12-22 11:31:33 +01:00
Igor Scheller 9a2f246511 metrics: Added more stats 2018-12-19 22:36:42 +01:00
Igor Scheller c5621b82cf Implemented /metrics endpoint and reimplemented /stats
closes #418 (/metrics endpoint)

Usage:
```yaml
scrape_configs:
  - job_name: 'engelsystem'
    static_configs:
    - targets: ['engelsystem.example.com:80']
```
2018-12-19 22:36:42 +01:00
Igor Scheller 3c8d0eeb44 ErrorHandler: Don't wrap the response if a content-type is defined 2018-12-19 22:36:42 +01:00
Igor Scheller 2570418e9f Translation: Enforce LC_NUMERIC for numeric conversions 2018-12-19 22:36:42 +01:00
Igor Scheller 3cd70773d8 Authenticator: Use id from user object
Closes #519 (iCal/JSON export only works when logged in)
2018-12-09 23:42:40 +01:00
Igor Scheller c9d7e88cc7 Implemented controller permissions 2018-12-02 12:53:31 +01:00
Igor Scheller 55beca95cd Refactoring: Throw HttpAuthExpired on csrf token mismatch 2018-12-02 12:53:31 +01:00
Igor Scheller 9788c5095a Implemented HttpException 2018-12-02 12:53:31 +01:00
Igor Scheller c33940f64a Moved permission checks to Authenticator class 2018-12-02 12:53:31 +01:00
Igor Scheller 720b46f60f Models: Added DocBlocks 2018-12-02 12:53:31 +01:00
Igor Scheller f845a5ab8b Added caching for templating and routing
See #486 (Implement caching)
2018-11-24 16:30:36 +01:00
Igor Scheller 944c29b964 Require POST for sending forms
* Ensure that the form is submitted with a post request
* Replaced several links with forms

Closes #494 (Security Vulnerability)
2018-11-21 19:24:36 +01:00
Igor Scheller fd37c9d60e Added additional headers 2018-11-21 19:24:36 +01:00
Igor Scheller 23c0fae36f Added csrf middleware 2018-11-21 19:24:36 +01:00
Igor Scheller a2aaba9cab User: Bugfixes & code cleanup 2018-10-31 13:43:23 +01:00
Igor Scheller 57932be428 Moved arrival_date to state 2018-10-31 13:43:23 +01:00
Igor Scheller 4e09ee3eb2 Replaced more user related stuff
(Contains some buggy stuff too...)
2018-10-31 13:43:23 +01:00
Igor Scheller 89e62c95a7 Changed more functions 🎉 2018-10-31 13:43:23 +01:00
Igor Scheller 2dcb7cc2de Replaced some global `$user` variables 2018-10-31 13:43:23 +01:00
Igor Scheller d15946df2d Changed `src/` code and templates to use the new user model 2018-10-31 13:43:23 +01:00
Igor Scheller 8e62c4c52c Added new user models 2018-10-31 13:43:23 +01:00
Igor Scheller b443b53919 Translation: added pluralization support 2018-10-30 22:50:22 +01:00
Igor Scheller 90e1a94962 Make application name configurable
* Added app_name configuration option
* Extended `EngelsystemMailer` to prepend the application name to all mails

Closes #426
2018-10-30 22:50:22 +01:00
Igor Scheller 7f61dc95be EventConfig: Merge event configuration from database to global config 2018-10-30 21:13:56 +01:00
Igor Scheller 63d1292bf8 Added EventConfig model 2018-10-30 21:13:56 +01:00
Igor Scheller c4867811e2 BaseModel: Added findOrNew 2018-10-30 21:13:56 +01:00
Igor Scheller 8f519a69e9 Removed `shifts_json_export_all` reference 2018-10-24 19:15:52 +02:00
Igor Scheller d985d493a3 Migrations: Added namespace 2018-10-24 19:15:07 +02:00
Igor Scheller b46207f911 Merge remote-tracking branch 'MyIgel/session' 2018-09-30 19:33:14 +02:00
Igor Scheller 6187eed3bb Merge remote-tracking branch 'MyIgel/mailing' 2018-09-26 21:31:18 +02:00
Igor Scheller aa2124f655 RouteDispatcher: Allow installation into sub directory 2018-09-26 20:49:31 +02:00
Igor Scheller 0b0890f425 Session: Added DatabaseHandler, replaces Symfony PdoSessionHandler 2018-09-25 14:02:55 +02:00
Igor Scheller 66038eda14 Merge branch 'twig-templates' 2018-09-23 20:11:37 +02:00
Igor Scheller 104e4f4c43 Session: Added Symfony PDO backend 2018-09-16 14:56:07 +02:00
Igor Scheller edeab5e75f Added Database class as a replacement for Db, fixed naming 2018-09-16 14:53:33 +02:00
Igor Scheller 0734807eef Merge remote-tracking branch 'MyIgel/logentry-model' 2018-09-16 12:06:18 +02:00
Igor Scheller d0abc27c07 Merge remote-tracking branch 'MyIgel/translations' 2018-09-15 14:58:31 +02:00
Igor Scheller d36de2d26f Quickfix for problems with the SmtpTransport 2018-09-11 16:35:28 +02:00
Igor Scheller 8456a3cf6f Moved emojis to assets 2018-09-10 22:49:46 +02:00
Igor Scheller c1a1180d1f Moved frontend, templates and lang to resources 2018-09-10 18:22:48 +02:00
Igor Scheller 4bf3a68f43 Fixed assets rendering 2018-09-10 14:40:33 +02:00
Igor Scheller 222c9fed7d Merge remote-tracking branch 'MyIgel/templating' 2018-09-09 12:11:12 +02:00
Igor Scheller 01e9c22695 Implemented mailing abstraction
Closes #434
2018-09-05 13:44:43 +02:00
Igor Scheller b52444af8a Merge remote-tracking branch 'MyIgel/routing' 2018-09-04 21:13:28 +02:00
Igor Scheller 36dafdb68a Merge remote-tracking branch 'MyIgel/rebuild-psr7' 2018-09-03 22:55:54 +02:00
Igor Scheller 9d34f371cb Added CreditsController 2018-09-03 15:42:51 +02:00
Igor Scheller 9e217d87c0 Template refactoring to use twig 2018-09-02 02:09:56 +02:00
Igor Scheller ac48332166 Models: Added LogEntry model 2018-08-31 03:24:54 +02:00
Igor Scheller 8257864829 Added translation support for twig templates
See https://twig-extensions.readthedocs.io/en/latest/i18n.html for documentation
2018-08-29 23:46:32 +02:00
Bot e8f8fc7f5f Replaced gettext translation `_()` with `__()` that uses the Translator class 2018-08-29 23:46:32 +02:00
Igor Scheller a2c47304d8 Added generic error pages 2018-08-29 23:46:32 +02:00
Igor Scheller 3a11641647 Updated LegacyMiddleware to use Translator class 2018-08-29 23:46:32 +02:00
Igor Scheller 427315195b Moved translation/internationalization to Helpers\Translator class 2018-08-29 23:46:31 +02:00
Igor Scheller df6360044b Added Twig template functions 2018-08-29 23:46:31 +02:00
Igor Scheller bb3d16d273 Added Twig template renderer, closes #338 2018-08-29 23:46:11 +02:00
Igor Scheller 175c335810 Db::selectOne() should return null if result is empty 2018-08-29 18:11:35 +02:00
Igor Scheller a1bc763a16 Added nikic/fast-route as routing dispatcher 2018-08-25 21:48:39 +02:00
Igor Scheller 73c9d923e7 Renamed RoutingServiceProvider to Http\UrlGeneratorServiceProvider 2018-08-22 03:10:08 +02:00
Igor Scheller d6c8f1a614 Merge branch 'master' to 'rebuild-database' 2018-08-20 21:07:57 +02:00
Igor Scheller b0e7bc0df2 Made Engelsystem\Http\Request PSR-7 ServerRequestInterface compatible 2018-08-20 17:43:15 +02:00
Igor Scheller bf6efe532c Added trusted proxies 2018-08-19 16:44:33 +02:00
Igor Scheller 5427ee385d Made Engelsystem\Http\Request PSR-7 RequestInterface compatible 2018-08-19 14:04:16 +02:00
Igor Scheller 18fd73a899 Moved middleware to application config 2018-08-19 13:59:57 +02:00
Igor Scheller f3b3b6683c Added middleware tests 2018-08-19 13:59:39 +02:00
Igor Scheller f3f05f6cc4 Make Engelsystem\Http\Response PSR-7 compatible 2018-08-14 00:17:19 +02:00
Igor Scheller 20c03a155d Implemented PSR-15 middleware handler 2018-08-14 00:17:19 +02:00
Igor Scheller 92c26718fd exceptions: implemented error rendering return 2018-08-14 00:17:19 +02:00
Igor Scheller d243090fea config: allow renaming of config.default.php to config.php
Closes #444 (Problems after installation)
2018-08-12 17:38:36 +02:00
Igor Scheller f46e921b71 Use domain for links to '/' to fix assets URLs on subdirectories 2018-08-12 17:36:52 +02:00
Igor Scheller 3c08829205 Added Http\Response and Psr7{Request,Response} 2018-08-07 16:54:08 +02:00
msquare 2832fe48ee rename some params (codestyle) 2018-08-06 13:10:53 +02:00
msquare 9496e35711 added comments and renamed short method to url generators 2018-08-06 12:57:48 +02:00
msquare 86b2937078 added comments and renamed short method to url generators 2018-08-06 12:50:34 +02:00
Igor Scheller 6962c2b790 Legacy URL Support 2018-08-05 21:46:05 +02:00
Igor Scheller 46e7fc89b4 Fixed tests after #431: Hotfix php7 syntax error 2018-08-04 22:21:13 +02:00
Jens Brandt 4a5ef5f98a rename hotfix to camelCase 2018-05-14 21:21:50 +02:00
Jens Brandt cfc2493bb5 rename hotfix to english 2018-05-14 21:08:15 +02:00
Jens Brandt 28fadbd19d Hotfix php7 syntax error 2018-05-10 15:29:32 +02:00
Igor Scheller 235266ec53 Added basic database migration functionality 2018-01-16 21:47:21 +01:00
Igor Scheller 78cddecef3 DatabaseServiceProvider: Added unit tests 2018-01-15 23:31:19 +01:00
Igor Scheller fe58e4f422 database: updated checks for selectOne 2018-01-14 17:47:26 +01:00
Igor Scheller 0e8cc2f0a7 database: integrated illuminate/database do Db class, removed unused methods 2018-01-14 13:32:57 +01:00
Igor Scheller d4b36e9bad Added Illuminate/Database 2018-01-14 02:59:39 +01:00
Igor Scheller e0b58d2a7d Added illuminate/support and Fluent Interface to Config 2018-01-14 01:45:23 +01:00
Bot 952c7892f3 Formatting & Docstrings 2017-12-25 23:51:15 +01:00
Igor Scheller 25e434bce4 Refactored ExceptionHandler 2017-11-25 11:27:38 +01:00
Igor Scheller 6eea072376 Added ExceptionHandler Interface 2017-11-25 11:27:38 +01:00
msquare 0ee7df4883 change behaviour of HTTP/Request get 2017-11-19 15:16:01 +01:00
msquare f8807c4efb fix behaviour of HTTP/Request get 2017-11-19 14:47:32 +01:00
Igor Scheller ad948bdd32 Added RequestServiceProvider and SessionServiceProvider 2017-11-01 16:12:01 +01:00
Igor Scheller 60fd72cd1a Added service providers 2017-10-31 13:40:13 +01:00
Igor Scheller 449e2cdd00 Added env function, added GitLab CI code coverage config 2017-09-25 01:16:12 +02:00
Igor Scheller d49e49c364 Implemented service provider functionality 2017-09-22 14:13:19 +02:00
Igor Scheller 783c58611a Added app path to container 2017-09-21 20:52:19 +02:00
Igor Scheller 212760d4c9 Changed Container to Illuminate/Container
@see https://laravel.com/docs/5.5/container
@see https://davejamesmiller.com/2017/06/15/laravel-illuminate-container-in-depth
2017-09-21 18:37:37 +02:00
Igor Scheller 31414905d7 Fixed exceptionHandler to catch PdoExceptions, formatting 2017-09-20 01:29:04 +02:00
Igor Scheller 86c0713baa Added helpers unit test 2017-09-20 01:10:14 +02:00
Igor Scheller 1e267ce3b1 Added Renderer unit test 2017-09-19 23:55:24 +02:00
Igor Scheller 2cb636b651 Added Container unit test 2017-09-19 21:50:22 +02:00
Igor Scheller e6ed8a3017 Changed LogEntries table: Use log level instead of nick name 2017-09-19 19:45:02 +02:00
Igor Scheller b3b65743cd Added Logger 2017-09-19 18:30:42 +02:00
Igor Scheller 0ac9818764 Added Application 2017-09-19 14:50:46 +02:00
Igor Scheller 8c81adc8e8 Implemented container 2017-08-31 17:30:54 +02:00
Igor Scheller 2bd127c011 Use symfony session 2017-08-30 19:57:01 +02:00
Bot a473a56f1d Formatting 2017-08-30 00:22:02 +02:00
Igor Scheller d0074cf006 Merge remote-tracking branch 'engelsystem/feature-igel-rewrite'
# Conflicts:
#	includes/controller/angeltypes_controller.php
#	includes/pages/admin_groups.php
#	includes/pages/user_settings.php
#	includes/sys_page.php
#	src/Exceptions/Handler.php
#	src/Http/Request.php
2017-08-29 23:16:41 +02:00
Igor Scheller cc01c906ba #336: Integration of symfony/http-foundation request 2017-08-29 21:52:07 +02:00
Igor Scheller 73175e2b64 #337: Added routing 2017-08-28 17:34:00 +02:00
msquare 26515d7582 forgott to include query bindings into selectOne 2017-07-28 20:12:40 +02:00
msquare f82e5456d2 dried code by introducing selectOne for select queries with only one result line expected 2017-07-28 20:11:09 +02:00
msquare 440ed74cd7 exception handler should handle throwables instead of exceptions 2017-07-28 19:28:00 +02:00
msquare 5794c4cab8 clear delete queries from false resuls 2017-07-28 18:50:00 +02:00
msquare 144b453bc6 fix unreadable exception 2017-07-23 12:18:32 +02:00
msquare 2b834ba7f1 fix problem where empty string is not recognized as get value 2017-07-23 12:11:50 +02:00
msquare 908f5712cc fix problem where 0 is not recognized as get value 2017-07-23 12:02:37 +02:00
msquare a157004f4a handle failed db queries in Db class 2017-07-23 11:46:54 +02:00
Igor Scheller e1762e7764 replaced template_render with dynamic renderer class 2017-07-20 02:30:53 +02:00
Igor Scheller ec45216899 Merge remote-tracking branch 'engelsystem/feature-igel-rewrite' 2017-07-19 23:35:20 +02:00
msquare e93dd774a5 fix small issues on checking success of a db query 2017-07-19 21:28:26 +02:00
Igor Scheller 3a1e460249 Changed $_GET, $_POST and $_REQUEST to use the Request object 2017-07-19 11:44:16 +02:00
Igor Scheller 8506d6d27e Refactoring: Config cleanup / moved to class 2017-01-21 23:07:20 +01:00
Igor Scheller 9a3ad88834 Changed from mysqli to PDO, some refactorings, faster sql queries 2017-01-21 13:58:53 +01:00
Igor Scheller f7c09cb7ff Added exception handler 2017-01-20 21:12:19 +01:00