Commit graph

662 commits

Author SHA1 Message Date
Michael
93866b477a Several fixes 2018-10-07 19:42:04 +00:00
Michael
bd6ba98e8d Some more cleanup 2018-10-07 18:41:45 +00:00
Michael
1efca1b75d owner is now actor 2018-10-07 17:35:43 +00:00
Michael
616c4a89bd The new parsing is now active 2018-10-07 17:17:06 +00:00
Michael
36c31e4091 Switching to parsing the JSON-LD 2018-10-07 15:34:51 +00:00
Michael
3a74f3364d Switch to parsing compacted JSON data 2018-10-07 13:37:05 +00:00
Michael
192c6c8d4f Preparation for suggestions under AP 2018-10-06 18:42:26 +00:00
Michael
389a651005 Transmit the Diaspora GUID with activities (Like, Dislike, ...) 2018-10-06 14:02:23 +00:00
Hypolite Petovan
2341ce353d
Merge pull request #5842 from annando/ap-distribution
Improved AP distribution / Only process trusted content
2018-10-06 09:35:44 -04:00
Michael
a413ce15aa "name" must be plaintext 2018-10-06 13:28:17 +00:00
Michael
6b374c32a2 Improved AP distribution / Only process trusted content 2018-10-06 13:16:52 +00:00
Michael
acf31ab64b Additional check to ensure that the owner of an activity is always the author 2018-10-06 09:38:51 +00:00
Michael
510032444f The owner of a "like" should be the author 2018-10-06 08:51:52 +00:00
Michael
41123162f1 No @brief anymore 2018-10-06 04:18:40 +00:00
Hypolite Petovan
13c5bc807b
Merge pull request #5829 from annando/develop
Cache the AP delivery process
2018-10-06 00:06:47 -04:00
Michael
9dbf8d0b9d Spaces 2018-10-06 02:09:27 +00:00
Michael
51dbffd396 Cache the AP delivery process 2018-10-05 21:00:40 +00:00
Michael
5d7968bdf3 Avoid to do the follow stuff for the public user 2018-10-05 20:10:10 +00:00
Michael
5ed1c12349 Send a follow request upon contact switch to AP 2018-10-05 19:48:48 +00:00
Michael
fa7cddc669 AP Bugfix: Following a soapbox now works / rapid follow/unfollow should work now 2018-10-05 06:35:50 +00:00
Michael
3d74d412b2 Changed attachment handling to improve Mastodon compatibility 2018-10-05 04:04:37 +00:00
Michael
4368c922fb is sensitive 2018-10-04 13:08:11 +00:00
Michael
0ebfa6fc12 Added to-do 2018-10-04 12:57:42 +00:00
Michael
1c615f80c4 Improved return values 2018-10-04 12:53:41 +00:00
Michael
9171b2a0f3 It's possibly better to use context links that do exist 2018-10-04 09:46:29 +00:00
Michael
06a59c8312 Funkwhale documentation added 2018-10-04 05:29:22 +00:00
Michael
72fc89d033 Simplified attachment handling 2018-10-04 05:26:00 +00:00
Michael
f6277970fa Added some to-do 2018-10-03 19:35:01 +00:00
Michael
11a7f6c3e1 Unused "use" removed 2018-10-03 19:17:40 +00:00
Michael
cbfc3d0c28 Fix error / "about" is now converted to BBCode 2018-10-03 19:00:32 +00:00
Michael
221e197658 Tags are now transmitted as expected 2018-10-03 18:27:01 +00:00
Michael
a9a1ac808b Attachments do work now 2018-10-03 17:36:55 +00:00
Michael
78a7e130ae Another renamed function 2018-10-03 15:50:21 +00:00
Michael
8841519c0d Renamed functions 2018-10-03 15:41:51 +00:00
Michael
1fe55679fc Moved documentation 2018-10-03 09:53:12 +00:00
Michael
acd1caa114 The function is only needed in the same class 2018-10-03 09:45:54 +00:00
Michael
3ab837f3c7 Functionality is now split 2018-10-03 09:15:38 +00:00
Michael
4d2e5c2bbe AP class will be split in processor, receiver and transmitter 2018-10-03 06:15:07 +00:00
Michael
518d461a8f Issue 5811: "objects" instead of "object" 2018-10-02 20:12:38 +00:00
Michael
6020605d5c Account deletion could work now. 2018-10-01 19:22:13 +00:00
Michael
72c3a62e7f Profile update is now done via APDelivery 2018-10-01 05:44:56 +00:00
Michael
9f481c1f5e + is * 2018-09-30 20:48:29 +00:00
Michael
5456ef0185 Profile update and some more is now added 2018-09-30 20:26:30 +00:00
Michael
761bdafa34 Correct content type 2018-09-30 14:13:07 +00:00
Michael
e71f497295 Renamed 2018-09-30 08:14:05 +00:00
Michael
2fc79e3886 Superfluous, since we only fetch this data 2018-09-30 07:48:13 +00:00
Michael
82987d018a Some changes for better code quality 2018-09-30 07:21:57 +00:00
Michael
b043c7e0f2 Changed constant name to keep compatible with PHP 5 2018-09-28 15:25:20 +00:00
Michael
da79566125 Relocated function 2018-09-28 03:56:41 +00:00
Michael
793387e2b5 Only communicate with contacts that aren't pending 2018-09-27 15:26:20 +00:00
Michael
e01d5e4b31 Function naming ... 2018-09-27 11:56:05 +00:00
Michael
cb9be8a7ab UUID is now createUUID 2018-09-27 11:52:15 +00:00
Michael
5639054699 Diaspora in AP - and changed function name 2018-09-27 11:39:17 +00:00
Michael
fa868fbaf2 Some more documentation 2018-09-27 03:28:56 +00:00
Michael
897929ad40 Avoid warnings, added documentation 2018-09-26 22:45:13 +00:00
Michael
f7d7d94111 Added some doxygen headers 2018-09-26 21:38:37 +00:00
Michael
dd38b7e329 Avoid warnings 2018-09-26 20:36:47 +00:00
Michael
60b0759b50 UUID instead of GUID 2018-09-26 20:03:46 +00:00
Michael
9ec30010c5 APContact stuff is moved to an own class 2018-09-26 17:24:29 +00:00
Michael
f3814ae1fc Changed conversation url (used for AP) 2018-09-26 13:12:27 +00:00
Michael
4699741f00 Fix delivery only for comments to native networks 2018-09-26 13:00:48 +00:00
Michael
67d2f8594c Some more clean up 2018-09-26 07:42:40 +00:00
Michael
e91a1dfa8e Cleaned code 2018-09-25 21:18:37 +00:00
Michael
5e3f71680c Disabled logging 2018-09-24 21:47:10 +00:00
Michael
59c137b946 Variable fix 2018-09-24 05:35:47 +00:00
Michael
b386add315 Switch contacts from OStatus to ActivityPub 2018-09-23 22:12:12 +00:00
Michael
094c27add6 Update person, undo activity and improved security checks 2018-09-23 19:25:20 +00:00
Michael
8c7e5bb776 all endpoints are now working 2018-09-23 17:29:31 +00:00
Michael
feeec908d3 We can delete notes / changed credits 2018-09-23 09:20:25 +00:00
Michael
6df6d82427 We can now like and dislike 2018-09-23 08:52:07 +00:00
Michael
a56565fa99 AP is enabled for all users 2018-09-22 23:49:27 +00:00
Michael
ca574e1027 We can now like and dislike 2018-09-22 23:17:01 +00:00
Michael
c083ae047c Merge remote-tracking branch 'upstream/2018.08-rc' into ap1 2018-09-22 15:18:53 +00:00
Michael
214407bdc8 Improve communication 2018-09-22 14:12:54 +00:00
Michael
0dbb6313a5 Hopefully fixes relocations that hadn't been executed 2018-09-22 06:47:35 +00:00
Michael
b906b083bc The target inbox is now generated after the permission bloxk 2018-09-22 05:58:56 +00:00
Michael
71cbe56293 Use the follower collection 2018-09-22 04:49:16 +00:00
Michael
b7744ae3eb Inherit the receivers from the previous post 2018-09-22 04:39:04 +00:00
Michael
b44fc62708 Improvements to signature check, private posts do work now again 2018-09-21 22:31:33 +00:00
Michael
4c224fbddd Deliver everything to all receivers in the thread 2018-09-21 12:06:36 +00:00
Michael
5310d54c13 Fetch the receiver from the parent posting as well 2018-09-21 04:51:54 +00:00
Michael
355346298b LD signatures will now be checked when receiving messages 2018-09-21 03:39:32 +00:00
Michael
752b5fe284 Outgoing posts are now signed 2018-09-20 21:45:23 +00:00
Michael
11310f4cf0 Relocated AP signature functions, reduced magic auth functions 2018-09-20 18:16:14 +00:00
Michael
0866fbaf8c Code cleaning / wrong table for flags 2018-09-20 09:50:03 +00:00
Michael
0d51474e73 Relocated function 2018-09-20 05:37:01 +00:00
Michael
34cb0aa406 JSON-LD stuff is now in a separate file 2018-09-20 05:30:07 +00:00
Michael
f20bed67a9 Table "apcontact" is now in use / added functionality to handle JSON-LD 2018-09-20 05:00:49 +00:00
Michael
5de4afecf1 Table for AP contacts, JSON-LD parser included 2018-09-18 22:09:27 +00:00
Michael
cb073bea61 Private posts with Mastodon don't work - but this is expected 2018-09-18 19:36:27 +00:00
Michael
464650d4d7 Public posts to Pleroma do work now, limited posts to Hubzilla and Mastodon as well 2018-09-18 07:28:35 +00:00
Michael
f772ece86f New delivery module for ap 2018-09-17 21:13:08 +00:00
Michael
91d1b4de5d We now use the conversation data with AP 2018-09-17 05:51:05 +00:00
Michael
699a4140f9 Now sending does finally work - and some AP standards are improved as well 2018-09-16 20:12:48 +00:00
Michael
e4d28629e4 First posting tests 2018-09-16 17:47:00 +00:00
Michael
629cca1963 Added function to fetch missing data, code bugfixing 2018-09-16 13:04:00 +00:00
Michael
6f3b2b6586 Handling of unlisted posts, better uid detection 2018-09-16 09:06:09 +00:00
Michael
1f98414bdd Some code cleanup 2018-09-16 05:49:13 +00:00
Michael
a7f5c1f4c6 Likes work now 2018-09-15 23:06:03 +00:00
Michael
2eabe45a8e Contact reject does work now as well 2018-09-15 22:25:58 +00:00
Michael
e45206ae5d Merge remote-tracking branch 'upstream/2018.08-rc' into ap1 2018-09-15 20:49:46 +00:00
Michael
f5104f3e46 Removed harcoded host names 2018-09-15 20:48:24 +00:00
Michael
86bd283705 The whole contact handling does work now, yeah ... 2018-09-15 20:31:05 +00:00
Michael
6a8ebc8639 Contact follow and unfollow workd partially 2018-09-15 18:54:45 +00:00
Michael
96f575fe28 Processing of personal inbox enabled 2018-09-15 10:14:56 +00:00
Michael
957c70d1c6 Several improvements 2018-09-15 07:40:19 +00:00
Michael
fb5b6e4a14 New uri format for our posts that is AP compatible 2018-09-15 07:37:34 +00:00
Michael
2e7ca76e15 More fields to import / like could possibly work 2018-09-14 21:10:49 +00:00
Michael
61e2c7d20d Added AP to many network conditions / enabling inbox processing 2018-09-14 16:51:32 +00:00
Michael
c2f6b166c7 We now use the regular probing function 2018-09-13 21:57:41 +00:00
Michael
8c00e88f79 The endless saga of the fight against notices continues 2018-09-13 21:11:52 +00:00
Michael
67fa0ed433 Signature check added 2018-09-12 21:30:10 +00:00
Michael
969311cb44 Replacing the non standard "title" with "name" 2018-09-12 18:48:18 +00:00
Michael
8c07baf54b Better http answers 2018-09-12 06:01:28 +00:00
Michael
f566db52d3 And more notices ... 2018-09-11 08:04:14 +00:00
Michael
0a5476591d Activitity pub - first commit with much test code 2018-09-10 21:07:25 +00:00
Michael
6113fdc940 Issue 5733: Changing relationship values does work now again with DFRN 2018-09-06 09:20:45 +00:00
Michael
9ef1d827f3 Restore the behaviour to remove the remote contact upon termination 2018-09-05 05:02:06 +00:00
Michael
380eeaab88 Still there had been notices - must have a good camouflage 2018-08-31 05:08:22 +00:00
Tobias Diekershoff
070e1e73d6
Merge pull request #5702 from annando/and-a-notice
and now for something completely different: A removed notice
2018-08-30 06:37:39 +02:00
Michael
02da827560 and now for something completely different: A removed notice 2018-08-30 04:05:32 +00:00
Michael
9bff31f18f Issue 5691: Post dates of feeds sometimes had been wrong 2018-08-29 19:11:43 +00:00
Michael Vogel
601851f3d0 Removed notice - pokes do now work mostly (#5693) 2018-08-29 09:00:01 -04:00
Michael
5e82323456 Avoid useless contact updates 2018-08-26 07:56:33 +00:00
Roland Häder
61693419e8 Cleanups: isResult() more used, readability improved (#5608)
* [diaspora]: Maybe SimpleXMLElement is the right type-hint?

* Changes proposed + pre-renaming:
- pre-renamed $db -> $connection
- added TODOs for not allowing bad method invocations (there is a
  BadMethodCallException in SPL)

* If no record is found, below $r[0] will fail with a E_NOTICE and the code
doesn't behave as expected.

* Ops, one more left ...

* Continued:
- added documentation for Contact::updateSslPolicy() method
- added type-hint for $contact of same method
- empty lines added + TODO where the bug origins that $item has no element 'body'

* Added empty lines for better readability

* Cleaned up:
- no more x() (deprecated) usage but empty() instead
- fixed mixing of space/tab indending
- merged else/if block goether in elseif() (lesser nested code blocks)

* Re-fixed DBM -> DBA switch

* Fixes/rewrites:
- use empty()/isset() instead of deprecated x()
- merged 2 nested if() blocks into one
- avoided nested if() block inside else block by rewriting it to elseif()
- $contact_id is an integer, let's test on > 0 here
- added a lot spaces and some empty lines for better readability

* Rewrite:
- moved all CONTACT_* constants from boot.php to Contact class

* CR request:
- renamed Contact::CONTACT_IS_* -> Contact::* ;-)

* Rewrites:
- moved PAGE_* to Friendica\Model\Profile class
- fixed mixure with "Contact::* rewrite"

* Ops, one still there (return is no function)

* Rewrite to Proxy class:
- introduced new Friendica\Network\Proxy class for in exchange of proxy_*()
  functions
- moved also all PROXY_* constants there as Proxy::*
- removed now no longer needed mod/proxy.php loading as composer's auto-load
  will do this for us
- renamed those proxy_*() functions to better names:
  + proxy_init()           -> Proxy::init()         (public)
  + proxy_url()            -> Proxy::proxifyUrl()   (public)
  + proxy_parse_html()     -> Proxy::proxifyHtml()  (public)
  + proxy_is_local_image() -> Proxy::isLocalImage() (private)
  + proxy_parse_query()    -> Proxy::parseQuery()   (private)
  + proxy_img_cb()         -> Proxy::replaceUrl()   (private)

* CR request:
- moved all PAGE_* constants to Friendica\Model\Contact class
- fixed all references of both classes

* Ops, need to set $a here ...

* CR request:
- moved Proxy class to Friendica\Module
- extended BaseModule

* Ops, no need for own instance of $a when self::getApp() is around.

* Proxy-rewrite:
- proxy_url() and proxy_parse_html() are both non-module functions (now
  methods)
- so they must be splitted into a seperate class
- also the SIZE_* and DEFAULT_TIME constants are both not relevant to module

* No instances from utility classes

* Fixed error:
- proxify*() is now located in `Friendica\Util\ProxyUtils`

* Moved back to original place, ops? How did they move here? Well, it was not
intended by me.

* Removed duplicate (left-over from split) constants and static array. Thank to
MrPetovan finding it.

* Renamed ProxyUtils -> Proxy and aliased it back to ProxyUtils.

* Rewrite:
- stopped using deprecated NETWORK_* constants, now Protocol::* should be used
- still left them intact for slow/lazy developers ...

* Ops, was added accidentally ...

* Ops, why these wrong moves?

* Ops, one to much (thanks to MrPetovan)

* Ops, wrong moving ...

* moved back to original place ...

* spaces added

* empty lines add for better readability.

* convertered spaces -> tab for code indenting.

* CR request: Add space between if and brace.

* CR requests fixed + move reverted
- ops, src/Module/*.php has been moved to src/Network/ accidentally
- reverted some parts in src/Database/DBA.php as pointed out by Annando
- removed internal TODO items
- added some spaces for better readability
2018-08-24 01:05:49 -04:00
Michael Vogel
dc3d2d5988 "dba" is now "DBA". This hadn't been respected at some places (#5655)
* "dba" is now "DBA". This hadn't been respected at some places

* Cleaning up unneeded stuff
2018-08-23 09:51:58 -04:00
Michael Vogel
54aee2aaa7 Removed notices that revealed themselfes over night ... (#5645)
* Removed notices that revealed themselfes over night ...

* And more notices removed that occured over night

* One more ..

* Some more notices of the day ...
2018-08-21 17:35:09 +02:00
Michael
334c628511 And again ... notices 2018-08-20 21:20:21 +00:00
Michael Vogel
c1da44b7dc We now use a central function to fetch the importer (#5636) 2018-08-19 13:37:56 +00:00
Michael Vogel
7f3fb34c24 Some easy to replace "q" calls have been replaced by "DBA" calls (#5632)
* Some easy to replace "q" calls have been replaced by "DBA" calls

* Simplified the GUID creation

* And one in the API ...

* And OStatus has got some DBA calls more

* Just some more replaced database calls

* The event query is now simplified

* Events are now shown again

* subthread is now using the DBA calls as well

* Some more replaced database calls

* And some more replaced database calls and prevented notices

* Better use gravity

* Some more replaced database stuff

* Some more replaced database calls in DFRN.php

* The gcontact class now has got the new DBA functions as well

* The Contact class is now changed to new database functions as well

* Small correction

* We can now delete without cascade

* One more functionality is safe for future changes
2018-08-19 12:46:10 +00:00
Michael
0342f9e084 Removed notices, will it ever end? 2018-08-17 03:19:42 +00:00
Michael Vogel
1283b99c6f Removed notices in the frio theme (#5610)
* Removed notices in the frio theme

* And fixed notices in the notifications

* And some more in frio

* Null is the default value

* And some small notice in the probing removed

* Added note

* Clarified note

* And a removed notice in OStatus
2018-08-14 19:37:44 +00:00
Michael
b3931d066c Issue-5605: Fixes notice 2018-08-12 08:00:37 +00:00
Roland Häder
e06fc2aa69 Stopped using deprecated constants NETWORK_* (#5537)
* Rewrite:
- stopped using deprecated NETWORK_* constants, now Protocol::* should be used
- still left them intact for slow/lazy developers ...

* Removed deprecated NETWORK_* constants as per code reviewer's request.
2018-08-11 22:40:44 +02:00
Michael
3f612e0641 Issue 5436: Don't store tags that are too long 2018-08-06 17:11:40 +00:00
Hypolite Petovan
c13dc549ed Rename PROTOCOL_* constants to Model\Conversation::PARCEL_*
- Remove unused Conversation::PROTOCOL_GS_CONVERSATION constant
- Remove now renamed PROTOCOL_* constant declarations
2018-08-05 12:24:42 +02:00
Hypolite Petovan
c9b756674a Add CW support to shared posts in Protocol\OStatus 2018-08-04 21:40:45 +02:00
Hypolite Petovan
36975d521f Remove plural from $activityobjects variable name in Protocol\OStatus 2018-08-04 21:39:54 +02:00
Michael Vogel
2c8c803d64 Avid notices and warnings (#5546) 2018-08-02 19:07:20 +02:00
Michael Vogel
c72c64a6d8 Notices again (#5543)
* And again notices

* Notices in the directory

* Much more places

* Fix some double $

* Notice in ping

* Missing field

* Fix: We now remove deleted users from the directory

* Some more stuff

* Notices when removing users

* Added logging

* More logging

* Two more
2018-08-02 07:21:01 +02:00
Michael Vogel
1afc0ab028 Added logging and one more reason for a notice found (#5538)
* Added logging and one more reason for a notice found

* And one more
2018-08-01 08:47:18 +02:00
Michael Vogel
9d0f18c0b3 Yeah, and again notices ... (#5536)
* Yeah, and again notices ...

* And some more

* Block access without given user name

* Reformatting
2018-08-01 07:29:58 +02:00
Michael Vogel
71b1638d9a Once again, notices ... (#5535) 2018-07-31 18:39:23 +02:00
Michael Vogel
b552b711ee And some more notices removed ... (#5533)
* Fix for vanishing notes

* The field needs to be part of the selected fields ...

* And some more notes ...
2018-07-31 07:54:25 +02:00
Roland Häder
4d39164c1e [WIP] Rewrite to Proxy class: (#5507)
* Rewrite to Proxy class:
- introduced new Friendica\Network\Proxy class for in exchange of proxy_*()
  functions
- moved also all PROXY_* constants there as Proxy::*
- removed now no longer needed mod/proxy.php loading as composer's auto-load
  will do this for us
- renamed those proxy_*() functions to better names:
  + proxy_init()           -> Proxy::init()         (public)
  + proxy_url()            -> Proxy::proxifyUrl()   (public)
  + proxy_parse_html()     -> Proxy::proxifyHtml()  (public)
  + proxy_is_local_image() -> Proxy::isLocalImage() (private)
  + proxy_parse_query()    -> Proxy::parseQuery()   (private)
  + proxy_img_cb()         -> Proxy::replaceUrl()   (private)

* Ops, need to set $a here ...

* CR request:
- moved Proxy class to Friendica\Module
- extended BaseModule

* Ops, no need for own instance of $a when self::getApp() is around.

* Proxy-rewrite:
- proxy_url() and proxy_parse_html() are both non-module functions (now
  methods)
- so they must be splitted into a seperate class
- also the SIZE_* and DEFAULT_TIME constants are both not relevant to module

* No instances from utility classes

* Fixed error:
- proxify*() is now located in `Friendica\Util\ProxyUtils`

* Moved back to original place, ops? How did they move here? Well, it was not
intended by me.

* Removed duplicate (left-over from split) constants and static array. Thank to
MrPetovan finding it.

* Renamed ProxyUtils -> Proxy and aliased it back to ProxyUtils.
2018-07-30 22:06:22 -04:00
Michael Vogel
1eb8f04274 Fixing SQL error when receiving DFRN posts (#5527)
* Some more notices

* Fixed nasty to find notice in DFRN and OStatus

* And more notices ...

* Yeah, some removed notices ... again ...

* Fixing bad SQL query
2018-07-30 07:06:32 +02:00
Michael Vogel
a2cea16954 Some more notices (#5526)
* Some more notices

* Fixed nasty to find notice in DFRN and OStatus

* And more notices ...

* Yeah, some removed notices ... again ...
2018-07-30 06:41:20 +02:00
Roland Häder
650c3c18e1
Fixed fatal error about when returned 'body' field is empty:
````
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to Friendica\Protocol\PortableContact::discoverServer() must be of the type array, null given, called in /var/www/../src/Protocol/PortableContact.php on line 1664 and defined in /var/www/../src/Protocol/PortableContact.php:1765
Stack trace:
````
2018-07-29 17:34:20 +02:00
Hypolite Petovan
0902ea508d
Fix parse error in Protocol\PortableContact (#5515) 2018-07-28 08:52:57 -04:00
Roland Häder
c30ac30f29 Possible fix for #5470 - json_decode() (#5511)
* Possible fix for #5470:
- $data is not an object like stdClass but an array
- newer PHP versions doesn't allow cross-access like following:

  $object['foo'] = 123;
  $array->foo = 123;

- added type-hints for private methods for above cases
- used `if (empty($foo)) instead of just `if ($foo)` preventing some nasty
  E_NOTICE
- added some empty lines for better readability

* Rewrite:
- mixture of object/array was here, causing under newer PHP versions some E_NOTICE
- this has been now finally fixed by converting any `object` type to an
  associative `array`
- also changed `is_object()` to `is_array()`
2018-07-28 01:35:27 -04:00