Commit Graph

3724 Commits

Author SHA1 Message Date
Zach Copley
10884dcd49 Merge branch 'testing' of gitorious.org:statusnet/mainline into testing
* 'testing' of gitorious.org:statusnet/mainline:
  Merge StatusNet core localization updates from 0.9.x branch
  Fix update_po_templates.php to support the plural and context variants of _m() in plugins
  Drop HTMLPurifier; we don't need its extra capabilities and we're already using htmLawed which is lighter-weight.
  OStatus: handle update-profile Salmon pings
  Revert "Updated jQuery Form Plugin from v2.17 to v2.36"
  OStatus: disable HTMLPurify cache unless we've configured a writable path for it.
2010-02-24 16:52:16 -08:00
Zach Copley
543ff40ef6 Populate more profile information when doing a remote subscribe 2010-02-24 16:51:24 -08:00
Brion Vibber
3194a86caa Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-24 15:48:27 -08:00
Brion Vibber
59be4b8cae Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-24 15:47:51 -08:00
Brion Vibber
ec4899e617 OStatus: disable HTMLPurify cache unless we've configured a writable path for it.
Updated plugin README with available config options.
Cleanup for a bad element fallback lookup in Activity
2010-02-24 22:16:17 +00:00
Evan Prodromou
01cfe86cd2 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-24 15:54:29 -05:00
Evan Prodromou
c0d13097dd use Notice::bestUrl() to determine notice url in NoticeListItem::showNoticeLink() 2010-02-24 15:54:13 -05:00
Brion Vibber
c36bdc1ba5 - break OMB profile update pings to a background queue
- add event hooks to profile update pings
- send Salmon pings with custom update-profile event to OStatus subscribees and groups (subscribers will see it on your next post)
- fix OStatus queues with overlong transport names, should work on DB queues now
- Ostatus_profile::notifyActivity() and ::notifyDeferred() now can take XML, Notice, or Activity for convenience
2010-02-24 20:36:36 +00:00
Brion Vibber
5cabb63e4e Include <author> with actor ID and name in Activity::asString(); fixes Salmon signature on OStatus unsub pings 2010-02-24 17:36:31 +00:00
Zach Copley
3a3af6782a Add PoCo parsing and some other fixes. 2010-02-23 22:35:48 -08:00
Sarven Capadisli
25864aea9d Using the default abbr class pattern for geo microformats instead of
the shorthand that I've proposed at
http://microformats.org/wiki/geo-brainstorming#latitude_longitude_shorthand_and_geo_link

If anyone wants to pick up on where the discussion was left off or
get more implementation support by other sites and software, and be
recognized by parsers, I'd be happy to go back to the shorthand.
Because you know, it actually makes a lot of sense.
2010-02-24 00:59:00 +01:00
Zach Copley
fa178a8aa7 Add poco:displayName to Atom output for person object 2010-02-23 14:26:34 -08:00
Brion Vibber
90d34b26c6 OStatus: do PuSH subscription setup from subscribe/join event hooks, so resubscribing directly from a profile/group list works correctly if there aren't active subscriptions at the moment. 2010-02-23 20:44:27 +00:00
Craig Andrews
f0d1d07b94 Add lose <nickname> command to the command interpreter 2010-02-22 23:09:14 -05:00
Zach Copley
1f859e72a2 Add activity.php to common includes 2010-02-22 17:47:40 -08:00
Zach Copley
cbf6ebae01 Merge branch 'rationalize-activity' into testing
* rationalize-activity:
  Move ActivityObject and related stuff to core
  Add PoCo bits, avatar link, geo point, etc. to person activity obj output
2010-02-22 17:12:33 -08:00
Zach Copley
6a711c6cdc Move ActivityObject and related stuff to core 2010-02-22 17:10:50 -08:00
Brion Vibber
d410df0406 OStatus group delivery initial implementation.
- added rel="ostatus:attention" links for group delivery
- added events for plugins to override group profile/permalink pages
- pulled Notice::saveGroups up to save-time so we can override;
  it's relatively cheap and gives us a clean list of target
  groups for distrib time even with customized delivery.
- fixed notice::getGroups to return group objects as expected
- added some doc on new parameters to Notice::saveNew
 - 'groups' list of group IDs to push to in place of parsing
- messages that come in via PuSH and contain local group targets
  are delivered to local group members
- messages that come in via PuSH and contain remote group targets
  are delivered to local members of the remote group

Todo:
- handle group posts that only come through Salmon
- handle conflicts in case something comes in both through Salmon and PuSH
- better source verification
- need a cleaner interface to look up groups by URI
- need a way to handle remote groups with conflicting names
2010-02-23 00:44:45 +00:00
Zach Copley
35be39e30e Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-22 01:23:24 -08:00
Zach Copley
47300a2ae9 Upgrade profile-based activity noun to have more complete set of
profile fields
2010-02-22 01:21:34 -08:00
Evan Prodromou
891e002883 don't calculate replies for remote notices 2010-02-21 23:56:48 -05:00
Brion Vibber
3c61f45de1 Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-02-21 18:56:41 -08:00
Zach Copley
10281d59f4 Add PoCo namespace to notice feeds 2010-02-21 14:43:28 -08:00
Evan Prodromou
ab3db8c899 Combine code that finds mentions into one place and add hook points
Combined the code that finds mentions of other profiles into one place.

common_find_mentions() finds mentions and calls hooks to allow
supplemental syntax for mentions (like OStatus).

common_linkify_mentions() links mentions.

common_linkify_mention() links a mention.

Notice::saveReplies() now uses common_find_mentions() instead of
trying to parse everything again.
2010-02-21 16:20:30 -05:00
Brion Vibber
2d9d444b05 Pulling PubSubHubbub plugin out of default list for 0.9.x; not compatible with recent changes to Atom feed generation for OStatus. 2010-02-21 11:13:57 -08:00
Brion Vibber
85528ccb1f Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-21 11:12:56 -08:00
Evan Prodromou
d5ba9e1b10 add feed-level author for user atom feeds 2010-02-21 13:03:13 -05:00
Evan Prodromou
f3b08461bd Change to use TagURI::base() instead of common_config()
I changed the way that tag: URIs are minted, so we now use the right
base. Ideally most of these would use HTTP URIs instead, but for
now at least they use the right base.
2010-02-20 13:31:20 -05:00
Evan Prodromou
61a072b3c4 Add a library to mint tag URIs
We've been making pretty crummy tag: URIs for a while. We should
continue to favor HTTP URIs, since it's nice to be able to discover
things about an object you've shared the ID of. Where that's not
possible, this makes nicer tag URIs.
2010-02-20 13:23:08 -05:00
Evan Prodromou
d69f6dff6a Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Conflicts:
	plugins/OStatus/actions/salmon.php
2010-02-19 16:55:24 -05:00
Evan Prodromou
512e8b69f1 remove unused subs_(un)subscribe_user functions 2010-02-19 08:31:46 -05:00
Evan Prodromou
b0a75a2ab2 replace calls to subs_(un)subscribe_user with Subscription methods 2010-02-19 08:31:20 -05:00
Sarven Capadisli
2c09702b2d Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-19 14:22:25 +01:00
Evan Prodromou
52e8aa798a Refactor subs_* functions for remote use
The subs_* functions in subs.php have made a lot of assumptions
about users versus profiles. I've refactored the functions to
be methods of the Subscription class instead, and to use Profile
objects throughout.

Some of the checks for blocks or existing subscriptions depended
on users or profiles, so I've moved those methods around a bit.

I've left stubs for the subs_* functions until we get time to replace
them.
2010-02-19 08:16:45 -05:00
Sarven Capadisli
8d59f7cc9d Using inlineScript instead for clickjacking check 2010-02-19 13:13:05 +01:00
Sarven Capadisli
b03c7a383f Only load json2.js if native JSON is not supported 2010-02-19 13:03:26 +01:00
Brion Vibber
22ff358ba8 OStatus sub/unsub updates:
- fix for PuSH unsub verification
- send Salmon notification on unsub
2010-02-18 18:20:48 +00:00
Zach Copley
5e60bf2ca6 Fix for cross site OMB posting problem 2010-02-18 03:49:19 +00:00
Zach Copley
5253a99d7a Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-02-18 01:48:41 +00:00
Zach Copley
1aeca3947d Fix for cross site OMB posting problem 2010-02-18 01:48:24 +00:00
Brion Vibber
07f145049e Merge branch 'master' into testing 2010-02-17 16:52:13 -08:00
Brion Vibber
ce6be4f836 Queues: redid the breakout control model so we can start up and subscribe to queues without running through the complete site list, which is ok at 1k sites but too slow at 10k.
All breakout queues that we're going to need to listen to now need to be explicitly listed in $config['queue']['breakout'].

Until XMPP is moved to component model, this setting will let the individual processes work with their own queues:
$config['queue']['breakout'][] = 'xmpp/xmppout/' . $config['site']['nickname'];
2010-02-17 16:49:00 -08:00
Zach Copley
c201baffbf Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-17 20:58:15 +00:00
Brion Vibber
5a6cbb248f Merge branch 'testing' into 0.9.x 2010-02-17 10:14:08 -08:00
Brion Vibber
3cb6b1670b Merge branch 'master' into testing 2010-02-17 10:13:35 -08:00
Brion Vibber
e8275aa60a Fix exception on bad plugin load 2010-02-17 10:12:37 -08:00
Craig Andrews
8e07926a9c parse_url returns an associative array - not an object 2010-02-17 10:10:07 -08:00
Craig Andrews
46e9aa13aa htmloutputter->script() special cases src's that begin with plugin/ or local/ so that plugins don't need to include common_path() in every call to $action->script()
Adjust plugins to not call common_path() when it's not necessary
Fix minify plugin
2010-02-17 12:03:14 -05:00
Craig Andrews
c19300272f parse_url returns an associative array - not an object 2010-02-17 12:02:59 -05:00
Brion Vibber
e51e96d724 OStatus: override source link with the source domain and link to original message 2010-02-17 02:16:03 +00:00
Brion Vibber
d5cbfe8071 Merge branch 'testing' into 0.9.x
Conflicts:
	lib/iomaster.php
2010-02-16 09:25:09 -08:00
Brion Vibber
81b6b58e33 Merge branch 'master' into testing
Conflicts:
	lib/stompqueuemanager.php
2010-02-16 09:22:02 -08:00
Brion Vibber
c74aea589d Stomp queue restructuring for mass scalability:
- Multiplexing queues into groups and for multiple sites.
- Sharing vs breakout configurable per site and per queue via $config['queue']['breakout']
- Detect how many times a message is redelivered, discard if it's killed too many daemons
 - count configurable with $config['queue']['max_retries']
 - can dump the items to files in $config['queue']['dead_letter_dir']

Queue daemon memory & resource leak fixes:
- avoid unnecessary reconnections to memcached server (switch persistent connections back in on second initialization, assuming it's child process)
- monkey-patch for leaky .ini loads in DB_DataObject::databaseStructure() - was leaking 200k per active switch
- applied leak fixes to Status_network as well, using intermediate base Safe_DataObject for both it and Memcache_DataObject

Misc queue fixes:
- correct handling of child processes exiting due to signal termination instead of regular exit
- shutdown instead of infinite respawn loop if we're already past the soft memory limit at startup
- Added --all option for xmppdaemon... still opens one xmpp connection per site that has xmpp active

Cache updates:
- add Cache::increment() method with native support for memcached atomic increment
2010-02-16 09:16:51 -08:00
Brion Vibber
3d0c3f0577 Pull fix from testing branch: use new encoding funcs w/ stomp queues 2010-02-16 09:15:29 -08:00
Evan Prodromou
a8c2a8261e move some nickname-guessing code to lib/util.php from OpenID 2010-02-16 11:06:10 -05:00
Zach Copley
d4f6235d7b Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-16 06:19:20 +00:00
Zach Copley
f414544d0d Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-16 06:12:08 +00:00
Sarven Capadisli
350f90eedc Added another single whitespace 2010-02-15 21:21:25 +01:00
Sarven Capadisli
03edbfe24e Added single whitespace to separate inline text words. 2010-02-15 20:41:46 +01:00
Sarven Capadisli
9465a4d5c6 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-13 20:28:39 +01:00
Sarven Capadisli
fc19179bc5 Added event hook to remote subscription 2010-02-13 18:40:36 +01:00
Evan Prodromou
269b4711eb Merge branch 'ssleverything' into testing 2010-02-13 12:39:15 -05:00
Zach Copley
f3a82e787c Add OStatus PuSH hub and Salmon links back into user and group feeds 2010-02-12 19:02:27 -08:00
Brion Vibber
f8a459a88a Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-02-12 15:32:12 -08:00
Brion Vibber
38f42d56bc Session fix for PHP 5.3 configurations where cookies are excluded from $_REQUEST via request_order in php.ini (Fedora 12, MacPorts known to be affected) 2010-02-12 15:24:15 -08:00
Zach Copley
506c2d7491 Initial upgraded Atom output for group timelines 2010-02-12 12:24:29 -08:00
Brion Vibber
122c8677b7 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-12 11:18:35 -08:00
Evan Prodromou
31461e120f let files go to SSL dir too 2010-02-11 17:06:57 -05:00
Evan Prodromou
3018683718 let backgrounds be put under SSL 2010-02-11 17:03:31 -05:00
Evan Prodromou
b96af33d97 put Javascript files under SSL 2010-02-11 16:59:39 -05:00
Zach Copley
c465f675d9 Make Atom timelines in the API use Atom10feed 2010-02-11 13:56:05 -08:00
Zach Copley
c8d5c8442f Added some boilerplate class comments, etc. 2010-02-11 13:56:05 -08:00
Zach Copley
e2c0f59414 Some upgrades to Atom output for OStatus 2010-02-11 13:56:05 -08:00
Zach Copley
ce3c3be1bf Utility classes for atom feeds 2010-02-11 13:56:05 -08:00
Evan Prodromou
d6869cde7b let avatars be served over SSL 2010-02-11 16:51:15 -05:00
Evan Prodromou
5175b5062e default theme ssl to null 2010-02-11 16:48:15 -05:00
Evan Prodromou
316ed3f86b null theme ssl setting means 'guess' 2010-02-11 16:47:47 -05:00
Evan Prodromou
a6ab9c4a3e Themes can be served from an SSL server 2010-02-11 16:42:58 -05:00
Brion Vibber
045797331c fix up hub queueing to work w/ stomp queues 2010-02-10 12:27:41 -08:00
Brion Vibber
c4557d4d07 Merge branch 'master' of git@gitorious.org:statusnet/mainline into testing 2010-02-10 11:12:11 -08:00
Brion Vibber
d9c9b2a12f Queue daemon fixes:
* skip unnecessary unsubscribes on graceful shutdown -- takes a long time for many queues, slows down our restarts when hitting graceful mem limit
* fix control channel (was broken when we switched to support multiple queue servers)
2010-02-10 10:59:30 -08:00
Brion Vibber
8449256817 OStatus partial support for group subscriptions:
* detection of group feeds is currently a nasty hack based on presence of '/groups/' in URL -- should use some property on the feed?
* listing for the remote group is kinda cruddy; needs to be named more cleanly
* still need to establish per-author profiles (easier once we have the updated Atom code in)
* group delivery probably not right yet
* saving of group messages still triggering some weird behavior

Added support for since_id and max_id on group timeline feeds as a free extra. Enjoy!
2010-02-09 18:32:52 -08:00
Brion Vibber
e856af34c3 Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second.
$config['queue']['spawndelay'] = 1;
2010-02-09 14:27:33 -08:00
Brion Vibber
cd0f288fa7 Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second.
$config['queue']['spawndelay'] = 1;
2010-02-09 12:39:31 -08:00
Brion Vibber
b2e8d8407c Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-02-08 15:48:52 -08:00
Brion Vibber
384387c9b0 OStatus cleanup...
* Treat linkless feed posts as status updates; drop the "New post:" prefix and quotes on them.
* Use stable user IDs for atom/rss2 feed links instead of unstable nicknames
* Pull Atom feed preferentially when subscribing -- can now put the remote user's profile page straight into the feed subscription form and get to the right place.
* Clean up naming for push endpoints
2010-02-08 14:58:12 -08:00
Evan Prodromou
9cac8eaae5 readme and version for beta5 2010-02-08 14:07:31 -08:00
Brion Vibber
dc09453a77 First steps on converting FeedSub into the pub/sub basis for OStatus communications:
* renamed FeedSub plugin to OStatus
* now setting avatar on subscriptions
* general fixes for subscription
* integrated PuSH hub to handle only user timelines on canonical ID url; sends updates directly
* set $config['feedsub']['nohub'] = true to test w/ foreign feeds that don't have hubs (won't actually receive updates though)
* a few bits of code documentation
* HMAC support for verified distributions (safest if sub setup is on HTTPS)

And a couple core changes:
* minimizing HTML output for exceptions in API requests to aid in debugging
* fix for rel=self link in apitimelineuser when id given

