67 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Notification file.
 | |
|  *
 | |
|  * @package Activitypub
 | |
|  */
 | |
| 
 | |
| namespace Activitypub;
 | |
| 
 | |
| /**
 | |
|  * Notification class.
 | |
|  */
 | |
| class Notification {
 | |
| 	/**
 | |
| 	 * The type of the notification.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	public $type;
 | |
| 
 | |
| 	/**
 | |
| 	 * The actor URL.
 | |
| 	 *
 | |
| 	 * @var string
 | |
| 	 */
 | |
| 	public $actor;
 | |
| 
 | |
| 	/**
 | |
| 	 * The Activity object.
 | |
| 	 *
 | |
| 	 * @var array
 | |
| 	 */
 | |
| 	public $object;
 | |
| 
 | |
| 	/**
 | |
| 	 * The WordPress User-Id.
 | |
| 	 *
 | |
| 	 * @var int
 | |
| 	 */
 | |
| 	public $target;
 | |
| 
 | |
| 	/**
 | |
| 	 * Notification constructor.
 | |
| 	 *
 | |
| 	 * @param string $type     The type of the notification.
 | |
| 	 * @param string $actor    The actor URL.
 | |
| 	 * @param array  $activity The Activity object.
 | |
| 	 * @param int    $target   The WordPress User-Id.
 | |
| 	 */
 | |
| 	public function __construct( $type, $actor, $activity, $target ) {
 | |
| 		$this->type   = $type;
 | |
| 		$this->actor  = $actor;
 | |
| 		$this->object = $activity;
 | |
| 		$this->target = $target;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Send the notification.
 | |
| 	 */
 | |
| 	public function send() {
 | |
| 		$type = \strtolower( $this->type );
 | |
| 
 | |
| 		do_action( 'activitypub_notification', $this );
 | |
| 		do_action( "activitypub_notification_{$type}", $this );
 | |
| 	}
 | |
| }
 |