Commit graph

151 commits

Author SHA1 Message Date
Marcin Kurczewski
250ffb209f Added tag banning 2014-10-18 18:48:41 +02:00
Marcin Kurczewski
6209cc7833 Refactored tag creating 2014-10-18 18:48:40 +02:00
Marcin Kurczewski
8f03c68ec8 Changed tag export structure 2014-10-18 18:48:40 +02:00
Marcin Kurczewski
7f560d96d4 Improved migration script performance 2014-10-18 18:48:39 +02:00
Marcin Kurczewski
fc13fb1342 Changed default access rank to restricted user 2014-10-18 18:48:39 +02:00
Marcin Kurczewski
6015199559 Added tag siblings to API 2014-10-18 18:48:39 +02:00
Marcin Kurczewski
1415f5c521 Fixed comments showing disliked posts 2014-10-18 18:48:38 +02:00
Marcin Kurczewski
a1b71ed9e1 Disabled blank thumbnail saving 2014-10-18 18:48:38 +02:00
Marcin Kurczewski
823fa2da15 Removed useless dependency in UserService 2014-10-18 18:48:38 +02:00
Marcin Kurczewski
672185f959 Added tag name changing 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
74e6e008dc Implemented mass tag 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
93291e5164 Added ability to loop video posts 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
3010bd52f2 Faster ETag computation 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
6c9954f298 Reduced responsibilities of HttpHelper 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
3744f0429a Split FileService to NetworkingService and FileDao 2014-10-18 18:48:37 +02:00
Marcin Kurczewski
632bac8661 Added "use ..." statements
This version ditches backwards compatibility with PHP earlier than 5.6.
2014-10-18 18:48:36 +02:00
Marcin Kurczewski
5bc73d220e Added removal of unused tags 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
76d9e95e4b Moved tag export to service 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
d1c2c77eb5 Fixed privilege checking 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
49124298a2 Added tag listing 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
731eb6561b Added creation time to tags 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
9379b4945a Moved tag synchronization to TagService 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
185f820e21 Added support for legacy passwords 2014-10-18 18:48:36 +02:00
Marcin Kurczewski
6bf8586735 Added comment scoring 2014-10-18 18:48:34 +02:00
Marcin Kurczewski
edb9055299 Changed favorite and score DAO to be more flexible 2014-10-18 18:48:34 +02:00
Marcin Kurczewski
1a8568392f Fixed post deleting 2014-10-18 18:48:34 +02:00
Marcin Kurczewski
16c5740277 Added comment API 2014-10-18 18:48:33 +02:00
Marcin Kurczewski
31e0158606 Added user banning 2014-10-18 18:48:30 +02:00
Marcin Kurczewski
3268618f26 Fixed logging in from multiple computers 2014-10-18 18:48:30 +02:00
Marcin Kurczewski
50ca13b136 Reduced requests in post view 2014-10-18 18:48:29 +02:00
Marcin Kurczewski
6d7566ee2f Added post scoring 2014-10-18 18:48:29 +02:00
Marcin Kurczewski
8a9bf259e4 Added order:fav_date and order:fav_count support 2014-10-18 18:48:29 +02:00
Marcin Kurczewski
6e22efdd6e Added post favoriting 2014-10-18 18:48:29 +02:00
Marcin Kurczewski
5159214e80 Added searching by tags and ids 2014-10-18 18:48:29 +02:00
Marcin Kurczewski
9edc74f9a5 Added post history 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
2fc6a23e46 Refactored search filters 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
5dc85b7dee Added post relations 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
22b30c3e43 Added concurrent editing detection 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
a7c07d32df Added last edit time to basic post information 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
d2447045dd Added basic post editing 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
d3015627b3 Added post globals 2014-10-18 18:48:28 +02:00
Marcin Kurczewski
ac62a44ba7 Fixed registering multiple users with empty e-mail 2014-10-18 18:48:27 +02:00
Marcin Kurczewski
97ca08cf44 Added post featuring 2014-10-18 18:48:27 +02:00
Marcin Kurczewski
7b0d907acc Fixed login remembering 2014-10-18 18:48:27 +02:00
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