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
7e9c17bd15
make the default scope depend on site/private
2011-07-01 21:50:04 -04:00
Evan Prodromou
c97048d01b
merge 0.9.x into 1.0.x
2011-05-04 14:59:39 -07: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
5135043b84
utility method to get reply profiles for a notice
2011-04-16 15:17:03 -04:00
Shashi Gowda
22f6151a10
Annihilate profile_tag_inbox.
2011-04-14 19:45:31 +00:00
Evan Prodromou
61f62241da
Get conversation root visible to this user in threadednoticelist
2011-04-11 11:19:11 -04:00
Evan Prodromou
7c62835900
cache the scope for null profile
2011-04-10 19:19:10 -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
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
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
44c64816a5
cache groups per notice
2011-04-06 22:47: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
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
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
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
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
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
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
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
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
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
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
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
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
Zach Copley
29ce5dd19a
Reinstate profile_info in author/actor
2011-02-17 19:02:57 -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
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
5f365e75ca
only blow public timeline cache if notice is in it
2011-02-03 13:58:56 -05: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
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
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
6ab46c70f7
Delete file links when Notice is deleted
2010-12-28 13:44:18 -08:00
Brion Vibber
e211e6228d
Merge branch '0.9.x' into 1.0.x
2010-12-28 11:38:34 -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
c458bafaa1
pass through $idField and $createdField in Notice queries
2010-12-27 22:35:57 -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
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
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
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
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
94ff04e190
Don't cache user-specific information for Notice atom entries
2010-12-08 13:59:12 -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
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