Commit Graph

4774 Commits

Author SHA1 Message Date
Mikael Nordfeldth 58e852f7f7 Use the -y parameter for ffmpeg/avconv to be non-interactive 2016-02-07 01:59:21 +01:00
Mikael Nordfeldth 6bec22ea4e Write to the tmp file in VideoThumbnails 2016-02-07 01:57:56 +01:00
Mikael Nordfeldth 25f623565a Catch http exception in StoreRemoteMedia 2016-02-07 01:54:37 +01:00
Mikael Nordfeldth 098c8b1df4 NoHttpResponseException extends HTTP_Request2_ConnectionException 2016-02-07 01:52:20 +01:00
Mikael Nordfeldth 55546a5aab Support ffmpeg and avconv depending on which you have 2016-02-07 01:02:59 +01:00
Mikael Nordfeldth 1f01356076 Fix issue #127 by catching exceptions
update-profile-data.php threw exceptions on http connection issues
2016-02-04 12:06:35 +01:00
Mikael Nordfeldth 90045d66ea HTMLPurifierSchemes plugin to allow geo and magnet URIs 2016-02-03 14:36:51 +01:00
Mikael Nordfeldth 367fc054dc Merge branch 'master' into mmn_fixes 2016-01-30 00:03:25 +01:00
Mikael Nordfeldth a5c1b063fd isPerson did not exist for Ostatus_profile 2016-01-29 16:15:06 +01:00
Mikael Nordfeldth 689e277c62 Allow @localuser@mysite.example to be looked up as a mention 2016-01-29 16:06:16 +01:00
Mikael Nordfeldth 36f099958c Don't match @nickname on @nickname@server.com 2016-01-29 15:53:58 +01:00
Mikael Nordfeldth fb7f572eed Purify oembed html (again)
For a commit or two we didn't do this, because htmLawed failed to filter
out CDATA javascript properly, but now we use HTML Purifier which works.
2016-01-28 19:02:16 +01:00
Mikael Nordfeldth 7e6783bb8f Replace htmLawed with HTMLPurifier 2016-01-28 19:01:13 +01:00
Mikael Nordfeldth daea5647b6 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into mmn_fixes 2016-01-28 17:27:08 +01:00
mmn 9b3cbb373e Merge branch 'oembed_fb_wp_branch' into 'nightly'
Oembed: Fix UTF-8 bug and better wp&fb data (updated!)



See merge request !97
2016-01-28 16:26:33 +00:00
Mikael Nordfeldth efe23ed404 updateWithKeys now understands multi-column keys
and automatically identifies _which_ columns are the right ones,
so for example 'uri' primary keys don't need to be explicitly set
2016-01-28 16:42:59 +01:00
hannes 05439831e7 add comment that DOMDocument('1.0', 'UTF-8') does not work 2016-01-28 15:32:11 +00:00
hannes 06e325d61b fixes two issues when the oembed thumbnail is blank 2016-01-28 15:19:29 +00:00
Mikael Nordfeldth 7c80c9a1f9 Meh, let's just remove FirePHP, I don't think anyone uses it 2016-01-28 13:48:44 +01:00
mmn dfc11f99ad Merge branch 'update-extlib-firephp' into 'nightly'
Update FirefPHP Core to v0.4.0 released on 23 Apr 2013



See merge request !92
2016-01-28 12:41:34 +00:00
Mikael Nordfeldth bb0cb9b3f6 Manual merge of !87 Update LDAP2 extlib to 2.2.0 (stable) released on 2015-10-30
Thanks postblue
2016-01-28 13:35:23 +01:00
mmn c01982c917 Merge branch 'oembed_thumbnail_branch' into 'nightly'
add a thumbnail to oembed response

just something i added to quitim

See merge request !85
2016-01-26 21:09:07 +00:00
hannes aa76e5863f don't mess upp charsets in oembed/og! check for utf-8 in http header and meta tags, and add prolog when loading html with DOMDocument() 2016-01-26 13:37:52 +00:00
hannes b8d1e1f4a6 silence errors on these xpath queries 2016-01-26 11:28:24 +00:00
hannes 884aeb4d2e common_purify() doesn't remove wordpress' and facebook's javascript properly, maybe better to keep the data intact, and do strip_tags or something similar when using the data 2016-01-26 01:10:15 +00:00
hannes 473f893d04 detab 2016-01-26 01:07:44 +00:00
hannes 76c8139054 not pretty, but gives us better oembed data for wordpress and facebook 2016-01-26 01:05:53 +00:00
Roland Haeder 9614aba0e1
Removed plugin Google-Analytics as this is free/libre and decentralized
software and should not promote centralized proprietary software. Please see
the included Piwik plugin for a more decentralized alternative!

Signed-off-by: Roland Haeder <roland@mxchange.org>
2016-01-25 13:19:43 +01:00
postblue fef52d7b51 Update FirefPHP Core to v0.4.0 released on 23 Apr 2013 2016-01-24 21:11:38 +01:00
Mikael Nordfeldth ef005987a1 Did the OpportunisticQM fixes in the wrong order 2016-01-22 12:26:53 +01:00
Mikael Nordfeldth 1121b38eb1 use connect_timeout value for execution margin 2016-01-22 12:21:06 +01:00
Mikael Nordfeldth 81f9a59f25 use connect_timeout value for execution margin 2016-01-22 12:19:17 +01:00
hannes d0e2f8745d add a thumbnail to oembed response 2016-01-21 18:48:30 +00:00
Mikael Nordfeldth 3f9c1c142a Removing unnecessary debug messages etc. 2016-01-21 02:49:34 +01:00
Mikael Nordfeldth be1759f112 i18n 2016-01-21 02:37:07 +01:00
Mikael Nordfeldth 81bf0fd261 Various last fixes to RSVP I think 2016-01-21 02:20:57 +01:00
Mikael Nordfeldth f74d2d555c Working on some RSVP code stuff 2016-01-21 02:10:34 +01:00
Mikael Nordfeldth 45b523bada Add xcal namespaces to location and url in event
Also, for fun, add stuff for RSS event module, see:
   http://web.resource.org/rss/1.0/modules/event/