This does not not yet include any of the individual subscription management (Salmon notifications for sub/unsub, etc) nor a nice UI for user subscriptions.
Needs some further cleanup to treat posts as status updates instead of link references.
2010-02-08 11:15:29 -08:00
Evan Prodromou
6e5809586f Move authorization for admin panels to AdminPanelAction class 2010-02-06 16:32:50 +01:00
Evan Prodromou
5fdcd88176 Moderator can make users admins of a group 2010-02-06 11:36:59 +01:00
Brion Vibber
875e1a70ce Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extension is not present.
Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.
2010-02-05 09:47:56 -08:00
Zach Copley
23802e58d6 Merge branch 'temp' 2010-02-05 03:19:12 +00:00
Zach Copley
857494c9c6 Actually store the timestamp on each nonce 2010-02-05 03:18:45 +00:00
Zach Copley
4041a59282 Always check for an OAuth request. This allows OAuth clients to set an
auth user, similar to how they can set one via http basic auth,
even if one is not required.  I think I finally got this right.
2010-02-05 03:18:44 +00:00
Zach Copley
5417124884 Linkify notice source when posting from registered OAuth apps 2010-02-05 03:18:44 +00:00
Zach Copley
b31c79cee1 Better token revocation 2010-02-05 03:18:43 +00:00
Zach Copley
e495ac356c Allow developers to delete OAuth applications 2010-02-05 03:18:43 +00:00
Zach Copley
f654449357 Actually store the timestamp on each nonce 2010-02-05 02:10:08 +00:00
Zach Copley
8d320d7cc2 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-05 02:08:37 +00:00
Zach Copley
10dfcde0b2 Actually store the timestamp on each nonce 2010-02-05 01:38:29 +00:00
Brion Vibber
c59eee72a8 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-02-04 12:23:56 -08:00
Brion Vibber
a020e23086 Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-02-04 11:56:07 -08:00
Brion Vibber
5a1cbdc6f1 Add time-based cutoffs for public tag cloud, favorited lists to speed up those queries.
Defaulting to only looking at last 90 days of activity, can be adjusted up or down.

$config['tag']['cutoff'] = 86400 * 90;
$config['popular']['cutoff'] = 86400 * 90;

Per-user and per-group tag clouds do not use the cutoff (and it doesn't help with indexing on them).
2010-02-04 11:06:01 -08:00
Zach Copley
2085b506d4 Always check for an OAuth request. This allows OAuth clients to set an
auth user, similar to how they can set one via http basic auth,
even if one is not required.  I think I finally got this right.
2010-02-02 23:17:28 +00:00
Zach Copley
387374fd7b Always check for an OAuth request. This allows OAuth clients to set an
auth user, similar to how they can set one via http basic auth,
even if one is not required.  I think I finally got this right.
2010-02-02 23:16:44 +00:00
Brion Vibber
f4c81fa1e1 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-02-02 09:57:50 -08:00
Zach Copley
dae28d98d1 Linkify notice source when posting from registered OAuth apps 2010-02-02 08:51:01 +00:00
Zach Copley
8191273078 Better token revocation 2010-02-02 08:50:33 +00:00
Zach Copley
f0875ceea1 Allow developers to delete OAuth applications 2010-02-02 08:50:18 +00:00
Zach Copley
5e90f744a6 Linkify notice source when posting from registered OAuth apps 2010-02-02 08:47:14 +00:00
Zach Copley
f1094185e4 Better token revocation 2010-02-02 07:35:54 +00:00
Zach Copley
38bebb4c0d Allow developers to delete OAuth applications 2010-02-02 06:26:03 +00:00
Evan Prodromou
f964357de9 readme and version for beta5 2010-02-01 13:44:06 -05:00
Brion Vibber
c14ac57b19 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-02-01 10:30:45 -08:00
Brion Vibber
fba4153346 Don't enqueue into plugin or SMS queues when disabled (breaks unqueuehandler if SMS queue isn't attached) 2010-02-01 10:16:19 -08:00
Evan Prodromou
779204b194 Merge branch 'testing' into 0.9.x
Conflicts:
	actions/apioauthauthorize.php
2010-01-31 15:27:58 -05:00
Evan Prodromou
81087e45c5 move schema.type.php to typeschema.php like other files 2010-01-31 15:25:59 -05:00
Evan Prodromou
ebf4e497f6 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-01-31 15:20:57 -05:00
Evan Prodromou
30268cff78 Add Really Simple Discovery (RSD) support
Anil Dash suggested that all implementers of the Twitter API include
support for the remedial RSD format. This commit adds an RSD action
that returns the API root and additional API data to help client
developers discover and use our Twitter-compatible API.

http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
http://tales.phrasewise.com/rfc/rsd
2010-01-31 15:16:59 -05:00
Evan Prodromou
dc62246443 Add a robots.txt URL to the site root
Adds a robots.txt file to the site root. Defaults defined by
'robotstxt' section of config. New events StartRobotsTxt and
EndRobotsTxt to let plugins add information. Probably not
useful if path is not /, but won't hurt anything, either.
2010-01-31 10:12:26 -05:00
Evan Prodromou
4ae31f3476 on exceptions, stomp logs the error and reenqueues 2010-01-30 13:15:17 -05:00
Brenda Wallace
22a6e46b45 removed describeTable from base class, and fixed it up in pgsql 2010-01-30 21:22:30 +13:00
Brenda Wallace
870c83c17d getTableDef() mostly working in postgres 2010-01-30 21:12:06 +13:00
Brenda Wallace
e765a9657b move the schema DDL sql off into seperate files for each db we support 2010-01-30 18:45:10 +13:00
Craig Andrews
61d4709eb8 Pass username and nickname to autoregister so auth plugins can set the nickname correct when creating a new user.
Continues fixing what Eric Helgeson pointed out in 01eb4e8f00
2010-01-29 20:43:16 -05:00
Eric Helgeson
01eb4e8f00 autoRegister() expects a username existing in ldap, not the suggested_nickname 2010-01-29 17:58:15 -05:00
Evan Prodromou
a7b2a08c42 for single-user mode, retrieve either site owner or defined nickname 2010-01-29 15:15:52 -05:00
Brion Vibber
4d3808a815 Fix more fatal errors in queue edge cases 2010-01-28 23:08:36 -08:00
Brion Vibber
e5eca9bd2c Don't attempt to resend XMPP messages that can't be broadcast due to the profile being deleted. 2010-01-28 22:51:07 -08:00
Brion Vibber
990b0f7995 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-28 22:29:26 -08:00
Brion Vibber
ccb678ad15 Wrap each bit of distrib queue handler's saving operation in a try/catch; log exceptions but let everything else continue. 2010-01-28 22:26:58 -08:00
Zach Copley
5868511716 Move sessions settings to its own panel 2010-01-28 22:06:01 -08:00
Zach Copley
440ee00b1e Move sessions settings to its own panel 2010-01-28 22:04:14 -08:00
Zach Copley
d70be6d2ad Adjust API authentication to also check for OAuth protocol params in the
HTTP Authorization header, as defined in OAuth HTTP Authorization Scheme.
2010-01-29 01:54:26 +00:00
Zach Copley
292ac40cae Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-01-29 01:53:11 +00:00
Zach Copley
48a1a5a2dc Adjust API authentication to also check for OAuth protocol params in the
HTTP Authorization header, as defined in OAuth HTTP Authorization Scheme.
2010-01-29 01:49:38 +00:00
Brion Vibber
155a5d446f Manual failover for stomp queues.
If an array of multiple servers is put in $config['queue']['stomp_server'], enqueues will pick a random server to send to (failing over automatically if any are down).
Queue handling daemons connect all servers so they get events no matter where they were delivered.
In case of disconnection, daemons should now handle it gracefully and attempt to reconnect every 60 seconds or so, automatically resubscribing to all queues once it's back up.

Can put to 'native' failover for reads as well by disabling $config['stomp']['manual_failover'] = false; but this is untested and may explode in addition to requiring that your ActiveMQ cluster actually be set up to handle its own data distribution.

Additionally, can choose which queues to mark as persistent by setting $config['stomp']['persistent'] to an array of queue names.
2010-01-28 16:49:32 -08:00
Brion Vibber
d00ce38549 Merge commit 'origin/master' into testing 2010-01-28 13:35:09 -08:00
Zach Copley
d773ed8193 Remove redundant session token field from form (was already being added by base class). 2010-01-28 18:36:30 +00:00
Zach Copley
8cdb319533 Remove redundant session token field from form (was already being added by base class). 2010-01-28 18:34:25 +00:00
Brion Vibber
a868a523a5 Can now set $config['queue']['stomp_persistent'] = false; to explicitly disable persistence when we queue items 2010-01-28 09:52:35 -08:00
Sarven Capadisli
588f5ec36b Removed unused variable assignment for avatar URL and added missing fn 2010-01-28 15:08:18 +01:00
Sarven Capadisli
dcce323d18 Removed unused variable assignment for avatar URL and added missing fn 2010-01-28 15:05:23 +01:00
Brion Vibber
78fe76b058 dropping the setcookie() call from common_ensure_session() since we're pretty sure it's unnecessary 2010-01-27 23:16:06 -08:00
Brion Vibber
65c4cff01c append '/' on cookie path for now (may still need some refactoring) 2010-01-27 23:14:49 -08:00
Evan Prodromou
5bf4928db8 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-28 01:25:08 -05:00
Evan Prodromou
1ba8045a9b set session cookie correctly 2010-01-28 01:24:00 -05:00
Brion Vibber
7347381183 Fix for Mapstraction plugin's zoomed map links
Move definition of NICKNAME_FMT above plugin initialization but below loading of Validate package.
A merge error when refactoring setup lead to this not being defined yet when plugins were initialized, causing the router setup in MapstractionPlugin which tried to use this constant to fail.
Result was bogus links and if you hit the URL directly the action would be "unrecognized".
2010-01-27 21:42:13 -08:00
Brion Vibber
427ac3a3a6 debug log line for control channel sub 2010-01-27 20:51:04 -08:00
Evan Prodromou
ee4ea3f3e1 increment software beta version 2010-01-27 21:59:38 -05:00
Brion Vibber
3abfb454a3 Adds an emergency switch so we can run inbox distribution at save time (bypassing 'distrib' queue)
Set $config['queue']['inboxes'] = false to do so
2010-01-27 18:39:17 -08:00
Zach Copley
f296f04abd Remove debugging statement 2010-01-28 01:24:40 +00:00
Zach Copley
324590c46e Some adjustments to the way API auth works after merging testing and 0.9.x 2010-01-28 00:45:06 +00:00
Zach Copley
dac2231aaa Some adjustments to the way API auth works after merging testing and 0.9.x 2010-01-28 00:41:44 +00:00
Zach Copley
78079f34e2 Merge branch 'testing' into -1.9.x
* testing: (130 commits)
  HTTP auth provided is evaluated even if it's not required
  Rename rc3to09.sql to rc3torc4.sql to avoid confusion if we add a last-minute change after this!
  Add new oauth tables and modifications to 'consumer' table for rc4
  Centred leaderboard ad
  camelcase the uap param names
  move leaderboard to after the header
  Moved rectangle ad into aside and leaderboard to the right in header.
  Aligning wide skyscraper to the right instead of left
  CSS ids and classes fixed in UAPPlugin
  wrong height for rectangle in BlankAd
  Add the moved BlankAdPlugin
  make BlankAd dir and change to use a 1x1 image
  move BlankAdPlugin to its own dir
  Add BlankAdPlugin to test ad layout in different themes
  make uapplugin an abstract class
  move UAP plugin to core
  Lowercased switch cases in UAP Plugin
  Plugin for Universal Ad Package. Outputs four most widely used ad types.
  Add persistent:true property to Stomp messages so ActiveMQ doesn't decide to discard them even though persistence is enabled on the broker. :) (Thanks Aric!)
  quick fix: use common_path() on realtime update JS so it works with the new JS path code (will pull from main server for now)
  ...

Conflicts:
	actions/apioauthaccesstoken.php
	actions/apioauthauthorize.php
	actions/apioauthrequesttoken.php
	actions/editapplication.php
	actions/newapplication.php
	lib/apiauth.php
	lib/queuemanager.php
	lib/router.php
2010-01-27 14:27:22 -08:00
Michele
b0a325f7d0 HTTP auth provided is evaluated even if it's not required 2010-01-27 14:06:27 -08:00
Evan Prodromou
f650b40706 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-01-27 16:37:43 -05:00
Evan Prodromou
760be76fc0 camelcase the uap param names 2010-01-27 16:34:18 -05:00
Evan Prodromou
ea123800e9 move leaderboard to after the header 2010-01-27 16:34:18 -05:00
Sarven Capadisli
1c875a5395 Moved rectangle ad into aside and leaderboard to the right in header.
Intention for this layout was to reduce whitespace in header area
2010-01-27 16:34:18 -05:00
Evan Prodromou
e9feafc3ca CSS ids and classes fixed in UAPPlugin 2010-01-27 16:34:17 -05:00
Evan Prodromou
7c54591472 make uapplugin an abstract class 2010-01-27 16:34:17 -05:00
Evan Prodromou
1758ed453b move UAP plugin to core 2010-01-27 16:34:17 -05:00
Brion Vibber
c51539804a Add persistent:true property to Stomp messages so ActiveMQ doesn't decide to discard them even though persistence is enabled on the broker. :) (Thanks Aric!) 2010-01-27 09:24:59 -08:00
Evan Prodromou
c52951cef5 Optionally set a separate Javascript server and path
We have about 10-12 JavaScript pages per Web page. They usually
are based on the same server as the Web pages, but since they're
static files, it makes sense to offload them to a lite server that
handles static files well.

This commit lets you set a separate Javascript server and path for the
default Javascript code in StatusNet.

Squashed commit of the following:

commit 139d1622fdafe5ad00c820224416d9021efc3234
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 27 11:30:24 2010 -0500

    modules that call htmloutputter::script() don't prescribe js/ path

commit c6ca3174af73efed55eaed5ff1e2a3bdc77d2d87
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 27 11:28:07 2010 -0500

    configurable server and path for javascript files
2010-01-27 11:37:22 -05:00
Zach Copley
923b7de3c6 - Check for read-only vs. read-write access to protected API resources (OAuth)
- Some cleanup
2010-01-27 08:41:26 +00:00
Siebrand Mazeland
4202ffff91 Make more complete sentence. 2010-01-27 00:57:47 +00:00
Zach Copley
aad42427cc New access admin panel for site registration settings 2010-01-26 15:56:19 -08:00
Brion Vibber
58be61b641 Control channel for queue daemons to request graceful shutdown, restart, or update to listen to a newly added or reconfigured site.
queuectl.php --update -s<site>
  queuectl.php --stop
  queuectl.php --restart

Default control channel is /topic/statusnet-control. For external utilities to send a site update ping direct to the queue server, connect via Stomp and send a message formatted thus:

  update:<nickname>

(Nickname here, *not* server hostname! The rest of the queues will be updated to use nicknames later.)

