ヤミRoot VoidGate
User / IP
:
216.73.216.143
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
logercm
/
dev.loger.cm
/
vendor
/
laminas
/
laminas-code
/
src
/
Annotation
/
Viewing: AnnotationManager.php
<?php /** * @see https://github.com/laminas/laminas-code for the canonical source repository * @copyright https://github.com/laminas/laminas-code/blob/master/COPYRIGHT.md * @license https://github.com/laminas/laminas-code/blob/master/LICENSE.md New BSD License */ namespace Laminas\Code\Annotation; use Laminas\Code\Annotation\Parser\ParserInterface; use Laminas\EventManager\Event; use Laminas\EventManager\EventManager; use Laminas\EventManager\EventManagerAwareInterface; use Laminas\EventManager\EventManagerInterface; use function get_class; use function is_object; /** * Pluggable annotation manager * * Simply composes an EventManager. When createAnnotation() is called, it fires * off an event of the same name, passing it the resolved annotation class, the * annotation content, and the raw annotation string; the first listener to * return an object will halt execution of the event, and that object will be * returned as the annotation. */ class AnnotationManager implements EventManagerAwareInterface { const EVENT_CREATE_ANNOTATION = 'createAnnotation'; /** * @var EventManagerInterface */ protected $events; /** * Set the event manager instance * * @param EventManagerInterface $events * @return AnnotationManager */ public function setEventManager(EventManagerInterface $events) { $events->setIdentifiers([ __CLASS__, get_class($this), ]); $this->events = $events; return $this; } /** * Retrieve event manager * * Lazy loads an instance if none registered. * * @return EventManagerInterface */ public function getEventManager() { if (null === $this->events) { $this->setEventManager(new EventManager()); } return $this->events; } /** * Attach a parser to listen to the createAnnotation event * * @param ParserInterface $parser * @return AnnotationManager */ public function attach(ParserInterface $parser) { $this->getEventManager() ->attach(self::EVENT_CREATE_ANNOTATION, [$parser, 'onCreateAnnotation']); return $this; } /** * Create Annotation * * @param string[] $annotationData * @return false|\stdClass */ public function createAnnotation(array $annotationData) { $event = new Event(); $event->setName(self::EVENT_CREATE_ANNOTATION); $event->setTarget($this); $event->setParams([ 'class' => $annotationData[0], 'content' => $annotationData[1], 'raw' => $annotationData[2], ]); $eventManager = $this->getEventManager(); $results = $eventManager->triggerEventUntil(function ($r) { return is_object($r); }, $event); $annotation = $results->last(); return is_object($annotation) ? $annotation : false; } }
Coded With 💗 by
0x6ick