Commit Graph

4179 Commits

Author SHA1 Message Date
Mikael Nordfeldth
2f86cd8602 utf8mb4 conversion on database with index adjusts 2015-02-12 18:18:55 +01:00
Mikael Nordfeldth
f5bb0431da schemaDef coding style fixes 2015-02-12 17:45:02 +01:00
Mikael Nordfeldth
13f1c2cc55 Missing uri property of QnA_Answer class 2015-02-12 17:44:05 +01:00
Mikael Nordfeldth
dc495a52ea Merge commit 'refs/merge-requests/39' of https://gitorious.org/social/mainline into merge-requests/39 2015-02-09 11:35:19 +01:00
Chimo
74d4e2fa10 TwitterBridge: don't array_merge() non-arrays
Fixes: ErrorException: [2] array_merge(): Argument #2 is not an array
2015-02-08 20:11:50 -05:00
Chimo
55321af4c8 Make TwitterBridge less noisy
Empty timelines are no longer warnings, but debug information
2015-02-08 20:07:23 -05:00
Mikael Nordfeldth
c6b1b3e5e3 Merge commit 'refs/merge-requests/30' of https://gitorious.org/social/mainline into merge-requests/30 2015-02-08 23:19:53 +01:00
Mikael Nordfeldth
39dce9e348 Merge commit 'refs/merge-requests/36' of https://gitorious.org/social/mainline into merge-requests/36 2015-02-08 23:11:47 +01:00
Chimo
11053431d6 Populate 'created' property on ostatus_source
The 'created' column in ostatus_source SQL table has NOT NULL restriction.
INSERTs fail when running MySQL/MariaDB in strict mode if this is not
populated.
2015-02-08 13:41:29 -05:00
Mikael Nordfeldth
305ef6ad85 Older versions of PHP couldn't do array indexes on function returns. 2015-02-08 11:53:47 +01:00
Mikael Nordfeldth
1bda6fb9be General code quality improvement for easier understanding
Also made sure we only match local group IDs in recognizedFeed for PushhubAction
2015-02-08 11:47:15 +01:00
Mikael Nordfeldth
4b77f88a17 Merge commit 'refs/merge-requests/34' of https://gitorious.org/social/mainline into merge-requests/34 2015-02-08 11:21:36 +01:00
Chimo
56c0cd621a Remove NOT NULL restriction on FeedSub last_update
Fixes an issue where INSERTs fail if MySQL/MariaDB runs in "strict
mode".
2015-02-07 11:08:03 -05:00
Chimo
937adf05c9 Remove NOT NULL restriction on HubSub 'lease'
This fixes an issue where INSERTs in HubSub fail if MySQL/MariaDB is
running in "strict mode" since the default lease time in
PushHubAction::subunsub is null.

Permanent subscriptions have been removed in PuSH v0.4, but they are
being kept here for backward-compatibility with previous GS/SN versions.
2015-02-07 10:46:13 -05:00
Mikael Nordfeldth
f141565104 Allow delete-inactive for gcfeeds
Garbage collecting should also allow to clean up leftover database entries.
2015-02-04 16:49:03 +01:00
Mikael Nordfeldth
7cce2e17ff FavoritePlugin uses getConfigPref for profile setting 2015-02-03 22:02:19 +01:00
Mikael Nordfeldth
3f7a305b2a $this out of context (use $rcpt) 2015-02-03 21:15:37 +01:00
Mikael Nordfeldth
7666ac34f9 Revert "Notices for faves are already sent as they are notices now."
This reverts commit 636d5141e9.

We want the salmon notifyActivity call
2015-02-03 17:50:21 +01:00
Mikael Nordfeldth
9827e6ad84 The favorite activity is an activity. 2015-02-03 16:53:51 +01:00
Mikael Nordfeldth
636d5141e9 Notices for faves are already sent as they are notices now. 2015-02-03 16:44:13 +01:00
Mikael Nordfeldth
adc4dfc081 Wrong variable name (s/fave/object/) 2015-02-03 16:43:56 +01:00
Mikael Nordfeldth
660e8c6efc Fave::addNew now calls Notice::saveActivity
as a bonus we've fixed several FIXME issues for favorite email notification
and updated parts of the codebase for these activities to a more modern style.
2015-02-03 16:34:11 +01:00
Mikael Nordfeldth
0bcecda177 more activity-like terminology in variable names 2015-02-03 15:12:29 +01:00
Mikael Nordfeldth
1104ea2a0e Fave insert logging directly in insert() 2015-02-03 14:58:22 +01:00
Mikael Nordfeldth
000b7675d8 Vimeo oEmbed thumbnail host added to whitelist 2015-02-02 11:14:13 +01:00
Mikael Nordfeldth
acd36698b4 A bunch of clientError that were called as serverError
Calling serverError with a clientError status code (4xx) means it will
automatically default to Internal Server Error (500) which is in the
server error status code range (5xx). That is undesirable.
2015-01-29 23:35:49 +01:00
Mikael Nordfeldth
acec8b8cf2 Default value false for $force on Ostatus updateAvatar 2015-01-27 14:14:24 +01:00
Mikael Nordfeldth
cc996f58db Test in Ostatus_profile if avatar is an image before writing to filesystem
This clears one FIXME...

We also fix HTTPClient::quickGet() (and a related call in OStatus testfeed.php).
2015-01-27 14:00:39 +01:00
Mikael Nordfeldth
cdd3c52633 Handle groups better in Ostatus_profile->updateAvatar 2015-01-27 13:38:11 +01:00
Mikael Nordfeldth
482f61ac15 OStatusSub should use inherent attributes
No need to make several common_current_user calls and then getProfile
directly after that, since we have stuff like $this->scoped.
2015-01-27 13:23:49 +01:00
Mikael Nordfeldth
cf46de6ca7 Ostatus_profile smarter test if avatar exists
If you accidentally deleted a remote user's avatar from filesystem,
it'd take until its URL was updated that you got it back. Now it
happens if the local avatar file doesn't exist.
2015-01-26 17:43:09 +01:00
Mikael Nordfeldth
697a00d8e1 Force updateAvatar if desired 2015-01-26 17:26:51 +01:00
Mikael Nordfeldth
7beec74f0c Differentiate on group and user for WebFinger data 2015-01-26 12:18:35 +01:00
Mikael Nordfeldth
a8e613e508 Animated GIF restructuring, ImageMagick only used for resizing animated sequences. 2015-01-25 23:00:00 +01:00
Mikael Nordfeldth
2a7d45c986 No need for ImageMagick to detected animated GIF 2015-01-25 22:45:25 +01:00
Mikael Nordfeldth
3f65bf45ab No reason to stop the event 2015-01-25 22:32:01 +01:00
Mikael Nordfeldth
4dd6d7869e Maybe we can detect animated files in core 2015-01-25 22:11:46 +01:00
Mikael Nordfeldth
470971cf47 File_thumbnail uses file_id as PRI 2015-01-25 13:13:01 +01:00
Mikael Nordfeldth
12058c30b4 Managed_DataObject->updateWithKeys throws its own exception 2015-01-25 12:54:08 +01:00
Mikael Nordfeldth
4917a422a1 updateKeys -> updateWithKeys (w/ functionality) 2015-01-25 12:07:26 +01:00
Mikael Nordfeldth
0e0783ee8c Regexp for Oembed domain matching 2015-01-25 11:18:57 +01:00
Mikael Nordfeldth
85e644d647 Remote thumbnail fetching from trusted sources
So far we only trust i.ytimg.com for YouTube thumbnails, but you can
configure the Oembed plugin in config.php by setting the plugin's class vars:

   addPlugin('Oembed', array('param'=>'value', ...));

Some might think this is a security risk or privacy invasive, but as the Oembed
script is already calling remote sites to get information _about_ linked media,
the way to stop it is to disable the Oembed plugin. However it is not certain
it has been migrated out into a plugin properly yet. But try it if you want to.
2015-01-25 02:34:40 +01:00
Mikael Nordfeldth
999175d741 File_oembed::byFile to avoid littering with getKV 2015-01-25 02:32:04 +01:00
Mikael Nordfeldth
aeaee388bf Store remote magicsig public keys locally 2015-01-24 13:06:09 +01:00
Mikael Nordfeldth
2d0155a50f Added Magicsig onProfileDeleteRelated 2015-01-24 12:47:39 +01:00
Mikael Nordfeldth
975ce6d83e Documentation update (clarifying need for php5-gmp in comment) 2015-01-24 12:22:29 +01:00
Mikael Nordfeldth
cce808b27c const'ifying bits and sigalg
Also we should move away from 1024 bit keys as soon as we can.
2015-01-24 12:18:55 +01:00
Mikael Nordfeldth
bf2f1c23b7 Documentation update for ImageMagick 2015-01-24 11:52:40 +01:00
Mikael Nordfeldth
d1a1eefa38 resize_animated declared public in ImageMagickPlugin 2015-01-24 11:36:16 +01:00
Mikael Nordfeldth
82b335dc2c MapstractionPlugin didn't handle notices without URLs 2015-01-23 12:41:51 +01:00
Mikael Nordfeldth
f814415386 RealtimePlugin didn't handle notices without URLs 2015-01-23 12:40:37 +01:00
Mikael Nordfeldth
99b1a6f576 user is a protected property in UAS/AtomUserNoticeFeed
The bug made it impossible to backup with Favorite ;)
Thanks postblue for reporting.
2015-01-23 11:58:42 +01:00
Mikael Nordfeldth
3a0136fe1f Replace file_get_contents with HTTPClient in testfeed 2015-01-22 11:30:36 +01:00
Mikael Nordfeldth
c1ad416f12 AntiBrute plugin, delay + log multiple fail logins 2015-01-21 23:35:48 +01:00
Mikael Nordfeldth
25911368c8 GIF support (I know you love it)
make sure you have php5-imagick and then enable with addPlugin('ImageMagick')
2015-01-21 16:43:46 +01:00
Mikael Nordfeldth
e6fe996661 NewmessageAction lacked the $form property 2015-01-21 13:02:46 +01:00
Mikael Nordfeldth
d492b74e42 holy crap, file_put_contents got args in wrong order 2015-01-18 02:57:08 +01:00
Mikael Nordfeldth
5d9e9aaaf5 Keep the old error message on updateAvatar 2015-01-18 02:48:39 +01:00
Mikael Nordfeldth
010824c4b5 Use HTTPClient to download avatar
also make updateAvatar public so we can call it from update_ostatus_profile.php
2015-01-18 02:44:55 +01:00
Mikael Nordfeldth
0499736bb4 Loose_Ostatusprofile::updateAvatar was identical to Ostatus_profile 2015-01-18 02:39:08 +01:00
Mikael Nordfeldth
420eea3f24 No need to say we're finished working 2015-01-17 13:38:59 +01:00
Mikael Nordfeldth
f5efbd8037 twitPic no longer exists/is active 2015-01-17 12:07:57 +01:00
Mikael Nordfeldth
092dfee1c6 spring cleaning in Oembed helper list
Fixed http -> https and removed some dead services
2015-01-17 12:06:08 +01:00
aroquen
2b78eb1735 Reduce tag margin in bookmark notice 2015-01-17 00:39:07 +01:00
aroquen
22df2fa40f Move bookmark's tags after description 2015-01-17 00:39:07 +01:00
aroquen
20457d4389 Better frame and spacing for bookmark title 2015-01-17 00:39:07 +01:00
Mikael Nordfeldth
ba9abb3c57 Add nohub config setting to allowed non-PuSH feeds 2015-01-16 01:10:55 +01:00
Mikael Nordfeldth
19f3cc112f removed debugging lines for FeedPoller 2015-01-15 21:14:07 +01:00
Mikael Nordfeldth
8594a2ba16 FeedPoller plugin, for hubless feeds 2015-01-15 21:13:13 +01:00
Mikael Nordfeldth
57d8eb8a53 Ensuring unknown profiles in salmon slaps work again 2015-01-13 13:43:35 +01:00
Mikael Nordfeldth
db7154c63b Abort on failure instead of return early success 2015-01-13 13:18:57 +01:00
Mikael Nordfeldth
8749c470ca ArrayWrapper spookiness, must make sure it's a Notice there... 2015-01-12 12:06:19 +01:00
Mikael Nordfeldth
66044b7782 ensureActivityObjectProfile is more thorough than createAct... 2015-01-12 11:47:21 +01:00
Mikael Nordfeldth
aca5ff1b23 Found some unreachable code in Favorite
The portion after StartAtomPubNewActivity would never be reached since
Favorite handles that activity through ActivityHandlerPlugin nowadays.
So I cleaned it up and followed a couple of paths, making stuff prettier.
2015-01-12 02:23:23 +01:00
Mikael Nordfeldth
73669ed308 ensureProfile already done and stored in $this->oprofile 2015-01-12 02:01:26 +01:00
Mikael Nordfeldth
d8f4de450c Support for updated aliases
will verify unknown aliases against old ones if the new identifies as a
previously recognized URI.

Steps:
1. Check the newly received URI. Who does it say it is?
2. Compare these alleged identities to our local database.
3. If we found any locally stored identities, ask it about its aliases.
4. Do any of the aliases from our known identity match the recently introduced one?

Currently we do _not_ update the ostatus_profile table with the new URI.
2015-01-10 02:07:39 +01:00
Mikael Nordfeldth
51f97c7e84 section control over their notice lists + HTML id stuff 2015-01-09 15:46:35 +01:00
Mikael Nordfeldth
d32fef6039 Merge commit 'refs/merge-requests/28' of https://gitorious.org/social/mainline into merge-requests/28 2015-01-08 16:48:42 +01:00
Joshua Judson Rosen
f246dd4645 OStatusPlugin: fix ensureProfile catch-22 in onCheckActivityAuthorship()
Use profile URL (not URI), like elsewhere.

Profile::getUri() doesn't actually do anything useful, here--
it does nothing unless a plugin (like OStatus) is already
able to resolve the Profile into a backend object (e.g.: an Ostatus_profile).

If we might not already have an Ostatus_profile for a given Profile,
then we need to use $profile->getUrl() and fetch the data from that URL.
2014-12-30 23:56:33 -05:00
Mikael Nordfeldth
c93b21d9f6 Columns too narrow in mobileprofile 2014-12-10 12:28:38 +01:00
Mikael Nordfeldth
d3a8896b2a Merge commit 'refs/merge-requests/26' of https://gitorious.org/social/mainline into merge-requests/26 2014-12-09 13:45:15 +01:00
Joshua Judson Rosen
f71eeaee5a OStatus/scripts/update-profile-data.php: print updated fullnames
Now that we can actually update them again.
2014-12-08 22:06:29 -05:00
Mikael Nordfeldth
812d1eead9 Stronger typing in Ostatus_profile 2014-12-08 19:52:00 +01:00
Mikael Nordfeldth
e7c6c6fc76 Merge commit 'refs/merge-requests/19' of https://gitorious.org/social/mainline into merge-requests/19 2014-12-06 20:18:52 +01:00
Hannes Mannerheim
b81857656f delete groups from groups directory, for admins 2014-12-02 15:31:27 +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
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
Joshua Judson Rosen
cff8c462da sendemailsummary.php: correct path to INSTALLDIR
So that we can actually find commandline.inc.

This should have been updated when the files in the EmailSummary tree
where moved down a level into subdirectories.
2014-11-24 20:28:31 -05: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
Joshua Judson Rosen
2d7804b88f UserEmailSummaryHandler: use $notice->getLocalUrl(), not getUrl()
getUrl() doesn't work on all notices anymore.
2014-11-23 23:28:30 -05:00
Joshua Judson Rosen
bf0f22744d UserEmailSummaryHandler: Update notice-fetching logic
InboxNoticeStream::getNotices() no longer returns an ArrayWrapper;
just fetch notices normally via $notice->fetch(), so that
we can actually get the top notice-ID and update email_summary_status
accordingly--and not mail about the same notices repeatedly.
2014-11-23 23:28:28 -05:00
Joshua Judson Rosen
2f506dde28 UserEmailSummaryHandler: correct instantiation of InboxNoticeStream
It only takes a single Profile argument....
2014-11-23 23:28:27 -05:00
Mikael Nordfeldth
496acdc7d9 normalizing acct: URI just to be sure 2014-11-16 18:29:05 +01:00
Mikael Nordfeldth
33e7562210 Some unnecessary/faulty includes fixed in DM plugin 2014-11-07 16:33:19 +01:00
Mikael Nordfeldth
98eba61a7e Lost file with MessageCommand class. 2014-11-07 16:25:40 +01:00