Note that all currently-connected queue daemons will get these notifications, including both queuedaemon.php and xmppdaemon.php. (XMPP will ignore site update requests for sites that it's not handling.)

Limitations:
* only implemented for stomp queue manager so far
* --update may not yet handle a changed server name properly
* --restart won't reload PHP code files that were already loaded at startup. Still need to stop and restart the daemons from 'outside' when updating code base.
2010-01-26 11:49:49 -08:00
Evan Prodromou
655573c213 Single-user mode
New configuration options to define a single-user mode. This hides
most of the "community" pages, like the public timeline and groups.
The main user's timeline becomes the main page, and most other URLs
are changed.

Switching back and forth between 1-user and multi-user mode is
probably hazardous.

Squashed commit of the following:

commit d814aa5c92d14a27a12baba7893f3f8bf63f1d08
Author: Evan Prodromou <evan@status.net>
Date:   Tue Jan 26 00:17:27 2010 -0500

    don't show inbox and outbox in single-user mode

commit 47f19b9523a7015d4c6e460b73ea32c839e00aa1
Author: Evan Prodromou <evan@status.net>
Date:   Tue Jan 26 00:15:22 2010 -0500

    show correct URL for logo in single-user mode

commit 552010cffc33eadbc512ec5a67619dbc2015239a
Author: Evan Prodromou <evan@status.net>
Date:   Tue Jan 26 00:15:06 2010 -0500

    make singleuser its own config section

commit 786ab260a3ca172e57b555c75ca10946d8f258a1
Author: Evan Prodromou <evan@status.net>
Date:   Tue Jan 26 00:05:19 2010 -0500

    make single-user mode work

commit 5b21d7309b3a8dd5a4e0f29aea76f7897f1818b1
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 23:45:55 2010 -0500

    add single-user mode
2010-01-26 00:21:05 -05:00
Evan Prodromou
663e4e02a1 Merge branch 'master' into testing
Conflicts:
	lib/queuemanager.php
2010-01-25 18:13:09 -05:00
Evan Prodromou
b6aa1511eb Merge branch 'master' into 0.9.x 2010-01-25 18:10:59 -05:00
Evan Prodromou
e26a843caf Offload inbox updates to a queue handler to speed up posting online
Moved much of the writing that happens when posting a notice to a new
queuehandler, distribqueuehandler. This updates tags, groups, replies
and inboxes at queue time (or at Web time, if queues are disabled).

To make this work well, I had to break up the monolithic
Notice::blowCaches() and make cache blowing happen closer to where
data is updated.

Squashed commit of the following:

commit 5257626c62750ac4ac1db0ce2b71410c5711cfa3
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 14:56:41 2010 -0500

    slightly better handling of blowing tag memory cache

commit 8a22a3cdf6ec28685da129a0313e7b2a0837c9ef
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:42:56 2010 -0500

    change 'distribute' to 'distrib' so not too long for dbqueue

commit 7a063315b0f7fad27cb6fbd2bdd74e253af83e4f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:39:15 2010 -0500

    change handle_notice() to handle() in distributqueuehandler

commit 1a39ccd28b9994137d7bfd21bb4f230546938e77
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 16:05:25 2010 -0500

    error with queuemanager

commit e6b3bb93f305cfd2de71a6340b8aa6fb890049b7
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:11:34 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 94d557cdc016187d1d0647ae1794cd94d6fb8ac8
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 00:48:44 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 1c781dd08c88a35dafc5c01230b4872fd6b95182
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:54:18 2010 -0500

    move broadcasting and distributing to new queuehandler

commit da3e46d26b84e4f028f34a13fd2ee373e4c1b954
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:53:12 2010 -0500

    Move distribution of notices to new distribute queue handler
2010-01-25 18:08:21 -05:00
Brion Vibber
f3beed6889 Fix presence notification on XMPP thread (now foreground, not background) 2010-01-25 13:49:02 -08:00
Brion Vibber
1ab2483296 Fix presence notification on XMPP thread (now foreground, not background) 2010-01-25 13:48:24 -08:00
Zach Copley
4daf76212a - Had to remove checking read vs. read-write in OAuth authenticated methods
- Will now pick up source attr from OAuth app
2010-01-25 00:51:56 +00:00
Zach Copley
8b24b5ac7b Add Start/EndSetApiUser events when setting API user via OAuth 2010-01-24 16:46:37 -08:00
Zach Copley
1f8ddf716d Check for read vs. read-write access on OAuth authenticated API mehtods. 2010-01-24 16:36:06 -08:00
Zach Copley
9e7f47652d Revoke access token UI 2010-01-24 16:36:05 -08:00
Zach Copley
cff2cfd7a7 Fix approval date and label on apps list 2010-01-24 16:36:05 -08:00
Zach Copley
c0eee277d1 Make sure applications are really looked up by consumer key 2010-01-24 16:36:05 -08:00
Zach Copley
e101a6df6b Rework application registration workflow to be more private 2010-01-24 16:36:04 -08:00
Zach Copley
8da5e98cba OAuth 1.0 working now 2010-01-24 16:36:04 -08:00
Sarven Capadisli
8d02a897dc Updated markup for application edit form; image, radios 2010-01-24 16:36:04 -08:00
Sarven Capadisli
a009052036 A little minimization 2010-01-24 16:36:04 -08:00
Sarven Capadisli
276c4a2a23 Added vcard and photo classes 2010-01-24 16:36:04 -08:00
Sarven Capadisli
34cc03c617 Moved application image inside the anchor 2010-01-24 16:36:03 -08:00
Sarven Capadisli
40c6d09c9f Added missing end tag 2010-01-24 16:36:03 -08:00
Zach Copley
8e91e05392 Make API auth handle OAuth requests w/access tokens 2010-01-24 16:36:03 -08:00
Sarven Capadisli
d998c4b1b8 Fixed tabbing 2010-01-24 16:36:03 -08:00
Sarven Capadisli
0b90f7645e Updated class for application list 2010-01-24 16:36:03 -08:00
Sarven Capadisli
4fb9b43aa2 Updated markup for application edit form submits 2010-01-24 16:36:03 -08:00
Zach Copley
c78937537e Better detial in connected OAuth applications list 2010-01-24 16:36:03 -08:00
Zach Copley
a0b8438773 Exchanging authorized request tokens for access tokens working 2010-01-24 16:36:02 -08:00
Zach Copley
e9e448bcee Workflow for request tokens and authorizing request tokens 2010-01-24 16:36:02 -08:00
Zach Copley
fa81a580bb Action for issuing a request token 2010-01-24 16:36:02 -08:00
Zach Copley
6472331be5 Stubs for API OAuth token exchange stuff 2010-01-24 16:36:02 -08:00
Zach Copley
48e5f2b3c5 Add icons/icon upload to Oauth apps 2010-01-24 16:36:02 -08:00
Zach Copley
3c2b05d222 Workflow for registering new OAuth apps pretty much done. 2010-01-24 16:36:02 -08:00
Zach Copley
9d958fd539 Reorganized the OAuth app URLs and more work on the register app workflow 2010-01-24 16:36:01 -08:00
Zach Copley
ae46bc5fff Started work on interface for displaying connected OAuth apps 2010-01-24 16:36:01 -08:00
Brion Vibber
cb07fd29a3 Use new StatusNetwork->serverName() to get full domain for wildcard config until we rebuild queues to be based on nicknames.
Fixes live bug with new *.status.net sites breaking queuedaemon.php
2010-01-24 16:01:19 -08:00
Evan Prodromou
49d500e3e1 defaults for nickname and wildcard 2010-01-24 16:01:08 -08:00
Brion Vibber
60ce2ff3d0 Use new StatusNetwork->serverName() to get full domain for wildcard config until we rebuild queues to be based on nicknames.
Fixes live bug with new *.status.net sites breaking queuedaemon.php
2010-01-24 15:44:09 -08:00
Evan Prodromou
7cd666ae92 defaults for nickname and wildcard 2010-01-24 18:19:13 -05:00
Evan Prodromou
4f213f985f Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	lib/stompqueuemanager.php
2010-01-24 16:12:40 -05:00
Evan Prodromou
54ebb0a2b9 Merge branch 'master' into 0.9.x
Conflicts:
	lib/stompqueuemanager.php
2010-01-24 15:59:57 -05:00
Sarven Capadisli
fed111f08a Removed mobile stylesheet from core output. If Mobile support is
seeked, MobileProfile plugin should be used.
2010-01-24 00:25:31 +01:00
Sarven Capadisli
0f3658d3da Updated path to farbtastic stylesheet 2010-01-24 00:21:14 +01:00
Sarven Capadisli
51fdba09d4 Event hooks for before and after site_notice 2010-01-24 00:14:19 +01:00
Craig Andrews
23c0d663d6 Allow for instances as well as class names to be passed as queue handlers and iomanagers. 2010-01-23 01:03:41 -05:00
Craig Andrews
845f051c2f StompQueueManager uses decode() to decode queued frames 2010-01-22 18:02:05 -05:00
Brion Vibber
a66181c900 Fix unqueuemanager for updated QueueHandler interface 2010-01-22 14:06:20 -08:00
Brion Vibber
6d055ce09e Fix unqueuemanager for updated QueueHandler interface 2010-01-22 13:49:05 -08:00
Brion Vibber
aa038fa9cb Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-01-22 12:59:52 -08:00
Brion Vibber
6e4cad71e5 Fix for stuck queue messages: wrap processing in stomp transactions so our lack of an ACK if PHP dies actually triggers redelivery.
Previously, messages once delivered would just get stuck in the queue seemingly forever if they never got ACKed.
Note this could lead to partial duplication, for instance if the OMB or Twitter queue handlers die after 1/2 of the outgoing sends.

Recommendations:
* catch exceptions more aggressively within queue handlers (so only PHP fatal errors are likely to kill in the middle)
* for processing that involves sending to multiple clients, consider a second queue similar to the XMPP output, eg for OMB:
 - first queue gets delivery list and builds message data, enqueueing it for each target address
 - second queue can handle each individual outgoing message (and attempt redelivery etc separately)

This would also protect better against a recurring error preventing delivery in the second part, and could spread out any slow sends over multiple threads.
2010-01-22 12:52:56 -08:00
Brion Vibber
c7507e7e9d XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.

Conflicts:

	scripts/xmppdaemon.php
2010-01-22 12:52:36 -08:00
Brion Vibber
99866a459b Fix for stuck queue messages: wrap processing in stomp transactions so our lack of an ACK if PHP dies actually triggers redelivery.
Previously, messages once delivered would just get stuck in the queue seemingly forever if they never got ACKed.
Note this could lead to partial duplication, for instance if the OMB or Twitter queue handlers die after 1/2 of the outgoing sends.

Recommendations:
* catch exceptions more aggressively within queue handlers (so only PHP fatal errors are likely to kill in the middle)
* for processing that involves sending to multiple clients, consider a second queue similar to the XMPP output, eg for OMB:
 - first queue gets delivery list and builds message data, enqueueing it for each target address
 - second queue can handle each individual outgoing message (and attempt redelivery etc separately)

This would also protect better against a recurring error preventing delivery in the second part, and could spread out any slow sends over multiple threads.
2010-01-22 12:35:05 -08:00
Eric Helgeson
b7940ef39f Fix unqueuemanager to work with new Queue layout pushed in 0e852def6a
"* Queue handlers should now define a handle() method instead of handle_notice()"

And Queue managers should call handle() :)
2010-01-22 11:02:23 -05:00
Craig Andrews
7be5e7e524 stupid mistake... let's not talk about this. 2010-01-22 10:40:21 -05:00
Craig Andrews
672126968f Updated some references to the long gnone "isEnclosure" function to the new "getEnclosure" 2010-01-22 10:12:26 -05:00
Brion Vibber
0e852def6a XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.
2010-01-21 22:40:35 -08:00
Brion Vibber
26fdf0c9d2 XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.
2010-01-21 16:42:50 -08:00
Brion Vibber
c9c7bb3234 Merge commit 'origin/testing' into 0.9.x 2010-01-21 16:33:11 -08:00
Brion Vibber
8dafe09ab2 Option to log slow db queries or all db queries
$config['db']['log_queries'] = true; // all
$config['db']['log_slow_queries'] = 10; // queries taking > 10 seconds
2010-01-21 11:07:52 -08:00
Sarven Capadisli
373206ac00 Event hooks for before and after site_notice 2010-01-21 16:49:49 +01:00
Sarven Capadisli
d4fcc8777f Removed mobile stylesheet from core output. If Mobile support is
seeked, MobileProfile plugin should be used.
2010-01-21 13:23:04 +01:00
Zach Copley
fd276ff9e7 Add Start/EndSetApiUser events when setting API user via OAuth 2010-01-20 18:01:07 -08:00
Michele
05156b708a HTTP auth provided is evaluated even if it's not required 2010-01-20 17:55:37 -08:00
Evan Prodromou
c63832f7bf add PubSubHubBub and RSSCloud to list of default plugins 2010-01-20 17:58:23 -05:00
Evan Prodromou
dd0a99f58a Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-19 00:32:05 -05:00
Evan Prodromou
01dc77c2fd Merge branch 'master' into 0.9.x 2010-01-19 00:31:42 -05:00
Evan Prodromou
c7f14cd777 allow all rights reserved, private data 2010-01-19 00:04:58 -05:00
Evan Prodromou
71f519f64a add event for showing content license in action 2010-01-18 23:25:45 -05:00
Brion Vibber
3bf4056055 Fix order of params on 'plugin not found' exception 2010-01-18 09:28:58 -08:00
Sarven Capadisli
187a70873a Updated path to farbtastic stylesheet 2010-01-18 11:29:05 +00:00
Evan Prodromou
1f6bbc1890 Merge branch 'master' into 0.9.x 2010-01-16 08:06:02 -08:00
Evan Prodromou
21c3e08804 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-16 07:48:59 -08:00
Evan Prodromou
d6b8b13116 change rc3 to beta3 2010-01-16 07:48:46 -08:00
Brion Vibber
598072468c --xmpp-only hack for queuedaemon.php to run separate queue daemon with only xmpp threads 2010-01-15 11:13:06 -08:00
Brion Vibber
ef016dca45 Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x 2010-01-15 09:52:50 -08:00
Brion Vibber
038287c1ff fix for --skip-xmpp hack -- forgot to do it on the ping & confirm handlers 2010-01-14 17:14:41 -08:00
Craig Andrews
a27aef9206 Add nickname suggestion capability for use during autoregistration. 2010-01-14 19:52:11 -05:00
Brion Vibber
58bc33850a temporary --skip-xmpp flag on queuedaemon.php, allows to run queue daemons but skip subscription to xmpp-based queues
(still working on making these behave gracefully when server is down)
2010-01-14 15:32:37 -08:00
Siebrand Mazeland
6d8469947e Make more complete sentence. 2010-01-14 23:38:29 +01:00
Brion Vibber
2f32181c93 Keep handler registration per-site to fix queue registration in mixed config environment 2010-01-14 13:22:33 -08:00
Brion Vibber
7211896b2f Keep handler registration per-site to fix queue registration in mixed config environment 2010-01-14 13:21:48 -08:00
Brion Vibber
8a7171fde6 Don't barf on io loop if xmpp connection failed 2010-01-13 23:38:51 -08:00
Brion Vibber
4b839cfc53 fix for non-% memory soft limit 2010-01-13 21:41:42 -08:00
Brion Vibber
e8abb0c2ed fix for non-% memory soft limit 2010-01-13 21:35:47 -08:00
Brion Vibber
b25deaacea queue daemon fixes: path fix for xmpp, suppress warning in memcached init 2010-01-13 21:24:36 -08:00
Brion Vibber
cb962ed475 queue daemon fixes: path fix for xmpp, suppress warning in memcached init 2010-01-13 21:24:02 -08:00
Zach Copley
33df392289 - Had to remove checking read vs. read-write in OAuth authenticated methods
- Will now pick up source attr from OAuth app
2010-01-14 02:41:11 +00:00
Zach Copley
bbde4d42cc Check for read vs. read-write access on OAuth authenticated API mehtods. 2010-01-14 02:41:10 +00:00
Zach Copley
38269a6579 Revoke access token UI 2010-01-14 02:41:10 +00:00
Zach Copley
9f3c47ccb4 Fix approval date and label on apps list 2010-01-14 02:41:09 +00:00
Zach Copley
6c8bf36fe1 Make sure applications are really looked up by consumer key 2010-01-14 02:41:09 +00:00
Zach Copley
7c34ac8cc2 Rework application registration workflow to be more private 2010-01-14 02:41:09 +00:00
Zach Copley
42a82a024a OAuth 1.0 working now 2010-01-14 02:41:09 +00:00
Sarven Capadisli
881e1c50b9 Updated markup for application edit form; image, radios 2010-01-14 02:41:08 +00:00
Sarven Capadisli
7ffa258196 A little minimization 2010-01-14 02:41:08 +00:00
Sarven Capadisli
69bb4efe00 Added vcard and photo classes 2010-01-14 02:41:07 +00:00
Sarven Capadisli
2b78c061fc Moved application image inside the anchor 2010-01-14 02:41:07 +00:00
Sarven Capadisli
bf53456710 Added missing end tag 2010-01-14 02:41:07 +00:00
Zach Copley
61b3f56647 Make API auth handle OAuth requests w/access tokens 2010-01-14 02:41:07 +00:00
Sarven Capadisli
c80652824a Fixed tabbing 2010-01-14 02:41:07 +00:00
Sarven Capadisli
284301db81 Updated class for application list 2010-01-14 02:41:06 +00:00
Sarven Capadisli
c6bdbd478b Updated markup for application edit form submits 2010-01-14 02:41:06 +00:00
Zach Copley
31c5ebb95c Better detial in connected OAuth applications list 2010-01-14 02:41:06 +00:00
Zach Copley
d8abad7478 Exchanging authorized request tokens for access tokens working 2010-01-14 02:41:06 +00:00
Zach Copley
aba299c5d1 Workflow for request tokens and authorizing request tokens 2010-01-14 02:41:05 +00:00
Zach Copley
2e23638615 Action for issuing a request token 2010-01-14 02:41:05 +00:00
Zach Copley
bcbe013385 Stubs for API OAuth token exchange stuff 2010-01-14 02:41:05 +00:00
Zach Copley
b14a97f5f9 Add icons/icon upload to Oauth apps 2010-01-14 02:41:05 +00:00
Zach Copley
dad67b030f Workflow for registering new OAuth apps pretty much done. 2010-01-14 02:41:04 +00:00
Zach Copley
f802542885 Reorganized the OAuth app URLs and more work on the register app workflow 2010-01-14 02:41:04 +00:00
Zach Copley
5bff6651ba Started work on interface for displaying connected OAuth apps 2010-01-14 02:41:04 +00:00
Sarven Capadisli
085406ea88 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-14 01:50:21 +00:00
Sarven Capadisli
acc48289e5 Update geo location UI for notice form where the geo data info is only
visible on @title of the enable/disable button.
2010-01-14 01:48:57 +00:00
Evan Prodromou
fba840ed56 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-13 17:30:22 -08:00
Evan Prodromou
52bbb2262a rev version in lib/common.php 2010-01-13 17:29:58 -08:00
Brion Vibber
82e57b6204 Fix for dbqueuehandler: if a queue is unrecognized, discard entries rather than attempting to re-run them forever! 2010-01-13 16:33:03 -08:00
Evan Prodromou
464ce741a4 remove session info in syslog 2010-01-13 16:19:20 -08:00
Brion Vibber
0e1f2d4b47 Fix regressions in XMPP output during inbox refactoring
- NOTICE_INBOX_SOURCE_* constants moved to common.php since Notice_inbox.php not always loaded
- fixed typo in User::staticGet() call which caused user #1 to receive messages once for each subscriber instead of for him/herself
- 'continue' -> 'continue 2' inside switch() statement to fix loop escape (PHP considers switch() a looping construct for break & continue)
2010-01-13 18:17:36 +00:00
Sarven Capadisli
2000d2d36b Added timeout error handling for geo location 2010-01-13 15:36:42 +00:00
Sarven Capadisli
9b2fdefe39 Using a JSON object for NoticeDataGeo text instead 2010-01-13 15:21:43 +00:00
Evan Prodromou
430bd69312 add events for subscribing to people and joining groups 2010-01-13 02:16:13 -08:00
Evan Prodromou
23599da91e refactor jabber broadcast for notice_inbox removal 2010-01-13 01:13:49 -08:00
Evan Prodromou
155e4ef4f3 remove some debugging statements from util.php 2010-01-12 23:58:25 -08:00
Evan Prodromou
cc25d3baf0 ws changes for phpcs 2010-01-12 23:56:21 -08:00
Evan Prodromou
e34ece8b06 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-12 23:25:25 -08:00
Brion Vibber
ec145b73fc Major refactoring of queue handlers to support running multiple sites in one daemon.
Key changes:
* Initialization code moved from common.php to StatusNet class;
  can now switch configurations during runtime.
