Commit Graph

4643 Commits

Author SHA1 Message Date
Evan Prodromou
61fe49b100 ActivityImporter gives up on any exception 2011-03-31 13:53:17 -04:00
Brion Vibber
02c2c3a6cc Provisional workaround for router inconsistencies in background processes that switch site configs.
Ensure that router is cleared when we do site setup; we can still fetch the data from cache, so it should stay fast, but should ensure that we don't end up with someone else's routes still set up, which may be an issue breaking some of the bookmark handling that needs routing with a rare plugin.
2011-03-30 14:18:29 -07:00
Brion Vibber
da7c54023d Format timestamps as UTC in ActivityStreams output. While using local times is legit per spec, it's confusing to have it change around and confuses some clients that don't handle zones right. 2011-03-30 12:36:54 -07:00
Shashi Gowda
5a2bab07b2 Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	actions/tagother.php
	classes/Profile.php
	classes/Profile_tag.php
	js/util.min.js
2011-03-30 15:47:42 +05:30
Evan Prodromou
f213ac33db fix call-by-reference deprecation warning in microappplugin.php 2011-03-30 05:10:07 -04:00
Brion Vibber
674e3c2a0e Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	actions/apistatusesretweet.php
	actions/repeat.php
	classes/Notice.php
	lib/command.php
