Commit Graph

15929 Commits

Author SHA1 Message Date
Mikael Nordfeldth
9f09b136b8 Adding crc32 to uniqueify conversation URIs
This really should be a UUID or something else totally unexpected
but I figure that crc32 is good enough for now. The reason we keep
the main structure is because some third party scripts have begun
relying upon the tag URI format to parse out domain name, type etc.
2014-11-27 17:05:01 +01:00
Mikael Nordfeldth
72d1c3c73e fetch conversation URI in processPost, not processShare 2014-11-27 16:51:21 +01:00
Mikael Nordfeldth
1b449ea705 scripts/upgrade.php would fail if Profile_prefs did not exist
A checkschema.php run would've done it, but that would require an
additional step to our upgrade procedure.
2014-11-27 14:46:10 +01:00
Mikael Nordfeldth
411ce0629c If a Notice insert fails, don't continue processing it 2014-11-27 14:29:50 +01:00
Mikael Nordfeldth
e0d0a59706 Move Conversation creation out of insert() to allow URI setting
This means we import the URI string from remote instances to track their
conversations and are able to stitch together replies in a single thread.

We might have to try to avoid collisions so noone remotely can predict
conversation URIs which we generate on our server, causing a DoS kind of
problem.
2014-11-27 14:27:41 +01:00
Mikael Nordfeldth
8a4575ea76 Conversation URI cannot be null 2014-11-27 14:15:42 +01:00
Mikael Nordfeldth
bdb4a41696 Use remote conversation URI info to stitch convos together
If we know the URI sent from the remote party, and we don't know the
notice it is replying to, we might still be able to put it in the same
conversation thread!
2014-11-27 14:06:10 +01:00
Mikael Nordfeldth
343291262e ostatus:conversation element instead of link rel=""
Mainly because the atom:link element requires a "web resource" but we
wish to supply a URI which might not be HTTP. We'll leave the old
atom:link element however since it's in the OStatus 1.0 Draft2 docs
and nothing newer has been released yet.
2014-11-27 13:47:31 +01:00
Mikael Nordfeldth
a3ded586b6 Namespaced elements now available in xmloutputter 2014-11-27 13:36:29 +01:00
Mikael Nordfeldth
8056097478 Try to lookup the profile if we don't know it yet 2014-11-24 23:50:42 +01:00
Mikael Nordfeldth
720c2c9ff2 Ostatus_profile->checkAuthorship returns Profile
not Ostatus_profile
2014-11-24 23:40:06 +01:00
Mikael Nordfeldth
3bf1478f97 Bad parameter count for checkAuthorship
At the same time we change this to call ActivityUtils::checkAuthorship
instead to let the retrieval/verification go through event handling.

rozzin (Joshua Judson Rosen) found this error. Thanks.
2014-11-24 12:49:20 +01:00
Joshua Judson Rosen
4b875e0fd0 Fix OStatus groups by making Ostatus_profile::localProfile() work for groups
We need to look up a feed profile for HandleFeedEntryWithProfile events,
regardless of whether they're an OStatus user, group, or something else;
this is the least hairy way of doing that--the alternative being
to keep spreading the same logic all over the calling code.

Theoretically, this change might allow OStatusGroups to be recorded
as the authors of activities if they pass through any authorless
activities; but that's why we have checkAuthorship().
2014-11-24 12:30:37 +01:00
Joshua Judson Rosen
d2e1a8c706 Ostatus_profile::checkAuthorship(): throw ServerException when bogus non-authorship is detected
Similarly to what ActivityUtils::checkAuthorship does; try to ensure
that activities from ambiguous OStatus feeds (groups and peopletags)
that require explicit authorship don't get in without explicit authors.
2014-11-24 12:29:41 +01:00
Mikael Nordfeldth
5295e8d4de Report a 404 not found if no posts found for User timeline 2014-11-22 12:29:13 +01:00
Mikael Nordfeldth
d1b10ee92b Don't define a variable in a function call 2014-11-22 12:26:51 +01:00
Mikael Nordfeldth
a83e20add9 openssl is a required extension (OAuth and OStatus) 2014-11-19 14:53:51 +01:00
Mikael Nordfeldth
75b8123dbf Updated prerequisite list for PHP5.4
Also added distribution specific notes.

