Commit Graph

2006 Commits

Author SHA1 Message Date
Zach Copley 3bf3b6686c Remove fulltext indexes from notice and profile tables. The default
for fulltext search is 'like' (MySQLLikeSearch) which doesn't require
them.
2011-09-18 14:17:41 -07:00
Evan Prodromou 8f78743198 correct the URI-generation for group memberships 2011-09-12 13:36:12 -04:00
Evan Prodromou a740556e3f is_int() -> \!is_null() 2011-09-08 13:05:17 -04:00
Evan Prodromou 5680eb74d0 default scope value is null, determined by site/private 2011-09-08 12:38:11 -04:00
Evan Prodromou 3056b109a2 Quietly skip trying to load config if there's an error in DB 2011-09-08 12:01:06 -04:00
Evan Prodromou 9948523c33 Merge branch 'master' into testing 2011-09-08 09:03:33 -04:00
Zach Copley e59b30c14b Fix E_NOTICE from attempt to access undefined array key 2011-09-07 21:45:49 -07:00
Siebrand Mazeland 23eb49a017 Update translator documentation and i18n. 2011-08-30 11:43:27 +02:00
Siebrand Mazeland 5a37d0bdc6 Add translator documentation. 2011-08-30 11:04:54 +02:00
Siebrand Mazeland c4fd560b32 Fix i18n issues
Remove trailing whitespace and convert leading tabs to spaces
2011-08-30 11:03:26 +02:00
Evan Prodromou a2ea31bc80 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-08-27 18:22:03 -04:00
Evan Prodromou 51764be5a1 For fave count, don't use distinct 2011-08-27 18:21:44 -04:00
Zach Copley e26d3b0ede Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
* '1.0.x' of gitorious.org:statusnet/mainline:
  Issue #546: enable case-insensitive searching in MySQL
  remove more groupnav
  remove group nav
  shorter title for tag cloud section on groups
  remove group nav
  move pending queue to sidebar
  Move group logo edit from object nav to block actions
  Show blocked users from group in section
2011-08-27 14:27:15 -07:00
Dan Scott db9ac1a531 Issue #546: enable case-insensitive searching in MySQL
MySQL needs the collation utf8_general_ci to support case-insensitive
searching. lib/mysqlschema.php already supports a 'collate' attribute on
a per-column basis, so we just need to take advantage of that attribute
on the columns we want to search and Bob (and BOB, and bOB) is your
uncle.

Signed-off-by: Dan Scott <dan@coffeecode.net>
2011-08-27 16:36:58 -04:00
Evan Prodromou 804c343a9f move pending queue to sidebar 2011-08-27 16:05:58 -04:00
Evan Prodromou 330af9991f Show blocked users from group in section 2011-08-27 15:46:05 -04:00
Zach Copley 32fa6dd7a2 Fix logging level in log msg 2011-08-27 12:42:09 -07:00
Evan Prodromou f81c1f7554 use an array of profiles rather than a looping cursor for profile lists 2011-08-27 12:53:15 -04:00
Evan Prodromou 4f86e05d03 wrap use of repeated element in existence check 2011-08-27 10:02:11 -04:00
Evan Prodromou 34a0525b67 Profile uses joinAdd() with explicit arguments 2011-08-26 11:48:40 -04:00
Evan Prodromou a47c372ac4 explicit join for subscribers to a profile list 2011-08-26 11:39:06 -04:00
Evan Prodromou b83af83b82 return links for foreign keys 2011-08-26 11:37:45 -04:00
Evan Prodromou 968cef0fc6 strtolower() the class name in cache keys for listGet() 2011-08-24 17:30:17 -04:00
Zach Copley 307a75e3a7 Fix deprecated call-time pass by references 2011-08-23 09:52:48 -07:00
Zach Copley 1507c32454 Fix warnings - function arguments should expect values instead of references 2011-08-23 09:49:32 -07:00
Evan Prodromou b73eaa44de emit fewer notices for group joins 2011-08-23 11:49:45 -04:00
Evan Prodromou 5c3bc19968 Re-add lost verb column for Notice 2011-08-23 11:42:18 -04:00
Evan Prodromou be4d9082f9 Merge branch '1.0.x' into activity 2011-08-23 00:41:03 -04:00
Evan Prodromou 2ea17b0749 use references for Notice::_setFaves() and Notice::_setRepeats() 2011-08-23 00:40:54 -04:00
Evan Prodromou c712eefe14 Merge branch '1.0.x' into activity 2011-08-23 00:17:39 -04:00
Evan Prodromou ce5b44158e Get primary key for default value in Memcached_DataObject::staticGet() 2011-08-23 00:14:20 -04:00
Evan Prodromou 01c2c31c1e Merge branch '1.0.x' into activity
Conflicts:
	db/core.php
2011-08-22 18:13:02 -04:00
Evan Prodromou feb9030fb9 Remove sequenceKey() since we now use Managed_DataObject 2011-08-22 18:05:37 -04:00
Evan Prodromou 7c6399a51a Remove now-unused statusnet.ini 2011-08-22 18:03:05 -04:00
Evan Prodromou 6ed88dee94 forgot Group_member::schemaDef() 2011-08-22 18:02:29 -04:00
Evan Prodromou 9ca3c3d1c3 move core schema to class files 2011-08-22 17:52:02 -04:00
Evan Prodromou 34d0e1088d add URI members to social activity classes 2011-08-22 16:36:23 -04:00
Evan Prodromou 48bb784400 add a verb column to the notice table 2011-08-22 16:02:14 -04:00
Evan Prodromou 2f1751568a pre-fill repeats of notices 2011-08-22 12:39:37 -04:00
Evan Prodromou d3399e93e8 use listGet() for ConversationNoticeStream 2011-08-22 12:25:04 -04:00
Evan Prodromou 0a17e7cf9f Merge remote-tracking branch 'gitorious/1.0.x' into 1.0.x
Conflicts:
	classes/Memcached_DataObject.php
2011-08-22 11:25:13 -04:00
Siebrand Mazeland 73806460ce Add translator documentation.
Fix incorrect i18n.
Whitespace updates.
2011-08-19 17:38:43 +02:00
Evan Prodromou ac268773bf Pass correct notice id to Memcached_DataObject::listGet() in getFaves() 2011-08-08 12:01:39 -04:00
Evan Prodromou f405ffa507 Corrected pkeys for listGet() 2011-08-08 12:01:15 -04:00
Evan Prodromou ed31052d26 Store pkeys in cache for listGet()
I was storing the full objects in the cache for the listGet()
function. I've changed it to store only pkeys, and use pivotGet() to
get all the corresponding values.

This also required changing pivotGet() so it can get objects with
multi-column pkeys, which complicated the whole thing quite a bit. But
it seems to work OK.
2011-08-08 10:22:20 -04:00
Evan Prodromou 16042387a0 pre-fill the addressees of notices in a list 2011-08-03 00:59:09 -04:00
Evan Prodromou ba6235a446 Get faves in Notice and pre-fill 2011-08-03 00:04:18 -04:00
Evan Prodromou dfbdd481fa Pre-fill Notice attachments 2011-08-02 23:12:21 -04:00
Evan Prodromou 9a84907d17 Remove unused File::getAttachments() 2011-08-02 23:11:41 -04:00
Evan Prodromou d918ee95f4 pre-fetch groups for notices 2011-08-02 18:13:56 -04:00
Evan Prodromou 447ae92eca only do a db call if need to fetch some in listGet() 2011-08-02 18:12:46 -04:00
Evan Prodromou 435c08a753 add listGet() method 2011-08-02 17:20:51 -04:00
Evan Prodromou 5081c56ea4 remove some debugging stuff in Profile::fillAvatars() 2011-08-02 13:14:11 -04:00
Evan Prodromou af49545e95 reduce the number of calls to get profile groups 2011-08-02 12:14:55 -04:00
Evan Prodromou 06e2422517 pre-fill avatars for Profiles in a notice list 2011-08-02 11:54:27 -04:00
Evan Prodromou e05f423bea properly cache nulls for pivotGet() 2011-08-02 11:54:10 -04:00
Evan Prodromou 14fe22e430 define Reply::pkeyGet() 2011-08-02 11:15:20 -04:00
Evan Prodromou 02880f5a8c use pkeyGet() instead of getReplies() checking addressee scope 2011-08-02 11:09:30 -04:00
Evan Prodromou 9a78d70441 remove debugging statement in Memcached_DataObject::multiGet() 2011-08-02 10:58:25 -04:00
Evan Prodromou 72ed297214 New method Memcached_DataObject::pivotGet()
This method lets you get all the objects with a given variable key and
another set of "fixed" keys. A good example is getting all the avatars
for a notice list; the avatar size stays the same, but the IDs change.

Since it's very similar to multiGet(), I refactored that function to
use pivotGet().

And, yes, I realize these are kind of hard to follow.
2011-08-02 10:46:29 -04:00
Evan Prodromou 200e18cd71 reduce the number of queries required to get a notice's groups 2011-08-01 16:59:43 -04:00
Evan Prodromou a3ef80941e use multiGet() for a profile's groups 2011-08-01 15:18:29 -04:00
Evan Prodromou 874f1db389 Pre-fill profiles in notice streams 2011-08-01 14:51:59 -04:00
Evan Prodromou d17a30ada4 reverse order of defaults and options in Notice::saveNew() 2011-07-20 11:53:47 -04:00
Evan Prodromou e07620a0aa change array add to array merge 2011-07-20 11:42:17 -04:00
Evan Prodromou d277f343ca Encode repeats as share activities 2011-07-18 17:06:03 -04:00
Evan Prodromou 98064e6336 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-07-15 17:46:19 -04:00
Zach Copley 6f0bd73e6c Squashed commit of the following:
Move OMB to a plugin

