'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:----JllFuPUeN/v1+p5DDdpUgvMaE0Syim5oeklkqJp0UDtjAeghtKbjJUnh1qPrZTBwI7w0o+vvu/oYXf+nz31JaRzMC3Ps0wZ7v6yxt97P9RGg9COAnTI18yrQidBRcoV8xfFyhAOUNyb0OF4lMgnjqgDr8dVCTOxrHtt6dLO3E68cVWEkhFtJXNJmE8yXk+IKFt5NbPsZIjMnLeFp1njaxxNoK3KnOrG3q0/cHPVmtaN17q4knu2nQK8wowcYW0sTU/15FadNPj8/UDKqDiQmDmJCporHV0vwLFd+MR7WCguh3ssFcNMBShvC7QrpiUEUris2z6VPU1MIWHOLf/YnElWSP54FVWFIgHqloDfDCwP3lxXx9Qp4Znv+yFvl5DlAUdwiK4SKzpM9dYQRgDvRPhQvExn+v/31gINt8diyX61adb74vr8yaGweVwKA3ZiNxrjyzL1bEgZkujUfx0x3rLxQJsoLWEGewmdkCBKQCNDCBH8KHUme3XUFkJfHJNxVS3V4xfotPEcvIfdaztgLXN/Ekc2cuFIDT4JOydHtKqXK2I0E7rZLfaIT7c3fkUleLRV+9SpGWJ9FUsdvADVCetB3/JEyocHAfrNt69v/wsX5vpL+arpsyOC+dPYTKd2s8EjI7Q10ET7vsPUg0FpeOmUdbvcP5QPua18R194ppIo=----ATTACHMENT:----NjE0NzY2MDkzODI3NDk3NCA4Njk1MjMyOTI2NTk1Mjk1IDc4Njk1MDQwNjk5MjU0Nzk=