ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
MagicConfig Class Reference
+ Collaboration diagram for MagicConfig:

Public Member Functions

 MagicConfig ()
 
 detect_cpp ()
 
 detect_awk ()
 
 detect_perl ()
 
 detect_bash ()
 
 detect_rc ()
 
 detect_env ()
 
 detect_genericshell ()
 
 detect_diff ()
 
 detect_xdiff ()
 
 detect_swf ()
 
 detect_psfont ()
 
 detect_lex ()
 
 detect_lisp ()
 
 detect_magic ()
 
 detect_mime ()
 
 detect_postscript ()
 
 detect_rtf ()
 
 detect_html ()
 
 detect_xml ()
 
 detect_sgml ()
 
 detect_gif ()
 
 detect_jpeg ()
 
 detect_png ()
 
 detect_bmp ()
 
 detect_tif ()
 

Detailed Description

Definition at line 21 of file MagicConfig.php.

Member Function Documentation

◆ detect_awk()

MagicConfig::detect_awk ( )

Definition at line 118 of file MagicConfig.php.

119 {
120 if (preg_match("/^#!\s+\/bin\/nawk/", $this->file)
121 || preg_match("/^#!\s+\/bin\/nawk/", $this->file)
122 || preg_match("/^#!\s+\/usr\/bin\/nawk/", $this->file)
123 || preg_match("/^#!\s+\/usr\/local\/bin\/nawk/", $this->file)
124 || preg_match("/^#!\s+\/bin\/gawk/", $this->file)
125 || preg_match("/^#!\s+\/usr\/bin\/gawk/", $this->file)
126 || preg_match("/^#!\s+\/usr\/local\/bin\/gawk/", $this->file)
127 || preg_match("/^#!\s+\/bin\/awk/", $this->file)
128 || preg_match("/^#!\s+\/usr\/bin\/awk/", $this->file)
129 || preg_match("/^BEGIN\s+/", $this->file)) return true;
130 else return false;
131 }

◆ detect_bash()

MagicConfig::detect_bash ( )

Definition at line 144 of file MagicConfig.php.

145 {
146 if (preg_match("/^#!\s+\/bin\/bash/", $this->file)
147 || preg_match("/^#!\s+\/usr\/local\/bin\/bash/", $this->file)) return true;
148 else return false;
149 }

◆ detect_bmp()

MagicConfig::detect_bmp ( )

Definition at line 273 of file MagicConfig.php.

274 {
275 return (substr($this->file, 0, 2) == "BM");
276 }

◆ detect_cpp()

MagicConfig::detect_cpp ( )

Definition at line 113 of file MagicConfig.php.

114 {
115 return !(strpos($this->file, "//") === false);
116 }

◆ detect_diff()

MagicConfig::detect_diff ( )

Definition at line 169 of file MagicConfig.php.

170 {
171 if (preg_match("/^diff\s+/", $this->file)
172 || preg_match("/^\*\*\*\s+/", $this->file)
173 || preg_match("/^Only\s+in\s+/", $this->file)
174 || preg_match("/^Common\s+subdirectories:\s+/", $this->file)) return true;
175 else return false;
176 }

◆ detect_env()

MagicConfig::detect_env ( )

Definition at line 157 of file MagicConfig.php.

158 {
159 if (preg_match("/^#!\s*\/usr\/bin\/env/", $this->file)) return true;
160 else return false;
161 }

◆ detect_genericshell()

MagicConfig::detect_genericshell ( )

Definition at line 163 of file MagicConfig.php.

164 {
165 if (preg_match("/^#!/", $this->file)) return true;
166 else return false;
167 }

◆ detect_gif()

MagicConfig::detect_gif ( )

Definition at line 253 of file MagicConfig.php.

254 {
255 return (substr($this->file, 0, 6) == "GIF89a");
256 }

◆ detect_html()

MagicConfig::detect_html ( )

Definition at line 228 of file MagicConfig.php.

229 {
230 if (preg_match("/\s*<!doctype\s+html/", $this->file)
231 || preg_match("/\s*<head/", $this->file)
232 || preg_match("/\s*<title/", $this->file)
233 || preg_match("/\s*<html/", $this->file)) return true;
234 else return false;
235 }

◆ detect_jpeg()

MagicConfig::detect_jpeg ( )

Definition at line 258 of file MagicConfig.php.

259 {
260 return !(strpos(substr($this->file, 0, 16), "JFIF") === false);
261 }

◆ detect_lex()

MagicConfig::detect_lex ( )

Definition at line 196 of file MagicConfig.php.

197 {
198 if (substr($this->file, 53, 10)=="yyprevious"
199 || substr($this->file, 21, 17)=="generated by flex") return true;
200 else return false;
201 }

◆ detect_lisp()

MagicConfig::detect_lisp ( )

Definition at line 203 of file MagicConfig.php.

204 {
205 return !(strpos($this->file, ";;") === false);
206 }

◆ detect_magic()

MagicConfig::detect_magic ( )

Definition at line 208 of file MagicConfig.php.

209 {
210 return preg_match("/^#\s+Magic/", $this->file);
211 }

◆ detect_mime()

MagicConfig::detect_mime ( )

Definition at line 213 of file MagicConfig.php.

214 {
215 return preg_match("/^Content-Type:/", $this->file);
216 }

◆ detect_perl()

MagicConfig::detect_perl ( )

Definition at line 133 of file MagicConfig.php.