2016-01-20 21:07:55 +01:00
Mikael Nordfeldth 21cc737f5c Cancelling RSVPs now seems to work. 2016-01-20 16:10:10 +01:00
Mikael Nordfeldth 64e74d527f Handle exceptions when salmon slapping
Make it so notifyDeferred actually _always_ throws exceptions and handle
them in the places it is called.
2016-01-20 15:32:39 +01:00
Mikael Nordfeldth c393bc9563 In very specific circumstances we can bulkDistribute 0 notices
Seems to be what caused an infinite loop on quitter.es, or I guess so anyway.
2016-01-20 15:32:29 +01:00
Mikael Nordfeldth 912d65c767 bulkDistribute won't add empty lists to database 2016-01-20 15:32:24 +01:00
Mikael Nordfeldth fa8e02b832 Handle exceptions when salmon slapping
Make it so notifyDeferred actually _always_ throws exceptions and handle
them in the places it is called.
2016-01-20 14:56:24 +01:00
Mikael Nordfeldth 80dc2788dd Started fiddling with CancelRSVP but more must be done
Remember to make event_uri be the selector for CancelRSVPForm and
preferrably even merge it into RSVPForm!
2016-01-19 01:41:06 +01:00
Mikael Nordfeldth 477d71c0bf RSVP stuff, mostly forms.
Now fix CancelRSVP stuff so it gets by event_uri and can cancel existing RSVP.
2016-01-19 01:33:09 +01:00
Mikael Nordfeldth 84dda697d6 RSVPs seem to be created now, just gotta fix CancelrsvpAction 2016-01-19 01:10:06 +01:00
Mikael Nordfeldth 73992a1ed8 Use "newer" terminology and throw exceptions 2016-01-19 00:21:16 +01:00
Mikael Nordfeldth 9eea255c79 Save with options so we get source=web 2016-01-19 00:08:31 +01:00
Mikael Nordfeldth 358684a5ed end_str, not start_str 2016-01-19 00:01:30 +01:00
Mikael Nordfeldth 385705c65b Events get rendered. 2016-01-18 23:58:32 +01:00
Mikael Nordfeldth cae344b67b Events are now saved but not displayed properly again 2016-01-18 20:57:44 +01:00
Mikael Nordfeldth 486a02d60d First steps on making NeweventAction a FormAction
Also saving new Happening objects via Notice::saveActivity
2016-01-18 18:42:42 +01:00
Mikael Nordfeldth 6dc0477c00 Let the remote side know the Salmon was accepted (sorta) 2016-01-16 22:39:59 +01:00
Mikael Nordfeldth deda83fdef Distinguish notice saving errors from others for Salmon 2016-01-16 22:39:04 +01:00
Mikael Nordfeldth 0797ee0871 EmptyIdException doesn't carry ->obj 2016-01-16 21:12:53 +01:00
Mikael Nordfeldth c559b8ce2a bulkDistribute won't add empty lists to database 2016-01-16 17:34:27 +01:00
Mikael Nordfeldth f53ebdeadb Start handling salmon entries directly with Notice::saveActivity
More to come...
2016-01-16 17:25:29 +01:00
Mikael Nordfeldth 2b67b53112 In very specific circumstances we can bulkDistribute 0 notices
Seems to be what caused an infinite loop on quitter.es, or I guess so anyway.
2016-01-16 17:18:14 +01:00
mmn 44c10bb2aa Merge branch 'oembed_branch' into 'nightly'
purify oembed html and don't allow cdata

hopefully we never need stuff in cdata

reason for this is that this link serves javascript in its oembed data: https://www.maketecheasier.com/switch-windows-10-to-linux/

see:
https://www.maketecheasier.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.maketecheasier.com%2Fswitch-windows-10-to-linux%2F

i don't feel we want that in our database.  

