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