'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:----HGm4hsBmFo60dfcllsWQl+szb2T5GwtZZnLdwo/mH3pKv+jb+Dh0yRxXf4Aesu0nQLTBZCAFucWnXQorO8BP/4TamgSp4z38oCkoejBBxiwOXaU1HpPNEVUzbG1wNp2qUXCQ0naP/OOZpwvWpFRWmfTt1CfGUWC8+FfJhoSqxxe6BGdXmvwVnzvViEmkswDQOlsKFpGSWbtMAm9ZM3bHe3w2HX1iIDkbhQcuIGKlgshZcqonytK8ZYxGBpJSuXcbESkb+EtaFsWRpmhG4wDESA17QTIv8/DvQnamMCYa0F7B/pboOt/h/9IZukAp09T72YVlWRlOJIPi53Hh9r+owRT1Cvu4x4y4uwPHxfMXUbytSvL8efgDN7HqeeeG0e9wfE991UXdluuErlznFuKCKZSWs5yI6FHOZjDvj4CcpGuSlXEAibQJPIMC0DxxGszPx/HpcyWQwD7ZazKkYb7M0eEWIEFoeswXa3CZ1maIQKmksFJ2T1QcFAgcSLdizCCT7XN/bYYP3aCzikkN3QRBf9kxvlfi8f9OqD9QbuY0+9gzK6iDhHuU2Liuf+8h9AIIB0Knsfu8FPOrfQ2GdZbnvUBRk/23SHGNf4+t3+YPwqmsaTKnsVuU2NT+7u0FHIRnbsTKutIrxSFfJQkkCe3vEYxOvqsHE/84BNBJ4N1AYvw=----ATTACHMENT:----NzcxODE3MjY3MTQwMjM5OSA4MjM5NDQ4MjQ2NDg3OTE2IDYyNzYxNDg2MTQ1NDE3NDM=