Commit Graph

2969 Commits

Author SHA1 Message Date
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
d806907b81 Initial test threaded convo view inline on public, all timelines 2011-02-28 11:53:48 -08:00
macno
dc41e3dc2d API group actions join/leave now handle same events of web UI action 2011-02-28 11:56:02 +01:00
macno
c246c17d3e If there's a DB error, script returns after catching the exception 2011-02-28 11:53:11 +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
59a413cf5e Merge branch 'master' into 0.9.x 2011-02-25 10:16:00 -08:00
Brion Vibber
f3c822cc15 Ticket #3011: Add attachments/uploads and attachments/file_quota to api/statusnet/config.(xml|json)
file_quota is adjusted from the defined value to take into account the maximum upload size limits in PHP, or cropped to 0 if uploads are disabled.
This can be used by client apps to determine maximum size for an attachment.
2011-02-21 15:52:12 -08:00
Brion Vibber
8e7c279c9e Fix issue #3035: search highlighting broke URLs in some imported messages (Twitter)
Search highlighting was being done with a regex on raw HTML text, followed by a second regex undoing replacements within double-quoted attribute values.
This broke on imported Twitter messages, as the way we generate the markup uses single quotes on the attributes, which didn't get matched by the second regex.
I've replaced this do-then-undo cycle by dividing up the import HTML into freetext spans and tags; the freetext gets replaced, while the tags are left untouched.
2011-02-21 14:14:32 -08:00
Zach Copley
68017392ff Make other timeline API endpoints output Activity Streams JSON 2011-02-18 15:43:40 -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
Siebrand Mazeland
6a1b0e2375 * update translator documentation.
* remove superfluous whitespace.
* tab to spaces.
* add FIXME for undocumented class.
2011-02-17 21:10:48 +01:00
Siebrand Mazeland
65045a26f3 * update translator documentation.
* remove superfluous whitespace.
* L10n updates.
* small refactoring in publicrss.php.
* remove PHP4-isms
2011-02-17 20:58:22 +01:00
Siebrand Mazeland
db4213a9e0 Double quotes to single quotes. 2011-02-17 09:58:07 +01:00
Zach Copley
e4d5c47ebf Add image to JSON ActivityObject and title + links to the JSON document 2011-02-16 16:21:46 -08:00
Siebrand Mazeland
a159352b65 * 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.
2011-02-17 00:40:47 +01:00
Zach Copley
a1b436a8c6 First cut at some JSON Activity Streams output 2011-02-15 20:25:39 -08:00
Evan Prodromou
2b869fa23f Merge remote branch 'origin/master' 2011-02-14 12:41:52 -05:00
Evan Prodromou
40533ee851 backup action is read-only 2011-02-14 12:41:20 -05:00
Brion Vibber
30eddaf168 Update translator comment for the url shortener "free service" marker: free as in open 2011-02-11 14:11:37 -08:00
Evan Prodromou
e903ff0525 Make ShowmessageAction not be a subclass of MailboxAction
The ShowmessageAction was using the MailboxAction to do its display of
a single direct message. Since we redid the nickname management, this
was breaking (MailboxAction requires a nickname argument,
ShowmessageAction does not, and nickname validation that used to
quietly fail now throws an exception).

I've moved the message list processing to its own widget class, so the
need to subclass MailboxAction has disappeared. I've rewritten this
action to use the MessageListItem widget, and it works fine now.
2011-02-08 11:33:36 -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
Evan Prodromou
b41816fdc1 add hooks for Group profile information 2011-02-07 14:04:58 -05:00
Evan Prodromou
8b20399932 Add a hook for group action list 2011-02-07 10:23:56 -05:00
Evan Prodromou
2cdba23df4 hook for new group through a form, same as editing 2011-02-03 16:19:41 -05:00
Evan Prodromou
99db745f9d Merge branch 'testing' into privategroup
Conflicts:
	lib/groupeditform.php
