Marcin Kurczewski
34b9a80ba7
Moved Sql and Database.php to remote project
2014-02-28 20:44:35 +01:00
Marcin Kurczewski
2aefafa473
Favoriting a post automatically votes it up now
...
It's still possible for user to withdraw his vote afterwards for whatever
reason.
2014-02-23 22:46:51 +01:00
Marcin Kurczewski
5827626deb
Search services refactor
...
Code rerlated to search query parsing moved to separate classes.
2014-02-23 22:03:59 +01:00
Marcin Kurczewski
6af3a0e42b
SQL overhaul: introducing tree-like queries
...
Reason: until now, PostSearchService was using magic to get around the biggest
limitation of SqlQuery.php: it didn't support arbitrary order of operations.
You couldn't join with something and tell then to select something from it.
Additionally, forging UPDATE queries was a joke. The new Sql* classes replace
SqlQuery completely and address these issues. Using Sql* classes might be
tedious and ugly at times, but it is necessary step to improve model layer
maintainability.
It is by no menas complete implementation of SQL grammar, but for current needs
it's enough, and, what's most important, it is easily extensible.
Additional changes:
* Added sorting style aliases
- fav_count
- tag_count
- comment_count
* Sorting by multiple tokens in post search is now possible
* Searching for disliked posts with "special:disliked" always yields results
(even if user has disabled showing disliked posts by default)
* More maintainable next/prev post support
2014-02-22 19:40:10 +01:00
Marcin Kurczewski
2bac28a553
More capable privilege system
...
Following privileges for post actions can now understand different settings for
everyone and for uploader:
* Scoring posts
* Featuring posts
* Flagging posts
* Favoriting posts
Additionally, privilege for flagging users can now understand different
settings for everyone and for the user that is currently logged in.
In other words: with this update admin can configure privileges so that scoring
own posts or flagging oneself will be prohibited, while scoring other people's
posts or flagging others will be okay.
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
28037af029
Registered users can mass tag their own posts
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
4420fa588d
Post list errors are shown in nicer way
2014-02-21 20:24:37 +01:00
Marcin Kurczewski
2bad17ebdb
Fixed extension in saved posts
2014-02-18 18:35:58 +01:00
Marcin Kurczewski
1352aba438
Fixed saving post original file name to DB
2014-02-18 18:35:58 +01:00
Marcin Kurczewski
0c5fc7e03f
Fixed useless arguments
2014-02-16 20:10:38 +01:00
Marcin Kurczewski
b22e74c0e9
Closed #72
2014-02-05 08:35:24 +01:00
Marcin Kurczewski
35cdc0cf3a
Refactored scripts and stylesheets
...
Styles, scripts and page titles are no longer set from controllers level.
Changed because it was breaking MVC pattern and led to spaghetti code.
Also, optimized JS/CSS inclusions a bit.
2014-02-01 11:24:03 +01:00
Marcin Kurczewski
d170e3b526
Closed #68
2014-02-01 11:23:59 +01:00
Marcin Kurczewski
36e2e5827c
Closed #69
2014-01-27 09:17:36 +01:00
Marcin Kurczewski
752cbbd016
Fixed undefined method
2014-01-26 13:35:47 +01:00
Marcin Kurczewski
100303173e
Added comment editing support
...
In other news, editing a post doesn't reload page anymore
(yay for editing tags for Youtube posts)
2014-01-25 16:39:09 +01:00
Marcin Kurczewski
fd9433a2e3
Edit tokens moved to model
2014-01-25 15:09:20 +01:00
Marcin Kurczewski
5607cfc353
Models rewrite; removed RedBeanPHP; misc changes
...
Pages load 1.5-2x faster
Exception trace in JSON is now represented as an array
Fixed pagination of default favorites page in user pages
Fixed thumbnail size validation for non-square thumbnails
2013-12-18 15:17:49 +01:00
Marcin Kurczewski
95961fe7d5
Added tag sorting here and there
...
- Title attribute in post thumbnail
- Page title in post view
- Footer in featured post
2013-12-14 16:55:07 +01:00
Marcin Kurczewski
5b25250209
Optimalizations
2013-12-14 14:50:30 +01:00
Marcin Kurczewski
4c1bb44e59
Fixed rare bug in prev/next post
...
If tag/user/whatever from last search was deleted after viewing a post,
refreshing the page with that post would yield "Invalid tag/user/whatever"
error.
I changed it so that when retrieving previous/next post for latest search query
throws any errors, saved search query gets resetted to empty one.
2013-12-01 14:47:35 +01:00
Marcin Kurczewski
4285aff671
Fixes to preloading
2013-11-30 16:19:48 +01:00
Marcin Kurczewski
01c54d4d83
Optimalization: simplified selectors
...
Squash
2013-11-30 14:23:46 +01:00
Marcin Kurczewski
d7cb024f24
Refactored pagination queries
2013-11-30 13:59:29 +01:00
Marcin Kurczewski
c9a8f99f6a
Optimization: preloading moved back to controllers
...
- Nearly twice faster page load
- Query count greatly dropped
2013-11-30 01:10:58 +01:00
Marcin Kurczewski
1e954bb815
Optimalization: faster but dirty row retrieval
2013-11-30 01:10:55 +01:00
Marcin Kurczewski
5e58488f3e
Optimalization: simplified tabs structure
2013-11-30 00:05:03 +01:00
Marcin Kurczewski
505fe1bac3
Mass tag: fixed concurrent tag toggling
2013-11-25 22:23:48 +01:00
Marcin Kurczewski
20022ea4ab
Next/prev links are bound to latest search query
2013-11-25 22:23:45 +01:00
Marcin Kurczewski
0ef5f1b46d
Absolute paths used where necessary
...
- No random chdir() calls
- No more exceptions when executing scripts from dirs other than root
- find-posts.php prints absolute paths making piping more useful
2013-11-23 20:52:41 +01:00
Marcin Kurczewski
3b532532d1
Post edit: post content can now be replaced
2013-11-23 17:27:56 +01:00
Marcin Kurczewski
d274f1c044
Fixed featured post quirks
...
- fixes for empty database
- when post was deleted, new one is selected automatically
2013-11-23 16:03:40 +01:00
Marcin Kurczewski
fdd49d783a
Compressed logs from uploads
2013-11-23 15:39:19 +01:00
Marcin Kurczewski
81017e18cb
Logging: improved grammar a little
2013-11-23 15:39:19 +01:00
Marcin Kurczewski
676c3a41e2
Logging: removed logEvent() and log prefixes
...
This looked ugly.
2013-11-23 15:39:19 +01:00
Marcin Kurczewski
db602f08d3
Better handling of anonymous user names
2013-11-23 15:39:19 +01:00
Marcin Kurczewski
d8997edc57
Refactor of controllers and models
...
- Most of model-related code moved from controllers to model classes, much
fewer calls to R::whatever() in controllers
- Post editing and uploading shares the same code, thus making implementing
stuff easier in the future
- Added support for default bean wiring, no more calls to R::preload() all over
the place
- More robust concurrent post editing detection
2013-11-23 15:39:13 +01:00
Marcin Kurczewski
6549237dda
Mass tag: fixed tag case sensitiveness bug
2013-11-22 00:25:59 +01:00
Marcin Kurczewski
a98c61ebf3
Closed #67
2013-11-21 22:44:28 +01:00
Marcin Kurczewski
e336d04347
Logging minifix
2013-11-18 23:23:56 +01:00
Marcin Kurczewski
17bd7a7572
Added support for OpenGraph
...
- Linking to index and individual posts produces thumbs on sites like Facebook
- Thumbnails theoretically support custom sizes
2013-11-18 14:33:43 +01:00
Marcin Kurczewski
a5d0a3f9ef
HTML validation
2013-11-18 14:00:54 +01:00
Marcin Kurczewski
0286e11c30
Fixed dangling postscore and crossref rows
2013-11-18 10:26:29 +01:00
Marcin Kurczewski
9ab961985d
Refactor to logging
...
- Centralized use of TextHelper::repr..() instead of hardcoded markdown
- Centralized processing of highlighting instead of hardcoded markdown
- Highlighted items are marked with color, not just bold
2013-11-17 23:46:31 +01:00
Marcin Kurczewski
fdee23af99
Small changes
...
- Changed: rating posts - [up | down] --> [vote up, down]
- Fixed: logging of e-mail subject
- Improved: flagging posts/users provides visual feedback ("flagged")
- Improved: grammar in login screen
- Fixed: typo in password reset message
- Added: SessionHelper for handy management of user session data
2013-11-17 20:32:35 +01:00
Marcin Kurczewski
3c41940142
Closed #57
2013-11-17 14:53:21 +01:00
Marcin Kurczewski
04e9bad79e
Added logging engine for #61
2013-11-16 21:21:43 +01:00
Marcin Kurczewski
76a60ed5d7
Refactoring of error/success messages
2013-11-16 18:44:40 +01:00
Marcin Kurczewski
9ec269330c
Dependancy extensions safety checks
2013-11-13 23:36:58 +01:00
Marcin Kurczewski
8cd457848c
Removed need for strict typing
2013-11-13 22:14:32 +01:00
Marcin Kurczewski
5e30253789
Closed #58
2013-11-13 19:42:22 +01:00
Marcin Kurczewski
e1c8139373
Unused tags are removed on post edit
2013-11-01 20:51:19 +01:00
Marcin Kurczewski
b3f15dc049
Header becomes less bloated in favor of tabs
2013-11-01 12:58:54 +01:00
Marcin Kurczewski
ad8f2a8038
Changed thumb privilege (for weird configurations)
2013-10-30 23:04:50 +01:00
Marcin Kurczewski
1714e9e665
Added support for post relations
2013-10-30 20:20:01 +01:00
Marcin Kurczewski
157572d9ca
Fixed post deletion
...
When post was deleted foreign keys in corresponding comments weren't NULLified.
2013-10-30 17:06:35 +01:00
Marcin Kurczewski
b7084d61ae
Closed #51 - anonymous uploads; simplified JS
2013-10-30 16:51:22 +01:00
Marcin Kurczewski
bc43883339
Closed #54 - added mass tag
...
- Moved tag forms to separate files
- Tag forms got tag autocompletion
2013-10-29 23:00:21 +01:00
Marcin Kurczewski
cf1b5837a7
Reduced thumbnail size (PNG->JPG)
2013-10-29 09:27:02 +01:00
Marcin Kurczewski
9e6716021a
Models: enhanced entities filtering
2013-10-28 11:24:11 +01:00
Marcin Kurczewski
e346a8e57c
Added new search keywords
...
- tagmin, tagmax
- commentmin, commentmax
2013-10-27 23:02:15 +01:00
Marcin Kurczewski
558f8f42c8
Closed #55
2013-10-27 22:55:14 +01:00
Marcin Kurczewski
c4d5263422
Next/prev post navigation respects safety settings
...
Before change this setting was either ignored or errors were shown if users was
unable to view given post.
2013-10-27 20:51:03 +01:00
Marcin Kurczewski
b55a8f1dce
Closed #52 - fixes for anonymous accounts
...
- Anonymous account is no longer created when commenting/uploading
- Anonymous users can now switch safety, if it's available
- Anonymous users can delete their own posts
- Refurbished session and logging in/out mechanism
- Possible fixes for registration/activation/account deletion issues
2013-10-27 20:39:32 +01:00
Marcin Kurczewski
f726690ea3
Closed #53
2013-10-27 19:32:48 +01:00
Marcin Kurczewski
0d360d525e
SWF thumbnails: support for gnash
...
Swfrender produced mostly black squares. Gnash handles SWF files much, much
better than swfrender.
2013-10-27 19:27:25 +01:00
Marcin Kurczewski
2279e5605b
Closed #37
2013-10-25 13:18:03 +02:00
Marcin Kurczewski
d3eaf27bdc
Closed #36
2013-10-25 09:59:42 +02:00
Marcin Kurczewski
b5070e06fe
Fixed thumbnail generating
2013-10-23 22:16:08 +02:00
Marcin Kurczewski
e1acb8bd99
Reduced page loads
...
- Entity of user currently logged in is kept serialized in session
- Post is retrieved only if necessary in thumbnail generator
2013-10-23 00:16:52 +02:00
Marcin Kurczewski
872780397d
Fixed thumbnail cache
...
Custom thumbnails were loaded only after hard ctrl+f5. Now they should be
loaded with f5 alone.
2013-10-22 23:58:55 +02:00
Marcin Kurczewski
31f07672c4
Improved #33
2013-10-22 23:57:53 +02:00
Marcin Kurczewski
87eaa9ba9e
Closed #33
2013-10-22 21:44:22 +02:00
Marcin Kurczewski
319a9852fc
Fixed deleting and (un)hiding
2013-10-22 00:20:58 +02:00
Marcin Kurczewski
eaa8c4897d
Closed #39
2013-10-22 00:17:40 +02:00
Marcin Kurczewski
823888b0c1
Universal check for form submission
2013-10-22 00:17:36 +02:00
Marcin Kurczewski
6b55706fb4
Closed #46
2013-10-21 14:32:47 +02:00
Marcin Kurczewski
f2947a2550
Added "random" tab
2013-10-21 13:13:10 +02:00
Marcin Kurczewski
b4186a218c
Changed titles a bit
2013-10-20 00:36:50 +02:00
Marcin Kurczewski
3fc1046bb2
Closed #14
2013-10-20 00:31:22 +02:00
Marcin Kurczewski
e15910b637
Closed #41
2013-10-19 22:56:56 +02:00
Marcin Kurczewski
c6754e5866
Closed #35 ; various tweaks
...
- All form.aligned inputs got wrapped with special div for easy width control
- Fixed edit jump bug
2013-10-19 20:58:51 +02:00
Marcin Kurczewski
b1740fbfcf
Closed #29
2013-10-19 20:17:11 +02:00
Marcin Kurczewski
ea463cb0db
Faster queries, fixed foreign keys
...
When user is removed, their posts and comments get null user ID now
2013-10-19 20:14:23 +02:00
Marcin Kurczewski
d85728064a
Closed #17
2013-10-19 15:19:47 +02:00
Marcin Kurczewski
91776a3e54
Closed #30
2013-10-19 13:38:20 +02:00
Marcin Kurczewski
315c5d074e
Better caching
2013-10-19 13:00:03 +02:00
Marcin Kurczewski
019e7eea7f
Closed #43
2013-10-18 00:09:50 +02:00
Marcin Kurczewski
ee050cfd01
Worked on #8
...
Also:
- changed URL schema for posts from /posts/action/id to /posts/id/action
- moved XXXController::locateXXX methods to Model_XXX::locate
2013-10-17 22:57:32 +02:00
Marcin Kurczewski
39db2a64e1
Closed #32
2013-10-16 18:07:23 +02:00
Marcin Kurczewski
e0d01298fc
Universal pagination; closed #3
2013-10-16 13:07:01 +02:00
Marcin Kurczewski
9e73d0de91
Added favmax: (consistency with datemax:)
2013-10-16 13:01:33 +02:00
Marcin Kurczewski
75e68aea5a
More flexible sorting syntax
2013-10-15 23:27:04 +02:00
Marcin Kurczewski
1077c489a7
Closed #12 ; closed #11
2013-10-15 22:49:06 +02:00
Marcin Kurczewski
a03d7179ba
Refactored duplicate code
2013-10-15 20:23:05 +02:00
Marcin Kurczewski
17013e8fe5
Closed #1 ; closed #2 ; closed #4 ; closed #27
2013-10-15 13:14:48 +02:00
Marcin Kurczewski
79b51d31e5
Fixed removing from favorites
2013-10-14 12:13:22 +02:00
Marcin Kurczewski
23f430f41c
Worked on #4
2013-10-14 10:22:53 +02:00
Marcin Kurczewski
23fc89c30c
User safety settings
2013-10-14 00:25:40 +02:00
Marcin Kurczewski
607ef63c2f
Fixed edge cases in searching
...
- search for number (1, 2, ...)
- search for "0" (empty("0") returns true so searching for "0" was impossible)
- search containing / character
- search containing + character
- adding tags containing + character
2013-10-13 22:20:06 +02:00