Commit Graph

4290 Commits

Author SHA1 Message Date
Evan Prodromou
44bcc942b8 Break up stream code to use separate notice stream classes
Rearchitect (again!) notice stream code to delegate different functionality up and down the stack.

Now, different classes implement NoticeStream.
2011-03-24 18:04:19 -04:00
Siebrand Mazeland
8a8a194316 Fix typo in documentation. 2011-03-24 17:02:28 +01:00
Siebrand Mazeland
3810482d1c Fix i18n. 2011-03-24 16:52:32 +01:00
Siebrand Mazeland
53d3455749 Change formatting of i18n slightly. Translator hints were not picked up in pot file. May now they are. 2011-03-24 16:47:29 +01:00
Siebrand Mazeland
3be26565fb Update translator documentation.
i18n/L10n updates.
Superfluous whitespace removed.
Add FIXME in files with missing documentation.
2011-03-24 11:48:51 +01:00
Brion Vibber
265f9af6f7 Retool group join queue list ajax forms to use two buttons in one form, making it more ajax-submit-friendly. Needs util.js fixes for AJAX submission input buttons... 2011-03-23 15:21:12 -07:00
Evan Prodromou
2b901894c2 Some fixes to make the notice stream class work 2011-03-23 11:59:01 -04:00
Evan Prodromou
efb6a7b441 let Inbox class go fingerpokin' in streams 2011-03-23 11:42:52 -04:00
Evan Prodromou
0b35ce7c37 New NoticeStream class to reify streams of notices
We've been muddling through with 6- or 8-argument functions for managing streams. I'd
like to start thinking of streams as their own thing, and give them some more value.

So, the new NoticeStream class takes over the Notice::stream() function and Notice::getStreamByIds().

