Mikael Nordfeldth
fac7371179
pivotGet moved into Managed_DataObject
2013-08-29 10:13:07 +02:00
Mikael Nordfeldth
0785cc2469
Don't use DB_DataObject::factory (statically at least)
...
Not all instances of this has been fixed, but at least the ones
in the base class of Memcached_DataObject.
Avatar fix (in classes/Profile.php) requires a pkeyGet function
in the Avatar class (or as in this tree, the parent class of
Managed_DataObject)
2013-08-19 11:40:35 +02:00
Mikael Nordfeldth
861e838add
pkeyGet is now static and more similar to getKV
...
Memcached_DataObject now defines
* pkeyGetClass to avoid collision with Managed_DataObject pkeyGet
* getClassKV to avoid collision with Managed_DataObject getKV
2013-08-18 15:42:51 +02:00
Mikael Nordfeldth
2a4dc77a63
The overloaded DB_DataObject function staticGet is now called getKV
...
I used this hacky sed-command (run it from your GNU Social root, or change the first grep's path to where it actually lies) to do a rough fix on all ::staticGet calls and rename them to ::getKV
sed -i -s -e '/DataObject::staticGet/I!s/::staticGet/::getKV/Ig' $(grep -R ::staticGet `pwd`/* | grep -v -e '^extlib' | grep -v DataObject:: |grep -v "function staticGet"|cut -d: -f1 |sort |uniq)
If you're applying this, remember to change the Managed_DataObject and Memcached_DataObject function definitions of staticGet to getKV!
This might of course take some getting used to, or modification fo StatusNet plugins, but the result is that all the static calls (to staticGet) are now properly made without breaking PHP Strict Standards. Standards are there to be followed (and they caused some very bad confusion when used with get_called_class)
Reasonably any plugin or code that tests for the definition of 'GNUSOCIAL' or similar will take this change into consideration.
2013-08-18 13:13:56 +02:00
Mikael Nordfeldth
1a9a8ea730
staticGet for sub-Managed_DataObject classes now calls parent
...
The parent class for our database objects, Managed_DataObject, has a
dynamically assigned class in staticGet which objects get put into,
leaving us with less code to do the same thing.
We will probably have to move away from the DB_DataObject 'staticGet'
call as it is nowadays deprecated.
2013-08-12 19:46:44 +02:00
Evan Prodromou
3fc1d245a1
Merge 1.1.x into master
2013-07-16 10:57:06 -07:00
Joshua Wise
c5a710e081
Escape $tag passed to Profile::getTaggedSubscribers()
...
This patch escapes the $tag parameter in
Profile::getTaggedSubscribers(). The parameter is not escaped either
in actions/subscriptions.php or in actions/apiuserfollowers.php. So
there is a potential for SQL injection here.
2013-07-16 10:14:38 -07:00
Evan Prodromou
1c3c269ab4
cache key for member_ids
2012-07-04 14:39:26 -04:00
Evan Prodromou
642b1044cc
Better user group member queries
2012-07-04 14:12:11 -04:00
Evan Prodromou
04ad0838be
Add spam-training, spam-reviewing rights
...
Replaced the check for a moderator role in certain spam-training and
-reviewing points. Make sure modhelpers can check, too.
2012-03-25 13:18:16 -04:00
Evan Prodromou
3b09465fc4
flush anonymous scope when a profile is silenced
2012-03-22 11:37:59 -04:00
Evan Prodromou
cd3bc8f4ef
correct groups from Profile::getGroups()
2011-09-30 11:38:06 -04:00
Zach Copley
ba4bda9beb
Fix display of group admin avatars
2011-09-30 00:57:54 +00:00
Evan Prodromou
699a90f11c
Show Event attendees in mini-list
2011-09-29 15:12:30 -04:00
Evan Prodromou
88c00facc8
fix getOtherTags() to not use joinAdd()
2011-09-27 10:51:02 -04:00
Evan Prodromou
8fa816c324
don't use potentially bad Profile values
2011-09-22 16:29:31 -04:00
Evan Prodromou
2c1911bfae
Short-circuit bugs by defining Profile::getProfile()
2011-09-18 19:29:23 -04:00
Evan Prodromou
48625da04b
Automatically add or drop fulltext indexes
2011-09-18 18:28:44 -04:00
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
51764be5a1
For fave count, don't use distinct
2011-08-27 18:21:44 -04: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
f81c1f7554
use an array of profiles rather than a looping cursor for profile lists
2011-08-27 12:53:15 -04:00
Evan Prodromou
34a0525b67
Profile uses joinAdd() with explicit arguments
2011-08-26 11:48:40 -04:00
Evan Prodromou
9ca3c3d1c3
move core schema to class files
2011-08-22 17:52:02 -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
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
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
73f4762a55
Don't serialize protected attrs
2011-04-18 18:23:06 -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
Evan Prodromou
a0b4282cbf
hook for getting profile avatars
2011-04-14 11:33:10 -04:00
Evan Prodromou
f9a91a2809
Utility Profile::current() to get current user's profile
2011-04-11 11:16:30 -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
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
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
29243cd21a
make Profile::isMember() and Profile::isAdmin() use caching pkeyGet()
2011-04-06 18:12:25 -04:00
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
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
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
e862dcdb8a
Merge branch '1.0.x' into limitdist2
2011-03-28 21:56:34 -04: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
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
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
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
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
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
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
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
Evan Prodromou
9af92f94bd
function for checking scope rules for Profile
2011-03-17 12:16:09 -04:00
Shashi Gowda
1b1a427237
DB_DataObjects for people tags
2011-03-06 23:28:03 +05:30
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
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
Zach Copley
17176ee445
Merge branch 'json-activities' into 0.9.x
2011-02-25 00:15:26 -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
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
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
Brion Vibber
26baad63f2
Merge branch '0.9.x' into 1.0.x
2010-12-22 15:25:38 -08:00
Evan Prodromou
9a6ceb3303
Merge branch 'righttoleave' into 0.9.x
2010-12-22 11:22:51 -08: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
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
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
Zach Copley
bb55784e90
Move getConnectedApps() from Profile to User, where it belongs
2010-12-12 17:37:42 -08: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
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
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
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
b716d01a41
Merge branch '0.9.x' into 1.0.x
2010-11-03 16:09:49 -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
96521f38d2
Fix for changed cache functions in code merged up from 0.9.x
2010-10-29 16:31:25 -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
aef88c7cee
max_id is inclusive
2010-10-25 11:18:49 -04:00
Evan Prodromou
968f9b0513
change max_id from < to <=
2010-10-25 11:08:53 -04: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
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
5f81f6119b
Merge branch '0.9.x' into 1.0.x
2010-10-12 16:33:36 -07:00
Brion Vibber
f4f16af8ac
Add a basic group deletion for moderator users.
2010-10-12 15:49:20 -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
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
Evan Prodromou
a319b40c97
common_cache_key() -> Cache::key()
2010-09-06 10:07:43 -04:00
Evan Prodromou
8f81762d68
common_memcache() => Cache::instance()
2010-09-06 09:56:45 -04:00
Evan Prodromou
974ac48771
bug in Profile::fromURI() wasn't returning profile
2010-09-01 16:55:16 -04:00
Evan Prodromou
7bec455a21
Static method to get a profile based on an URI
2010-09-01 16:15:22 -04:00
Brion Vibber
7e55fc0044
OStatus/FeedSub: tweaked PuSH feed garbage collection so other plugins can declare usage of a low-level feed or an OStatus profile besides profile subscriptions & group memberships.
...
SubMirror: redid add-mirror frontend to accept a feed URL, then pass that on to OStatus, instead of pulling from your subscriptions.
Profile: tweaked subscriberCount() so it doesn't subtract 1 for foreign profiles who aren't subscribed to themselves; instead excludes the self-subscription in the count query.
Memcached_DataObject: tweak to avoid extra error spew in the DB error raising
Work in progress: tweaking feedsub garbage collection so we can count other uses
2010-08-06 11:49:52 -07:00
Evan Prodromou
2ba36fc242
Merge branch 'activityhooks' into 0.9.x
...
Conflicts:
classes/Notice.php
2010-08-03 16:01:18 -07:00
Evan Prodromou
f83171824f
correctly show <source> for atom feeds
2010-08-03 15:50:21 -07:00
Siebrand Mazeland
8f8588026b
Fixes for messages after review by Brion.
2010-07-30 19:25:55 +02:00
Siebrand Mazeland
125ff142e8
* mark a few message for translation
...
* add translator documentation
2010-07-29 13:36:08 +02:00
Zach Copley
1eec7f779f
- Add profile_info tag to Atom author
...
- Normalize xmlns:statusnet links in the API
2010-06-22 16:28:06 -07:00
Brion Vibber
f1c01f9ead
Temporary hack until notice_profile_id_idx is updated
...
to (profile_id, id) instead of (profile_id, created, id).
It's been falling back to PRIMARY instead, which is really
very inefficient for a profile that hasn't posted in a few
months. Even though forcing the index will cause a filesort,
it's usually going to be better. Even for large profiles it
seems much faster than the badly-indexed query.
2010-04-01 10:17:17 -07:00
Evan Prodromou
c1c7feedbd
do complete unsubscribe process when deleting a user
2010-03-31 15:02:19 -04:00
Brion Vibber
441e52718e
Background deletion of user accounts. Notices are deleted in chunks, then the user itself when they're all gone.
...
While deletion is in progress, the account is locked with the 'deleted' role, which disables all actions with rights control.
Todo:
* Pretty up the notice on the profile page about the pending delete. Show status?
* Possibly more thorough account disabling, such as disallowing all use for login and access.
* Improve error recovery; worst case is that an account gets left locked in 'deleted' state but the queue jobs have gotten dropped out. This would leave the username in use and any undeleted notices in place.
2010-03-15 16:08:00 -07:00
Brion Vibber
ce92bc7143
Drop timestamp cutoff parameter from User::getCurrentNotice() and Profile::getCurrentNotice().
...
It's not currently used, and won't be efficient when we update the notice.profile_id_idx index to optimize for our id-based sorting when pulling user post lists for profile pages, feeds etc.
2010-03-11 11:01:01 -08:00
Brion Vibber
4a2511139e
Initial user role controls on profile pages, for owner to add/remove administrator and moderator options.
...
Buttons need to be themed.
2010-03-03 15:43:49 -08:00
Brion Vibber
3bb42d1170
Use poster's subscribed groups to disambiguate group linking when a remote group and a local group exist with the same name. (If you're a member of two groups with the same name though, there's not a defined winner.)
2010-03-03 19:00:02 +00:00
Brion Vibber
6b134ae4c7
Dropped deprecated timestamp-based 'since' parameter for all API methods. When it sneaks in it can cause some very slow queries due to mismatches with the indexing.
...
Twitter removed 'since' support some time ago, and we've already removed it from the public timeline, so it shouldn't be missed.
2010-03-02 11:54:02 -08:00
Zach Copley
6a711c6cdc
Move ActivityObject and related stuff to core
2010-02-22 17:10:50 -08:00
Evan Prodromou
b79d4ed6a1
add PoCo preferredUsername for nickname in Profile::asActivityNoun()
2010-02-22 07:43:12 -05:00
Evan Prodromou
fae5a15a88
add strongly-suggested link to Profile::asActivityNoun()
2010-02-22 07:40:20 -05:00
Zach Copley
35be39e30e
Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
2010-02-22 01:23:24 -08:00
Zach Copley
47300a2ae9
Upgrade profile-based activity noun to have more complete set of
...
profile fields
2010-02-22 01:21:34 -08:00
Evan Prodromou
a745d38d6d
slight rearrangement of getting profile URIs
2010-02-21 22:52:27 -05:00
Evan Prodromou
52e8aa798a
Refactor subs_* functions for remote use
...
The subs_* functions in subs.php have made a lot of assumptions
about users versus profiles. I've refactored the functions to
be methods of the Subscription class instead, and to use Profile
objects throughout.
Some of the checks for blocks or existing subscriptions depended
on users or profiles, so I've moved those methods around a bit.
I've left stubs for the subs_* functions until we get time to replace
them.
2010-02-19 08:16:45 -05:00
Zach Copley
2cb243808c
More sensical profile::getUri()
2010-02-16 20:13:39 -08:00
Zach Copley
c892726c80
Take remote profiles into account when looking up canonical profile URIs
2010-02-16 16:22:58 -08:00
Zach Copley
eea52c708b
Add rel="avatar" to img links in <activity:actor> stanzas
2010-02-16 11:32:10 -08:00
Evan Prodromou
71ecd68901
add a FIXME to Profile
2010-02-16 12:45:00 -05:00
Brion Vibber
b39047d95b
OStatus: prep work for sending notifications on sub/unsub/join/leave/favorite/unfavorite via Salmon; needs to be completed and hooked up once feed gen is fixed.
2010-02-12 18:54:48 +00:00
Zach Copley
3beddffc39
ostatus:attention links in Notice Atom output
2010-02-11 16:29:27 -08:00
Zach Copley
e2c0f59414
Some upgrades to Atom output for OStatus
2010-02-11 13:56:05 -08:00
Evan Prodromou
5fdcd88176
Moderator can make users admins of a group
2010-02-06 11:36:59 +01:00
Zach Copley
9e7f47652d
Revoke access token UI
2010-01-24 16:36:05 -08:00
Zach Copley
c78937537e
Better detial in connected OAuth applications list
2010-01-24 16:36:03 -08:00