2011-02-03 12:56:55 -05: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
9573f725c1 Merge branch '0.9.x' into testing 2011-01-31 11:08:15 -08:00
Siebrand Mazeland
f41dcb644c Update translator documentation, remove FIXME and add comment. 2011-01-31 18:43:39 +01:00
Siebrand Mazeland
13991f7eb9 * add/update translator documentation.
* remove superfluous whitespace.
* update punctuation on form validation messages.
* L10n tweaks.
* add fixme for missing class documentation.
2011-01-31 18:16:55 +01:00
Siebrand Mazeland
dd5721848f * tag i18n issue.
* add translator documentation.
* remove superfluous whitespace.
2011-01-31 17:12:39 +01:00
Siebrand Mazeland
8f776ec12d * update/add translator documentation.
* fix L10n issues.
* update comments and tag missing documentation on some classes.
* remove superfluous whitespace
*
2011-01-31 16:39:54 +01:00
Siebrand Mazeland
691f374a52 * Add/update translator documentation.
* Update punctuation in form validation message for consistency.
* Remove superfluous whitespace.
2011-01-30 19:01:55 +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
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
0a3c05feb0 Fix XML API output for several profile update methods that returned a <user> entry but didn't set namespaces, causing XML parse failures. 2011-01-24 12:41:30 -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
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
Siebrand Mazeland
bcd34a7f3c Add correct punctuation for client exceptions. 2011-01-21 10:55:10 +01:00
Siebrand Mazeland
ee5479b902 Add correct punctuation for client exception. 2011-01-21 10:55:08 +01:00
Siebrand Mazeland
31895ba33a Add correct punctuation for client exception. 2011-01-21 10:55:07 +01:00
Brion Vibber
6fa0bea76d Merge branch '0.9.x' into testing 2011-01-20 15:12:57 -08:00
Siebrand Mazeland
91ee2ea3b1 Translator comments added
L10n updates
Remove superfluous whitespace
Number parameters in message when two or more are used
ClientException and ServerException should end with a period
2011-01-20 20:00:45 +01:00
Siebrand Mazeland
6658bd1893 Update translator documentation
Remove unneeded i18n for debug message
Remove superfluous whitespace
2011-01-20 18:45:13 +01:00
Siebrand Mazeland
26652d9be6 Update translator documentation
Update L10n
Remove superfluous whitespace
2011-01-20 18:40:20 +01: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
28f10ac528 Fix syntax error in error msg 2011-01-19 23:00:10 -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
a79427d86f Fix syntax error in error msg 2011-01-19 16:13:42 -08:00
Brion Vibber
4026e208c2 Add a scary 'experimental feture' warning & are-you-sure prompt on moveuser.php
As with deleteuser.php, can pass -y to bypass the prompt if you're sure.
2011-01-19 15:13:46 -08:00
Brion Vibber
64844473f8 fix wrong datatypes (saving string instead of array) in AtomPub notice processing 2011-01-19 14:26:31 -08:00
Brion Vibber
963e7576f2 Merge branch 'testing' into moveaccount 2011-01-19 10:41:14 -08:00
Evan Prodromou
aa4a8e5051 wrap account actions in a section 2011-01-17 18:04:10 -05:00
Evan Prodromou
2a59453d4c Merge branch 'testing' into moveaccount 2011-01-17 17:34:03 -05:00
Evan Prodromou
6d429ce357 return a 409 Conflict when subscription already exists 2011-01-17 15:57:04 -05:00
Siebrand Mazeland
573925c52a * number parameters in messages
* add translator documentation
* remove superfluous whitespace
* small L10n update
2011-01-15 00:24:06 +01:00
Evan Prodromou
5c25364141 remove extraneous <dl> and <dt> tags 2011-01-14 15:36:06 -05:00
Siebrand Mazeland
7903a2504f * remove i18n for debug message.
* add i18n for some server exceptions.
* add translator documentation.
* L10n updates.
* remove superfluous whitespace.
2011-01-14 21:25:46 +01:00
Siebrand Mazeland
6e1dfab1b9 * change i18n for confirmation string to make a bit more certain that the confirmation string is consistent in all messages where it is used.
* add translator documentation.
* remove superfluous whitespace.
2011-01-14 20:48:17 +01:00
Brion Vibber
74a1c9def0 Fix error handling for missing group in apigroupmembership -- was trying to call methods on the variable before we checked it, which triggers PHP fatal error 2011-01-07 16:25:58 -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
edf8101b29 allow group join/leave commands in api posting, at least for the moment (no other way to do remote subscribe without a preexisting local id number via api) 2011-01-06 13:46:39 -08:00
Brion Vibber
281076d5f6 Fix for PHP notice spew in group creation via API: set default 'mainpage' in User_group::register() rather than forcing all callers to do it manually. 2011-01-06 13:22:44 -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
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
Evan Prodromou
48edbb3023 add hooks for the account-management tools 2010-12-29 14:02:04 -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
0bcc3ee005 include saved notice in atompub events 2010-12-27 22:11:30 -08:00
Evan Prodromou
a85bbd9088 Add a user parameter to atom pub api events 2010-12-27 20:49:08 -08:00
Evan Prodromou
ab92496ddc Stop using <activity:subject> for atom feeds 2010-12-27 10:03:34 -08:00
Brion Vibber
26baad63f2 Merge branch '0.9.x' into 1.0.x 2010-12-22 15:25:38 -08:00
Brion Vibber
d5c2b0d216 When queueing is off, restore runs immediately. Indicate that we've already finished processing on the success page in this case; otherwise continue to show the 'will take a few minutes' message. 2010-12-22 14:55:13 -08:00
Brion Vibber
055630516c Merge branch 'righttoleave' into 0.9.x 2010-12-22 11:28:34 -08:00
Evan Prodromou
9a6ceb3303 Merge branch 'righttoleave' into 0.9.x 2010-12-22 11:22:51 -08:00
Brion Vibber
754bc1b616 Error handling cleanup on backup/restore:
* avoid PHP notice from using wrong variable
* show a visible error instead of blank screen if no file submitted with restore form
* avoid PHP strict warning from using calling "non-static" DOMDocument::loadXML statically
* suppress PHP warning from XML parse errors
2010-12-22 11:13:57 -08:00
Brion Vibber
5abd2b7d0c fix notice error 2010-12-22 11:06:45 -08: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
Brion Vibber
c0669969f2 fix typo in showstream 2010-12-17 16:21:33 -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
fd22f684bf syntax error in deleteaccount 2010-12-15 17:39:58 -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
82a9560a2d AtomPub fix: correct the response URL given from posting a new message (wrong parameter meant we got the main page instead of the message's URL) 2010-12-14 13:19:22 -08:00
Brion Vibber
54a0e801f3 AtomPub fixes: return '201 Created' on POST of new message; better error checking on Atom input 2010-12-14 13:12:24 -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
Evan Prodromou
6a7bf9dbf9 don't show the backup link if the user can't backup 2010-12-13 16:49:01 -05:00
Evan Prodromou
5089d3065c add an action to backup the current account in ActivityStreams format 2010-12-13 16:32:39 -05:00
Evan Prodromou
027c73a4a1 Merge branch 'activityatompub' into 0.9.x 2010-12-13 14:35:42 -05:00
Evan Prodromou
1033e1e519 add the other three feeds to AtomPub service document 2010-12-13 14:35:29 -05:00