Commit graph

557 commits

Author SHA1 Message Date
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
Roland Häder 4a22710b3b Moved global PAGE_* to Profile class (#5500)
* Rewrites:
- moved PAGE_* to Friendica\Model\Profile class

* Fixed more rewrites from plain (global namespace) PAGE_* to Friendica\Models\Profile class

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

* CR request:
- moved ACCOUNT_TYPE_* constants from boot.php to Contact::ACCOUNT_TYPE_*

* Just copy-pasted this code from boot.php, needs to be changed to `const ACCOUNT_TYPE_FOO = x;`

* Ops, melting brain cells here ... :-/
2018-07-27 19:25:57 -04:00
Michael Vogel 82e3163e5e Revert "Possible fix for #5470: (#5506)"
This reverts commit 1e20fd84f7.
2018-07-27 08:02:41 +02:00
Roland Häder 1e20fd84f7 Possible fix for #5470: (#5506)
- $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
2018-07-26 18:27:12 -04:00
Michael Vogel 986106a8f7 Item storage: Permissions aren't stored in the items anymore (#5495)
* The permission set is now used for item permissions

* Check for allow_cid, ... is superfluous. Checking for "private" is enough

* We query the permissionset

* Permissions are displayed correctly

* Changed index

* We don't store the permissions in the item table anymore

* Permission fields are now deprecated

* Reversed ...
2018-07-25 19:14:55 -04:00
Roland Häder 37253656e3 Moved CONTACT_* constants to Friendica\Model\Contact class, lesser in global namespace (#5490)
* Rewrite:
- moved all CONTACT_* constants from boot.php to Contact class

* CR request:
- renamed Contact::CONTACT_IS_* -> Contact::* ;-)
2018-07-24 22:53:46 -04:00