Esempio n. 1
0
 private function givenIHaveRegisteredAListener_For($listener, $event)
 {
     $this->caught->set($listener, new Liste());
     $caught = $this->caught;
     $this->dispatcher->addListener($event, function ($event) use($caught, $listener) {
         /** @var $caught Map */
         /** @var $list Liste */
         $list = $caught->get($listener);
         $list->append($event);
     });
 }
Esempio n. 2
0
 protected function determineHeaders($server)
 {
     $headers = new Map();
     foreach (self::$headerKeys as $headerKey => $serverKey) {
         if (array_key_exists($serverKey, $server)) {
             $headers->set($headerKey, $server[$serverKey]);
         }
     }
     return $headers;
 }
Esempio n. 3
0
 private function getHeaders()
 {
     $headers = new Map();
     foreach (self::$headers as $header) {
         if ($this->environment->getHeaders()->has($header)) {
             $headers->set($header, $this->environment->getHeaders()->get($header));
         }
     }
     return $headers;
 }
Esempio n. 4
0
 private function accumulate(Map $acc, BaseProperty $property)
 {
     if (!$acc->has($property->name())) {
         $acc->set($property->name(), $property);
     } else {
         $multi = $acc->get($property->name());
         if (!$multi instanceof property\MultiProperty) {
             $multi = new property\MultiProperty($this->factory, $property);
             $multi->add($acc->get($property->name()));
             $acc->set($property->name(), $multi);
         }
         $multi->add($property);
     }
 }
Esempio n. 5
0
 protected function wrapUrl(Element $element, $target)
 {
     $target = Url::fromString($target);
     $box = $this->name;
     if ($element->getAttribute('target')) {
         $box = $element->getAttribute('target')->getValue();
         if (substr($box, 0, 7) == '_parent') {
             $remaining = substr($element->getAttribute('target')->getValue(), strlen('_parent'));
             $element->setAttribute('target', $remaining);
             if (!$remaining) {
                 $element->getAttributes()->removeElement($element->getAttribute('target'));
             }
             return $target;
         } else {
             if (substr($box, 0, 1) == '_') {
                 return $target;
             }
         }
         $element->getAttributes()->removeElement($element->getAttribute('target'));
     }
     $wrapped = Url::fromString('');
     $wrapped->setFragment($target->getFragment());
     $params = new Map();
     if ($box === $this->exception) {
         $wrapped->setPath($target->getPath());
         if ($wrapped->getPath()->isEmpty()) {
             $wrapped->setPath($this->path);
         }
         foreach ($target->getParameters() as $key => $value) {
             if (substr($key, 0, strlen(self::$PREFIX)) == self::$PREFIX) {
                 $params->set($key, $value);
             } else {
                 $wrapped->getParameters()->set($key, $value);
             }
         }
     } else {
         if ($target->getPath()->toString()) {
             $params->set(Box::$TARGET_KEY, $target->getPath()->toString());
         }
         $params->merge($target->getParameters());
     }
     foreach ($this->state as $name => $state) {
         if ($name !== self::$PREFIX . $box) {
             $wrapped->getParameters()->set($name, $state);
         }
     }
     if ($box !== $this->exception) {
         $wrapped->getParameters()->set(self::$PREFIX . $box, $params);
         $wrapped->getParameters()->set(Box::$PRIMARY_TARGET_KEY, $box);
     } else {
         if ($wrapped->getParameters()->has(Box::$PRIMARY_TARGET_KEY)) {
             if (!$params->isEmpty()) {
                 $wrapped->getParameters()->set(self::$PREFIX . $box, $params);
             }
             if ($wrapped->getParameters()->has(Box::$PRIMARY_TARGET_KEY)) {
                 $wrapped->getParameters()->remove(Box::$PRIMARY_TARGET_KEY);
             }
             if ($wrapped->getParameters()->has(Box::$TARGET_KEY)) {
                 $wrapped->getParameters()->remove(Box::$TARGET_KEY);
             }
         }
     }
     return $wrapped;
 }
Esempio n. 6
0
 /**
  * @param Set $keys
  * @return Map with only the given keys
  */
 public function select(Set $keys)
 {
     $selection = new Map();
     foreach ($keys as $key) {
         if ($this->has($key)) {
             $selection->set($key, $this->get($key));
         }
     }
     return $selection;
 }
Esempio n. 7
0
File: Url.php Progetto: watoki/curir
 private function set(Map $map, $key, $value)
 {
     $cabBeCasted = !is_object($value) || method_exists($value, '__toString');
     if ($cabBeCasted && strlen((string) $value) <= self::MAX_PARAM_LENGTH) {
         $map->set($key, $value);
     }
 }