From 0a945442ad87afa8362d7730518db43e511e6fa8 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Mon, 18 Dec 2017 02:06:25 +0000 Subject: [PATCH] lib/php/out.php --- lib/php/mime.php | 1401 +++++++++++++++++++------------------- lib/php/nb.php | 2 +- lib/php/out/jpg.php | 30 + lib/php/out/png.php | 30 + share/db/mime_type.csv | 686 +++++++++++++++++++ share/db/mime_type.sql | 10 +- share/db/nb.db | Bin 842752 -> 852992 bytes www/dbq/dbq.php | 3 + www/dbq/html/default.css | 2 +- 9 files changed, 1460 insertions(+), 704 deletions(-) create mode 100644 lib/php/out/jpg.php create mode 100644 lib/php/out/png.php create mode 100644 share/db/mime_type.csv diff --git a/lib/php/mime.php b/lib/php/mime.php index 69de365e..56c066d8 100644 --- a/lib/php/mime.php +++ b/lib/php/mime.php @@ -1,708 +1,709 @@ SHELL_REPLACE dbq db=$NB_DB t=mime_type -cut 2,3 | perl -pe "s/'/\\\\'/; s/^(.*?)\t(.*?)$/ '\$1' => '\$2',/" - 'application/applixware' => 'aw', - 'application/atom+xml' => 'atom xml', - 'application/atomcat+xml' => 'atomcat', - 'application/atomsvc+xml' => 'atomsvc', - 'application/ccxml+xml,' => 'ccxml', - 'application/cdmi-capability' => 'cdmia', - 'application/cdmi-container' => 'cdmic', - 'application/cdmi-domain' => 'cdmid', - 'application/cdmi-object' => 'cdmio', - 'application/cdmi-queue' => 'cdmiq', - 'application/cu-seeme' => 'cu', - 'application/davmount+xml' => 'davmount', - 'application/dssc+der' => 'dssc', - 'application/dssc+xml' => 'xdssc', - 'application/ecmascript' => 'es', - 'application/emma+xml' => 'emma', - 'application/epub+zip' => 'epub', - 'application/exi' => 'exi', - 'application/font-tdpfr' => 'pfr', - 'application/hyperstudio' => 'stk', - 'application/ipfix' => 'ipfix', - 'application/java-archive' => 'jar', - 'application/java-serialized-object' => 'ser', - 'application/java-vm' => 'class', - 'application/javascript' => 'js', - 'application/json' => 'json', - 'application/mac-binhex40' => 'hqx', - 'application/mac-compactpro' => 'cpt', - 'application/mads+xml' => 'mads', - 'application/marc' => 'mrc', - 'application/marcxml+xml' => 'mrcx', - 'application/mathematica' => 'ma', - 'application/mathml+xml' => 'mathml', - 'application/mbox' => 'mbox', - 'application/mediaservercontrol+xml' => 'mscml', - 'application/metalink4+xml' => 'meta4', - 'application/mets+xml' => 'mets', - 'application/mods+xml' => 'mods', - 'application/mp21' => 'm21', - 'application/mp4' => 'mp4', - 'application/msword' => 'doc', - 'application/mxf' => 'mxf', - 'application/octet-stream' => 'bin', - 'application/oda' => 'oda', - 'application/oebps-package+xml' => 'opf', - 'application/ogg' => 'ogx', - 'application/onenote' => 'onetoc', - 'application/patch-ops-error+xml' => 'xer', - 'application/pdf' => 'pdf', - 'application/pgp-signature' => 'pgp', - 'application/pics-rules' => 'prf', - 'application/pkcs10' => 'p10', - 'application/pkcs7-mime' => 'p7m', - 'application/pkcs7-signature' => 'p7s', - 'application/pkcs8' => 'p8', - 'application/pkix-attr-cert' => 'ac', - 'application/pkix-cert' => 'cer', - 'application/pkix-crl' => 'crl', - 'application/pkix-pkipath' => 'pkipath', - 'application/pkixcmp' => 'pki', - 'application/pls+xml' => 'pls', - 'application/postscript' => 'ai', - 'application/prs.cww' => 'cww', - 'application/pskc+xml' => 'pskcxml', - 'application/rdf+xml' => 'rdf', - 'application/reginfo+xml' => 'rif', - 'application/relax-ng-compact-syntax' => 'rnc', - 'application/resource-lists+xml' => 'rl', - 'application/resource-lists-diff+xml' => 'rld', - 'application/rls-services+xml' => 'rs', - 'application/rsd+xml' => 'rsd', - 'application/rss+xml' => 'rss', - 'application/rtf' => 'rtf', - 'application/sbml+xml' => 'sbml', - 'application/scvp-cv-request' => 'scq', - 'application/scvp-cv-response' => 'scs', - 'application/scvp-vp-request' => 'spq', - 'application/scvp-vp-response' => 'spp', - 'application/sdp' => 'sdp', - 'application/set-payment-initiation' => 'setpay', - 'application/set-registration-initiation' => 'setreg', - 'application/shf+xml' => 'shf', - 'application/smil+xml' => 'smi', - 'application/sparql-query' => 'rq', - 'application/sparql-results+xml' => 'srx', - 'application/srgs' => 'gram', - 'application/srgs+xml' => 'grxml', - 'application/sru+xml' => 'sru', - 'application/ssml+xml' => 'ssml', - 'application/tei+xml' => 'tei', - 'application/thraud+xml' => 'tfi', - 'application/timestamped-data' => 'tsd', - 'application/vnd.3gpp.pic-bw-large' => 'plb', - 'application/vnd.3gpp.pic-bw-small' => 'psb', - 'application/vnd.3gpp.pic-bw-var' => 'pvb', - 'application/vnd.3gpp2.tcap' => 'tcap', - 'application/vnd.3m.post-it-notes' => 'pwn', - 'application/vnd.accpac.simply.aso' => 'aso', - 'application/vnd.accpac.simply.imp' => 'imp', - 'application/vnd.acucobol' => 'acu', - 'application/vnd.acucorp' => 'atc', - 'application/vnd.adobe.air-application-installer-package+zip' => 'air', - 'application/vnd.adobe.fxp' => 'fxp', - 'application/vnd.adobe.xdp+xml' => 'xdp', - 'application/vnd.adobe.xfdf' => 'xfdf', - 'application/vnd.ahead.space' => 'ahead', - 'application/vnd.airzip.filesecure.azf' => 'azf', - 'application/vnd.airzip.filesecure.azs' => 'azs', - 'application/vnd.amazon.ebook' => 'azw', - 'application/vnd.americandynamics.acc' => 'acc', - 'application/vnd.amiga.ami' => 'ami', - 'application/vnd.android.package-archive' => 'apk', - 'application/vnd.anser-web-certificate-issue-initiation' => 'cii', - 'application/vnd.anser-web-funds-transfer-initiation' => 'fti', - 'application/vnd.antix.game-component' => 'atx', - 'application/vnd.apple.installer+xml' => 'mpkg', - 'application/vnd.apple.mpegurl' => 'm3u8', - 'application/vnd.aristanetworks.swi' => 'swi', - 'application/vnd.audiograph' => 'aep', - 'application/vnd.blueice.multipass' => 'mpm', - 'application/vnd.bmi' => 'bmi', - 'application/vnd.businessobjects' => 'rep', - 'application/vnd.chemdraw+xml' => 'cdxml', - 'application/vnd.chipnuts.karaoke-mmd' => 'mmd', - 'application/vnd.cinderella' => 'cdy', - 'application/vnd.claymore' => 'cla', - 'application/vnd.cloanto.rp9' => 'rp9', - 'application/vnd.clonk.c4group' => 'c4g', - 'application/vnd.cluetrust.cartomobile-config' => 'c11amc', - 'application/vnd.cluetrust.cartomobile-config-pkg' => 'c11amz', - 'application/vnd.commonspace' => 'csp', - 'application/vnd.contact.cmsg' => 'cdbcmsg', - 'application/vnd.cosmocaller' => 'cmc', - 'application/vnd.crick.clicker' => 'clkx', - 'application/vnd.crick.clicker.keyboard' => 'clkk', - 'application/vnd.crick.clicker.palette' => 'clkp', - 'application/vnd.crick.clicker.template' => 'clkt', - 'application/vnd.crick.clicker.wordbank' => 'clkw', - 'application/vnd.criticaltools.wbs+xml' => 'wbs', - 'application/vnd.ctc-posml' => 'pml', - 'application/vnd.cups-ppd' => 'ppd', - 'application/vnd.curl.car' => 'car', - 'application/vnd.curl.pcurl' => 'pcurl', - 'application/vnd.data-vision.rdz' => 'rdz', - 'application/vnd.denovo.fcselayout-link' => 'fe_launch', - 'application/vnd.dna' => 'dna', - 'application/vnd.dolby.mlp' => 'mlp', - 'application/vnd.dpgraph' => 'dpg', - 'application/vnd.dreamfactory' => 'dfac', - 'application/vnd.dvb.ait' => 'ait', - 'application/vnd.dvb.service' => 'svc', - 'application/vnd.dynageo' => 'geo', - 'application/vnd.ecowin.chart' => 'mag', - 'application/vnd.enliven' => 'nml', - 'application/vnd.epson.esf' => 'esf', - 'application/vnd.epson.msf' => 'msf', - 'application/vnd.epson.quickanime' => 'qam', - 'application/vnd.epson.salt' => 'slt', - 'application/vnd.epson.ssf' => 'ssf', - 'application/vnd.eszigno3+xml' => 'es3', - 'application/vnd.ezpix-album' => 'ez2', - 'application/vnd.ezpix-package' => 'ez3', - 'application/vnd.fdf' => 'fdf', - 'application/vnd.fdsn.seed' => 'seed', - 'application/vnd.flographit' => 'gph', - 'application/vnd.fluxtime.clip' => 'ftc', - 'application/vnd.framemaker' => 'fm', - 'application/vnd.frogans.fnc' => 'fnc', - 'application/vnd.frogans.ltf' => 'ltf', - 'application/vnd.fsc.weblaunch' => 'fsc', - 'application/vnd.fujitsu.oasys' => 'oas', - 'application/vnd.fujitsu.oasys2' => 'oa2', - 'application/vnd.fujitsu.oasys3' => 'oa3', - 'application/vnd.fujitsu.oasysgp' => 'fg5', - 'application/vnd.fujitsu.oasysprs' => 'bh2', - 'application/vnd.fujixerox.ddd' => 'ddd', - 'application/vnd.fujixerox.docuworks' => 'xdw', - 'application/vnd.fujixerox.docuworks.binder' => 'xbd', - 'application/vnd.fuzzysheet' => 'fzs', - 'application/vnd.genomatix.tuxedo' => 'txd', - 'application/vnd.geogebra.file' => 'ggb', - 'application/vnd.geogebra.tool' => 'ggt', - 'application/vnd.geometry-explorer' => 'gex', - 'application/vnd.geonext' => 'gxt', - 'application/vnd.geoplan' => 'g2w', - 'application/vnd.geospace' => 'g3w', - 'application/vnd.gmx' => 'gmx', - 'application/vnd.google-earth.kml+xml' => 'kml', - 'application/vnd.google-earth.kmz' => 'kmz', - 'application/vnd.grafeq' => 'gqf', - 'application/vnd.groove-account' => 'gac', - 'application/vnd.groove-help' => 'ghf', - 'application/vnd.groove-identity-message' => 'gim', - 'application/vnd.groove-injector' => 'grv', - 'application/vnd.groove-tool-message' => 'gtm', - 'application/vnd.groove-tool-template' => 'tpl', - 'application/vnd.groove-vcard' => 'vcg', - 'application/vnd.hal+xml' => 'hal', - 'application/vnd.handheld-entertainment+xml' => 'zmm', - 'application/vnd.hbci' => 'hbci', - 'application/vnd.hhe.lesson-player' => 'les', - 'application/vnd.hp-hpgl' => 'hpgl', - 'application/vnd.hp-hpid' => 'hpid', - 'application/vnd.hp-hps' => 'hps', - 'application/vnd.hp-jlyt' => 'jlt', - 'application/vnd.hp-pcl' => 'pcl', - 'application/vnd.hp-pclxl' => 'pclxl', - 'application/vnd.hydrostatix.sof-data' => 'sfd-hdstx', - 'application/vnd.hzn-3d-crossword' => 'x3d', - 'application/vnd.ibm.minipay' => 'mpy', - 'application/vnd.ibm.modcap' => 'afp', - 'application/vnd.ibm.rights-management' => 'irm', - 'application/vnd.ibm.secure-container' => 'sc', - 'application/vnd.iccprofile' => 'icc', - 'application/vnd.igloader' => 'igl', - 'application/vnd.immervision-ivp' => 'ivp', - 'application/vnd.immervision-ivu' => 'ivu', - 'application/vnd.insors.igm' => 'igm', - 'application/vnd.intercon.formnet' => 'xpw', - 'application/vnd.intergeo' => 'i2g', - 'application/vnd.intu.qbo' => 'qbo', - 'application/vnd.intu.qfx' => 'qfx', - 'application/vnd.ipunplugged.rcprofile' => 'rcprofile', - 'application/vnd.irepository.package+xml' => 'irp', - 'application/vnd.is-xpr' => 'xpr', - 'application/vnd.isac.fcs' => 'fcs', - 'application/vnd.jam' => 'jam', - 'application/vnd.jcp.javame.midlet-rms' => 'rms', - 'application/vnd.jisp' => 'jisp', - 'application/vnd.joost.joda-archive' => 'joda', - 'application/vnd.kahootz' => 'ktz', - 'application/vnd.kde.karbon' => 'karbon', - 'application/vnd.kde.kchart' => 'chrt', - 'application/vnd.kde.kformula' => 'kfo', - 'application/vnd.kde.kivio' => 'flw', - 'application/vnd.kde.kontour' => 'kon', - 'application/vnd.kde.kpresenter' => 'kpr', - 'application/vnd.kde.kspread' => 'ksp', - 'application/vnd.kde.kword' => 'kwd', - 'application/vnd.kenameaapp' => 'htke', - 'application/vnd.kidspiration' => 'kia', - 'application/vnd.kinar' => 'kne', - 'application/vnd.koan' => 'skp', - 'application/vnd.kodak-descriptor' => 'sse', - 'application/vnd.las.las+xml' => 'lasxml', - 'application/vnd.llamagraphics.life-balance.desktop' => 'lbd', - 'application/vnd.llamagraphics.life-balance.exchange+xml' => 'lbe', - 'application/vnd.lotus-1-2-3' => '123', - 'application/vnd.lotus-approach' => 'apr', - 'application/vnd.lotus-freelance' => 'pre', - 'application/vnd.lotus-notes' => 'nsf', - 'application/vnd.lotus-organizer' => 'org', - 'application/vnd.lotus-screencam' => 'scm', - 'application/vnd.lotus-wordpro' => 'lwp', - 'application/vnd.macports.portpkg' => 'portpkg', - 'application/vnd.mcd' => 'mcd', - 'application/vnd.medcalcdata' => 'mc1', - 'application/vnd.mediastation.cdkey' => 'cdkey', - 'application/vnd.mfer' => 'mwf', - 'application/vnd.mfmp' => 'mfm', - 'application/vnd.micrografx.flo' => 'flo', - 'application/vnd.micrografx.igx' => 'igx', - 'application/vnd.mif' => 'mif', - 'application/vnd.mobius.daf' => 'daf', - 'application/vnd.mobius.dis' => 'dis', - 'application/vnd.mobius.mbk' => 'mbk', - 'application/vnd.mobius.mqy' => 'mqy', - 'application/vnd.mobius.msl' => 'msl', - 'application/vnd.mobius.plc' => 'plc', - 'application/vnd.mobius.txf' => 'txf', - 'application/vnd.mophun.application' => 'mpn', - 'application/vnd.mophun.certificate' => 'mpc', - 'application/vnd.mozilla.xul+xml' => 'xul', - 'application/vnd.ms-artgalry' => 'cil', - 'application/vnd.ms-cab-compressed' => 'cab', - 'application/vnd.ms-excel' => 'xls', - 'application/vnd.ms-excel.addin.macroenabled.12' => 'xlam', - 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => 'xlsb', - 'application/vnd.ms-excel.sheet.macroenabled.12' => 'xlsm', - 'application/vnd.ms-excel.template.macroenabled.12' => 'xltm', - 'application/vnd.ms-fontobject' => 'eot', - 'application/vnd.ms-htmlhelp' => 'chm', - 'application/vnd.ms-ims' => 'ims', - 'application/vnd.ms-lrm' => 'lrm', - 'application/vnd.ms-officetheme' => 'thmx', - 'application/vnd.ms-pki.seccat' => 'cat', - 'application/vnd.ms-pki.stl' => 'stl', - 'application/vnd.ms-powerpoint' => 'ppt', - 'application/vnd.ms-powerpoint.addin.macroenabled.12' => 'ppam', - 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => 'pptm', - 'application/vnd.ms-powerpoint.slide.macroenabled.12' => 'sldm', - 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => 'ppsm', - 'application/vnd.ms-powerpoint.template.macroenabled.12' => 'potm', - 'application/vnd.ms-project' => 'mpp', - 'application/vnd.ms-word.document.macroenabled.12' => 'docm', - 'application/vnd.ms-word.template.macroenabled.12' => 'dotm', - 'application/vnd.ms-works' => 'wps', - 'application/vnd.ms-wpl' => 'wpl', - 'application/vnd.ms-xpsdocument' => 'xps', - 'application/vnd.mseq' => 'mseq', - 'application/vnd.musician' => 'mus', - 'application/vnd.muvee.style' => 'msty', - 'application/vnd.neurolanguage.nlu' => 'nlu', - 'application/vnd.noblenet-directory' => 'nnd', - 'application/vnd.noblenet-sealer' => 'nns', - 'application/vnd.noblenet-web' => 'nnw', - 'application/vnd.nokia.n-gage.data' => 'ngdat', - 'application/vnd.nokia.n-gage.symbian.install' => 'n-gage', - 'application/vnd.nokia.radio-preset' => 'rpst', - 'application/vnd.nokia.radio-presets' => 'rpss', - 'application/vnd.novadigm.edm' => 'edm', - 'application/vnd.novadigm.edx' => 'edx', - 'application/vnd.novadigm.ext' => 'ext', - 'application/vnd.oasis.opendocument.chart' => 'odc', - 'application/vnd.oasis.opendocument.chart-template' => 'otc', - 'application/vnd.oasis.opendocument.database' => 'odb', - 'application/vnd.oasis.opendocument.formula' => 'odf', - 'application/vnd.oasis.opendocument.formula-template' => 'odft', - 'application/vnd.oasis.opendocument.graphics' => 'odg', - 'application/vnd.oasis.opendocument.graphics-template' => 'otg', - 'application/vnd.oasis.opendocument.image' => 'odi', - 'application/vnd.oasis.opendocument.image-template' => 'oti', - 'application/vnd.oasis.opendocument.presentation' => 'odp', - 'application/vnd.oasis.opendocument.presentation-template' => 'otp', - 'application/vnd.oasis.opendocument.spreadsheet' => 'ods', - 'application/vnd.oasis.opendocument.spreadsheet-template' => 'ots', - 'application/vnd.oasis.opendocument.text' => 'odt', - 'application/vnd.oasis.opendocument.text-master' => 'odm', - 'application/vnd.oasis.opendocument.text-template' => 'ott', - 'application/vnd.oasis.opendocument.text-web' => 'oth', - 'application/vnd.olpc-sugar' => 'xo', - 'application/vnd.oma.dd2+xml' => 'dd2', - 'application/vnd.openofficeorg.extension' => 'oxt', - 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'pptx', - 'application/vnd.openxmlformats-officedocument.presentationml.slide' => 'sldx', - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'ppsx', - 'application/vnd.openxmlformats-officedocument.presentationml.template' => 'potx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'xlsx', - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 'xltx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'docx', - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 'dotx', - 'application/vnd.osgeo.mapguide.package' => 'mgp', - 'application/vnd.osgi.dp' => 'dp', - 'application/vnd.palm' => 'pdb', - 'application/vnd.pawaafile' => 'paw', - 'application/vnd.pg.format' => 'str', - 'application/vnd.pg.osasli' => 'ei6', - 'application/vnd.picsel' => 'efif', - 'application/vnd.pmi.widget' => 'wg', - 'application/vnd.pocketlearn' => 'plf', - 'application/vnd.powerbuilder6' => 'pbd', - 'application/vnd.previewsystems.box' => 'box', - 'application/vnd.proteus.magazine' => 'mgz', - 'application/vnd.publishare-delta-tree' => 'qps', - 'application/vnd.pvi.ptid1' => 'ptid', - 'application/vnd.quark.quarkxpress' => 'qxd', - 'application/vnd.realvnc.bed' => 'bed', - 'application/vnd.recordare.musicxml' => 'mxl', - 'application/vnd.recordare.musicxml+xml' => 'musicxml', - 'application/vnd.rig.cryptonote' => 'cryptonote', - 'application/vnd.rim.cod' => 'cod', - 'application/vnd.rn-realmedia' => 'rm', - 'application/vnd.route66.link66+xml' => 'link66', - 'application/vnd.sailingtracker.track' => 'st', - 'application/vnd.seemail' => 'see', - 'application/vnd.sema' => 'sema', - 'application/vnd.semd' => 'semd', - 'application/vnd.semf' => 'semf', - 'application/vnd.shana.informed.formdata' => 'ifm', - 'application/vnd.shana.informed.formtemplate' => 'itp', - 'application/vnd.shana.informed.interchange' => 'iif', - 'application/vnd.shana.informed.package' => 'ipk', - 'application/vnd.simtech-mindmapper' => 'twd', - 'application/vnd.smaf' => 'mmf', - 'application/vnd.smart.teacher' => 'teacher', - 'application/vnd.solent.sdkm+xml' => 'sdkm', - 'application/vnd.spotfire.dxp' => 'dxp', - 'application/vnd.spotfire.sfs' => 'sfs', - 'application/vnd.stardivision.calc' => 'sdc', - 'application/vnd.stardivision.draw' => 'sda', - 'application/vnd.stardivision.impress' => 'sdd', - 'application/vnd.stardivision.math' => 'smf', - 'application/vnd.stardivision.writer' => 'sdw', - 'application/vnd.stardivision.writer-global' => 'sgl', - 'application/vnd.stepmania.stepchart' => 'sm', - 'application/vnd.sun.xml.calc' => 'sxc', - 'application/vnd.sun.xml.calc.template' => 'stc', - 'application/vnd.sun.xml.draw' => 'sxd', - 'application/vnd.sun.xml.draw.template' => 'std', - 'application/vnd.sun.xml.impress' => 'sxi', - 'application/vnd.sun.xml.impress.template' => 'sti', - 'application/vnd.sun.xml.math' => 'sxm', - 'application/vnd.sun.xml.writer' => 'sxw', - 'application/vnd.sun.xml.writer.global' => 'sxg', - 'application/vnd.sun.xml.writer.template' => 'stw', - 'application/vnd.sus-calendar' => 'sus', - 'application/vnd.svd' => 'svd', - 'application/vnd.symbian.install' => 'sis', - 'application/vnd.syncml+xml' => 'xsm', - 'application/vnd.syncml.dm+wbxml' => 'bdm', - 'application/vnd.syncml.dm+xml' => 'xdm', - 'application/vnd.tao.intent-module-archive' => 'tao', - 'application/vnd.tmobile-livetv' => 'tmo', - 'application/vnd.trid.tpt' => 'tpt', - 'application/vnd.triscape.mxs' => 'mxs', - 'application/vnd.trueapp' => 'tra', - 'application/vnd.ufdl' => 'ufd', - 'application/vnd.uiq.theme' => 'utz', - 'application/vnd.umajin' => 'umj', - 'application/vnd.unity' => 'unityweb', - 'application/vnd.uoml+xml' => 'uoml', - 'application/vnd.vcx' => 'vcx', - 'application/vnd.visio' => 'vsd', - 'application/vnd.visionary' => 'vis', - 'application/vnd.vsf' => 'vsf', - 'application/vnd.wap.wbxml' => 'wbxml', - 'application/vnd.wap.wmlc' => 'wmlc', - 'application/vnd.wap.wmlscriptc' => 'wmlsc', - 'application/vnd.webturbo' => 'wtb', - 'application/vnd.wolfram.player' => 'nbp', - 'application/vnd.wordperfect' => 'wpd', - 'application/vnd.wqd' => 'wqd', - 'application/vnd.wt.stf' => 'stf', - 'application/vnd.xara' => 'xar', - 'application/vnd.xfdl' => 'xfdl', - 'application/vnd.yamaha.hv-dic' => 'hvd', - 'application/vnd.yamaha.hv-script' => 'hvs', - 'application/vnd.yamaha.hv-voice' => 'hvp', - 'application/vnd.yamaha.openscoreformat' => 'osf', - 'application/vnd.yamaha.openscoreformat.osfpvg+xml' => 'osfpvg', - 'application/vnd.yamaha.smaf-audio' => 'saf', - 'application/vnd.yamaha.smaf-phrase' => 'spf', - 'application/vnd.yellowriver-custom-menu' => 'cmp', - 'application/vnd.zul' => 'zir', - 'application/vnd.zzazz.deck+xml' => 'zaz', - 'application/voicexml+xml' => 'vxml', - 'application/widget' => 'wgt', - 'application/winhlp' => 'hlp', - 'application/wsdl+xml' => 'wsdl', - 'application/wspolicy+xml' => 'wspolicy', - 'application/x-7z-compressed' => '7z', - 'application/x-abiword' => 'abw', - 'application/x-ace-compressed' => 'ace', - 'application/x-authorware-bin' => 'aab', - 'application/x-authorware-map' => 'aam', - 'application/x-authorware-seg' => 'aas', - 'application/x-bcpio' => 'bcpio', - 'application/x-bittorrent' => 'torrent', - 'application/x-bzip' => 'bz', - 'application/x-bzip2' => 'bz2', - 'application/x-cdlink' => 'vcd', - 'application/x-chat' => 'chat', - 'application/x-chess-pgn' => 'pgn', - 'application/x-cpio' => 'cpio', - 'application/x-csh' => 'csh', - 'application/x-debian-package' => 'deb', - 'application/x-director' => 'dir', - 'application/x-doom' => 'wad', - 'application/x-dtbncx+xml' => 'ncx', - 'application/x-dtbook+xml' => 'dtb', - 'application/x-dtbresource+xml' => 'res', - 'application/x-dvi' => 'dvi', - 'application/x-font-bdf' => 'bdf', - 'application/x-font-ghostscript' => 'gsf', - 'application/x-font-linux-psf' => 'psf', - 'application/x-font-otf' => 'otf', - 'application/x-font-pcf' => 'pcf', - 'application/x-font-snf' => 'snf', - 'application/x-font-ttf' => 'ttf', - 'application/x-font-type1' => 'pfa', - 'application/x-font-woff' => 'woff', - 'application/x-futuresplash' => 'spl', - 'application/x-gnumeric' => 'gnumeric', - 'application/x-gtar' => 'gtar', - 'application/x-hdf' => 'hdf', - 'application/x-java-jnlp-file' => 'jnlp', - 'application/x-latex' => 'latex', - 'application/x-mobipocket-ebook' => 'prc', - 'application/x-ms-application' => 'application', - 'application/x-ms-wmd' => 'wmd', - 'application/x-ms-wmz' => 'wmz', - 'application/x-ms-xbap' => 'xbap', - 'application/x-msaccess' => 'mdb', - 'application/x-msbinder' => 'obd', - 'application/x-mscardfile' => 'crd', - 'application/x-msclip' => 'clp', - 'application/x-msdownload' => 'exe', - 'application/x-msmediaview' => 'mvb', - 'application/x-msmetafile' => 'wmf', - 'application/x-msmoney' => 'mny', - 'application/x-mspublisher' => 'pub', - 'application/x-msschedule' => 'scd', - 'application/x-msterminal' => 'trm', - 'application/x-mswrite' => 'wri', - 'application/x-netcdf' => 'nc', - 'application/x-pkcs12' => 'p12', - 'application/x-pkcs7-certificates' => 'p7b', - 'application/x-pkcs7-certreqresp' => 'p7r', - 'application/x-rar-compressed' => 'rar', - 'application/x-sh' => 'sh', - 'application/x-shar' => 'shar', - 'application/x-shockwave-flash' => 'swf', - 'application/x-silverlight-app' => 'xap', - 'application/x-stuffit' => 'sit', - 'application/x-stuffitx' => 'sitx', - 'application/x-sv4cpio' => 'sv4cpio', - 'application/x-sv4crc' => 'sv4crc', - 'application/x-tar' => 'tar', - 'application/x-tcl' => 'tcl', - 'application/x-tex' => 'tex', - 'application/x-tex-tfm' => 'tfm', - 'application/x-texinfo' => 'texinfo', - 'application/x-ustar' => 'ustar', - 'application/x-wais-source' => 'src', - 'application/x-x509-ca-cert' => 'der', - 'application/x-xfig' => 'fig', - 'application/x-xpinstall' => 'xpi', - 'application/xcap-diff+xml' => 'xdf', - 'application/xenc+xml' => 'xenc', - 'application/xhtml+xml' => 'xhtml', - 'application/xml' => 'xml', - 'application/xml-dtd' => 'dtd', - 'application/xop+xml' => 'xop', - 'application/xslt+xml' => 'xslt', - 'application/xspf+xml' => 'xspf', - 'application/xv+xml' => 'mxml', - 'application/yang' => 'yang', - 'application/yin+xml' => 'yin', - 'application/zip' => 'zip', - 'audio/adpcm' => 'adp', - 'audio/basic' => 'au', - 'audio/midi' => 'mid', - 'audio/mp4' => 'mp4a', - 'audio/mpeg' => 'mpga', - 'audio/ogg' => 'oga', - 'audio/vnd.dece.audio' => 'uva', - 'audio/vnd.digital-winds' => 'eol', - 'audio/vnd.dra' => 'dra', - 'audio/vnd.dts' => 'dts', - 'audio/vnd.dts.hd' => 'dtshd', - 'audio/vnd.lucent.voice' => 'lvp', - 'audio/vnd.ms-playready.media.pya' => 'pya', - 'audio/vnd.nuera.ecelp4800' => 'ecelp4800', - 'audio/vnd.nuera.ecelp7470' => 'ecelp7470', - 'audio/vnd.nuera.ecelp9600' => 'ecelp9600', - 'audio/vnd.rip' => 'rip', - 'audio/webm' => 'weba', - 'audio/x-aac' => 'aac', - 'audio/x-aiff' => 'aif', - 'audio/x-mpegurl' => 'm3u', - 'audio/x-ms-wax' => 'wax', - 'audio/x-ms-wma' => 'wma', - 'audio/x-pn-realaudio' => 'ram', - 'audio/x-pn-realaudio-plugin' => 'rmp', - 'audio/x-wav' => 'wav', - 'chemical/x-cdx' => 'cdx', - 'chemical/x-cif' => 'cif', - 'chemical/x-cmdf' => 'cmdf', - 'chemical/x-cml' => 'cml', - 'chemical/x-csml' => 'csml', - 'chemical/x-xyz' => 'xyz', - 'image/bmp' => 'bmp', - 'image/cgm' => 'cgm', - 'image/g3fax' => 'g3', - 'image/gif' => 'gif', - 'image/ief' => 'ief', - 'image/jpeg' => 'jpeg jpg', - 'image/ktx' => 'ktx', - 'image/png' => 'png', - 'image/prs.btif' => 'btif', - 'image/svg+xml' => 'svg', - 'image/tiff' => 'tiff', - 'image/vnd.adobe.photoshop' => 'psd', - 'image/vnd.dece.graphic' => 'uvi', - 'image/vnd.djvu' => 'djvu', - 'image/vnd.dvb.subtitle' => 'sub', - 'image/vnd.dwg' => 'dwg', - 'image/vnd.dxf' => 'dxf', - 'image/vnd.fastbidsheet' => 'fbs', - 'image/vnd.fpx' => 'fpx', - 'image/vnd.fst' => 'fst', - 'image/vnd.fujixerox.edmics-mmr' => 'mmr', - 'image/vnd.fujixerox.edmics-rlc' => 'rlc', - 'image/vnd.ms-modi' => 'mdi', - 'image/vnd.net-fpx' => 'npx', - 'image/vnd.wap.wbmp' => 'wbmp', - 'image/vnd.xiff' => 'xif', - 'image/webp' => 'webp', - 'image/x-cmu-raster' => 'ras', - 'image/x-cmx' => 'cmx', - 'image/x-freehand' => 'fh', - 'image/x-icon' => 'ico', - 'image/x-pcx' => 'pcx', - 'image/x-pict' => 'pic', - 'image/x-portable-anymap' => 'pnm', - 'image/x-portable-bitmap' => 'pbm', - 'image/x-portable-graymap' => 'pgm', - 'image/x-portable-pixmap' => 'ppm', - 'image/x-rgb' => 'rgb', - 'image/x-xbitmap' => 'xbm', - 'image/x-xpixmap' => 'xpm', - 'image/x-xwindowdump' => 'xwd', - 'message/rfc822' => 'eml', - 'model/iges' => 'igs', - 'model/mesh' => 'msh', - 'model/vnd.collada+xml' => 'dae', - 'model/vnd.dwf' => 'dwf', - 'model/vnd.gdl' => 'gdl', - 'model/vnd.gtw' => 'gtw', - 'model/vnd.mts' => 'mts', - 'model/vnd.vtu' => 'vtu', - 'model/vrml' => 'wrl', - 'text/calendar' => 'ics', - 'text/css' => 'css', - 'text/csv' => 'csv', - 'text/html' => 'html', - 'text/n3' => 'n3', - 'text/plain' => 'txt', - 'text/plain-bas' => 'par', - 'text/prs.lines.tag' => 'dsc', - 'text/richtext' => 'rtx', - 'text/sgml' => 'sgml', - 'text/tab-separated-values' => 'tsv', - 'text/troff' => 't', - 'text/turtle' => 'ttl', - 'text/uri-list' => 'uri', - 'text/vnd.curl' => 'curl', - 'text/vnd.curl.dcurl' => 'dcurl', - 'text/vnd.curl.mcurl' => 'mcurl', - 'text/vnd.curl.scurl' => 'scurl', - 'text/vnd.fly' => 'fly', - 'text/vnd.fmi.flexstor' => 'flx', - 'text/vnd.graphviz' => 'gv', - 'text/vnd.in3d.3dml' => '3dml', - 'text/vnd.in3d.spot' => 'spot', - 'text/vnd.sun.j2me.app-descriptor' => 'jad', - 'text/vnd.wap.wml' => 'wml', - 'text/vnd.wap.wmlscript' => 'wmls', - 'text/x-asm' => 's', - 'text/x-c' => 'c', - 'text/x-fortran' => 'f', - 'text/x-java-source,java' => 'java', - 'text/x-markdown' => 'md', - 'text/x-pascal' => 'p', - 'text/x-setext' => 'etx', - 'text/x-uuencode' => 'uu', - 'text/x-vcalendar' => 'vcs', - 'text/x-vcard' => 'vcf', - 'text/yaml' => 'yaml', - 'video/3gpp' => '3gp', - 'video/3gpp2' => '3g2', - 'video/h261' => 'h261', - 'video/h263' => 'h263', - 'video/h264' => 'h264', - 'video/jpeg' => 'jpgv', - 'video/jpm' => 'jpm', - 'video/mj2' => 'mj2', - 'video/mp4' => 'mp4', - 'video/mpeg' => 'mpeg', - 'video/ogg' => 'ogv', - 'video/quicktime' => 'qt', - 'video/vnd.dece.hd' => 'uvh', - 'video/vnd.dece.mobile' => 'uvm', - 'video/vnd.dece.pd' => 'uvp', - 'video/vnd.dece.sd' => 'uvs', - 'video/vnd.dece.video' => 'uvv', - 'video/vnd.fvt' => 'fvt', - 'video/vnd.mpegurl' => 'mxu', - 'video/vnd.ms-playready.media.pyv' => 'pyv', - 'video/vnd.uvvu.mp4' => 'uvu', - 'video/vnd.vivo' => 'viv', - 'video/webm' => 'webm', - 'video/x-f4v' => 'f4v', - 'video/x-fli' => 'fli', - 'video/x-flv' => 'flv', - 'video/x-m4v' => 'm4v', - 'video/x-ms-asf' => 'asf', - 'video/x-ms-wm' => 'wm', - 'video/x-ms-wmv' => 'wmv', - 'video/x-ms-wmx' => 'wmx', - 'video/x-ms-wvx' => 'wvx', - 'video/x-msvideo' => 'avi', - 'video/x-sgi-movie' => 'movie', - 'x-conference/x-cooltalk' => 'ice', - 'text/json' => 'json', - 'text/x-php' => 'php', + const Types = [ +#>_SHELL_REPLACE dbq db=$NB_DB t=mime_type -cut 2,3 | perl -pe "s/'/\\\\'/; s/^(.*?)\t(.*?)$/ '\$1' => '\$2',/" +#>SHELL_REPLACE dbq db=$NB_DB t="SELECT type,ext FROM mime_type" format=php_hash align=0 | sed "s/^/$(printf '\t\t')/" + "application/applixware" => "aw", + "application/atomcat+xml" => "atomcat", + "application/atomsvc+xml" => "atomsvc", + "application/ccxml+xml," => "ccxml", + "application/cdmi-capability" => "cdmia", + "application/cdmi-container" => "cdmic", + "application/cdmi-domain" => "cdmid", + "application/cdmi-object" => "cdmio", + "application/cdmi-queue" => "cdmiq", + "application/cu-seeme" => "cu", + "application/davmount+xml" => "davmount", + "application/dssc+der" => "dssc", + "application/dssc+xml" => "xdssc", + "application/ecmascript" => "es", + "application/emma+xml" => "emma", + "application/epub+zip" => "epub", + "application/exi" => "exi", + "application/font-tdpfr" => "pfr", + "application/hyperstudio" => "stk", + "application/ipfix" => "ipfix", + "application/java-archive" => "jar", + "application/java-serialized-object" => "ser", + "application/java-vm" => "class", + "application/javascript" => "js", + "application/json" => "json", + "application/mac-binhex40" => "hqx", + "application/mac-compactpro" => "cpt", + "application/mads+xml" => "mads", + "application/marc" => "mrc", + "application/marcxml+xml" => "mrcx", + "application/mathematica" => "ma", + "application/mathml+xml" => "mathml", + "application/mbox" => "mbox", + "application/mediaservercontrol+xml" => "mscml", + "application/metalink4+xml" => "meta4", + "application/mets+xml" => "mets", + "application/mods+xml" => "mods", + "application/mp21" => "m21", + "application/mp4" => "mp4", + "application/msword" => "doc", + "application/mxf" => "mxf", + "application/octet-stream" => "bin", + "application/oda" => "oda", + "application/oebps-package+xml" => "opf", + "application/ogg" => "ogx", + "application/onenote" => "onetoc", + "application/patch-ops-error+xml" => "xer", + "application/pdf" => "pdf", + "application/pgp-signature" => "pgp", + "application/pics-rules" => "prf", + "application/pkcs10" => "p10", + "application/pkcs7-mime" => "p7m", + "application/pkcs7-signature" => "p7s", + "application/pkcs8" => "p8", + "application/pkix-attr-cert" => "ac", + "application/pkix-cert" => "cer", + "application/pkix-crl" => "crl", + "application/pkix-pkipath" => "pkipath", + "application/pkixcmp" => "pki", + "application/pls+xml" => "pls", + "application/postscript" => "ai", + "application/prs.cww" => "cww", + "application/pskc+xml" => "pskcxml", + "application/rdf+xml" => "rdf", + "application/reginfo+xml" => "rif", + "application/relax-ng-compact-syntax" => "rnc", + "application/resource-lists+xml" => "rl", + "application/resource-lists-diff+xml" => "rld", + "application/rls-services+xml" => "rs", + "application/rsd+xml" => "rsd", + "application/rss+xml" => "rss", + "application/rtf" => "rtf", + "application/sbml+xml" => "sbml", + "application/scvp-cv-request" => "scq", + "application/scvp-cv-response" => "scs", + "application/scvp-vp-request" => "spq", + "application/scvp-vp-response" => "spp", + "application/sdp" => "sdp", + "application/set-payment-initiation" => "setpay", + "application/set-registration-initiation" => "setreg", + "application/shf+xml" => "shf", + "application/smil+xml" => "smi", + "application/sparql-query" => "rq", + "application/sparql-results+xml" => "srx", + "application/srgs" => "gram", + "application/srgs+xml" => "grxml", + "application/sru+xml" => "sru", + "application/ssml+xml" => "ssml", + "application/tei+xml" => "tei", + "application/thraud+xml" => "tfi", + "application/timestamped-data" => "tsd", + "application/vnd.3gpp.pic-bw-large" => "plb", + "application/vnd.3gpp.pic-bw-small" => "psb", + "application/vnd.3gpp.pic-bw-var" => "pvb", + "application/vnd.3gpp2.tcap" => "tcap", + "application/vnd.3m.post-it-notes" => "pwn", + "application/vnd.accpac.simply.aso" => "aso", + "application/vnd.accpac.simply.imp" => "imp", + "application/vnd.acucobol" => "acu", + "application/vnd.acucorp" => "atc", + "application/vnd.adobe.air-application-installer-package+zip" => "air", + "application/vnd.adobe.fxp" => "fxp", + "application/vnd.adobe.xdp+xml" => "xdp", + "application/vnd.adobe.xfdf" => "xfdf", + "application/vnd.ahead.space" => "ahead", + "application/vnd.airzip.filesecure.azf" => "azf", + "application/vnd.airzip.filesecure.azs" => "azs", + "application/vnd.amazon.ebook" => "azw", + "application/vnd.americandynamics.acc" => "acc", + "application/vnd.amiga.ami" => "ami", + "application/vnd.android.package-archive" => "apk", + "application/vnd.anser-web-certificate-issue-initiation" => "cii", + "application/vnd.anser-web-funds-transfer-initiation" => "fti", + "application/vnd.antix.game-component" => "atx", + "application/vnd.apple.installer+xml" => "mpkg", + "application/vnd.apple.mpegurl" => "m3u8", + "application/vnd.aristanetworks.swi" => "swi", + "application/vnd.audiograph" => "aep", + "application/vnd.blueice.multipass" => "mpm", + "application/vnd.bmi" => "bmi", + "application/vnd.businessobjects" => "rep", + "application/vnd.chemdraw+xml" => "cdxml", + "application/vnd.chipnuts.karaoke-mmd" => "mmd", + "application/vnd.cinderella" => "cdy", + "application/vnd.claymore" => "cla", + "application/vnd.cloanto.rp9" => "rp9", + "application/vnd.clonk.c4group" => "c4g", + "application/vnd.cluetrust.cartomobile-config" => "c11amc", + "application/vnd.cluetrust.cartomobile-config-pkg" => "c11amz", + "application/vnd.commonspace" => "csp", + "application/vnd.contact.cmsg" => "cdbcmsg", + "application/vnd.cosmocaller" => "cmc", + "application/vnd.crick.clicker" => "clkx", + "application/vnd.crick.clicker.keyboard" => "clkk", + "application/vnd.crick.clicker.palette" => "clkp", + "application/vnd.crick.clicker.template" => "clkt", + "application/vnd.crick.clicker.wordbank" => "clkw", + "application/vnd.criticaltools.wbs+xml" => "wbs", + "application/vnd.ctc-posml" => "pml", + "application/vnd.cups-ppd" => "ppd", + "application/vnd.curl.car" => "car", + "application/vnd.curl.pcurl" => "pcurl", + "application/vnd.data-vision.rdz" => "rdz", + "application/vnd.denovo.fcselayout-link" => "fe_launch", + "application/vnd.dna" => "dna", + "application/vnd.dolby.mlp" => "mlp", + "application/vnd.dpgraph" => "dpg", + "application/vnd.dreamfactory" => "dfac", + "application/vnd.dvb.ait" => "ait", + "application/vnd.dvb.service" => "svc", + "application/vnd.dynageo" => "geo", + "application/vnd.ecowin.chart" => "mag", + "application/vnd.enliven" => "nml", + "application/vnd.epson.esf" => "esf", + "application/vnd.epson.msf" => "msf", + "application/vnd.epson.quickanime" => "qam", + "application/vnd.epson.salt" => "slt", + "application/vnd.epson.ssf" => "ssf", + "application/vnd.eszigno3+xml" => "es3", + "application/vnd.ezpix-album" => "ez2", + "application/vnd.ezpix-package" => "ez3", + "application/vnd.fdf" => "fdf", + "application/vnd.fdsn.seed" => "seed", + "application/vnd.flographit" => "gph", + "application/vnd.fluxtime.clip" => "ftc", + "application/vnd.framemaker" => "fm", + "application/vnd.frogans.fnc" => "fnc", + "application/vnd.frogans.ltf" => "ltf", + "application/vnd.fsc.weblaunch" => "fsc", + "application/vnd.fujitsu.oasys" => "oas", + "application/vnd.fujitsu.oasys2" => "oa2", + "application/vnd.fujitsu.oasys3" => "oa3", + "application/vnd.fujitsu.oasysgp" => "fg5", + "application/vnd.fujitsu.oasysprs" => "bh2", + "application/vnd.fujixerox.ddd" => "ddd", + "application/vnd.fujixerox.docuworks" => "xdw", + "application/vnd.fujixerox.docuworks.binder" => "xbd", + "application/vnd.fuzzysheet" => "fzs", + "application/vnd.genomatix.tuxedo" => "txd", + "application/vnd.geogebra.file" => "ggb", + "application/vnd.geogebra.tool" => "ggt", + "application/vnd.geometry-explorer" => "gex", + "application/vnd.geonext" => "gxt", + "application/vnd.geoplan" => "g2w", + "application/vnd.geospace" => "g3w", + "application/vnd.gmx" => "gmx", + "application/vnd.google-earth.kml+xml" => "kml", + "application/vnd.google-earth.kmz" => "kmz", + "application/vnd.grafeq" => "gqf", + "application/vnd.groove-account" => "gac", + "application/vnd.groove-help" => "ghf", + "application/vnd.groove-identity-message" => "gim", + "application/vnd.groove-injector" => "grv", + "application/vnd.groove-tool-message" => "gtm", + "application/vnd.groove-tool-template" => "tpl", + "application/vnd.groove-vcard" => "vcg", + "application/vnd.hal+xml" => "hal", + "application/vnd.handheld-entertainment+xml" => "zmm", + "application/vnd.hbci" => "hbci", + "application/vnd.hhe.lesson-player" => "les", + "application/vnd.hp-hpgl" => "hpgl", + "application/vnd.hp-hpid" => "hpid", + "application/vnd.hp-hps" => "hps", + "application/vnd.hp-jlyt" => "jlt", + "application/vnd.hp-pcl" => "pcl", + "application/vnd.hp-pclxl" => "pclxl", + "application/vnd.hydrostatix.sof-data" => "sfd-hdstx", + "application/vnd.hzn-3d-crossword" => "x3d", + "application/vnd.ibm.minipay" => "mpy", + "application/vnd.ibm.modcap" => "afp", + "application/vnd.ibm.rights-management" => "irm", + "application/vnd.ibm.secure-container" => "sc", + "application/vnd.iccprofile" => "icc", + "application/vnd.igloader" => "igl", + "application/vnd.immervision-ivp" => "ivp", + "application/vnd.immervision-ivu" => "ivu", + "application/vnd.insors.igm" => "igm", + "application/vnd.intercon.formnet" => "xpw", + "application/vnd.intergeo" => "i2g", + "application/vnd.intu.qbo" => "qbo", + "application/vnd.intu.qfx" => "qfx", + "application/vnd.ipunplugged.rcprofile" => "rcprofile", + "application/vnd.irepository.package+xml" => "irp", + "application/vnd.is-xpr" => "xpr", + "application/vnd.isac.fcs" => "fcs", + "application/vnd.jam" => "jam", + "application/vnd.jcp.javame.midlet-rms" => "rms", + "application/vnd.jisp" => "jisp", + "application/vnd.joost.joda-archive" => "joda", + "application/vnd.kahootz" => "ktz", + "application/vnd.kde.karbon" => "karbon", + "application/vnd.kde.kchart" => "chrt", + "application/vnd.kde.kformula" => "kfo", + "application/vnd.kde.kivio" => "flw", + "application/vnd.kde.kontour" => "kon", + "application/vnd.kde.kpresenter" => "kpr", + "application/vnd.kde.kspread" => "ksp", + "application/vnd.kde.kword" => "kwd", + "application/vnd.kenameaapp" => "htke", + "application/vnd.kidspiration" => "kia", + "application/vnd.kinar" => "kne", + "application/vnd.koan" => "skp", + "application/vnd.kodak-descriptor" => "sse", + "application/vnd.las.las+xml" => "lasxml", + "application/vnd.llamagraphics.life-balance.desktop" => "lbd", + "application/vnd.llamagraphics.life-balance.exchange+xml" => "lbe", + "application/vnd.lotus-1-2-3" => "123", + "application/vnd.lotus-approach" => "apr", + "application/vnd.lotus-freelance" => "pre", + "application/vnd.lotus-notes" => "nsf", + "application/vnd.lotus-organizer" => "org", + "application/vnd.lotus-screencam" => "scm", + "application/vnd.lotus-wordpro" => "lwp", + "application/vnd.macports.portpkg" => "portpkg", + "application/vnd.mcd" => "mcd", + "application/vnd.medcalcdata" => "mc1", + "application/vnd.mediastation.cdkey" => "cdkey", + "application/vnd.mfer" => "mwf", + "application/vnd.mfmp" => "mfm", + "application/vnd.micrografx.flo" => "flo", + "application/vnd.micrografx.igx" => "igx", + "application/vnd.mif" => "mif", + "application/vnd.mobius.daf" => "daf", + "application/vnd.mobius.dis" => "dis", + "application/vnd.mobius.mbk" => "mbk", + "application/vnd.mobius.mqy" => "mqy", + "application/vnd.mobius.msl" => "msl", + "application/vnd.mobius.plc" => "plc", + "application/vnd.mobius.txf" => "txf", + "application/vnd.mophun.application" => "mpn", + "application/vnd.mophun.certificate" => "mpc", + "application/vnd.mozilla.xul+xml" => "xul", + "application/vnd.ms-artgalry" => "cil", + "application/vnd.ms-cab-compressed" => "cab", + "application/vnd.ms-excel" => "xls", + "application/vnd.ms-excel.addin.macroenabled.12" => "xlam", + "application/vnd.ms-excel.sheet.binary.macroenabled.12" => "xlsb", + "application/vnd.ms-excel.sheet.macroenabled.12" => "xlsm", + "application/vnd.ms-excel.template.macroenabled.12" => "xltm", + "application/vnd.ms-fontobject" => "eot", + "application/vnd.ms-htmlhelp" => "chm", + "application/vnd.ms-ims" => "ims", + "application/vnd.ms-lrm" => "lrm", + "application/vnd.ms-officetheme" => "thmx", + "application/vnd.ms-pki.seccat" => "cat", + "application/vnd.ms-pki.stl" => "stl", + "application/vnd.ms-powerpoint" => "ppt", + "application/vnd.ms-powerpoint.addin.macroenabled.12" => "ppam", + "application/vnd.ms-powerpoint.presentation.macroenabled.12" => "pptm", + "application/vnd.ms-powerpoint.slide.macroenabled.12" => "sldm", + "application/vnd.ms-powerpoint.slideshow.macroenabled.12" => "ppsm", + "application/vnd.ms-powerpoint.template.macroenabled.12" => "potm", + "application/vnd.ms-project" => "mpp", + "application/vnd.ms-word.document.macroenabled.12" => "docm", + "application/vnd.ms-word.template.macroenabled.12" => "dotm", + "application/vnd.ms-works" => "wps", + "application/vnd.ms-wpl" => "wpl", + "application/vnd.ms-xpsdocument" => "xps", + "application/vnd.mseq" => "mseq", + "application/vnd.musician" => "mus", + "application/vnd.muvee.style" => "msty", + "application/vnd.neurolanguage.nlu" => "nlu", + "application/vnd.noblenet-directory" => "nnd", + "application/vnd.noblenet-sealer" => "nns", + "application/vnd.noblenet-web" => "nnw", + "application/vnd.nokia.n-gage.data" => "ngdat", + "application/vnd.nokia.n-gage.symbian.install" => "n-gage", + "application/vnd.nokia.radio-preset" => "rpst", + "application/vnd.nokia.radio-presets" => "rpss", + "application/vnd.novadigm.edm" => "edm", + "application/vnd.novadigm.edx" => "edx", + "application/vnd.novadigm.ext" => "ext", + "application/vnd.oasis.opendocument.chart" => "odc", + "application/vnd.oasis.opendocument.chart-template" => "otc", + "application/vnd.oasis.opendocument.database" => "odb", + "application/vnd.oasis.opendocument.formula" => "odf", + "application/vnd.oasis.opendocument.formula-template" => "odft", + "application/vnd.oasis.opendocument.graphics" => "odg", + "application/vnd.oasis.opendocument.graphics-template" => "otg", + "application/vnd.oasis.opendocument.image" => "odi", + "application/vnd.oasis.opendocument.image-template" => "oti", + "application/vnd.oasis.opendocument.presentation" => "odp", + "application/vnd.oasis.opendocument.presentation-template" => "otp", + "application/vnd.oasis.opendocument.spreadsheet" => "ods", + "application/vnd.oasis.opendocument.spreadsheet-template" => "ots", + "application/vnd.oasis.opendocument.text" => "odt", + "application/vnd.oasis.opendocument.text-master" => "odm", + "application/vnd.oasis.opendocument.text-template" => "ott", + "application/vnd.oasis.opendocument.text-web" => "oth", + "application/vnd.olpc-sugar" => "xo", + "application/vnd.oma.dd2+xml" => "dd2", + "application/vnd.openofficeorg.extension" => "oxt", + "application/vnd.openxmlformats-officedocument.presentationml.presentation" => "pptx", + "application/vnd.openxmlformats-officedocument.presentationml.slide" => "sldx", + "application/vnd.openxmlformats-officedocument.presentationml.slideshow" => "ppsx", + "application/vnd.openxmlformats-officedocument.presentationml.template" => "potx", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" => "xlsx", + "application/vnd.openxmlformats-officedocument.spreadsheetml.template" => "xltx", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" => "docx", + "application/vnd.openxmlformats-officedocument.wordprocessingml.template" => "dotx", + "application/vnd.osgeo.mapguide.package" => "mgp", + "application/vnd.osgi.dp" => "dp", + "application/vnd.palm" => "pdb", + "application/vnd.pawaafile" => "paw", + "application/vnd.pg.format" => "str", + "application/vnd.pg.osasli" => "ei6", + "application/vnd.picsel" => "efif", + "application/vnd.pmi.widget" => "wg", + "application/vnd.pocketlearn" => "plf", + "application/vnd.powerbuilder6" => "pbd", + "application/vnd.previewsystems.box" => "box", + "application/vnd.proteus.magazine" => "mgz", + "application/vnd.publishare-delta-tree" => "qps", + "application/vnd.pvi.ptid1" => "ptid", + "application/vnd.quark.quarkxpress" => "qxd", + "application/vnd.realvnc.bed" => "bed", + "application/vnd.recordare.musicxml" => "mxl", + "application/vnd.recordare.musicxml+xml" => "musicxml", + "application/vnd.rig.cryptonote" => "cryptonote", + "application/vnd.rim.cod" => "cod", + "application/vnd.rn-realmedia" => "rm", + "application/vnd.route66.link66+xml" => "link66", + "application/vnd.sailingtracker.track" => "st", + "application/vnd.seemail" => "see", + "application/vnd.sema" => "sema", + "application/vnd.semd" => "semd", + "application/vnd.semf" => "semf", + "application/vnd.shana.informed.formdata" => "ifm", + "application/vnd.shana.informed.formtemplate" => "itp", + "application/vnd.shana.informed.interchange" => "iif", + "application/vnd.shana.informed.package" => "ipk", + "application/vnd.simtech-mindmapper" => "twd", + "application/vnd.smaf" => "mmf", + "application/vnd.smart.teacher" => "teacher", + "application/vnd.solent.sdkm+xml" => "sdkm", + "application/vnd.spotfire.dxp" => "dxp", + "application/vnd.spotfire.sfs" => "sfs", + "application/vnd.stardivision.calc" => "sdc", + "application/vnd.stardivision.draw" => "sda", + "application/vnd.stardivision.impress" => "sdd", + "application/vnd.stardivision.math" => "smf", + "application/vnd.stardivision.writer" => "sdw", + "application/vnd.stardivision.writer-global" => "sgl", + "application/vnd.stepmania.stepchart" => "sm", + "application/vnd.sun.xml.calc" => "sxc", + "application/vnd.sun.xml.calc.template" => "stc", + "application/vnd.sun.xml.draw" => "sxd", + "application/vnd.sun.xml.draw.template" => "std", + "application/vnd.sun.xml.impress" => "sxi", + "application/vnd.sun.xml.impress.template" => "sti", + "application/vnd.sun.xml.math" => "sxm", + "application/vnd.sun.xml.writer" => "sxw", + "application/vnd.sun.xml.writer.global" => "sxg", + "application/vnd.sun.xml.writer.template" => "stw", + "application/vnd.sus-calendar" => "sus", + "application/vnd.svd" => "svd", + "application/vnd.symbian.install" => "sis", + "application/vnd.syncml+xml" => "xsm", + "application/vnd.syncml.dm+wbxml" => "bdm", + "application/vnd.syncml.dm+xml" => "xdm", + "application/vnd.tao.intent-module-archive" => "tao", + "application/vnd.tmobile-livetv" => "tmo", + "application/vnd.trid.tpt" => "tpt", + "application/vnd.triscape.mxs" => "mxs", + "application/vnd.trueapp" => "tra", + "application/vnd.ufdl" => "ufd", + "application/vnd.uiq.theme" => "utz", + "application/vnd.umajin" => "umj", + "application/vnd.unity" => "unityweb", + "application/vnd.uoml+xml" => "uoml", + "application/vnd.vcx" => "vcx", + "application/vnd.visio" => "vsd", + "application/vnd.visionary" => "vis", + "application/vnd.vsf" => "vsf", + "application/vnd.wap.wbxml" => "wbxml", + "application/vnd.wap.wmlc" => "wmlc", + "application/vnd.wap.wmlscriptc" => "wmlsc", + "application/vnd.webturbo" => "wtb", + "application/vnd.wolfram.player" => "nbp", + "application/vnd.wordperfect" => "wpd", + "application/vnd.wqd" => "wqd", + "application/vnd.wt.stf" => "stf", + "application/vnd.xara" => "xar", + "application/vnd.xfdl" => "xfdl", + "application/vnd.yamaha.hv-dic" => "hvd", + "application/vnd.yamaha.hv-script" => "hvs", + "application/vnd.yamaha.hv-voice" => "hvp", + "application/vnd.yamaha.openscoreformat" => "osf", + "application/vnd.yamaha.openscoreformat.osfpvg+xml" => "osfpvg", + "application/vnd.yamaha.smaf-audio" => "saf", + "application/vnd.yamaha.smaf-phrase" => "spf", + "application/vnd.yellowriver-custom-menu" => "cmp", + "application/vnd.zul" => "zir", + "application/vnd.zzazz.deck+xml" => "zaz", + "application/voicexml+xml" => "vxml", + "application/widget" => "wgt", + "application/winhlp" => "hlp", + "application/wsdl+xml" => "wsdl", + "application/wspolicy+xml" => "wspolicy", + "application/x-7z-compressed" => "7z", + "application/x-abiword" => "abw", + "application/x-ace-compressed" => "ace", + "application/x-authorware-bin" => "aab", + "application/x-authorware-map" => "aam", + "application/x-authorware-seg" => "aas", + "application/x-bcpio" => "bcpio", + "application/x-bittorrent" => "torrent", + "application/x-bzip" => "bz", + "application/x-bzip2" => "bz2", + "application/x-cdlink" => "vcd", + "application/x-chat" => "chat", + "application/x-chess-pgn" => "pgn", + "application/x-cpio" => "cpio", + "application/x-csh" => "csh", + "application/x-debian-package" => "deb", + "application/x-director" => "dir", + "application/x-doom" => "wad", + "application/x-dtbncx+xml" => "ncx", + "application/x-dtbook+xml" => "dtb", + "application/x-dtbresource+xml" => "res", + "application/x-dvi" => "dvi", + "application/x-font-bdf" => "bdf", + "application/x-font-ghostscript" => "gsf", + "application/x-font-linux-psf" => "psf", + "application/x-font-otf" => "otf", + "application/x-font-pcf" => "pcf", + "application/x-font-snf" => "snf", + "application/x-font-ttf" => "ttf", + "application/x-font-type1" => "pfa", + "application/x-font-woff" => "woff", + "application/x-futuresplash" => "spl", + "application/x-gnumeric" => "gnumeric", + "application/x-gtar" => "gtar", + "application/x-hdf" => "hdf", + "application/x-java-jnlp-file" => "jnlp", + "application/x-latex" => "latex", + "application/x-mobipocket-ebook" => "prc", + "application/x-ms-application" => "application", + "application/x-ms-wmd" => "wmd", + "application/x-ms-wmz" => "wmz", + "application/x-ms-xbap" => "xbap", + "application/x-msaccess" => "mdb", + "application/x-msbinder" => "obd", + "application/x-mscardfile" => "crd", + "application/x-msclip" => "clp", + "application/x-msdownload" => "exe", + "application/x-msmediaview" => "mvb", + "application/x-msmetafile" => "wmf", + "application/x-msmoney" => "mny", + "application/x-mspublisher" => "pub", + "application/x-msschedule" => "scd", + "application/x-msterminal" => "trm", + "application/x-mswrite" => "wri", + "application/x-netcdf" => "nc", + "application/x-pkcs12" => "p12", + "application/x-pkcs7-certificates" => "p7b", + "application/x-pkcs7-certreqresp" => "p7r", + "application/x-rar-compressed" => "rar", + "application/x-sh" => "sh", + "application/x-shar" => "shar", + "application/x-shockwave-flash" => "swf", + "application/x-silverlight-app" => "xap", + "application/x-stuffit" => "sit", + "application/x-stuffitx" => "sitx", + "application/x-sv4cpio" => "sv4cpio", + "application/x-sv4crc" => "sv4crc", + "application/x-tar" => "tar", + "application/x-tcl" => "tcl", + "application/x-tex" => "tex", + "application/x-tex-tfm" => "tfm", + "application/x-texinfo" => "texinfo", + "application/x-ustar" => "ustar", + "application/x-wais-source" => "src", + "application/x-x509-ca-cert" => "der", + "application/x-xfig" => "fig", + "application/x-xpinstall" => "xpi", + "application/xcap-diff+xml" => "xdf", + "application/xenc+xml" => "xenc", + "application/xhtml+xml" => "xhtml", + "application/xml" => "xml", + "application/xml-dtd" => "dtd", + "application/xop+xml" => "xop", + "application/xslt+xml" => "xslt", + "application/xspf+xml" => "xspf", + "application/xv+xml" => "mxml", + "application/yang" => "yang", + "application/yin+xml" => "yin", + "application/zip" => "zip", + "audio/adpcm" => "adp", + "audio/basic" => "au", + "audio/midi" => "mid", + "audio/mp4" => "mp4a", + "audio/mpeg" => "mpga", + "audio/ogg" => "oga", + "audio/vnd.dece.audio" => "uva", + "audio/vnd.digital-winds" => "eol", + "audio/vnd.dra" => "dra", + "audio/vnd.dts" => "dts", + "audio/vnd.dts.hd" => "dtshd", + "audio/vnd.lucent.voice" => "lvp", + "audio/vnd.ms-playready.media.pya" => "pya", + "audio/vnd.nuera.ecelp4800" => "ecelp4800", + "audio/vnd.nuera.ecelp7470" => "ecelp7470", + "audio/vnd.nuera.ecelp9600" => "ecelp9600", + "audio/vnd.rip" => "rip", + "audio/webm" => "weba", + "audio/x-aac" => "aac", + "audio/x-aiff" => "aif", + "audio/x-mpegurl" => "m3u", + "audio/x-ms-wax" => "wax", + "audio/x-ms-wma" => "wma", + "audio/x-pn-realaudio" => "ram", + "audio/x-pn-realaudio-plugin" => "rmp", + "audio/x-wav" => "wav", + "chemical/x-cdx" => "cdx", + "chemical/x-cif" => "cif", + "chemical/x-cmdf" => "cmdf", + "chemical/x-cml" => "cml", + "chemical/x-csml" => "csml", + "chemical/x-xyz" => "xyz", + "image/bmp" => "bmp", + "image/cgm" => "cgm", + "image/g3fax" => "g3", + "image/gif" => "gif", + "image/ief" => "ief", + "image/jpeg" => "jpeg", + "image/jpeg" => "jpg", + "image/ktx" => "ktx", + "image/png" => "png", + "image/prs.btif" => "btif", + "image/svg+xml" => "svg", + "image/tiff" => "tiff", + "image/vnd.adobe.photoshop" => "psd", + "image/vnd.dece.graphic" => "uvi", + "image/vnd.djvu" => "djvu", + "image/vnd.dvb.subtitle" => "sub", + "image/vnd.dwg" => "dwg", + "image/vnd.dxf" => "dxf", + "image/vnd.fastbidsheet" => "fbs", + "image/vnd.fpx" => "fpx", + "image/vnd.fst" => "fst", + "image/vnd.fujixerox.edmics-mmr" => "mmr", + "image/vnd.fujixerox.edmics-rlc" => "rlc", + "image/vnd.ms-modi" => "mdi", + "image/vnd.net-fpx" => "npx", + "image/vnd.wap.wbmp" => "wbmp", + "image/vnd.xiff" => "xif", + "image/webp" => "webp", + "image/x-cmu-raster" => "ras", + "image/x-cmx" => "cmx", + "image/x-freehand" => "fh", + "image/x-icon" => "ico", + "image/x-pcx" => "pcx", + "image/x-pict" => "pic", + "image/x-portable-anymap" => "pnm", + "image/x-portable-bitmap" => "pbm", + "image/x-portable-graymap" => "pgm", + "image/x-portable-pixmap" => "ppm", + "image/x-rgb" => "rgb", + "image/x-xbitmap" => "xbm", + "image/x-xpixmap" => "xpm", + "image/x-xwindowdump" => "xwd", + "message/rfc822" => "eml", + "model/iges" => "igs", + "model/mesh" => "msh", + "model/vnd.collada+xml" => "dae", + "model/vnd.dwf" => "dwf", + "model/vnd.gdl" => "gdl", + "model/vnd.gtw" => "gtw", + "model/vnd.mts" => "mts", + "model/vnd.vtu" => "vtu", + "model/vrml" => "wrl", + "text/calendar" => "ics", + "text/css" => "css", + "text/csv" => "csv", + "text/html" => "html", + "text/json" => "json", + "text/n3" => "n3", + "text/plain" => "txt", + "text/plain-bas" => "par", + "text/prs.lines.tag" => "dsc", + "text/richtext" => "rtx", + "text/sgml" => "sgml", + "text/tab-separated-values" => "tsv", + "text/troff" => "t", + "text/turtle" => "ttl", + "text/uri-list" => "uri", + "text/vnd.curl" => "curl", + "text/vnd.curl.dcurl" => "dcurl", + "text/vnd.curl.mcurl" => "mcurl", + "text/vnd.curl.scurl" => "scurl", + "text/vnd.fly" => "fly", + "text/vnd.fmi.flexstor" => "flx", + "text/vnd.graphviz" => "gv", + "text/vnd.in3d.3dml" => "3dml", + "text/vnd.in3d.spot" => "spot", + "text/vnd.sun.j2me.app-descriptor" => "jad", + "text/vnd.wap.wml" => "wml", + "text/vnd.wap.wmlscript" => "wmls", + "text/x-asm" => "s", + "text/x-c" => "c", + "text/x-fortran" => "f", + "text/x-java-source,java" => "java", + "text/x-markdown" => "md", + "text/x-pascal" => "p", + "text/x-php" => "php", + "text/x-setext" => "etx", + "text/x-uuencode" => "uu", + "text/x-vcalendar" => "vcs", + "text/x-vcard" => "vcf", + "text/yaml" => "yaml", + "video/3gpp" => "3gp", + "video/3gpp2" => "3g2", + "video/h261" => "h261", + "video/h263" => "h263", + "video/h264" => "h264", + "video/jpeg" => "jpgv", + "video/jpm" => "jpm", + "video/mj2" => "mj2", + "video/mp4" => "mp4", + "video/mpeg" => "mpeg", + "video/ogg" => "ogv", + "video/quicktime" => "qt", + "video/vnd.dece.hd" => "uvh", + "video/vnd.dece.mobile" => "uvm", + "video/vnd.dece.pd" => "uvp", + "video/vnd.dece.sd" => "uvs", + "video/vnd.dece.video" => "uvv", + "video/vnd.fvt" => "fvt", + "video/vnd.mpegurl" => "mxu", + "video/vnd.ms-playready.media.pyv" => "pyv", + "video/vnd.uvvu.mp4" => "uvu", + "video/vnd.vivo" => "viv", + "video/webm" => "webm", + "video/x-f4v" => "f4v", + "video/x-fli" => "fli", + "video/x-flv" => "flv", + "video/x-m4v" => "m4v", + "video/x-ms-asf" => "asf", + "video/x-ms-wm" => "wm", + "video/x-ms-wmv" => "wmv", + "video/x-ms-wmx" => "wmx", + "video/x-ms-wvx" => "wvx", + "video/x-msvideo" => "avi", + "video/x-sgi-movie" => "movie", + "x-conference/x-cooltalk" => "ice", # 'sh', - ]; + 'text/sh' => 'sh', + ]; - public static function fromExt($ext) { - foreach (self::Types as $t => $e) { - if ($ext == $e) return $t; - } - return null; - } + public static function fromExt($ext) { + foreach (self::Types as $t => $e) { + if ($ext == $e) return $t; + } + return null; + } - public static function toExt($type) { - if (empty(self::Types[$type])) return null; - return self::Types[$type]; - } + public static function toExt($type) { + if (empty(self::Types[$type])) return null; + return self::Types[$type]; + } } #var_export(Http::msg(500)); diff --git a/lib/php/nb.php b/lib/php/nb.php index dcd41f29..a2f95bcd 100644 --- a/lib/php/nb.php +++ b/lib/php/nb.php @@ -1124,7 +1124,7 @@ class NB { ) $info[$i] = ['dn' => ldap_get_dn($connect,$entry)] + (empty($info[$i]) ? [] : $info[$i]); # Re-order by attrs - if (!empty($o['attrs'])) $info[$i] = self::ar_filter_keys($info[$i],$o['attrs']); + if (!empty($o['attrs']) and !empty($info[$i])) $info[$i] = self::ar_filter_keys($info[$i],$o['attrs']); $i++; diff --git a/lib/php/out/jpg.php b/lib/php/out/jpg.php new file mode 100644 index 00000000..acd2e846 --- /dev/null +++ b/lib/php/out/jpg.php @@ -0,0 +1,30 @@ + false, + 'sep' => '', + 'eol' => '', + 'w' => self::p('w',''), + 'h' => self::p('h',''), + 'q' => self::p('q','75'), + 'if_no_rows' => base64_decode('R0lGODlhAQABAJAAAP8AAAAAACH5BAUQAAAALAAAAAABAAEAAAICBAEAOw=='), + 'row' => function (&$o,&$row) { + if (!empty($o['_jpg'])) return; + $o['_jpg'] = true; + foreach ($row as $k=>$v) { + $img = imagecreatefromstring($v); + + if ($o['w'] and $o['h']) { + $img = imagescale($img,$o['w'],$o['h']); + } elseif ($o['w']) { + $img = imagescale($img,$o['w']); + } + + imagejpeg($img,null,$o['q']); + + imagedestroy($img); + break; + } + }, +]; +?> diff --git a/lib/php/out/png.php b/lib/php/out/png.php new file mode 100644 index 00000000..619a9151 --- /dev/null +++ b/lib/php/out/png.php @@ -0,0 +1,30 @@ + false, + 'sep' => '', + 'eol' => '', + 'w' => self::p('w',''), + 'h' => self::p('h',''), + 'q' => self::p('q','6'), + 'if_no_rows' => base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII='), + 'row' => function (&$o,&$row) { + if (!empty($o['_png'])) return; + $o['_png'] = true; + foreach ($row as $k=>$v) { + $img = imagecreatefromstring($v); + + if ($o['w'] and $o['h']) { + $img = imagescale($img,$o['w'],$o['h']); + } elseif ($o['w']) { + $img = imagescale($img,$o['w']); + } + + imagepng($img,null,$o['q']); + + imagedestroy($img); + break; + } + }, +]; +?> diff --git a/share/db/mime_type.csv b/share/db/mime_type.csv new file mode 100644 index 00000000..904248a0 --- /dev/null +++ b/share/db/mime_type.csv @@ -0,0 +1,686 @@ +3D Crossword Plugin application/vnd.hzn-3d-crossword x3d +3GP2 video/3gpp2 3g2 +3GPP MSEQ File application/vnd.mseq mseq +3GP video/3gpp 3gp +3M Post It Notes application/vnd.3m.post-it-notes pwn +3rd Generation Partnership Project - Pic Large application/vnd.3gpp.pic-bw-large plb +3rd Generation Partnership Project - Pic Small application/vnd.3gpp.pic-bw-small psb +3rd Generation Partnership Project - Pic Var application/vnd.3gpp.pic-bw-var pvb +3rd Generation Partnership Project - Transaction Capabilities Application Part application/vnd.3gpp2.tcap tcap +7-Zip application/x-7z-compressed 7z +AbiWord application/x-abiword abw +Ace Archive application/x-ace-compressed ace +Active Content Compression application/vnd.americandynamics.acc acc +ACU Cobol application/vnd.acucobol acu +ACU Cobol application/vnd.acucorp atc +Adaptive differential pulse-code modulation audio/adpcm adp +Adobe AIR Application application/vnd.adobe.air-application-installer-package+zip air +Adobe Flash application/x-shockwave-flash swf +Adobe Flex Project application/vnd.adobe.fxp fxp +Adobe (Macropedia) Authorware - Binary File application/x-authorware-bin aab +Adobe (Macropedia) Authorware - Map application/x-authorware-map aam +Adobe (Macropedia) Authorware - Segment File application/x-authorware-seg aas +Adobe Portable Document Format application/pdf pdf +Adobe PostScript Printer Description File Format application/vnd.cups-ppd ppd +Adobe Shockwave Player application/x-director dir +Adobe XML Data Package application/vnd.adobe.xdp+xml xdp +Adobe XML Forms Data Format application/vnd.adobe.xfdf xfdf +Advanced Audio Coding (AAC) audio/x-aac aac +Ahead AIR Application application/vnd.ahead.space ahead +AirZip FileSECURE application/vnd.airzip.filesecure.azf azf +AirZip FileSECURE application/vnd.airzip.filesecure.azs azs +Amazon Kindle eBook format application/vnd.amazon.ebook azw +AmigaDE application/vnd.amiga.ami ami +Android Package Archive application/vnd.android.package-archive apk +ANSER-WEB Terminal Client - Certificate Issue application/vnd.anser-web-certificate-issue-initiation cii +ANSER-WEB Terminal Client - Web Funds Transfer application/vnd.anser-web-funds-transfer-initiation fti +Antix Game Player application/vnd.antix.game-component atx +Apple Installer Package application/vnd.apple.installer+xml mpkg +Application Php text/x-php php +Applixware application/applixware aw +Archipelago Lesson Player application/vnd.hhe.lesson-player les +Arista Networks Software Image application/vnd.aristanetworks.swi swi +Assembler Source File text/x-asm s +Atom Publishing Protocol application/atomcat+xml atomcat +Atom Publishing Protocol Service Document application/atomsvc+xml atomsvc +Attribute Certificate application/pkix-attr-cert ac +Audiograph application/vnd.audiograph aep +Audio Interchange File Format audio/x-aiff aif +Audio Video Interleave (AVI) video/x-msvideo avi +AutoCAD DXF image/vnd.dxf dxf +Autodesk Design Web Format (DWF) model/vnd.dwf dwf +BAS Partitur Format text/plain-bas par +Binary CPIO Archive application/x-bcpio bcpio +Binary Data application/octet-stream bin +Bitmap Image File image/bmp bmp +BitTorrent application/x-bittorrent torrent +Blackberry COD File application/vnd.rim.cod cod +Blueice Research Multipass application/vnd.blueice.multipass mpm +BMI Drawing Data Interchange application/vnd.bmi bmi +Bourne Shell Script application/x-sh sh +BTIF image/prs.btif btif +BusinessObjects application/vnd.businessobjects rep +Bzip2 Archive application/x-bzip2 bz2 +Bzip Archive application/x-bzip bz +CambridgeSoft Chem Draw application/vnd.chemdraw+xml cdxml +Cascading Style Sheets (CSS) text/css css +ChemDraw eXchange file chemical/x-cdx cdx +Chemical Markup Language chemical/x-cml cml +Chemical Style Markup Language chemical/x-csml csml +CIM Database application/vnd.contact.cmsg cdbcmsg +Claymore Data Files application/vnd.claymore cla +Clonk Game application/vnd.clonk.c4group c4g +Close Captioning - Subtitle image/vnd.dvb.subtitle sub +Cloud Data Management Interface (CDMI) - Capability application/cdmi-capability cdmia +Cloud Data Management Interface (CDMI) - Contaimer application/cdmi-container cdmic +Cloud Data Management Interface (CDMI) - Domain application/cdmi-domain cdmid +Cloud Data Management Interface (CDMI) - Object application/cdmi-object cdmio +Cloud Data Management Interface (CDMI) - Queue application/cdmi-queue cdmiq +ClueTrust CartoMobile - Config application/vnd.cluetrust.cartomobile-config c11amc +ClueTrust CartoMobile - Config Package application/vnd.cluetrust.cartomobile-config-pkg c11amz +CMU Image image/x-cmu-raster ras +COLLADA model/vnd.collada+xml dae +Comma-Seperated Values text/csv csv +Compact Pro application/mac-compactpro cpt +Compiled Wireless Markup Language (WMLC) application/vnd.wap.wmlc wmlc +Computer Graphics Metafile image/cgm cgm +CoolTalk x-conference/x-cooltalk ice +Corel Metafile Exchange (CMX) image/x-cmx cmx +CorelXARA application/vnd.xara xar +CosmoCaller application/vnd.cosmocaller cmc +CPIO Archive application/x-cpio cpio +CrickSoftware - Clicker application/vnd.crick.clicker clkx +CrickSoftware - Clicker - Keyboard application/vnd.crick.clicker.keyboard clkk +CrickSoftware - Clicker - Palette application/vnd.crick.clicker.palette clkp +CrickSoftware - Clicker - Template application/vnd.crick.clicker.template clkt +CrickSoftware - Clicker - Wordbank application/vnd.crick.clicker.wordbank clkw +Critical Tools - PERT Chart EXPERT application/vnd.criticaltools.wbs+xml wbs +CryptoNote application/vnd.rig.cryptonote cryptonote +Crystallographic Interchange Format chemical/x-cif cif +CrystalMaker Data Format chemical/x-cmdf cmdf +C Shell Script application/x-csh csh +C Source File text/x-c c +CURL Applet application/vnd.curl.car car +CURL Applet application/vnd.curl.pcurl pcurl +Curl - Applet text/vnd.curl curl +Curl - Detached Applet text/vnd.curl.dcurl dcurl +Curl - Manifest File text/vnd.curl.mcurl mcurl +Curl - Source Code text/vnd.curl.scurl scurl +CU-SeeMe application/cu-seeme cu +CustomMenu application/vnd.yellowriver-custom-menu cmp +CU-Writer application/prs.cww cww +Data Structure for the Security Suitability of Cryptographic Algorithms application/dssc+der dssc +Data Structure for the Security Suitability of Cryptographic Algorithms application/dssc+xml xdssc +Debian Package application/x-debian-package deb +DECE Audio audio/vnd.dece.audio uva +DECE Graphic image/vnd.dece.graphic uvi +DECE High Definition Video video/vnd.dece.hd uvh +DECE Mobile Video video/vnd.dece.mobile uvm +DECE MP4 video/vnd.uvvu.mp4 uvu +DECE PD Video video/vnd.dece.pd uvp +DECE SD Video video/vnd.dece.sd uvs +DECE Video video/vnd.dece.video uvv +Device Independent File Format (DVI) application/x-dvi dvi +Digital Siesmograph Networks - SEED Datafiles application/vnd.fdsn.seed seed +Digital Talking Book application/x-dtbook+xml dtb +Digital Talking Book - Resource File application/x-dtbresource+xml res +Digital Video Broadcasting application/vnd.dvb.ait ait +Digital Video Broadcasting application/vnd.dvb.service svc +Digital Winds Music audio/vnd.digital-winds eol +DjVu image/vnd.djvu djvu +Document Type Definition application/xml-dtd dtd +Dolby Meridian Lossless Packing application/vnd.dolby.mlp mlp +Doom Video Game application/x-doom wad +DPGraph application/vnd.dpgraph dpg +DRA Audio audio/vnd.dra dra +DreamFactory application/vnd.dreamfactory dfac +DTS Audio audio/vnd.dts dts +DTS High Definition Audio audio/vnd.dts.hd dtshd +DWG Drawing image/vnd.dwg dwg +DynaGeo application/vnd.dynageo geo +ECMAScript application/ecmascript es +EcoWin Chart application/vnd.ecowin.chart mag +EDMICS 2000 image/vnd.fujixerox.edmics-mmr mmr +EDMICS 2000 image/vnd.fujixerox.edmics-rlc rlc +Efficient XML Interchange application/exi exi +EFI Proteus application/vnd.proteus.magazine mgz +Electronic Publication application/epub+zip epub +Email Message message/rfc822 eml +Enliven Viewer application/vnd.enliven nml +Express by Infoseek application/vnd.is-xpr xpr +eXtended Image File Format (XIFF) image/vnd.xiff xif +Extensible Forms Description Language application/vnd.xfdl xfdl +Extensible MultiModal Annotation application/emma+xml emma +EZPix Secure Photo Album application/vnd.ezpix-album ez2 +EZPix Secure Photo Album application/vnd.ezpix-package ez3 +FastBid Sheet image/vnd.fastbidsheet fbs +FAST Search & Transfer ASA image/vnd.fst fst +FAST Search & Transfer ASA video/vnd.fvt fvt +FCS Express Layout Link application/vnd.denovo.fcselayout-link fe_launch +FlashPix image/vnd.fpx fpx +FlashPix image/vnd.net-fpx npx +Flash Video video/x-f4v f4v +Flash Video video/x-flv flv +FLEXSTOR text/vnd.fmi.flexstor flx +FLI/FLC Animation Format video/x-fli fli +FluxTime Clip application/vnd.fluxtime.clip ftc +Forms Data Format application/vnd.fdf fdf +Fortran Source File text/x-fortran f +FrameMaker Interchange Format application/vnd.mif mif +FrameMaker Normal Format application/vnd.framemaker fm +FreeHand MX image/x-freehand fh +Friendly Software Corporation application/vnd.fsc.weblaunch fsc +Frogans Player application/vnd.frogans.fnc fnc +Frogans Player application/vnd.frogans.ltf ltf +Fujitsu Oasys application/vnd.fujitsu.oasys2 oa2 +Fujitsu Oasys application/vnd.fujitsu.oasys3 oa3 +Fujitsu Oasys application/vnd.fujitsu.oasysgp fg5 +Fujitsu Oasys application/vnd.fujitsu.oasys oas +Fujitsu Oasys application/vnd.fujitsu.oasysprs bh2 +Fujitsu - Xerox 2D CAD Data application/vnd.fujixerox.ddd ddd +Fujitsu - Xerox DocuWorks application/vnd.fujixerox.docuworks xdw +Fujitsu - Xerox DocuWorks Binder application/vnd.fujixerox.docuworks.binder xbd +FutureSplash Animator application/x-futuresplash spl +FuzzySheet application/vnd.fuzzysheet fzs +G3 Fax Image image/g3fax g3 +GameMaker ActiveX application/vnd.gmx gmx +Genomatix Tuxedo Framework application/vnd.genomatix.tuxedo txd +Gen-Trix Studio model/vnd.gtw gtw +GeoGebra application/vnd.geogebra.file ggb +GeoGebra application/vnd.geogebra.tool ggt +Geometric Description Language (GDL) model/vnd.gdl gdl +GeoMetry Explorer application/vnd.geometry-explorer gex +GEONExT and JSXGraph application/vnd.geonext gxt +GeoplanW application/vnd.geoplan g2w +GeospacW application/vnd.geospace g3w +Ghostscript Font application/x-font-ghostscript gsf +Glyph Bitmap Distribution Format application/x-font-bdf bdf +Gnumeric application/x-gnumeric gnumeric +GNU Tar Files application/x-gtar gtar +GNU Texinfo Document application/x-texinfo texinfo +Google Earth - KML application/vnd.google-earth.kml+xml kml +Google Earth - Zipped KML application/vnd.google-earth.kmz kmz +GrafEq application/vnd.grafeq gqf +Graphics Interchange Format image/gif gif +Graphviz text/vnd.graphviz gv +Groove - Account application/vnd.groove-account gac +Groove - Help application/vnd.groove-help ghf +Groove - Identity Message application/vnd.groove-identity-message gim +Groove - Injector application/vnd.groove-injector grv +Groove - Tool Message application/vnd.groove-tool-message gtm +Groove - Tool Template application/vnd.groove-tool-template tpl +Groove - Vcard application/vnd.groove-vcard vcg +H.261 video/h261 h261 +H.263 video/h263 h263 +H.264 video/h264 h264 +Hewlett Packard Instant Delivery application/vnd.hp-hpid hpid +Hewlett-Packard's WebPrintSmart application/vnd.hp-hps hps +Hierarchical Data Format application/x-hdf hdf +Hit'n'Mix audio/vnd.rip rip +Homebanking Computer Interface (HBCI) application/vnd.hbci hbci +HP-GL/2 and HP RTL application/vnd.hp-hpgl hpgl +HP Indigo Digital Press - Job Layout Languate application/vnd.hp-jlyt jlt +HP Printer Command Language application/vnd.hp-pcl pcl +HV Script application/vnd.yamaha.hv-script hvs +HV Voice Dictionary application/vnd.yamaha.hv-dic hvd +HV Voice Parameter application/vnd.yamaha.hv-voice hvp +Hydrostatix Master Suite application/vnd.hydrostatix.sof-data sfd-hdstx +Hyperstudio application/hyperstudio stk +Hypertext Application Language application/vnd.hal+xml hal +HyperText Markup Language (HTML) text/html html +IBM DB2 Rights Manager application/vnd.ibm.rights-management irm +IBM Electronic Media Management System - Secure Container application/vnd.ibm.secure-container sc +iCalendar text/calendar ics +ICC profile application/vnd.iccprofile icc +Icon Image image/x-icon ico +igLoader application/vnd.igloader igl +Image Exchange Format image/ief ief +ImmerVision PURE Players application/vnd.immervision-ivp ivp +ImmerVision PURE Players application/vnd.immervision-ivu ivu +IMS Networks application/reginfo+xml rif +In3D - 3DML text/vnd.in3d.3dml 3dml +In3D - 3DML text/vnd.in3d.spot spot +Initial Graphics Exchange Specification (IGES) model/iges igs +Interactive Geometry Software application/vnd.intergeo i2g +Interactive Geometry Software Cinderella application/vnd.cinderella cdy +Intercon FormNet application/vnd.intercon.formnet xpw +International Society for Advancement of Cytometry application/vnd.isac.fcs fcs +Internet Protocol Flow Information Export application/ipfix ipfix +Internet Public Key Infrastructure - Certificate application/pkix-cert cer +Internet Public Key Infrastructure - Certificate Management Protocole application/pkixcmp pki +Internet Public Key Infrastructure - Certificate Revocation Lists application/pkix-crl crl +Internet Public Key Infrastructure - Certification Path application/pkix-pkipath pkipath +IOCOM Visimeet application/vnd.insors.igm igm +IP Unplugged Roaming Client application/vnd.ipunplugged.rcprofile rcprofile +iRepository / Lucidoc Editor application/vnd.irepository.package+xml irp +J2ME App Descriptor text/vnd.sun.j2me.app-descriptor jad +Java Archive application/java-archive jar +Java Bytecode File application/java-vm class +Java Network Launching Protocol application/x-java-jnlp-file jnlp +JavaScript application/javascript js +JavaScript Object Notation (JSON) application/json json +JavaScript Object Notation (JSON) text/json json +Java Serialized Object application/java-serialized-object ser +Java Source File text/x-java-source,java java +Joda Archive application/vnd.joost.joda-archive joda +JPEG 2000 Compound Image File Format video/jpm jpm +JPEG Image image/jpeg jpeg +JPEG Image image/jpeg jpg +JPGVideo video/jpeg jpgv +Kahootz application/vnd.kahootz ktz +Karaoke on Chipnuts Chipsets application/vnd.chipnuts.karaoke-mmd mmd +KDE KOffice Office Suite - Karbon application/vnd.kde.karbon karbon +KDE KOffice Office Suite - KChart application/vnd.kde.kchart chrt +KDE KOffice Office Suite - Kformula application/vnd.kde.kformula kfo +KDE KOffice Office Suite - Kivio application/vnd.kde.kivio flw +KDE KOffice Office Suite - Kontour application/vnd.kde.kontour kon +KDE KOffice Office Suite - Kpresenter application/vnd.kde.kpresenter kpr +KDE KOffice Office Suite - Kspread application/vnd.kde.kspread ksp +KDE KOffice Office Suite - Kword application/vnd.kde.kword kwd +Kenamea App application/vnd.kenameaapp htke +Kidspiration application/vnd.kidspiration kia +Kinar Applications application/vnd.kinar kne +Kodak Storyshare application/vnd.kodak-descriptor sse +Laser App Enterprise application/vnd.las.las+xml lasxml +LaTeX application/x-latex latex +Life Balance - Desktop Edition application/vnd.llamagraphics.life-balance.desktop lbd +Life Balance - Exchange Format application/vnd.llamagraphics.life-balance.exchange+xml lbe +Lightspeed Audio Lab application/vnd.jam jam +Lotus 1-2-3 application/vnd.lotus-1-2-3 123 +Lotus Approach application/vnd.lotus-approach apr +Lotus Freelance application/vnd.lotus-freelance pre +Lotus Notes application/vnd.lotus-notes nsf +Lotus Organizer application/vnd.lotus-organizer org +Lotus Screencam application/vnd.lotus-screencam scm +Lotus Wordpro application/vnd.lotus-wordpro lwp +Lucent Voice audio/vnd.lucent.voice lvp +M3U (Multimedia Playlist) audio/x-mpegurl m3u +M4v video/x-m4v m4v +Macintosh BinHex 4.0 application/mac-binhex40 hqx +MacPorts Port System application/vnd.macports.portpkg portpkg +MapGuide DBXML application/vnd.osgeo.mapguide.package mgp +MARC21 XML Schema application/marcxml+xml mrcx +MARC Formats application/marc mrc +Markdown text/x-markdown md +Material Exchange Format application/mxf mxf +Mathematical Markup Language application/mathml+xml mathml +Mathematica Notebook Player application/vnd.wolfram.player nbp +Mathematica Notebooks application/mathematica ma +Mbox database files application/mbox mbox +MedCalc application/vnd.medcalcdata mc1 +MediaRemote application/vnd.mediastation.cdkey cdkey +Media Server Control Markup Language application/mediaservercontrol+xml mscml +Medical Waveform Encoding Format application/vnd.mfer mwf +Melody Format for Mobile Platform application/vnd.mfmp mfm +Mesh Data Type model/mesh msh +Metadata Authority Description Schema application/mads+xml mads +Metadata Encoding and Transmission Standard application/mets+xml mets +Metadata Object Description Schema application/mods+xml mods +Metalink application/metalink4+xml meta4 +Micosoft PowerPoint - Macro-Enabled Template File application/vnd.ms-powerpoint.template.macroenabled.12 potm +Micosoft Word - Macro-Enabled Document application/vnd.ms-word.document.macroenabled.12 docm +Micosoft Word - Macro-Enabled Template application/vnd.ms-word.template.macroenabled.12 dotm +Micro CADAM Helix D&D application/vnd.mcd mcd +Micrografx application/vnd.micrografx.flo flo +Micrografx iGrafx Professional application/vnd.micrografx.igx igx +MICROSEC e-Szign¢ application/vnd.eszigno3+xml es3 +Microsoft Access application/x-msaccess mdb +Microsoft Advanced Systems Format (ASF) video/x-ms-asf asf +Microsoft Application application/x-msdownload exe +Microsoft Artgalry application/vnd.ms-artgalry cil +Microsoft Cabinet File application/vnd.ms-cab-compressed cab +Microsoft Class Server application/vnd.ms-ims ims +Microsoft ClickOnce application/x-ms-application application +Microsoft Clipboard Clip application/x-msclip clp +Microsoft Document Imaging Format image/vnd.ms-modi mdi +Microsoft Embedded OpenType application/vnd.ms-fontobject eot +Microsoft Excel - Add-In File application/vnd.ms-excel.addin.macroenabled.12 xlam +Microsoft Excel application/vnd.ms-excel xls +Microsoft Excel - Binary Workbook application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb +Microsoft Excel - Macro-Enabled Template File application/vnd.ms-excel.template.macroenabled.12 xltm +Microsoft Excel - Macro-Enabled Workbook application/vnd.ms-excel.sheet.macroenabled.12 xlsm +Microsoft Html Help File application/vnd.ms-htmlhelp chm +Microsoft Information Card application/x-mscardfile crd +Microsoft Learning Resource Module application/vnd.ms-lrm lrm +Microsoft MediaView application/x-msmediaview mvb +Microsoft Money application/x-msmoney mny +Microsoft Office Binder application/x-msbinder obd +Microsoft Office - OOXML - Presentation application/vnd.openxmlformats-officedocument.presentationml.presentation pptx +Microsoft Office - OOXML - Presentation (Slide) application/vnd.openxmlformats-officedocument.presentationml.slide sldx +Microsoft Office - OOXML - Presentation (Slideshow) application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx +Microsoft Office - OOXML - Presentation Template application/vnd.openxmlformats-officedocument.presentationml.template potx +Microsoft Office - OOXML - Spreadsheet application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx +Microsoft Office - OOXML - Spreadsheet Teplate application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx +Microsoft Office - OOXML - Word Document application/vnd.openxmlformats-officedocument.wordprocessingml.document docx +Microsoft Office - OOXML - Word Document Template application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx +Microsoft Office System Release Theme application/vnd.ms-officetheme thmx +Microsoft OneNote application/onenote onetoc +Microsoft PlayReady Ecosystem audio/vnd.ms-playready.media.pya pya +Microsoft PlayReady Ecosystem Video video/vnd.ms-playready.media.pyv pyv +Microsoft PowerPoint - Add-in file application/vnd.ms-powerpoint.addin.macroenabled.12 ppam +Microsoft PowerPoint application/vnd.ms-powerpoint ppt +Microsoft PowerPoint - Macro-Enabled Open XML Slide application/vnd.ms-powerpoint.slide.macroenabled.12 sldm +Microsoft PowerPoint - Macro-Enabled Presentation File application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm +Microsoft PowerPoint - Macro-Enabled Slide Show File application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm +Microsoft Project application/vnd.ms-project mpp +Microsoft Publisher application/x-mspublisher pub +Microsoft Schedule+ application/x-msschedule scd +Microsoft Silverlight application/x-silverlight-app xap +Microsoft Trust UI Provider - Certificate Trust Link application/vnd.ms-pki.stl stl +Microsoft Trust UI Provider - Security Catalog application/vnd.ms-pki.seccat cat +Microsoft Visio application/vnd.visio vsd +Microsoft Windows Media Audio audio/x-ms-wma wma +Microsoft Windows Media Audio Redirector audio/x-ms-wax wax +Microsoft Windows Media Audio/Video Playlist video/x-ms-wmx wmx +Microsoft Windows Media Player Download Package application/x-ms-wmd wmd +Microsoft Windows Media Player Playlist application/vnd.ms-wpl wpl +Microsoft Windows Media Player Skin Package application/x-ms-wmz wmz +Microsoft Windows Media Video Playlist video/x-ms-wvx wvx +Microsoft Windows Media Video video/x-ms-wmv wmv +Microsoft Windows Media video/x-ms-wm wm +Microsoft Windows Metafile application/x-msmetafile wmf +Microsoft Windows Terminal Services application/x-msterminal trm +Microsoft Word application/msword doc +Microsoft Wordpad application/x-mswrite wri +Microsoft Works application/vnd.ms-works wps +Microsoft XAML Browser Application application/x-ms-xbap xbap +Microsoft XML Paper Specification application/vnd.ms-xpsdocument xps +MIDI - Musical Instrument Digital Interface audio/midi mid +MiniPay application/vnd.ibm.minipay mpy +Mobile Information Device Profile application/vnd.jcp.javame.midlet-rms rms +MobileTV application/vnd.tmobile-livetv tmo +Mobipocket application/x-mobipocket-ebook prc +Mobius Management Systems - Basket file application/vnd.mobius.mbk mbk +Mobius Management Systems - Distribution Database application/vnd.mobius.dis dis +Mobius Management Systems - Policy Definition Language File application/vnd.mobius.plc plc +Mobius Management Systems - Query File application/vnd.mobius.mqy mqy +Mobius Management Systems - Script Language application/vnd.mobius.msl msl +Mobius Management Systems - Topic Index File application/vnd.mobius.txf txf +Mobius Management Systems - UniversalArchive application/vnd.mobius.daf daf +MO:DCA-P application/vnd.ibm.modcap afp +mod_fly / fly.cgi text/vnd.fly fly +Mophun Certificate application/vnd.mophun.certificate mpc +Mophun VM application/vnd.mophun.application mpn +Motion JPEG 2000 video/mj2 mj2 +MPEG-21 application/mp21 m21 +MPEG4 application/mp4 mp4 +MPEG-4 Audio audio/mp4 mp4a +MPEG-4 Video video/mp4 mp4 +MPEG Audio audio/mpeg mpga +MPEG Url video/vnd.mpegurl mxu +MPEG Video video/mpeg mpeg +Multimedia Playlist Unicode application/vnd.apple.mpegurl m3u8 +MUsical Score Interpreted Code Invented for the ASCII designation of Notation application/vnd.musician mus +Muvee Automatic Video Editing application/vnd.muvee.style msty +MXML application/xv+xml mxml +Navigation Control file for XML (for ePub) application/x-dtbncx+xml ncx +Network Common Data Form (NetCDF) application/x-netcdf nc +neuroLanguage application/vnd.neurolanguage.nlu nlu +New Moon Liftoff/DNA application/vnd.dna dna +N-Gage Game Data application/vnd.nokia.n-gage.data ngdat +N-Gage Game Installer application/vnd.nokia.n-gage.symbian.install n-gage +NobleNet Directory application/vnd.noblenet-directory nnd +NobleNet Sealer application/vnd.noblenet-sealer nns +NobleNet Web application/vnd.noblenet-web nnw +Nokia Radio Application - Preset application/vnd.nokia.radio-preset rpst +Nokia Radio Application - Preset application/vnd.nokia.radio-presets rpss +Notation3 text/n3 n3 +Novadigm's RADIA and EDM products application/vnd.novadigm.edm edm +Novadigm's RADIA and EDM products application/vnd.novadigm.edx edx +Novadigm's RADIA and EDM products application/vnd.novadigm.ext ext +NpGraphIt application/vnd.flographit gph +Nuera ECELP 4800 audio/vnd.nuera.ecelp4800 ecelp4800 +Nuera ECELP 7470 audio/vnd.nuera.ecelp7470 ecelp7470 +Nuera ECELP 9600 audio/vnd.nuera.ecelp9600 ecelp9600 +Office Document Architecture application/oda oda +Ogg application/ogg ogx +Ogg Audio audio/ogg oga +Ogg Video video/ogg ogv +OMA Download Agents application/vnd.oma.dd2+xml dd2 +OpenDocument Chart application/vnd.oasis.opendocument.chart odc +OpenDocument Chart Template application/vnd.oasis.opendocument.chart-template otc +OpenDocument Database application/vnd.oasis.opendocument.database odb +OpenDocument Formula application/vnd.oasis.opendocument.formula odf +OpenDocument Formula Template application/vnd.oasis.opendocument.formula-template odft +OpenDocument Graphics application/vnd.oasis.opendocument.graphics odg +OpenDocument Graphics Template application/vnd.oasis.opendocument.graphics-template otg +OpenDocument Image application/vnd.oasis.opendocument.image odi +OpenDocument Image Template application/vnd.oasis.opendocument.image-template oti +OpenDocument Presentation application/vnd.oasis.opendocument.presentation odp +OpenDocument Presentation Template application/vnd.oasis.opendocument.presentation-template otp +OpenDocument Spreadsheet application/vnd.oasis.opendocument.spreadsheet ods +OpenDocument Spreadsheet Template application/vnd.oasis.opendocument.spreadsheet-template ots +OpenDocument Text application/vnd.oasis.opendocument.text odt +OpenDocument Text Master application/vnd.oasis.opendocument.text-master odm +OpenDocument Text Template application/vnd.oasis.opendocument.text-template ott +Open Document Text Web application/vnd.oasis.opendocument.text-web oth +Open eBook Publication Structure application/oebps-package+xml opf +Open Financial Exchange application/vnd.intu.qbo qbo +OpenGL Textures (KTX) image/ktx ktx +OpenOffice - Calc (Spreadsheet) application/vnd.sun.xml.calc sxc +OpenOffice - Calc Template (Spreadsheet) application/vnd.sun.xml.calc.template stc +OpenOffice - Draw (Graphics) application/vnd.sun.xml.draw sxd +OpenOffice - Draw Template (Graphics) application/vnd.sun.xml.draw.template std +Open Office Extension application/vnd.openofficeorg.extension oxt +OpenOffice - Impress (Presentation) application/vnd.sun.xml.impress sxi +OpenOffice - Impress Template (Presentation) application/vnd.sun.xml.impress.template sti +OpenOffice - Math (Formula) application/vnd.sun.xml.math sxm +OpenOffice - Writer Template (Text - HTML) application/vnd.sun.xml.writer.template stw +OpenOffice - Writer (Text - HTML) application/vnd.sun.xml.writer.global sxg +OpenOffice - Writer (Text - HTML) application/vnd.sun.xml.writer sxw +Open Score Format application/vnd.yamaha.openscoreformat osf +OpenType Font File application/x-font-otf otf +Open Web Media Project - Audio audio/webm weba +Open Web Media Project - Video video/webm webm +OSFPVG application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg +OSGi Deployment Package application/vnd.osgi.dp dp +PalmOS Data application/vnd.palm pdb +Pascal Source File text/x-pascal p +PawaaFILE application/vnd.pawaafile paw +PCL 6 Enhanced (Formely PCL XL) application/vnd.hp-pclxl pclxl +Pcsel eFIF File application/vnd.picsel efif +PCX Image image/x-pcx pcx +Photoshop Document image/vnd.adobe.photoshop psd +PICSRules application/pics-rules prf +PICT Image image/x-pict pic +pIRCh application/x-chat chat +PKCS #10 - Certification Request Standard application/pkcs10 p10 +PKCS #12 - Personal Information Exchange Syntax Standard application/x-pkcs12 p12 +PKCS #7 - Cryptographic Message Syntax Standard application/pkcs7-mime p7m +PKCS #7 - Cryptographic Message Syntax Standard application/pkcs7-signature p7s +PKCS #7 - Cryptographic Message Syntax Standard (Certificate Request Response) application/x-pkcs7-certreqresp p7r +PKCS #7 - Cryptographic Message Syntax Standard (Certificates) application/x-pkcs7-certificates p7b +PKCS #8 - Private-Key Information Syntax Standard application/pkcs8 p8 +PocketLearn Viewers application/vnd.pocketlearn plf +Portable Anymap Image image/x-portable-anymap pnm +Portable Bitmap Format image/x-portable-bitmap pbm +Portable Compiled Format application/x-font-pcf pcf +Portable Font Resource application/font-tdpfr pfr +Portable Game Notation (Chess Games) application/x-chess-pgn pgn +Portable Graymap Format image/x-portable-graymap pgm +Portable Network Graphics (PNG) image/png png +Portable Pixmap Format image/x-portable-pixmap ppm +Portable Symmetric Key Container application/pskc+xml pskcxml +PosML application/vnd.ctc-posml pml +PostScript application/postscript ai +PostScript Fonts application/x-font-type1 pfa +PowerBuilder application/vnd.powerbuilder6 pbd +Pretty Good Privacy - Signature application/pgp-signature pgp +Preview Systems ZipLock/VBox application/vnd.previewsystems.box box +Princeton Video Image application/vnd.pvi.ptid1 ptid +Pronunciation Lexicon Specification application/pls+xml pls +Proprietary P&G Standard Reporting System application/vnd.pg.format str +Proprietary P&G Standard Reporting System application/vnd.pg.osasli ei6 +PRS Lines Tag text/prs.lines.tag dsc +PSF Fonts application/x-font-linux-psf psf +PubliShare Objects application/vnd.publishare-delta-tree qps +Qualcomm's Plaza Mobile Internet application/vnd.pmi.widget wg +QuarkXpress application/vnd.quark.quarkxpress qxd +QUASS Stream Player application/vnd.epson.esf esf +QUASS Stream Player application/vnd.epson.msf msf +QUASS Stream Player application/vnd.epson.ssf ssf +QuickAnime Player application/vnd.epson.quickanime qam +Quicken application/vnd.intu.qfx qfx +Quicktime Video video/quicktime qt +RAR Archive application/x-rar-compressed rar +Real Audio Sound audio/x-pn-realaudio-plugin rmp +Real Audio Sound audio/x-pn-realaudio ram +Really Simple Discovery application/rsd+xml rsd +RealMedia application/vnd.rn-realmedia rm +RealVNC application/vnd.realvnc.bed bed +Recordare Applications application/vnd.recordare.musicxml mxl +Recordare Applications application/vnd.recordare.musicxml+xml musicxml +Relax NG Compact Syntax application/relax-ng-compact-syntax rnc +RemoteDocs R-Viewer application/vnd.data-vision.rdz rdz +Resource Description Framework application/rdf+xml rdf +RetroPlatform Player application/vnd.cloanto.rp9 rp9 +RhymBox application/vnd.jisp jisp +Rich Text Format application/rtf rtf +Rich Text Format (RTF) text/richtext rtx +ROUTE 66 Location Based Services application/vnd.route66.link66+xml link66 +RSS - Really Simple Syndication application/rss+xml rss +SailingTracker application/vnd.sailingtracker.track st +Scalable Vector Graphics (SVG) image/svg+xml svg +ScheduleUs application/vnd.sus-calendar sus +Search/Retrieve via URL Response Format application/sru+xml sru +Secured eMail application/vnd.sema sema +Secured eMail application/vnd.semd semd +Secured eMail application/vnd.semf semf +Secure Electronic Transaction - Payment application/set-payment-initiation setpay +Secure Electronic Transaction - Registration application/set-registration-initiation setreg +SeeMail application/vnd.seemail see +Server-Based Certificate Validation Protocol - Validation Policies - Request application/scvp-vp-request spq +Server-Based Certificate Validation Protocol - Validation Policies - Response application/scvp-vp-response spp +Server-Based Certificate Validation Protocol - Validation Request application/scvp-cv-request scq +Server-Based Certificate Validation Protocol - Validation Response application/scvp-cv-response scs +Server Normal Format application/x-font-snf snf +Session Description Protocol application/sdp sdp +Setext text/x-setext etx +SGI Movie video/x-sgi-movie movie +Shana Informed Filler application/vnd.shana.informed.formdata ifm +Shana Informed Filler application/vnd.shana.informed.formtemplate itp +Shana Informed Filler application/vnd.shana.informed.interchange iif +Shana Informed Filler application/vnd.shana.informed.package ipk +Sharing Transaction Fraud Data application/thraud+xml tfi +Shell Archive application/x-shar shar +S Hexdump Format application/shf+xml shf +Silicon Graphics RGB Bitmap image/x-rgb rgb +SimpleAnimeLite Player application/vnd.epson.salt slt +Simply Accounting application/vnd.accpac.simply.aso aso +Simply Accounting - Data Import application/vnd.accpac.simply.imp imp +SimTech MindMapper application/vnd.simtech-mindmapper twd +Sixth Floor Media - CommonSpace application/vnd.commonspace csp +SMAF Audio application/vnd.yamaha.smaf-audio saf +SMAF File application/vnd.smaf mmf +SMAF Phrase application/vnd.yamaha.smaf-phrase spf +SMART Technologies Apps application/vnd.smart.teacher teacher +SourceView Document application/vnd.svd svd +SPARQL - Query application/sparql-query rq +SPARQL - Results application/sparql-results+xml srx +Speech Recognition Grammar Specification application/srgs gram +Speech Recognition Grammar Specification - XML application/srgs+xml grxml +Speech Synthesis Markup Language application/ssml+xml ssml +SSEYO Koan Play File application/vnd.koan skp +Standard Generalized Markup Language (SGML) text/sgml sgml +StarOffice - Calc application/vnd.stardivision.calc sdc +StarOffice - Draw application/vnd.stardivision.draw sda +StarOffice - Impress application/vnd.stardivision.impress sdd +StarOffice - Math application/vnd.stardivision.math smf +StarOffice - Writer application/vnd.stardivision.writer sdw +StarOffice - Writer (Global) application/vnd.stardivision.writer-global sgl +StepMania application/vnd.stepmania.stepchart sm +Stuffit Archive application/x-stuffit sit +Stuffit Archive application/x-stuffitx sitx +SudokuMagic application/vnd.solent.sdkm+xml sdkm +Sugar Linux Application Bundle application/vnd.olpc-sugar xo +Sun Audio - Au file format audio/basic au +SundaHus WQ application/vnd.wqd wqd +Symbian Install Package application/vnd.symbian.install sis +Synchronized Multimedia Integration Language application/smil+xml smi +SyncML application/vnd.syncml+xml xsm +SyncML - Device Management application/vnd.syncml.dm+wbxml bdm +SyncML - Device Management application/vnd.syncml.dm+xml xdm +Systems Biology Markup Language application/sbml+xml sbml +System V Release 4 CPIO Archive application/x-sv4cpio sv4cpio +System V Release 4 CPIO Checksum Data application/x-sv4crc sv4crc +Tab Seperated Values text/tab-separated-values tsv +Tagged Image File Format image/tiff tiff +Tao Intent application/vnd.tao.intent-module-archive tao +Tar File (Tape Archive) application/x-tar tar +Tcl Script application/x-tcl tcl +TeX application/x-tex tex +TeX Font Metric application/x-tex-tfm tfm +Text Encoding and Interchange application/tei+xml tei +Text File text/plain txt +TIBCO Spotfire application/vnd.spotfire.dxp dxp +TIBCO Spotfire application/vnd.spotfire.sfs sfs +Time Stamped Data Envelope application/timestamped-data tsd +Triscape Map Explorer application/vnd.triscape.mxs mxs +TRI Systems Config application/vnd.trid.tpt tpt +troff text/troff t +True BASIC application/vnd.trueapp tra +TrueType Font application/x-font-ttf ttf +Turtle (Terse RDF Triple Language) text/turtle ttl +UMAJIN application/vnd.umajin umj +Unique Object Markup Language application/vnd.uoml+xml uoml +Unity 3d application/vnd.unity unityweb +Universal Forms Description Language application/vnd.ufdl ufd +URI Resolution Services text/uri-list uri +User Interface Quartz - Theme (Symbian) application/vnd.uiq.theme utz +Ustar (Uniform Standard Tape Archive) application/x-ustar ustar +UUEncode text/x-uuencode uu +vCalendar text/x-vcalendar vcs +vCard text/x-vcard vcf +Video CD application/x-cdlink vcd +Viewport+ application/vnd.vsf vsf +VirtualCatalog application/vnd.vcx vcx +Virtual Reality Modeling Language model/vrml wrl +Virtue MTS model/vnd.mts mts +Virtue VTU model/vnd.vtu vtu +Visionary application/vnd.visionary vis +Vivo video/vnd.vivo viv +Voice Browser Call Control application/ccxml+xml, ccxml +VoiceXML application/voicexml+xml vxml +WAIS Source application/x-wais-source src +WAP Binary XML (WBXML) application/vnd.wap.wbxml wbxml +WAP Bitamp (WBMP) image/vnd.wap.wbmp wbmp +Waveform Audio File Format (WAV) audio/x-wav wav +Web Distributed Authoring and Versioning application/davmount+xml davmount +Web Open Font Format application/x-font-woff woff +WebP Image image/webp webp +Web Services Policy application/wspolicy+xml wspolicy +WebTurbo application/vnd.webturbo wtb +Widget Packaging and XML Configuration application/widget wgt +WinHelp application/winhlp hlp +Wireless Markup Language Script (WMLScript) text/vnd.wap.wmlscript wmls +Wireless Markup Language (WML) text/vnd.wap.wml wml +WMLScript application/vnd.wap.wmlscriptc wmlsc +Wordperfect application/vnd.wordperfect wpd +Worldtalk application/vnd.wt.stf stf +WSDL - Web Services Description Language application/wsdl+xml wsdl +X.509 Certificate application/x-x509-ca-cert der +X BitMap image/x-xbitmap xbm +Xfig application/x-xfig fig +XHTML - The Extensible HyperText Markup Language application/xhtml+xml xhtml +XML-Binary Optimized Packaging application/xop+xml xop +XML Configuration Access Protocol - XCAP Diff application/xcap-diff+xml xdf +XML Encryption Syntax and Processing application/xenc+xml xenc +XML - Extensible Markup Language application/xml xml +XML Patch Framework application/patch-ops-error+xml xer +XML Resource Lists application/resource-lists+xml rl +XML Resource Lists application/rls-services+xml rs +XML Resource Lists Diff application/resource-lists-diff+xml rld +XML Transformations application/xslt+xml xslt +XPInstall - Mozilla application/x-xpinstall xpi +X PixMap image/x-xpixmap xpm +XSPF - XML Shareable Playlist Format application/xspf+xml xspf +XUL - XML User Interface Language application/vnd.mozilla.xul+xml xul +X Window Dump image/x-xwindowdump xwd +XYZ File Format chemical/x-xyz xyz +YAML Ain't Markup Language / Yet Another Markup Language text/yaml yaml +YANG Data Modeling Language application/yang yang +YIN (YANG - XML) application/yin+xml yin +Zip Archive application/zip zip +Z.U.L. Geometry application/vnd.zul zir +ZVUE Media Manager application/vnd.handheld-entertainment+xml zmm +Zzazz Deck application/vnd.zzazz.deck+xml zaz diff --git a/share/db/mime_type.sql b/share/db/mime_type.sql index b960fa0c..fd465cd0 100644 --- a/share/db/mime_type.sql +++ b/share/db/mime_type.sql @@ -1,6 +1,12 @@ +DROP TABLE IF EXISTS mime_type; CREATE TABLE IF NOT EXISTS mime_type ( name varchar(128), - type varchar(128) NOT NULL DEFAULT '' PRIMARY KEY, - ext varchar(128) + type varchar(128) NOT NULL DEFAULT '', + ext varchar(128), + PRIMARY KEY(type,ext) ); CREATE INDEX IF NOT EXISTS mime_type_ext_idx ON mime_type (ext); +BEGIN TRANSACTION; +.separator \t +.import "mime_type.csv" mime_type +COMMIT; diff --git a/share/db/nb.db b/share/db/nb.db index 693b6bef1ee4e580c73a767bc04feb88414db959..94104ee5493693d4ef0490bc8a5d5897a5fb23ad 100644 GIT binary patch delta 33569 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 Nx2D;)Z?c6W{{dOjP~HFl diff --git a/www/dbq/dbq.php b/www/dbq/dbq.php index 004fcdca..5188002d 100644 --- a/www/dbq/dbq.php +++ b/www/dbq/dbq.php @@ -278,6 +278,9 @@ class DbQ extends nb { #debug($_SERVER); if ($this->http_user()) $bottom[] = 'Logout: '.$this->http_user().' (can: '.$this->perm2h().')'.''; + #$bottom[] = ''; + #$bottom[] = ''; + if ($bottom and $this->page->is('html')) echo $this->page->tag('div class="block" style="display:inline-block"',join('
'.NB_EOL,$bottom)); $this->page->end(); diff --git a/www/dbq/html/default.css b/www/dbq/html/default.css index 974e3c28..2cb69ebc 100644 --- a/www/dbq/html/default.css +++ b/www/dbq/html/default.css @@ -86,7 +86,7 @@ ul.row, form.edit, .menu, .block, -object, iframe, pre +iframe, pre { border-radius: 4px; border-spacing: 0; -- 2.47.3