ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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)) {
130 return true;
131 } else {
132 return false;
133 }
134 }

◆ detect_bash()

MagicConfig::detect_bash ( )

Definition at line 150 of file MagicConfig.php.

151 {
152 if (preg_match("/^#!\s+\/bin\/bash/", $this->file)
153 || preg_match("/^#!\s+\/usr\/local\/bin\/bash/", $this->file)) {
154 return true;
155 } else {
156 return false;
157 }
158 }

◆ detect_bmp()

MagicConfig::detect_bmp ( )

Definition at line 317 of file MagicConfig.php.

318 {
319 return (substr($this->file, 0, 2) == "BM");
320 }

◆ 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 187 of file MagicConfig.php.

188 {
189 if (preg_match("/^diff\s+/", $this->file)
190 || preg_match("/^\*\*\*\s+/", $this->file)
191 || preg_match("/^Only\s+in\s+/", $this->file)
192 || preg_match("/^Common\s+subdirectories:\s+/", $this->file)) {
193 return true;
194 } else {
195 return false;
196 }
197 }

◆ detect_env()

MagicConfig::detect_env ( )

Definition at line 169 of file MagicConfig.php.

170 {
171 if (preg_match("/^#!\s*\/usr\/bin\/env/", $this->file)) {
172 return true;
173 } else {
174 return false;
175 }
176 }

◆ detect_genericshell()

MagicConfig::detect_genericshell ( )

Definition at line 178 of file MagicConfig.php.

179 {
180 if (preg_match("/^#!/", $this->file)) {
181 return true;
182 } else {
183 return false;
184 }
185 }

◆ detect_gif()

MagicConfig::detect_gif ( )

Definition at line 295 of file MagicConfig.php.

296 {
297 return (substr($this->file, 0, 6) == "GIF89a");
298 }

◆ detect_html()

MagicConfig::detect_html ( )

Definition at line 261 of file MagicConfig.php.

262 {
263 if (preg_match("/\s*<!doctype\s+html/", $this->file)
264 || preg_match("/\s*<head/", $this->file)
265 || preg_match("/\s*<title/", $this->file)
266 || preg_match("/\s*<html/", $this->file)) {
267 return true;
268 } else {
269 return false;
270 }
271 }

◆ detect_jpeg()

MagicConfig::detect_jpeg ( )

Definition at line 300 of file MagicConfig.php.

301 {
302 return !(strpos(substr($this->file, 0, 16), "JFIF") === false);
303 }

◆ detect_lex()

MagicConfig::detect_lex ( )

Definition at line 226 of file MagicConfig.php.

227 {
228 if (substr($this->file, 53, 10)=="yyprevious"
229 || substr($this->file, 21, 17)=="generated by flex") {
230 return true;
231 } else {
232 return false;
233 }
234 }

◆ detect_lisp()

MagicConfig::detect_lisp ( )

Definition at line 236 of file MagicConfig.php.

237 {
238 return !(strpos($this->file, ";;") === false);
239 }

◆ detect_magic()

MagicConfig::detect_magic ( )

Definition at line 241 of file MagicConfig.php.

242 {
243 return preg_match("/^#\s+Magic/", $this->file);
244 }

◆ detect_mime()

MagicConfig::detect_mime ( )

Definition at line 246 of file MagicConfig.php.

247 {
248 return preg_match("/^Content-Type:/", $this->file);
249 }

◆ detect_perl()

MagicConfig::detect_perl ( )

Definition at line 136 of file MagicConfig.php.

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

◆ detect_png()

MagicConfig::detect_png ( )

Definition at line 305 of file MagicConfig.php.

306 {
307 $arr = unpack("C*", $this->file);
308 if (sizeof($arr)<9) {
309 return false;
310 }
311 return ($arr[1] == 0x89 && $arr[2] == 0x50
312 && $arr[3] == 0x4E && $arr[4] == 0x47
313 && $arr[5] == 0x0D && $arr[6] == 0x0A
314 && $arr[7] == 0x1A && $arr[8] == 0x0A);
315 }

◆ detect_postscript()

MagicConfig::detect_postscript ( )

Definition at line 251 of file MagicConfig.php.

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

◆ detect_psfont()

MagicConfig::detect_psfont ( )

Definition at line 217 of file MagicConfig.php.

218 {
219 if (preg_match("/^(.*?)PS-AdobeFont-1\.0/", $this->file)) {
220 return true;
221 } else {
222 return false;
223 }
224 }

◆ detect_rc()

MagicConfig::detect_rc ( )

Definition at line 160 of file MagicConfig.php.

161 {
162 if (preg_match("/^#!\s+\/bin\/rc/", $this->file)) {
163 return true;
164 } else {
165 return false;
166 }
167 }

◆ detect_rtf()

MagicConfig::detect_rtf ( )

Definition at line 256 of file MagicConfig.php.

257 {
258 return substr($this->file, 0, 5)=="{\\rtf";
259 }

◆ detect_sgml()

MagicConfig::detect_sgml ( )

Definition at line 282 of file MagicConfig.php.

283 {
284 if (preg_match("/\s*<!doctype/", $this->file)
285 || preg_match("/\s*<!subdoc/", $this->file)
286 || preg_match("/\s*<!--/", $this->file)) {
287 return true;
288 } else {
289 return false;
290 }
291 }

◆ detect_swf()

MagicConfig::detect_swf ( )

Definition at line 208 of file MagicConfig.php.

209 {
210 if (preg_match("/^FWS/", $this->file)) {
211 return true;
212 } else {
213 return false;
214 }
215 }

◆ detect_tif()

MagicConfig::detect_tif ( )

Definition at line 322 of file MagicConfig.php.

323 {
324 return ((substr($this->file, 0, 2) == "MM") || (substr($this->file, 0, 2) == "II"));
325 }

◆ detect_xdiff()

MagicConfig::detect_xdiff ( )

Definition at line 199 of file MagicConfig.php.

200 {
201 if (preg_match("/^%XDZ/", $this->file)) {
202 return true;
203 } else {
204 return false;
205 }
206 }

◆ detect_xml()

MagicConfig::detect_xml ( )

Definition at line 273 of file MagicConfig.php.

274 {
275 if (preg_match("/\s*<\?xml/", $this->file)) {
276 return true;
277 } else {
278 return false;
279 }
280 }

◆ 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: