Commit Graph

4083 Commits

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