Commit graph

14 commits

Author SHA1 Message Date
Jan Boddez
dabff80cc2
Add like handler (#804)
* Update class-comment.php

* Initial attempt

* Register like handler

* Add support for undoing likes

* add support for announce

and copied basic comment_type support handling from the Webmention plugin

* fix merge issues

* remove C&P issues

* add missing phpdoc

* Disable Announces and Likes by default.

* set ACTIVITYPUB_DISABLE_REACTIONS to false

* refactorings

* fix escaping

* add default object type

* deduplicate code

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-08-16 12:55:16 +02:00
Matthias Pfefferle
79f400d88a
Improve User management (#703)
* Use an ActivityPub capability to better enable/disable ActivityPub support

* split PRs

* remove test hook

* do not run migrations for new installs

* fix unit tests

* fix unit tests

* remove abandoned schedule!

* fix migration class

* fix order

* restructuring

* remove follower migration

* do not yet remove legacy followers

* remove blog-user changes

* use a const for the version number

* add user tests and fix old ones

* use a more generic async migrator

* optimized test
2024-03-11 15:19:07 +01:00
Alex Kirk
e560d1b5b6
Enable Mastodon Apps: Implement the account endpoint for an external account (#674)
* Implement the account endpoint for an external account

* phpcs

* typos

* Change namespace calling

* Populate with more data

* phpcs

* some formatting

* some phpdoc

* Potentially extend an existing account

props @pfefferle

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* phpcs

* Switch to using jsonSerialize

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-01-25 15:54:35 +01:00
André Menrath
174262d22c
Add/event objects (#629)
* remove redundant property definitions

* Add redused context for actors.

* Add classes to construct Moblizon compatible events

* Bind the context to the activitypub object
- change the propertyname  which stores the json-ld context from context to _context, because context is already reserved in the ActivityStreams vocabulary.
- cleanup currently unused code

* fix phpcs

* Remove PostalAddress object: it's enough (at least atm) to directly write the array in transformers.

* Remove _context property from ActivityPub objects in favour of getter function get_json_ld_context()

* fix unit tests: ActivityPub Activity objects have a custom getter for the JsonLD context

* fix phpcs

* fix unit-tests to also support php5.6

* fix phpcs

* add param include_json_ld_context to to_array function
This allows to not set the @context in the resulting array.

* propagate the param include_json_ld_context to nested calls of to_array.

* fix phpcs

* Nested AcitivityPub objects: never build context in inner items in to_array function

* fix: param of set_address may also be an array

* fix typo in comment

* always prefix json-ld context with json-ld and move event class to sub-namespace

* fix usage of reserved object keyword
seems it should not be used as a namespace either

* Merge commit 'b2271cda6b857f879e0abd4f3c6683642d725267' into add/event-objects

* Fix calling non-static function as static

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>

* Partly fix Json-LD contexts in collections

* Update includes/activity/class-base-object.php

* this is implicit

We already set the correct user with `$transformer->change_wp_user_id( $user_id );` so the Actor will be generated properly. We can change the behaviour, but we should not use both.

* this change prevents the Activity to re-use Object vars

this should stay as is, because it pre-fills the Activity with data (for example cc and to) and it will no longer be done with your change.

It is on purpose that it first sets the object and then replaces it with the URI.

See: https://github.com/Automattic/wordpress-activitypub/blob/master/includes/activity/class-activity.php#L195

* add `$include_json_ld_context` support to `to_json`

* disable some more contexts

* remove whitespace

* Add php-comment for 7ed17c042a

* Fix JSON-LD context for ActivityPub objects: child classes may override it.

* coding standards

* call folder/namespace `Extended_Object`

 to be consistent with folder names in singular

* fix: unnessesary nesting of extended-objects

* remove license

I hope this is fine, to have the complete plugin under the MIT @Menrath ?!?

---------

Co-authored-by: Matthias Pfefferle <pfefferle@users.noreply.github.com>
2024-01-18 16:35:52 +01:00
Alex Kirk
a5b3af1b3b Move the friends parser to the Friends plugin 2023-01-27 15:48:29 +01:00
Alex Kirk
be369b11e5 Extract HTTP caching into new test base class 2023-01-27 15:48:28 +01:00
Alex Kirk
b3a26788eb Add test for announce 2022-12-02 13:43:09 +01:00
Alex Kirk
a82dea0685 Add unit test 2022-12-02 12:46:42 +01:00
Matthias Pfefferle
74c063b690 update test env 2020-05-14 22:25:29 +02:00
Matthias Pfefferle
122461ab6e escape even more 2020-05-12 20:30:06 +02:00
Matthias Pfefferle
9945aa7cf8 escape global constants and functions
* Add leading \ before function invocation to speed up resolving.
* Add leading \ before constant invocation of internal constant to speed up resolving. Constant name match is case-sensitive, except for null, false and true.
2020-05-12 19:42:09 +02:00
Matthias Pfefferle
85db6f2d7e Automated native_function_invocation fixes
`php php-cs-fixer --rules=native_function_invocation fix ./ --allow-risky=yes`
2019-12-01 21:20:26 +01:00
Matthias Pfefferle
0c93b482da fixed typo 2018-09-24 20:54:59 +02:00
Matthias Pfefferle
c0cb7af9ae basic outbox support 2018-09-24 20:53:23 +02:00