|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00010 function wiki_ewiki_2_html($oldentry, $oldpage, $oldwiki) { 00011 global $CFG, $wiki_entry, $moodle_disable_camel_case, $ewiki_plugins, $ewiki_config, $moodle_format; 00012 00013 $wiki_entry = $oldentry; 00014 00015 $moodle_disable_camel_case = ($oldwiki->disablecamelcase == 1); 00016 00017 // Block of dinamic ewiki defines 00018 wiki_set_define("EWIKI_NAME", $wiki_entry->pagename); 00019 wiki_set_define("EWIKI_DEFAULT_LANG", current_language()); 00020 if ($moodle_disable_camel_case) { 00021 wiki_set_define("EWIKI_CHARS_L", ""); 00022 wiki_set_define("EWIKI_CHARS_U", ""); 00023 } else { 00024 wiki_set_define("EWIKI_CHARS_L", "a-z_µ¤$\337-\377"); 00025 wiki_set_define("EWIKI_CHARS_U", "A-Z0-9\300-\336"); 00026 } 00027 00028 wiki_set_define("EWIKI_CHARS", wiki_get_define('EWIKI_CHARS_L') . wiki_get_define('EWIKI_CHARS_U')); 00029 00030 require_once($CFG->dirroot . '/mod/wiki/db/migration/wiki/ewikimoodlelib.php'); 00031 require_once($CFG->dirroot . '/mod/wiki/db/migration/wiki/ewiki/ewiki.php'); 00032 00033 if ($oldwiki->htmlmode == 0) { 00034 # No HTML 00035 $ewiki_config["htmlentities"] = array(); // HTML is managed by moodle 00036 $moodle_format = FORMAT_TEXT; 00037 } 00038 if ($oldwiki->htmlmode == 1) { 00039 # Safe HTML 00040 include_once($CFG->dirroot . "/mod/wiki/db/migration/wiki/ewiki/plugins/moodle/moodle_rescue_html.php"); 00041 $moodle_format = FORMAT_HTML; 00042 } 00043 if ($oldwiki->htmlmode == 2) { 00044 # HTML Only 00045 $moodle_format = FORMAT_HTML; 00046 $ewiki_use_editor = 1; 00047 $ewiki_config["htmlentities"] = array(); // HTML is allowed 00048 $ewiki_config["wiki_link_regex"] = "\007 [!~]?( 00049 \#?\[[^<>\[\]\n]+\] | 00050 \^[-" . 00051 wiki_get_define('EWIKI_CHARS_U') . wiki_get_define('EWIKI_CHARS_L') . "]{3,} | 00052 \b([\w]{3,}:)*([" . 00053 wiki_get_define('EWIKI_CHARS_U') . "]+[" . wiki_get_define('EWIKI_CHARS_L') . "]+){2,}\#?[\w\d]* | 00054 \w[-_.+\w]+@(\w[-_\w]+[.])+\w{2,} ) \007x"; 00055 } 00056 00057 $content = ewiki_format($oldpage->content); 00058 00059 return $content; 00060 } 00061 00062 function wiki_set_define($key, $value) { 00063 global $ewikidefines; 00064 00065 $ewikidefines[$key] = $value; 00066 } 00067 00068 function wiki_get_define($key) { 00069 global $ewikidefines; 00070 00071 return $ewikidefines[$key]; 00072 } 00073 00074 function ewiki_mime_magic($binary_data) { 00075 $mime_magic_data = array( 00076 array(0, 2, 0, "\x06\x02", "application/x-alan-adventure-game"), 00077 array(0, 4, 0, "TADS", "application/x-tads-game"), 00078 array(0, 2, 0, "\x01\x10", "application/x-executable-file"), 00079 array(0, 2, 0, "\x01\x11", "application/x-executable-file"), 00080 array(0, 2, 0, "\x01", "application/x-executable-file"), 00081 array(0, 5, 0, "Core\001", "application/x-executable-file"), 00082 array(0, 22, 0, "AMANDA: TAPESTART DATE", "application/x-amanda-header"), 00083 array(0, 2, 0xfff0, 0xf0ff, "audio/mpeg"), 00084 array(4, 2, 0, "¯\x11", "video/fli"), 00085 array(4, 2, 0, "¯\x12", "video/flc"), 00086 array(0, 4, 0, "MOVI", "video/x-sgi-movie"), 00087 array(4, 4, 0, "moov", "video/quicktime"), 00088 array(4, 4, 0, "mdat", "video/quicktime"), 00089 array(0, 18, 0, "FiLeStArTfIlEsTaRt", "text/x-apple-binscii"), 00090 array(0, 3, 0, "\x0aGL", "application/data"), 00091 array(0, 2, 0, "\x76\xff", "application/data"), 00092 array(0, 6, 0, "NuFile", "application/data"), 00093 array(0, 6, 0, "N\xf5F\xe9l\xe5", "application/data"), 00094 array(0, 4, 0, "\x00\x16\x05\x00", "application/data"), 00095 array(0, 4, 0, "\x07\x16\x05\x00", "application/data"), 00096 array(257, 6, 0, "ustar\0", "application/x-tar"), 00097 array(257, 8, 0, "ustar\040\040\0", "application/x-gtar"), 00098 array(0, 2, 0, "qÇ", "application/x-cpio"), 00099 array(0, 2, 0, "Çq", "application/x-bcpio"), 00100 array(0, 6, 0, "070707", "application/x-cpio"), 00101 array(0, 6, 0, "070701", "application/x-cpio"), 00102 array(0, 6, 0, "070702", "application/x-cpio"), 00103 array(0, 2, 0, "ÿm", "application/data"), 00104 array(0, 2, 0, "ÿe", "application/data"), 00105 array(0, 5, 0, "=<ar>", "application/x-ar"), 00106 array(0, 19, 0, "!<arch>\n__________E", "application/x-ar"), 00107 array(0, 3, 0, "-h-", "application/data"), 00108 array(0, 7, 0, "!<arch>", "application/x-ar"), 00109 array(0, 4, 0, "<ar>", "application/x-ar"), 00110 array(0, 4, 0, ">ra<", "application/x-ar"), 00111 array(0, 4, 0, "!<ar", "application/x-ar"), 00112 array(0, 4, 0, "\x00\x03í", "application/data"), 00113 array(0, 4, 0, "\x00\x03î", "application/data"), 00114 array(0, 4, 0x8080ffff, 0x81a, "application/x-arc"), 00115 array(0, 4, 0x8080ffff, 0x91a, "application/x-arc"), 00116 array(0, 4, 0x8080ffff, 0x21a, "application/x-arc"), 00117 array(0, 4, 0x8080ffff, 0x31a, "application/x-arc"), 00118 array(0, 4, 0x8080ffff, 0x41a, "application/x-arc"), 00119 array(0, 4, 0x8080ffff, 0x61a, "application/x-arc"), 00120 array(0, 8, 0, "\032archive", "application/data"), 00121 array(0, 2, 0, "ê`", "application/x-arj"), 00122 array(0, 4, 0, "HPAK", "application/data"), 00123 array(0, 8, 0, "\351,\001JAM\ ", "application/data"), 00124 array(2, 5, 0, "-lh0-", "application/x-lha"), 00125 array(2, 5, 0, "-lh1-", "application/x-lha"), 00126 array(2, 5, 0, "-lz4-", "application/x-lha"), 00127 array(2, 5, 0, "-lz5-", "application/x-lha"), 00128 array(2, 5, 0, "-lzs-", "application/x-lha"), 00129 array(2, 5, 0, "-lh\40-", "application/x-lha"), 00130 array(2, 5, 0, "-lhd-", "application/x-lha"), 00131 array(2, 5, 0, "-lh2-", "application/x-lha"), 00132 array(2, 5, 0, "-lh3-", "application/x-lha"), 00133 array(2, 5, 0, "-lh4-", "application/x-lha"), 00134 array(2, 5, 0, "-lh5-", "application/x-lha"), 00135 array(0, 4, 0, "Rar!", "application/x-rar"), 00136 array(0, 4, 0, "SQSH", "application/data"), 00137 array(0, 4, 0, "UC2\x1a", "application/data"), 00138 array(0, 4, 0, "PK\003\004", "application/zip"), 00139 array(20, 4, 0, "ýħÜ", "application/x-zoo"), 00140 array(10, 25, 0, "# This is a shell archive", "application/x-shar"), 00141 array(0, 4, 0, "*STA", "application/data"), 00142 array(0, 4, 0, "2278", "application/data"), 00143 array(0, 2, 0, "p\x01", "application/x-executable-file"), 00144 array(0, 2, 0, "q\x01", "application/x-executable-file"), 00145 array(0, 5, 0, "\000\004\036\212\200", "application/core"), 00146 array(0, 4, 0, ".snd", "audio/basic"), 00147 array(0, 4, 0, "\x00ds.", "audio/basic"), 00148 array(0, 4, 0, "MThd", "audio/midi"), 00149 array(0, 4, 0, "CTMF", "audio/x-cmf"), 00150 array(0, 3, 0, "SBI", "audio/x-sbi"), 00151 array(0, 19, 0, "Creative Voice File", "audio/x-voc"), 00152 array(0, 4, 0, "KRTN", "audio/x-multitrack"), 00153 array(0, 4, 0, "RIFF", "audio/x-wav"), 00154 array(0, 4, 0, "EMOD", "audio/x-emod"), 00155 array(0, 4, 0, "ýar.", "audio/x-pn-realaudio"), 00156 array(0, 3, 0, "MTM", "audio/x-multitrack"), 00157 array(0, 2, 0, "if", "audio/x-669-mod"), 00158 array(0, 3, 0, "FAR", "audio/mod"), 00159 array(0, 5, 0, "MAS_U", "audio/x-multimate-mod"), 00160 array(0x2c, 4, 0, "SCRM", "audio/x-st3-mod"), 00161 array(0, 22, 0, "GF1PATCH110\0ID#000002\0", "audio/x-gus-patch"), 00162 array(0, 22, 0, "GF1PATCH100\0ID#000002\0", "audio/x-gus-patch"), 00163 array(0, 2, 0, "JN", "audio/x-669-mod"), 00164 array(0, 4, 0, "UN05", "audio/x-mikmod-uni"), 00165 array(21, 8, 0, "!SCREAM!", "audio/x-st2-mod"), 00166 array(1080, 4, 0, "M.K.", "audio/x-protracker-mod"), 00167 array(1080, 4, 0, "M!K!", "audio/x-protracker-mod"), 00168 array(1080, 4, 0, "FLT4", "audio/x-startracker-mod"), 00169 array(1080, 4, 0, "4CHN", "audio/x-fasttracker-mod"), 00170 array(1080, 4, 0, "6CHN", "audio/x-fasttracker-mod"), 00171 array(1080, 4, 0, "8CHN", "audio/x-fasttracker-mod"), 00172 array(1080, 4, 0, "CD81", "audio/x-oktalyzer-mod"), 00173 array(1080, 4, 0, "OKTA", "audio/x-oktalyzer-mod"), 00174 array(1080, 4, 0, "16CN", "audio/x-taketracker-mod"), 00175 array(1080, 4, 0, "32CN", "audio/x-taketracker-mod"), 00176 array(0, 3, 0, "TOC", "audio/x-toc"), 00177 array(0, 2, 0, "\x07\x01", "application/x-executable-file"), 00178 array(0, 2, 0, "\x01\x06", "application/x-executable-file"), 00179 array(0, 2, 0, "\x06\x01", "application/x-executable-file"), 00180 array(0, 2, 0, "//", "text/cpp"), 00181 array(0, 5, 0, "\\1cw ", "application/data"), 00182 array(0, 4, 0, "\\1cw", "application/data"), 00183 array(0, 4, 0xffffff00, 0x140185, "application/data"), 00184 array(0, 4, 0xffffff00, 0xcb0185, "application/data"), 00185 array(0, 2, 0, "\x01}", "application/x-executable-file"), 00186 array(0, 2, 0, "\x01", "application/x-executable-file"), 00187 array(4, 4, 0, "pipe", "application/data"), 00188 array(4, 4, 0, "prof", "application/data"), 00189 array(0, 9, 0, "#!/bin/sh", "application/x-sh"), 00190 array(0, 10, 0, "#! /bin/sh", "application/x-sh"), 00191 array(0, 11, 0, "#!\ /bin/sh", "application/x-sh"), 00192 array(0, 10, 0, "#!/bin/csh", "application/x-csh"), 00193 array(0, 11, 0, "#! /bin/csh", "application/x-csh"), 00194 array(0, 12, 0, "#!\ /bin/csh", "application/x-csh"), 00195 array(0, 10, 0, "#!/bin/ksh", "application/x-ksh"), 00196 array(0, 11, 0, "#! /bin/ksh", "application/x-ksh"), 00197 array(0, 12, 0, "#!\ /bin/ksh", "application/x-ksh"), 00198 array(0, 17, 0, "#!/usr/local/tcsh", "application/x-csh"), 00199 array(0, 21, 0, "#!/usr/local/bin/tcsh", "application/x-csh"), 00200 array(0, 22, 0, "#! /usr/local/bin/tcsh", "application/x-csh"), 00201 array(0, 23, 0, "#!\ /usr/local/bin/tcsh", "application/x-csh"), 00202 array(0, 20, 0, "#!/usr/local/bin/zsh", "application/x-zsh"), 00203 array(0, 21, 0, "#! /usr/local/bin/zsh", "application/x-zsh"), 00204 array(0, 22, 0, "#!\ /usr/local/bin/zsh", "application/x-zsh"), 00205 array(0, 20, 0, "#!/usr/local/bin/ash", "application/x-sh"), 00206 array(0, 21, 0, "#! /usr/local/bin/ash", "application/x-zsh"), 00207 array(0, 22, 0, "#!\ /usr/local/bin/ash", "application/x-zsh"), 00208 array(0, 19, 0, "#!/usr/local/bin/ae", "text/script"), 00209 array(0, 20, 0, "#! /usr/local/bin/ae", "text/script"), 00210 array(0, 21, 0, "#!\ /usr/local/bin/ae", "text/script"), 00211 array(0, 11, 0, "#!/bin/nawk", "application/x-awk"), 00212 array(0, 12, 0, "#! /bin/nawk", "application/x-awk"), 00213 array(0, 13, 0, "#!\ /bin/nawk", "application/x-awk"), 00214 array(0, 15, 0, "#!/usr/bin/nawk", "application/x-awk"), 00215 array(0, 16, 0, "#! /usr/bin/nawk", "application/x-awk"), 00216 array(0, 17, 0, "#!\ /usr/bin/nawk", "application/x-awk"), 00217 array(0, 21, 0, "#!/usr/local/bin/nawk", "application/x-awk"), 00218 array(0, 22, 0, "#! /usr/local/bin/nawk", "application/x-awk"), 00219 array(0, 23, 0, "#!\ /usr/local/bin/nawk", "application/x-awk"), 00220 array(0, 11, 0, "#!/bin/gawk", "application/x-awk"), 00221 array(0, 12, 0, "#! /bin/gawk", "application/x-awk"), 00222 array(0, 13, 0, "#!\ /bin/gawk", "application/x-awk"), 00223 array(0, 15, 0, "#!/usr/bin/gawk", "application/x-awk"), 00224 array(0, 16, 0, "#! /usr/bin/gawk", "application/x-awk"), 00225 array(0, 17, 0, "#!\ /usr/bin/gawk", "application/x-awk"), 00226 array(0, 21, 0, "#!/usr/local/bin/gawk", "application/x-awk"), 00227 array(0, 22, 0, "#! /usr/local/bin/gawk", "application/x-awk"), 00228 array(0, 23, 0, "#!\ /usr/local/bin/gawk", "application/x-awk"), 00229 array(0, 10, 0, "#!/bin/awk", "application/x-awk"), 00230 array(0, 11, 0, "#! /bin/awk", "application/x-awk"), 00231 array(0, 12, 0, "#!\ /bin/awk", "application/x-awk"), 00232 array(0, 14, 0, "#!/usr/bin/awk", "application/x-awk"), 00233 array(0, 15, 0, "#! /usr/bin/awk", "application/x-awk"), 00234 array(0, 16, 0, "#!\ /usr/bin/awk", "application/x-awk"), 00235 array(0, 5, 0, "BEGIN", "application/x-awk"), 00236 array(0, 11, 0, "#!/bin/perl", "application/x-perl"), 00237 array(0, 12, 0, "#! /bin/perl", "application/x-perl"), 00238 array(0, 13, 0, "#!\ /bin/perl", "application/x-perl"), 00239 array(0, 20, 0, "eval \"exec /bin/perl", "application/x-perl"), 00240 array(0, 15, 0, "#!/usr/bin/perl", "application/x-perl"), 00241 array(0, 16, 0, "#! /usr/bin/perl", "application/x-perl"), 00242 array(0, 17, 0, "#!\ /usr/bin/perl", "application/x-perl"), 00243 array(0, 24, 0, "eval \"exec /usr/bin/perl", "application/x-perl"), 00244 array(0, 21, 0, "#!/usr/local/bin/perl", "application/x-perl"), 00245 array(0, 22, 0, "#! /usr/local/bin/perl", "application/x-perl"), 00246 array(0, 23, 0, "#!\ /usr/local/bin/perl", "application/x-perl"), 00247 array(0, 30, 0, "eval \"exec /usr/local/bin/perl", "application/x-perl"), 00248 array(0, 9, 0, "#!/bin/rc", "text/script"), 00249 array(0, 10, 0, "#! /bin/rc", "text/script"), 00250 array(0, 11, 0, "#!\ /bin/rc", "text/script"), 00251 array(0, 11, 0, "#!/bin/bash", "application/x-sh"), 00252 array(0, 12, 0, "#! /bin/bash", "application/x-sh"), 00253 array(0, 13, 0, "#!\ /bin/bash", "application/x-sh"), 00254 array(0, 21, 0, "#!/usr/local/bin/bash", "application/x-sh"), 00255 array(0, 22, 0, "#! /usr/local/bin/bash", "application/x-sh"), 00256 array(0, 23, 0, "#!\ /usr/local/bin/bash", "application/x-sh"), 00257 array(0, 4, 0, "#! /", "text/script"), 00258 array(0, 5, 0, "#!\ /", "text/script"), 00259 array(0, 3, 0, "#!/", "text/script"), 00260 array(0, 3, 0, "#! ", "text/script"), 00261 array(0, 2, 0, "\037\235", "application/compress"), 00262 array(0, 2, 0, "\037\213", "application/x-gzip"), 00263 array(0, 2, 0, "\037\036", "application/data"), 00264 array(0, 2, 0, "\x1f\x1f", "application/data"), 00265 array(0, 2, 0, "\x1fÿ", "application/data"), 00266 array(0, 2, 0, "\377\037", "application/data"), 00267 array(0, 2, 0, "Ë\x05", "application/data"), 00268 array(0, 3, 0, "BZh", "application/x-bzip2"), 00269 array(0, 2, 0, "ÿv", "application/data"), 00270 array(0, 2, 0, "þv", "application/data"), 00271 array(0, 2, 0, "ýv", "application/x-lzh"), 00272 array(0, 2, 0, "\037\237", "application/data"), 00273 array(0, 2, 0, "\037\236", "application/data"), 00274 array(0, 2, 0, "\037\240", "application/data"), 00275 array(0, 2, 0, "BZ", "application/x-bzip"), 00276 array(0, 9, 0, "\x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a", "application/data"), 00277 array(0, 4, 0, "W\x12\x01\x00", "application/core"), 00278 array(0, 4, 0, "ÎW\x13", "application/x-gdbm"), 00279 array(0, 4, 0, "\x13WÎ", "application/x-gdbm"), 00280 array(0, 4, 0, "GDBM", "application/x-gdbm"), 00281 array(0, 4, 0, "a\x15\x06\x00", "application/x-db"), 00282 array(0, 4, 0, "b1\x05\x00", "application/x-db"), 00283 array(0, 23, 0, "=<list>\n<protocol bbn-m", "application/data"), 00284 array(0, 5, 0, "diff ", "text/x-patch"), 00285 array(0, 4, 0, "*** ", "text/x-patch"), 00286 array(0, 8, 0, "Only in ", "text/x-patch"), 00287 array(0, 23, 0, "Common subdirectories: ", "text/x-patch"), 00288 array(0, 19, 0, "!<arch>\n________64E", "application/data"), 00289 array(0, 2, 0, "\x01", "application/x-executable-file"), 00290 array(0, 2, 0, "\x01", "application/x-object-file"), 00291 array(0, 3, 0, "\377\377\177", "application/data"), 00292 array(0, 3, 0, "\377\377\174", "application/data"), 00293 array(0, 3, 0, "\377\377\176", "application/data"), 00294 array(0, 3, 0, "\033c\033", "application/data"), 00295 array(0, 4, 0, "\x00\x12Ö", "image/x11"), 00296 array(0, 8, 0, "!<PDF>!\n", "application/x-prof"), 00297 array(0, 2, 0, "\x05\x01", "application/x-locale"), 00298 array(0, 4, 0, "\177ELF", "application/x-executable-file"), 00299 array(0, 2, 0, "\x01T", "application/data"), 00300 array(0, 2, 0, "\x01U", "application/x-executable-file"), 00301 array(0x438, 2, 0, "ïS", "application/x-linux-ext2fs"), 00302 array(0, 4, 0, "\366\366\366\366", "application/x-pc-floppy"), 00303 array(0774, 2, 0, "¾Ú", "application/data"), 00304 array(0x1FE, 2, 0, "ªU", "application/data"), 00305 array(0x410, 2, 0, "\x13", "application/x-filesystem"), 00306 array(0x410, 2, 0, "\x13", "application/x-filesystem"), 00307 array(0x410, 2, 0, "\x24h", "application/x-filesystem"), 00308 array(0x410, 2, 0, "\x24x", "application/x-filesystem"), 00309 array(0, 9, 0, "-rom1fs-\0", "application/x-filesystem"), 00310 array(0, 4, 0, "\x1b\x03\x136", "application/x-bootable"), 00311 array(0x18b, 4, 0, "OS/2", "application/x-bootable"), 00312 array(0, 4, 0, "FONT", "font/x-vfont"), 00313 array(0, 2, 0, "\x01\x1e", "font/x-vfont"), 00314 array(0, 2, 0, "\x1e\x01", "font/x-vfont"), 00315 array(0, 18, 0, "%!PS-AdobeFont-1.0", "font/type1"), 00316 array(6, 18, 0, "%!PS-AdobeFont-1.0", "font/type1"), 00317 array(0, 10, 0, "STARTFONT\040", "font/x-bdf"), 00318 array(0, 4, 0, "\001fcp", "font/x-pcf"), 00319 array(0, 5, 0, "D1.0\015", "font/x-speedo"), 00320 array(0, 3, 0, "flf", "font/x-figlet"), 00321 array(0, 3, 0, "flc", "application/x-font"), 00322 array(0, 4, 0, "\x19Y\x02\x14", "font/x-libgrx"), 00323 array(0, 4, 0, "NOFÿ", "font/x-dos"), 00324 array(7, 4, 0, "AGE\x00", "font/x-dos"), 00325 array(7, 4, 0, "DIV\x00", "font/x-dos"), 00326 array(0, 10, 0, "<MakerFile", "application/x-framemaker"), 00327 array(0, 8, 0, "<MIFFile", "application/x-framemaker"), 00328 array(0, 16, 0, "<MakerDictionary", "application/x-framemaker"), 00329 array(0, 16, 0, "<MakerScreenFont", "font/x-framemaker"), 00330 array(0, 4, 0, "<MML", "application/x-framemaker"), 00331 array(0, 9, 0, "<BookFile", "application/x-framemaker"), 00332 array(0, 6, 0, "<Maker", "application/x-framemaker"), 00333 array(0, 4, 0377777777, 0x860107, "application/x-executable-file"), 00334 array(0, 4, 0377777777, 0x860108, "application/x-executable-file"), 00335 array(0, 4, 0377777777, 0x86010b, "application/x-executable-file"), 00336 array(0, 4, 0377777777, 0x8600cc, "application/x-executable-file"), 00337 array(7, 22, 0, "\357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", "application/core"), 00338 array(0, 4, 0, "LDHi", "application/data"), 00339 array(0, 13, 0, "GIMP Gradient", "application/x-gimp-gradient"), 00340 array(0, 8, 0, "gimp xcf", "application/x-gimp-image"), 00341 array(20, 4, 0, "GPAT", "application/x-gimp-pattern"), 00342 array(20, 4, 0, "GIMP", "application/x-gimp-brush"), 00343 array(0, 4, 0, "\336\22\4\225", "application/x-locale"), 00344 array(0, 4, 0, "\225\4\22\336", "application/x-locale"), 00345 array(0, 2, 0, "\x01", "application/x-executable-file"), 00346 array(0, 2, 0, "\x01", "application/x-executable-file"), 00347 array(0, 5, 0, "\000\001\000\000\000", "font/ttf"), 00348 array(0, 4, 0, "\x0a\x0f\x08\x0e", "application/data"), 00349 array(0, 4, 0, "\x0f\x0a\x0e\x08", "application/data"), 00350 array(0, 4, 0, "\x08\x0e\x0a\x0f", "application/data"), 00351 array(0, 4, 0, "\x0e\x08\x0f\x0a", "application/data"), 00352 array(0, 4, 0, "\x06\x01\x10\x02", "application/x-object-file"), 00353 array(0, 4, 0, "\x07\x01\x10\x02", "application/x-executable-file"), 00354 array(0, 4, 0, "\x08\x01\x10\x02", "application/x-executable-file"), 00355 array(0, 4, 0, "\x0b\x01\x10\x02", "application/x-executable-file"), 00356 array(0, 4, 0, "\x0e\x01\x10\x02", "application/x-library-file"), 00357 array(0, 4, 0, "\x0d\x01\x10\x02", "application/x-library-file"), 00358 array(0, 4, 0, "\x06\x01\x14\x02", "application/x-object-file"), 00359 array(0, 4, 0, "\x07\x01\x14\x02", "application/x-executable-file"), 00360 array(0, 4, 0, "\x08\x01\x14\x02", "application/x-executable-file"), 00361 array(0, 4, 0, "\x0b\x01\x14\x02", "application/x-executable-file"), 00362 array(0, 4, 0, "\x0e\x01\x14\x02", "application/x-library-file"), 00363 array(0, 4, 0, "\x0d\x01\x14\x02", "application/x-object-file"), 00364 array(0, 4, 0, "\x06\x01\x0b\x02", "application/x-object-file"), 00365 array(0, 4, 0, "\x07\x01\x0b\x02", "application/x-executable-file"), 00366 array(0, 4, 0, "\x08\x01\x0b\x02", "application/x-executable-file"), 00367 array(0, 4, 0, "\x0b\x01\x0b\x02", "application/x-executable-file"), 00368 array(0, 4, 0, "\x0e\x01\x0b\x02", "application/x-library-file"), 00369 array(0, 4, 0, "\x0d\x01\x0b\x02", "application/x-library-file"), 00370 array(0, 4, 0, "ra<!", "application/x-ar"), 00371 array(0, 4, 0, "\x02\x08\x01\x06", "application/x-executable-file"), 00372 array(0, 4, 0, "\x02\x08\x01\x07", "application/x-executable-file"), 00373 array(0, 4, 0, "\x02\x08\x01\x08", "application/x-executable-file"), 00374 array(0, 4, 0, "\x08\x01\x0c\x02", "application/x-executable-file"), 00375 array(0, 4, 0, "\x07\x01\x0c\x02", "application/x-executable-file"), 00376 array(0, 4, 0, "\x0b\x01\x0c\x02", "application/x-executable-file"), 00377 array(0, 4, 0, "\x06\x01\x0c\x02", "application/x-executable-file"), 00378 array(0, 4, 0, "\x08\x01\x0a\x02", "application/x-executable-file"), 00379 array(0, 4, 0, "\x07\x01\x0a\x02", "application/x-executable-file"), 00380 array(0, 4, 0, "\x0e\x01\x0c\x02", "application/x-library-file"), 00381 array(0, 4, 0, "\x0d\x01\x0c\x02", "application/x-library-file"), 00382 array(0, 4, 0, "\x02\x0aÿe", "application/x-library-file"), 00383 array(0, 4, 0, "\x02\x0cÿe", "application/x-library-file"), 00384 array(0, 4, 0, "\x02\x08ÿe", "application/x-library-file"), 00385 array(0, 4, 0, "\x01X!¦", "application/core"), 00386 array(0, 4, 0, "M§îè", "font/x-hp-windows"), 00387 array(0, 10, 0, "Bitmapfile", "image/unknown"), 00388 array(0, 4, 0, "\x02\x0c\x01\x0c", "application/x-lisp"), 00389 array(0, 8, 0, "msgcat01", "application/x-locale"), 00390 array(0, 2, 0, "P1", "image/x-portable-bitmap"), 00391 array(0, 2, 0, "P2", "image/x-portable-graymap"), 00392 array(0, 2, 0, "P3", "image/x-portable-pixmap"), 00393 array(0, 2, 0, "P4", "image/x-portable-bitmap"), 00394 array(0, 2, 0, "P5", "image/x-portable-graymap"), 00395 array(0, 2, 0, "P6", "image/x-portable-pixmap"), 00396 array(0, 4, 0, "IIN1", "image/tiff"), 00397 array(0, 4, 0, "MM\x00\x2a", "image/tiff"), 00398 array(0, 4, 0, "II\x2a\x00", "image/tiff"), 00399 array(0, 4, 0, "\x89PNG", "image/x-png"), 00400 array(1, 3, 0, "PNG", "image/x-png"), 00401 array(0, 4, 0, "GIF8", "image/gif"), 00402 array(0, 4, 0, "\361\0\100\273", "image/x-cmu-raster"), 00403 array(0, 2, 0, "Øÿ", "image/jpeg"), 00404 array(0, 4, 0, "hsi1", "image/x-jpeg-proprietary"), 00405 array(0, 2, 0, "BM", "image/x-bmp"), 00406 array(0, 2, 0, "IC", "image/x-ico"), 00407 array(0, 4, 0, "j¦Y", "x/x-image-sun-raster"), 00408 array(0, 2, 0, "Ú\x01", "x/x-image-sgi"), 00409 array(2048, 7, 0, "PCD_IPI", "x/x-photo-cd-pack-file"), 00410 array(0, 7, 0, "PCD_OPA", "x/x-photo-cd-overfiew-file"), 00411 array(0, 2, 0, "\x01H", "application/x-executable-file"), 00412 array(0, 2, 0, "\x01I", "application/x-executable-file"), 00413 array(0, 2, 0, "\x01J", "application/x-executable-file"), 00414 array(0, 2, 0, "\x01R", "application/x-executable-file"), 00415 array(0, 2, 0, "\x01L", "application/x-executable-file"), 00416 array(0, 2, 0, "\x046", "font/linux-psf"), 00417 array(0, 4, 0, "FFIL", "font/ttf"), 00418 array(65, 4, 0, "FFIL", "font/ttf"), 00419 array(0, 4, 0, "LWFN", "font/type1"), 00420 array(65, 4, 0, "LWFN", "font/type1"), 00421 array(0, 12, 0, "Return-Path:", "message/rfc822"), 00422 array(0, 5, 0, "Path:", "message/news"), 00423 array(0, 5, 0, "Xref:", "message/news"), 00424 array(0, 5, 0, "From:", "message/rfc822"), 00425 array(0, 7, 0, "Article", "message/news"), 00426 array(0, 5, 0, "BABYL", "message/x-gnu-rmail"), 00427 array(0, 9, 0, "Received:", "message/rfc822"), 00428 array(0, 2, 0, "MZ", "application/x-ms-dos-executable"), 00429 array(2080, 27, 0, "Microsoft Word 6.0 Document", "text/vnd.ms-word"), 00430 array(2080, 26, 0, "Documento Microsoft Word 6", "text/vnd.ms-word"), 00431 array(2112, 9, 0, "MSWordDoc", "text/vnd.ms-word"), 00432 array(0, 5, 0, "PO^Q`", "text/vnd.ms-word"), 00433 array(2080, 29, 0, "Microsoft Excel 5.0 Worksheet", "application/vnd.ms-excel"), 00434 array(2114, 5, 0, "Biff5", "application/vnd.ms-excel"), 00435 array(1, 3, 0, "WPC", "text/vnd.wordperfect"), 00436 array(0, 4, 0377777777, 0x7018600, "NetBSD/i386"), 00437 array(0, 4, 0377777777, 0x7018700, "NetBSD/m68k"), 00438 array(0, 4, 0377777777, 0x7018800, "NetBSD/m68k4k"), 00439 array(0, 4, 0377777777, 0x7018900, "NetBSD/ns32532"), 00440 array(0, 4, 0377777777, 0x7018a00, "NetBSD/sparc"), 00441 array(0, 4, 0377777777, 0x7018b00, "NetBSD/pmax"), 00442 array(0, 4, 0377777777, 0x7018c00, "NetBSD/vax"), 00443 array(0, 4, 0377777777, 0x7018e00, "NetBSD/mips"), 00444 array(0, 4, 0377777777, 0x7018f00, "NetBSD/arm32"), 00445 array(0, 16, 0, "StartFontMetrics", "font/x-sunos-news"), 00446 array(0, 9, 0, "StartFont", "font/x-sunos-news"), 00447 array(0, 4, 0, "D)z\x13", "font/x-sunos-news"), 00448 array(0, 4, 0, "G)z\x13", "font/x-sunos-news"), 00449 array(0, 4, 0, "P)z\x13", "font/x-sunos-news"), 00450 array(0, 4, 0, "Q)z\x13", "font/x-sunos-news"), 00451 array(8, 4, 0, "E+z\x13", "font/x-sunos-news"), 00452 array(8, 4, 0, "H+z\x13", "font/x-sunos-news"), 00453 array(0, 2, 0, "%!", "application/postscript"), 00454 array(0, 3, 0, "\004%!", "application/postscript"), 00455 array(0, 3, 0, "\033E\033", "image/x-pcl-hp"), 00456 array(0, 14, 0, "<!DOCTYPE HTML", "text/html"), 00457 array(0, 14, 0, "<!doctype html", "text/html"), 00458 array(0, 5, 0, "<HEAD", "text/html"), 00459 array(0, 5, 0, "<head", "text/html"), 00460 array(0, 6, 0, "<TITLE", "text/html"), 00461 array(0, 6, 0, "<title", "text/html"), 00462 array(0, 5, 0, "<html", "text/html"), 00463 array(0, 5, 0, "<HTML", "text/html"), 00464 array(0, 2, 0, "\367\203", "font/x-tex"), 00465 array(0, 2, 0, "\367\131", "font/x-tex"), 00466 array(0, 2, 0, "\367\312", "font/x-tex"), 00467 array(2, 2, 0, "\000\021", "font/x-tex-tfm"), 00468 array(2, 2, 0, "\000\022", "font/x-tex-tfm"), 00469 array('>2', 2, 0, "º¾", "application/java"), 00470 array(8, 4, 0, "AIFF", "audio/x-aiff"), 00471 array(8, 4, 0, "AIFC", "audio/x-aiff"), 00472 array(8, 4, 0, "8SVX", "audio/x-aiff"), 00473 array('>8', 4, 0, "WAVE", "audio/x-wav"), 00474 array('>8', 3, 0, "AVI", "video/x-msvideo"), 00475 array(0, 3, 0, "ID3", "audio/mpeg"), 00476 array(0, 4, 0, "OggS", "audio/x-ogg"), 00477 array(0, 6, 0, "/* XPM", "image/x-xpm"), 00478 array(16, 2, 0, "==", "image/x-3ds"), 00479 array(0, 11, 0, "#!/bin/tcsh", "application/x-shellscript"), 00480 array(0, 12, 0, "#! /bin/tcsh", "application/x-shellscript"), 00481 array(0, 18, 0, "#! /usr/local/tcsh", "application/x-shellscript"), 00482 array('>8', 6, 0, "debian", "application/x-debian-package"), 00483 array('>2', 2, 0, "Ûî", "application/x-rpm"), 00484 array(2, 5, 0, "-lh -", "application/x-lha"), 00485 array(2, 5, 0, "-lh6-", "application/x-lha"), 00486 array(2, 5, 0, "-lh7-", "application/x-lha"), 00487 array(0, 15, 0, "<MakerScreenFon", "application/x-frame"), 00488 array(0, 5, 0, "<Book", "application/x-frame"), 00489 array(0, 3, 0, "<h1", "text/html"), 00490 array(0, 3, 0, "<H1", "text/html"), 00491 array(0, 14, 0, "<!doctype HTML", "text/html"), 00492 array(0, 2, 0, "MM", "image/tiff"), 00493 array(0, 2, 0, "II", "image/tiff"), 00494 array(0, 6, 0, "GIF94z", "image/unknown"), 00495 array(0, 6, 0, "FGF95a", "image/unknown"), 00496 array(0, 3, 0, "PBF", "image/unknown"), 00497 array(0, 3, 0, "GIF", "image/gif"), 00498 array(0, 4, 0, "\376\067\0\043", "application/msword"), 00499 array(0, 6, 0, "\320\317\021\340\241\261", "application/msword"), 00500 array(0, 6, 0, "\333\245-\0\0\0", "application/msword"), 00501 array(0, 2, 0, "\x02÷", "application/x-dvi"), 00502 array(0, 2, 0, "¯\x11", "video/fli"), 00503 array(0, 2, 0, "¯\x12", "video/flc"), 00504 array('>8', 4, 0, "AVI ", "video/avi"), 00505 array(0, 1, 0, "\x01", "video/unknown"), 00506 array(0, 1, 0, "\x02", "video/unknown"), 00507 array(0, 19, 0, "[KDE Desktop Entry]", "application/x-kdelnk"), 00508 array(0, 18, 0, "\# KDE Config File", "application/x-kdelnk"), 00509 array(0, 7, 0, "\# xmcd", "text/xmcd"), 00510 array(0, 4, 0, "\x8aMNG", "video/x-mng"), 00511 array(0, 4, 0, "ó\x03\x00\x00", "application/x-executable-file"), 00512 array(0, 4, 0, "ç\x03\x00\x00", "application/x-library-file"), 00513 array(0, 4, 0, "³\x01\x00\x00", "video/mpeg"), 00514 array(0, 4, 0, "º\x01\x00\x00", "video/mpeg"), 00515 array(0, 4, 0, "\x00\x00l", "application/x-apl-workspace"), 00516 array(0, 4, 0, "\x00\x00ÿm", "application/x-ar"), 00517 array(0, 4, 0, "\x00\x00ÿe", "application/data"), 00518 array(0, 4, 0, "\x00\x00\x01\x06", "application/x-executable-file"), 00519 array(0, 4, 0, "G\x01\x00\x00", "application/x-object-file"), 00520 array(0, 4, 0, "K\x01\x00\x00", "application/x-executable-file"), 00521 array(0, 4, 0, "M\x01\x00\x00", "application/x-executable-file"), 00522 array(0, 4, 0, "O\x01\x00\x00", "application/x-executable-file"), 00523 array(24, 4, 0, "kê\x00\x00", "application/data"), 00524 array(24, 4, 0, "lê\x00\x00", "application/data"), 00525 array(24, 4, 0, "mê\x00\x00", "application/data"), 00526 array(24, 4, 0, "nê\x00\x00", "application/data"), 00527 array(0, 4, 0, "\x01\x00\x00", "application/x-object-file"), 00528 array(0, 4, 0, "\x01\x00\x00", "application/data"), 00529 array(24, 4, 0, "\x00\x00êl", "application/x-dump"), 00530 array(24, 4, 0, "\x00\x00êk", "application/x-dump"), 00531 array(0, 4, 0, "\x00\x00¾1", "text/vnd.ms-word"), 00532 array(0, 2, 0, "\x00\x00", "audio/mpeg"), 00533 array('>16', 2, 0, "\x00\x01", "application/x-object"), 00534 array('>16', 2, 0, "\x00\x02", "application/x-executable"), 00535 array('>16', 2, 0, "\x00\x03", "application/x-sharedlib"), 00536 array('>16', 2, 0, "\x00\x04", "application/x-coredump"), 00537 array(0, 4, 0, "\x00\x00\x00Ì", "application/x-executable-file"), 00538 array(0, 4, 0, "\x04\x00\x00\x00", "font/x-snf"), 00539 array(0, 4, 0, "\x00\x00\x00\x04", "font/x-snf"), 00540 array('>12', 4, 0, "\x01\x00\x00\x00", "audio/basic"), 00541 array('>12', 4, 0, "\x02\x00\x00\x00", "audio/basic"), 00542 array('>12', 4, 0, "\x03\x00\x00\x00", "audio/basic"), 00543 array('>12', 4, 0, "\x04\x00\x00\x00", "audio/basic"), 00544 array('>12', 4, 0, "\x05\x00\x00\x00", "audio/basic"), 00545 array('>12', 4, 0, "\x06\x00\x00\x00", "audio/basic"), 00546 array('>12', 4, 0, "\x07\x00\x00\x00", "audio/basic"), 00547 array('>12', 4, 0, "\x17\x00\x00\x00", "audio/x-adpcm"), 00548 array('>12', 4, 0, "\x00\x00\x00\x01", "audio/x-dec-basic"), 00549 array('>12', 4, 0, "\x00\x00\x00\x02", "audio/x-dec-basic"), 00550 array('>12', 4, 0, "\x00\x00\x00\x03", "audio/x-dec-basic"), 00551 array('>12', 4, 0, "\x00\x00\x00\x04", "audio/x-dec-basic"), 00552 array('>12', 4, 0, "\x00\x00\x00\x05", "audio/x-dec-basic"), 00553 array('>12', 4, 0, "\x00\x00\x00\x06", "audio/x-dec-basic"), 00554 array('>12', 4, 0, "\x00\x00\x00\x07", "audio/x-dec-basic"), 00555 array('>12', 4, 0, "\x00\x00\x00\x17", "audio/x-dec-adpcm") 00556 ); 00557 00558 $fd = substr($binary_data, 0, 3072); 00559 foreach ($mime_magic_data as $def) { 00560 $pos0 = $def[0]; 00561 if ($pos0[0] == ">") { 00562 $pos0 = substr($pos0, 1); 00563 if (@strpos($fd, $def[3], $pos0) !== false) { 00564 return($def[4]); 00565 } 00566 } else { 00567 $part = substr($fd, $pos0, $def[1]); 00568 $mask = $def[2]; 00569 if ($mask) { 00570 // if $mask is 0 00571 $value = 1 * ('0x'.bin2hex($part)); 00572 if (($value & $mask) == $def[3]) { 00573 return($def[4]); 00574 } 00575 } else { 00576 if ($part == $def[3]) { 00577 return($def[4]); 00578 } 00579 } 00580 } 00581 } 00582 }