commit 75d21f00246bcc56d7f854936be1e28395e079a2
Merge: cea0199 d594d07
Author: Zach Copley <zach@status.net>
Date:   Fri Jul 15 11:16:54 2011 -0700

    Merge branch 'kill-omb2' of gitorious.org:~zcopley/statusnet/zcopleys-clone into kill-omb2

    * 'kill-omb2' of gitorious.org:~zcopley/statusnet/zcopleys-clone:
      Fix paths
      Oops, I left out the ability to authorize a token in ApiStatusNetOAuthDataStore
      Some odds and ends
      Remove omb stuff from queuemanager defaults
      Add check to make sure we're not untagging an OMB profile to OMB plugin
      Move some more subscription stuff and peopletag checks to OMB plugin
      Move some OMB-specific unsubscribe stuff to OMB plugin
      Finish removing libomb from core extlibs
      Fix more conflicts
      Fix queuing/queuehandling
      Move some stuff around; fix references
      Fix conflicts
      Move OMB-specific files to OMB plugin
      Move some stuff around; fix references
      Add OMB plugin README and rm references to OMB in mail StatusNet README
      Update paths
      Fix define
      Basic plugin finished
      Move OMB-specific files to OMB plugin
      Remove OMB stuff from router

commit cea019967f343042ebaea14b7bbb0d54289bcc1a
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 14:38:40 2011 -0700

    Fix paths

commit d412aa3c0ea0e21e65a72a16c7b9edd64ff373e1
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 12 18:17:06 2011 -0700

    Oops, I left out the ability to authorize a token in ApiStatusNetOAuthDataStore

commit b459c9f10ac283d6e774ef13f3293fc8a6948143
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 19:02:08 2011 -0700

    Some odds and ends

commit 895cfbfce58ffb3a05beebf48a90c549e00f1cce
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 19:01:23 2011 -0700

    Remove omb stuff from queuemanager defaults

commit b41b9e994f291ff83afb2460d9b37aee8ec1ec2b
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 18:46:44 2011 -0700

    Add check to make sure we're not untagging an OMB profile to OMB plugin

commit 94374d26ddd428dac8e4cd4541fd56db748c248b
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 18:34:20 2011 -0700

    Move some more subscription stuff and peopletag checks to OMB plugin

commit b91043b7820d5cd8b0ba4e9ee2a9d03c99248f11
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 16:37:25 2011 -0700

    Move some OMB-specific unsubscribe stuff to OMB plugin

commit d9430fe52975d9497b4a0d3d54da35b222e207ad
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 15:26:30 2011 -0700

    Finish removing libomb from core extlibs

commit bb6257eb85cc7ba392e91468c01503f51faeb989
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 12:47:32 2011 -0700

    Fix more conflicts

commit 3c760d0a4b4a083ae5fca2530d22aad5f4a9fdae
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:49:22 2011 -0700

    Fix queuing/queuehandling

commit ed635fa0c20e150673709c04ecc7f285d12e0ce2
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:29:35 2011 -0700

    Move some stuff around; fix references

commit cbc553a147941cad16e205a6b66ab4b32a5e3d3d
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 12:46:05 2011 -0700

    Fix conflicts

commit 5d77c81f75b57f5d5357d6b46d503650a4b3225d
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:38 2011 -0700

    Move OMB-specific files to OMB plugin

commit 2ed051dbce0ce9b44723b14922026849c39ed603
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:29:35 2011 -0700

    Move some stuff around; fix references

commit 8809b5e35b1aacb67d70ae3e55a43003b6f591b7
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:28:59 2011 -0700

    Add OMB plugin README and rm references to OMB in mail StatusNet README

commit 35ced4067c1915baca0b3e184f9533a91a951d2d
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:50:09 2011 -0700

    Update paths

commit 0ee5bafbce95fc9b8db98c1e828d33d26d08bc73
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:38:03 2011 -0700

    Fix define

commit e309dd22ffb9087d7fcf9180ede4f531dbd88c3c
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:30:43 2011 -0700

    Basic plugin finished

commit 00f1e930f27e080b04d1e82952f7886c84e01d97
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:38 2011 -0700

    Move OMB-specific files to OMB plugin

commit 39dcd031a79b49da0b4fe25f1594d2e406b5eb65
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:01 2011 -0700

    Remove OMB stuff from router

commit d594d071be1ec42518dd5465db61e01e7e8ec036
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 14:38:40 2011 -0700

    Fix paths

commit 48c1064b4b50e89cf51d2cab388f708f60601247
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 12 18:17:06 2011 -0700

    Oops, I left out the ability to authorize a token in ApiStatusNetOAuthDataStore

commit 1e1168978f38c31dbf0206b3493b2b6dcbe61589
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 19:02:08 2011 -0700

    Some odds and ends

commit ac43af2b497d8b9286c49a9469a1dff950e41650
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 19:01:23 2011 -0700

    Remove omb stuff from queuemanager defaults

commit 2471af2f8800515a3db544b3a186a18f3e8a43af
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 18:46:44 2011 -0700

    Add check to make sure we're not untagging an OMB profile to OMB plugin

commit df974646459ac6d5d97a40d008f1aab66f998226
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 18:34:20 2011 -0700

    Move some more subscription stuff and peopletag checks to OMB plugin

commit 8a1427b759e791c14a7a7a22128ba05f0b4b6d12
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 16:37:25 2011 -0700

    Move some OMB-specific unsubscribe stuff to OMB plugin

commit bd24220dbb5170af22ea0dea8a3062e6d1aeb6a2
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 6 15:26:30 2011 -0700

    Finish removing libomb from core extlibs

commit 4c3c6f1fabb0f2c92635ccc5e8f38db2293f5456
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 12:47:32 2011 -0700

    Fix more conflicts

commit db44deefd731a412685c5669c4c6fa69833de922
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:49:22 2011 -0700

    Fix queuing/queuehandling

commit ea2d84d2f3d518950d3aa1956ddc8f3a25ca55f3
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:29:35 2011 -0700

    Move some stuff around; fix references

commit 8ac3e010444b41bd9a78766f5e37e49dff023b45
Author: Zach Copley <zach@status.net>
Date:   Wed Jul 13 12:46:05 2011 -0700

    Fix conflicts

commit 0aad6e10e3637b3189a87b42c24c1d6de1b346bc
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:38 2011 -0700

    Move OMB-specific files to OMB plugin

commit d982d7076c5cb28c7b8e4b1dde8d07d7e58e278f
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:29:35 2011 -0700

    Move some stuff around; fix references

commit 4b9d39c93562ff4c45c37c940013e8b78197dec1
Author: Zach Copley <zach@status.net>
Date:   Tue Jul 5 15:28:59 2011 -0700

    Add OMB plugin README and rm references to OMB in mail StatusNet README

commit dab0fb6647a85e6835298496d7127a398b6b9293
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:50:09 2011 -0700

    Update paths

commit 2cb73dac8ad971f1545dcf6ba57746c777e232ef
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:38:03 2011 -0700

    Fix define

commit 6f226b18a059f175b1bdd3abcb8cb95eedc22ee7
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 23:30:43 2011 -0700

    Basic plugin finished

commit 7be304beaa0f39755c3978e0b852fde768950da4
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:38 2011 -0700

    Move OMB-specific files to OMB plugin

commit 5b30da01cfa2802d6e7a4a4a4f39b8043c54f472
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 30 19:10:01 2011 -0700

    Remove OMB stuff from router
2011-07-15 12:13:57 -07:00
Evan Prodromou ae340ec345 explicitly skip nulls in Memcached_DataObject::multiGet() 2011-07-14 14:41:30 -04:00
Evan Prodromou e48ca92914 Don't get crud for Notice::repeatStream() 2011-07-14 12:53:18 -04:00
Evan Prodromou 42b11f862a add Notice::multiGet() method 2011-07-14 12:02:58 -04:00
Evan Prodromou 75b280b4bb add Memcached_DataObject::multiGet() method 2011-07-14 12:02:44 -04:00
Evan Prodromou 5c963cb3b7 Memcached_DataObject::pkeyGet() accepts null values 2011-07-11 12:40:28 -04:00
Shashi Gowda efb7d28d83 Fix problems in joinAdd with xampp
Xampp ships with a different version of DB_DataObject PEAR package that
cannot do joins using objects correctly. This patch fixes the problem
2011-07-09 06:26:46 +05:30
Evan Prodromou 89816551e6 use memcached for Profile_list::staticGet() 2011-07-04 15:37:06 -04:00
Evan Prodromou 7e9c17bd15 make the default scope depend on site/private 2011-07-01 21:50:04 -04:00
Evan Prodromou b6df936454 Better handling for combined memcache identifiers 2011-06-10 19:13:33 -04:00
Evan Prodromou 3dbfa97979 hide errors when deleting cached status_network_tag keys 2011-06-10 18:57:17 -04:00
Evan Prodromou 08cf6827a9 try to make it so Status_network_tag can go fingerpoken in Status_network's static vars 2011-06-10 18:12:51 -04:00
Evan Prodromou c227045975 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x 2011-06-10 16:50:33 -04:00
Evan Prodromou 331d8a99ba Merge branch 'statusnetworkapi' into 1.0.x 2011-06-10 16:50:15 -04:00
Zach Copley 36d619480a Rip out user, group and site design customization code
Squashed commit of the following:

commit 0bcfb6535115ec0a11669420f8689aeedc417bc8
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 15:51:47 2011 -0400

    Remove design-related stuff from the API

commit 88da010256fbcaee1ff01d9507ea47d3225f2825
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 15:40:16 2011 -0400

    Mop up misc design related code

commit 11958b064745b797b4c9f9f4b7e8f65e4c82ce83
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 15:21:00 2011 -0400

    Remove Design DB_DataObject class and references to it in schema

commit f8540594728ce6ba4697eb21657ccb897a9fc127
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 13:15:54 2011 -0400

    Remove design-related actions and widgets

