Commit graph

107 commits

Author SHA1 Message Date
Marcin Kurczewski
c33817e4ab Optimized API operations
Every operation updated user last login time, which was inefficient.
Changed it to update only after logins from credentials or cookies.
2014-10-18 18:48:27 +02:00
Marcin Kurczewski
a140e04ca3 Added post deleting 2014-10-18 18:48:27 +02:00
Marcin Kurczewski
881d2a6b38 Fixed unknown variable 2014-10-18 18:48:27 +02:00
Marcin Kurczewski
af3908a23c Added id column to tags 2014-10-18 18:48:27 +02:00
Marcin Kurczewski
7e1234e448 Fixed thumbnail generating 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
42001d3edf Refactored thumbnail system 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
a3f9382671 Changed file mgmt to use entities' lazy getters 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
13a15a3a6b Added post mime type saving 2014-10-18 18:48:25 +02:00
Marcin Kurczewski
6defeb0da4 Fixed youtube thumbnails 2014-10-18 18:48:25 +02:00
Marcin Kurczewski
7806333b24 Added post view placeholder 2014-10-18 18:48:24 +02:00
Marcin Kurczewski
a16a2d3235 Added posts listing (closed #7) 2014-10-18 18:48:24 +02:00
Marcin Kurczewski
15eb2342b9 Moved public data to public_html/
This is going to improve caching.
2014-10-18 18:48:24 +02:00
Marcin Kurczewski
55f4f4430b Added post content and thumbnail presenter 2014-10-18 18:48:24 +02:00
Marcin Kurczewski
815a37cf9a Allowed setting e-mail to empty after activation 2014-10-18 18:48:23 +02:00
Marcin Kurczewski
aee6ed7dbf Fixed bad message when setting e-mail to empty 2014-10-18 18:48:23 +02:00
Marcin Kurczewski
ef451d93ac Added protection against too big uploads 2014-10-18 18:48:23 +02:00
Marcin Kurczewski
c155cc3e5c Fixed file size check in FileService::download() 2014-10-18 18:48:23 +02:00
Marcin Kurczewski
047c84ec3a Bypassed phpcs warnings that shouldn't be there 2014-10-18 18:48:22 +02:00
Marcin Kurczewski
bc8e1b05a6 Implemented post uploads (closed #11) 2014-10-18 18:48:22 +02:00
Marcin Kurczewski
9bd114e5b6 Moved base64 decoding to FormData 2014-10-18 18:48:22 +02:00
Marcin Kurczewski
6035cf89b7 Added transaction manager 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
4526345e5b Switched to sqlite (closed #38) 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
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
fdfb4acbf9 Refactored config 2014-10-18 18:48:20 +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
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
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
8e8e983f28 Refactored privilege system 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
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
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
c83c609b51 Moved validation to services 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
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
db949dd361 Added proof of concept for authorization system 2014-10-18 18:48:15 +02:00