# HG changeset patch # User Matti Hamalainen # Date 1416857464 -7200 # Node ID 4df1bfd11131413d7356fa2ee2578d93a1dacd78 # Parent e59d57cc3aa84eb34836592dda69dcc647fd4ed6 Add file classes. diff -r e59d57cc3aa8 -r 4df1bfd11131 msite.inc.php --- a/msite.inc.php Mon Nov 24 18:55:03 2014 +0200 +++ b/msite.inc.php Mon Nov 24 21:31:04 2014 +0200 @@ -55,6 +55,13 @@ EPREV_AUDIO => array("Audio file" , "Audio"), ); +// +// File format classes +// +define("EFILE_UNKNOWN", 0); +define("EFILE_IMAGE", 1); +define("EFILE_AUDIO", 2); +define("EFILE_ARCHIVE", 5); // // Entry flags (bitfield) @@ -128,18 +135,21 @@ // $fileTypeData = array( "PNG" => array( + "class" => EFILE_IMAGE, "type" => EPREV_IMAGE, "mime" => "image/png", "fext" => ".png", "test" => "^PNG image data", ), "JPEG" => array( + "class" => EFILE_IMAGE, "type" => EPREV_IMAGE, "mime" => "image/jpeg", "fext" => ".jpg", "test" => "^JPEG image data", ), "GIF" => array( + "class" => EFILE_IMAGE, "type" => EPREV_IMAGE, "mime" => "image/gif", "fext" => ".gif", @@ -147,68 +157,142 @@ ), "MP3" => array( + "class" => EFILE_AUDIO, "type" => EPREV_AUDIO, "mime" => "audio/mpeg", "fext" => ".mp3", "test" => "MPEG ADTS, layer III", ), "OggVorbis" => array( + "class" => EFILE_AUDIO, "type" => EPREV_AUDIO, "mime" => "audio/ogg; codecs=vorbis", "fext" => ".ogg", "test" => "Ogg data, Vorbis audio", ), + "FLAC" => array( + "class" => EFILE_AUDIO, + "type" => EPREV_AUDIO, + "mime" => "audio/x-flac", + "fext" => ".flac", + ), + "WAV" => array( + "class" => EFILE_AUDIO, + "type" => EPREV_AUDIO, + "mime" => "audio/x-wav", + "fext" => ".wav", + ), // Special cases "ILBM" => array( - "type" => EPREV_IMAGE, + "class" => EFILE_IMAGE, "mime" => "gfx", // Special cases to be converted through gfxconv .. "fext" => ".lbm", "test" => "^IFF data", ), "PCX" => array( - "type" => EPREV_IMAGE, + "class" => EFILE_IMAGE, "mime" => "image/x-pcx", "fext" => ".pcx", "test" => "^PCX ver\. 3\.0", ), "PTMOD" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".mod", "test" => "^\d+-channel Protracker module", ), "PTMOD" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".mod", "test" => "^\d+-channel Fasttracker module", ), "S3M" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".s3m", "test" => "^ScreamTracker III Module", ), "XM" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".xm", "test" => "^Fasttracker II module", ), "IT" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".it", "test" => "^Impulse Tracker module", ), "PTM" => array( - "type" => EPREV_AUDIO, + "class" => EFILE_AUDIO, "mime" => "audio/x-mod", "fext" => ".ptm", "test" => "^Poly Tracker PTM Module", ), + + "AVI" => array( + "class" => EFILE_VIDEO, + "mime" => "video/x-msvideo", + "fext" => ".avi", + ), + "WMV" => array( + "class" => EFILE_VIDEO, + "mime" => "video/x-ms-asf", + "fext" => ".wmv", + ), + "MP4" => array( + "class" => EFILE_VIDEO, + "mime" => "video/mp4", + "fext" => ".mp4", + ), + "MOV" => array( + "class" => EFILE_VIDEO, + "mime" => "video/quicktime", + "fext" => ".mov", + ), + "MKV" => array( + "class" => EFILE_VIDEO, + "mime" => "video/x-matroska", + "fext" => ".mkv", + ), + + // Archives + "LHA" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/x-lha", + "fext" => ".lha", + ), + "ZIP" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/zip", + "fext" => ".zip", + ), + "7ZIP" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/x-7z-compressed", + "fext" => ".7z", + ), + "RAR" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/x-rar", + "fext" => ".rar", + ), + "ARJ" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/x-arj", + "fext" => ".arj", + ), + + // Final fallback + "MISC" => array( + "class" => EFILE_ARCHIVE, + "mime" => "application/octet-stream", + "fext" => FALSE, + ), );