There's probably some fine-tuning to do on the object interface.
2011-03-23 11:29:55 -04:00
Brion Vibber
14a6ab2b04 Refactoring on notification mail generation: common profile & footer chunks pulled out, notifications added for group joins. 2011-03-22 16:50:27 -07:00
Brion Vibber
a12680e8d5 Fix typo in cf45c978 2011-03-22 14:20:21 -07:00
Evan Prodromou
83fb5e6023 Mass replacement of #-comments with //-comments
like leprous boils in our code. So, I've replaced all of them with //
comments instead. It's a massive, meaningless, and potentially buggy
change -- great one for the middle of a release cycle, eh?
2011-03-22 11:54:23 -04:00
Brion Vibber
61960d3668 Add pending members list to group navigation, if group has joins moderated or if it has pending requests open 2011-03-21 17:23:13 -07:00
Brion Vibber
942887ca8c Split up some list/form classes, and get the 'approve' and 'cancel' links on group member queue working. 2011-03-21 17:17:18 -07:00
Brion Vibber
6bdb1053ad Pending members queue list -- doesn't yet allow approval. 2011-03-21 16:40:10 -07:00
Brion Vibber
471a480587 Logic to have group joins turn into pending joins automatically when group is set to mod; allow users to cancel their pending group requests. 2011-03-21 16:26:41 -07:00
Brion Vibber
a54eb0941e Tweaking request_queue -> group_join_queue, easier to deal with the indexes and keys and caching this way. 2011-03-21 15:05:36 -07:00
Brion Vibber
541dfa04fe Switch things from calling Group_member::join & leave & calling events manually to running through Profile::joinGroup() && Profile::leaveGroup(), with the events encapsulated. 2011-03-21 14:35:29 -07:00
Brion Vibber
0bec9cfdbc Add request_queue table and user_group.join_policy column, for upcoming join & subscription moderation.
UI for setting the join policy is in, but not yet used.
2011-03-21 13:51:13 -07:00
Evan Prodromou
0a71622aa7 Widget automatically delegates unimplemented methods to attribute 2011-03-21 11:09:16 -04:00
Zach Copley
fc0ed76ebd Remove stray get_class() call 2011-03-20 19:37:25 -07:00
Brion Vibber
4874ab0e7d Tickets #1610, #1949: show permalinks on Popular Notices, attachments aside sections
These mini notice lists were previously not actually showing links to the notices, making them hard to use. There was code to output a link, but it had been unused due to the config options triggering it not being set. The links also looked bad ("( see )" with bad spacing).
Replaced that code with a call into NoticeListItem's existing code to format a relative timestamp with the notice permalink, which looks nice. Used a div rather than p to avoid clearing the float, so it flows nicely.
2011-03-18 13:58:13 -07:00
Siebrand Mazeland
a4e334a0ba Translator documentation added/updated.
i18n updates.
Superfluous whitespace removed.
2011-03-18 18:03:41 +01:00
Siebrand Mazeland
cf45c978d9 Fixed issues with plural handling.
L10n/I18n updates.
Translator documentation added.
Superfluous whitespace removed.
2011-03-18 17:59:51 +01:00
Brion Vibber
90a7631592 Caching for conversation root lookup, some logic fixes in threaded view 2011-03-17 17:36:53 -07:00
Brion Vibber
0c2c73659c Use cached sources for favorites & repeats info on threaded notice lists 2011-03-17 17:06:04 -07:00
Brion Vibber
4afa3caae3 ajax load for additional inline replies; /replies variant of conversationview 2011-03-17 16:27:42 -07:00
Brion Vibber
94ecfc3fcd Initial use of inline reply area for marking repeats... 2011-03-17 15:17:45 -07:00
Brion Vibber
c70fdef368 Merge branch 'faves' into 1.0.x 2011-03-17 14:48:14 -07:00
Brion Vibber
ed6d5c6e7a Initial inline listing of favoriters 2011-03-17 14:19:03 -07:00
Brion Vibber
58d39153c6 Favored lists in progress: 'foo, bar and baz' 2011-03-17 13:51:55 -07:00
Brion Vibber
6c236ab0ff work in progress 2011-03-17 13:25:20 -07:00
Brion Vibber
8ef9d75bbc Work in progress: faves in the threaded reply area 2011-03-17 13:07:17 -07:00
Evan Prodromou
60a237ac62 some flushing in the UI 2011-03-17 15:26:37 -04:00
Evan Prodromou
409f5f5658 alpha1 version of the software 2011-03-17 09:21:26 -04:00
Brion Vibber
bd12546984 Allow plugins to modify or append command help text; broke the command help down into pieces which also will aid translators in future, as the entire message blob won't change every time something gets fiddled with. 2011-03-16 17:07:06 -07:00
Evan Prodromou
f5bde9b693 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-16 18:54:07 -04:00
Evan Prodromou
0791d0034f return Ajax-y XML on exceptions 2011-03-16 18:53:46 -04:00
Brion Vibber
a81a599d8a MESSAGES_PER_PAGE constant missing (merge error?) 2011-03-16 11:11:06 -07:00
Samantha Doherty
5e40450efd Quick style update for profile blocks. 2011-03-16 13:50:24 -04:00
Zach Copley
3692a09095 Extended profile - add nav link to new profile block 2011-03-16 10:30:57 -07:00
Evan Prodromou
c99f6f6afc remove a bunch of common_debug() calls for url shortening 2011-03-16 10:26:14 -04:00
Evan Prodromou
32aa061c17 remove debugging code for microapp 2011-03-16 10:16:29 -04:00
Evan Prodromou
519bbfb2e9 use <p> to keep stuff in profile block from bunching 2011-03-16 10:03:28 -04:00
Evan Prodromou
410ca34ce9 remove edit link from profileblock 2011-03-16 09:59:36 -04:00
Evan Prodromou
07d9cca004 fix bug with undefined variable 2011-03-16 09:57:10 -04:00
Evan Prodromou
bbba1f6e16 Show group actions in profile block 2011-03-16 09:57:10 -04:00
Evan Prodromou
2d4554ea03 Remove UserProfile class 2011-03-16 09:57:10 -04:00
Evan Prodromou
3d68474e14 move UserProfile actions to account profile block 2011-03-16 09:57:10 -04:00
Evan Prodromou
051e374792 profile block can have actions 2011-03-16 09:57:10 -04:00
Evan Prodromou
a661b22fad use stream-sized avatar for default profileblock 2011-03-16 09:57:10 -04:00
Evan Prodromou
fbc11b72d7 Allow profileblock subclasses to show different sized avatars 2011-03-16 09:57:10 -04:00
Evan Prodromou
f242cf0e58 move profile block to the aside 2011-03-16 09:57:09 -04:00
Evan Prodromou
f23184a8d6 add newline to group profile block 2011-03-16 09:57:09 -04:00
Evan Prodromou
66b505a341 show group profile block for group pages 2011-03-16 09:57:09 -04:00
Evan Prodromou
561458650f profile group uses account profile block 2011-03-16 09:57:09 -04:00
Evan Prodromou
e5133f8150 add accountprofileblock and make defaultprofileblock use it 2011-03-16 09:57:08 -04:00
Evan Prodromou
d0317d96e1 hide profile block on settings and admin panels 2011-03-16 09:57:08 -04:00
Evan Prodromou
a72dbc1aff add a profile block to left column 2011-03-16 09:57:07 -04:00
Evan Prodromou
41420449f8 Merge branch 'jqueryui' into 1.0.x
Conflicts:
	lib/action.php
