Warning: Cannot modify header information - headers already sent by (output started at /var/www/jonas-eriksen.dk/pic/private/index.php:1) in /var/www/jonas-eriksen.dk/pic/private/index.php on line 215
PK!ۉExternallink.phpnu[patterns)) return; $ltrs = '\w'; $gunk = '/\#~:.?+=&%@!\-\[\]'; $punc = '.:?\-;,'; $host = $ltrs.$punc; $any = $ltrs.$gunk.$punc; $this->schemes = getSchemes(); foreach ($this->schemes as $scheme) { $this->patterns[] = '\b(?i)'.$scheme.'(?-i)://['.$any.']+?(?=['.$punc.']*[^'.$any.'])'; } $this->patterns[] = '(?<=\s)(?i)www?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])'; $this->patterns[] = '(?<=\s)(?i)ftp?(?-i)\.['.$host.']+?\.['.$host.']+?['.$any.']+?(?=['.$punc.']*[^'.$any.'])'; } /** @inheritdoc */ public function connectTo($mode) { foreach ($this->patterns as $pattern) { $this->Lexer->addSpecialPattern($pattern, $mode, 'externallink'); } } /** @inheritdoc */ public function getSort() { return 330; } } PK!w Footnote.phpnu[allowedModes = array_merge( $PARSER_MODES['container'], $PARSER_MODES['formatting'], $PARSER_MODES['substition'], $PARSER_MODES['protected'], $PARSER_MODES['disabled'] ); unset($this->allowedModes[array_search('footnote', $this->allowedModes)]); } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addEntryPattern( '\x28\x28(?=.*\x29\x29)', $mode, 'footnote' ); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern( '\x29\x29', 'footnote' ); } /** @inheritdoc */ public function getSort() { return 150; } } PK!Ε?44 Quote.phpnu[allowedModes = array_merge( $PARSER_MODES['formatting'], $PARSER_MODES['substition'], $PARSER_MODES['disabled'], $PARSER_MODES['protected'] ); } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addEntryPattern('\n>{1,}', $mode, 'quote'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addPattern('\n>{1,}', 'quote'); $this->Lexer->addExitPattern('\n', 'quote'); } /** @inheritdoc */ public function getSort() { return 220; } } PK!XCamelcaselink.phpnu[Lexer->addSpecialPattern( '\b[A-Z]+[a-z]+[A-Z][A-Za-z]*\b', $mode, 'camelcaselink' ); } /** @inheritdoc */ public function getSort() { return 290; } } PK!+vm Smiley.phpnu[smileys = $smileys; } /** @inheritdoc */ public function preConnect() { if (!count($this->smileys) || $this->pattern != '') return; $sep = ''; foreach ($this->smileys as $smiley) { $this->pattern .= $sep.'(?<=\W|^)'. Lexer::escape($smiley).'(?=\W|$)'; $sep = '|'; } } /** @inheritdoc */ public function connectTo($mode) { if (!count($this->smileys)) return; if (strlen($this->pattern) > 0) { $this->Lexer->addSpecialPattern($this->pattern, $mode, 'smiley'); } } /** @inheritdoc */ public function getSort() { return 230; } } PK!`ntllBase.phpnu[allowedModes = array_merge( $PARSER_MODES['container'], $PARSER_MODES['baseonly'], $PARSER_MODES['paragraphs'], $PARSER_MODES['formatting'], $PARSER_MODES['substition'], $PARSER_MODES['protected'], $PARSER_MODES['disabled'] ); } /** @inheritdoc */ public function getSort() { return 0; } } PK!>> Nocache.phpnu[Lexer->addSpecialPattern('~~NOCACHE~~', $mode, 'nocache'); } /** @inheritdoc */ public function getSort() { return 40; } } PK! Z]]AbstractMode.phpnu[ */ abstract class AbstractMode implements ModeInterface { /** @var \dokuwiki\Parsing\Lexer\Lexer $Lexer will be injected on loading FIXME this should be done by setter */ public $Lexer; protected $allowedModes = array(); /** @inheritdoc */ abstract public function getSort(); /** @inheritdoc */ public function preConnect() { } /** @inheritdoc */ public function connectTo($mode) { } /** @inheritdoc */ public function postConnect() { } /** @inheritdoc */ public function accepts($mode) { return in_array($mode, (array) $this->allowedModes); } } PK!*!Ejj Media.phpnu[Lexer->addSpecialPattern("\{\{(?:[^\}]|(?:\}[^\}]))+\}\}", $mode, 'media'); } /** @inheritdoc */ public function getSort() { return 320; } } PK!zSCode.phpnu[Lexer->addEntryPattern(')', $mode, 'code'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('', 'code'); } /** @inheritdoc */ public function getSort() { return 200; } } PK!'^ Plugin.phpnu[Lexer->addSpecialPattern('~~NOTOC~~', $mode, 'notoc'); } /** @inheritdoc */ public function getSort() { return 30; } } PK!(+7l Emaillink.phpnu[Lexer->addSpecialPattern('<'.PREG_PATTERN_VALID_EMAIL.'>', $mode, 'emaillink'); } /** @inheritdoc */ public function getSort() { return 340; } } PK!|%>>Eol.phpnu[Lexer->addSpecialPattern('(?:^[ \t]*)?\n', $mode, 'eol'); } /** @inheritdoc */ public function getSort() { return 370; } } PK!Dj Header.phpnu[Lexer->addSpecialPattern( '[ \t]*={2,}[^\n]+={2,}[ \t]*(?=\n)', $mode, 'header' ); } /** @inheritdoc */ public function getSort() { return 50; } } PK!5+ + Formatting.phpnu[ array( 'entry' => '\*\*(?=.*\*\*)', 'exit' => '\*\*', 'sort' => 70 ), 'emphasis' => array( 'entry' => '//(?=[^\x00]*[^:])', //hack for bugs #384 #763 #1468 'exit' => '//', 'sort' => 80 ), 'underline' => array( 'entry' => '__(?=.*__)', 'exit' => '__', 'sort' => 90 ), 'monospace' => array( 'entry' => '\x27\x27(?=.*\x27\x27)', 'exit' => '\x27\x27', 'sort' => 100 ), 'subscript' => array( 'entry' => '(?=.*)', 'exit' => '', 'sort' => 110 ), 'superscript' => array( 'entry' => '(?=.*)', 'exit' => '', 'sort' => 120 ), 'deleted' => array( 'entry' => '(?=.*)', 'exit' => '', 'sort' => 130 ), ); /** * @param string $type */ public function __construct($type) { global $PARSER_MODES; if (!array_key_exists($type, $this->formatting)) { trigger_error('Invalid formatting type ' . $type, E_USER_WARNING); } $this->type = $type; // formatting may contain other formatting but not it self $modes = $PARSER_MODES['formatting']; $key = array_search($type, $modes); if (is_int($key)) { unset($modes[$key]); } $this->allowedModes = array_merge( $modes, $PARSER_MODES['substition'], $PARSER_MODES['disabled'] ); } /** @inheritdoc */ public function connectTo($mode) { // Can't nest formatting in itself if ($mode == $this->type) { return; } $this->Lexer->addEntryPattern( $this->formatting[$this->type]['entry'], $mode, $this->type ); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern( $this->formatting[$this->type]['exit'], $this->type ); } /** @inheritdoc */ public function getSort() { return $this->formatting[$this->type]['sort']; } } PK!JFile.phpnu[Lexer->addEntryPattern(')', $mode, 'file'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('', 'file'); } /** @inheritdoc */ public function getSort() { return 210; } } PK!  Acronym.phpnu[acronyms = $acronyms; } /** @inheritdoc */ public function preConnect() { if (!count($this->acronyms)) return; $bound = '[\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]'; $acronyms = array_map(['\\dokuwiki\\Parsing\\Lexer\\Lexer', 'escape'], $this->acronyms); $this->pattern = '(?<=^|'.$bound.')(?:'.join('|', $acronyms).')(?='.$bound.')'; } /** @inheritdoc */ public function connectTo($mode) { if (!count($this->acronyms)) return; if (strlen($this->pattern) > 0) { $this->Lexer->addSpecialPattern($this->pattern, $mode, 'acronym'); } } /** @inheritdoc */ public function getSort() { return 240; } /** * sort callback to order by string length descending * * @param string $a * @param string $b * * @return int */ protected function compare($a, $b) { $a_len = strlen($a); $b_len = strlen($b); if ($a_len > $b_len) { return -1; } elseif ($a_len < $b_len) { return 1; } return 0; } } PK!4J%66ModeInterface.phpnu[Lexer->addEntryPattern('(?=.*)', $mode, 'unformatted'); $this->Lexer->addEntryPattern('%%(?=.*%%)', $mode, 'unformattedalt'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('', 'unformatted'); $this->Lexer->addExitPattern('%%', 'unformattedalt'); $this->Lexer->mapHandler('unformattedalt', 'unformatted'); } /** @inheritdoc */ public function getSort() { return 170; } } PK!)kkInternallink.phpnu[Lexer->addSpecialPattern("\[\[.*?\]\](?!\])", $mode, 'internallink'); } /** @inheritdoc */ public function getSort() { return 300; } } PK!!ߊ Table.phpnu[allowedModes = array_merge( $PARSER_MODES['formatting'], $PARSER_MODES['substition'], $PARSER_MODES['disabled'], $PARSER_MODES['protected'] ); } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addEntryPattern('[\t ]*\n\^', $mode, 'table'); $this->Lexer->addEntryPattern('[\t ]*\n\|', $mode, 'table'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addPattern('\n\^', 'table'); $this->Lexer->addPattern('\n\|', 'table'); $this->Lexer->addPattern('[\t ]*:::[\t ]*(?=[\|\^])', 'table'); $this->Lexer->addPattern('[\t ]+', 'table'); $this->Lexer->addPattern('\^', 'table'); $this->Lexer->addPattern('\|', 'table'); $this->Lexer->addExitPattern('\n', 'table'); } /** @inheritdoc */ public function getSort() { return 60; } } PK!5.CCPhp.phpnu[Lexer->addEntryPattern('(?=.*)', $mode, 'php'); $this->Lexer->addEntryPattern('(?=.*)', $mode, 'phpblock'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('', 'php'); $this->Lexer->addExitPattern('', 'phpblock'); } /** @inheritdoc */ public function getSort() { return 180; } } PK!cyWindowssharelink.phpnu[pattern = "\\\\\\\\\w+?(?:\\\\[\w\-$]+)+"; } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addSpecialPattern( $this->pattern, $mode, 'windowssharelink' ); } /** @inheritdoc */ public function getSort() { return 350; } } PK!OO Linebreak.phpnu[Lexer->addSpecialPattern('\x5C{2}(?:[ \t]|(?=\n))', $mode, 'linebreak'); } /** @inheritdoc */ public function getSort() { return 140; } } PK!:s Listblock.phpnu[allowedModes = array_merge( $PARSER_MODES['formatting'], $PARSER_MODES['substition'], $PARSER_MODES['disabled'], $PARSER_MODES['protected'] ); } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addEntryPattern('[ \t]*\n {2,}[\-\*]', $mode, 'listblock'); $this->Lexer->addEntryPattern('[ \t]*\n\t{1,}[\-\*]', $mode, 'listblock'); $this->Lexer->addPattern('\n {2,}[\-\*]', 'listblock'); $this->Lexer->addPattern('\n\t{1,}[\-\*]', 'listblock'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('\n', 'listblock'); } /** @inheritdoc */ public function getSort() { return 10; } } PK!v_/ Filelink.phpnu[pattern = '\b(?i)file(?-i)://['.$any.']+?['. $punc.']*[^'.$any.']'; } /** @inheritdoc */ public function connectTo($mode) { $this->Lexer->addSpecialPattern( $this->pattern, $mode, 'filelink' ); } /** @inheritdoc */ public function getSort() { return 360; } } PK!R[CCHr.phpnu[Lexer->addSpecialPattern('\n[ \t]*-{4,}[ \t]*(?=\n)', $mode, 'hr'); } /** @inheritdoc */ public function getSort() { return 160; } } PK!h>>Rss.phpnu[Lexer->addSpecialPattern("\{\{rss>[^\}]+\}\}", $mode, 'rss'); } /** @inheritdoc */ public function getSort() { return 310; } } PK! ^ Quotes.phpnu[<"\''; // whitespace $punc = ';,\.?!'; if ($conf['typography'] == 2) { $this->Lexer->addSpecialPattern( "(?<=^|[$ws])'(?=[^$ws$punc])", $mode, 'singlequoteopening' ); $this->Lexer->addSpecialPattern( "(?<=^|[^$ws]|[$punc])'(?=$|[$ws$punc])", $mode, 'singlequoteclosing' ); $this->Lexer->addSpecialPattern( "(?<=^|[^$ws$punc])'(?=$|[^$ws$punc])", $mode, 'apostrophe' ); } $this->Lexer->addSpecialPattern( "(?<=^|[$ws])\"(?=[^$ws$punc])", $mode, 'doublequoteopening' ); $this->Lexer->addSpecialPattern( "\"", $mode, 'doublequoteclosing' ); } /** @inheritdoc */ public function getSort() { return 280; } } PK!&DZMultiplyentity.phpnu[Lexer->addSpecialPattern( '(?<=\b)(?:[1-9]|\d{2,})[xX]\d+(?=\b)', $mode, 'multiplyentity' ); } /** @inheritdoc */ public function getSort() { return 270; } } PK!{S Entity.phpnu[entities = $entities; } /** @inheritdoc */ public function preConnect() { if (!count($this->entities) || $this->pattern != '') return; $sep = ''; foreach ($this->entities as $entity) { $this->pattern .= $sep. Lexer::escape($entity); $sep = '|'; } } /** @inheritdoc */ public function connectTo($mode) { if (!count($this->entities)) return; if (strlen($this->pattern) > 0) { $this->Lexer->addSpecialPattern($this->pattern, $mode, 'entity'); } } /** @inheritdoc */ public function getSort() { return 260; } } PK!jίPreformatted.phpnu[Lexer->addEntryPattern('\n (?![\*\-])', $mode, 'preformatted'); $this->Lexer->addEntryPattern('\n\t(?![\*\-])', $mode, 'preformatted'); // How to effect a sub pattern with the Lexer! $this->Lexer->addPattern('\n ', 'preformatted'); $this->Lexer->addPattern('\n\t', 'preformatted'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('\n', 'preformatted'); } /** @inheritdoc */ public function getSort() { return 20; } } PK! Wordblock.phpnu[badwords = $badwords; } /** @inheritdoc */ public function preConnect() { if (count($this->badwords) == 0 || $this->pattern != '') { return; } $sep = ''; foreach ($this->badwords as $badword) { $this->pattern .= $sep.'(?<=\b)(?i)'. Lexer::escape($badword).'(?-i)(?=\b)'; $sep = '|'; } } /** @inheritdoc */ public function connectTo($mode) { if (strlen($this->pattern) > 0) { $this->Lexer->addSpecialPattern($this->pattern, $mode, 'wordblock'); } } /** @inheritdoc */ public function getSort() { return 250; } } PK!?CNNHtml.phpnu[Lexer->addEntryPattern('(?=.*)', $mode, 'html'); $this->Lexer->addEntryPattern('(?=.*)', $mode, 'htmlblock'); } /** @inheritdoc */ public function postConnect() { $this->Lexer->addExitPattern('', 'html'); $this->Lexer->addExitPattern('', 'htmlblock'); } /** @inheritdoc */ public function getSort() { return 190; } } PK!ۉExternallink.phpnu[PK!w Footnote.phpnu[PK!Ε?44 Quote.phpnu[PK!X] Camelcaselink.phpnu[PK!+vm *Smiley.phpnu[PK!`ntllNBase.phpnu[PK!>> Nocache.phpnu[PK! Z]]kAbstractMode.phpnu[PK!*!Ejj Media.phpnu[PK!zSCode.phpnu[PK!'^ Plugin.phpnu[PK!u+88 Notoc.phpnu[PK!(+7l  Emaillink.phpnu[PK!|%>>!Eol.phpnu[PK!Dj P$Header.phpnu[PK!5+ + L&Formatting.phpnu[PK!J0File.phpnu[PK!  2Acronym.phpnu[PK!4J%668ModeInterface.phpnu[PK!?M3<Unformatted.phpnu[PK!)kk?Internallink.phpnu[PK!!ߊ @Table.phpnu[PK!5.CCEPhp.phpnu[PK!cyHWindowssharelink.phpnu[PK!OO ^JLinebreak.phpnu[PK!:s KListblock.phpnu[PK!v_/ PFilelink.phpnu[PK!R[CCSHr.phpnu[PK!h>>TRss.phpnu[PK! ^ VQuotes.phpnu[PK!&DZZMultiplyentity.phpnu[PK!{S \Entity.phpnu[PK!jί aPreformatted.phpnu[PK! @dWordblock.phpnu[PK!?CNNhHtml.phpnu[PK##X k