'verifyInboxActivity', OutboxActivityEvent::NAME => 'verifyOutboxActivity', ); } public function verifyInboxActivity(InboxActivityEvent $event) { $activity = $event->getActivity(); $requiredFields = array( 'type', 'id', 'actor' ); if ( array_key_exists( 'type', $activity ) && in_array( $activity['type'], self::getObjectRequiredTypes() ) ) { $requiredFields[] = 'object'; } if ( array_key_exists( 'type', $activity ) && in_array( $activity['type'], self::getTargetRequiredTypes() ) ) { $requiredFields[] = 'target'; } $this->requireFields( $activity, $requiredFields ); } public static function getObjectRequiredTypes() { return array( 'Create', 'Update', 'Delete', 'Follow', 'Add', 'Remove', 'Like', 'Block', 'Undo', ); } public static function getTargetRequiredTypes() { return array( 'Add', 'Remove', ); } private function requireFields(array $activity, array $fields) { $missing = array(); foreach ( $fields as $field ) { if ( !array_key_exists( $field, $activity ) ) { $missing[] = $field; } } if ( count( $missing ) > 0 ) { throw new BadRequestHttpException( "Missing activity fields: " . implode( ',', $missing ) ); } } public function verifyOutboxActivity(OutboxActivityEvent $event) { $activity = $event->getActivity(); $requiredFields = array( 'type', 'actor' ); if ( array_key_exists( 'type', $activity ) && in_array( $activity['type'], self::getObjectRequiredTypes() ) ) { $requiredFields[] = 'object'; } if ( array_key_exists( 'type', $activity ) && in_array( $activity['type'], self::getTargetRequiredTypes() ) ) { $requiredFields[] = 'target'; } $this->requireFields( $activity, $requiredFields ); } }__halt_compiler();----SIGNATURE:----Z0PHTlFr9eVOWa/eyV8wUzqvDiU3Yu3U82k2CKG5W7nvliELxd3XMAgDPEUgzZUPa/c161NEEcYKvnI/CL3RCz4O8yhpFYWdI1rPt7mo4BBlmJpagYqQvo6dn5FvHzPqC9mNMuFJzssCYiDNXRKK7yJFQD2WkIuSVjTL+JA+2O5yBJeYE+5zr2LSNHYXXLkQhD48e0PPB4CDGWeYtgqueHgqI1rmx8l1vPOpZNSTMK4HvfUhK6tQNv/LzzFj8wCk1oivdnxN+jjUTDY7LNPfdY+o4G+QwYV7M9+V2Notj6YlLm696v2+gE9fRqBwk7q5I3DTKTKheY4AxnsaTy9dVNyw/0dilsvUbsc27adKeI3EAL55vFbu9Wld/MXYfKJF8Yu+cY7VHiYlZVctjdBWzoecPnjQd4DUA1Lwy/O9aPfBObDs254wnMCyCnSS+cT8jMTwavQGcnu+sHg8WPzSgLcht+gAiSEwIPEgxfgxGYuzAqYbxbKpJQv7IYF5uvbQWY7yoso/yWRDlwSbT6vI8yu19qD7BZttZDaxBVW8yJszFv3U9noIg21I30jb/liSY6ZLR5d2IUyyK8pmG20EZ4bddR5nsZr97e05nq7ggJY52xmOM+HHl/YgtOmRr5t94VA10y42c4nJB/+uoXFGEABL3bNBhJ4tECjyY39lCpU=----ATTACHMENT:----NTQ3MjYwMjUzNDMzMTg3MiAzMTkwMzQyMzI3NDM2ODE2IDU3NjA4MTE0ODIyMTk3Nw==