Commit Graph

2842 Commits

Author SHA1 Message Date
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
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