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
99b08879bd
Improved search speed
2014-10-18 18:48:38 +02:00
Marcin Kurczewski
78759a6557
Added migration script
2014-10-18 18:48:38 +02:00
Marcin Kurczewski
2f6b56b08c
Fixed comment saving
2014-10-18 18:48:38 +02:00
Marcin Kurczewski
48519014fc
Added default timezone
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
abc3259222
Fixed avatars for anonymous users
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
4d20e1bfc4
Added random optimizations
2014-10-18 18:48:37 +02:00
Marcin Kurczewski
3010bd52f2
Faster ETag computation
2014-10-18 18:48:37 +02:00
Marcin Kurczewski
04bdb04f20
Added meaningful name to saved posts
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
25f1e5b83d
Fixed order of comments
2014-10-18 18:48:36 +02:00
Marcin Kurczewski
e85293f338
Improved error message when search requires auth
2014-10-18 18:48:36 +02:00
Marcin Kurczewski
287c3c1cb3
Fixed post search parsing
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
7579d962ba
Added NotSupportedException
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
3cb9955ec6
Fixed coding conventions in entities
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
91876bb66f
Reversed default history order
2014-10-18 18:48:35 +02:00
Marcin Kurczewski
7fc0cd7631
Fixed problems with colons in tags
2014-10-18 18:48:35 +02:00
Marcin Kurczewski
66535f6142
Added a few prohibited characters to tags
2014-10-18 18:48:35 +02:00
Marcin Kurczewski
640b66a324
Added list of SQL statement to debug output
2014-10-18 18:48:34 +02:00
Marcin Kurczewski
6bf8586735
Added comment scoring
2014-10-18 18:48:34 +02:00
Marcin Kurczewski
28e87dca93
Removed unused lazy loaders
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
17cc4e7947
Added comment count to post list
2014-10-18 18:48:34 +02:00
Marcin Kurczewski
16c5740277
Added comment API
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
e43f3b54d7
Added various option support to post searching
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
cc22f3c0ba
Added comment DAO
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
a728279bf5
Removed reliance on global from Dispatcher
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
4220a83589
Reduced query count for tag retrieval
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
332ca8e4b7
Added query count statistics to responses
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
58a689235a
Fixed triggers
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
b4992926a1
Added autohiding disliked posts to post searching
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
0e59147423
Added safety browsing settings to post searching
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
8743cda1a0
Fixed yet another FluentPDO fuckup
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
614111a5f0
Changed user settings to be stored as arrays
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
22e7d3657b
Added order:random support to post searching
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
0049d59354
Fixed managing default search order
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
9c1a028c81
Added order:file_size support to post searching
2014-10-18 18:48:33 +02:00
Marcin Kurczewski
c2b201d36b
Added special:fav support to post searching
2014-10-18 18:48:32 +02:00
Marcin Kurczewski
5db571ab7f
Added special:(dis)liked support to post searching
2014-10-18 18:48:32 +02:00
Marcin Kurczewski
c021c9a1c0
Added type: support to post searching
2014-10-18 18:48:32 +02:00
Marcin Kurczewski
216d9b3001
Moved autoloader to composer config
2014-10-18 18:48:32 +02:00
Marcin Kurczewski
52d44284fb
Changed search order parsing to be more strict
2014-10-18 18:48:32 +02:00
Marcin Kurczewski
61e95ac708
Added order: support to searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
17d898bc0c
Fixed default user search order
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
c124f89b8b
Added fav: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
97a1c52018
Added safety: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
4c458d8b20
Fixed privileges
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
0cfb7b821d
Added uploader: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
11931075f5
Added score: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
47081293ef
Added fav_count: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
a80050b70e
Added tag_count: support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
ac78f3b4b8
Added order:time support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
57dc7c5fad
Added order:id support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
736a25c3a4
Added order:score support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
e0ced89a9b
Added order:tag_count support to post searching
2014-10-18 18:48:31 +02:00
Marcin Kurczewski
81c2025203
Added hash: support to post searching
2014-10-18 18:48:30 +02:00
Marcin Kurczewski
6f563e72c3
Fixed negative offsets in AbstractDao
2014-10-18 18:48:30 +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
060ddf46ad
Added automatic tag JSON export
...
I plan to use it in autocomplete inputs.
2014-10-18 18:48:30 +02:00
Marcin Kurczewski
0256de2e98
Fixed issues with tag case sensitivity
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
50ca13b136
Reduced requests in post view
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
c0bc4d4f19
Improved compatibility with MySQL
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
e811b1a876
Reduced aliases for searches
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
8c108ccfbf
Changed default order to descending
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
f090a752f0
Added favorite count to post list
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
6e22efdd6e
Added post favoriting
2014-10-18 18:48:29 +02:00
Marcin Kurczewski
6d4a4f11d1
Added post searching by date
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
df939e0343
Simplified injecting db connection for upgrades
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
2387dd4074
Refactored entity filtering
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
aff5965091
Added basic information to post view
2014-10-18 18:48:27 +02:00
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