The "XMLWriter" PECL extension is included by default since PHP 5.1.2
2014-11-19 14:25:25 +01:00
Mikael Nordfeldth
496acdc7d9 normalizing acct: URI just to be sure 2014-11-16 18:29:05 +01:00
Mikael Nordfeldth
34f6ea1d04 Present WWW-Authenticate on failure to authenticate 2014-11-10 12:17:39 +01:00
Mikael Nordfeldth
b6a168c82e Unnecessary to check PHP_AUTH_USER here
it was implied from $this->auth_user_nickname above
2014-11-10 12:10:21 +01:00
Mikael Nordfeldth
17647dc3ff $header was always true due to previous if statement 2014-11-10 11:59:01 +01:00
Mikael Nordfeldth
e91deb683f Checking user properties for instanceof User 2014-11-10 11:57:53 +01:00
Mikael Nordfeldth
403cb858be Less verbose logic for checking api authentication 2014-11-10 11:43:08 +01:00
Mikael Nordfeldth
6f5086fc52 Integrate qvitter ApiAuthAction (thanks hannes2peer) 2014-11-10 11:39:19 +01:00
Mikael Nordfeldth
e59f9fd32d Blocking form (at least) was visually broken 2014-11-07 18:35:46 +01:00
Mikael Nordfeldth
769febf22e DirectMessage added to default plugins
I think the migration from core to plugin is done now for DMs.

This is required since we support the Twitter-based API by default,
which is implemented in many of the mobile clients etc. But you can
disable the DirectMessage for your instance of you wish, of course.
2014-11-07 16:37:00 +01:00
Mikael Nordfeldth
33e7562210 Some unnecessary/faulty includes fixed in DM plugin 2014-11-07 16:33:19 +01:00
Mikael Nordfeldth
48ba963ddd Inline documentation updated to reflect on plugin move of DMs 2014-11-07 16:26:29 +01:00
Mikael Nordfeldth
98eba61a7e Lost file with MessageCommand class. 2014-11-07 16:25:40 +01:00
Mikael Nordfeldth
aedfb6a8dd FavoritePlugin calls CommandInterpreter::split_arg
The last commit found a bug that a previous move of the FavCommand
into a plugin called $this in FavoritePlugin instead of the instance
of a CommandInterpreter class. Now that call is statically defined in
CommandInterpreter and appropriately called in FavoritePlugin.
2014-11-07 16:24:14 +01:00
Mikael Nordfeldth
046d070ad4 MessageCommand moved to DirectMessage plugin 2014-11-07 16:23:34 +01:00
Mikael Nordfeldth
6ac2a5b8ff &$supported in CommandSupportedAPI event is boolean
not array as we specified here
2014-11-07 16:13:45 +01:00
Mikael Nordfeldth
38d9b4d3a4 UserActivityStream export of DMs moved to plugin 2014-11-07 16:08:16 +01:00
Mikael Nordfeldth
d493fd0772 DirectMessage API functions moved to plugin 2014-11-07 16:00:27 +01:00
Mikael Nordfeldth
f1d7555ccc Simulation does not support plugins yet 2014-11-07 16:00:08 +01:00
Mikael Nordfeldth
68143ff916 DirectMessage moved into a plugin, not done yet
We still have to move some API calls into the new plugin.
2014-11-07 15:53:35 +01:00
Mikael Nordfeldth
faae9d069a We're using URLMapper, not Net_URL_Mapper 2014-11-07 15:24:05 +01:00
Mikael Nordfeldth
29ac42addd Diaspora public key published in WebFinger 2014-11-06 21:05:31 +01:00
Mikael Nordfeldth
1076a5e2eb UPGRADE file fixed, forgot to mention PHP modules
php5-gmp is an added requirement from StatusNet 1.1.1,
our BigInteger library doesn't seem to work well without it
and bcmath was unavailable at least in Debian testing repo.
2014-11-06 13:08:06 +01:00
Mikael Nordfeldth
e90a1f44c4 Show permalinks only for local notices
the "from [site]" already links to the permalink
2014-11-05 19:53:59 +01:00
Mikael Nordfeldth
7ea067a0dc Notice_source checks in better code style 2014-11-05 19:44:22 +01:00
Mikael Nordfeldth
5e4f93cc7d Conversation link as default, permalink for /notice 2014-11-05 19:34:39 +01:00
Stanislav N. aka pztrn
fa4311fa17 Add "Date" header to mail, some clients require this to show corrent message receiving time. 2014-11-03 19:00:19 +01:00
Mikael Nordfeldth
c263bbcca7 EventPlugin now uses event handling instead of NLI adapter 2014-10-27 14:24:16 +01:00
Mikael Nordfeldth
54ed1f52fa Making some autumn cleaning in the themes 2014-10-27 14:23:18 +01:00
Mikael Nordfeldth
18c6a0bf35 Show poll results also to non-logged in visitors 2014-10-26 23:17:58 +01:00
Mikael Nordfeldth
fb1b80c915 Updating TwitterBridge README to be clearer on installation 2014-10-26 23:17:43 +01:00
Mikael Nordfeldth
636ad44f0b BookmarkListItem removed in favor of event-driven rendering 2014-10-26 22:07:16 +01:00
Mikael Nordfeldth
9f8761f709 Adding event StartShowNoticeItemNotice with corresponding End
Runs just before outputting the "top" part of a NoticeListItem to HTML
so plugins can jump in and do their thing.
2014-10-26 21:53:10 +01:00