Commit Graph

107 Commits

Author SHA1 Message Date
Philipp d74e57ef2c
include suggested changes 2022-07-13 00:23:12 +02:00
Philipp a910fd8864
Split DBStructure & View to avoid DB-calls and dependencies for basic operations
- new "Definition" classes vor DB and Views
- new "Writer" classes to create SQL definitions for DB and Views
- DBStructure & View are responsible to execute DB-querys
2022-07-12 23:40:31 +02:00
Roland Häder 752953e472
Changes:
- as @MrPetovan pointed out, $actor can be NULL earlier and used later as NULL
- added some missing type-hints
- added missing documentation
- the added @TODO points out to avoid true|false|null for a boolean
2022-06-20 21:00:19 +02:00
Roland Häder 8ba3f13fae
Changes:
- added more type-hints
- added missing documentation
2022-06-18 17:09:46 +02:00
Roland Häder 36d56a4041 Continued:
- changed back to 'return false;' as other methods heavily rely on false instead
  of an empty array as pointed out by @heluecht@pirati.ca
- $fetched_contact should be initialized as an empty array, let's not make this
  code more crazier than it already is (see APContact::getByURL())
2022-06-17 17:18:31 +02:00
Roland Häder 4f3321cc9f Nore fixes 2022-06-17 17:18:31 +02:00
Roland Häder 10bb7d5625 Possible fix for
Uncaught Exception TypeError: "Return value of
Friendica\Model\APContact::getByURL() must be of the type array, bool returned"
2022-06-17 17:18:31 +02:00
Roland Häder fdd237a090 Fix for "Uncaught Exception TypeError: "Argument 1 passed to
Friendica\Model\APContact::unarchiveInbox() must be of the type string, null
given" error message
2022-06-17 17:18:31 +02:00
Roland Häder 605e7d55b3 Continued:
- added more type-hints
- some methods in Diaspora returned void but integer was documented so I
  changed it to -1 to have a proper type-hint
2022-06-17 17:18:31 +02:00
Roland Häder c2e889cfae Added more type-hints 2022-06-17 17:18:31 +02:00
Roland Häder 0e1f734b03
Also make this null-coalscing 2022-06-16 17:35:01 +02:00
Roland Häder f2b7326650
This will 2 things:
1) The first change prevents "expensive" code in HTML::toBBcode() to be executed
   just for an empty string which makes no sense.
2) The above change was maybe flawed as $apcontact['about'] would have never
   been created, not even empty which could have side effects

Thanks to @annando to make me rethink this part of code.
2022-06-16 16:54:50 +02:00
Roland Häder b1e4c0931a
Fixes and type-hints:
- added more checked type-hints as they prevent bad method invocations
- fixed TypeError for HTML::toBBCode() invocations with NULL as first (wrong)
  argument, thanks to @tobias@social.diekershoff.de pointing this out.