134 {
135 if (preg_match("/^#!\s+\/bin\/perl/", $this->file)
136 || preg_match("/^eval\s+\"exec\s+\/bin\/perl/", $this->file)
137 || preg_match("/^#!\s+\/usr\/bin\/perl/", $this->file)
138 || preg_match("/^eval\s+\"exec\s+\/usr\/bin\/perl/", $this->file)
139 || preg_match("/^#!\s+\/usr\/local\/bin\/perl/", $this->file)
140 || preg_match("/^eval\s+\"exec\s+\/usr\/local\/bin\/perl/", $this->file)) return true;
141 else return false;
142 }

◆ detect_png()

MagicConfig::detect_png ( )

Definition at line 263 of file MagicConfig.php.

264 {
265 $arr = unpack("C*", $this->file);
266 if (sizeof($arr)<9) return false;
267 return ($arr[1] == 0x89 && $arr[2] == 0x50
268 && $arr[3] == 0x4E && $arr[4] == 0x47
269 && $arr[5] == 0x0D && $arr[6] == 0x0A
270 && $arr[7] == 0x1A && $arr[8] == 0x0A);
271 }

◆ detect_postscript()

MagicConfig::detect_postscript ( )

Definition at line 218 of file MagicConfig.php.

219 {
220 return (substr($this->file, 0, 2)=="%!" || substr($this->file, 0, 3)==(string)(4)."%!");
221 }

◆ detect_psfont()

MagicConfig::detect_psfont ( )

Definition at line 190 of file MagicConfig.php.

191 {
192 if (preg_match("/^(.*?)PS-AdobeFont-1\.0/", $this->file)) return true;
193 else return false;
194 }

◆ detect_rc()

MagicConfig::detect_rc ( )

Definition at line 151 of file MagicConfig.php.

152 {
153 if (preg_match("/^#!\s+\/bin\/rc/", $this->file)) return true;
154 else return false;
155 }

◆ detect_rtf()

MagicConfig::detect_rtf ( )

Definition at line 223 of file MagicConfig.php.

224 {
225 return substr($this->file, 0, 5)=="{\\rtf";
226 }

◆ detect_sgml()

MagicConfig::detect_sgml ( )

Definition at line 243 of file MagicConfig.php.

244 {
245 if (preg_match("/\s*<!doctype/", $this->file)
246 || preg_match("/\s*<!subdoc/", $this->file)
247 || preg_match("/\s*<!--/", $this->file)) return true;
248 else return false;
249 }

◆ detect_swf()

MagicConfig::detect_swf ( )

Definition at line 184 of file MagicConfig.php.

185 {
186 if (preg_match("/^FWS/", $this->file)) return true;
187 else return false;
188 }

◆ detect_tif()

MagicConfig::detect_tif ( )

Definition at line 278 of file MagicConfig.php.

279 {
280 return ((substr($this->file, 0, 2) == "MM") || (substr($this->file, 0, 2) == "II"));
281 }

◆ detect_xdiff()

MagicConfig::detect_xdiff ( )

Definition at line 178 of file MagicConfig.php.

179 {
180 if (preg_match("/^%XDZ/", $this->file)) return true;
181 else return false;
182 }

◆ detect_xml()

MagicConfig::detect_xml ( )

Definition at line 237 of file MagicConfig.php.

238 {
239 if (preg_match("/\s*<\?xml/", $this->file)) return true;
240 else return false;
241 }

◆ MagicConfig()

MagicConfig::MagicConfig ( )

Definition at line 23 of file MagicConfig.php.

24 {
25 $this->separator = ".";
26
27 $this->extensions = array(
28 "a" => "ada95",
29 "ada" => "ada95",
30 "adb" => "ada95",
31 "ads" => "ada95",
32 "asm" => "asm_x86",
33 "asp" => "jscript|vb|vbdotnet",
34 "awk" => "awk",
35 "bas" => "vb|vbdotnet",
36 "c" => "c",
37 "cbl" => "cobol",
38 "cls" => "vb|vbdotnet",
39 "cob" => "cobol",
40 "cpy" => "cobol",
41 "cpp" => "cpp",
42 "cs" => "csharp",
43 "cxx" => "cpp",
44 "dat" => "mumps",
45 "dpr" => "delphi",
46 "e" => "eiffel|euphoria",
47 "ew" => "euphoria",
48 "eu" => "euphoria",
49 "ex" => "euphoria",
50 "exw" => "euphoria",
51 "exu" => "euphoria",
52 "frm" => "vb|vbdotnet",
53 "h" => "c",
54 "hpp" => "cpp",
55 "inc" => "turbopascal|vb|vbdotnet",
56 "java" => "javaswing",
57 "js" => "jscript|javascript",
58 "lsp" => "lisp",
59 "m" => "mumps",
60 "pas" => "delphi|turbopascal",
61 "php" => "php3",
62 "php3" => "php3",
63 "php4" => "php3",
64 "pl" => "perl",
65 "pm" => "perl",
66 "py" => "python",
67 "pyc" => "python",
68 "rtn" => "mumps",
69 "scm" => "scheme",
70 "vb" => "vb|vbdotnet",
71 "vbs" => "vb|vbdotnet|vbscript",
72 "wsf" => "vbscript"
73 );
74
75 $this->langfunctions = array(
76 // ASCII
77 // --- Languages
78 "awk",
79 "bash",
80 "perl",
81 "rc",
82 "env",
83 "cpp",
84 "diff",
85 "xdiff",
86 "swf",
87 "psfont",
88 "lex",
89 "lisp",
90 "magic",
91 "mime",
92 // --- Markup
93 "postscript",
94 "rtf",
95 "html",
96 "xml",
97 "sgml",
98 // --- Generic tests
99 "genericshell");
100
101 $this->binfunctions = array(
102 // Binary
103 // --- Images
104 "gif",
105 "jpeg",
106 "png",
107 "bmp",
108 "tif"
109 // --- Compressed
110 );
111 }

The documentation for this class was generated from the following file: