Searching for detached files used PostSearchService, which by default
hides all hidden posts unless user explicitly asks to search for them.
That way, all hidden posts were treated as detached, so their content
was being removed when using the script in question.
When getting settings from database, running across NULL loads default
setting for given option. Becuase entity unserializer always returned
NULLs instead of FALSEs due to bug in TextHelper, it ended up always
loading default settings (but only after reloading entity, setting it in
the settings page worked correctly until relog).
This fix is closely related to fde6fc2.
- Jobs specify main privilege and sub privileges separately
Rationale: increase maintenance, restrict what can be done runtime
- Renamed ChangeUser* to EditUser* (consistency with EditPost*)
- Simplified enum names and configuration reading
- IJob interface members must be explicitly implemented
Rationale: reduce chances of forgetting something, or typos in
inherited method names
- Invalid privileges names in configuration yield exceptions
- False booleans were serialized as NULLs, which lead to problems with
queries like 'SELECT ... WHERE NOT x'
- Fixed anonymous uploads
- More robust integer and boolean parsing in jobs
- Moved thumbs folder to public_html/
- Users can supply custom thumbs of any size and the system will treat
them like normal image
- Removed distinction between various thumb sizes in file system
- Introduced custom rewrite rule, which isn't exactly good-looking, but
its benefits far outweigh its shortcomings
- Loading up to 75 times faster (was: 100-300ms, is: 4-10ms on my
machine) thanks to removal of PHP proxying