Marcin Kurczewski
51a80c22c5
Added author and upload date to post view
2014-10-18 18:48:27 +02:00
Marcin Kurczewski
881d2a6b38
Fixed unknown variable
2014-10-18 18:48:27 +02:00
Marcin Kurczewski
1d72cec84b
Added user lazy loading
2014-10-18 18:48:27 +02:00
Marcin Kurczewski
39d854cb8e
Added usage count tracking to tags and posts
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
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
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