2022-06-16 16:54:49 +02:00
Michael 990eea2c4e We now store uncommon endpoints 2022-04-25 13:45:03 +00:00
Hypolite Petovan 4eecf733e1
Merge pull request #11389 from nupplaphil/feat/http_client_arg
Introduce explicit HttpClient "Accept" parameter
2022-04-08 15:05:40 -04:00
Michael a1dd299eb3 Preparations for "featured" posts 2022-04-06 13:34:11 +00:00
Michael 61abc6377d Preparation for "Featured" collection added 2022-04-04 23:07:44 +00:00
Philipp 73c3b21665
Move ACCEPT constants to own "enum" class 2022-04-02 20:26:11 +02:00
Michael ff70f74952 "accept" constants introduced and used 2022-03-28 10:33:06 +00:00
Hypolite Petovan 7b9e62198e Suppress a couple MemcachedException
- Replace URL by uri-id in apcontact
- Replace date with a space and nurl by nick and Zulu time in mod/poco
2022-03-15 10:54:00 -04:00
Balázs Úr e56a53647b Update copyright 2022-01-02 08:27:47 +01:00
Philipp 68046573a4
Restructure Cache to follow new paradigm 2021-10-26 22:11:06 +02:00
Michael f1e2ceb32c Issue 10747: Improved check for blocked domains 2021-10-02 10:25:50 +00:00
Michael ce46ab2573 The Matrix and XMPP address is now transported via AP as well 2021-08-10 23:49:09 +00:00
Hypolite Petovan dfb043ce60 Add Exception for empty User::getOwnerDataById(0 return case in Protocol\ActivityPub\Transmitter::getProfile()
- Address https://github.com/friendica/friendica/issues/10473#issuecomment-882781552
- Add try-catch blocks to all references of Protocol\ActivityPub\Transmitter::getProfile()
2021-07-27 16:46:08 -04:00
RealKinetix cf32a4b7cc Sanitize negative status count on APContact
Similar to PR #10499, Mastodon apparently has some counting flaws and
can present a negative status count for a user, causing Friendica to
fail (at least under PHP 8) with:

[20-Jul-2021 16:35:18 UTC] PHP Fatal error:  Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'statuses_count' at row 1 in /home/friendicadev/friendica/src/Database/Database.php:560
Stack trace:
  thrown in /home/friendicadev/friendica/src/Database/Database.php on line 560

This change prevents values lower than 0 from being assigned to
statuses_count.
2021-07-20 10:11:04 -07:00
Michael aa6313dee6 Improved detection for a local contact 2021-07-19 04:15:57 +00:00
Michael 424a85bb94 Fetch local data without HTTP requests 2021-07-18 18:54:25 +00:00
Michael d8bf9c4601 Prevent loop also when fetching the outbox 2021-07-18 16:42:55 +00:00
RealKinetix a0107be2af Negative numbers in following is a thing too
Check & sanitize 'following' as well, as per:
https://mastodon.social/@BLUW
2021-07-14 13:51:30 -07:00
RealKinetix f16b1df83f Adjust where the code is to avoid empty warning
Shifted the code to avoid:
PHP Warning:  Undefined array key "totalItems" in /home/friendicadev/friendica/src/Model/APContact.php on line 277
2021-07-14 13:46:38 -07:00
RealKinetix c1db1c980e Fix indent to standards 2021-07-14 12:17:03 -07:00
RealKinetix 2ebebe9abc Sanitize negative followers count on APContact
Please see
https://github.com/friendica/friendica/issues/9498#issuecomment-818894106
and related discussion regarding this - it appears it's possible for AP
users, maybe just Mastodon users, to have a negative followers count.
This causes fatal errors in Friendica, so I think we should sanitize
this input.
2021-07-14 10:15:19 -07:00
Michael 0735a22cdd Fix notice "undefined index: uri" 2021-07-09 14:52:22 +00:00
Michael 6e79da0b0c The uri-id is now in all contact tables 2021-07-09 07:09:33 +00:00
Michael e2dc36a691 AP: Support "discoverable" 2021-06-30 05:40:11 +00:00
Michael fe07dc828b Fix noscrape publishing and pulling, added header 2021-06-17 11:23:32 +00:00
Michael 09f29cd577 Avoid notices because of empty fields 2021-05-25 13:11:23 +00:00
Michael da8d5f5015 Issue 9926: Limit the length of data to store in the apcontact table 2021-05-24 19:44:24 +00:00
Michael 48d703d278 Fiy missing "in" 2021-05-17 06:03:14 +00:00
Michael 2e6cf056c1 Whitespace removed 2021-05-17 06:01:47 +00:00
Michael cb7206d92f Reverted yesterdays panic coding 2021-05-17 05:59:41 +00:00
Hypolite Petovan a44cf44708
Remove duplicated conditions, improve variables names in Model\APContact 2021-05-16 16:10:22 -04:00
Michael 6f2fcd2859 Don't use compacted data when parsing accounts 2021-05-16 16:41:07 +00:00
Hypolite Petovan 48ac619599 Check unparseURL parameter type in APContact::getByURL
- Address https://github.com/friendica/friendica/issues/10167#issuecomment-832421258
2021-05-10 21:52:26 -04:00
Balázs Úr 054c301ef0 Update copyright 2021-03-29 08:40:20 +02:00
Michael a331a8cf0a Delete removed contacts 2020-12-15 22:56:46 +00:00
Michael 495252690b available is not vital 2020-11-24 07:49:36 +00:00
Michael e4e9a20ac8 Don't transmit to archived inboxes 2020-11-23 19:25:22 +00:00
Michael 73a7df85f7 Issue 9303: Detect AP accesses as backend, prevent ping pong 2020-10-02 09:31:39 +00:00