Commit Graph

704 Commits

Author SHA1 Message Date
Toby Zerner
64e6b7d26c Remove total results from discussion searching
It’s too inefficient (requires a whole table scan) to do a query like:
select count(*) from discussions where [conditions determining
visibility]
2015-06-16 16:58:10 +09:30
Toby Zerner
c1e3820480 Add a serializer and API action to get information about the forum 2015-06-15 12:18:20 +09:30
Toby Zerner
0aed5f44bf Maintain scroll position when hiding the composer 2015-06-15 12:17:19 +09:30
Toby Zerner
1ff5e06525 Don't add duplicate posts to a discussion 2015-06-15 08:59:57 +09:30
Toby Zerner
823027b839 Prefer passing an array to ServiceProvider::extend 2015-06-15 08:59:33 +09:30
Toby Zerner
9997c5d7a3 Update permissions 2015-06-12 16:41:46 +09:30
Toby Zerner
66da905763 Fix saving of to-many relationships 2015-06-12 16:41:13 +09:30
Toby Zerner
40c9c7ef59 Add a separator above the delete control 2015-06-12 16:40:57 +09:30
Toby Zerner
5b6f86320d Return a promise from the new discussion action 2015-06-12 16:40:47 +09:30
Toby Zerner
81dc3a1c48 Make the FormModal component more flexible 2015-06-12 16:40:20 +09:30
Toby Zerner
5c21efe09d Move between title/post inputs with return and backspace keys 2015-06-12 16:37:43 +09:30
Toby Zerner
52ff2f25ba Don't pad the body when the composer is minimized 2015-06-12 16:37:19 +09:30
Toby Zerner
b2c617ebb6 Add English locale template to extension stub 2015-06-11 18:45:31 +09:30
Toby Zerner
042b5ef051 Add missing import in extension stub JS 2015-06-11 18:45:17 +09:30
Toby Zerner
8cebb4d8e6 API: Reorder Extend\Relationship arguments 2015-06-11 18:42:49 +09:30
Toby Zerner
48e33591c9 Add newline in-between JS files, in case last line is a comment 2015-06-11 18:42:26 +09:30
Toby Zerner
42fe2a28dd Increase text contrast
I think you will like this change @franzliedke :)
2015-06-11 18:42:05 +09:30
Toby Zerner
4582c18a3d Improve ordering of list items when specified key doesn't exist 2015-06-11 18:41:13 +09:30
Toby Zerner
525e2b1b3f Don't anchor scroll when the top of the page has been reached 2015-06-11 18:40:21 +09:30
Toby Zerner
070d8fb04d Fix scrolling to first post not working 2015-06-11 18:39:36 +09:30
Toby Zerner
0f5156afd4 Fix incorrect visible range in post scrubber 2015-06-11 18:39:12 +09:30
Toby Zerner
ac83cb1cf4 Fix sort menu not displaying the current option 2015-06-11 18:38:48 +09:30
Toby Zerner
16c714012f Fix incorrect highlighting of post excerpts 2015-06-10 14:42:14 +09:30
Toby Zerner
8b162344cd Lay the groundwork for translation & refactor asset compilation
Ditched the idea of having language packs as extensions. Reasoning:

1. Because we use machine keys for translations (rather than English
keys), extensions need to be able to define default translations. If
English translations are to be included in extensions and not in a
language pack extension, then it doesn’t make sense to have other
languages as language pack extensions. Inconsistency → complexity.

2. Translations should maintain version parity with their respective
extensions. There’s no way to do this if extension translations are
external to the extension.

Instead, localisation will be a core effort, as well as a per-extension
effort. Translators will be encouraged to send PRs to core + extensions.

In core, each locale has a directory containing three files:
- translations.yml
- config.js: contains pluralisation logic for the JS app, as well as
moment.js localisation if necessary
- config.php: contains pluralisation logic for the PHP app

Extensions can use the Flarum\Extend\Locale extender to add/override
translations/config to a locale.

