PluginProbe
ActivityPub / 5.9.0
ActivityPub v5.9.0
9.3.1 9.3.0 9.2.2 9.2.1 9.2.0 9.1.0 9.0.2 9.0.1 9.0.0 8.3.0 8.2.1 8.2.0 8.1.1 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.2.0 1.3.0 2.0.0 2.0.1 2.1.0 2.1.1 All 160 releases
activitypub / includes / class-debug.php

class-debug.php in ActivityPub 5.9.0, at includes/class-debug.php

81 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Debug Class.
4 *
5 * @package Activitypub
6 */
7
8 namespace Activitypub;
9
10 /**
11 * ActivityPub Debug Class.
12 *
13 * @author Matthias Pfefferle
14 */
15 class Debug {
16 /**
17 * Initialize the class, registering WordPress hooks.
18 */
19 public static function init() {
20 if ( \WP_DEBUG && \WP_DEBUG_LOG ) {
21 \add_action( 'activitypub_safe_remote_post_response', array( self::class, 'log_remote_post_responses' ), 10, 2 );
22 \add_action( 'activitypub_inbox', array( self::class, 'log_inbox' ), 10, 3 );
23 \add_action( 'activitypub_rest_inbox_disallowed', array( self::class, 'log_inbox' ), 10, 3 );
24
25 \add_action( 'activitypub_sent_to_inbox', array( self::class, 'log_sent_to_inbox' ), 10, 2 );
26 }
27 }
28
29 /**
30 * Log the responses of remote post requests.
31 *
32 * @param array $response The response from the remote server.
33 * @param string $url The URL of the remote server.
34 */
35 public static function log_remote_post_responses( $response, $url ) {
36 // phpcs:ignore WordPress.PHP.DevelopmentFunctions
37 \error_log( "[OUTBOX] Request to: {$url} with Response: " . \print_r( $response, true ) );
38 }
39
40 /**
41 * Log the inbox requests.
42 *
43 * @param array $data The Activity array.
44 * @param int $user_id The ID of the local blog user.
45 * @param string $type The type of the request.
46 */
47 public static function log_inbox( $data, $user_id, $type ) {
48 $type = strtolower( $type );
49
50 if ( 'delete' !== $type ) {
51 $actor = $data['actor'] ?? '';
52 $url = object_to_uri( $actor );
53 // phpcs:ignore WordPress.PHP.DevelopmentFunctions
54 \error_log( "[INBOX] Request From: {$url} with Activity: " . \print_r( $data, true ) );
55 }
56 }
57
58 /**
59 * Logs Follower notifications.
60 *
61 * @param array $result The result of the remote post request.
62 * @param string $inbox The inbox URL.
63 */
64 public static function log_sent_to_inbox( $result, $inbox ) {
65 if ( \is_wp_error( $result ) ) {
66 // phpcs:ignore WordPress.PHP.DevelopmentFunctions
67 \error_log( "[DISPATCHER] Failed Request to: {$inbox} with Result: " . \print_r( $result, true ) );
68 }
69 }
70
71 /**
72 * Write a log entry.
73 *
74 * @param mixed $log The log entry.
75 */
76 public static function write_log( $log ) {
77 // phpcs:ignore WordPress.PHP.DevelopmentFunctions
78 \error_log( \print_r( $log, true ) );
79 }
80 }
81