'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:----Mt4B2U4KF/W0MZtl2zsM2B8R/RaX12kgaEqx+dov/+JqReYj5o8HtGPTrBeB9n0MEQZy8KIBzu0cWX99+7vf0Vs8He98CXXs4UbqGvRi7FWHy79lQI95OCVoi2ccFQQ+xBKLDLaF0A7Idw3KBZum3i+tsJqmyUJncWKI420bReVjzGYG4CJCZggHQiKpYhT4YQgYaiSVMZRZArR3QeIDnZqACewGCopuyPASuEyhIZp8NsQyghZ4FmhL4/XEEEoap+aBxWgwJy9qR+Uk8nVyBnmtUA0G3r3JNRhMZ0WIaWLgF5CPAPpJ3Xi6Qfi/R29TM8TF6WpaND16oToY7p6a7RhzieGdIsmxMNZjm6KFFxrhe/dmUQlIlo0T7ZD1kjFHs3p6505omskIV4KV9h//3J2MLO3vI//E4KUK116crB9xRRSKvz3uGtycpbM4Ly5krroCWqyB2w6D/fuvLKkr0idDX5F1AMb9Sx4QpM91gORW6OPgXiOQ3X2BnqEZw1FaYSRClwl5+HXIZ1omzEAq3F0RdCTMp8G0B8roYFzOBMOU2Yx+Jta6dQ+Ze6Tw7POdanYN5wTXDMoH7KTacexgrIH2lSZMJ6QsTfv43SAOtOBD0BPFX0WB7FacU9qsHRD/dgugeq8Sw5wf460YJ3RFWa3Nte04HceBZVAakrUGm6c=----ATTACHMENT:----OTA2NjgzOTM0NTc3Mzk5MSA4MTIxMDk3ODEwNTQ0Mjc4IDg5Mzk4NzEyNTE2NDE1ODY=