Commit graph

101 commits

Author SHA1 Message Date
Marcin Kurczewski
7e1234e448 Fixed thumbnail generating 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
b01adce156 Added stricter validation to user avatars 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
42001d3edf Refactored thumbnail system 2014-10-18 18:48:26 +02:00
Marcin Kurczewski
fbdb4e5128 Changed mime detection to be case insensitive 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
34752529b5 Fixed saving tags under certain circumstances 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
3b505a9c60 Fixed transaction manager tests using real DB 2014-10-18 18:48:24 +02:00
Marcin Kurczewski
5cfb225400 Fixed lazy loaders injection
AbstractSearchService::getByFilter() wasn't injecting lazy loaders,
because it didn't call AbstractDao::afterLoad(). This resulted in tags
not showing up in post list, because there was nothing to retrieve them.
Changed lazy loaders injection so that it's always executed as soon as
possible (i.e. right in EntityConverter).
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
b4d2c5ecbb Fixed retrieving total record count 2014-10-18 18:48:24 +02:00
Marcin Kurczewski
932407a571 Fixed unserializing enum values 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
f032460621 Fixed MIME retrieval for files 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
ef1a3b9843 Minified exception traces 2014-10-18 18:48:22 +02:00
Marcin Kurczewski
0ebe4d5d3e Added checks for malformed JSON data 2014-10-18 18:48:22 +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
bb7b1f3321 Turned errors into exceptions 2014-10-18 18:48:22 +02:00
Marcin Kurczewski
6e196637eb Moved type conversion to EntityConverters 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
f6df009085 Split EntityConverter to separate strategies
Reflection turned out to be bad, since I cannot implement my own method
in entities, like Post::setUser() instead of Post::setUserId().
2014-10-18 18:48:22 +02:00
Marcin Kurczewski
6035cf89b7 Added transaction manager 2014-10-18 18:48:22 +02:00
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