function print_file($filename, $filedata, $showln = true) { $ext = strtolower(vpl_fileExtension($filename)); if (isset(self::$map[$ext])) { $lang = self::$map[$ext]; } else { $lang = 'text'; } $line = 0; $insert_link = function ($found) use($filename, &$line) { $ret = '<span class="vpl_ln">'; $line++; $name = $filename . '.' . $line; $ret .= '<a name="' . $name . '"></a>'; $ret .= sprintf('%5d', $line); $ret .= ' </span>'; return $ret . '<span '; }; $code = '<pre class="vpl_sh vpl_g">'; $code .= '<span syntax="' . $lang . '"'; $code .= $showln ? ' linenumbers="yes"' : ''; $code .= '>' . htmlentities($filedata, ENT_NOQUOTES) . '</span>'; $code .= '</pre>'; $html = format_text($code, FORMAT_HTML, array('noclean' => true)); if (preg_match('(<li )', $html) == 1) { $html = preg_replace_callback('(<li )', $insert_link, $html); $html = preg_replace('(</li>)', '</span>', $html); $html = preg_replace('(<div [^>]*><ol>)', '', $html); $html = preg_replace('(</ol></div>)', '', $html); echo $html; } else { $printer = vpl_sh_factory::get_object('text'); $printer->print_file($filename, $filedata, $showln); } }
function getMIME($name) { $ext = strtolower(vpl_fileExtension($name)); return $this->MIME[$ext]; }