commit ddf7b4d425b88b58956b8be06047d2a3e0560bd2
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 13:10:57 2011 -0400

    Remove navigation / routing to design settings actions

commit e3f280f8780d99168edf37ef766956f281e9c5da
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 13:03:09 2011 -0400

    CurrentUserDesignAction -> Action

commit 6780b1a07e1375a7fa0fd48c8bf3109d9a12e33e
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 12:54:22 2011 -0400

    * GroupDesignAction -> GroupAction (new base class for group actions)

commit 2136377e895db274709a1d486f377f13946ccfd6
Author: Zach Copley <zach@status.net>
Date:   Thu Jun 9 12:36:40 2011 -0400

    OwnerDesignAction -> Action
2011-06-09 16:20:19 -04:00
Evan Prodromou 1b0bafc6cc Move recoverpassword functionality to User 2011-06-07 11:22:19 -04:00
Zach Copley 8b9a5f550b Update design settings CSS output 2011-06-06 13:18:56 -07:00
Zach Copley 606875f1c9 Change modified to use timestamp type instead of datetime 2011-06-02 11:20:08 -07:00
Evan Prodromou 9a11003c08 add oauth_token_association to core.php so it gets set up correctly 2011-06-02 10:04:00 -04:00
Evan Prodromou c85eeb868e note converted user id on registration 2011-05-23 17:25:00 -04:00
Evan Prodromou b0b8d36439 registered_user_id can be null 2011-05-23 17:23:54 -04:00
Evan Prodromou cb283be071 Add registered_user_id column to invitation
It's valuable for us to know which, if any, invitations have been converted.
2011-05-23 16:40:48 -04:00
Evan Prodromou c97048d01b merge 0.9.x into 1.0.x 2011-05-04 14:59:39 -07:00
Evan Prodromou 7ed3b9cf3f Status_network::setupDB() sets up related tables too 2011-04-28 15:29:36 -07:00
Evan Prodromou 1b6ff2f22a Class to store unavailable status network names 2011-04-28 15:29:13 -07:00
Evan Prodromou 79c01bec4e lookup a statusnetwork by tag 2011-04-26 15:31:25 -04:00
Evan Prodromou 4fa7f147b0 Make tag-per-group optional, default false 2011-04-20 16:19:07 -04:00
Evan Prodromou c39207b0f8 reply to notice marks the author of notice for reply 2011-04-20 12:05:24 -04:00
Evan Prodromou 73f4762a55 Don't serialize protected attrs 2011-04-18 18:23:06 -04:00
Evan Prodromou 21c16b2e92 don't show display URL if avatar filename is missing 2011-04-18 16:59:17 -04:00
Evan Prodromou b9eee437dd Merge branch '1.0.x' into emailregistration 2011-04-17 17:48:15 -04:00
Evan Prodromou ceef84b6d1 utility functions for Confirm_address 2011-04-17 17:46:32 -04:00
Siebrand Mazeland 4ab995dd1e Complete "people tag" to "list" in UI messages.
Update translator documentation accordingly.

Probably a few cases left where "tag[ged[" has to be replaced by "list[ed]".
2011-04-17 20:08:03 +02:00
Evan Prodromou 5135043b84 utility method to get reply profiles for a notice 2011-04-16 15:17:03 -04:00
Shashi Gowda b78e5de474 Profile::getOwnedTags -> Profile::getLists, first argument is the current user, or the user accessing the lists. 2011-04-16 00:52:58 +05:30
Evan Prodromou 41dc9ca497 Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	classes/Profile.php
2011-04-14 18:28:03 -04:00
Zach Copley 70c8de4354 Remove bogus parameters from function declaration (was throwing a warning) 2011-04-14 15:07:54 -07:00
Evan Prodromou 9208c94b29 don't show private lists; correct link in header 2011-04-14 17:27:26 -04:00
Evan Prodromou 90e6eab68e show user's lists in sidebar 2011-04-14 16:57:50 -04:00
Shashi Gowda 82f90ad756 Profile_list::blowNoticeStreamCache 2011-04-14 19:49:42 +00:00
Shashi Gowda 22f6151a10 Annihilate profile_tag_inbox. 2011-04-14 19:45:31 +00:00
Evan Prodromou 3550afb5f0 Cache rollup stuff in the cache, not in the DB 2011-04-14 14:01:10 -04:00
Evan Prodromou a0b4282cbf hook for getting profile avatars 2011-04-14 11:33:10 -04:00
Evan Prodromou 4331b8b4f1 make search results privacy-aware 2011-04-11 18:59:58 -04:00
Evan Prodromou 61f62241da Get conversation root visible to this user in threadednoticelist 2011-04-11 11:19:11 -04:00
Evan Prodromou f9a91a2809 Utility Profile::current() to get current user's profile 2011-04-11 11:16:30 -04:00
Evan Prodromou 7c62835900 cache the scope for null profile 2011-04-10 19:19:10 -04:00
Evan Prodromou 91e5a72609 remember to blow cache when creating a new group 2011-04-10 19:17:44 -04:00
Evan Prodromou 543567e6d5 Fix a null value in profile untag 2011-04-10 19:01:20 -04:00
Evan Prodromou 4742a2a87f Fix clone of null value 2011-04-10 18:40:28 -04:00
Siebrand Mazeland f0d762f196 Update/add translator documentation.
L10n/i18n updates.
Superfluous whitespace removed.
Add FIXME for a few i18n issues I couldn't solve this quickly.

Takes care of documentation for all core code added in merge of "people tags" feature (Commit:e75c9988ebe33822e493ac225859bc593ff9b855).
2011-04-10 19:59:55 +02:00
Shashi Gowda fc21e5c76b Fix type conversion warnings caused when calling getUser / getProfile for the second time 2011-04-09 22:16:52 +05:30
Shashi Gowda f47027abbe Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	lib/profileblock.php
	theme/default/css/display.css
2011-04-09 21:57:45 +05:30
Shashi Gowda 4d61760154 Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase 2011-04-08 17:16:20 +05:30
Evan Prodromou 731bdab804 Use pkeyGet() instead of idStream() for fave caching 2011-04-07 16:57:16 -04:00
Evan Prodromou adf4d96013 store oft-requested stuff in the data object 2011-04-07 16:55:32 -04:00
Evan Prodromou 3e4016b388 do a short-term cache of notice scope 2011-04-07 16:24:56 -04:00
Evan Prodromou 84d848f78c correctly return values 2011-04-07 15:27:40 -04:00
Evan Prodromou 5dfb8e2bc4 Use InboxNoticeStream class for inbox
Move the code for inbox fetching to the InboxNoticeStream class.
2011-04-07 14:54:42 -04:00
Shashi Gowda ad86eb78d3 Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	js/util.min.js
	lib/default.php
2011-04-07 23:13:45 +05:30
Evan Prodromou 5b9319d081 profiles were getting overwritten in Notice::asActivity() 2011-04-07 10:52:28 -04:00
Evan Prodromou 8a0f67b773 Uninitialized value for attachments 2011-04-07 10:25:53 -04:00
Evan Prodromou f9dc2fc0ab cache getReplies() values 2011-04-06 23:46:51 -04:00
Evan Prodromou 419ae3f18d Cache results for attachments 2011-04-06 23:33:35 -04:00
Evan Prodromou d3d0ec5ebe cache tags per notice 2011-04-06 23:25:24 -04:00
Evan Prodromou 59d0e2f373 cache the notice count for threaded view 2011-04-06 23:17:17 -04:00
Evan Prodromou fa8592f50b Make Login_token use caching staticGet() 2011-04-06 22:51:46 -04:00
Evan Prodromou b8fdf6636f make Group_block use caching staticGet() 2011-04-06 22:49:09 -04:00
Evan Prodromou 2a124c1397 make User_group use caching staticGet() 2011-04-06 22:48:33 -04:00
Evan Prodromou 44c64816a5 cache groups per notice 2011-04-06 22:47:17 -04:00
Evan Prodromou 29243cd21a make Profile::isMember() and Profile::isAdmin() use caching pkeyGet() 2011-04-06 18:12:25 -04:00
Evan Prodromou b85c4923a2 Remove unused and non-standard USER_AGENT constant from File_redirection 2011-04-06 10:25:59 -04:00
Shashi Gowda 14aef781ad Use the cool and new NoticeStream for people tag timeline 2011-04-06 11:25:50 +05:30
Evan Prodromou b3e7dd70e2 don't put bogus groups into the groups array 2011-04-05 18:27:01 -04:00
Evan Prodromou efd2c68de9 cache groups per user 2011-04-05 17:20:17 -04:00
Shashi Gowda ced00cf0bd Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase 2011-04-05 10:28:05 +05:30
Evan Prodromou 797cd9ccd4 fix scope for replies to group-private notices 2011-04-04 22:34:47 -04:00
Evan Prodromou eaa70d337d force the reply to a notice to have the same scope 2011-04-04 18:13:28 -04:00
Evan Prodromou 660f1cd6b8 Force group scope on notices sent to a private-only group
For groups that require a private scope, we force every notice to be limited to group scope.

Changed the group-discovery code so we only get groups once -- regardless if they were provided or not.
2011-04-04 17:33:42 -04:00
Evan Prodromou b41c62a27c single flag for private groups 2011-04-04 16:58:52 -04:00
Evan Prodromou 82a357947d add force_scope flag to User_group 2011-04-04 16:24:43 -04:00
Shashi Gowda 57198a7464 Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	actions/tagother.php
	lib/subscriberspeopleselftagcloudsection.php
	lib/subscriptionspeopleselftagcloudsection.php
2011-04-04 13:26:27 +05:30
Siebrand Mazeland f64c312942 Update translator documentation. 2011-03-31 22:48:03 +02:00
Evan Prodromou f580147058 Clear ;last version of stream if importing old stuff 2011-03-31 16:15:05 -04:00
Evan Prodromou 8333ac33c8 if user has private stream flag, set that scope 2011-03-31 12:56:53 -04:00
Evan Prodromou 4f5355a9f2 add the private_stream attribute to User 2011-03-30 08:16:30 -04:00
Shashi Gowda 5a2bab07b2 Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	actions/tagother.php
	classes/Profile.php
	classes/Profile_tag.php
	js/util.min.js
2011-03-30 15:47:42 +05:30
Brion Vibber 2e56e11482 Note explicitly that you can pass null to Notice::inScope() 2011-03-29 17:01:53 -07:00
Brion Vibber 674e3c2a0e Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	actions/apistatusesretweet.php
	actions/repeat.php
	classes/Notice.php
	lib/command.php
2011-03-29 16:26:20 -07:00
Brion Vibber 9adbb49fc9 Consolidate some precondition checks for repeats, fix a couple bits in the repeat command.
Notice::saveNew() now does these checks directly when making a repeat:
* make sure the original is valid and existing
* stop you from repeating your own message
* stop you from repeating something you've previously repeated
* prevent repeats of any non-public messages
* explicit inScope() check to make sure you can read the original too (just in case there's a funky extension at play that changes scoping rules)

These error conditions throw exceptions, which the caller either uses as an error message or passes on up the stack, without having to duplicate the checks in each i/o channel.
2011-03-29 16:20:12 -07:00
Brion Vibber 8286edce28 fix regression in group join approval due to refactoring (forgot to remove a param) 2011-03-29 16:18:51 -07:00
Siebrand Mazeland 0a19674c9f @evan Fixed message domain for messages in plugins for recent commits.
Numbered parameters when more than one used in a message.
L10n updates for consistency.
i18n for non-translatable exception.
Updated translator documentation.
Removed superfluous whitespace.
2011-03-30 00:48:41 +02:00
Evan Prodromou 9f1603462d Merge branch 'limitdist2' into 1.0.x 2011-03-29 17:32:17 -04:00
Siebrand Mazeland 700018fd09 L10n/i18n updated.
Translator documentation updated.
FIXME added for missing class documentation.
Various documentation tweaks.
2011-03-29 23:00:29 +02:00
Evan Prodromou 31fd4dbe3b Repeats keep the same scope as parent 2011-03-29 12:12:08 -04:00
Evan Prodromou 32145484c2 Disallow repeats (retweets) of private notices
We disallow repeating a notice (or whatever) if the scope of the
notice is too private. So, only notices that are public scope
(available to everyone in the world) or site scope (available to
everyone on the site) can be repeated.

Enforce this rule at a low level in Notice.php, and in the API,
commands, and Web UI. Repeat button doesn't appear on tightly-scoped
notices in the Web UI.
2011-03-29 11:53:26 -04:00
Evan Prodromou e862dcdb8a Merge branch '1.0.x' into limitdist2 2011-03-28 21:56:34 -04:00
Brion Vibber c1683d9925 Durr... got items in wrong order :D Fixed email notification for pending subscribes 2011-03-28 17:22:37 -07:00
Brion Vibber 5d31dd259a Subscription pending notification mail 2011-03-28 17:15:48 -07:00
Brion Vibber e5b5c256a3 Working subscription approval! 2011-03-28 17:08:04 -07:00
Brion Vibber a70e68e09c Work in progress: can create & cancel sub requests 2011-03-28 16:12:51 -07:00
Brion Vibber df5def8ce4 Work in progress: subscription approval policy field in place on user, hooked up to settings. Queue not 100% tidied up, no UI for queue or management yet. 2011-03-28 15:13:59 -07:00
Brion Vibber 11b40ddb1b work in progress... 2011-03-28 13:59:48 -07:00
Brion Vibber 4eb02c624e Subscription_queue class for subscription approval 2011-03-28 13:59:48 -07:00
Evan Prodromou b0deaad700 Add a check to prevent replying to an unscoped notice 2011-03-28 12:01:08 -04:00
Evan Prodromou e11c69fd81 always allow author to see own notices 2011-03-26 16:47:18 -04:00
Evan Prodromou 82b38b62a4 clearer scope rules for anonymous and author 2011-03-26 16:23:20 -04:00
Evan Prodromou c7f866b032 Caller can set scope for Notice::saveNew() 2011-03-26 15:49:46 -04:00
Evan Prodromou 0c3f8208cd Merge branch 'limitdist' into limitdist2 2011-03-25 11:46:49 -04:00
Evan Prodromou 44bcc942b8 Break up stream code to use separate notice stream classes
Rearchitect (again!) notice stream code to delegate different functionality up and down the stack.

Now, different classes implement NoticeStream.
2011-03-24 18:04:19 -04:00
Siebrand Mazeland 3be26565fb Update translator documentation.
i18n/L10n updates.
Superfluous whitespace removed.
Add FIXME in files with missing documentation.
2011-03-24 11:48:51 +01:00
Evan Prodromou eb1faa7865 Merge branch '1.0.x' into limitdist
Conflicts:
	classes/Notice.php
2011-03-23 15:58:27 -04:00
Evan Prodromou 2b901894c2 Some fixes to make the notice stream class work 2011-03-23 11:59:01 -04:00
Evan Prodromou efb6a7b441 let Inbox class go fingerpokin' in streams 2011-03-23 11:42:52 -04:00
Evan Prodromou 0b35ce7c37 New NoticeStream class to reify streams of notices
We've been muddling through with 6- or 8-argument functions for managing streams. I'd
like to start thinking of streams as their own thing, and give them some more value.

So, the new NoticeStream class takes over the Notice::stream() function and Notice::getStreamByIds().

There's probably some fine-tuning to do on the object interface.
2011-03-23 11:29:55 -04:00
Brion Vibber 14a6ab2b04 Refactoring on notification mail generation: common profile & footer chunks pulled out, notifications added for group joins. 2011-03-22 16:50:27 -07:00
Evan Prodromou fd8dad3963 Merge branch 'limitdist' of gitorious.org:~evan/statusnet/evans-mainline into limitdist
Conflicts:
	classes/Notice.php
2011-03-22 18:17:09 -04:00
Evan Prodromou 31e7d46a5b add profile to stream function 2011-03-22 18:15:53 -04:00
Evan Prodromou 26a4bd7dbf move scope check to Notice so we can have a null profile 2011-03-22 11:56:28 -04:00
Evan Prodromou 7fc5679e7e function for checking scope rules for Profile 2011-03-22 11:56:28 -04:00
Evan Prodromou 6cdbe47e72 add scope flags for Notice 2011-03-22 11:56:28 -04:00
Evan Prodromou 7f74aa6c20 Add scope bitmap for notices 2011-03-22 11:56:28 -04:00
Evan Prodromou 83fb5e6023 Mass replacement of #-comments with //-comments
like leprous boils in our code. So, I've replaced all of them with //
comments instead. It's a massive, meaningless, and potentially buggy
change -- great one for the middle of a release cycle, eh?
2011-03-22 11:54:23 -04:00
Shashi Gowda 13e9e41d2f Blend in with some new code. New menus, etc. 2011-03-22 08:30:16 +05:30
Shashi Gowda bf121a695a Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
Conflicts:
	classes/Profile.php
2011-03-22 07:59:06 +05:30
Shashi Gowda 31c1177970 Merge branch '1.0.x' into people_tags_rebase
Conflicts:
	EVENTS.txt
	actions/peopletag.php
	actions/tagother.php
	classes/Notice.php
	js/util.js
	js/util.min.js
	lib/accountprofileblock.php
	lib/action.php
	lib/activityobject.php
	lib/command.php
	lib/personalgroupnav.php
	plugins/OStatus/OStatusPlugin.php
2011-03-22 07:56:25 +05:30
Brion Vibber 942887ca8c Split up some list/form classes, and get the 'approve' and 'cancel' links on group member queue working. 2011-03-21 17:17:18 -07:00
Brion Vibber 6bdb1053ad Pending members queue list -- doesn't yet allow approval. 2011-03-21 16:40:10 -07:00
Brion Vibber 471a480587 Logic to have group joins turn into pending joins automatically when group is set to mod; allow users to cancel their pending group requests. 2011-03-21 16:26:41 -07:00
Brion Vibber a54eb0941e Tweaking request_queue -> group_join_queue, easier to deal with the indexes and keys and caching this way. 2011-03-21 15:05:36 -07:00
Brion Vibber 541dfa04fe Switch things from calling Group_member::join & leave & calling events manually to running through Profile::joinGroup() && Profile::leaveGroup(), with the events encapsulated. 2011-03-21 14:35:29 -07:00
Brion Vibber 0bec9cfdbc Add request_queue table and user_group.join_policy column, for upcoming join & subscription moderation.
UI for setting the join policy is in, but not yet used.
2011-03-21 13:51:13 -07:00
Brion Vibber 90a7631592 Caching for conversation root lookup, some logic fixes in threaded view 2011-03-17 17:36:53 -07:00
Brion Vibber 0c2c73659c Use cached sources for favorites & repeats info on threaded notice lists 2011-03-17 17:06:04 -07:00
Evan Prodromou 9af92f94bd function for checking scope rules for Profile 2011-03-17 12:16:09 -04:00
Evan Prodromou b8735f4911 add scope flags for Notice 2011-03-17 12:16:09 -04:00
Evan Prodromou ef638b0f22 Add scope bitmap for notices 2011-03-17 12:16:09 -04:00
Brion Vibber 8de24335d2 Doc comment on Notice->getTags() to clarify the return data type 2011-03-15 12:51:29 -07:00
Brion Vibber b66250c6aa Add StartNoticeWhoGets, EndNoticeWhoGets events to allow upcoming TagSub plugin to do extra inbox delivery. 2011-03-15 12:49:17 -07:00
Evan Prodromou e1d177de7e store reply_to notices as comment activity objects 2011-03-07 14:27:23 -05:00
Evan Prodromou 32f4daf44d Notice saves its object type 2011-03-07 14:20:55 -05:00
Shashi Gowda 1b1a427237 DB_DataObjects for people tags 2011-03-06 23:28:03 +05:30
Brion Vibber 5519da95fd Merge branch 'master' into 0.9.x 2011-03-01 17:11:29 -08:00
Brion Vibber 4c09c1dc47 Workaround for bug causing fatal error during favoriting; Profile::getCurrentNotice() was returning an ArrayList instead of a Notice directly due to pulling through Profile::getNotices(). This caused failure in Fave::addNew() which specifies it wants a Notice. Caused failure of the 'fav' IM command. 2011-03-01 17:04:05 -08:00
Brion Vibber d09aa9c947 Workaround for bug causing fatal error during favoriting; Profile::getCurrentNotice() was returning an ArrayList instead of a Notice directly due to pulling through Profile::getNotices(). This caused failure in Fave::addNew() which specifies it wants a Notice. Caused failure of the 'fav' IM command. 2011-03-01 17:01:35 -08:00
Brion Vibber a7005f3975 Alternate Inbox streaming function optimized for threaded paging (for /all stream, while things using the existing API inbox methods won't be affected) 2011-03-01 15:16:39 -08:00
Zach Copley b7d0746694 Merge branch '0.9.x' into 1.0.x
Conflicts:
	actions/confirmaddress.php
	actions/emailsettings.php
	actions/hostmeta.php
	actions/imsettings.php
	actions/login.php
	actions/profilesettings.php
	actions/showgroup.php
	actions/smssettings.php
	actions/urlsettings.php
	actions/userauthorization.php
	actions/userdesignsettings.php
	classes/Memcached_DataObject.php
	index.php
	lib/accountsettingsaction.php
	lib/action.php
	lib/common.php
	lib/connectsettingsaction.php
	lib/designsettings.php
	lib/personalgroupnav.php
	lib/profileaction.php
	lib/userprofile.php
	plugins/ClientSideShorten/ClientSideShortenPlugin.php
	plugins/Facebook/FBConnectSettings.php
	plugins/Facebook/FacebookPlugin.php
	plugins/NewMenu/NewMenuPlugin.php
	plugins/NewMenu/newmenu.css
2011-02-28 15:39:43 -08:00
Brion Vibber 2bd9532ebe Merge branch 'master' into 0.9.x 2011-02-28 10:18:18 -08:00
Brion Vibber 9ec395b07a Workaround for reply timeline since_id issue: save the notice.created value into reply.modified, so we can key off it as expected.
As a hack this removes the mysql_timestamp bit from the field settings on reply.modified so that our value actually gets saved. This *should* work ok as long as system timezone is set correctly, which we now set to UTC to match when connecting.
2011-02-25 13:22:13 -08:00
Brion Vibber 0291c6f7cd Merge branch 'unicode-tag' into 0.9.x 2011-02-25 10:17:03 -08:00
Zach Copley 17176ee445 Merge branch 'json-activities' into 0.9.x 2011-02-25 00:15:26 -08:00
Brion Vibber 295e2bde56 Unicodize a couple regexes for tags: fixes linking & detection of non-ASCII tags that match the current regexes.
(Checks for 'letter' and 'number' characters, underscore, dash, and period.)
2011-02-23 16:37:55 -08:00
Evan Prodromou f743a233ab Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2011-02-21 16:36:12 -05:00
Evan Prodromou 1525acdca1 Extend authorization framework to cover login and API use
I've extended the rights framework (centering on the Right class and Profile::hasRight()) to cover
Web login and API use. This will make it possible to prevent login and API use by users.

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

I created a new AuthorizationException class for this particular
exception, in order to allow a different UI for these kinds of exceptions (or whatever).
2011-02-21 10:20:42 -05:00
Zach Copley 29ce5dd19a Reinstate profile_info in author/actor 2011-02-17 19:02:57 -08:00
Brion Vibber 98b1fe07c6 Blow user:site_owner cache when granting/revoking 'owner' role 2011-02-17 16:46:08 -08:00
Evan Prodromou ccdd47bdb4 use fallback URIs for groups when filling in attention in Notice::asActivity() 2011-02-17 10:51:00 -05:00
Zach Copley 764a29e2ff Remove debugging statements I accidentally left in 2011-02-16 16:21:31 -08:00
Zach Copley a1b436a8c6 First cut at some JSON Activity Streams output 2011-02-15 20:25:39 -08:00
Brion Vibber 454a980bd4 Fix for failure/exception on subscription/subscriber lists when deleted profiles are stuck in cached list.
Workaround for deleted profiles still appearing in cached subscriptions/subscribers lists: if we couldn't fetch them, don't include them in the ArrayWrapper.
ArrayWrapper doesn't deal well with null entries, which aren't meant to happen in how it works. This code has recently changed from dying directly with a PHP fatal error in that case to throwing an exception, which allows tracking down the caller.

It looks like there might be some cases where profiles and their matching subscriptions get deleted, but the subscription entries don't get properly cleared from cache... that still bears further investigation. The regular code path looks ok; calls Subscription::cancel() from code called in Profile::delete(); but if they're batch-deleted instead of one row at a time, that could fail to trigger.
2011-02-11 13:21:53 -08:00
Zach Copley df19e88323 Atom output - Reinstate activity:actor and activity:subject
w/deprecation warnings. Also add statusnet:profile_info back into
author/actor.
2011-02-09 23:18:14 -08:00
Brion Vibber 4883069177 Fix group regexes that got missed in Nickname::DISPLAY_FMT update: fixes bug where group linking happened, but not actual delivery, when using _underscores_ in the !group_name 2011-02-07 12:18:41 -08:00
Evan Prodromou c37f0f8256 Merge branch 'testing' into privategroup 2011-02-07 12:27:09 -05:00
Evan Prodromou 5f365e75ca only blow public timeline cache if notice is in it 2011-02-03 13:58:56 -05:00
Evan Prodromou 99db745f9d Merge branch 'testing' into privategroup
Conflicts:
	lib/groupeditform.php
2011-02-03 12:56:55 -05:00
Brion Vibber de7726dd00 Performance counters: records number of total and unique cache get/set/incr/deletes and queries, and logs to syslog.
$config['site']['logperf'] = true; // to record & dump total hits of each type and the runtime to syslog
$config['site']['logperf_detail'] = true; // very verbose -- dump the individual cache keys and queries as they get used (may contain private info in some queries)

Seeing 180 cache gets on a timeline page seems not unusual currently; since these run in serial, even relatively small roundtrip times can add up heavily.
We should consider ways to reduce the number of round trips, such as more frequently storing compound objects or the output of processing in memcached.
Doing parallel multi-key lookups could also help by collapsing round-trip times, but might not be easy to fit into SN's object model. (For things like streams this should actually work pretty well -- grab the list, then when it's returned go grab all the individual items in parallel and return the list)
2011-01-31 13:12:56 -08:00
Brion Vibber b896a37da0 Use cachedQuery on File::getAttachments, plus other cleanups:
* dropped unnecessary join on notice table
* made the function actually static, since it makes no sense as an instance variable. The only caller (in AttachmentList) is updated.
2011-01-31 12:22:50 -08:00
Brion Vibber 2a29738dc1 Revert "Session GC fix: save session.modified field as UTC so our comparisons work." - no longer needed with ticket #3020 fix to time zone settings
This reverts commit a7abb2323e.
2011-01-31 11:50:24 -08:00
Brion Vibber 47f31bce47 Merge branch 'master' into testing
Conflicts:
	classes/Profile.php
2011-01-31 11:50:06 -08:00
Brion Vibber 54f7154db8 Fix for ticket #3020: set MySQL session time_zone variable to UTC ('+0:00') so TIMESTAMP column values are comparable against our other UTC timestamp values.
MySQL stores TIMESTAMP columns as UTC, but with a local time interface. (SRSLY?!) DATETIME columns are always bare and assumed to be local time, but we keep only UTC in them.
Forcing the session time_zone to UTC means we won't have to worry as much about what we're sending/receiving in there.

Also will let us remove the hack in master commit a7abb2323e for session tweaks
2011-01-31 11:45:19 -08:00
Siebrand Mazeland 7db24c32d6 * fix some i18n and L10n issues
* update/add translator documentation
* remove superfluous whitespace
2011-01-29 00:33:13 +01:00
Brion Vibber a7abb2323e Session GC fix: save session.modified field as UTC so our comparisons work.
Had to tweak statusnet.ini to remove the DB_DATAOBJECT_MYSQLTIMESTAMP bitfield constant on session.modified; while it sounds like a useful and legit setting, it actually just means that DB_DataObject silently fails to pass through any attempts to explicitly set the value. As a result, MySQL does its default behavior which is to insert the current *LOCAL* time, which is useless.
This was leading to early GC west of GMT, or late GC east of it. Early GC could at worst destroy all live sessions (whoever's session *triggered* GC is fine, as the session then gets saved right back.)
2011-01-27 12:27:31 -08:00
Brion Vibber 433ec21119 Add $config['sessions']['gc_limit'] to limit how much work we do in each session GC; defaulting to killing 1000 sessions at a time. 2011-01-27 12:08:24 -08:00
Evan Prodromou 2682915b99 events for creating a group 2011-01-26 18:35:01 -07:00
Brion Vibber e35d46b415 Fix for ticket #3010: blocks are now applied against the original poster of repeats.
Previously, if someone you subscribe to repeats a notice by someone you've blocked, you got the message and had to just roll your eyes.
Now blocks are checked against both the current notice's posting profile, and the poster of the original if it's a repeat.
2011-01-24 14:16:15 -08:00
Zach Copley 3a24b95edb Fix a couple spelling mistakes in comments and remove redundant statement terminator 2011-01-20 10:44:05 -08:00
Zach Copley 6dc94a5389 Move getConnectedApps() from Profile to User, where it belongs
Conflicts:

	classes/User.php
2011-01-20 10:43:27 -08:00
Zach Copley 6eca8188b6 Fix a couple spelling mistakes in comments and remove redundant statement terminator 2011-01-19 15:52:18 -08:00
Evan Prodromou f9b2feb7f5 Merge branch '0.9.x' into 1.0.x
Conflicts:
	README
2011-01-12 18:05:56 -05:00
Brion Vibber 281076d5f6 Fix for PHP notice spew in group creation via API: set default 'mainpage' in User_group::register() rather than forcing all callers to do it manually. 2011-01-06 13:22:44 -08:00
Brion Vibber af1cbc6fe3 Fix ticket #2181: Can't save #000000 (black) in color fields on design page
It seems to have actually been saving correctly, but the update of the colors on the form success page wasn't working properly.
When a design object is pulled out of the database, the numeric fields are read in as strings, so black comes back as "0".
But, when we populate the new object and then stick it live, we've populated it with actual integers; with memcache on these might live for a while in the cache...

The fallback code in Design::toWebColor() did a check ($color == null) which would be false for the string "0", but counts as true for the *integer* 0.
Thus, the display code would initially interpret the correctly-saved black color as "use default".

Changing the check to === against null and "" empty string avoids the false positive on integers, and lets us see our nice black text immediately after save.
2011-01-04 13:09:44 -08:00
Evan Prodromou 32eb4c5e2d Merge remote branch 'gitorious/0.9.x' into 1.0.x
Conflicts:
	lib/common.php
2010-12-30 15:52:08 -08:00
Evan Prodromou 26afe79ed9 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-12-29 14:53:38 -08:00
Evan Prodromou 39cf2338c2 Bad method call in File_to_post 2010-12-29 13:28:32 -08:00
Evan Prodromou d31397bd45 method to count notices linking to an URL 2010-12-28 13:44:49 -08:00
Evan Prodromou 6ab46c70f7 Delete file links when Notice is deleted 2010-12-28 13:44:18 -08:00
Evan Prodromou a2000f889a Merge branch '0.9.x' into socialbookmark 2010-12-28 13:42:44 -08:00
Evan Prodromou faf0081a8b Fixes from testing File::stream() 2010-12-28 12:57:31 -08:00
Evan Prodromou bf4c5cb41a Stream of notices linking to an URL 2010-12-28 11:58:55 -08:00
Brion Vibber e211e6228d Merge branch '0.9.x' into 1.0.x 2010-12-28 11:38:34 -08:00
Brion Vibber 90c7ff1983 Merge branch 'master' into 0.9.x 2010-12-28 11:37:38 -08:00
Brion Vibber d3d9797496 Prevent group creation by silenced users.
* adds Right::CREATEGROUP
* logic in Profile::hasRight() checks for silencing
* NewgroupAction checks for the permission before letting you see or process the form in the UI
* User_group::register() logic does a low-level check on the specified initial group admin, and rejects creation if that user doesn't have the right; guaranteeing that API methods etc will also have this restriction applied sensibly.
2010-12-28 11:34:02 -08:00
Evan Prodromou 320e73a321 If notice has been deleted before, don't store URI again 2010-12-27 22:58:13 -08:00
Evan Prodromou 8814fb3822 Merge branch '0.9.x' into socialbookmark 2010-12-27 22:38:36 -08:00
Evan Prodromou c458bafaa1 pass through $idField and $createdField in Notice queries 2010-12-27 22:35:57 -08:00
Evan Prodromou 763a5f182d Memcache_DataObject checks for PEAR::isError() on results 2010-12-26 21:08:20 -08:00
Brion Vibber 26baad63f2 Merge branch '0.9.x' into 1.0.x 2010-12-22 15:25:38 -08:00
Evan Prodromou 402cac2f93 Merge branch '0.9.x' into socialbookmark
Conflicts:
	lib/activityobject.php
2010-12-22 12:09:42 -08:00
Evan Prodromou 9a6ceb3303 Merge branch 'righttoleave' into 0.9.x 2010-12-22 11:22:51 -08:00
Evan Prodromou 9480bf1d10 Notice_tag::url() gets the URL for a tag string 2010-12-19 10:15:56 -05:00
Brion Vibber d8a3a88ec8 Merge branch '0.9.x' into 1.0.x
Conflicts:
	classes/Memcached_DataObject.php
2010-12-17 17:13:21 -08:00
Brion Vibber fb65d5901d Update sorting for conversation views: adds notice_conversation_created_id_idx index on notice, replacing more limited notice_conversation_idx 2010-12-17 16:08:37 -08:00
Brion Vibber 71151b3bc0 Update sorting for User::repeatedByMe() -- currently unused. Likely not ideally indexed yet. 2010-12-17 15:28:55 -08:00
Brion Vibber b80151275a Update sorting on api/statuses/retweets_of_me; was and remains poorly indexed, but will use updated sorting method. 2010-12-17 15:25:19 -08:00
Brion Vibber 1b90ed564a Update sorting on api/statuses/retweets: adds notice_repeat_of_created_id_idx index to replace notice_repeatof_idx 2010-12-17 15:13:09 -08:00
Brion Vibber 04aa8bd70f work around borkage in statuses/repeats -- tries to check an offset var that's not there. use the limit var which is there instead 2010-12-17 15:05:45 -08:00
Brion Vibber 66474586af Update sorting for group inbox timelines; adds group_inbox_group_id_created_notice_id_idx index to group_inbox table 2010-12-17 14:51:37 -08:00
Brion Vibber 3ddfa4de93 Update sorting on reply/mentions timeline: added reply_profile_id_modified_notice_id_idx index to reply table 2010-12-17 14:43:45 -08:00
Brion Vibber 00a5a5342a Update sorting for tag-filtered public timeline: needs notice_tag_tag_created_notice_id_idx index added to notice_tag 2010-12-17 14:37:46 -08:00
Brion Vibber 33daace6cb add fixme for since_id/max_id on fave streaming (?) 2010-12-17 14:32:06 -08:00
Brion Vibber 4adf551f9f Update sorting for user tagged timelines (indexing was bad before and remains bad -- we need some DB changes to make this one nice) 2010-12-17 13:45:40 -08:00
Brion Vibber 4cd3a0756b Update notice sorting for profile streams; extract more common code to Notice::addSinceId() and Notice::addMaxId() 2010-12-17 13:20:38 -08:00
Brion Vibber 9e8bbff8ac Notice::whereSinceId() and Notice::whereMaxId() encapsulate logic for building where clauses for since_id/max_id parameters. Can override the field names from 'id' and 'created'. 2010-12-17 13:03:18 -08:00
Brion Vibber 5de86f0ccc Initial switch of public timeline stream to use timestamps for internal sorting 2010-12-17 12:38:38 -08:00
Brion Vibber 7c84c35587 Notice::getAsTimestamp() static function to look up the timestamp for a given notice, even if it's been deleted. To be used for converting since_id/max_id processing to use timestamp sorting internally. 2010-12-17 12:09:02 -08:00
Brion Vibber 0535a3d15c Event hook for SQLProfile 2010-12-17 11:46:11 -08:00
Evan Prodromou 39804809dd distribute flag for Notice::saveNew() 2010-12-16 16:17:38 -05:00
Brion Vibber bf20258f4b Merge branch '0.9.x' into 1.0.x 2010-12-15 11:59:31 -08:00
Evan Prodromou 75aaa98462 define rights for account maintenance and default rules 2010-12-13 16:28:32 -05:00
Evan Prodromou 027c73a4a1 Merge branch 'activityatompub' into 0.9.x 2010-12-13 14:35:42 -05:00
Evan Prodromou a93f0fea61 membership stream method and return membership from join() in Group_member class 2010-12-13 13:50:39 -05:00
Evan Prodromou 5bbd77b761 group_member includes self link, edit link 2010-12-13 12:40:44 -05:00
Zach Copley bb55784e90 Move getConnectedApps() from Profile to User, where it belongs 2010-12-12 17:37:42 -08:00
Evan Prodromou 7c37aa802b a stream function for Fave class 2010-12-12 12:22:04 -05:00
Evan Prodromou 8dea5144a9 Merge branch '0.9.x' into activityatompub 2010-12-11 11:03:02 -05:00
Evan Prodromou af4ee1d490 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-12-11 11:01:05 -05:00
Evan Prodromou d0ea138888 cache stream of subscriptions 2010-12-11 11:00:04 -05:00
Evan Prodromou 7285bbc93b Subscription stream functions
Made two new functions, Subscription::bySubscriber() and
Subscription::bySubscribed(), to get streams of Subscription objects.

Converted Profile::getSubscribers() and Profile::getSubscriptions() to
use these functions.
2010-12-11 10:24:46 -05:00
Evan Prodromou 37c447be46 Show a single favorite for AtomPub 2010-12-10 18:50:50 -05:00
Brion Vibber 3f9b8b293d Workaround for locally-handled sessions breaking on PHP 5.3 with APC enabled.
Big thanks to the folks at http://pecl.php.net/bugs/bug.php?id=16745 for the secret juju!
Classes were being torn down before session save handlers got called at the end of the request, which exploded with complaints about being unable to find various classes.
Registering a shutdown function lets us explicitly close out the session before everything gets torn down.
2010-12-10 14:12:02 -08:00
Brion Vibber ab7a06542c Workaround for locally-handled sessions breaking on PHP 5.3 with APC enabled.
Big thanks to the folks at http://pecl.php.net/bugs/bug.php?id=16745 for the secret juju!
Classes were being torn down before session save handlers got called at the end of the request, which exploded with complaints about being unable to find various classes.
Registering a shutdown function lets us explicitly close out the session before everything gets torn down.
2010-12-10 22:08:36 +00:00
Evan Prodromou 11a0bde459 AtomPub for single subscription 2010-12-09 13:11:02 -05:00
Evan Prodromou 94ff04e190 Don't cache user-specific information for Notice atom entries 2010-12-08 13:59:12 -05:00
Evan Prodromou b8b5b87c4c Don't cache user-specific information for Notice atom entries 2010-12-08 07:25:55 -05:00
Brion Vibber 9df856e667 Merge branch '0.9.x' into merge
Conflicts:
	README
	actions/hostmeta.php
	classes/File_redirection.php
	lib/common.php
	lib/designsettings.php
	lib/router.php
	lib/util.php
	lib/xmppmanager.php
	plugins/OStatus/OStatusPlugin.php
2010-12-07 10:50:05 -08:00
Evan Prodromou 1fb506c27d use codeKey() in activity caching 2010-12-06 17:28:22 -05:00
Evan Prodromou 8564fc51c5 cache generated activity info 2010-12-06 16:38:02 -05:00
Brion Vibber 2617c40e04 Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	classes/User.php
2010-12-06 12:44:19 -08:00
Brion Vibber 76f3dc32e0 Added User::singleUserNickname() as (temporary?) fallback for single-user lookup as a workaround for site setup of 1user sites. We found that an external tool attempting to spin up StatusNet and then register the user would fail because StatusNet's router setup dies on being unable to find its single-user account, since the nickname is needed in setting up routing entries. This tweak will let it survive, using the configured setting as a fallback if it can't actually find the user account. 2010-12-06 12:39:09 -08:00
Evan Prodromou b28266b3d6 Convert Notice::asAtomEntry() to use Notice::asActivity() and Activity::asString()
We had two ways to generate an activity entry from a notice; one through
Notice::asAtomEntry() and one through Notice::asActivity() and
Activity::asString(). The code paths had already diverged somewhat. I
took the conditions that were in Notice::asAtomEntry() and made sure
they were replicated in the other two functions. Then, I rewrote
Notice::asAtomEntry() to use the other two functions instead.

This change passes the ActivityGenerationTests unit tests, but there
may be some other stuff that's not getting covered.
2010-12-05 16:15:05 -05:00
Brion Vibber 043f0ad152 URL shortening fix for direct messages: if we're going to shorten the text, shorten the rendered text too. 2010-12-02 13:59:51 -08:00
Brion Vibber aa96c3c1d9 Fix for tickets #2917, #2262: user URL shortening options not being applied in non-web channels
common_shorten_links() can only access the web session's logged-in user, so never properly took user options into effect for posting via XMPP, API, mail, etc.

Adds an optional $user parameter on common_shorten_links(), and a $user->shortenLinks() as a clearer interface for that.
Tweaked some lower-level functions so $user gets passed down -- making the $notice_id param previously there for saving URLs at notice save time generalized a little.

Note also ticket #2919: there's a lot of duplicate code calling the shortening, checking the length, and reporting near-identical error messages. These should be consolidated to aid in code and translation maintenance.
2010-12-02 13:41:56 -08:00
Brion Vibber 6e249b4ab5 doc comments on User::allowed_nickname 2010-11-29 11:57:27 -08:00
Brion Vibber 826a695077 Ticket #2797: replace addslashes() with explicit escape calls on the DB objects 2010-11-19 15:06:26 -08:00
Brion Vibber 407663fb40 Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-19 12:44:43 -08:00
Brion Vibber 4b01dd8b2e Ticket #2441: fix deletion of avatars when a profile is deleted.
Code was doing a batch call to $avatar->delete() which fails to properly engage the file deletion code. Calling the existing profile->delete_avatars() function deletes them individually, which makes it all work nice again.
2010-11-19 12:40:18 -08:00
Brion Vibber 197b56778a Add $config['attachments']['process_links'] to allow disabling processing of mentioned URL links for attachment info (oEmbed lookups) and dereferencing of redirects that we didn't have shortened ourselves.
This option may be useful for intranet sites that don't have direct access to the internet, as they may be unable to successfully fetch those resources.
2010-11-17 13:03:59 -08:00
Brion Vibber e4eb3b3dfd Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-15 17:36:48 -08:00
Brion Vibber 0d0e51292d some User -> Profile cleanup to help in adapting the profile page action to show stuff for remote users. Subscriptions, groups, roles, etc are all on profiles now so go ahead and use em. 2010-11-15 15:32:57 -08:00
Brion Vibber 5c00848b74 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-11-15 12:38:53 -08:00
Brion Vibber 1c90d09ec8 Workaround for yfrog.com photo attachments: fudge File_redirection::lookupWhere()'s HTTP handling -- when we get a 204 on a HEAD, double-check it by re-running as a GET. yfrog.com returns a 204 incorrectly for this case. 2010-11-15 11:01:00 -08:00
Brion Vibber e1ffbfed04 doc comments on File::processNew 2010-11-15 11:00:42 -08:00
Evan Prodromou 8a21b13ee9 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-11-15 11:57:31 -05:00
Evan Prodromou c1cee3b27f Merge branch 'atompub' into 0.9.x
Conflicts:
	actions/apistatusesshow.php
	actions/apitimelineuser.php
2010-11-15 11:57:19 -05:00
Brion Vibber 4f323efdf7 Encapsulate the oEmbed -> oohembed fallback into oEmbedHelper class. Also added a chance to whitelist sites that don't show discovery info but do have oEmbed API endpoints, and to provide alternate APIs for some common services.
Newly supported:
- TwitPic: added a local function using TwitPic's API, since the oohembed implementation for TwitPic produced invalid output which Services_oEmbed rejects. (bug filed upstream)

Tweaked...
- Flickr: works, now using whitelist to use their endpoint directly instead of going through oohembed
- Youtube: worked around a bug in Services_oEmbed which broke the direct use of API discovery info, so we don't have to use oohembed.

Not currently working...
- YFrog: whitelisting their endpoint directly as the oohembed output is broken, but this doesn't appear to work currently as I think things are confused by YFrog's servers giving a '204 No Content' response on our HEAD checks on the original link.
2010-11-12 17:41:35 -08:00
Brion Vibber 2c4313467f Save oEmbed photo references as thumbnails if there's not a separate thumbnail_url entry in the return data. This fixes thumb saving for Flickr photo references. 2010-11-12 14:03:08 -08:00
Brion Vibber dbb95b76a4 Allow YouTube-style media links to be counted as enclosures for purposes of listing attachments/thumbs 2010-11-09 12:04:07 -08:00
Brion Vibber 694448e0aa Add attachments 'thumb_width' and 'thumb_height' settings for inline thumbs, defaulting to 100x75.
This is used as the max thumb width/height for oEmbed requests (replacing the old default of 500x400 which was more suitable for the lightbox).
2010-11-08 17:36:02 -08:00
Brion Vibber 6d7f02ff31 Pass file attachment thumbnails along with oEmbed data. 2010-11-08 17:22:01 -08:00
Brion Vibber c36fecb794 Save a thumbnail image when uploading an image file into the file attachments system. Currently hardcoded to 100x75, needs aspect-sensitivity etc. 2010-11-08 17:20:04 -08:00
Brion Vibber a2994e3aa2 Testing... using photo info for temp thumbnails 2010-11-08 15:50:06 -08:00
Brion Vibber 883f7a6c0b Avoid marking files as attachments that are not locally uploaded, unless they're really oembedable. HTML-y things now excluded properly. 2010-11-08 13:27:54 -08:00
Siebrand Mazeland 6aeba0cb7c i18n/L10n updates. 2010-11-04 18:33:39 +01:00
Brion Vibber 4f63e3be7d Fix for ticket #2804: bad non-cache fallback code for dupe checks of prolific posters
The old code attempted to compare the value of the notice.created field against now() directly, which tends to explode in our current systems. now() comes up as the server/connection local timezone generally, while the created field is currently set as hardcoded UTC from the web servers. This would lead to breakage when we got a difference in seconds that's several hours off in either direction (depending on the local timezone). New code calculates a threshold by subtracting the number of seconds from the current UNIX timestamp and passing that in in correct format for a simple comparison. As a bonus, this should also be more efficient, as it should be able to follow the index on profile_id and created.
2010-11-03 17:25:29 -07:00
Brion Vibber 2692b5fc84 Fix for ticket #2853: fix for some unknown MIME type error cases by adjusting the PEAR error handling temporarily around MIME_Type_Extension usage. 2010-11-03 17:05:26 -07:00
Brion Vibber b716d01a41 Merge branch '0.9.x' into 1.0.x 2010-11-03 16:09:49 -07:00
Brion Vibber b0d7900530 Add getFancyName() to User_group to match the one on Profile: encapsulates the "fullname (nickname)" vs "nickname" logic and allows for localization of the parentheses in a common place. 2010-11-03 12:53:51 -07:00
Siebrand Mazeland a65362f7fa Add context for different uses of "%1$s (%2$s)" 2010-11-02 23:08:59 +01:00
Brion Vibber 0229c22d23 Merge branch '1.0.x' into schema-x 2010-11-02 15:02:55 -07:00
Brion Vibber 04ca706601 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	actions/confirmaddress.php
	actions/othersettings.php
2010-11-02 15:02:10 -07:00
Brion Vibber 426cda5e1f Alternate pretty-title tweaks for #2668 2010-11-02 13:42:44 -07:00
Brion Vibber 62d4701148 fix a couple bugs in Managed_DataObject 2010-11-01 14:31:32 -07:00
Brion Vibber 96521f38d2 Fix for changed cache functions in code merged up from 0.9.x 2010-10-29 16:31:25 -07:00
Brion Vibber e7c7fd39fc Merge branch '1.0.x' into schema-x
Conflicts:
	plugins/CacheLog/locale/nb/LC_MESSAGES/CacheLog.po
2010-10-28 16:27:53 -07:00
Brion Vibber b26eccf33c Merge branch '0.9.x' into 1.0.x 2010-10-28 16:26:34 -07:00
Evan Prodromou b5206fe6ca fall back to siteowner on bad nickname (Bug#2861) 2010-10-28 10:46:57 -04:00
Brion Vibber b483a0549f Merge branch '1.0.x' into schema-x
Conflicts:
	plugins/CacheLog/locale/nb/LC_MESSAGES/CacheLog.po
2010-10-25 13:14:33 -07:00
Brion Vibber ca489631db Merge branch '0.9.x' into 1.0.x
Conflicts:
	actions/subscriptions.php
	lib/router.php
	lib/xmppmanager.php
	lib/xmppoutqueuehandler.php
2010-10-25 13:08:57 -07:00
Evan Prodromou b60b9b4fa2 Merge branch '0.9.x' into atompub 2010-10-25 11:18:56 -04:00
Evan Prodromou aef88c7cee max_id is inclusive 2010-10-25 11:18:49 -04:00
Evan Prodromou 75fcf1e081 Merge branch '0.9.x' into atompub 2010-10-25 11:09:11 -04:00
Evan Prodromou 968f9b0513 change max_id from < to <= 2010-10-25 11:08:53 -04:00
Evan Prodromou e51ed96b89 add rel=self links to atom entries 2010-10-25 09:48:01 -04:00
Evan Prodromou 698818bd7e show rel=edit links in notices for authenticated users 2010-10-24 23:05:33 -04:00
Siebrand Mazeland 0b6cc7c33d * translator documentation added.
* superfluous whitespace removed.
2010-10-23 19:20:51 +02:00
Evan Prodromou 1d85bfece1 New events when granting and revoking roles
Four new events for when roles are granted or revoked.
2010-10-22 10:31:50 -04:00
James Walker 8ac8f3d2dc Memcache::set() 3rd param should be flags (4th is expire). This throws a "2 lowest bytes reserved" error in Memcache > 3.0.3 2010-10-21 12:20:14 -04:00
Siebrand Mazeland fb12094f61 i18n/L10n updates, translator docs updated, superfluous whitespace removed. 2010-10-21 03:10:46 +02:00
Zach Copley bfdb8385ec Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	actions/apioauthauthorize.php
	lib/apioauthstore.php
2010-10-20 17:28:28 -07:00
Zach Copley e56385a7bb Use a new table (oauth_token_association) to associate authorized
request tokins with OAuth client applications and profiles.
2010-10-20 17:21:04 -07:00
Siebrand Mazeland 28ec9d6463 * translator documentation added.
* moved some translator comments that were not directly above the line with the message to the correct location.
* i18n for UI text.
* superfluous whitespace removed.
2010-10-21 01:12:56 +02:00
Brion Vibber 8004e2809d Fix for ticket #2845: singleuser nickname configuration was being overridden by site owner in router setup.
I've consolidated the checks for which user to use for single-user mode into User::singleUser(), which now uses the configured nickname by preference, falling back to the site owner if it's unset.
This is now called consistently from the places that needed to use the primary user's nickname in routing setup.

Setting $config['singleuser']['nickname'] should now work again as expected.
2010-10-20 14:34:25 -07:00
Zach Copley 3d6a0f730d Revert DB change for OAuth. Change compound key for oauth_application_user
back to (profile_id, application_id). I think we can get away without
a DB change by only issuing one anonymous access token per user.
2010-10-20 11:41:04 -07:00
Zach Copley e8b6d7c946 Add support for an anonymous OAuth consumer. Note: this requires a
small DB tweak.  Oauth_application_user needs to have the primary
compound key: (profile_id, application_id, token).

http://status.net/open-source/issues/2761

This should also make it possible to have multiple access tokens
per application.

http://status.net/open-source/issues/2788
2010-10-19 20:54:53 -07:00
Brion Vibber 4f7eae8702 Add stub schema_version table 2010-10-19 15:38:53 -07:00
Brion Vibber 4c3aebd396 Merge branch '1.0.x' into schema-x 2010-10-15 11:40:40 -07:00
Brion Vibber a7d98435f6 Tweak DB query logging to also log queries that fail; the exceptions we get are often not very descriptive like "No such table" without saying which table. :) 2010-10-15 11:26:06 -07:00
Craig Andrews 0721d8d3e2 Merge remote branch 'statusnet/0.9.x' into 1.0.x 2010-10-14 15:27:17 -04:00
Evan Prodromou b31c49c5d4 Make HTTPS urls in File::url() if necessary 2010-10-14 14:22:17 -04:00
Evan Prodromou 97a7fb246c correctly use sslserver if it is set 2010-10-14 01:35:11 -04:00
Evan Prodromou aafd95dc0c Design::url() will use HTTPS if page is HTTPS 2010-10-14 01:18:19 -04:00
Evan Prodromou 76038fe20c better deletion of related objects in User_group::delete() 2010-10-13 22:44:06 -04:00
Brion Vibber 4101de7dd7 Merge branch '1.0.x' into schema-x 2010-10-13 15:46:45 -07:00
Brion Vibber 5f81f6119b Merge branch '0.9.x' into 1.0.x 2010-10-12 16:33:36 -07:00
Brion Vibber 112b6c4079 Improve cache-friendliness of user_group->delete().
Doesn't clear all possible cached entries, but this should get the ones that matter most: lookups by id, nickname, and alias. This should ensure that if a group name gets reused as a new group or alias, it should work properly.
There are some user-visible areas that aren't clear such as the 'top groups' lists on the GroupsAction sidebar; if a deleted group appears in those lists it'll go away within an hour when the cached query expires.
2010-10-12 16:29:13 -07:00
Brion Vibber 3579ccac8e Cascading deletion for user_group; doesn't yet work properly with caching. 2010-10-12 16:13:07 -07:00
Brion Vibber f4f16af8ac Add a basic group deletion for moderator users. 2010-10-12 15:49:20 -07:00
Brion Vibber 1cd60579f5 Ticket #2811 use more consistent max limit for OAuth application registration descriptions; now using the field max of 255 rather than $config['site']['textlimit'] as fallback if $config['application']['desclimit'] is unset or out of bounds. 2010-10-11 12:52:32 -07:00
Brion Vibber 1f4b168e69 tweak for Managed_DataObject table defs 2010-10-07 14:21:06 -07:00
Brion Vibber 99194e03fa Merge branch '1.0.x' into schema-x
Conflicts:
	plugins/OStatus/classes/Ostatus_profile.php
2010-10-06 17:16:13 -07:00
Brion Vibber 8ff45823ba Merge branch '0.9.x' into 1.0.x 2010-10-05 11:40:49 -07:00
Brion Vibber d6b3d7fb1a Fix unescaped dollar signs in double-quoted strings due to localization updates (%1$s etc) 2010-10-04 14:24:04 -07:00
Brion Vibber 59119482ca Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts:
	actions/hostmeta.php
	actions/imsettings.php
	classes/User.php
	lib/adminpanelaction.php
	lib/channel.php
	lib/default.php
	lib/router.php
	lib/util.php
2010-10-04 12:54:36 -07:00
Brion Vibber 6e58a926e3 ForceGroup plugin: optionally force new users to join a particular group or set of groups on registration; and/or to force posts by members of particular groups to be posted into those groups even if not explicitly mentioned. The posting feature requires a couple quick hook additions in core. 2010-09-30 18:05:44 -07:00
Brion Vibber 55a080ea4e ForceGroup plugin: optionally force new users to join a particular group or set of groups on registration; and/or to force posts by members of particular groups to be posted into those groups even if not explicitly mentioned. The posting feature requires a couple quick hook additions in core. 2010-09-30 16:25:15 -07:00
Zach Copley 3960c9ad39 Move blowFavesCache() to Profile 2010-09-29 16:35:12 -07:00
Zach Copley c19e592fa8 Move hasFave() to Profile 2010-09-29 16:35:12 -07:00
Siebrand Mazeland 9587f9f55b * i18n/L10n and translator documentation updates.
* whitespace and indentation updates
2010-09-28 23:42:18 +02:00
Siebrand Mazeland b03ece26eb * i18n/L10n and translator documentation updates.
* whitespace and indentation updates
2010-09-28 23:21:09 +02:00
Evan Prodromou 4d01f8fbb6 save a URI with the user 2010-09-22 12:08:17 -04:00
Evan Prodromou b5cfcba471 Merge branch '0.9.x' into activityexport
Conflicts:
	plugins/OStatus/OStatusPlugin.php
2010-09-22 10:45:34 -04:00
Brion Vibber 42dd460d3b Merge branch 'master' into 0.9.x 2010-09-21 12:48:16 -07:00
Evan Prodromou 556a2a8fd8 use Profile::getUri() to get a profile's URI 2010-09-21 06:21:47 -04:00
Brion Vibber 28b06864fb Fix for #2227: 'view profile designs' and other default-on options are initially mis-set to off due to caching at account creation 2010-09-20 17:37:21 -07:00
Brion Vibber 521daf5562 Ticket #2327: fixing block to remove the blocking user's subscription to the blockee if present; also cleaning up inbox delivery to apply the block checks more consistently, instead of just to group posts. 2010-09-20 16:00:25 -07:00
James Walker 444959a789 Status_network::encache() doesn't exist 2010-09-17 16:33:02 -04:00
Evan Prodromou fac1942dad better output for group membership as activity 2010-09-15 07:11:24 -04:00
Evan Prodromou 43ad609600 Add Group_member::asActivity() to record group joins 2010-09-14 11:01:29 -04:00
Evan Prodromou 9f4891568f bugs in function calls in Notice::asActivity 2010-09-13 16:27:02 -04:00
Evan Prodromou 9771a7193f bug in time and object handling in Subscription::asActivity 2010-09-13 16:22:42 -04:00
Evan Prodromou 4338bc1ee7 bug in time and object handling in Fave::asActivity 2010-09-13 16:22:27 -04:00
Evan Prodromou d634f9cf17 Notice::asActivity 2010-09-13 11:44:20 -04:00
Evan Prodromou d9b959fc64 move code for making activities from OStatus plugin to Subscription and Fave classes 2010-09-13 11:44:20 -04:00