See merge request !79
2016-01-15 13:11:35 +00:00
Mikael Nordfeldth 2af9de4f23 Minor fixes in Linkback plugin 2016-01-14 19:14:24 +01:00
Mikael Nordfeldth 0caf0612d0 Make Twitter Media upload API v1.1 reach us
Now we just have to accept the 'media' or 'media_data' (base64 encoded)
POST arguments instead of $_FILES uploads.
2016-01-14 18:29:21 +01:00
Mikael Nordfeldth 2f1bfe126b Debug message formatting gone wrong 2016-01-14 13:52:11 +01:00
Mikael Nordfeldth 59e75ef966 Incorrect use of getByHashKey in HubSub 2016-01-14 13:15:31 +01:00
Mikael Nordfeldth f092026541 Documentation fix from master 2016-01-14 13:11:27 +01:00
Mikael Nordfeldth bacd49a6a8 Don't try to replace http with https if https already exists 2016-01-14 13:06:37 +01:00
Björn Schießle b7c849b5b0 array need to contain key/value pairs 2016-01-14 12:39:39 +01:00
Mikael Nordfeldth 83cb1dfa68 Salmon debugging 2016-01-14 03:48:41 +01:00
Mikael Nordfeldth 53339ff463 Fake oEmbed version in OpenGraph return object 2016-01-14 02:09:12 +01:00
Mikael Nordfeldth cf7d2f4d0f Salmon queue handler getByID for exception throwing 2016-01-14 01:51:00 +01:00
Mikael Nordfeldth 0482b7de8e Debugging by indexing callback column in HubSub 2016-01-13 22:57:42 +01:00
Mikael Nordfeldth 24d9d76644 OpenGraph image/thumbnail width and height 2016-01-13 22:07:39 +01:00
Mikael Nordfeldth adba38ce20 Deleted_notice is pluginified, don't call directly from core 2016-01-13 21:29:23 +01:00
Mikael Nordfeldth 45dd343126 Eventify Notice getAsTimestamp (for Deleted_notice) 2016-01-13 21:01:47 +01:00
Mikael Nordfeldth 8ab98b72ac getLeaseRemaining for FeedSub too 2016-01-13 20:01:00 +01:00
Mikael Nordfeldth 377947c57f s/getLease/getLeaseTime/ just to be a bit more clear 2016-01-13 19:55:17 +01:00
Mikael Nordfeldth 1d26fedf12 Don't store lease seconds, just sub start and end
The seconds can always be calculated from the dates!
2016-01-13 19:45:20 +01:00
Mikael Nordfeldth 494746e665 Minor PuSH comment and debug stuff 2016-01-13 19:25:39 +01:00
Mikael Nordfeldth a5fd4fde25 Request a month long sub lease by default 2016-01-13 19:24:07 +01:00
Mikael Nordfeldth b38a789005 HubSub didn't save sub start and end datetimes 2016-01-13 19:23:34 +01:00
hannes ee305891c4 purify oembed html 2016-01-13 16:03:38 +00:00
Mikael Nordfeldth 5c262a788d Unused, unnecessary and intrusive cookie/storage removed! 2016-01-13 15:22:28 +01:00
Mikael Nordfeldth 3720e37f06 property attribute could be null in meta tags of course 2016-01-13 14:24:00 +01:00
Mikael Nordfeldth 99da1ebe41 Catch NoHttpResponseException when using HTTPClient 2016-01-13 14:17:49 +01:00
Mikael Nordfeldth 3ed632decf NoHttpResponseException needed instead of HTTP_Request2_Exception
HTTP_Request2_Exception assumed an HTTP response status code/line
2016-01-13 14:08:48 +01:00
Mikael Nordfeldth e75472f460 Use the upstream function to get effectiveUrl 2016-01-13 14:00:05 +01:00
Mikael Nordfeldth 3658774429 Super-basic OpenGraph image preview support, "works for me" 2016-01-12 15:29:03 +01:00
Mikael Nordfeldth f4feef477b Don't follow redirects on PuSH POST. 2016-01-12 14:32:28 +01:00
Mikael Nordfeldth c826fe0af4 $target was klantigtly copied from another debug message 2016-01-11 20:10:38 +01:00
Mikael Nordfeldth bd6efa0e45 Update PuSH callback URL if remote side switched to HTTPS
See the comment in the source on why we're not following Location headers...
2016-01-11 19:55:02 +01:00
Mikael Nordfeldth f24cdf4a80 Much more logging in PushHubAction (OStatus) 2016-01-11 19:54:05 +01:00
Mikael Nordfeldth 8acf930c45 OpportunisticQM matches against _system_ max_execution_time
Probably never runs if max_execution_time is 0. I'll handle that later.
2016-01-11 13:35:29 +01:00
Mikael Nordfeldth b13f8df79b HTTPClient would return null instead of exception
This caused $response->isOK() tests to call a function on a non-existing object, causing all hell to break loose.
2016-01-11 02:36:59 +01:00
Mikael Nordfeldth e498bc6b7b Control OpportunisticQM verbosity 2016-01-10 00:51:25 +01:00
Mikael Nordfeldth 7fbf72f9c1 Minor changes to OpportunisticQM for debugging 2016-01-10 00:48:04 +01:00
Mikael Nordfeldth 42dff2742a Put salmon slaps in queues before pushing user Atom feed 2016-01-10 00:29:32 +01:00
Mikael Nordfeldth c3c5a9974d Do proper fromUri lookup on groups too 2016-01-09 14:36:47 +01:00
Mikael Nordfeldth fbec7c4e75 Issue #121 - use correct Group ID and strict User_group typing 2016-01-09 14:06:50 +01:00
Mikael Nordfeldth 4e0ed61f7c OStatus queue handler uses Notice->getAttentionProfiles()
and lots more debugging for LOG_DEBUG
2016-01-08 01:31:47 +01:00
Mikael Nordfeldth c48871cf1b Notice from web now saves context->attention too! ;) 2016-01-07 23:24:15 +01:00
Mikael Nordfeldth d4be5349b3 think I have managed to show oEmbed images better now 2016-01-07 17:35:37 +01:00
Mikael Nordfeldth 9e5c71e701 Fixed group representation in Directory plugin, also some ->raw calls 2016-01-07 12:58:14 +01:00
Mikael Nordfeldth c02f23e63f Return Profile objects from getGroups in GroupdirectoryAction 2016-01-07 12:35:52 +01:00
Mikael Nordfeldth e7308b0ecb Max execution time margin for OpportunisticQM
I guess it could continue a bit too long in case it got a really long
(failing, timeouting) HTTP request just before max_execution_time hit.
2016-01-07 11:58:09 +01:00
Mikael Nordfeldth 1a1e44cdfd Issue #118 wanted better TOR support, now Avatar URLs are not stored
There was no reason to store the generated Avatar URLs because it's so
cheap to generate them on the fly.
2016-01-06 16:14:26 +01:00
Mikael Nordfeldth b596391fcd Avoid having to check for notices without rendered copies in upgrade.php
Always call the Notice->getRendered() function to get a rendered copy.
We could perhaps put some sanitation there too in the future
2016-01-06 15:32:27 +01:00
Mikael Nordfeldth 0fd2ad649e Conversation IDs (again) no longer based on Notice ID 2016-01-06 13:58:46 +01:00
mmn 2c5460eb0e Merge branch 'openid-plugin' into 'nightly'
OpenID plugin: 'openid_only' should be 'openidonly'

To match everywhere else.

See merge request !72
2016-01-05 23:28:28 +00:00
Mikael Nordfeldth 9a75778b29 If there's no Happening, we can't use the RSVP. 2016-01-05 15:00:34 +01:00
Mikael Nordfeldth 3471213d1c processFeed would abort on certain errors where findLocalObject failed 2016-01-05 15:00:07 +01:00
Mikael Nordfeldth ab93bb009c XSS vulnerability when remote-subscribing
->raw was used on non-filtered strings for some reasons, changed
to ->text.
2016-01-05 12:15:50 +01:00
Chimo bf0df016e5 OpenID plugin: 'openid_only' should be 'openidonly'
To match everywhere else.
2016-01-04 10:36:05 -05:00
Mikael Nordfeldth f7a1c8a94c The $options array isn't used here 2016-01-04 01:48:54 +01:00
Mikael Nordfeldth 34b25e6afc Use EmptyIdException in Fave deletion try-catch 2016-01-03 22:57:28 +01:00
Mikael Nordfeldth bda30a92bc Fave deletion would fail in some cases with missing profiles or notices 2016-01-03 22:35:49 +01:00
Mikael Nordfeldth 7df8a6b731 This version of the EventPlugin won't work with StatusNet any longer 2016-01-03 16:23:44 +01:00
Mikael Nordfeldth 95d415257a Merge branch 'nightly' into singpolyma/gnu-social-events-saveObjectFromActivity
Conflicts:
	plugins/Event/EventPlugin.php
	plugins/Event/classes/RSVP.php

I just fixed 'em with magic!
2016-01-03 13:08:34 +01:00
Mikael Nordfeldth 336f099241 Don't store object type for verbs (as they don't have it) 2016-01-02 16:05:20 +01:00
Mikael Nordfeldth e02c10a589 common_render_content doesn't require a Profile now 2016-01-01 18:40:58 +01:00
Mikael Nordfeldth 4fc2b2584b RSVPs refer to Happening (event) by URI instead of ID now 2015-12-31 19:23:05 +01:00
Mikael Nordfeldth 34ce2f6cfa minor happening changes 2015-12-31 18:08:12 +01:00
Mikael Nordfeldth f6df44ea85 Handle feed imports with exceptions better 2015-12-31 15:05:35 +01:00
Mikael Nordfeldth 7f1ce07e9f Logging destinations and unnecessary debug 2015-12-31 13:00:20 +01:00
Mikael Nordfeldth fab745c6d6 Exception throwing and proper db retrieval
ActivityModeration plugin and its Deleted_notice class.
2015-12-31 12:42:33 +01:00
Mikael Nordfeldth 5ba6be1a87 Deleted_notice had a superfluous field 2015-12-31 12:33:59 +01:00
Mikael Nordfeldth 6772d991ae Only provide Notice oEmbed data for local notices 2015-12-31 01:55:18 +01:00
Mikael Nordfeldth bceece3bb9 issue #93 2015-12-30 18:03:45 +01:00
Mikael Nordfeldth bd00ef839d split() is deprecated and should be explode()
We don't need the regexpness anyway.
2015-12-27 15:22:38 +01:00
Mikael Nordfeldth feb6b636f4 File_oembed varchar to text changes
No need to have text length limitations in the database for fields which
very well may be longer than what was previously set.
2015-12-27 12:11:29 +01:00
Mikael Nordfeldth b76461fc78 syntax error 2015-12-27 01:42:03 +01:00
Mikael Nordfeldth 0ac71c2b7b Duplicate URI means we have it already, I assume 2015-12-27 01:40:00 +01:00
Mikael Nordfeldth 306df3dc3b Logging fixes 2015-12-26 16:27:06 +01:00
Chimo d8092207c0 Autocomplete: Fix $profile being null for groups 2015-12-15 21:48:18 -05:00
Mikael Nordfeldth f5ed66280b $url should've been $file->getUrl() 2015-12-15 12:31:10 +01:00
Mikael Nordfeldth 2b4a6c7dd7 Don't check Link header if not set 2015-12-15 11:51:16 +01:00
Mikael Nordfeldth 0d39337683 Merge branch 'master' into nightly 2015-12-14 22:11:26 +01:00
mmn 67c0c1b6c5 Merge branch 'send-twitter-replies-to-twitter' into 'master'
Always send Twitter replies to Twitter

If is_twitter_notice($notice->reply_to) then send it to Twitter, even
if twitter import is off.  It's a reply to a Twitter notice, it should
go there!

(Also retweets.)

See merge request !42
2015-12-14 21:10:57 +00:00
mmn 0baa9debbc Merge branch 'direct-feed-sub' into 'master'
If we are given a direct URL to a feed, use that



See merge request !54
2015-12-14 21:09:56 +00:00
mmn 1644608376 Merge branch 'twitter-show-rel-syndication' into 'master'
Include rel-syndication link for tweets

As per: <http://microformats.org/wiki/rel-syndication>
This allows some services to find a post in Twitter.

See merge request !44
2015-12-14 21:09:08 +00:00
mmn 0e91a38c9c Merge branch 'firefox-sub-link' into 'master'
Link to add to Firefox as feedreader

This allows easily subscribing to any feed firefox detects in your GNU Social instance.

See merge request !55
2015-12-14 21:08:22 +00:00
mmn 0f938ff234 Merge branch 'fix-twitter-uri' into 'master'
Twitter URIs have changed

The #! was deprecated ages ago, and Twitter forces HTTPS these days.

See merge request !43
2015-12-14 21:07:48 +00:00
Mikael Nordfeldth c2ea85a5e2 Merge branch 'master' into nightly 2015-12-14 22:07:06 +01:00
mmn 1be376cf87 Merge branch 'inbound-linkback' into 'master'
Accept mentions/replies/rsvps/likes via pingback and webmention

This makes the Linkback plugin bidirectional, allowing reply/mention federation between GNU Social and any pingback-enabled service (including any Wordpress site).

See merge request !41
2015-12-14 21:05:25 +00:00
mmn 1eff108561 Merge branch 'twitter-check-dupe-by-uri' into 'master'
TwitterBridge also check for dupe by uri

In case a twitter item came in from some other source (such as linkback).

See merge request !45
2015-12-14 21:04:22 +00:00
Mikael Nordfeldth ef4e61c91b Merge branch 'master' into nightly 2015-12-14 22:03:04 +01:00
mmn edd62e58fd Merge branch 'at-mention-url' into 'master'
MentionURL Plugin

This plugin enables users to use the syntax `@twitter.com/singpolyma` to mention users the system does not know about, or to be more specific when a nickname is ambiguous.

See merge request !53
2015-12-14 21:01:42 +00:00
Mikael Nordfeldth 20592f184d getID() will complain loudly if something is wrong
(just ->id would not)
2015-12-14 21:44:59 +01:00
Mikael Nordfeldth 42c653a9d0 Merge commit '5c4a7a10' into nightly
hannes making sure notice is a repeat and not a delete activity notice
2015-12-14 21:42:08 +01:00
Mikael Nordfeldth 4fecda58ff Full identifiers for Autocomplete, less confusing 2015-12-05 16:18:59 +01:00
Mikael Nordfeldth 334a0d56e7 Oembed slimmed to only do discovery (soon we get og: discovery too) 2015-11-30 02:06:04 +01:00
Mikael Nordfeldth b7edac2610 HTTPClient get $params array and oEmbedHelper uses it 2015-11-30 01:28:18 +01:00
Mikael Nordfeldth fbe0e68617 Events listing, but the stream will change soon 2015-11-23 14:40:59 +01:00
Mikael Nordfeldth b01484a0a3 Managed_DataObject::newUri was called improperly 2015-11-23 00:39:49 +01:00
hannes 5c4a7a1052 make sure returned notice is a repeat, i.e. not a delete activity notice 2015-11-22 20:28:07 +00:00
mmn b33b40db45 Merge branch 'refactor-file-processNew' into 'nightly'
Refactor on File::processNew

The code was so involved there was even a comment asking for a refactor.

Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing.  The object is
either one which already existed or else a new, unsaved object.

Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where.  You either get what exists or something to save.

An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.

See merge request !57
2015-11-20 17:50:01 +00:00
Stephen Paul Weber 4f0fae9e90 Show better source for linback items 2015-11-12 19:07:26 +00:00
Stephen Paul Weber 11810bbf54 Update conversation when we update reply_to
Or repeat_of
2015-11-12 19:06:17 +00:00
Stephen Paul Weber 47db1ab063 Autodiscovery header for webmention 2015-11-12 19:06:17 +00:00
Stephen Paul Weber f09a82268f Ignore self pings 2015-11-12 19:06:17 +00:00
Stephen Paul Weber b95b318052 That never was meant to be in that if 2015-11-12 19:06:16 +00:00
Stephen Paul Weber 6aba21fcd8 Use author-declared URL as URI
Will make brid.gy work better, for example.
2015-11-12 19:06:16 +00:00
Stephen Paul Weber fa1e4620cf Add pingback frontend 2015-11-12 19:06:16 +00:00
Stephen Paul Weber aa4d880148 Search in sub-items for links to the target as well 2015-11-12 19:06:16 +00:00
Stephen Paul Weber 96e0819f00 Catch exception that this generates when there is no result 2015-11-12 19:06:16 +00:00
Stephen Paul Weber c5bdf6924d Fix duplicate detection 2015-11-12 19:06:16 +00:00
Stephen Paul Weber 64ac344efa Update on duplicate linkback
This especially allows mentioning mulitple users, etc.
2015-11-12 19:06:16 +00:00
Stephen Paul Weber b9971e8a80 Linkback to user should work 2015-11-12 19:06:15 +00:00
Stephen Paul Weber 1e3cf08d82 Ignore non-local notices as targets 2015-11-12 19:06:15 +00:00
Stephen Paul Weber dbfb698859 Webmention frontend 2015-11-12 19:06:15 +00:00
Stephen Paul Weber 96fb18da3f Initial helpers for verification and microformats
This will form the backend of all incoming linkbacks.
We verify the linkback is real and then try to form a rich notice
out of it.
2015-11-12 19:06:15 +00:00
Mikael Nordfeldth acd4980ab4 Fix federation issue with groups (bad list order) 2015-11-08 23:31:23 +01:00
Mikael Nordfeldth 844670f88d Ooops, copypasted something into the wrong place. 2015-11-08 23:24:20 +01:00
Mikael Nordfeldth 65184782aa OStatus usage of static Validate::* calls fixed 2015-11-08 10:33:41 +01:00
Mikael Nordfeldth e40014b4de separate classes into files in DirectMessage plugin 2015-11-06 13:35:45 +01:00
Mikael Nordfeldth c83deecba2 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-11-06 13:33:24 +01:00
abjectio 507f9a28c0 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-11-05 17:34:34 +01:00
Mikael Nordfeldth 7ccd36849e Merge branch 'master' of git.gnu.io:gnu/gnu-social into nightly
Conflicts:
	plugins/OStatus/OStatusPlugin.php

master vs. nightly thing
2015-11-05 16:16:02 +01:00
mmn f345f1d605 Merge branch 'renew-pshb' into 'master'
Actually use the renew code

We have the code to check once a day and renew, but currently it's
just in a script directory.  This change adds an event listener
hook to check and renew subscriptions daily.

Closes #83

See merge request !38
2015-11-05 15:13:16 +00:00
mmn deb5275c7a Merge branch 'object-types-are-absolute' into 'master'
Stop incorrecly changing object_type to relative URI

All other data is using absolute URI for object_type.

See merge request !40
2015-11-05 15:12:41 +00:00
mmn 959f971a65 Merge branch 'fix-webfinger-link-header' into 'master'
Add all link headers, not just the last one

Given the way Link headers work, it does not make any sense to
just replace all other ones.  Especially when we ourselves are adding
in a loop.

See merge request !47
2015-11-05 15:12:10 +00:00
mmn 9f83e60f25 Merge branch 'pings-interop' into 'master'
Clean up Linkback plugin and add Webmention support

Closes #82

Fixes Pingback, adds Webmention, makes linkbacks opt-out-able for users (at request of quitter.se admin)

See merge request !36
2015-11-05 15:11:29 +00:00
Mikael Nordfeldth 0e32729e59 Merge branch 'nightly' of git.gnu.io:gnu/gnu-social into nightly 2015-11-05 16:07:42 +01:00
Mikael Nordfeldth c950f18546 Merge branch 'master' into nightly
Some merge requests that were aimed at master
2015-11-05 16:07:05 +01:00
mmn 45b24286e5 Merge branch 'status-204' into 'master'
Accept 204 for PuSH subscription

Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.

This used to be allowed by the spec, so no harm in accepting it.

See merge request !48
2015-11-05 15:03:42 +00:00
mmn 5c768d7ef7 Merge branch 'twitter-verb' into 'nightly'
TwitterBridge: Add $notice->verb on import

Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:

2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri  
 0: /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)  
 1: /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)  
 2: /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)  
 3: [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))  
 4: /lib/event.php(105): call_user_func_array(Array, Array)  
 5: /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)  
 6: /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))  
 7: /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))  
 8: /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)  
 9: /lib/iomaster.php(287): DBQueueManager->poll()  
 10: /lib/iomaster.php(161): IoMaster->poll()  
 11: /scripts/queuedaemon.php(111): IoMaster->service()  
 12: /lib/spawningdaemon.php(189): QueueDaemon->runThread()  
 13: /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)  
 14: /lib/daemon.php(168): SpawningDaemon->run()  
 15: /scripts/queuedaemon.php(181): Daemon->runOnce()  
 16: {main}

See merge request !50
2015-11-05 15:01:07 +00:00
mmn 4b7c904fe0 Merge branch 'correct-author-for-repeat' into 'master'
Markup correct author for a repeat

The original author is not the author of this entry, but of the original entry.

See merge request !51
2015-11-05 15:00:35 +00:00
Stephen Paul Weber a9b1b60a97 Refactor on File::processNew
The code was so involved there was even a comment asking for a refactor.

Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing.  The object is
either one which already existed or else a new, unsaved object.

Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where.  You either get what exists or something to save.

An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.
2015-11-02 05:15:08 +00:00
Stephen Paul Weber a74572b469 Use mb_strlen 2015-10-28 01:46:08 +00:00
Stephen Paul Weber 6ac8b845bf Improvements inspired by the OStatus code 2015-10-28 01:45:51 +00:00
Stephen Paul Weber fe4c8a771b Replace text with nickname if shorter 2015-10-28 01:24:58 +00:00
Stephen Paul Weber 0aa759fab7 Allow mentioning bare domains with OStatus 2015-10-28 01:24:42 +00:00
Stephen Paul Weber 2edf535ecd Add length argument to plugin 2015-10-28 01:24:29 +00:00
Stephen Paul Weber 85d5cfede5 Link to add to Firefox as feedreader 2015-10-28 01:10:28 +00:00
Stephen Paul Weber e58c529c53 If we are given a direct URL to a feed, use that 2015-10-28 00:54:20 +00:00
Stephen Paul Weber fed0895d98 Move the functionality to a plugin
Use an associated model to prevent race conditions on creating the
profile object.
2015-10-28 00:11:54 +00:00
Mikael Nordfeldth 1b81131c51 Shared notices didn't save the URL 2015-10-28 00:13:17 +01:00
Stephen Paul Weber e1de6e0aa9 Support more author types on RSS
Specifically, any ActivityStreams or ATOM namespaces being used on
an rss channel.
2015-10-27 18:43:57 +00:00
Mikael Nordfeldth ebbb9a8990 Bad HTML in translation. 2015-10-27 19:05:07 +01:00
Stephen Paul Weber 54e87dd2c3 Morkup correct author for a repeat
The original author is not the author of this entry, but of the original entry.
2015-10-27 17:19:03 +00:00
Chimo 3ae81f095c TwitterBridge: Add $notice->verb on import
Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:

2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri
 #0 /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)
 #1 /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)
 #2 /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)
 #3 [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))
 #4 /lib/event.php(105): call_user_func_array(Array, Array)
 #5 /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)
 #6 /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))
 #7 /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))
 #8 /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)
 #9 /lib/iomaster.php(287): DBQueueManager->poll()
 #10 /lib/iomaster.php(161): IoMaster->poll()
 #11 /scripts/queuedaemon.php(111): IoMaster->service()
 #12 /lib/spawningdaemon.php(189): QueueDaemon->runThread()
 #13 /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)
 #14 /lib/daemon.php(168): SpawningDaemon->run()
 #15 /scripts/queuedaemon.php(181): Daemon->runOnce()
 #16 {main}
2015-10-27 10:12:33 -04:00
Stephen Paul Weber 4c2bc465a0 Accept 204 for PuSH subscription
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.

This used to be allowed by the spec, so no harm in accepting it.
2015-10-27 03:16:39 +00:00
Stephen Paul Weber fae7bc0bc0 Add all link headers, not just the last one
Given the way Link headers work, it does not make any sense to
just replace all other ones.  Especially when we ourselves are adding
in a loop.
2015-10-25 18:42:37 +00:00
Stephen Paul Weber dc36621dc2 Linkback to mentioned profiles 2015-10-25 17:22:15 +00:00
Stephen Paul Weber ddfb56d920 TwitterBridge also check for dupe by uri
In case a twitter item came in from some other source (such as linkback).
2015-10-23 18:03:44 +00:00
Stephen Paul Weber 983fd75ec9 Include rel-syndication link for tweets
As per: <http://microformats.org/wiki/rel-syndication>
This allows some services to find a post in Twitter.
2015-10-23 17:56:02 +00:00
Stephen Paul Weber 2030ddfc79 Reduce duplication by handling both cases in find 2015-10-23 16:26:35 +00:00
Stephen Paul Weber 439b466979 Use HTTPS for links to Twitter profiles as well 2015-10-23 16:24:04 +00:00
Stephen Paul Weber d1f1063900 Twitter URIs have changed
The #! was deprecated ages ago, and Twitter forces HTTPS these days.
2015-10-23 16:19:54 +00:00
Stephen Paul Weber 123bb445db Always send Twitter replies to Twitter
If is_twitter_notice($notice->reply_to) then send it to Twitter, even
if twitter import is off.  It's a reply to a Twitter notice, it should
go there!
2015-10-23 15:37:11 +00:00
Stephen Paul Weber 8649591626 Stop incorrecly changing object_type to relative URI
All other data is using absolute URI for object_type.
2015-10-22 17:14:59 +00:00
Stephen Paul Weber 3e1a6a65e6 Event plugin uses saveObjectFromActivity for RSVP
The Event plugin is still using a deprecated hook for saving extra data,
which makes it harder to hook into from other plugins.  This commit
fixes it to use the new hook for at least RSVPs.

NOTE: this plugin incorrectly sets the object_type of RSVP notices to
their verb.  This was existing behaviour which I have preserved for
backwards-compatability.
2015-10-22 17:10:50 +00:00
Stephen Paul Weber 4b31bc3fd2 Enqueue renewals
Better for request times, etc
2015-10-21 01:50:03 +00:00
Stephen Paul Weber df21c3c95d Renew 1 day *before* the end, not 1 day *after* 2015-10-21 01:49:26 +00:00
Stephen Paul Weber df46f123dd Actually use the renew code
We have the code to check once a day and renew, but currently it's
just in a script directory.  This change adds an event listener
hook to check and renew subscriptions daily.
2015-10-21 01:10:48 +00:00
Stephen Paul Weber 677f0ac479 Allow users to opt out of sending linkbacks 2015-10-18 21:28:55 +00:00
abjectio 303fa91720 Removed inboxmessagelist.php - seems to be not needed. Ref. Issue #77 2015-10-18 17:34:36 +02:00
Stephen Paul Weber c7e08195e4 Fix Pingback
This code was using the HTTPRequest helpers wrong.  This commit sets the body directly instead of jamming the XML in as a POST param.
2015-10-17 13:39:46 +00:00
Stephen Paul Weber d9d74ca96c Send URL we publish
Webmention and Pingback both need the exact URL we are going to claim to link to to be present in our HTML source, so send them our actual original link.

Webmention clients are supposed to resolve this link.  Pingback clients may still fail on shortened links.
2015-10-17 13:38:13 +00:00
Stephen Paul Weber 3b1792c8b5 Add webmention support 2015-10-15 00:29:53 +00:00
Stephen Paul Weber e4892d21b1 Note that we should handle relative URIs 2015-10-14 16:13:25 -05:00
Stephen Paul Weber 8edc5148d9 Normalize detection helpers
Will make it easier to see what's happening when we add a third one.
2015-10-14 15:54:47 -05:00
Stephen Paul Weber 63fd35dffa Notify replies and repeats
This is especially useful for partial federation with remote accounts
that are not fully OStatus-enabled but support a pingback protocol.
Such accounts will still be notified of replies and repeats of their
content even without OStatus support, thus adding to the federated
universe.
2015-10-14 15:47:00 -05:00
Stephen Paul Weber b43294ec6f Use the getter, not a direct access 2015-10-14 15:33:48 -05:00
Stephen Paul Weber a4a37d6fc9 More robust pingback link detection 2015-10-14 15:28:38 -05:00
Mikael Nordfeldth 2c8536dbf0 Link source==share notices 2015-10-14 01:30:29 +02:00
Mikael Nordfeldth 401b774c2f Only set ->actor in a case where it has not yet been set
Otherwise it could overwrite it with the wrong actor (the "second round"
for share activities)
2015-10-14 01:20:50 +02:00
Mikael Nordfeldth 79c40bc73b Type-aware comparison is necessary for Notice is_local/scope 2015-10-14 00:42:15 +02:00
Mikael Nordfeldth b6aeff89c4 Call Notice::saveActivity instead of Ostatus_profile->processActivity 2015-10-14 00:10:54 +02:00
Mikael Nordfeldth 005c108118 Shared activities were missing the actor 2015-10-13 23:40:35 +02:00
Mikael Nordfeldth 65adefe170 Wrong variable names in SharePlugin 2015-10-13 23:18:13 +02:00
Mikael Nordfeldth e379c49d49 Removing excess debug logging 2015-10-13 22:55:27 +02:00
Mikael Nordfeldth c8a907c828 Bookmark:addNew did not add a proper rel=related 2015-10-13 12:31:35 +02:00
Mikael Nordfeldth 3f4d4cb7a0 Better error handling in Bookmark 2015-10-12 18:28:32 +02:00
Mikael Nordfeldth 67e7bc55ea Bookmarks are almost migrated
Now they are just not being saved in the bookmark table.
2015-10-12 17:48:23 +02:00
Mikael Nordfeldth 297d68f36c Change Bookmark plugin version details 2015-10-12 09:47:30 +02:00
Mikael Nordfeldth 0e588bdeca Woops, put the bookmark get* functions in the wrong file. 2015-10-11 22:08:28 +02:00
Mikael Nordfeldth 1dac0e709a First step of making Bookmark saveActivity-compatible 2015-10-10 23:47:43 +02:00
Mikael Nordfeldth b209276e72 Stricter typing for Bookmark plugin 2015-10-10 23:15:51 +02:00
Mikael Nordfeldth 5726459629 unmaintained plugins that accidentally got translations 2015-10-10 22:40:05 +02:00
mmn 0926316a76 Merge branch 'master' into 'nightly'
convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db

See merge request !34
2015-10-10 20:38:01 +00:00
mmn 32f77dbf05 Merge branch 'translation-snapshot-october-2015' into 'nightly'
Snapshot of the Transifex translation project - October 2015

It's been 7 months since the last localization update, and the files in the repository are out of sync with the current state of the project. Our Transifex team has since grown to 63 translators, many of them are active members of the GNU social community. I don't know how we will resolve this situation, but it is clear that we have to act. If you plan to redesign the plugin system in the future to support external repository for localizations, that would work as well. But now, please let us do an update. It would be a serious disgrace to the community to throw all of their hard work away.

See merge request !32
2015-10-10 20:36:04 +00:00
Mikael Nordfeldth fe9457daea Syntax and minor fixes
Deleted_notice and Bookmark getByPK assocative array for example.
2015-10-10 22:23:24 +02:00
Mikael Nordfeldth cae43344ec Start reworking Bookmark plugin for more modern code 2015-10-10 21:56:02 +02:00
Mikael Nordfeldth 18f07a48e8 Using some Managed_DataObject::getByPK calls for consistency 2015-10-10 21:40:02 +02:00
Mikael Nordfeldth 37f2da03e1 newUri might as well be put in Managed_DataObject 2015-10-10 21:31:26 +02:00
Mikael Nordfeldth 45bc192625 If that $options key wasn't set, this won't change anything anyway 2015-10-10 21:22:07 +02:00
Mikael Nordfeldth 6376b78a80 I think I have made the delete verb generate proper AS
ActivityStreams had a different/better definition than me
in how to define the Delete verb data:
http://wiki.activitystrea.ms/w/page/23541872/Delete
2015-10-10 11:08:17 +02:00
Hannes Mannerheim a9f879c2ba better explanation 2015-10-10 00:20:32 +02:00
Hannes Mannerheim b24191f9f9 convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db 2015-10-10 00:11:54 +02:00
mmn 3154302b53 Merge branch 'master' into 'nightly'
make events federate

See merge request !33
2015-10-09 14:43:45 +00:00
Hannes Mannerheim 61ed36e446 make event urls federate 2015-10-09 16:22:47 +02:00