Пример #1
0
 public function serialize(ShortcodeInterface $shortcode)
 {
     $open = $this->syntax->getOpeningTag();
     $close = $this->syntax->getClosingTag();
     $marker = $this->syntax->getClosingTagMarker();
     $parameters = $this->serializeParameters($shortcode->getParameters());
     $return = $open . $shortcode->getName() . $parameters;
     return null === $shortcode->getContent() ? $return . ($shortcode instanceof ParsedShortcodeInterface && $shortcode->getMarkerOffset() ? ' ' . $marker : '') . $close : $return . $close . $shortcode->getContent() . $open . $marker . $shortcode->getName() . $close;
 }
 public function serialize(ShortcodeInterface $shortcode)
 {
     $open = $this->syntax->getOpeningTag();
     $close = $this->syntax->getClosingTag();
     $marker = $this->syntax->getClosingTagMarker();
     $parameters = $this->serializeParameters($shortcode->getParameters());
     $bbCode = null !== $shortcode->getBbCode() ? $this->serializeValue($shortcode->getBbCode()) : '';
     $return = $open . $shortcode->getName() . $bbCode . $parameters;
     return null === $shortcode->getContent() ? $return . ' ' . $marker . $close : $return . $close . $shortcode->getContent() . $open . $marker . $shortcode->getName() . $close;
 }
 /**
  * @dataProvider provideUnserialized
  */
 public function testUnserialize(SerializerInterface $serializer, ShortcodeInterface $test, $text)
 {
     $tested = $serializer->unserialize($text);
     $this->assertSame($test->getName(), $tested->getName(), 'name: ' . $text);
     $this->assertSame($test->getParameters(), $tested->getParameters(), 'parameters: ' . $text);
     $this->assertSame($test->getContent(), $tested->getContent(), 'content: ' . $text);
     $this->assertSame($test->getBbCode(), $tested->getBbCode(), 'bbCode: ' . $text);
 }
 /**
  * <shortcode name="NAME">
  *   <bbCode>BBCODE</bbCode>
  *   <parameters>
  *     <parameter name="KEY">VALUE</parameter>
  *     <parameter name="KEY">VALUE</parameter>
  *   </parameters>
  *   <content>CONTENT></content>
  * </shortcode>
  *
  * @param ShortcodeInterface $shortcode
  *
  * @return string
  */
 public function serialize(ShortcodeInterface $shortcode)
 {
     $doc = new \DOMDocument('1.0', 'UTF-8');
     $doc->preserveWhiteSpace = false;
     $doc->formatOutput = true;
     $code = $doc->createElement('shortcode');
     $code->setAttribute('name', $shortcode->getName());
     $xml = $doc->appendChild($code);
     $xml->appendChild($this->createCDataNode($doc, 'bbCode', $shortcode->getBbCode()));
     $parameters = $xml->appendChild($doc->createElement('parameters'));
     foreach ($shortcode->getParameters() as $key => $value) {
         $parameter = $doc->createElement('parameter');
         $parameter->setAttribute('name', $key);
         if (null !== $value) {
             $parameter->appendChild($doc->createCDATASection($value));
         }
         $parameters->appendChild($parameter);
     }
     $xml->appendChild($this->createCDataNode($doc, 'content', $shortcode->getContent()));
     return $doc->saveXML();
 }
 /**
  * [name /]
  * [name]content is ignored[/name]
  *
  * @param ShortcodeInterface $shortcode
  *
  * @return string
  */
 public function __invoke(ShortcodeInterface $shortcode)
 {
     return $shortcode->getName();
 }
Пример #6
0
 public function serialize(ShortcodeInterface $shortcode)
 {
     return json_encode(array('name' => $shortcode->getName(), 'parameters' => $shortcode->getParameters(), 'content' => $shortcode->getContent()));
 }
 public function serialize(ShortcodeInterface $shortcode)
 {
     return Yaml::dump(array('name' => $shortcode->getName(), 'parameters' => $shortcode->getParameters(), 'content' => $shortcode->getContent(), 'bbCode' => $shortcode->getBbCode()));
 }