2011-03-29 16:26:20 -07:00
Brion Vibber
9adbb49fc9 Consolidate some precondition checks for repeats, fix a couple bits in the repeat command.
Notice::saveNew() now does these checks directly when making a repeat:
* make sure the original is valid and existing
* stop you from repeating your own message
* stop you from repeating something you've previously repeated
* prevent repeats of any non-public messages
* explicit inScope() check to make sure you can read the original too (just in case there's a funky extension at play that changes scoping rules)

These error conditions throw exceptions, which the caller either uses as an error message or passes on up the stack, without having to duplicate the checks in each i/o channel.
2011-03-29 16:20:12 -07:00
Siebrand Mazeland
0a19674c9f @evan Fixed message domain for messages in plugins for recent commits.
Numbered parameters when more than one used in a message.
L10n updates for consistency.
i18n for non-translatable exception.
Updated translator documentation.
Removed superfluous whitespace.
2011-03-30 00:48:41 +02:00
Brion Vibber
880661de4e Paging fix for public timeline: drop replies from the stuff we pull in for the threaded web view. 2011-03-29 15:40:07 -07:00
Brion Vibber
18a994d105 Fix typo in filteringnoticestream that caused some messages to get lost 2011-03-29 15:19:04 -07:00
Brion Vibber
d7304d5659 php notice fix -- misspelled bit 2011-03-29 15:05:54 -07:00
Evan Prodromou
9f1603462d Merge branch 'limitdist2' into 1.0.x 2011-03-29 17:32:17 -04:00
Siebrand Mazeland
700018fd09 L10n/i18n updated.
Translator documentation updated.
FIXME added for missing class documentation.
Various documentation tweaks.
2011-03-29 23:00:29 +02:00
Evan Prodromou
32145484c2 Disallow repeats (retweets) of private notices
We disallow repeating a notice (or whatever) if the scope of the
notice is too private. So, only notices that are public scope
(available to everyone in the world) or site scope (available to
everyone on the site) can be repeated.

Enforce this rule at a low level in Notice.php, and in the API,
commands, and Web UI. Repeat button doesn't appear on tightly-scoped
notices in the Web UI.
2011-03-29 11:53:26 -04:00
Evan Prodromou
e862dcdb8a Merge branch '1.0.x' into limitdist2 2011-03-28 21:56:34 -04:00
Brion Vibber
5d31dd259a Subscription pending notification mail 2011-03-28 17:15:48 -07:00
Brion Vibber
e5b5c256a3 Working subscription approval! 2011-03-28 17:08:04 -07:00
Brion Vibber
a70e68e09c Work in progress: can create & cancel sub requests 2011-03-28 16:12:51 -07:00
Evan Prodromou
ec5a43bf4f let actions set a default address for toselector 2011-03-28 16:24:02 -04:00
Evan Prodromou
dca5e20b91 Make the to-selector clear left 2011-03-28 16:23:31 -04:00
Evan Prodromou
b1783e8d49 make to_user/to_profile consistent in NoticeForm 2011-03-28 12:13:46 -04:00
Evan Prodromou
5147404ea2 ToSelector widget to send private notices
A new widget, ToSelector (Sorry, couldn't think of anything better)
that lets you select an addressee for a notice and whether it's
private.
2011-03-28 11:02:20 -04:00
Evan Prodromou
c1fd36c043 Merge branch '1.0.x' into limitdist2 2011-03-27 11:36:57 -04:00
Evan Prodromou
c7defb32f9 NoticeForm constructor takes array of optional parameters
NoticeForm::__construct() had 9 parameters, and I was about to add a
few more, so I figured it'd be better to use an $options array instead.
2011-03-27 11:25:24 -04:00
Evan Prodromou
53a3fd822d add indicator for limited-scope notices 2011-03-26 16:47:36 -04:00
Evan Prodromou
c7f866b032 Caller can set scope for Notice::saveNew() 2011-03-26 15:49:46 -04:00
Evan Prodromou
d69f912b00 Merge branch '1.0.x' into limitdist2 2011-03-25 16:18:10 -04:00
Evan Prodromou
7a56637baa Make function signature for getNoticeIds agree
There were some differences between defaults for the
NoticeStream::getNoticeIds() function and some of its subclasses'
implementations. So, I got them rationalized.
2011-03-25 16:15:55 -04:00
Evan Prodromou
e0d5093ee5 Merge branch '1.0.x' into limitdist2
Conflicts:
	lib/groupnoticestream.php
	lib/taggedprofilenoticestream.php
2011-03-25 15:57:07 -04:00
Evan Prodromou
84984fdbfe All notice streams check notice scope
Added filtering code so that notice streams check notice scope.

Added new class to implement filtering a stream, FilteringNoticeStream.

Added a subclass that does the logic for checking Notice scope.

And made all the streams use ScopingNoticeStream.
2011-03-25 12:22:22 -04:00
Siebrand Mazeland
ac955699b6 Fix use of incorrect method causing i18n issue. 2011-03-25 10:13:26 +01:00
Siebrand Mazeland
3cc7dda478 * PHP short tags "<?" to full tag "<?php".
* superfluous whitespace removed.
2011-03-25 10:02:02 +01:00
Evan Prodromou
22bf63bb46 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-24 18:05:32 -04:00
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
fd4d535d91 add a fix1 to the version number 2011-03-23 14:34:32 -04: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
Shashi Gowda
f81aaa5375 Blend people tags UI into the new theme! 2011-03-22 12:18:12 +05:30
Shashi Gowda
bf121a695a Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	classes/Profile.php
2011-03-22 07:59:06 +05:30
Shashi Gowda
31c1177970 Merge branch '1.0.x' into people_tags_rebase
Conflicts:
	EVENTS.txt
	actions/peopletag.php
	actions/tagother.php
	classes/Notice.php
	js/util.js
	js/util.min.js
	lib/accountprofileblock.php
	lib/action.php
	lib/activityobject.php
	lib/command.php
	lib/personalgroupnav.php
	plugins/OStatus/OStatusPlugin.php
2011-03-22 07:56:25 +05:30
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
Brion Vibber
089c10d5d8 get_class -> class_exists for class loading hack (fixme for 1.0: make sure all these classes are in own files) 2011-03-21 11:43:02 -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
1fdc72f595 Merge branch '0.9.x' 2011-03-18 14:11:27 -07:00
Brion Vibber
df4afee86c 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 14:09:41 -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
a430540155 configuration option to bust frames or not 2011-03-17 11:32:14 -04:00
Evan Prodromou
531400be6f upgrade lifecycle to release 2011-03-17 09:58:41 -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
Evan Prodromou
4c0a746831 neo is the default 2011-03-07 15:00:43 -05:00
Evan Prodromou
0b95d68910 cleaner is the new default theme (for now) 2011-03-07 14:32:21 -05:00
Evan Prodromou
55b4303ea4 Merge branch '3cl' into 1.0.x 2011-03-07 14:30:30 -05:00
Evan Prodromou
6862f765f6 ActivityObject uses Notice's object_type by default 2011-03-07 14:21:16 -05:00
Evan Prodromou
618a658985 show correct notice in output 2011-03-07 14:06:46 -05:00
Evan Prodromou
998733cdd4 UR FACE 2011-03-07 12:49:20 -05:00
Evan Prodromou
2272044ad1 wrapper div for primary nav 2011-03-07 12:42:51 -05:00
Evan Prodromou
b751ab70fb Revert "abstraction for starting and ending a menu"
This reverts commit b4f1281799.
2011-03-07 12:39:52 -05:00
Evan Prodromou
6ab7329e85 Revert "primarynav uses menustart and menuend"
This reverts commit 8e03c83a57.
2011-03-07 12:39:31 -05:00
Evan Prodromou
8e03c83a57 primarynav uses menustart and menuend 2011-03-07 12:37:07 -05:00
Evan Prodromou
b4f1281799 abstraction for starting and ending a menu 2011-03-07 12:36:45 -05:00
Evan Prodromou
876c7a42c8 remove adminpanelnav from adminpanelaction module 2011-03-07 12:36:04 -05:00
Evan Prodromou
cf1a4d8292 Input form switcher works
This change adds the input form switcher, which adds a navigation menu
across the top of the input form, letting you switch between different kinds of input.

The input menu doesn't yet look like a nice set of tabs; it could use some love.
2011-03-07 04:57:49 -05:00
Evan Prodromou
7aa55f8200 made the input-form switcher work, kinda 2011-03-07 03:34:20 -05:00
Evan Prodromou
52952d13c0 first (non-working) move to microapp structure for bookmarks 2011-03-07 03:34:20 -05:00
Evan Prodromou
0c3d27046e move microapp.php to microappplugin.php 2011-03-07 03:34:20 -05:00
Evan Prodromou
a7b6f7a669 add a couple of methods to MicroAppPlugin 2011-03-07 03:34:20 -05:00
Evan Prodromou
97dc0260d9 first pass at microapp class 2011-03-07 03:34:20 -05:00
Evan Prodromou
457d76c0ca submenu headers are <h3> elements 2011-03-06 17:32:26 -05:00
Shashi Gowda
b176f0fb58 tag / untag commands for people tags 2011-03-07 00:46:42 +05:30
Shashi Gowda
382e4d2cdb people tag actions 2011-03-07 00:43:31 +05:30
Shashi Gowda
f446db8e2a people tag UI elements 2011-03-07 00:39:24 +05:30
Shashi Gowda
371e923c37 Twitter lists compatible people tags api 2011-03-07 00:36:06 +05:30
Shashi Gowda
4b8ee81ca9 Utility functions for people tags 2011-03-06 23:33:39 +05:30
Zach Copley
1256181d36 Merge branch '1.0.x' into directory
* 1.0.x:
  * translator documentation updated. * superfluous whitespace removed. * small refactoring in noticeform.php to allow proper translator hints.
  * translator documntation updated * superfluous whitespace remove * minor L10n and i18n updates
  Cleanup & minification for migration to reusable notice form in inline replies. Yay!
  Work in progress: inline reply form reusing the main reply form now inserts the successful result more or less right
  style fixes for new notice form being reused in reply area
  Reusable notice form fixes for geolocation
  Loading the original form instead of faking up our own. Sorta works but not pretty :D
  Kill some more hardcoded ids...
  More hardcoded id cleanup in notice form...
  'link' to 'links' in feed document
2011-03-05 01:57:50 -08:00
Zach Copley
5f1a795b73 Add some other ways to order searches to the base search engine class 2011-03-05 01:54:47 -08:00
Siebrand Mazeland
a127ba78a8 * translator documentation updated.
* superfluous whitespace removed.
* small refactoring in noticeform.php to allow proper translator hints.
2011-03-05 00:24:19 +01:00
Brion Vibber
5358f78e82 Reusable notice form fixes for geolocation 2011-03-04 14:27:55 -08:00
Brion Vibber
d8e30fa495 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-04 13:41:01 -08:00
Brion Vibber
56d5c4a4d1 More hardcoded id cleanup in notice form... 2011-03-04 13:40:33 -08:00
Evan Prodromou
8dbbee92e9 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-03-04 16:31:58 -05:00
Evan Prodromou
1c87e32cd1 'link' to 'links' in feed document 2011-03-04 16:09:59 -05:00
Evan Prodromou
316fd01e20 format Atom datetimes as UTC 2011-03-04 15:27:37 -05:00
Evan Prodromou
64925a275e format Atom datetimes as UTC 2011-03-04 15:26:25 -05:00
Brion Vibber
b58aa29168 Notice form cleanup: removing hardcoded id from counter references; prep for reusable notice forms. 2011-03-03 17:15:17 -08:00
Brion Vibber
77a3017e9e Can now set $config['site']['minify'] = false; to use util.js and friends non-minified; aids in browser-side debugging. 2011-03-03 16:53:16 -08:00
Brion Vibber
5a404ee713 'Comment' -> 'Reply' in inline comment/reply messages 2011-03-03 12:26:07 -08:00
Evan Prodromou
6b5d183bac beta3 2011-03-03 12:10:43 -05:00
Evan Prodromou
418abd8da4 Revert "New version, dev cycle"
This reverts commit 96d0141848.
2011-03-03 12:09:51 -05:00
Evan Prodromou
85610d0881 no notice form on settings pages 2011-03-02 22:09:26 -05:00
Evan Prodromou
53db4c2b85 move notice form to content block 2011-03-02 22:09:11 -05:00
Brion Vibber
e42db528e2 More fixes for 'fav' IM command: don't die with a fatal error if the notice has already been favored, and don't spew a warning when checking for user ID match. 2011-03-01 17:17:41 -08:00
Brion Vibber
5519da95fd Merge branch 'master' into 0.9.x 2011-03-01 17:11:29 -08:00
Brion Vibber
3eb900e31f More fixes for 'fav' IM command: don't die with a fatal error if the notice has already been favored, and don't spew a warning when checking for user ID match. 2011-03-01 17:09:41 -08:00
Brion Vibber
764d069ccd Clean up threaded notices vs replies classes, and fixed realtime's threaded behavior to only run on threaded lists 2011-03-01 16:08:37 -08:00
Evan Prodromou
5bbcededa7 move inbox/outbox to object menu 2011-03-01 16:48:20 -05:00
Evan Prodromou
815a9a0c3e fixup link to your profile 2011-03-01 16:37:21 -05:00
Evan Prodromou
c4b53b4aef don't show full profile menu all the time 2011-03-01 16:35:25 -05:00
Brion Vibber
35ce314bfb Hide context entries in threaded lists; it's redundant (and if there's more than a few messages, we have the context link still :D)
Also hides them via CSS for new ajax additions
2011-03-01 13:30:38 -08:00
Evan Prodromou
0fef2cb66d personal group nav uses current user 2011-03-01 16:04:36 -05:00
Evan Prodromou
c925a4d181 search actions show the search menu in object area 2011-03-01 15:54:43 -05:00
Evan Prodromou
805d14577d subscriber actions show the profile menu in object area 2011-03-01 15:54:32 -05:00
Evan Prodromou
0e1a221423 add object menu to actions, default empty 2011-03-01 15:52:46 -05:00
Evan Prodromou
7d77bdcc48 move top-level navigation to default local navigation 2011-03-01 06:30:51 -05:00
Evan Prodromou
dba2aaa59f new mega-menu for default local navigation 2011-03-01 06:30:27 -05:00
Evan Prodromou
d8cbc20a79 method to show submenus 2011-03-01 06:29:24 -05:00
Evan Prodromou
a64c6c5015 all nav menus use menu superclass 2011-03-01 06:00:03 -05:00
Evan Prodromou
d6d3dfda81 AdminPanelNav has own module, uses Menu 2011-03-01 05:51:00 -05:00
Evan Prodromou
903053caec primary and secondary nav use menu superclass 2011-03-01 05:46:03 -05:00
Evan Prodromou
c8d6a77d8a common superclass for menu widgets 2011-03-01 05:45:38 -05:00
Brion Vibber
082ddf365e Cut repeats out of the magic handling 2011-02-28 17:23:01 -08:00
Brion Vibber
407cc851cc Collapse long threaded displays with a link to the convo view (todo: turn it into an ajax loader for inline expansion) 2011-02-28 17:13:54 -08:00
Brion Vibber
59a0b2a82d Merge branch '1.0.x' of gitorious.org:statusnet/mainline into inline-comments
Conflicts:
	js/util.min.js
2011-02-28 16:18:38 -08:00
Brion Vibber
62712b794a More interactive magic for inline replies: placeholder at the end of list 2011-02-28 16:13:16 -08:00
Zach Copley
f3ffc8bc46 Missed a couple of conflicts 2011-02-28 15:51:46 -08:00
Brion Vibber
3b456b4ffe Paging fix for threaded notice lists 2011-02-28 15:40:43 -08:00
Zach Copley
b7d0746694 Merge branch '0.9.x' into 1.0.x
Conflicts:
	actions/confirmaddress.php
	actions/emailsettings.php
	actions/hostmeta.php
	actions/imsettings.php
	actions/login.php
	actions/profilesettings.php
	actions/showgroup.php
	actions/smssettings.php
	actions/urlsettings.php
	actions/userauthorization.php
	actions/userdesignsettings.php
	classes/Memcached_DataObject.php
	index.php
	lib/accountsettingsaction.php
	lib/action.php
	lib/common.php
	lib/connectsettingsaction.php
	lib/designsettings.php
	lib/personalgroupnav.php
	lib/profileaction.php
	lib/userprofile.php
	plugins/ClientSideShorten/ClientSideShortenPlugin.php
	plugins/Facebook/FBConnectSettings.php
	plugins/Facebook/FacebookPlugin.php
	plugins/NewMenu/NewMenuPlugin.php
	plugins/NewMenu/newmenu.css
2011-02-28 15:39:43 -08:00
Brion Vibber
e89bffc3f1 Work in progress: setting up inline reply mini-form in js 2011-02-28 15:38:54 -08:00
Brion Vibber
fb9418b99d some quick visual tweaks 2011-02-28 12:50:26 -08:00
Brion Vibber
2370208540 quickie inline reply posting form 2011-02-28 12:41:03 -08:00
Brion Vibber
2c03dd569c visual tweaks for convo view 2011-02-28 12:20:47 -08:00
Brion Vibber
31bf2cd6b9 quick hack -- switch order on inline convo view (comments in forward chron) 2011-02-28 11:59:37 -08:00
Brion Vibber
d806907b81 Initial test threaded convo view inline on public, all timelines 2011-02-28 11:53:48 -08:00
Brion Vibber
8cdf8cf33e Fix for schema_version checksum table when checking schemas before the table's been added. :) 2011-02-28 11:19:47 -08:00
Brion Vibber
836f4ea6ea fix - Notice: Undefined variable: action in /Library/WebServer/Documents/mublog/lib/action.php on line 521 2011-02-28 11:02:38 -08:00
Brion Vibber
2bd9532ebe Merge branch 'master' into 0.9.x 2011-02-28 10:18:18 -08:00
Brion Vibber
6a6584741f Fix for ticket #2248: flickr etc URLs that contain @ in the paths etc no longer accidentally trip the mailto: thingy 2011-02-25 15:46:35 -08:00
Siebrand Mazeland
4e3537a12b * add support for Friulian
* move a line around for sorting reasons
2011-02-26 00:34:46 +01:00
Brion Vibber
880b1b666e Merge branch 'master' into 0.9.x 2011-02-25 12:24:18 -08:00
Brion Vibber
55b1f3d84c Scalability work on user backup stream generation.
UserActivityStream -- used to create a full activity stream including subscriptions, favorites, notices, etc -- normally buffers everything into memory at once. This is infeasible for accounts with long histories of serious usage; it can take tens of seconds just to pull all records from the database, and working with them all in memory is very likely to hit resource limits.
This commit adds an alternate mode for this class which avoids pulling notices until during the actual output. Instead of pre-sorting and buffering all the notices, empty spaces between the other activities are filled in with notices as we're making output. This means more smaller queries spread out during operations, and less stuff kept in memory.

Callers (backupaccount action, and backupuser.php) which can stream their output pass an $outputMode param of UserActivityStream::OUTPUT_RAW, and during getString() it'll send straight to output as well as slurping the notices in this extra funky fashion.
Other callers will let it default to the OUTPUT_STRING mode, which keeps the previous behavior.

There should be a better way to do this, swapping out the stringer output for raw output more consitently.
2011-02-25 12:15:38 -08:00
Brion Vibber
0291c6f7cd Merge branch 'unicode-tag' into 0.9.x 2011-02-25 10:17:03 -08:00
Brion Vibber
59a413cf5e Merge branch 'master' into 0.9.x 2011-02-25 10:16:00 -08:00
Evan Prodromou
81bcdfe2be Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2011-02-25 08:02:26 -08:00
Evan Prodromou
ecfb3b9288 allow passing an url to email confirmation function 2011-02-25 08:00:55 -08:00
Zach Copley
17176ee445 Merge branch 'json-activities' into 0.9.x 2011-02-25 00:15:26 -08:00
Brion Vibber
295e2bde56 Unicodize a couple regexes for tags: fixes linking & detection of non-ASCII tags that match the current regexes.
(Checks for 'letter' and 'number' characters, underscore, dash, and period.)
2011-02-23 16:37:55 -08:00
Brion Vibber
1be2226019 replace router regexes with tags with a fixed chunk that takes any non-/ char. This'll let other code decide what's a valid tag. 2011-02-23 16:32:56 -08:00
Brion Vibber
2a42dac72a Partial implementation for ticket #2442: MobileProfile plugin should allow manual switching between regular and mobile rendering modes
http://status.net/open-source/issues/2442

Notes:
* Mapstraction causes JavaScript errors in XHTML mode, breaking our code if we're run later so the link doesn't work to get back to Desktop.
* not 100% sure how safe feature detection is here?
* Currently will be useless but visible links if no JS available; need to fall back to server-side for limited browsers
2011-02-21 16:10:07 -08:00
Evan Prodromou
f743a233ab Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2011-02-21 16:36:12 -05:00
Brion Vibber
2e1c7c779d Merge branch 'master' into 0.9.x 2011-02-21 12:33:47 -08:00
Brion Vibber
eb7e3ee528 Fixes for ticket #3052: some commands started triggering when extra text is supposed to suppress them
Regressions caused by bad refactoring in commit 21feac3bea.
Test cases in tests/CommandInterpreterTest.php were made against the pre-refactoring code, and now check out with the fixed code.
Failures were caused by not changing logic structure when moving from multiple exit points (each if point would return directly with a null or an object) to setting a result variable and then falling through to a common exit point. Without the if statements being restructured, the result variable would just get overridden by the next case.
2011-02-21 12:12:10 -08:00
Evan Prodromou
1525acdca1 Extend authorization framework to cover login and API use
I've extended the rights framework (centering on the Right class and Profile::hasRight()) to cover
Web login and API use. This will make it possible to prevent login and API use by users.

I added two new Right constants to the Right class: WEBLOGIN and API. I check these rights using
Profile::hasRight() when initializing users. If the rights check fails, I throw an exception.

I created a new AuthorizationException class for this particular
exception, in order to allow a different UI for these kinds of exceptions (or whatever).
2011-02-21 10:20:42 -05:00
Zach Copley
93e3d49044 Activity Streams JSON: inReplyTo objects weren't being output. Fixed. 2011-02-18 18:52:49 -08:00
Zach Copley
b741184d9b Add provider to Activity Streams JSON 2011-02-18 18:10:21 -08:00
Zach Copley
68017392ff Make other timeline API endpoints output Activity Streams JSON 2011-02-18 15:43:40 -08:00
Zach Copley
da42d36d7f Activity Streams JSON - express to and in-reply-to stuff as person objects 2011-02-18 10:02:41 -08:00
Zach Copley
20e414665d Add tags to Activity Streams JSON 2011-02-18 09:29:49 -08:00
Zach Copley
60f62199a1 Add context to Activity Streams JSON 2011-02-18 00:51:08 -08:00
Zach Copley
11f77b2fca Add PoCo to Activity Streams JSON 2011-02-17 22:36:14 -08:00
Zach Copley
97af5e1954 Add geopoint (GeoJSON) extension to AS JSON output 2011-02-17 20:12:28 -08:00
Zach Copley
e84b01c76f avatars -> avatarLinks 2011-02-17 19:34:39 -08:00
Zach Copley
e98e443605 Merge branch '0.9.x' into json-activities
* 0.9.x:
  * update translator documentation. * remove superfluous whitespace. * tab to spaces. * add FIXME for undocumented class.
  * update translator documentation. * remove superfluous whitespace. * L10n updates. * small refactoring in publicrss.php. * remove PHP4-isms
  Localisation updates from http://translatewiki.net.
  Double quotes to single quotes.
  * improve L10n consistency for English. For example proper punctuation for all button and label titles. * fix some i18n bugs (in-message variables). * update/add translator documentation. * remove superfluous whitespace.
  add path separators for Plugin::path()
  argument to send email summary to all users on all sites
  fix indentation in siteemailsummaryhandler
  fix indentation in sendemailsummary.php
  fix indentation in Email_summary_status.php
  fix indentation in EmailSummaryPlugin.php
  fix indentation in usermailsummaryhandler.php
2011-02-17 19:11:29 -08:00
Zach Copley
29ce5dd19a Reinstate profile_info in author/actor 2011-02-17 19:02:57 -08:00
Zach Copley
a199192ebf Add avatars and notice info 2011-02-16 18:55:13 -08:00
Zach Copley
b1675ff175 Rudimentary support for enclosures and some fiddling 2011-02-16 18:14:58 -08:00
Zach Copley
ddda31038e Use simple relative object and verb references 2011-02-16 16:44:02 -08:00
Zach Copley
e4d5c47ebf Add image to JSON ActivityObject and title + links to the JSON document 2011-02-16 16:21:46 -08:00
Evan Prodromou
be682a3f8c Merge branch 'master' into 0.9.x 2011-02-16 13:56:55 -05:00
Evan Prodromou
39c6e34098 add path separators for Plugin::path() 2011-02-16 13:56:30 -05:00
Zach Copley
a1b436a8c6 First cut at some JSON Activity Streams output 2011-02-15 20:25:39 -08:00
Evan Prodromou
96d0141848 New version, dev cycle 2011-02-15 12:26:40 -05:00
Zach Copley
7de1aaf86d Atom - output nickname for atom:name in atom:author 2011-02-13 00:40:28 +00:00
Evan Prodromou
f6e614b894 add plugins/sslpath setting, default to site path/plugins 2011-02-11 15:58:47 -05:00
Evan Prodromou
ff2553b9c7 get the subject first if you go to the feed 2011-02-11 03:01:24 +00:00
Evan Prodromou
fc317f8b72 check legacy <actor> and <subject> first from feed 2011-02-11 02:59:18 +00:00
Zach Copley
df19e88323 Atom output - Reinstate activity:actor and activity:subject
w/deprecation warnings. Also add statusnet:profile_info back into
author/actor.
2011-02-09 23:18:14 -08:00
Brion Vibber
dc5daa237e Further tweak for ssl paths in plugin check (sslserver may be set but empty) 2011-02-09 00:09:25 -08:00
Brion Vibber
9efedfc217 Tweak to use site/server fallback when no plugins/sslserver or site/sslserver and generating plugin CSS 2011-02-09 00:04:01 -08:00
Brion Vibber
a277a003b9 0.9.7beta2 (for js update) 2011-02-08 22:55:15 -08:00
Evan Prodromou
399977aebf Merge remote branch 'origin/pluginstatic' into testing 2011-02-08 13:39:17 -05:00
Evan Prodromou
ecf0dec0c1 change alpha1 to beta1 2011-02-08 11:53:30 -05:00
Evan Prodromou
3b19b63bab correctly show the source of messages in a message list 2011-02-08 11:32:35 -05:00
Evan Prodromou
f500d4ea5b Create and use MessageList widget
Our mailbox actions (inbox and outbox) were doing their own display of
messages. This was causing issues with especially showmessage, which
since the more rigourous nickname checks were added, no longer works as
a mailbox subclass.

I've taken the time to rip out the message listing code from MailboxAction
and moved it to a MessageList widget. The different mailboxes now have their
own subclasses that show the correct profile in the list.
2011-02-08 11:11:21 -05:00
Brion Vibber
c858e2bc34 Issue #3025: string -> boolean for profile_background_tile entry in JSON user results from Twitter-compat API
This entry was using the strings 'true' and 'false' instead of literal booleans, which could confuse clients expecting literal booleans as in other places and on Twitter in this place.
2011-02-07 14:38:35 -08:00
Evan Prodromou
cd536e3099 move MESSAGES_PER_PAGE to common.php 2011-02-05 16:18:59 -05:00
Evan Prodromou
d7b2b141be commands are always lowercased in interpreter 2011-02-03 17:06:15 -05:00
Evan Prodromou
21feac3bea hooks for commands 2011-02-03 17:04:16 -05:00
Evan Prodromou
99db745f9d Merge branch 'testing' into privategroup
Conflicts:
	lib/groupeditform.php
2011-02-03 12:56:55 -05:00
Evan Prodromou
f06e661a9b new methods for paths to plugin static files 2011-02-03 10:36:25 -05:00
Brion Vibber
ec93184d7b Merge branch '3022' into testing 2011-02-01 14:37:46 -08:00
Brion Vibber
7977454456 Ticket #3022: fix formatting output for ApiAction::clientError and ApiAction::serverError when caller doesn't explicitly pass the format.
Format's already available as a member variable, so use it!

Fixes some error reponses in api/statusnet/groups/leave.json which were coming through as XML.
May fix some others as well.
2011-02-01 14:35:42 -08:00
Zach Copley
b595c3f0d5 API - Return integers instead of strings for group IDs and DM sender/recipients in JSON output 2011-01-31 21:01:03 -08:00
Brion Vibber
b46ce3b67d Fix "$s"s that slipped into double-quoted translatable strings' '%1$s' pattern. Switch to single-quote to fix. 2011-01-31 14:00:22 -08:00
Brion Vibber
de7726dd00 Performance counters: records number of total and unique cache get/set/incr/deletes and queries, and logs to syslog.
$config['site']['logperf'] = true; // to record & dump total hits of each type and the runtime to syslog
$config['site']['logperf_detail'] = true; // very verbose -- dump the individual cache keys and queries as they get used (may contain private info in some queries)

Seeing 180 cache gets on a timeline page seems not unusual currently; since these run in serial, even relatively small roundtrip times can add up heavily.
We should consider ways to reduce the number of round trips, such as more frequently storing compound objects or the output of processing in memcached.
Doing parallel multi-key lookups could also help by collapsing round-trip times, but might not be easy to fit into SN's object model. (For things like streams this should actually work pretty well -- grab the list, then when it's returned go grab all the individual items in parallel and return the list)
2011-01-31 13:12:56 -08:00
Brion Vibber
b896a37da0 Use cachedQuery on File::getAttachments, plus other cleanups:
* dropped unnecessary join on notice table
* made the function actually static, since it makes no sense as an instance variable. The only caller (in AttachmentList) is updated.
2011-01-31 12:22:50 -08:00
Brion Vibber
47f31bce47 Merge branch 'master' into testing
Conflicts:
	classes/Profile.php
2011-01-31 11:50:06 -08:00
Brion Vibber
9573f725c1 Merge branch '0.9.x' into testing 2011-01-31 11:08:15 -08:00
Evan Prodromou
adaad5bb5e Merge branch 'runtime' into testing 2011-01-31 14:02:17 -05:00
Evan Prodromou
ca4bf54131 add a comment to show runtime at the end of a page 2011-01-31 13:59:38 -05:00
Siebrand Mazeland
9c8b2b567f * Add/update translator documentation.
* L10n tweaks (mostly domain MENU assignments).
* Remove superfluous whitespace.
2011-01-30 19:03:55 +01:00
Siebrand Mazeland
c29a938895 * update punctuation for translator documentation.
* remove superfluous whitespace.
2011-01-30 18:48:09 +01:00
Siebrand Mazeland
7db24c32d6 * fix some i18n and L10n issues
* update/add translator documentation
* remove superfluous whitespace
2011-01-29 00:33:13 +01:00
Brion Vibber
433ec21119 Add $config['sessions']['gc_limit'] to limit how much work we do in each session GC; defaulting to killing 1000 sessions at a time. 2011-01-27 12:08:24 -08:00
Evan Prodromou
5fee38b025 events for modifying group edit form 2011-01-26 18:21:43 -07:00
Brion Vibber
54e98ffe22 Fix ticket #3013: MAX_FILE_SIZE hidden fields were incorrectly placed
In order to apply to PHP's POST processing, the MAX_FILE_SIZE field must appear *before* the file upload field. They were incorrectly placed after, where they had no effect on POST processing.
2011-01-26 15:49:57 -08:00
Brion Vibber
621a7cb36d Merge branch '0.9.x' into testing 2011-01-25 12:57:49 -08:00
Brion Vibber
820dd293c9 Fix for ticket #3007: .bmp avatar uploads weren't being properly converted to PNG in all cases
Part of the reported issue was previuosly fixed by dc497ed0 (smaller size images being blanked).
This commit fixes the remaining bug with original-size avatars being left as BMP (which could include the 96px size for instance, which could cause problems in browsers not supporting BMP natively)