Asset compilation has been completely refactored with a better
architecture. Translations + config.js are compiled and cached for the
currently active locale.
2015-06-10 14:23:56 +09:30
Toby Zerner
77601870e0 Clean up, use time helper rather than util 2015-06-10 13:59:25 +09:30
Toby Zerner
8f856f85db Externalize babel helpers.
Saves 2kB after minify+gzip :D
2015-06-08 15:28:45 +09:30
Toby Zerner
5500372288 Clean up extension stub. 2015-06-08 15:05:35 +09:30
Toby Zerner
31a3de641f Use new flarum-gulp package. 2015-06-08 14:57:23 +09:30
Toby Zerner
0450aba462 Remove old code. 2015-06-08 14:57:05 +09:30
Toby Zerner
36257b1534 Load extensions from the root directory, with precedence. 2015-06-08 14:56:49 +09:30
Toby Zerner
b864ada389 Add extension generator command. 2015-06-08 14:56:19 +09:30
Toby Zerner
4d2f58b693 Clear bio HTML cache when saving bio 2015-06-08 09:50:07 +09:30
Toby Zerner
250e16d970 Make composer sliding animation less jumpy when replying 2015-06-08 09:47:28 +09:30
Toby Zerner
7a76bf175d Make HTMLPurifier config extensible; allow images 2015-06-08 09:37:30 +09:30
Toby Zerner
f928e746d9 Prevent formatter from being invoked if bio is empty 2015-06-08 09:34:39 +09:30
Toby Zerner
a5ad1fded7 Fix user profile activity regression 2015-06-07 10:12:48 +09:30
Toby Zerner
381e7a2c57 Usernames must only contain alphanumeric chars/dashes/underscores
Perhaps we can relax this a little bit, but right now these are the
only characters that are parsed for @mentions anyway
2015-06-04 11:19:23 +09:30
Toby Zerner
73396e3e9c Fix error 2015-06-04 11:12:04 +09:30
Toby Zerner
aae7678cea Really rough fulltext driver implementation 2015-06-04 11:11:56 +09:30
Toby Zerner
42851f425b Rejig formatting API. closes flarum/core#85
It works but it’s not the most pretty thing in the world. @franzliedke
Would be great if you could take a look at the whole formatting API and
work your magic on it sometime… my brain is fried!
2015-06-04 10:48:07 +09:30
Toby Zerner
9487a56d61 Allow <hr> in posts 2015-06-03 18:12:15 +09:30
Toby Zerner
0f08a4378c Style tweaks 2015-06-03 18:11:43 +09:30
Toby Zerner
5d89618bbd Implement search on front end 2015-06-03 18:10:56 +09:30
Toby Zerner
ea510b5ea0 Fix composer only sliding down some of the way 2015-06-03 18:06:39 +09:30
Toby Zerner
6cf1dbe648 Add HTMLPurifier after formatters are run.
After a morning of searching, it seems there is no PHP Markdown library
that has built-in XSS/sanitization support. The recommended solution is
to use HTMLPurifier.

This actually works out OK, though, as it’s probably a good idea to
enforce sanitization regardless of which formatters are enabled, and to
not leave them with the responsibility of sanitization (it’s a big
responsibility). Since we cache rendered posts, the slow speed of
HTMLPurifier isn’t a concern.

Note that HTMLPurifier requires a file to be loaded by Composer, but
Studio does not yet support this, so for now I have included it
manually.
2015-06-02 11:36:25 +09:30
Toby Zerner
fb3038d128 Password cannot be null 2015-06-01 17:55:52 +09:30
Toby Zerner
82377f2302 Fix error on account registration 2015-06-01 17:55:41 +09:30
Toby Zerner
c7a6f8650e Make user activity posts more compact 2015-06-01 17:55:13 +09:30
Toby Zerner
5d29265a73 Use icon instead in composer title when replying to another thread 2015-06-01 17:55:05 +09:30
Toby Zerner
8638e9c9ca Tweak reply placeholder appearance 2015-06-01 17:54:37 +09:30