2011-03-16 09:56:26 -04:00
Evan Prodromou
afa1aa6c9b Revert "use jquery-ui for input_forms tabset"
This reverts commit c4bada9022.
2011-03-16 09:53:27 -04:00
Brion Vibber
7345de1202 Add layout divs to InfoAction's core block; fixes error display layout in Neo skin 2011-03-15 17:32:25 -07:00
Samantha Doherty
4334bb7132 Adding wrapper divs for equal height columns. 2011-03-14 15:30:51 -04:00
Brion Vibber
2bccd18d9a JS optimization: move creation of inline reply placeholders to server-side so we don't have to create them client-side (which causes reflows and takes about 25-30ms on my test system)
Using live instead of bind for the event handling, we don't have to play any games on the ones that we do add at runtime. Yay!
2011-03-11 15:20:20 -08:00
Brion Vibber
4e2a0e2fd0 Use non-minified jQuery when $config['site']['minify'] is off; aids in debugging when something fails deep in jQuery-land. 2011-03-11 14:48:47 -08:00
Brion Vibber
717fed785e Update PersonalGroupNav with fixed highlighting checks.
Couldn't use Menu::item() as its checks are only for the action name, so would have highlighted stuff for other users though it always links to self.
2011-03-11 14:25:57 -08:00
Brion Vibber
d393ac4bbb remove stray close div from empty search results doc bits 2011-03-11 14:08:48 -08:00
Brion Vibber
3c9561b3f0 Merge branch 'atomic-json' into 1.0.x 2011-03-11 12:47:11 -08:00
Brion Vibber
3146c9fae8 Add event hooks for customizing ActivityObject output to Atom and JSON, and helpers for MicroAppPlugin.
New hooks:
* StartActivityObjectOutputAtom
* EndActivityObjectOutputAtom
	$obj ActivityObject
	$out XMLOutputter

* StartActivityObjectOutputJson
* EndActivityObjectOutputJson
	$obj ActivityObject
	&$out array
2011-03-11 11:58:53 -08:00
Siebrand Mazeland
eff26421ab Move translator documentation one line lower. Otherwise it will not be added to the POT file. 2011-03-11 19:32:35 +01:00
Brion Vibber
0f3af3e3b7 Keep 'Status' tab current while showing the placeholder -- pretend like it's a mini version of the status notice form :D 2011-03-10 18:01:40 -08:00
Brion Vibber
771682b6eb Add placeholder status form for the top (needs to hook up to JS) 2011-03-10 17:40:25 -08:00
Brion Vibber
874804a0c4 use a data attribute instead of 'title' for geo lookup api; fixes failure of cloned forms to work 2011-03-10 16:49:24 -08:00
Brion Vibber
acd3f957ba Micro-app fix: pass foreign options (remote source & original URI) with OStatus input 2011-03-10 12:05:25 -08:00
Brion Vibber
0511800351 Provisional tweak for polls to go through atom feeds / ostatus
Had to fix some calls to MicroAppPlugin->saveNoticeFromActivity() which passed an OStatus_profile instead of a Profile...
Imported polls don't get data from upstream or send it back currently.
2011-03-10 11:35:04 -08:00
Evan Prodromou
c4bada9022 use jquery-ui for input_forms tabset 2011-03-10 10:53:11 -06:00
Evan Prodromou
a5daed0aa8 load jquery-ui css and js by default 2011-03-10 10:28:08 -06:00
Brion Vibber
cecc2576a5 Fixes for direct message form for JS changes to the main form 2011-03-09 16:55:52 -08:00
Brion Vibber
040baf291d Fix for input tab selection 2011-03-09 13:05:12 -08:00
Brion Vibber
381ffc3fe8 Stub 'home' subsection at top of settings & admin nav panels, so folks always know how to get home.
(If we drop the section titles, these'll look a little cleaner since it'll only show 'Home' once :D)
2011-03-09 12:38:06 -08:00
Brion Vibber
1f9a9c69bc Only show the site_nav_object block if Action::showObjectNav has been overridden to do something.
(Copied similar check from showPageNoticeBlock, handy!)
2011-03-09 12:07:26 -08:00
Brion Vibber
0a19949f6d Allow theme.ini to specify external CSS URLs, such as Google Font API loaders.
Example theme.ini:

  external="http://fonts.googleapis.com/css?family=Lato:100,100italic,300,300italic,400,400italic,700,700italic,900,900italic"
  include=rebase