Added ImageFile::copyTo() as a convenient alias for resizeTo() when not resizing; this performs the BMP/XPM/XBM->PNG conversion if needed, or copies the original file.
Copying instead of using move_uploaded_file() is fine here since:
a) the files are cleaned up on script completion anyway (vs moving to remove it)
b) we're already performing getimagesize() and possibly load/resize on the file before this point (vs needing to move the file into a usable area to work with open_basedir restrictions that prevent working directly with uploaded files in the temp dir; since this would fail anyway, we lose nothing)

ImageFile::preferredType() now works on $this->type instead of asking for one, to make it handier to use from outside. (This is still needed in order for calling code to generate a target filename.)

Recommended for future:
* additional consolidation between the various ways of uploading avatars (touched avatarsettings, grouplogo, and apiaccountupdateprofileimage with similar minor changes)
* consolidate type checks and file naming into Avatar class
2011-01-24 12:22:47 -08:00
Evan Prodromou
570c7b63a2 Add internal URL shortener 2011-01-23 16:49:12 -05:00
Evan Prodromou
592e2be5e1 Make new menu the default menu
There's a new menu layout in this version of the software. It was
implemented as a plugin in 0.9.x to avoid clashes with existing themes,
but we're going to break that compatibility in this version, so we're just going for it.

