Marcin Kurczewski
f71fd106f0
Fixed privilege checks for changing avatars
2014-10-18 18:48:22 +02:00
Marcin Kurczewski
20b3dfc76d
Added additional type safety
2014-10-18 18:48:22 +02:00
Marcin Kurczewski
3e1aaebf89
Fixed account activation for first user
...
Until now, AuthService used to check for empty e-mail in order to tell
whether an account is activated. This was wrong for following scenario:
1. User doesn't enter any e-mail.
2. Because he is about to become the first user to register, he will
become an administrator.
3. Administrators don't need to confirm their e-mail address. Activation
e-mail is not sent, code for e-mail activation is run instead.
4. The user succeeds to create an e-mail-less administrator account.
5. The user fails to login due to unconfirmed e-mail.
6. The code that activates an e-mail just moves unconfirmed e-mail to
primary e-mail. That was the bug, there's no e-mail to confirm.
Things got (hopefully) simpler now, since I added separate column for
indicating whether account is activated.
2014-10-18 18:48:22 +02:00
Marcin Kurczewski
cf0312ce43
Changed EntityConverter inner workings
...
In order to understand data types returned by DB engine better,
EntityConverter was changed to use getter/settter methods instead of raw
properties. That way, the methods inside entities can cast to desired
data types when accessed.
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
f0a077f2b4
Fixed vendor autoloader placement
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
4526345e5b
Switched to sqlite ( closed #38 )
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
d450f5794e
Fixed magic strings in Dao layer
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
2d9865f1d3
Fixed unused variable in abstract search service
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
0548890d97
Introduced entity property getters/setters
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
847117a408
Shifted data transform responsibility from service
2014-10-18 18:48:21 +02:00
Marcin Kurczewski
6ce7beffd2
Fixed frontend behavior after edited user name
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
cb08f68469
Fixed losing entity IDs upon updates
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
29b173de65
Simplified UserService
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
f81fe6bb65
Simplified EmailService
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
56cd1b965a
Added info about activation to account settings
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
0283b2055d
Fixed editing account settings
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
fdfb4acbf9
Refactored config
2014-10-18 18:48:20 +02:00
Marcin Kurczewski
2fab532fde
Fixed authentication with credentials
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
c117367974
Added IValidatable; moved validation to FormData
...
I still struggle to find out how to deal with arguments like
$userNameOrEmail. Should I trim() them in controllers, or in service?
If I do it in service, shouldn't all of such validation belong in there?
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
65da8e9948
Added missing thumbnail generators
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
109aa1c39e
Refactored thumbs; fixed setting custom avatars
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
45e18a9ba3
Improved PHP style
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
a5c89bc48e
Improved avatar loading speed
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
85a026c37b
Added e-mail confirmation and password reset
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
121c2f80dc
Refactored AuthService and UserService
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
2ed9f969f2
Added presenter placeholders
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
9a7082c269
Added token purpose check to authentication
2014-10-18 18:48:19 +02:00
Marcin Kurczewski
e6b37d8e57
Added browsing settings
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
ee2ca7fbaf
Added account settings management and avatars
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
73214396ce
Added test for basic controller validity
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
7c4eddd810
Removed PRIVILEGE_ prefix from constants
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
8e8e983f28
Refactored privilege system
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
c70554330c
Added Injector class
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
926c5af0d6
Refactored controller DTOs
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
4c0a408152
Added account removal
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
eadd649ad0
Refactored frontend authentication system
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
7a8badd2ed
Fixed logging in users that no longer exist
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
de31770c87
Added basic privilege system
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
2ecb79a2fa
Added passive authorization
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
03fbe0990a
Added user view placeholder templates
2014-10-18 18:48:18 +02:00
Marcin Kurczewski
ee9fde5402
Added proof of concept for pagination and search
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
aed090da7d
Fixed user name validation
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
e6ebac8277
Moved config.ini to data
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
5573c49985
Moved backend DI definitions
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
e13db65f68
Paid off technical debt regarding validation
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
ae93b187ac
Fixed bugs in registration
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
ffdbf843ac
Made AutoLoader work only for szurubooru namespace
2014-10-18 18:48:17 +02:00
Marcin Kurczewski
03b65c196c
Worked on user registration
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
c7051a40e9
Added TimeService
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
538b88952e
Added EmailService
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
7be8061aa8
Fixed serializing classes in Dispatcher
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
1104eaf591
Fixed deprecated MongoDB option
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
0889472bf3
Added protection against fatal errors for AJAX
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
c83c609b51
Moved validation to services
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
cb82416f27
Simplified controller repository
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
1f6017aae7
Added fallback anonymous user to authorization
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
2335037a9c
Added view proxies
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
18d9c21435
Added TokenService and UserService
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
45e32c4e50
Implemented InputReader
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
4202ae2ec7
Added HTTP response codes
2014-10-18 18:48:16 +02:00
Marcin Kurczewski
db949dd361
Added proof of concept for authorization system
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
ff310f56c5
Changed config.ini hierarchy
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
f3096ffc5d
Changed object initialization
...
DI FTW
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
6265a09d39
Added dependency injection engine
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
78f57e5fc4
Config can now parse .ini files
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
ebc4fbba61
Added proof of concept for controllers system
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
10e6c9f11f
Fixed routing to class methods
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
e81391a29a
Added ability for routes to return output
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
011d803bd0
Added Config; concealed MongoDB dependency
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
1e3e3f94d8
Added router
2014-10-18 18:48:15 +02:00
Marcin Kurczewski
b7de8ae0bf
Added proof of concept for Dao system
...
Fixup first commit
2014-10-18 18:48:15 +02:00