Notes:
* URLs must be quoted in the .ini file or the .ini file parser explodes!
* To do multiples, list as external[] instead of external.
* If there's an included base theme, any externals it lists will be included first.
* All externals are loaded before any local styles.
2011-03-09 11:38:43 -08:00
Brion Vibber
7f42e48631 section class on object nav 2011-03-09 10:53:45 -08:00
Brion Vibber
1f86f45bb9 Move object menu into aside 2011-03-09 10:38:44 -08:00
Evan Prodromou
b150b9439a don't show register in login if already logged in 2011-03-09 10:15:19 -05:00
Evan Prodromou
3d310c80be no notice form on error pages 2011-03-09 10:12:53 -05:00
Evan Prodromou
88e09d45c9 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-08 22:48:34 -05:00
Evan Prodromou
b8b1fbb6b5 Give NoticeListItem its own class 2011-03-08 22:48:16 -05:00
Brion Vibber
cbf16a4974 Bookmark and poll plugins' custom notice forms now do AJAX submit, with the resulting notice appearing in the timeline.
FormNoticeXHR now is triggered on any form labeled with class 'ajax-notice', so those other than the traditional notice form should work as long as they handle the AJAX submission and return a properly formatted notice.

Things to watch out for:
* to determine whether the resulting notice should show on the current timeline, the JS code needs to be able to check the author and such. Keeping the existing vcard bits helps for this!
* the notice form submission stuff clears out inputs from your form -- test to make sure this behaves correctly
* error messages returned from the thingy _should_ come through, but this needs more testing for consistency
* while form components that aren't in a custom form should just be ignored, this should be tested more. (eg there's no location or attachment box for poll or bookmark plugins)
* NoticeListItem isn't currently reachable via autoloader -- touch NoticeList explicitly before calling into it for now.
2011-03-08 15:10:30 -08:00
Brion Vibber
28809035d0 Replace explicit FormXHR setup for a bunch of simple AJAX form submissions with adding the 'ajax' class on them.
This avoids having to add extra custom JS bits just to initialize forms using the common AJAX submission path.
2011-03-08 13:58:28 -08:00
Brion Vibber
ba1ada2880 de-IDifying labels in notice form to fix issue with geo pin activating the wrong place when cloning the form
Note that changes to the attachment from <label for/><input id/> to <label><input></label> affect some of the existing styles which attempt to place them both in the same place based on having a common parent. Only 'neo' has been fully tested and fixed for this case, as the others all fail due to the new layout anyway. :)
2011-03-08 12:14:44 -08:00
Zach Copley
cfe3e83293 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
* '1.0.x' of gitorious.org:statusnet/mainline:
  Initial checkin of Poll plugin: micro-app to post mini polls/surveys from the notice form.
  Localisation updates from http://translatewiki.net.
  More doc comments on MicroApp stuff; some of the show-notice code & the ActivityStreams stuff is a bit wonky and may need smoothing out
  Doc comments for MicroAppPlugin
  mailboxes were wrongly overriding global menu
2011-03-07 21:35:48 -08:00
Brion Vibber
541613ce69 More doc comments on MicroApp stuff; some of the show-notice code & the ActivityStreams stuff is a bit wonky and may need smoothing out 2011-03-07 15:15:21 -08:00
Brion Vibber
4a54bb337a Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-07 13:36:54 -08:00
Brion Vibber
9a837ee33b Doc comments for MicroAppPlugin 2011-03-07 13:36:15 -08:00
Zach Copley
4b24f09ab4 Merge branch '1.0.x' into directory
* 1.0.x: (68 commits)
  Avoid AJAX fetch delay for inline replies when possible; we clone a copy of the notice form skeleton at initialization, then insert it in place instead of fetching a new one.
  Fix bad reference
  lost a </div> in input_forms
  neo is the default
  First version of 3cl theme neo.
  cleaner is the new default theme (for now)
  store reply_to notices as comment activity objects
  fix object errors with bookmark notices
  save the object type when saving a new bookmark notice
  ActivityObject uses Notice's object_type by default
  Notice saves its object type
  show correct notice in output
  UR FACE
  wrapper div for primary nav
  Revert "abstraction for starting and ending a menu"
  Revert "primarynav uses menustart and menuend"
  primarynav uses menustart and menuend
  abstraction for starting and ending a menu
  remove adminpanelnav from adminpanelaction module
  Input form switcher works
  ...
2011-03-07 12:37:51 -08:00
Evan Prodromou
f8427f3d1e Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-07 15:12:51 -05:00
Evan Prodromou
884c3d06d2 mailboxes were wrongly overriding global menu 2011-03-07 15:11:38 -05:00
Zach Copley
985ff92431 Fix bad reference 2011-03-07 12:10:34 -08:00
Evan Prodromou
b7a8863b27 lost a </div> in input_forms 2011-03-07 15:06:21 -05:00