This change involved moving all the changes in NewMenuPlugin into the
default code that was calling it. In addition, since
accountsettingsaction and connectsettingsaction differed only by menu,
I removed them, changed all references to them to the settingsmenu, and moved
the combined nav to its own class.

Let's put that episode behind us.

The CSS shim that was loaded by NewMenuPlugin for certain themes and certain actions
was removed.
2011-01-23 12:35:35 -05:00
Evan Prodromou
e53793edf4 make 'admin' a safe user name
'admin' is a pretty common username that people try when installing;
it was blacklisted because all of our admin panels were at /admin/*,
which would conflict with the admin user's namespace.

Changed the location of all admin panels to /panel/*, blacklisted the
nickname 'panel', and allowed 'admin'. Tested with a fresh install;
seems to work great.
2011-01-23 10:18:35 -05:00
Siebrand Mazeland
6c0e43be9e L10n consistency updates in wording and punctuation.
Translator documentation added/updated.
Superfluous whitespace removed.
2011-01-21 22:45:37 +01:00
Siebrand Mazeland
08cb576b52 Add translator documentation
Fix L10n issues
Remove superfluous whitespace
2011-01-21 16:35:00 +01:00
Brion Vibber
6fa0bea76d Merge branch '0.9.x' into testing 2011-01-20 15:12:57 -08:00
Brion Vibber
6455461c19 Merge branch 'master' into 0.9.x 2011-01-20 15:08:31 -08:00
Zach Copley
05361bb686 OAuth: Fix rare problem in which request tokens were sometimes being
returned as access tokens.
2011-01-20 10:44:31 -08:00
Zach Copley
3a24b95edb Fix a couple spelling mistakes in comments and remove redundant statement terminator 2011-01-20 10:44:05 -08:00
Zach Copley
882b6862a3 OAuth: Fix rare problem in which request tokens were sometimes being
returned as access tokens.
2011-01-19 23:00:24 -08:00
Zach Copley
114d9ebf28 Fix a couple spelling mistakes in comments and remove redundant statement terminator 2011-01-19 22:59:51 -08:00
Zach Copley
1543af748c Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline: (63 commits)
  Add a scary 'experimental feture' warning & are-you-sure prompt on moveuser.php
  fix wrong datatypes (saving string instead of array) in AtomPub notice processing
  Account moving is a background activity
  return a 409 Conflict when subscription already exists
  OStatusPlugin does discovery in Profile::fromURI()
  considerably more logging and error checking in AccountMover
  add a log method to AccountMover
  normalize accounts and check for return in HTTP for moving
  move account-moving classes to their own libraries
  execution protection on discovery.php
  PHPCS discovery.php
  Move discovery library from OStatus plugin to core
  Revert "Revert "0.9.7alpha1""
  first example of moving a user
  Parse properties of links in XRD files
  Add the Atom username to the XRD output
  preserve activities in object
  let callers pass in an XMLOutputter to output to
  execution protection on discovery.php
  PHPCS linkheader.php
  ...
2011-01-19 22:58:07 -08:00
Zach Copley
e475bdfe77 OAuth: Fix rare problem in which request tokens were sometimes being
returned as access tokens.
2011-01-19 22:55:00 -08:00
Zach Copley
6eca8188b6 Fix a couple spelling mistakes in comments and remove redundant statement terminator 2011-01-19 15:52:18 -08:00
Brion Vibber
963e7576f2 Merge branch 'testing' into moveaccount 2011-01-19 10:41:14 -08:00
Brion Vibber
397f7cd0d8 Refactor profile sidebar statistics output so plugins can hook it and add entries. 2011-01-18 13:32:00 -08:00
Brion Vibber
ff6df8061b Refactor profile sidebar stats generation: factor out giant chunk of repeated method calls 2011-01-18 13:12:08 -08:00
Brion Vibber
9be770e609 Start cleaning up profile sidebar: link the header text on subscription/subscriber/groups sections to the tabs so users don't have to dance around looking for the link if they don't have enough to trigger a 'more' link.
Consolidated some of that link generation; sooooo much more dupe code to kill in this section!
2011-01-18 12:52:38 -08:00
Brion Vibber
56e2bc10d9 Cleanup stray PHP 4-style references in hook calls for navigation bars. We can't replace the live action from here, and don't need a reference to keep the object mutable. Dumping the references helps ensure we don't end up getting errors when things calling the hooks might forget to use the reference and the PHP error reporting settings expose this fact at us. 2011-01-18 12:34:27 -08:00
Evan Prodromou
2a59453d4c Merge branch 'testing' into moveaccount 2011-01-17 17:34:03 -05:00
Evan Prodromou
fb681990d9 Account moving is a background activity 2011-01-17 17:31:56 -05:00
Evan Prodromou
dce2824747 considerably more logging and error checking in AccountMover 2011-01-17 15:25:58 -05:00
Evan Prodromou
feb3ae4c09 add a log method to AccountMover 2011-01-17 15:06:15 -05:00
Evan Prodromou
b11426dbf4 normalize accounts and check for return in HTTP for moving 2011-01-16 17:17:55 -05:00
Evan Prodromou
905aded81a move account-moving classes to their own libraries 2011-01-16 17:17:55 -05:00
Evan Prodromou
81079fe522 execution protection on discovery.php 2011-01-16 17:17:55 -05:00
Evan Prodromou
fafb6733db PHPCS discovery.php 2011-01-16 17:17:55 -05:00
Evan Prodromou
1152b0c3e8 Move discovery library from OStatus plugin to core 2011-01-16 17:16:01 -05:00
Evan Prodromou
a953b93194 Revert "Revert "0.9.7alpha1""
This reverts commit fd20554651.

Conflicts:

	lib/common.php
2011-01-16 17:15:26 -05:00
Evan Prodromou
fd7dd9b10f Parse properties of links in XRD files 2011-01-16 17:15:26 -05:00
Evan Prodromou
8653d8a252 Add the Atom username to the XRD output 2011-01-16 17:15:26 -05:00
Evan Prodromou
aa9137ca71 preserve activities in object 2011-01-16 17:15:26 -05:00
Evan Prodromou
e433e559f8 let callers pass in an XMLOutputter to output to 2011-01-16 17:15:26 -05:00
Evan Prodromou
2a54919d1f execution protection on discovery.php 2011-01-16 17:15:26 -05:00
Evan Prodromou
0649b96e9b PHPCS linkheader.php 2011-01-16 17:15:26 -05:00
Evan Prodromou
02cf7d47f8 PHPCS discovery.php 2011-01-16 17:15:26 -05:00
Evan Prodromou
abf694ae5b move linkheader.php to core 2011-01-16 17:15:26 -05:00
Evan Prodromou
7d1f609bf0 Move discovery library from OStatus plugin to core 2011-01-16 17:15:26 -05:00
Evan Prodromou
39cf147a77 remove dt/dd pairs for license blocks 2011-01-14 15:56:25 -05:00
Siebrand Mazeland
02f005fe5f * L10n updates
* translator documentation added
2011-01-14 21:53:39 +01:00
Evan Prodromou
bbaf9d7f42 some fixes for new no-dl layout 2011-01-14 15:53:02 -05:00
Siebrand Mazeland
bf40b3e694 * remove i18n for debug message.
* add i18n for some exceptions.
* add translator documentation.
* L10n updates.
* remove superfluous whitespace.
2011-01-14 21:41:36 +01:00
Evan Prodromou
5c25364141 remove extraneous <dl> and <dt> tags 2011-01-14 15:36:06 -05:00
Evan Prodromou
ca75adf408 Update version number and codename 2011-01-12 18:14:57 -05:00
Evan Prodromou
f9b2feb7f5 Merge branch '0.9.x' into 1.0.x
Conflicts:
	README
2011-01-12 18:05:56 -05:00
Brion Vibber
cb56f445b8 Ticket #2166: accept aliases for local group names in API
Also simplifies the code by using User_group::getForNickname instead of duplicating half of it :D
2011-01-07 16:23:54 -08:00
Brion Vibber
5616bfb5ff Fix warning in subscribers/subscriptions list pages where we attempted to call free() an ArrayWrapper after it was used up, thus trying to forward the call to a nonexistent object.
Removed the free calls (unneeded since destructors now work), and added an error check w/ logging & an exception for future attempts to forward calls to nonexistent object.
2011-01-07 15:29:30 -08:00
Brion Vibber
0ec07e9c65 Use ReflectionFunction to check for a present-but-disabled dl() function instead of manually parsing the disable_functions php.ini setting.
We were checking the list as comma-delimited (per the description of it as comma-delimited), but in fact spaces are also accepted, and who knows what else.
2011-01-07 14:48:40 -08:00
Brion Vibber
35507cd039 Fix ticket #2392: sending invitation email fails when site name contains double quotes
Gotta escape quotes!
2011-01-06 17:43:00 -08:00
Brion Vibber
f2a43769e7 Fix for atom/activity streams parsing: feed's <activity:subject> was being taken at a higher priority than entry's <atom:author>, which broke OStatus group posting since we retired <activity:actor>.
Added test case to ActivityParseTests.
2011-01-06 15:13:38 -08:00
Brion Vibber
4b29d0ebb6 Merge branch 'testing-sig' of gitorious.org:~brion/statusnet/brion-fixes into testing 2011-01-05 16:04:32 -08:00
Brion Vibber
f5650806cc Switch autoloader from '__autoload' magic function name to registering our function with spl_autoload_register(); fixes compat problem with PHPUnit 3.5+ which seems to break the old __autoload 2011-01-05 23:27:17 +00:00
Evan Prodromou
60d8fcd0e7 Revert "Revert "0.9.7alpha1""
This reverts commit fd20554651.

Conflicts:

	lib/common.php
2011-01-05 10:52:44 -08:00
Evan Prodromou
a7e5c58a82 Merge branch 'revertversion' into 0.9.x 2011-01-03 10:51:42 -08:00
Evan Prodromou
fd20554651 Revert "0.9.7alpha1"
This reverts commit 3d62c1cf51.
2011-01-03 10:51:29 -08:00
Evan Prodromou
98a0d7f538 Configuration options for using an HTTP proxy
We can make a lot of HTTP requests from the server side. This change
adds some configuration options for using an HTTP proxy, which can
cache hits from multiple sites (good for status.net-like services, for example).
2011-01-03 10:38:32 -08:00
Brion Vibber
80e2f4f529 Fix up edge case in nickname processing: overlong display forms should be rejected before normalization (storage of display forms will also have fields with limited length) 2010-12-30 17:11:16 -08:00
Evan Prodromou
66f6b2a342 Events to hook for NoticeListElement <li> generation 2010-12-30 16:57:05 -08:00
Evan Prodromou
32eb4c5e2d Merge remote branch 'gitorious/0.9.x' into 1.0.x
Conflicts:
	lib/common.php
2010-12-30 15:52:08 -08:00
Evan Prodromou
3b5c3d2c84 UUID-generation tools 2010-12-30 12:15:34 -08:00
Evan Prodromou
c91b080a8e version 0.9.8dev 2010-12-29 16:18:43 -08:00
Evan Prodromou
3d62c1cf51 0.9.7alpha1 2010-12-29 16:15:57 -08:00
Evan Prodromou
d8219c07be update version to 0.9.7 2010-12-29 16:14:00 -08:00
Evan Prodromou
80191b56df Show <activity:subject> in Atom group notice feed
Version 0.9.6 and below of StatusNet assume anything in <author> is a
Person. So, we include an <activity:subject> element, which will be
checked first by those versions of the code, only for group feeds.

At some point we'll take this out, but it's useful for now.
2010-12-29 15:33:57 -08:00
Evan Prodromou
d3b10959f4 Merge branch '0.9.x' into noactor 2010-12-29 15:29:29 -08:00
Evan Prodromou
26afe79ed9 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-12-29 14:53:38 -08:00
Brion Vibber
e211e6228d Merge branch '0.9.x' into 1.0.x 2010-12-28 11:38:34 -08:00
Brion Vibber
90c7ff1983 Merge branch 'master' into 0.9.x 2010-12-28 11:37:38 -08:00
Brion Vibber
d3d9797496 Prevent group creation by silenced users.
* adds Right::CREATEGROUP
* logic in Profile::hasRight() checks for silencing
* NewgroupAction checks for the permission before letting you see or process the form in the UI
* User_group::register() logic does a low-level check on the specified initial group admin, and rejects creation if that user doesn't have the right; guaranteeing that API methods etc will also have this restriction applied sensibly.
2010-12-28 11:34:02 -08:00
Evan Prodromou
8814fb3822 Merge branch '0.9.x' into socialbookmark 2010-12-27 22:38:36 -08:00
Evan Prodromou
1996545947 add events for restoring activities 2010-12-27 22:28:20 -08:00
Evan Prodromou
6393326557 Merge branch '0.9.x' into socialbookmark 2010-12-27 20:49:31 -08:00
Evan Prodromou
c78170a275 Better job making an ActivityObject from an <atom:author> 2010-12-27 10:19:51 -08:00
Evan Prodromou
ab92496ddc Stop using <activity:subject> for atom feeds 2010-12-27 10:03:34 -08:00
Evan Prodromou
f5128015be Use outputTo() instead of asString() for including sub-elements 2010-12-27 09:46:25 -08:00
Evan Prodromou
1188d5bab2 Don't output deprecated <activity:actor> element 2010-12-27 09:25:26 -08:00
Brion Vibber
26baad63f2 Merge branch '0.9.x' into 1.0.x 2010-12-22 15:25:38 -08:00
Brion Vibber
464e0f8115 Don't trust text/xml mime types; generic content detection gives useless stuff like that on SVG images! Todo: replace the extension check in this case with better content-based checks. 2010-12-22 13:56:19 -08:00
Evan Prodromou
402cac2f93 Merge branch '0.9.x' into socialbookmark
Conflicts:
	lib/activityobject.php
2010-12-22 12:09:42 -08:00
Evan Prodromou
35d9a065fb Revert "initialize ActivityObject::$extra"
This reverts commit 3e82000d57.
2010-12-22 12:07:13 -08:00
Evan Prodromou
e11ca1e052 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-12-22 12:05:40 -08:00
Brion Vibber
448dfb69d4 Initialize $extra member to empty array on ActivityObject 2010-12-22 12:03:05 -08:00
Evan Prodromou
3e82000d57 initialize ActivityObject::$extra 2010-12-22 12:02:50 -08:00
Evan Prodromou
5fe8301129 disable account deletion by default 2010-12-22 11:25:47 -08:00
Evan Prodromou
9a6ceb3303 Merge branch 'righttoleave' into 0.9.x 2010-12-22 11:22:51 -08:00
Evan Prodromou
17515aacac drop previous in oembedhelperexception code 2010-12-20 18:32:43 -05:00
Evan Prodromou
f63355451d fixup exception constructor for php 5.2 2010-12-20 18:28:42 -05:00
Brion Vibber
f82dd4e14f Merge branch '0.9.x' into 1.0.x 2010-12-20 14:28:43 -08:00
Evan Prodromou
24f9a991b6 Let activity objects write directly to activity's own outputter 2010-12-20 13:30:33 -05:00
Evan Prodromou
6a6dd81d1f Let activity objects write directly to activity's own outputter 2010-12-20 13:26:57 -05:00
Evan Prodromou
688841fb41 ActivityObject has attribute for other elements 2010-12-19 10:16:44 -05:00
Evan Prodromou
25d03c42e6 Add events for representing objects as activity:object
Add 6 new events to make it easier to override the type of an activity object.
2010-12-18 17:24:41 -05:00
Brion Vibber
d8a3a88ec8 Merge branch '0.9.x' into 1.0.x
Conflicts:
	classes/Memcached_DataObject.php
2010-12-17 17:13:21 -08:00
Brion Vibber
fb8312ebf4 Ticket #2959: implement api/users/profile_image endpoint in Twitter-compat API 2010-12-17 17:10:52 -08:00
Evan Prodromou
573bbeced1 action to restore a user's backup from the Web interface 2010-12-17 18:56:48 -05:00
Evan Prodromou
1d6091cad2 Two bug fixes in activityimporter 2010-12-17 18:56:17 -05:00
Evan Prodromou
120802b807 change code order to make shorter lines 2010-12-17 18:55:00 -05:00
Evan Prodromou
1a81356622 I'm still not sure when it's useful to reset a notice's author 2010-12-17 17:37:43 -05:00
Evan Prodromou
4b41d05a13 Make restoreuser use new FeedImporter queue handler 2010-12-17 16:27:20 -05:00
Evan Prodromou
044763cf06 move activity importing code to two different queuehandler classes 2010-12-17 13:12:17 -05:00
Evan Prodromou
6469d75fb0 Move accountrestorer class to feed importer 2010-12-17 13:10:23 -05:00
Evan Prodromou
16fc5314fb move code to get an author object for a feed to a library from Ostatus_profile 2010-12-17 13:09:37 -05:00
Brion Vibber
e79034e163 Merge branch '0.9.x' into 1.0.x
Conflicts:
	plugins/CacheLog/locale/nb/LC_MESSAGES/CacheLog.po
2010-12-16 15:56:19 -08:00
Brion Vibber
ed24c95ac2 Fix ticket #2929: router cache now clears itself when switching singleuser mode in and out 2010-12-16 13:42:10 -08:00
Evan Prodromou
39804809dd distribute flag for Notice::saveNew() 2010-12-16 16:17:38 -05:00
Evan Prodromou
2e2519afee Move account restoration code to a shared library
Moved most of the heavy-lifting for account restoration out of
restoreuser.php and into its own class, with the hope that we'll do
the work from the Web eventually.
2010-12-15 17:53:38 -05:00
Evan Prodromou
e16cb8c03a Merge branch '0.9.x' into righttoleave 2010-12-15 16:48:28 -05:00
Brion Vibber
bf20258f4b Merge branch '0.9.x' into 1.0.x 2010-12-15 11:59:31 -08:00
Brion Vibber
6c67114198 Mark OembedAction, XrdAction, and (plugin) AutocompleteAction as read-only. Tweaked ApiStatusesShow and ApiTimelineUser to still claim read-only when hit with a HEAD request (usually link checkers or a precursor to a GET, and should be semantically equivalent to a GET without actually transferring data) 2010-12-14 16:14:15 -08:00
Brion Vibber
2ed1e9b126 AtomPub discovery fix: gets MarsEdit's auto API detection working.
Router entry for AtomPubService was slightly off, generating an incorrect link in the RSD data.
2010-12-14 14:43:50 -08:00
Evan Prodromou
d840578aa0 An action to delete your own account
The new DeleteaccountAction lets a user delete their own account
(subject to global rights set by the admin). It presents a form to
delete the account, with an "I am sure." text entry box.

It then schedules the account for deletion and logs the user out.
2010-12-14 12:38:43 -05:00