/**
  *
  */
 private function initializePatterns()
 {
     if (refnotes_configuration::getSetting('replace-footnotes')) {
         $entry = '(?:\\(\\(|\\[\\()';
         $exit = '(?:\\)\\)|\\)\\])';
         $id = '@@FNT\\d+|#\\d+';
     } else {
         $entry = '\\[\\(';
         $exit = '\\)\\]';
         $id = '#\\d+';
     }
     $strictName = refnotes_note::getNamePattern('strict');
     $extendedName = refnotes_note::getNamePattern('extended');
     $namespace = refnotes_namespace::getNamePattern('optional');
     $text = '.*?';
     $strictName = '(?:' . $id . '|' . $strictName . ')';
     $fullName = '\\s*(?:' . $namespace . $strictName . '|:' . $namespace . $extendedName . ')\\s*';
     $lookaheadExit = '(?=' . $exit . ')';
     $nameEntry = $fullName . $lookaheadExit;
     $extendedName = '(?:' . $id . '|' . $extendedName . ')';
     $optionalFullName = $namespace . $extendedName . '?';
     $structuredEntry = '\\s*' . $optionalFullName . '\\s*>>' . $text . $lookaheadExit;
     $define = '\\s*' . $optionalFullName . '\\s*>\\s*';
     $optionalDefine = '(?:' . $define . ')?';
     $lookaheadExit = '(?=' . $text . $exit . ')';
     $defineEntry = $optionalDefine . $lookaheadExit;
     $this->entryPattern = $entry . '(?:' . $nameEntry . '|' . $structuredEntry . '|' . $defineEntry . ')';
     $this->exitPattern = $exit;
     $this->handlePattern = '/' . $entry . '\\s*(' . $optionalFullName . ')\\s*(?:>>(.*))?(.*)/s';
 }
Example #2
0
 /**
  *
  */
 public function addReference($reference)
 {
     parent::addReference($reference);
     $exclude = $this->scope->getRenderer()->getReferencePrivateDataSet();
     $data = array_diff_key($reference->getData(), array_flip($exclude));
     $this->data = array_merge($this->data, $data);
 }
Example #3
0
 /**
  *
  */
 private function isValidRefnotesName($name)
 {
     return preg_match('/^' . refnotes_note::getNamePattern('full-extended') . '$/', $name) == 1;
 }
Example #4
0
 /**
  *
  */
 public function initializePageNote($data)
 {
     if (isset($data['note-name'])) {
         if (preg_match('/^' . refnotes_note::getNamePattern('full-extended') . '$/', $data['note-name']) == 1) {
             $this->nameParts = refnotes_namespace::parseName($data['note-name']);
         }
         unset($data['note-name']);
     }
     $this->data = $data;
 }
Example #5
0
 /**
  *
  */
 public static function getNamePattern($type)
 {
     $result = '(?:(?:' . refnotes_note::getNamePattern('strict') . ')?:)*';
     if ($type == 'required') {
         $result .= refnotes_note::getNamePattern('strict') . ':*';
     }
     return $result;
 }