* As a consequence, configuration files must now be idempotent...
  Be careful with constant, function or class definitions.
* Control structure for daemons/QueueManager/QueueHandler has been refactored;
  the run loop is now managed by IoMaster run via scripts/queuedaemon.php
  IoManager subclasses are woken to handle socket input or polling, and may
  cover multiple sites.
* Plugins can implement notice queue handlers more easily by registering a
  QueueHandler class; no more need to add a daemon.

The new QueueDaemon runs from scripts/queuedaemon.php:

* This replaces most of the old *handler.php scripts; they've been refactored
  to the bare handler classes.
* Spawns multiple child processes to spread load; defaults to CPU count on
  Linux and Mac OS X systems, or override with --threads=N
* When multithreaded, child processes are automatically respawned on failure.
* Threads gracefully shut down and restart when passing a soft memory limit
  (defaults to 90% of memory_limit), limiting damage from memory leaks.
* Support for UDP-based monitoring: http://www.gitorious.org/snqmon

Rough control flow diagram:
QueueDaemon -> IoMaster -> IoManager
                           QueueManager [listen or poll] -> QueueHandler
                           XmppManager [ping & keepalive]
                           XmppConfirmManager [poll updates]

Todo:

* Respawning features not currently available running single-threaded.
* When running single-site, configuration changes aren't picked up.
* New sites or config changes affecting queue subscriptions are not yet
  handled without a daemon restart.
* SNMP monitoring output to integrate with general tools (nagios, ganglia)
* Convert XMPP confirmation message sends to use stomp queue instead of polling
* Convert xmppdaemon.php to IoManager?
* Convert Twitter status, friends import polling daemons to IoManager
* Clean up some error reporting and failure modes
* May need to adjust queue priorities for best perf in backlog/flood cases

Detailed code history available in my daemon-work branch:
http://www.gitorious.org/~brion/statusnet/brion-fixes/commits/daemon-work
2010-01-12 20:45:09 -08:00
Brion Vibber
2b10e359fe Avoid PHP notice when outputting API data for remote users; no $user means no $user->timezone :)
Trying to get property of non-object (/srv/com.leuksman.status/lib/api.php:171)
2010-01-12 12:28:24 -08:00
Evan Prodromou
392bc728c7 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-12 12:11:37 -08:00
Brion Vibber
cbc3c7b141 Ticket 2152: avoid fatal when php.ini disables dl via disabled_functions (function_exists returns false even though it exists and cannot be redefined) 2010-01-12 07:24:43 -08:00
Evan Prodromou
7e5c15fa80 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-11 16:23:48 -08:00
Zach Copley
3a9e24e077 Fix format specifier on page title 2010-01-11 23:21:09 +00:00
Evan Prodromou
57ac912519 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-11 15:12:13 -08:00
Evan Prodromou
5d676352c3 strip out session ID from root URL 2010-01-11 15:09:46 -08:00
Sarven Capadisli
c7b768b4c8 Removed period 2010-01-11 16:33:46 +01:00
Evan Prodromou
8809e577b2 Merge branch 'sessionidparam' into 0.9.x
Conflicts:
	lib/command.php
2010-01-11 00:45:26 -08:00
Evan Prodromou
ae7469a127 accept session from 2010-01-11 08:39:02 +00:00
Evan Prodromou
e0eb51e4bb add session ID to local URL when server parts differ 2010-01-10 23:51:57 -08:00
Evan Prodromou
dd7195346c Sever -> server in error message 2010-01-10 22:59:50 -08:00
Evan Prodromou
ad63a9518c Sever -> server in error message 2010-01-10 22:59:32 -08:00
Evan Prodromou
15b88697a7 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-10 14:18:54 -08:00
Evan Prodromou
866dfa6822 Merge branch 'master' into 0.9.x
Conflicts:
	classes/Memcached_DataObject.php
2010-01-10 14:18:19 -08:00
Evan Prodromou
7aa43f3c93 defaultDesign was undefined; fixed that 2010-01-10 14:10:31 -08:00
Evan Prodromou
6fdd52467d catch exceptions from snapshot 2010-01-10 14:06:52 -08:00
Zach Copley
63eddf216f Fix routes for social graph API methods -- this takes care of Ticket #2151 2010-01-10 14:03:10 -08:00
Evan Prodromou
8cf1ef862d catch exceptions from snapshot 2010-01-10 13:54:26 -08:00
Evan Prodromou
30409f7bad debugging code to find passed-in objects in munge_password 2010-01-10 12:07:49 -08:00
Siebrand Mazeland
4af6b7f5c3 Lots of tiny message changes.
* Mostly punctuation updates so that the same message is used consistently in all of StatusNet.
* Some cases of "Title Case" removed, because that does not appear to be used consistently.
2010-01-10 12:26:24 +01:00
Siebrand Mazeland
0c4dbf1588 Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2010-01-10 01:46:39 +01:00
Siebrand Mazeland
b0aea3f9c1 * L10n updates: consistent puctuation
* i18n updates: number parameters if more than one are being used
2010-01-10 01:45:58 +01:00
Craig Andrews
7dde17862a i18n work in the mail handler 2010-01-09 19:04:53 -05:00
Evan Prodromou
ed5828f30e Redirect to a one-time-password when ssl and regular server are different 2010-01-09 15:26:06 -08:00
Craig Andrews
055f3fdddb Add an IMAP daemon so StatusNet can process incoming user posts via catch-all mailbox (in addition to the pre-existing script alias method) 2010-01-08 18:52:43 -05:00
Sarven Capadisli
8901e01692 Added i18n text for @title values in geo sharing actions 2010-01-08 18:07:02 +00:00
Sarven Capadisli
54c18e68da Some code cleaning for geo UI 2010-01-08 13:58:23 +00:00
Sarven Capadisli
0fcd91cf1e Using json2.js 2010-01-08 13:26:48 +00:00
Evan Prodromou
2aa0ab9777 let system administrators disallow certain admin panels 2010-01-08 01:00:29 -08:00
Evan Prodromou
505cd382f3 ptiturl.com correct name 2010-01-07 23:38:19 -08:00
Evan Prodromou
9693b2cf2f add default plugin version information 2010-01-07 17:33:46 -08:00
Evan Prodromou
4a4ac7a108 add a version action to give credit and list plugins 2010-01-07 17:26:40 -08:00
Evan Prodromou
2c33e61b94 add default plugins and load them 2010-01-07 16:13:36 -08:00
Ciaran Gultnieks
14421d9db3 Correction to previous commit 2010-01-07 21:01:07 +00:00
Ciaran Gultnieks
deeaafe712 Fixes to bugs where non-local messages were being wrong put in the public timeline and public xmpp feed 2010-01-07 20:59:31 +00:00
Evan Prodromou
f4fa785fb7 Revert "Ticket 2107: remove "not implemented" items from sms/xmpp help; nobody likes being told what they can't do!"
This reverts commit 5d9a2eb17e.

These are commands that are/were implemented by Twitter, and we don't
(yet) implemented. People will be looking for that information.
2010-01-06 23:24:24 -08:00
Brion Vibber
5d9a2eb17e Ticket 2107: remove "not implemented" items from sms/xmpp help; nobody likes being told what they can't do!
Also broke up the localized help message into line-by-line pieces to ease translation maintenance.
2010-01-06 14:42:46 -08:00
Craig Andrews
541053e84b The structure return by parse_url is an associative array, not an object. 2010-01-06 17:08:01 -05:00
Zach Copley
d6db8e5817 Don't output notices from deleted users. 2010-01-06 13:43:46 -08:00
Zach Copley
013e6dfdd4 Don't output notices from deleted users. 2010-01-06 13:40:28 -08:00
Zach Copley
9960ec2143 Support an 'extra' clause when definining a column (e.g.: 'on update
CURRENT_TIMESTAMP').
2010-01-05 23:19:13 -08:00
Brion Vibber
aff78e5121 Cache fixes:
* We now cache negative lookups; clear them in Memcached_DataObject->insert()
* Mark file.url as a unique key in statusnet.ini so its negative lookups are cleared properly (first save of a notice with a new URL was failing due to double-insert)
* Now using serialization for default in-process cache instead of just saving objects; avoids potential corruption if you save an object to cache, change the original object, then fetch the same key from cache again
2010-01-05 15:05:53 -08:00
Craig Andrews
250bcfa8dc Require users to login to view attachments on private sites
Thank you jeff-themovie for this implementation!
2010-01-05 17:49:28 -05:00
Craig Andrews
9e2e0605ed Move Authorization and Authentication plugin structures into core, instead of as plugins.
This move makes sense as you can addPlugin('Authentication') for example - these are abstract classes designed to be implemented, not used directly.
2010-01-05 13:56:22 -05:00
Brion Vibber
16254c14c8 Typo fix in the new default in-process cache; spewed notice warnings on deletion, breaking XHR responses. 2010-01-05 09:54:43 -08:00
Brion Vibber
af95005bc4 Ticket 2141: bugs with weighted popularity lists across year boundary.
Consolidated several separate implementations of the same weighting algorithm into common_sql_weight() and fixed some bugs...
For MySQL, now using timestampdiff() instead of subtraction for the comparison, so we get sane results when the year doesn't match, and utc_timestamp() rather than now() so we don't get negative ages for recent items with local server timezone.
Unknown whether the same problems affect PostgreSQL, but note that it lacks the timestampdiff() SQL function.
2010-01-04 13:01:17 -08:00
Evan Prodromou
6add2693b0 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-04 10:55:21 -10:00
Evan Prodromou
a1821ec8af default value for cache::get() changed from null to false 2010-01-04 09:59:47 -10:00
Brion Vibber
6911e1c797 Ticket 2141: bugs with weighted popularity lists across year boundary.
Consolidated several separate implementations of the same weighting algorithm into common_sql_weight() and fixed some bugs...
For MySQL, now using timestampdiff() instead of subtraction for the comparison, so we get sane results when the year doesn't match, and utc_timestamp() rather than now() so we don't get negative ages for recent items with local server timezone.
Unknown whether the same problems affect PostgreSQL, but note that it lacks the timestampdiff() SQL function.
2010-01-04 11:55:27 -08:00
Brion Vibber
783a2e249b Fix for auto_increment parameter in auto-created tables via checkschema.
Update FeedSub plugin for non-Plugin_DataObject setup and working checkschema updates.
2010-01-04 10:30:58 -08:00
Evan Prodromou
bfa3aa0e7f Remove logging from default cache 2010-01-03 11:28:15 -10:00
Evan Prodromou
de74c64490 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-02 21:35:46 -10:00
Evan Prodromou
cc5534d180 First version of Memcache plugin 2010-01-02 21:16:59 -10:00
Evan Prodromou
1e1062ca9c Make cache.php PHPCS-clean 2010-01-02 21:00:42 -10:00
Evan Prodromou
65d07b657d invert if for cache handling 2010-01-02 20:37:30 -10:00
Evan Prodromou
e1de1bf0fe fix default array implementation checks 2010-01-02 20:32:56 -10:00
Evan Prodromou
c5d23e27a6 Make caching a plugin system 2010-01-02 20:26:33 -10:00
Evan Prodromou
3b912ac97e fixup memcache functions 2010-01-02 16:27:04 -10:00
Sarven Capadisli
ec5850d26a Changed location share representation to be more like the file
attachment. Init UI. Probably a little buggy.
2010-01-03 00:33:41 +00:00
Evan Prodromou
a9d8359208 Merge branch 'master' into 0.9.x
Conflicts:
	classes/Memcached_DataObject.php
2010-01-01 11:20:25 -10:00
Sarven Capadisli
01dbee2ba5 Initial UI for geo location share option in notice form 2009-12-31 18:41:10 +00:00
Sarven Capadisli
dde6415a6a Moved JavaScript dependant stuff out of noticeform. 2009-12-31 18:08:21 +00:00
Sarven Capadisli
8872d91483 Removed style information out of HTML 2009-12-31 16:44:24 +00:00
Sarven Capadisli
0320bf2fb3 Use the location setting profile as secondary 2009-12-31 15:46:43 +00:00
Sarven Capadisli
8e6a8961d9 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-31 14:37:23 +00:00
Sarven Capadisli
c986f59143 If user is sharing their location (based on profile setting), then
enable it for form notice by default. This can be overriden by the
cookie to preserve states.
2009-12-31 14:34:07 +00:00
Sarven Capadisli
4efa841ba3 If user doesn't want to share their location (which is globally set
from their profile settings), don't bother to output form data for
lat/long in the notice form.
2009-12-31 14:24:27 +00:00
Sarven Capadisli
923e27b01a Fix to grab and use the actual lat/lon values from the user profile 2009-12-31 14:23:11 +00:00
Sarven Capadisli
5871480844 Moved shareLocation data from formActions() to formData() 2009-12-31 12:52:39 +00:00
Sarven Capadisli
4985582880 Fixed Event end name 2009-12-31 12:43:33 +00:00
Craig Andrews
1e9c03e199 Enable memcache automatic compression, starting at 20k and only if compression gain is greater than 20%.
Allows storage of larger objects (over 1mb in size uncompressed), such as huge LDAP schemas.
Should also improve cache efficiency (allows more stuff to be stored in same memory) and reduce network latency (less data transfer)
2009-12-30 19:29:38 -05:00
Siebrand Mazeland
024704e0b7 Remove trailing space in checkbox text. 2009-12-30 20:26:23 +01:00
Craig Andrews
98ce7daf56 Implement user interface for user to preview what location they are sharing with a notice 2009-12-29 16:18:52 -05:00
Evan Prodromou
360fdb219d don't show notices with deleted profiles 2009-12-29 12:25:41 -08:00
Evan Prodromou
e119362fde Merge branch 'locshunt' into 0.9.x 2009-12-28 15:49:27 -08:00
Evan Prodromou
39bdda9c7e More configuration options for location sharing 2009-12-28 14:43:34 -08:00
Evan Prodromou
bb93d6b1c7 remove namespace setting from location; it's unused 2009-12-28 14:21:07 -08:00
Evan Prodromou
da5db060e8 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-23 14:31:56 -08:00
Sarven Capadisli
05c1ad8b32 Updated Repeat notice option submit button style 2009-12-23 15:59:31 -05:00
Evan Prodromou
1adce16dd8 don't email replies to yourself 2009-12-23 09:00:05 -08:00
Evan Prodromou
185e229f79 Merge branch 'master' into 0.9.x 2009-12-22 22:12:15 -08:00
Evan Prodromou
f6bf952980 Merge branch 'testing' 2009-12-22 16:44:19 -08:00
Evan Prodromou
30c2e2ce83 update to rc2 2009-12-22 16:41:39 -08:00
Evan Prodromou
a2cb0a033f Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-22 08:53:50 -08:00
Brion Vibber
a06af3f125 Ticket 1982: define LC_MESSAGES and friends if PHP didn't predefine them for us. (Known problem on Win32) 2009-12-21 09:06:07 -08:00
Brion Vibber
f987273f11 Ignore user language settings that aren't listed in language config; we'll then fall back to current autodetection. This prevents the surprises where your profile suddenly switches to Arabic because it was selected by default due to lack of a match in the drop-down box. 2009-12-21 06:57:10 -08:00
Siebrand Mazeland
7e6efd1065 Localisation updates for !StatusNet from !translatewiki.net !sntrans
* Adding Persian language
2009-12-20 15:52:43 +01:00
Brion Vibber
b244ac6462 Ignore user language settings that aren't listed in language config; we'll then fall back to current autodetection. This prevents the surprises where your profile suddenly switches to Arabic because it was selected by default due to lack of a match in the drop-down box. 2009-12-19 15:29:53 -05:00
Evan Prodromou
530673b3cd Merge branch '0.9.x' into testing 2009-12-16 22:14:41 -05:00
Brion Vibber
dc4bedd25a Add some doc comments and fixmes in util.php 2009-12-16 09:27:48 -05:00
Brion Vibber
0158f4f73d PHP 5.3 closure-based implementation of curry(); old implementation used as fallback for older PHP versions. Added unit tests to confirm they both work! 2009-12-16 09:27:48 -05:00
Evan Prodromou
2a1468ec8b Merge branch '0.9.x' into testing 2009-12-15 16:24:52 -05:00
Evan Prodromou
608d1b206a Don't show repeater avatar in notice lists 2009-12-15 16:08:44 -05:00
Evan Prodromou
797a0d79fb create a method for notification for new messages, and use it 2009-12-15 10:31:25 -05:00
Evan Prodromou
19bb9a04d1 add mail notification for dm command results 2009-12-15 10:18:27 -05:00
Sarven Capadisli
27d0e8f0a4 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-14 18:34:16 -05:00
Evan Prodromou
43ee2ec42f default for login command is disabled 2009-12-14 18:09:30 -05:00
Sarven Capadisli
f8b187d5a4 Initial representation for repeated notice 2009-12-14 18:09:08 -05:00
Evan Prodromou
607e98ee11 make sure id of <li> in notice list is unique 2009-12-14 17:48:14 -05:00
Evan Prodromou
d22364b35e had the order of <status> and <retweeted_status> wrong in api output 2009-12-14 17:11:34 -05:00
Evan Prodromou
9384a6e242 fix error with cached repeat of deleted original in api output 2009-12-14 16:40:56 -05:00
Evan Prodromou
6ff13d6828 move full-featured timeline to apitimelinehome.php 2009-12-14 16:10:16 -05:00
Evan Prodromou
9d2a605d0e correct link for repeat attribution in noticelist 2009-12-14 15:42:53 -05:00
Zach Copley
a199bd808a Fix issue with favorited/following always being set to false 2009-12-14 18:16:45 +00:00
Sarven Capadisli
7dc9f7ad06 Init UI for Repeated by 2009-12-13 20:00:09 -05:00
Siebrand Mazeland
745e35ac1f (Puctuation) consistency in clientError() calls. 2009-12-13 18:55:17 +01:00
Siebrand Mazeland
954eb411e0 Localisation updates for !StatusNet from !translatewiki.net !sntrans
* add Interlingua (ia)
2009-12-13 18:31:14 +01:00
Craig Andrews
bed4e1c9e9 Add repeat command 2009-12-12 21:25:21 -05:00
Evan Prodromou
304ba80a0f make sure to show repeats correctly when original is deleted 2009-12-12 16:33:38 -05:00
Evan Prodromou
a5a89f50b8 Merge branch 'forward' into 0.9.x 2009-12-12 16:18:55 -05:00
Evan Prodromou
cc063aedcc Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-12 16:15:47 -05:00
Evan Prodromou
1ec54d3433 add statuses/retweeted_to_me to API 2009-12-12 16:15:23 -05:00
Evan Prodromou
cfe67a9c01 add statuses/retweets_of_me to API 2009-12-12 16:00:27 -05:00
Evan Prodromou
138ce0cd05 add statuses/retweeted_by_me api action 2009-12-12 15:35:05 -05:00
Evan Prodromou
a3660fbea4 Merge branch '0.9.x' into forward 2009-12-12 15:00:22 -05:00
Evan Prodromou
b42b2e1d05 integer utility for arguments 2009-12-12 15:00:09 -05:00
Evan Prodromou
c622d14440 add statuses/retweets to API 2009-12-12 14:46:24 -05:00
Siebrand Mazeland
78a649ca0a Localisation updates for !StatusNet from !translatewiki.net !sntrans
* add Egyptian Spoken Arabic (arz)
2009-12-12 18:21:57 +01:00
Hue Bastard
59e5958d3a ticket 2055: added logos to Atom and RSS feeds 2009-12-11 16:15:22 -08:00
Evan Prodromou
683edfd199 show repeated notices correctly in API output 2009-12-11 12:40:05 -05:00
Evan Prodromou
1c370bb277 show repeated notices correctly in API output 2009-12-11 12:39:29 -05:00
Evan Prodromou
962f391f3e show original notice in repeat, with repeat info below 2009-12-11 12:10:58 -05:00
Evan Prodromou
afc86a86d3 save repeats from the form 2009-12-11 11:51:09 -05:00
Evan Prodromou
60754fc6de Merge branch '0.9.x' into forward 2009-12-11 11:38:08 -05:00
Evan Prodromou
79f81ad76d change Notice::saveNew() to use named arguments for little-used options 2009-12-11 11:29:51 -05:00
Evan Prodromou
81843f2acd show the repeat form in notice lists 2009-12-11 10:49:26 -05:00
Evan Prodromou
a5724cca49 do some moving around of forwarding stuff 2009-12-11 10:10:25 -05:00
Evan Prodromou
e9b733e7f0 Merge branch '0.9.x' into testing 2009-12-11 09:55:47 -05:00
Evan Prodromou
eceb5e8a0f remove forward action from router 2009-12-10 14:42:13 -05:00
Evan Prodromou
37b0852fdb move forward form to plugin 2009-12-10 14:33:15 -05:00
Craig Andrews
b36ec6da87 Fixed incorrect disabling of login_token. 2009-12-10 13:22:46 -05:00
Craig Andrews
b07e1143cc Override login_token's sequenceKey() so that it behaves correctly 2009-12-10 13:08:24 -05:00
Sarven Capadisli
1e166e1bc4 Updated FormNoticeEnhancements and Counter to use the max text value
from HTML. It also allows each .form_notice to have its own counter.
2009-12-10 14:16:07 +01:00
Brion Vibber
2f59f0ddb5 Compat fix for PHP 5.2.4 -- drop unneeded new param to debug_backtrace(), caused error spew on older PHP (introduced PHP 5.2.5)
Fix for regression in 4b5e977a7b
2009-12-08 17:35:27 -08:00
Evan Prodromou
21757186e9 don't allow forwarding your own notice 2009-12-08 17:52:20 -05:00
Evan Prodromou
41cbb90fae add (ugly) form to forward notices 2009-12-08 17:31:23 -05:00
Evan Prodromou
48a93810ab action to forward a notice 2009-12-08 17:20:45 -05:00
Brion Vibber
4b5e977a7b New _m() gettext wrapper with smart detection of plugin domains. Plugin base class registers your gettext files if present at initialization.
update_pot.sh replaced with update_po_templates.php which can do core, plugins, or all (default).
Top-level Makefile added to build .mo files for plugins as well as core.

As described on list:
http://lists.status.net/pipermail/statusnet-dev/2009-December/002869.html
2009-12-08 12:17:11 -08:00
Evan Prodromou
78fc9483d4 Merge branch '0.9.x' into testing 2009-12-08 14:43:21 -05:00
Brion Vibber
3536f01258 Make default & sample val for $config['queue']['queue_basename'] actually work! Now matches the recommendation in README which is in fact correct. Must include the /queue/ prefix (unless somthing else actually makes sense) 2009-12-08 09:57:37 -08:00
Craig Andrews
3b14b61fa7 Add a configuration option to disable the login command.
$config['logincommand']['disabled'] = true;

This commit should be reverted once the command has been sufficiently tested and trusted.
2009-12-05 21:05:33 -05:00
Craig Andrews
75cac0fd6b Added 'login' command that gives you a link that can be used to login to the website 2009-12-05 21:05:33 -05:00
Craig Andrews
2ab01e040e Add 2 new events to enable logger pluginization: StartLog and EndLog 2009-12-05 02:11:27 -05:00
Craig Andrews
51f0dd5e37 Add configuration option to toggle the indenting of the output HTML. Defaults to indent enabled. 2009-12-05 01:03:04 -05:00
Craig Andrews
fa66755508 Append the StatusNet version to all local, static CSS references 2009-12-04 22:05:18 -05:00
Craig Andrews
d41a0a5ed0 Use inlineScript() instead of element() to write inline javascript 2009-12-04 20:33:41 -05:00
Craig Andrews
b3086d3c68 Add style function to output style() tags
Add 2 new events: StartStyleElement and EndStyleElement
2009-12-04 20:19:55 -05:00
Craig Andrews
7ddf911f5d Add 2 new events: StartInlineScriptElement and EndInlineScriptElement 2009-12-04 19:51:44 -05:00
Craig Andrews
847013db69 only write the javascript CDATA blocks if the type is javascript (it's not the correct syntax for other languages) 2009-12-04 19:44:45 -05:00
Craig Andrews
4c8bed8ba0 Use inlineScript() everywhere inline scripts are written 2009-12-04 19:41:51 -05:00
Zach Copley
1fd7e5e379 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-04 22:43:34 +00:00
Zach Copley
4881be47c7 Don't depend on a User being available when looking up Design and timezone
for a profile (because some profiles are remote, etc.)
2009-12-04 22:42:09 +00:00
Evan Prodromou
5c973876ac Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-12-04 16:30:33 -05:00
Evan Prodromou
e074fe6599 add logging utilities to Plugin class 2009-12-04 15:34:25 -05:00
Brion Vibber
4afe07f0c3 Merge commit 'refs/merge-requests/108' of git://gitorious.org/statusnet/mainline into 0.9.x 2009-12-04 12:23:33 -08:00
Evan Prodromou
2c07d4a530 utility function to output inline JavaScript 2009-12-04 13:39:51 -05:00
Craig Andrews
40afc7e987 Add 4 new events: StartCssLinkElement, EndCssLinkElement, StartScriptElement, EndScriptElement 2009-12-04 01:57:14 -05:00
Zach Copley
aef4cc0a59 Make it impossible to block (and thus unsubscribe from your
self-subscription) via the API.  Additionally, make it impossible
to block yourself or unsubscribe from yourself, period.

I also made User use the subs.php helper function for unsubscribing
during a block.

Hopefully, these changes will get rid of the problem of people
accidentally deleting their self-subscriptions once and for all
(knock on wood).
2009-12-03 17:06:58 -08:00
Brion Vibber
c89b10ffe4 Code style cleanup: dropped some unnecessary =& reference assignments where they're used only out of habit for PHP 4-style object semantics 2009-12-03 12:58:48 -08:00
Zach Copley
bf4ed35a90 Merge branch '0.9.x'
* 0.9.x: (141 commits)
  Reload the admin design panel page to show the new CSS when the
  Only pick up new default site colors if the theme has NOT changed.
  Delete design when user chooses to restore default design, instead
  Localisation updates for !StatusNet from !translatewiki.net !sntrans
  Do not rebuild/add .mo files by default
  If an XHR notice is sent form a page that has no timeline, show a
  Revert "If the page doesn't have .notices, silently skip the notice XHR response"
  Revert "Clear/reset the XHR notice form on pages where there is no timeline"
  Clear/reset the XHR notice form on pages where there is no timeline
  If the page doesn't have .notices, silently skip the notice XHR response
  Remove useless debugging statement
  Moved form control styles (i.e., border and radius) out of base
  add pluginhandler to list of daemons to shut down
  Using box-shadow only on the current navigation item
  Updated theme readme
  Fix regression in password settings: users have been unable to change their passwords since introduction of ChangePassword event (later StartChangePassword)  November 5 in commit d6ddb84132
  Ticket 2048: make OMB posting HTTP timeout configurable as $config['omb']['timeout']; defaults to 5 seconds instead of 20-second default in Yadis library
  ticket 1100: add Drupal source link
  Fix makefile wildcards for locale compilation (now works on Ubuntu 8.04)
  typo fix: '$this' now spelled correctly. Looks like this'll fix acceptance of 'source' param for direct messages posted to API
  ...

Conflicts:
	js/util.js
	locale/ar/LC_MESSAGES/statusnet.po
	locale/bg/LC_MESSAGES/statusnet.po
	locale/ca/LC_MESSAGES/statusnet.po
	locale/cs/LC_MESSAGES/statusnet.po
	locale/de/LC_MESSAGES/statusnet.po
	locale/el/LC_MESSAGES/statusnet.po
	locale/en_GB/LC_MESSAGES/statusnet.po
	locale/es/LC_MESSAGES/statusnet.po
	locale/fi/LC_MESSAGES/statusnet.po
	locale/fr/LC_MESSAGES/statusnet.po
	locale/ga/LC_MESSAGES/statusnet.po
	locale/he/LC_MESSAGES/statusnet.po
	locale/is/LC_MESSAGES/statusnet.po
	locale/it/LC_MESSAGES/statusnet.po
	locale/ja/LC_MESSAGES/statusnet.po
	locale/ko/LC_MESSAGES/statusnet.po
	locale/mk/LC_MESSAGES/statusnet.po
	locale/nb/LC_MESSAGES/statusnet.po
	locale/nl/LC_MESSAGES/statusnet.po
	locale/nn/LC_MESSAGES/statusnet.po
	locale/pl/LC_MESSAGES/statusnet.po
	locale/pt/LC_MESSAGES/statusnet.po
	locale/pt_BR/LC_MESSAGES/statusnet.po
	locale/ru/LC_MESSAGES/statusnet.po
	locale/statusnet.po
	locale/sv/LC_MESSAGES/statusnet.po
	locale/te/LC_MESSAGES/statusnet.po
	locale/tr/LC_MESSAGES/statusnet.po
	locale/uk/LC_MESSAGES/statusnet.po
	locale/vi/LC_MESSAGES/statusnet.po
	locale/zh_CN/LC_MESSAGES/statusnet.po
	locale/zh_TW/LC_MESSAGES/statusnet.po
	plugins/Realtime/realtimeupdate.js
2009-12-03 12:51:21 -08:00
Zach Copley
008f51db4d Delete design when user chooses to restore default design, instead
of saving a design with site defaults.
2009-12-03 00:56:53 +00:00
Zach Copley
4f359d2a8b Delete design when user chooses to restore default design, instead
of saving a design with site defaults.
2009-12-02 16:44:23 -08:00
Brion Vibber
edb2578e93 Ticket 2048: make OMB posting HTTP timeout configurable as $config['omb']['timeout']; defaults to 5 seconds instead of 20-second default in Yadis library 2009-12-01 14:53:27 -08:00
Brion Vibber
15a9c86979 Ticket 2048: make OMB posting HTTP timeout configurable as $config['omb']['timeout']; defaults to 5 seconds instead of 20-second default in Yadis library 2009-12-01 14:50:18 -08:00
Zach Copley
220510f372 Add missing rule for /api/users/show.:format 2009-12-01 12:42:51 -08:00
Zach Copley
4a4d8bd271 Revert "Fix problem where screen_name and user_id parameters are being"
The problem this was trying to fix is actually caused by a missing
routing rule.  Silly me.

This reverts commit 2451192415.
2009-12-01 12:42:39 -08:00
Zach Copley
7591439451 Add missing rule for /api/users/show.:format 2009-12-01 10:02:22 -08:00
Zach Copley
4003e51b91 Revert "Fix problem where screen_name and user_id parameters are being"
The problem this was trying to fix is actually caused by a missing
routing rule.  Silly me.

This reverts commit 2451192415.
2009-12-01 09:57:47 -08:00
Zach Copley
234e6a10b1 Fix problem where screen_name and user_id parameters are being
ignored due to the router sending in '[a-zA-Z0-9]+' for the id
parameter when no id is specified as part of the URL.
2009-11-30 13:17:36 -08:00
Zach Copley
2451192415 Fix problem where screen_name and user_id parameters are being
ignored due to the router sending in '[a-zA-Z0-9]+' for the id
parameter when no id is specified as part of the URL.
2009-11-30 13:08:55 -08:00
Brion Vibber
9d58b3763e Include group memberships count & user groups management page link in profile sidebar to match subscribers & subscribees lists. This is the only obvious way to reach the user group membership details page if there are fewer group subs than the max number of icons to show. 2009-11-30 10:41:24 -08:00
Zach Copley
9dc888894b Merge branch 'master' into 0.9.x
* master: (67 commits)
  Ticket 2038: fix bad bug tracker link
  Fix regression in group posting: bug introduced in commit 1319002e15. Need to use actual profile object rather than an id on a variable that doesn't exist when checking blocks :D
  Log database errors when saving notice_inbox entries
  Drop the username from the log id for now; seems to trigger an error loop in some circumstances
  request id on logs... pid + random id per web request + username + method + url
  Add OpenID ini info back into statusnet.ini as a stopgap until we can
  Some changes to the OpenID DataObjects to make them emit the exact same
  OpenID plugin should set 'user_openid.display' as unique key
  Remove relationship: user_openid.user_id -> user.id. I don't think this
  Have OpenID plugin DataObjects emit their own .ini info
  Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
  Catch and report exceptions from notice_to_omb_notice() instead of letting the OMB queue handler die.
  Fix regression in remote subscription; added hasRole() shadow method on Remote_profile.
  Fix fatal error on OMB subscription for first-timers
  Remove annoying log msg
  Drop error message on setlocale() failure; this is harmless, since we actually have a working locale set up.
  Catch uncaught exception
  Fixed bug where reply-sync bit wasn't getting saved
  Forgot to render the nav menu when on FB Connect login tab
  Facebook plugin no longer takes over Login and Connect settings nav menus
  ...

Conflicts:
	db/08to09_pg.sql
	db/statusnet_pg.sql
	locale/pt_BR/LC_MESSAGES/statusnet.mo
	plugins/Mapstraction/MapstractionPlugin.php
2009-11-30 10:28:58 -08:00
Siebrand Mazeland
dff5103399 Add new user language hsb / Upper Sorbian 2009-11-28 20:53:05 +01:00
Brion Vibber
914242e224 Drop the username from the log id for now; seems to trigger an error loop in some circumstances 2009-11-27 13:30:21 -08:00
Brion Vibber
9f075a6898 Drop the username from the log id for now; seems to trigger an error loop in some circumstances 2009-11-27 13:29:33 -08:00
Brion Vibber
b933f5bb15 request id on logs... pid + random id per web request + username + method + url 2009-11-27 12:32:55 -08:00
Brion Vibber
5bacd98905 request id on logs... pid + random id per web request + username + method + url 2009-11-27 12:28:15 -08:00
Siebrand Mazeland
c6b1ca3765 * Mb -> MB (for megabyte)
* i18n for MB and kB
2009-11-26 23:28:16 +01:00
Sarven Capadisli
5f5a107991 Init UI to show/hide a group of moderation actions. 2009-11-26 18:46:11 +00:00
Brenda Wallace
45dbdc8c4d and a typo in column name fixed 2009-11-26 20:41:47 +13:00
Brenda Wallace
09a5c313ba added missing space after new group by fields 2009-11-26 20:39:51 +13:00
Brenda Wallace
d50a813eb1 added more fields to the group by. 2009-11-26 20:28:20 +13:00
Brenda Wallace
c3110ec8ac check there is an array of notices to display, before doing a foreach() 2009-11-26 18:54:52 +13:00
Zach Copley
2b6cf0d8b6 Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
This reverts commit a373d07ae0.

Conflicts:

	classes/statusnet.ini
	lib/schema.php
	plugins/Authentication/AuthenticationPlugin.php
	plugins/OpenID/OpenIDPlugin.php
	plugins/UserFlag/UserFlagPlugin.php
2009-11-25 23:54:36 +00:00
Zach Copley
bd4a613c38 Merge branch 'fix-openid' into 0.9.x 2009-11-25 23:33:13 +00:00
Brion Vibber
11abd4bfb7 Catch and report exceptions from notice_to_omb_notice() instead of letting the OMB queue handler die. 2009-11-25 15:23:11 -08:00
Brion Vibber
2dc62d21f7 Catch and report exceptions from notice_to_omb_notice() instead of letting the OMB queue handler die. 2009-11-25 15:21:51 -08:00
Brion Vibber
b771a8bb21 Fix regression in remote subscription; added hasRole() shadow method on Remote_profile.
DB_DataObject hides errors by silently returning null for any non-existent method call, making it harder to tell what the heck's going on... the rights check for blocked remote users returned null for the check for subscribe rights, thus eval'ing to false. We now log a note in this circumstance, which would have cut about 3 hours off of the debug time.
2009-11-25 22:23:21 +00:00
Brion Vibber
4d71dbe98c Fix regression in remote subscription; added hasRole() shadow method on Remote_profile.
DB_DataObject hides errors by silently returning null for any non-existent method call, making it harder to tell what the heck's going on... the rights check for blocked remote users returned null for the check for subscribe rights, thus eval'ing to false. We now log a note in this circumstance, which would have cut about 3 hours off of the debug time.
2009-11-25 22:22:21 +00:00
Zach Copley
8acc1587b1 Revert "Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them"
This reverts commit a373d07ae0.

Conflicts:

	classes/statusnet.ini
	lib/schema.php
	plugins/Authentication/AuthenticationPlugin.php
	plugins/OpenID/OpenIDPlugin.php
	plugins/UserFlag/UserFlagPlugin.php
2009-11-25 13:38:59 -08:00
Brion Vibber
6d5d63636a Drop error message on setlocale() failure; this is harmless, since we actually have a working locale set up. 2009-11-25 11:23:11 -08:00
Brion Vibber
4ef515973a Drop error message on setlocale() failure; this is harmless, since we actually have a working locale set up. 2009-11-25 11:20:41 -08:00
Brion Vibber
4b59cf0e3f Fix regression in OMB sending with queues enabled -- items never got dequeued, leading to ever-growing queue and big delays.
Success return code from omb_broadcast_message was dropped in commit ec88d2650e (Aug 10 2009) which switched us to libomb backend. With queues enabled, this would lead to the notice being readded to the outgoing OMB queue for redelivery as the queue system thought the send failed. The resends caused extra load and confusion for third-party sites, and more worryingly just plugged up our own queue so legit messages were badly delayed.

This commit should restore the previous state, where we fire-and-forget; that is, we're not actually checking to see if all remote subscribers received the message successfully and there will be no resends.
2009-11-24 15:33:26 -08:00
Brion Vibber
a9bbfd1852 Fix regression in OMB sending with queues enabled -- items never got dequeued, leading to ever-growing queue and big delays.
Success return code from omb_broadcast_message was dropped in commit ec88d2650e (Aug 10 2009) which switched us to libomb backend. With queues enabled, this would lead to the notice being readded to the outgoing OMB queue for redelivery as the queue system thought the send failed. The resends caused extra load and confusion for third-party sites, and more worryingly just plugged up our own queue so legit messages were badly delayed.

This commit should restore the previous state, where we fire-and-forget; that is, we're not actually checking to see if all remote subscribers received the message successfully and there will be no resends.
2009-11-24 15:29:47 -08:00
Zach Copley
3556861596 Fix SSL options for Twitter bridge HTTP requests 2009-11-24 19:12:57 +00:00
Zach Copley
b20b59e9ea Fix SSL options for Twitter bridge HTTP requests 2009-11-24 19:11:34 +00:00
Brion Vibber
2fabf586c7 Break TableDef, ColumnDef classes to separate files so autoloader can find them.
With $config['db']['schemacheck'] set to 'script' in live deployment, Schema class wasn't being preloaded for us; the uses of TableDef by plugins for DataObject configuration would then fail because the class wasn't loaded. Broken to separate files, the autoloader can find all classes in either case.

PHP Fatal error:  Class 'TableDef' not found in /var/www/statusnet/plugins/OpenID/User_openid.php on line 43, referer: http://identi.ca/brionv/all
2009-11-24 09:40:47 -08:00
Brion Vibber
2da531d7d6 Break TableDef, ColumnDef classes to separate files so autoloader can find them.
With $config['db']['schemacheck'] set to 'script' in live deployment, Schema class wasn't being preloaded for us; the uses of TableDef by plugins for DataObject configuration would then fail because the class wasn't loaded. Broken to separate files, the autoloader can find all classes in either case.

PHP Fatal error:  Class 'TableDef' not found in /var/www/statusnet/plugins/OpenID/User_openid.php on line 43, referer: http://identi.ca/brionv/all
2009-11-24 09:38:16 -08:00
Brion Vibber
4bd17a7f59 Ticket 2007: make search tabs grammar forms consistent (People, Notices, Groups) 2009-11-23 06:42:02 -08:00
Craig Andrews
bdc0d2dc78 Use sprintf and gettext to output the DMS version of the location. More translator-friendly. 2009-11-21 22:34:54 -05:00
Siebrand Mazeland
df6796763d i18n for "Search" button text 2009-11-21 16:04:20 +01:00
Siebrand Mazeland
ca7f701f17 i18n for "Keyword(s)" 2009-11-21 15:59:54 +01:00
Brion Vibber
979e0a14ae Disable XHTML Content-Type negotiation... You've foiled our plans for the last time!
XHTML mode breaks a lot of JS and has been causing trouble for Safari and Chrome, especially with the fancier new UI-side plugins like realtime and maps.
2009-11-20 16:35:16 -08:00
Brion Vibber
330ddd1d9b Disable XHTML Content-Type negotiation... You've foiled our plans for the last time!
XHTML mode breaks a lot of JS and has been causing trouble for Safari and Chrome, especially with the fancier new UI-side plugins like realtime and maps.
2009-11-20 16:34:01 -08:00
Craig Andrews
f32fb65c6d Display lat/lon in DMS format 2009-11-20 18:20:23 -05:00
Craig Andrews
83ba93e945 Change the format of the lat/lon output on a notice in HTML 2009-11-20 17:40:38 -05:00
Craig Andrews
38f8d3d11b Revert "Use the geo microformat as documented at http://microformats.org/wiki/geo"
This reverts commit 67add64291.
2009-11-20 17:33:22 -05:00
Evan Prodromou
224d82793c Revert "Added 'login' command that gives you a link that can be used to login to the website"
This reverts commit b9d40f723b.

Conflicts:

	actions/login.php
	classes/statusnet.ini
	db/08to09.sql
	db/08to09_pg.sql
	db/statusnet_pg.sql
	lib/command.php
	lib/commandinterpreter.php
2009-11-20 02:50:43 -08:00
Evan Prodromou
c0d4e0990f revert adding avatar IMG to jabber output; shows entire URL in some Jabber clients 2009-11-20 03:38:24 -05:00
Zach Copley
5159340bc6 Updated version info 2009-11-20 05:56:02 +00:00
Craig Andrews
67add64291 Use the geo microformat as documented at http://microformats.org/wiki/geo 2009-11-19 19:13:55 -05:00
Zach Copley
288d875b79 Added validation to fields in user admin panel 2009-11-19 15:17:24 -08:00
Zach Copley
8618b064e2 Added a user admin panel 2009-11-19 15:02:25 -08:00
Craig Andrews
8628db5208 Add geometa library, and include it.
Geometa provides a fallback for W3C geolocation so that Google Gears or Google's Client Location service can also be used
2009-11-19 15:17:57 -05:00
Craig Andrews
9a74a094ed Add location form elements to the noticeform, and save their values on submission 2009-11-19 15:17:57 -05:00
Eric Helgeson
b96b5e9a07 Revert "Re added NICKNAME_FMT constant to router.php."
This reverts commit 9f15febf88.

Issues with remote OMB. Will revisit and fix correctly
2009-11-19 14:58:32 -05:00
Zach Copley
b8de14af2c Moved most path and server settings to a new paths admin panel 2009-11-19 11:55:07 -08:00
Craig Andrews
ee22b2ccf9 tobyink's RDF compatibility patch 2009-11-19 12:16:15 -05:00
Craig Andrews
4463768bae tobyink's location RDF patch 2009-11-19 12:00:25 -05:00
Sarven Capadisli
10dc9078f5 Added lat and lon coordinates to notice location 2009-11-19 16:42:04 +00:00
Sarven Capadisli
ece0675ef8 Added @class 'location', 'at' text reference for name, and @class 'geo' 2009-11-19 15:14:47 +00:00
Sarven Capadisli
d1893a1ca9 Changed notice source and location order 2009-11-19 14:27:20 +00:00
Zach Copley
6165c9601d Merge branch 'admin-sections/2' into 0.9.x
* admin-sections/2:
  Design admin panel mostly done.
2009-11-18 18:52:09 -08:00
Zach Copley
cf7188a458 Design admin panel mostly done. 2009-11-18 18:25:36 -08:00
Brion Vibber
1827256d0e Added support for pgettext() and npgettext() to separate contexts for translatable messages that are going to be ambiguous in English original. 2009-11-18 14:57:18 -08:00
Craig Andrews
cac5a417f2 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2009-11-18 17:04:42 -05:00
Brion Vibber
645b7dec2b Terminology consistency fix: 'Unlock' -> 'Unblock' in unblock form description. 2009-11-18 12:29:47 -08:00
Craig Andrews
d07df8a796 Added Authorization plugin
Added LDAPAuthorization plugin
2009-11-18 14:19:43 -05:00
Zach Copley
7e0af92813 First draft of the admin panel for site design 2009-11-18 00:00:05 -08:00
Brion Vibber
63ebb033bf Declare global usage in common.php so setup works right when called from phpunit tests
We end up running the tests through a function in PHPUnit, so we don't have automatic global scope at the top level of files all the time...
2009-11-17 16:31:13 -08:00
Evan Prodromou
bac2d80c91 Merge branch '0.9.x' into adminpanel
Conflicts:
	classes/User.php
2009-11-17 08:04:14 -05:00
Evan Prodromou
6a1afda259 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	classes/statusnet.ini
2009-11-17 06:25:07 -05:00
Brion Vibber
8ab40e7051 Cleanup for bug 1813: workaround sometimes-missing dl() in PHP 5.3 by defining our own bogus function rather than attempting to patch upstream libs. This keeps our fix across upstream versions (or when loading upstream library from outside extlib)
Note that fixes to OpenID libraries in commit fe9473ac78 were lost in just such an update.
2009-11-16 15:45:15 -08:00
Craig Andrews
a99198ba94 Do proper translations for plurals 2009-11-16 15:57:57 -05:00
Craig Andrews
a373d07ae0 Allow plugin DB_DataObject classes to not have to use the .ini file by overriding keys(), table(), and sequenceKey() for them 2009-11-16 15:24:25 -05:00
Evan Prodromou
d59af02960 disallow email on faves from sandboxed users 2009-11-16 14:28:55 -05:00
Evan Prodromou
05ff8925bf prevent email notification on replies by sandboxed users 2009-11-16 14:18:51 -05:00
Evan Prodromou
2ad4de45e6 block subscribes by silenced users 2009-11-16 14:12:35 -05:00
Evan Prodromou
e150d920a5 silently skip email for subs from sandboxed user 2009-11-16 14:11:14 -05:00
Evan Prodromou
e9321a1806 more rights denied to silenced and sandboxed 2009-11-16 19:46:08 +01:00
Evan Prodromou
f1efb845e4 don't allow sandboxed users to post public notices 2009-11-16 19:22:22 +01:00
Evan Prodromou
d2145a5b7f Move rights check to profile and add right for new notices
Added a right for new notices, realized that the hasRight() method
should be on the profile, and moved it.

Makes this a less atomic commit but that's the way it goes sometimes.
2009-11-16 19:03:59 +01:00
Evan Prodromou
0580e824f0 use return-to method for UserProfile widget 2009-11-16 17:54:50 +01:00
Evan Prodromou
968058c68b getting arguments for return-to processing 2009-11-16 17:54:34 +01:00
Craig Andrews
0e7dd81a6c Added a "groups" command 2009-11-16 11:23:00 -05:00
Craig Andrews
73b4d770a2 Changed to StatusNet consistent terminology 2009-11-16 11:17:14 -05:00
Evan Prodromou
4f9f3665f7 add routes for silence, sandbox, delete user 2009-11-16 17:06:35 +01:00
Evan Prodromou
a723cc979b correct constructor for DeleteUserForm 2009-11-16 17:06:12 +01:00
Evan Prodromou
ee5c9a5c90 give UnsilenceForm correct superclass 2009-11-16 17:05:39 +01:00
Evan Prodromou
9cc0d65240 give UnsandboxForm correct superclass 2009-11-16 17:05:31 +01:00
Evan Prodromou
d968b5b4f1 give SilenceForm proper superclass 2009-11-16 17:05:03 +01:00
Evan Prodromou
ff88ef407a make block actions use profileformaction superclass 2009-11-16 14:40:04 +01:00
Evan Prodromou
64677fc09a common superclass for actions that operate on a profile and return 2009-11-16 14:28:58 +01:00
Craig Andrews
f04dbc8fa2 Add "followers" and "following" commands 2009-11-16 00:19:47 -05:00
Evan Prodromou
d24ed193e7 add forms for silence, sandbox, delete user 2009-11-15 16:00:29 +01:00
Evan Prodromou
c9475c76a8 define rights around how to silence, sandbox, and delete a user 2009-11-15 15:59:10 +01:00
Evan Prodromou
e3b53565bb unblockform uses profileactionform 2009-11-15 15:57:59 +01:00
Evan Prodromou
d5032fc3a3 blockform uses profileactionform 2009-11-15 15:57:52 +01:00
Evan Prodromou
e9225fabdd common superclass for forms that operate on a profile 2009-11-15 15:57:37 +01:00
Brion Vibber
133ca0ef6b Fix regression from 9f372da3da: typo in refactoring caused fatal error on unrecognized message source 2009-11-14 13:10:47 -08:00
Evan Prodromou
fe18063bd2 Revert "Ask users if they wish to send statistics to SNI, default is off."
This reverts commit 7efea1115f.

Conflicts:

	install.php
2009-11-14 17:38:10 +01:00
brenda
2147ac510f don't offer install.php on check-fancy requests
this time, E_STRICT compliant
2009-11-14 16:52:39 +13:00
Sarven Capadisli
1bac324072 Moved class="pagination" to child element and removed element 2009-11-13 12:26:24 +00:00
Sarven Capadisli
12d3c44480 Added hAtom for profile and group lists 2009-11-13 12:13:38 +00:00
Siebrand Mazeland
21603f0225 Fix typo (!. -> !) 2009-11-13 11:28:54 +01:00
Craig Andrews
f60a55d9ec blasted, that should not be there 2009-11-12 20:15:10 -05:00
Craig Andrews
ed690615de Added a User_username table that links the external username with a StatusNet user_id
Added EmailAuthenticationPlugin
Added ReverseUsernameAuthenticationPlugin
Changed the StartChangePassword and EndChangePassword events to take a user, instead of a nickname
User::allowed_nickname was declared non-static, but used as if it was static, so I made the declaration static
2009-11-12 20:12:36 -05:00
Brion Vibber
d8fe5224cb Fix for bug 1974: drop unnecessary define_syslog_variables() call from common.php
The call was moved to this spot in commit 3ea1119e50 (previously init'd later in another func) but doesn't seem to be needed anyway. None of our code uses the variables that this function defines, just the constants -- which are already predefined without the call.

The function is deprecated in PHP 5.3 and gone in 6, so we may as well toss it now.
2009-11-12 09:02:00 -08:00
Eric Helgeson
7efea1115f Ask users if they wish to send statistics to SNI, default is off.
Users may not know about this setting and are unaware they are sending stats.
This allows them to make that decision.
2009-11-11 18:45:21 -05:00
Craig Andrews
59e8896212 Add the [noticeid] to the end of text only jabber messages 2009-11-11 18:03:07 -05:00
Craig Andrews
074b9faee0 Remove alt text on avatar url (so pidgin doesn't show it)
surround notice_id with [], looks nicer
2009-11-11 18:00:58 -05:00
Craig Andrews
1c4bacf7bc Remove registerUrlShortener() (no longer used) 2009-11-11 16:51:10 -05:00
Craig Andrews
014d6b1d19 Redid how URL shorteners work. This way is much more like how Evan wants events to work (and more like how the rest of SN works). 2009-11-11 14:04:44 -05:00
Brion Vibber
7f8dbb8e45 Fix bug 1963: Web UI throws warnings during previously open login session after user account is deleted
common_logged_in() returned bogus results because it checks against null specifically, but common_current_user() was sticking 'false' into $_cur because that's what User::staticGet() returned from a failed lookup. Now we skip over a failed lookup here, so we keep null and all is well.
2009-11-11 10:38:11 -08:00
Evan Prodromou
494a06f388 add designadminpanel to admin panel tabset 2009-11-11 01:44:24 -05:00
Evan Prodromou
bcb0447eda add designadminpanel to router 2009-11-11 01:43:56 -05:00
Evan Prodromou
935410e8dc Merge branch '0.9.x' into adminpanel 2009-11-11 00:22:42 -05:00
Zach Copley
db64b61296 Merge branch '0.9.x' into finish-account-api
* 0.9.x:
  Added a events for the settings menu items
  Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server.
  Changed to Evan's event style and added an AuthPlugin superclass
  add geo output to statuses in json, xml, atom, rss in API
  Localisation updates from translatewiki.net (2009-11-10)
  Localisation updates from translatewiki.net
  Update pot
  add lat and long parameters to api/statuses/update
  change credential check to work more like other events
  fixup output of object attributes in db error code
  Performance fix for subscription/subscriber lists based on feedback from ops.
  Adjusting indexes to make favorites query more efficient, based on feedback from ops.
  Revert untested code; spews PHP notice warnings on every page view: "just sent a http 200 for the check-fancy from install.php"
  Added hook for the Group navigation items
  Updated block @title text (shouldn't say from group)
  Updated group block markup
  Revert "Remove more contractions"
2009-11-10 15:25:43 -08:00
Craig Andrews
91332cdadc Added a events for the settings menu items 2009-11-10 17:54:55 -05:00
Zach Copley
4e4ba24c00 Implement /api/account/update_delivery_device.format 2009-11-10 14:36:41 -08:00
Brion Vibber
53c86c43c4 Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server.
Upgrade notes:
* Index names have changed from hardcoded 'Identica_people' and 'Identica_notices' to use the database name and actual table names. Must reindex.

New events:
* GetSearchEngine to override default search engine class selection from plugins

New scripts:
* gen_config.php generates a sphinx.conf from database configuration (with theoretical support for status_network table, but it doesn't seem to be cleanly queriable right now without knowing the db setup info for that. Needs generalized support.)
* Replaced old sphinx-indexer.sh and sphinx-cron.sh with index_update.php

Other fixes:
* sphinx.conf.sample better matches our live config, skipping unused stopword list and using a more realistic indexer memory limit

Further notes:
* Probably doesn't work right with PostgreSQL yet; Sphinx can pull from PG but the extraction queries currently look like they use some MySQL-specific functions.
2009-11-10 13:44:40 -08:00
Evan Prodromou
1f5f5474f1 Merge branch '0.9.x' into adminpanel 2009-11-10 16:27:23 -05:00
Evan Prodromou
651cbf0681 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-10 16:15:20 -05:00
Evan Prodromou
cb64cfb44c add geo output to statuses in json, xml, atom, rss in API 2009-11-10 16:15:05 -05:00
Siebrand Mazeland
da372c4d88 Localisation updates from translatewiki.net
* adding Arabic localisation
2009-11-10 22:03:11 +01:00
Evan Prodromou
923fa068a6 change credential check to work more like other events 2009-11-10 14:45:19 -05:00
Evan Prodromou
7ae10c27b0 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	lib/util.php
2009-11-10 14:26:49 -05:00
Evan Prodromou
8d5c2b3129 fixup output of object attributes in db error code 2009-11-10 14:06:30 -05:00
Brion Vibber
486dbe6aef Revert untested code; spews PHP notice warnings on every page view: "just sent a http 200 for the check-fancy from install.php"
Notice: Undefined index: p in /Library/WebServer/Documents/mublog/lib/common.php on line 41

This reverts commit 223fee2ad1.
2009-11-10 07:57:58 -08:00
Brion Vibber
333c376c95 Merge remote branch 'statusnet/0.9.x' into 0.9.x 2009-11-10 06:44:53 -08:00
Sarven Capadisli
069d3f2b2f Added hook for the Group navigation items 2009-11-10 13:52:47 +00:00
Zach Copley
cae06a49ea Merge branch '0.9.x' into finish-account-api
* 0.9.x: (26 commits)
  just sent a http 200 for the check-fancy from install.php
  Add a new event: CanUserChangeField
  shorten flag notification and include a class
  Added flag icon for UserFlag plugin
  Fixed notice option alignment in IE
  add a method to Theme class to list available themes
  Updated Realtime plugin to use the util's NoticeReply object
  Localisation updates from translatewiki.net (2009-11-08)
  Update pot again
  Rebuild pot file *without* --join-existing to get rid of the cruft. Not sure why "--join-existing" must be in. Only thing I can think of is manual additions, which I could not find.
  Revert "More precise field label"
  Remove more contractions
  Revert "* [Cc]an't -> [Cc]annot"
  Revert "More specifics on 'address'"
  * [Cc]an't -> [Cc]annot
  Revert "* check usage of 'people' in UI and change it to 'users' or something else in most places"
  add utilities for calculating local and installation theme root dirs
  Harmonise UI message "No such user."
  Restructure theme.php to define a class Theme
  entity_action responses look more inactive now
  ...
2009-11-10 00:43:58 -08:00
Zach Copley
dbb86f9486 Output profile background image info in the API user objects 2009-11-10 00:30:56 -08:00
Zach Copley
312c745884 Implement /api/account/update_profile.format 2009-11-09 23:13:59 -08:00
Zach Copley
322a4c3ed1 Implement /api/account/update_profile_colors.format 2009-11-09 22:24:32 -08:00
Brenda Wallace
223fee2ad1 just sent a http 200 for the check-fancy from install.php 2009-11-10 15:53:07 +13:00
Craig Andrews
3be1205714 Add a new event: CanUserChangeField 2009-11-09 17:43:37 -05:00
Brion Vibber
088081675f Revert "Remove more contractions"
This reverts commit 5ab709b739.

Missed this one yesterday...
2009-11-09 20:01:46 +01:00
Evan Prodromou
348b155376 add nav menu for admin panel 2009-11-09 13:40:37 -05:00
Evan Prodromou
a4905c03ba add site admin to global primary nav 2009-11-08 22:31:19 -05:00
Evan Prodromou
691beefd0f Merge branch '0.9.x' into adminpanel 2009-11-08 21:41:43 -05:00
Evan Prodromou
aa0d9a8615 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-08 21:23:25 -05:00
Evan Prodromou
76b0e6e6f4 Merge branch '0.9.x' into adminpanel 2009-11-08 21:23:09 -05:00
Evan Prodromou
f086dddf43 add a method to Theme class to list available themes 2009-11-08 21:18:57 -05:00
Zach Copley
5c091dab9b Implement /api/account/update_profile_background_image.format 2009-11-08 15:29:04 -08:00
Siebrand Mazeland
b10f362ede Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2009-11-08 23:33:58 +01:00
Siebrand Mazeland
5ab709b739 Remove more contractions
* doesn't
* won't
* isn't
* don't
2009-11-08 23:32:15 +01:00
Brion Vibber
fc5002015b Revert "* [Cc]an't -> [Cc]annot"
This reverts commit 0ab17f382b.
2009-11-08 23:28:51 +01:00
Brion Vibber
ec6a38a627 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2009-11-08 23:27:24 +01:00
Siebrand Mazeland
104a47e4a2 Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2009-11-08 23:22:50 +01:00
Siebrand Mazeland
0ab17f382b * [Cc]an't -> [Cc]annot
* [Cc]ould't -> [Cc]ould not
2009-11-08 23:22:38 +01:00
Brion Vibber
a034fb0b82 Revert "* check usage of 'people' in UI and change it to 'users' or something else in most places"
This reverts commit 81b4a381d9.
IMO "user" is a bit impersonal and we shouldn't go changing the tone of the UI willy-nilly when we're updating localisations.
2009-11-08 23:22:13 +01:00
Evan Prodromou
cbae1b0c8b add utilities for calculating local and installation theme root dirs 2009-11-08 17:16:50 -05:00
Siebrand Mazeland
221b779e88 Harmonise UI message "No such user." 2009-11-08 23:10:44 +01:00
Evan Prodromou
111f6a775d Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-08 17:06:41 -05:00
Evan Prodromou
b7e2e3fd2b Restructure theme.php to define a class Theme
For various reasons, it's nicer to have a class for theme-file paths
and such. So, I've rewritten the code for determining the locations of
theme files to be more OOPy.

I changed all the uses of the two functions in the module (theme_file
and theme_path) to use Theme::file and Theme::path respectively.

I've also removed the code in common.php that require's the module;
using a class means we can autoload it instead.
2009-11-08 17:04:46 -05:00
Siebrand Mazeland
99ebb56529 !. => ! 2009-11-08 22:39:02 +01:00
Siebrand Mazeland
81b4a381d9 * check usage of 'people' in UI and change it to 'users' or something else in most places
* change some contractions to full text in UI messages
2009-11-08 22:26:13 +01:00
Evan Prodromou
d0466da80b add site admin panel 2009-11-07 23:17:52 -05:00
Evan Prodromou
dd9fa0e683 only load user once, reload settings in admin panel 2009-11-07 23:16:34 -05:00
Evan Prodromou
46cd7b9636 Merge branch '0.9.x' into adminpanel 2009-11-07 22:26:14 -05:00
Evan Prodromou
1de9496c7f fix constant for deleteothersnotice 2009-11-07 22:26:03 -05:00
Evan Prodromou
ee99a8ef50 superclass for adminpanel actions 2009-11-07 19:18:22 -05:00
Evan Prodromou
589185ce87 uppercase right constants 2009-11-07 19:16:15 -05:00
Evan Prodromou
31bbdacbf3 add a method to Action to check session token 2009-11-07 18:51:57 -05:00
Evan Prodromou
d10ee1763b ->action -> ->out in UserProfile 2009-11-07 13:18:09 -05:00
Evan Prodromou
742317c0da fix userprofile widget so it correctly provides an action 2009-11-07 13:16:29 -05:00
Zach Copley
b522c401e6 Better workaround for PHP returning empty $_POST and $_FILES when
POST length > post_max_size in php.ini. I also added this check to
avatar upload, which was failing with huge files.
2009-11-06 17:21:08 -08:00
Sarven Capadisli
0994fa31d6 Added missing closing span tag 2009-11-06 15:28:58 +01:00
Sarven Capadisli
87543292d1 Fixed some group list styles 2009-11-06 15:26:13 +01:00
Sarven Capadisli
1c72461394 Removed dl "stuff" 2009-11-06 15:03:35 +01:00
Sarven Capadisli
4eea7f55ef Check if it is empty instead of '' 2009-11-06 13:32:04 +01:00
Sarven Capadisli
6f2aa1394b Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-06 12:54:20 +01:00
Sarven Capadisli
85647719a3 Updated styles for profile list re: commit
3c4ac05cde
2009-11-06 12:51:28 +01:00
Brion Vibber
793a4ef4d5 kill tabs 2009-11-06 12:15:08 +01:00
Brion Vibber
e909d0a639 Add Icelandic to the language support list so the localization can actually be used :) 2009-11-06 11:51:28 +01:00
Sarven Capadisli
7ce49e4bcf Removed .uid from group profiles in a list 2009-11-06 11:30:41 +01:00
Craig Andrews
1845c8c773 Added an AutoRegister event
LDAP plugin can do autoregistration
2009-11-05 16:40:41 -05:00
Eric Helgeson
9f15febf88 Re added NICKNAME_FMT constant to router.php.
Usefull for non-OMB (behind the firewall) users to allow different nicknames.
2009-11-05 16:38:35 -05:00
Brion Vibber
066331bdf7 Merge commit 'refs/merge-requests/2006' of git://gitorious.org/statusnet/mainline into integration 2009-11-05 15:50:29 +01:00
Brion Vibber
2bb93438a1 Error page fix: use class static accessor correctly, suppress notices if we don't have the error code listed 2009-11-05 10:58:38 +01:00
Zach Copley
2fc01dc7d1 Remove debugging statements 2009-11-04 22:12:01 -08:00
Zach Copley
1ef1f59fe8 Fix for Ticket #1957 - API methods are not accessible when site is private (0.8->0.9 regression) 2009-11-04 22:03:41 -08:00
Zach Copley
527427d3e0 Implement update avatar via API (/api/account/update_profile_image.format) 2009-11-04 21:00:26 -08:00
Craig Andrews
a82df5fae8 Added a CheckPassword event 2009-11-04 13:06:55 -05:00
Shashi
b12caedb88 Widgetized user profile rendering. 2009-11-04 18:41:17 +05:30
Zach Copley
d03a57853e Don't try to pull up designs for non-existent users 2009-11-03 09:55:35 -08:00
Craig Andrews
b9d40f723b Added 'login' command that gives you a link that can be used to login to the website 2009-11-02 18:40:49 -05:00
Evan Prodromou
a2b8303925 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	classes/User.php
2009-11-02 18:13:04 -05:00
Brion Vibber
86560eeb3d Merge commit 'refs/merge-requests/1900' of git://gitorious.org/statusnet/mainline into integration 2009-11-02 10:16:06 -08:00
Craig Andrews
1cf67f4f71 allow <> to surround the url (like () or []) 2009-11-02 12:59:11 -05:00
Craig Andrews
8782f5fedf do not allow " in URLs - they are not legal URL characters 2009-11-02 12:53:02 -05:00
Craig Andrews
b179ab650a do not allow [ and ] - they are not legal URL characters 2009-11-02 12:53:02 -05:00
Brion Vibber
5581143bee Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.

* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries
* adapted GeonamesPlugin for new HTTPResponse interface

Note some plugins haven't been fully tested yet.
2009-11-02 09:14:15 -08:00
Brion Vibber
73b9e531bf Detect "no file" upload error and, for now at least, ignore it gracefully.
This was triggering on non-AJAX form submissions for new notices, preventing them from being posted when they contained no attachments.
2009-11-02 09:10:06 -08:00
Evan Prodromou
c991047fc4 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-11-02 11:23:41 -05:00
Evan Prodromou
3c4ac05cde remove <dl> stuff from profile list 2009-11-02 11:23:31 -05:00
Brion Vibber
b22fc5b74a Revert "Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions."
Going to restructure a little more before finalizing this...

This reverts commit fa37967858.
2009-11-02 07:51:29 -08:00
Brion Vibber
fa37967858 Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.

* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries

Note some plugins haven't been tested yet.
2009-11-02 06:31:28 -08:00
Brion Vibber
8e64723813 Make unit tests work again by forcing a 'global' on $_have_a_config...
Fix a typo in the error message when no config file found.
2009-11-02 06:14:08 -08:00
Zach Copley
4abbf44068 Remove stale references to old apiaction parameter 2009-11-01 16:32:45 -08:00
Evan Prodromou
44ce8e2fcd Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-10-31 14:47:21 -04:00
Evan Prodromou
521bd68d7c revert revert on getfile 2009-10-31 14:43:01 -04:00
Evan Prodromou
4e9ec0d0e1 merge from testing 2009-10-31 14:36:04 -04:00
Evan Prodromou
4056a26017 Revert "Added getfile action"
This reverts commit f58daa873b.
2009-10-31 14:32:12 -04:00
Evan Prodromou
9f7d390ad1 update version to rc2 2009-10-31 12:18:38 -04:00
Sarven Capadisli
48f33f781a Using 'form_notice' class instead of 'form' to group both forms 2009-10-31 17:16:37 +01:00
Evan Prodromou
5e27d53947 Merge branch '0.8.x' into testing 2009-10-31 12:16:30 -04:00
Brenda Wallace
de7c12baef Merge commit 'mainline/0.9.x' into 0.9.x 2009-10-30 10:35:27 +13:00
Brenda Wallace
f1daca16e2 give some suggestions back to the user when no config file found, and a link to the installer 2009-10-30 10:03:25 +13:00
Brenda Wallace
d5951ebce6 Revert "give some suggestions back to the user when no config file found, and a link to the installer"
This reverts commit 7f5fbee2e3.
2009-10-30 10:02:37 +13:00
Brenda Wallace
c0f8c0178a Merge commit 'mainline/0.9.x' into 0.9.x 2009-10-30 09:41:04 +13:00
Craig Andrews
c49564647a whitespace adjustments for doxygen 2009-10-29 16:27:23 -04:00
Craig Andrews
54696f7c46 Moved the public XRDS from the OpenID plugin to core
Added 4 new events involved in XRDS: StartUserXRDS, EndUserXRDS, StartPublicXRDS, EndPublicXRDS
Added OpenID provider functionality (no delegation support [yet])
2009-10-29 16:27:22 -04:00
Brenda Wallace
7f5fbee2e3 give some suggestions back to the user when no config file found, and a link to the installer 2009-10-30 09:17:19 +13:00
Evan Prodromou
49dd54315f show notice location in notice list 2009-10-29 16:16:02 -04:00
Evan Prodromou
5b0809f4a3 fix caching in location.php 2009-10-29 16:15:49 -04:00
Evan Prodromou
a6ed4e5bf7 a location method for getting an URL 2009-10-29 14:49:00 -04:00
Sarven Capadisli
f0abc0fe15 Updated bookmarklet. Created its own action 2009-10-29 13:18:51 +01:00
Evan Prodromou
2b5a5e02a4 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-10-28 22:58:58 -04:00
Zach Copley
e0dbc47f8e Fixed header comment. 2009-10-28 17:47:14 -07:00
Zach Copley
9ef05030fe Merge branch 'api-media-upload' into 0.9.x
* api-media-upload:
  Rearanged a couple things & removed debugging statements
  Rework MailDaemon to use the MediaFile class for uploads
  Implement media upload in the API
  Extract media upload stuff into its own library class.
2009-10-28 17:18:33 -07:00
Zach Copley
e5a2f895a0 Rearanged a couple things & removed debugging statements 2009-10-28 17:13:06 -07:00
Zach Copley
b9ce23d0c2 Rework MailDaemon to use the MediaFile class for uploads 2009-10-28 22:24:20 +00:00
Evan Prodromou
61ccf450de Merge branch '0.9.x' into location 2009-10-28 17:28:08 -04:00
Evan Prodromou
7647703881 rogue n in curlclient.php 2009-10-28 17:28:00 -04:00
Evan Prodromou
b73d6d18ba Merge branch '0.9.x' into location 2009-10-28 17:24:53 -04:00
Evan Prodromou
10df75f9a0 add StartInitializeRouter event 2009-10-28 16:07:57 -04:00
Zach Copley
2d0aba49d9 Implement media upload in the API 2009-10-27 21:45:56 -07:00
Craig Andrews
5fd7ed5b14 Display user avatar in the XMPP message
Include notice id and conversation link the XMPP message

Thanks to Deepspawn for this idea and initial code
2009-10-27 23:31:49 -04:00
Craig Andrews
5f42023f97 implement the nudge command 2009-10-27 22:45:00 -04:00
Craig Andrews
da16dc05a8 Added a new "reply" command 2009-10-27 22:30:21 -04:00
Zach Copley
93a6e83d5d Extract media upload stuff into its own library class. 2009-10-27 19:11:18 -07:00
Craig Andrews
922ee7b3b2 Implemented reply # command, allowing users to favorite specific notices by the notice id 2009-10-27 21:48:56 -04:00
Craig Andrews
0b4390e7f2 Make email domain checking optional, as some statusnet installations (such as those behind restrictive corporate firewalls, or on home systems on restrictive connections) cannot connect to any mail
systems, and this check will always fail.
2009-10-26 10:31:12 -04:00
Evan Prodromou
3c724ccd0d Merge branch '0.9.x' into location 2009-10-24 19:59:46 -04:00
Stephen Paul Weber
58b9ce5946 Better license check.
Tokenise CC license parts and check for compatability.
Fallback is old directly-equal test.
2009-10-23 21:22:26 -04:00
Zach Copley
6d6de3c1c7 Move Twitter and Facebook-specific mail notifications to their respective plugins 2009-10-23 23:38:45 +00:00
Zach Copley
2544310e73 Remove automatic enqueuing for Facebook 2009-10-23 23:34:48 +00:00
Zach Copley
34a21e7605 Merge branch '0.9.x' into facebook-app-plugin 2009-10-23 23:05:59 +00:00
Zach Copley
45a2253649 Merge branch '0.9.x' into facebook-app-plugin 2009-10-23 22:48:35 +00:00
Brion Vibber
b89878511f Fix three fatal errors when posting from 0.9.x:
* OMB remote updates were trying to load nonexistent Laconica_OMB_Service_Consumer class -- fixed to StatusNet_OMB_Service_Consumer. Regression caused during libomb merge.
* Twitter processing was still being queued from core when no twitter plugin was present, which triggered an exception from UnqueueHandler; leftover code from before the plugin extraction.
* UnqueueHandler's exception caused a fatal error instead because it was missing the "new" keyword. Wouldn't have been seen when testing with the plugin enabled.
2009-10-23 20:31:53 +00:00
Craig Andrews
c93b9b9523 Merge commit 'refs/merge-requests/1815' of git://gitorious.org/statusnet/mainline into 0.9.x 2009-10-23 11:15:25 -04:00
Zach Copley
1b4f9f2c09 Merge branch '0.9.x' into facebook-app-plugin 2009-10-22 21:12:51 +00:00
Evan Prodromou
9608cc6143 Merge branch '0.9.x' into location 2009-10-22 16:23:42 -04:00
Evan Prodromou
e73631f614 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-10-22 16:21:05 -04:00
Evan Prodromou
65c45986c6 HTTPResponse has default empty headers 2009-10-22 16:20:56 -04:00
Evan Prodromou
69357c4916 error in order of arguments to array_key_exists in location.php 2009-10-22 16:19:56 -04:00
Evan Prodromou
9c983c3830 extract Geonames stuff to a plugin 2009-10-22 15:44:36 -04:00
Brion Vibber
c6d1039901 Add some doc comments to QueueHandler 2009-10-22 10:11:04 -07:00
Jeffery To
f58daa873b Added getfile action 2009-10-22 12:46:54 +08:00
Evan Prodromou
7b227fd1c0 start getting locations from remote services 2009-10-21 22:47:19 -04:00
Evan Prodromou
b6b245dc0b start of a location class 2009-10-21 22:43:41 -04:00
Evan Prodromou
4e639b8769 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-10-21 22:41:42 -04:00
Evan Prodromou
0df85711d6 reformat default.php 2009-10-21 22:41:23 -04:00
Zach Copley
6199d31acc Remove facebook broadcast from unqueuemanager. That's now
added by an event.
2009-10-21 01:18:36 +00:00
Zach Copley
78e5a5980a Extract out Facebook app stuff into a plugin 2009-10-20 16:32:30 -07:00
Zach Copley
09dfb08a39 Merge branch '0.9.x' into TwitterBridgePlugin 2009-10-20 06:06:10 +00:00
Zach Copley
7539e26951 - Make Twitter bridge work with unqueuemanager
- Add README
2009-10-20 06:05:35 +00:00
Eric Helgeson
490dfc6f5a Better check if site,server is configured. 2009-10-19 20:08:20 -04:00
Evan Prodromou
fc61b71625 merge from testing 2009-10-19 18:12:00 -04:00
Brenda Wallace
66fca9e2a8 some typoes in comments that annoyed me, fixed now 2009-10-19 18:08:44 -04:00
Evan Prodromou
728a146ec0 new codename for 0.8.2 2009-10-19 17:30:08 -04:00
Evan Prodromou
fe1ae3a47e Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2009-10-19 17:00:36 -04:00
Evan Prodromou
035d4cf86e Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2009-10-19 15:36:26 -04:00
Eric Helgeson
9d0e37c4e8 Utilize NICKNAME_FMT constant when creating at replies 2009-10-19 13:11:55 -04:00
Brion Vibber
39598582d9 Merge branch 'i18n-work' into i18n-0.9.x 2009-10-19 09:25:05 -07:00
Zach Copley
109a54c4f0 Changed config flag for importing friends' timeline and added some comments 2009-10-17 00:32:02 +00:00
Zach Copley
0bbc05c1d5 Merge branch '0.9.x' into TwitterBridgePlugin 2009-10-16 23:42:02 +00:00
Brion Vibber
e48efd3222 Workaround for Facebook data store API behavior regression, fixes saving
of empty notice prefix text in facebook settings.

Filed bug upstream at http://bugs.developers.facebook.com/show_bug.cgi?id=7110

Per documentation, saving a pref value of "" or "0" will delete the pref key:
http://wiki.developers.facebook.com/index.php/Data.setUserPreference

which used to do what we want... Now Facebook throws back an error
"Parameter value is required" when we do this. Workaround appends a
space to empty string or "0" at save time, then trims the string when
we load it.

The input string was already trimmed at pref save time, so this won't
alter any user-visible behavior.

Thanks to ^demon in #mediawiki for pointing out the behavior regression
after testing the identi.ca Facebook app!
2009-10-16 14:48:56 -07:00
Brion Vibber
4855cb58da Workaround for Facebook data store API behavior regression, fixes saving
of empty notice prefix text in facebook settings.

Filed bug upstream at http://bugs.developers.facebook.com/show_bug.cgi?id=7110

Per documentation, saving a pref value of "" or "0" will delete the pref key:
http://wiki.developers.facebook.com/index.php/Data.setUserPreference

which used to do what we want... Now Facebook throws back an error
"Parameter value is required" when we do this. Workaround appends a
space to empty string or "0" at save time, then trims the string when
we load it.

The input string was already trimmed at pref save time, so this won't
alter any user-visible behavior.

Thanks to ^demon in #mediawiki for pointing out the behavior regression
after testing the identi.ca Facebook app!
2009-10-16 14:46:53 -07:00
Brion Vibber
b3c29800fb Drop a debug info line that isn't really needed 2009-10-16 11:49:27 -07:00
Brion Vibber
c3b1f9e77d Use short language names for locales for now; this seems to be most compatible with both native gettext (tested on Ubuntu 8.10) and php-gettext (tested on Mac OS X 10.6). 2009-10-16 11:23:50 -07:00
Brion Vibber
531c0738da Workaround for not fully natively set up locales with native gettext...
Set "en_US" locale first, then the locale we want for our user.
This seems to initialize gettext properly somehow, which I could see when the languages would come up briefly on settings save when changing from a supported language.
Definitely works for ga_ES on my Ubuntu system (8.10 intrepid), hopefully reasonably consistent.
2009-10-16 17:42:27 +00:00
Brion Vibber
4ef0665408 Galician translation (out of date but functional... unless you have locale issues of course)
.po file from http://status.net/trac/ticket/481 last updated by mvazquez
2009-10-16 16:29:50 +00:00
Evan Prodromou
90de6eae5a add more events to profile list 2009-10-15 06:01:26 -04:00
Trever Fischer
1241e651ae Added support for profile designs to the twitter API 2009-10-15 05:16:37 -04:00
Evan Prodromou
4f5badda94 remove inboxes option 2009-10-13 17:38:27 -04:00
Zach Copley
b4b992bca7 Merge branch '0.9.x' into pluginize-twitter-bridge
* 0.9.x: (247 commits)
  Added in credits.
  Use site's name for basic auth realm
  Make apigroupcreate.php pass phpcs
  Took out some unnecessary intializations
  Implemented create group api
  CamelCase all function names in the API code
  These same params are used in most API actions; moved to base API class
  Missed some of the references to the old TwitterApiAction - removed
  Remove more redundant $formats
  Remove dead code
  Move all basic auth output and processing to base classes
  $format is used by every API action. Set it in the base class.
  Delete action/api.php and rename lib/twitterapi.php to lib/api.php
  New actions for blocks via API
  fix FBConnect so it doesn't muffle EndPrimaryNav
  don't write session if it's unchanged
  Fixed facebook connect primary nav to hide search option when site is private and user is not logged in
  Fixed facebook connect primary nav to obey sms/twitter/openid settings
  Fixed facebook connect login nav to obey openid settings
  Fixed facebook connect nav to obey sms/twitter disabled
  ...
2009-10-13 09:36:26 -07:00
Zach Copley
870b091693 Added in credits. 2009-10-12 16:36:00 -07:00
Zach Copley
4efbe32f6a Use site's name for basic auth realm 2009-10-12 15:12:20 -07:00
Zach Copley
e071a8cbff Moved group create API into its own action
Merge branch '0.9.x' into refactor-api

* 0.9.x:
  Implemented create group api
  fix FBConnect so it doesn't muffle EndPrimaryNav
  don't write session if it's unchanged
  Fixed facebook connect primary nav to hide search option when site is private and user is not logged in
  Fixed facebook connect primary nav to obey sms/twitter/openid settings
  Fixed facebook connect login nav to obey openid settings
  Fixed facebook connect nav to obey sms/twitter disabled
  Fixed twitter defaulting to disabled
  Revert "Open tags should have closing tags"
  Don't show search suggestions for private sites
  Fixed E_NOTICE when returnto isn't set
  Fixed E_NOTICE when the "lite" parameter isn't included in the request
  Fixed E_NOTICE - GroupList expects an owner object in the constructor, not an array of search terms
  Returning false seems to fix IE from reclaiming window focus. I think
  Aligning notice attach label from right instead of left
  Fixed IE background image alignment for attach, favour and disfavour
  Fixed nudge and direct message background image alignment
  Using 'CSS sprites' for common icons for the identica theme. Default
  Open tags should have closing tags

Conflicts:
	actions/twitapigroups.php
	actions/twitapistatuses.php
2009-10-12 12:31:14 -07:00
Craig Andrews
f719720e8a Merge remote branch 'statusnet/0.8.x' into 0.9.x
Conflicts:
	lib/common.php
2009-10-11 13:39:10 -04:00
Craig Andrews
006cfc528e Merge commit 'refs/merge-requests/1723' of git://gitorious.org/statusnet/mainline into 0.8.x 2009-10-11 13:21:18 -04:00
Craig Andrews
6f12ed5f91 Merge commit 'refs/merge-requests/1730' of git://gitorious.org/statusnet/mainline into 0.8.x 2009-10-11 13:20:02 -04:00
Zach Copley
061af8fa06 CamelCase all function names in the API code 2009-10-09 17:53:35 -07:00
Zach Copley
b08d16ef2b These same params are used in most API actions; moved to base API class 2009-10-09 17:32:53 -07:00
Zach Copley
559918826a Remove more redundant $formats 2009-10-09 17:11:40 -07:00
Zach Copley
931e19073d Remove dead code 2009-10-09 17:01:37 -07:00
Zach Copley
743c844084 Move all basic auth output and processing to base classes 2009-10-09 16:57:22 -07:00
Zach Copley
f746993c2b $format is used by every API action. Set it in the base class. 2009-10-09 14:42:01 -07:00
Zach Copley
bb08611def Delete action/api.php and rename lib/twitterapi.php to lib/api.php 2009-10-09 14:22:18 -07:00
Zach Copley
09f4d1ef23 New actions for blocks via API 2009-10-09 13:35:54 -07:00
Jeffery To
2dc66035ba Fixed twitter defaulting to disabled 2009-10-09 11:16:04 +08:00
Zach Copley
ada84698f2 New action for test/help API method 2009-10-08 15:59:00 -07:00
Zach Copley
62059fec83 New actions for statusnet config and version API methods 2009-10-08 15:45:45 -07:00
Jeffery To
daaa1d4790 Don't show search suggestions for private sites 2009-10-08 12:49:30 +08:00