<?php
/**
* webconfig Helper
* @author Danny Nunez 300development@gmail.com
*/
class WebConfig
{
/**
* @Description - Provide a multi-demensional array to parse and create a web.config file. The base settings are from the web.config examples at https://github.com/h5bp/server-configs
* @param Array - Mulit-Demensional $paths
* EXAMPLE:
* Old URL New URL
* $redirects array = ('orgUrl' => 'http://example.com/oldurl' , 'redirect' => 'http://example.com/newurl' );
*
*/
public function create($paths)
{
$webConfig = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8" ?><configuration></configuration>');
// add 404 http error block
// start <system.webServer>
$_404 = $webConfig->addChild('system.webServer');
$error_mode = $_404->addChild('httpErrors');
$error_mode->addAttribute('errorMode', 'Custom');
$error_mode->addAttribute('existingResponse', 'Replace');
$remove = $error_mode->addChild('remove');
$remove->addAttribute('statusCode', '404');
$remove->addAttribute('subStatusCode', '-1');
$error = $error_mode->addChild('error');
$error->addAttribute('statusCode', '404');
$error->addAttribute('prefixLanguageFilePath', '');
$error->addAttribute('path', '/404.php');
$error->addAttribute('responseMode', 'ExecuteURL');
// add url rewrite to remove index.php
$rewrite = $_404->addChild('rewrite');
$rules = $rewrite->addChild('rules');
$rule = $rules->addChild('rule');
$rule->addAttribute('name', 'Imported Rule 1');
$rule->addAttribute('stopProcessing', 'true');
$match = $rule->addChild('match');
$match->addAttribute('url', '^(.*)$');
$match->addAttribute('ignoreCase', 'false');
$conditions = $rule->addChild('conditions');
$conditions->addAttribute('logicalGrouping', 'MatchAll');
$add1 = $conditions->addChild('add');
$add1->addAttribute('input', '{REQUEST_FILENAME}');
$add1->addAttribute('matchType', 'IsFile');
$add1->addAttribute('ignoreCase', 'false');
$add1->addAttribute('negate', 'true');
$add2 = $conditions->addChild('add');
$add2->addAttribute('input', '{REQUEST_FILENAME}');
$add2->addAttribute('matchType', 'IsDirectory');
$add2->addAttribute('ignoreCase', 'false');
$add2->addAttribute('negate', 'true');
$action = $rule->addChild('action');
$action->addAttribute('type', 'Rewrite');
$action->addAttribute('url', 'index.php/{R:1}');
// http compression
$httpCompression = $_404->addChild('httpCompression');
$httpCompression->addAttribute('directory', '%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files');
$scheme = $httpCompression->addChild('scheme');
$scheme->addAttribute('name', 'gzip');
$scheme->addAttribute('dll', '%Windir%\system32\inetsrv\gzip.dll');
// DynamicTypes
unset($add1, $add2);
$dynamicTypes = $httpCompression->addChild('dynamicTypes');
$add1 = $dynamicTypes->addChild('add');
$add1->addAttribute('mimeType', 'text/*');
$add1->addAttribute('enabled', 'true');
$add2 = $dynamicTypes->addChild('add');
$add2->addAttribute('mimeType', 'gzip');
$add2->addAttribute('enabled', 'true');
$add3 = $dynamicTypes->addChild('add');
$add3->addAttribute('mimeType', 'application/javascript');
$add3->addAttribute('enabled', 'true');
$add4 = $dynamicTypes->addChild('add');
$add4->addAttribute('mimeType', '*/*');
$add4->addAttribute('enabled', 'true');
// Static Types
unset($add1, $add2, $add3, $add4);
$staticTypes = $httpCompression->addChild('staticTypes');
$add1 = $staticTypes->addChild('add');
$add1->addAttribute('mimeType', 'text/*');
$add1->addAttribute('enabled', 'true');
$add2 = $dynamicTypes->addChild('add');
$add2->addAttribute('mimeType', 'gzip');
$add2->addAttribute('enabled', 'true');
$add3 = $dynamicTypes->addChild('add');
$add3->addAttribute('mimeType', 'application/javascript');
$add3->addAttribute('enabled', 'true');
$add4 = $dynamicTypes->addChild('add');
$add4->addAttribute('mimeType', '*/*');
$add4->addAttribute('enabled', 'true');
// url compression
$urlCompression = $_404->addChild('urlCompression');
$urlCompression->addAttribute('doStaticCompression', 'true');
$urlCompression->addAttribute('doDynamicCompression', 'true');
// Static content
$staticContent = $_404->addChild('staticContent');
$clientCache = $staticContent->addChild('clientCache');
$clientCache->addAttribute('cacheControlMode', 'UseMaxAge');
$clientCache->addAttribute('cacheControlMaxAge', '30.00:00:00');
// css
$RemoveExt_css = $staticContent->addChild('remove');
$RemoveExt_css->addAttribute('fileExtension', '.css');
$mimeMap_css = $staticContent->addChild('mimeMap');
$mimeMap_css->addAttribute('fileExtension', '.css');
$mimeMap_css->addAttribute('mimeType', 'text/css');
// js
$RemoveExt_js = $staticContent->addChild('remove');
$RemoveExt_js->addAttribute('fileExtension', '.js');
$mimeMap_js = $staticContent->addChild('mimeMap');
$mimeMap_js->addAttribute('fileExtension', '.js');
$mimeMap_js->addAttribute('mimeType', 'text/javascript');
// json
$RemoveExt_json = $staticContent->addChild('remove');
$RemoveExt_json->addAttribute('fileExtension', '.json');
$mimeMap_json = $staticContent->addChild('mimeMap');
$mimeMap_json->addAttribute('fileExtension', '.json');
$mimeMap_json->addAttribute('mimeType', 'application/json');
// rss
$RemoveExt_rss = $staticContent->addChild('remove');
$RemoveExt_rss->addAttribute('fileExtension', '.rss');
$mimeMap_rss = $staticContent->addChild('mimeMap');
$mimeMap_rss->addAttribute('fileExtension', '.rss');
$mimeMap_rss->addAttribute('mimeType', 'application/xml; charset=UTF-8');
// HTML5 Audio/Video mime types
// mp3
$RemoveExt_mp3 = $staticContent->addChild('remove');
$RemoveExt_mp3->addAttribute('fileExtension', '.mp3');
$mimeMap_mp3 = $staticContent->addChild('mimeMap');
$mimeMap_mp3->addAttribute('fileExtension', '.mp3');
$mimeMap_mp3->addAttribute('mimeType', 'audio/mpeg');
// mp3
$RemoveExt_mp3 = $staticContent->addChild('remove');
$RemoveExt_mp3->addAttribute('fileExtension', '.mp3');
$mimeMap_mp3 = $staticContent->addChild('mimeMap');
$mimeMap_mp3->addAttribute('fileExtension', '.mp3');
$mimeMap_mp3->addAttribute('mimeType', 'audio/mpeg');
// mp4
$RemoveExt_mp4 = $staticContent->addChild('remove');
$RemoveExt_mp4->addAttribute('fileExtension', '.mp4');
$mimeMap_mp4 = $staticContent->addChild('mimeMap');
$mimeMap_mp4->addAttribute('fileExtension', '.mp4');
$mimeMap_mp4->addAttribute('mimeType', 'video/mp4');
// ogg
$RemoveExt_ogg = $staticContent->addChild('remove');
$RemoveExt_ogg->addAttribute('fileExtension', '.ogg');
$mimeMap_ogg = $staticContent->addChild('mimeMap');
$mimeMap_ogg->addAttribute('fileExtension', '.ogg');
$mimeMap_ogg->addAttribute('mimeType', 'audio/ogg');
// ogv
$RemoveExt_ogv = $staticContent->addChild('remove');
$RemoveExt_ogv->addAttribute('fileExtension', '.ogv');
$mimeMap_ogv = $staticContent->addChild('mimeMap');
$mimeMap_ogv->addAttribute('fileExtension', '.ogv');
$mimeMap_ogv->addAttribute('mimeType', 'video/ogg');
// webm
$RemoveExt_webm = $staticContent->addChild('remove');
$RemoveExt_webm->addAttribute('fileExtension', '.webm');
$mimeMap_webm = $staticContent->addChild('mimeMap');
$mimeMap_webm->addAttribute('fileExtension', '.webm');
$mimeMap_webm->addAttribute('mimeType', 'video/webm');
// Proper svg serving. Required for svg webfonts on iPad
// svg
$RemoveExt_svg = $staticContent->addChild('remove');
$RemoveExt_svg->addAttribute('fileExtension', '.svg');
$mimeMap_svg = $staticContent->addChild('mimeMap');
$mimeMap_svg->addAttribute('fileExtension', '.svg');
$mimeMap_svg->addAttribute('mimeType', 'image/svg+xml');
//svgz
$RemoveExt_svgz = $staticContent->addChild('remove');
$RemoveExt_svgz->addAttribute('fileExtension', '.svgz');
$mimeMap_svgz = $staticContent->addChild('mimeMap');
$mimeMap_svgz->addAttribute('fileExtension', '.svgz');
$mimeMap_svgz->addAttribute('mimeType', 'image/svg+xml');
// HTML4 Web font mime types
// eot
$RemoveExt_eot = $staticContent->addChild('remove');
$RemoveExt_eot->addAttribute('fileExtension', '.eot');
$mimeMap_eot = $staticContent->addChild('mimeMap');
$mimeMap_eot->addAttribute('fileExtension', '.eot');
$mimeMap_eot->addAttribute('mimeType', 'application/vnd.ms-fontobject');
// ttf
$RemoveExt_ttf = $staticContent->addChild('remove');
$RemoveExt_ttf->addAttribute('fileExtension', '.ttf');
$mimeMap_ttf = $staticContent->addChild('mimeMap');
$mimeMap_ttf->addAttribute('fileExtension', '.ttf');
$mimeMap_ttf->addAttribute('mimeType', 'application/x-font-ttf');
// ttc
$RemoveExt_ttc = $staticContent->addChild('remove');
$RemoveExt_ttc->addAttribute('fileExtension', '.ttc');
$mimeMap_ttc = $staticContent->addChild('mimeMap');
$mimeMap_ttc->addAttribute('fileExtension', '.ttc');
$mimeMap_ttc->addAttribute('mimeType', 'application/x-font-ttf');
// otf
$RemoveExt_otf = $staticContent->addChild('remove');
$RemoveExt_otf->addAttribute('fileExtension', '.otf');
$mimeMap_otf = $staticContent->addChild('mimeMap');
$mimeMap_otf->addAttribute('fileExtension', '.otf');
$mimeMap_otf->addAttribute('mimeType', 'font/opentype');
// woff
$RemoveExt_wotf = $staticContent->addChild('remove');
$RemoveExt_wotf->addAttribute('fileExtension', '.woff');
$mimeMap_wotf = $staticContent->addChild('mimeMap');
$mimeMap_wotf->addAttribute('fileExtension', '.woff');
$mimeMap_wotf->addAttribute('mimeType', 'application/font-woff');
// crx
$RemoveExt_crx = $staticContent->addChild('remove');
$RemoveExt_crx->addAttribute('fileExtension', '.crx');
$mimeMap_crx = $staticContent->addChild('mimeMap');
$mimeMap_crx->addAttribute('fileExtension', '.crx');
$mimeMap_crx->addAttribute('mimeType', 'application/x-chrome-extension');
// xpi
$RemoveExt_xpi = $staticContent->addChild('remove');
$RemoveExt_xpi->addAttribute('fileExtension', '.xpi');
$mimeMap_xpi = $staticContent->addChild('mimeMap');
$mimeMap_xpi->addAttribute('fileExtension', '.xpi');
$mimeMap_xpi->addAttribute('mimeType', 'application/x-xpinstall');
// xpi
$RemoveExt_xpi = $staticContent->addChild('remove');
$RemoveExt_xpi->addAttribute('fileExtension', '.xpi');
$mimeMap_xpi = $staticContent->addChild('mimeMap');
$mimeMap_xpi->addAttribute('fileExtension', '.xpi');
$mimeMap_xpi->addAttribute('mimeType', 'application/x-xpinstall');
// safariextz
$RemoveExt_safariextz = $staticContent->addChild('remove');
$RemoveExt_safariextz->addAttribute('fileExtension', '.safariextz');
$mimeMap_safariextz = $staticContent->addChild('mimeMap');
$mimeMap_safariextz->addAttribute('fileExtension', '.safariextz');
$mimeMap_safariextz->addAttribute('mimeType', 'application/octet-stream');
// Flash Video mime types
// flv
$RemoveExt_flv = $staticContent->addChild('remove');
$RemoveExt_flv->addAttribute('fileExtension', '.flv');
$mimeMap_flv = $staticContent->addChild('mimeMap');
$mimeMap_flv->addAttribute('fileExtension', '.flv');
$mimeMap_flv->addAttribute('mimeType', 'video/x-flv');
// fv4
$RemoveExt_f4v = $staticContent->addChild('remove');
$RemoveExt_f4v->addAttribute('fileExtension', '.f4v');
$mimeMap_f4v = $staticContent->addChild('mimeMap');
$mimeMap_f4v->addAttribute('fileExtension', '.f4v');
$mimeMap_f4v->addAttribute('mimeType', 'video/mp4');
// Asorted types
// ico
$RemoveExt_ico = $staticContent->addChild('remove');
$RemoveExt_ico->addAttribute('fileExtension', '.ico');
$mimeMap_ico = $staticContent->addChild('mimeMap');
$mimeMap_ico->addAttribute('fileExtension', '.ico');
$mimeMap_ico->addAttribute('mimeType', 'image/x-icon');
//webp
$RemoveExt_webp = $staticContent->addChild('remove');
$RemoveExt_webp->addAttribute('fileExtension', '.webp');
$mimeMap_webp = $staticContent->addChild('mimeMap');
$mimeMap_webp->addAttribute('fileExtension', '.webp');
$mimeMap_webp->addAttribute('mimeType', 'image/webp');
//appcache
$RemoveExt_appcache = $staticContent->addChild('remove');
$RemoveExt_appcache->addAttribute('fileExtension', '.appcache');
$mimeMap_appcache = $staticContent->addChild('mimeMap');
$mimeMap_appcache->addAttribute('fileExtension', '.appcache');
$mimeMap_appcache->addAttribute('mimeType', 'text/cache-manifest');
//appcache
$RemoveExt_manifest = $staticContent->addChild('remove');
$RemoveExt_manifest->addAttribute('fileExtension', '.manifest');
$mimeMap_manifest = $staticContent->addChild('mimeMap');
$mimeMap_manifest->addAttribute('fileExtension', '.manifest');
$mimeMap_manifest->addAttribute('mimeType', 'text/cache-manifest');
// htc
$RemoveExt_htc = $staticContent->addChild('remove');
$RemoveExt_htc->addAttribute('fileExtension', '.htc');
$mimeMap_htc = $staticContent->addChild('mimeMap');
$mimeMap_htc->addAttribute('fileExtension', '.htc');
$mimeMap_htc->addAttribute('mimeType', 'text/x-component');
// vcf
$RemoveExt_vcf = $staticContent->addChild('remove');
$RemoveExt_vcf->addAttribute('fileExtension', '.vcf');
$mimeMap_vcf = $staticContent->addChild('mimeMap');
$mimeMap_vcf->addAttribute('fileExtension', '.vcf');
$mimeMap_vcf->addAttribute('mimeType', 'text/x-vcard');
// end </system.webServer>
// add 404 custom error block
// start <system.web>
$_404 = $webConfig->addChild('system.web');
$error_mode = $_404->addChild('customErrors');
$error_mode->addAttribute('mode', 'on');
$error_mode->addAttribute('defaultRedirect', '/404.php');
$remove = $error_mode->addChild('error');
$remove->addAttribute('statusCode', '404');
$remove->addAttribute('redirect', '/404.php');
// end <system.web>
// start all redirects
// Old URL New URL
// Example $redirects array = ('orgUrl' => 'http://example.com/oldurl' , 'redirect' => 'http://example.com/newurl' );
foreach ($redirects as $redirect) {
$item = $webConfig->addChild('location');
$item->addAttribute('path', $redirect['orgUrl']);
$webServer = $item->addChild('system.webServer');
$httpRedirect = $webServer->addChild('httpRedirect');
$httpRedirect->addAttribute('enabled', 'true');
$httpRedirect->addAttribute('destination', $redirect['redirect']);
$httpRedirect->addAttribute('httpResponseStatus', 'Permanent');
}
$webConfig->asXML('web.config');
return true;
}
}
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/aFDRF
function name: (null)
number of ops: 1
compiled vars: none
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
314 0 E > > RETURN 1
Class WebConfig:
Function create:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 912, Position 2 = 946
Branch analysis from position: 912
2 jumps found. (Code = 78) Position 1 = 913, Position 2 = 946
Branch analysis from position: 913
1 jumps found. (Code = 42) Position 1 = 912
Branch analysis from position: 912
Branch analysis from position: 946
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 946
filename: /in/aFDRF
function name: create
number of ops: 952
compiled vars: !0 = $paths, !1 = $webConfig, !2 = $_404, !3 = $error_mode, !4 = $remove, !5 = $error, !6 = $rewrite, !7 = $rules, !8 = $rule, !9 = $match, !10 = $conditions, !11 = $add1, !12 = $add2, !13 = $action, !14 = $httpCompression, !15 = $scheme, !16 = $dynamicTypes, !17 = $add3, !18 = $add4, !19 = $staticTypes, !20 = $urlCompression, !21 = $staticContent, !22 = $clientCache, !23 = $RemoveExt_css, !24 = $mimeMap_css, !25 = $RemoveExt_js, !26 = $mimeMap_js, !27 = $RemoveExt_json, !28 = $mimeMap_json, !29 = $RemoveExt_rss, !30 = $mimeMap_rss, !31 = $RemoveExt_mp3, !32 = $mimeMap_mp3, !33 = $RemoveExt_mp4, !34 = $mimeMap_mp4, !35 = $RemoveExt_ogg, !36 = $mimeMap_ogg, !37 = $RemoveExt_ogv, !38 = $mimeMap_ogv, !39 = $RemoveExt_webm, !40 = $mimeMap_webm, !41 = $RemoveExt_svg, !42 = $mimeMap_svg, !43 = $RemoveExt_svgz, !44 = $mimeMap_svgz, !45 = $RemoveExt_eot, !46 = $mimeMap_eot, !47 = $RemoveExt_ttf, !48 = $mimeMap_ttf, !49 = $RemoveExt_ttc, !50 = $mimeMap_ttc, !51 = $RemoveExt_otf, !52 = $mimeMap_otf, !53 = $RemoveExt_wotf, !54 = $mimeMap_wotf, !55 = $RemoveExt_crx, !56 = $mimeMap_crx, !57 = $RemoveExt_xpi, !58 = $mimeMap_xpi, !59 = $RemoveExt_safariextz, !60 = $mimeMap_safariextz, !61 = $RemoveExt_flv, !62 = $mimeMap_flv, !63 = $RemoveExt_f4v, !64 = $mimeMap_f4v, !65 = $RemoveExt_ico, !66 = $mimeMap_ico, !67 = $RemoveExt_webp, !68 = $mimeMap_webp, !69 = $RemoveExt_appcache, !70 = $mimeMap_appcache, !71 = $RemoveExt_manifest, !72 = $mimeMap_manifest, !73 = $RemoveExt_htc, !74 = $mimeMap_htc, !75 = $RemoveExt_vcf, !76 = $mimeMap_vcf, !77 = $redirects, !78 = $redirect, !79 = $item, !80 = $webServer, !81 = $httpRedirect
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
19 0 E > RECV !0
21 1 NEW $82 'SimpleXMLElement'
2 SEND_VAL_EX '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22+%3F%3E%3Cconfiguration%3E%3C%2Fconfiguration%3E'
3 DO_FCALL 0
4 ASSIGN !1, $82
24 5 INIT_METHOD_CALL !1, 'addChild'
6 SEND_VAL_EX 'system.webServer'
7 DO_FCALL 0 $85
8 ASSIGN !2, $85
25 9 INIT_METHOD_CALL !2, 'addChild'
10 SEND_VAL_EX 'httpErrors'
11 DO_FCALL 0 $87
12 ASSIGN !3, $87
26 13 INIT_METHOD_CALL !3, 'addAttribute'
14 SEND_VAL_EX 'errorMode'
15 SEND_VAL_EX 'Custom'
16 DO_FCALL 0
27 17 INIT_METHOD_CALL !3, 'addAttribute'
18 SEND_VAL_EX 'existingResponse'
19 SEND_VAL_EX 'Replace'
20 DO_FCALL 0
28 21 INIT_METHOD_CALL !3, 'addChild'
22 SEND_VAL_EX 'remove'
23 DO_FCALL 0 $91
24 ASSIGN !4, $91
29 25 INIT_METHOD_CALL !4, 'addAttribute'
26 SEND_VAL_EX 'statusCode'
27 SEND_VAL_EX '404'
28 DO_FCALL 0
30 29 INIT_METHOD_CALL !4, 'addAttribute'
30 SEND_VAL_EX 'subStatusCode'
31 SEND_VAL_EX '-1'
32 DO_FCALL 0
31 33 INIT_METHOD_CALL !3, 'addChild'
34 SEND_VAL_EX 'error'
35 DO_FCALL 0 $95
36 ASSIGN !5, $95
32 37 INIT_METHOD_CALL !5, 'addAttribute'
38 SEND_VAL_EX 'statusCode'
39 SEND_VAL_EX '404'
40 DO_FCALL 0
33 41 INIT_METHOD_CALL !5, 'addAttribute'
42 SEND_VAL_EX 'prefixLanguageFilePath'
43 SEND_VAL_EX ''
44 DO_FCALL 0
34 45 INIT_METHOD_CALL !5, 'addAttribute'
46 SEND_VAL_EX 'path'
47 SEND_VAL_EX '%2F404.php'
48 DO_FCALL 0
35 49 INIT_METHOD_CALL !5, 'addAttribute'
50 SEND_VAL_EX 'responseMode'
51 SEND_VAL_EX 'ExecuteURL'
52 DO_FCALL 0
37 53 INIT_METHOD_CALL !2, 'addChild'
54 SEND_VAL_EX 'rewrite'
55 DO_FCALL 0 $101
56 ASSIGN !6, $101
38 57 INIT_METHOD_CALL !6, 'addChild'
58 SEND_VAL_EX 'rules'
59 DO_FCALL 0 $103
60 ASSIGN !7, $103
39 61 INIT_METHOD_CALL !7, 'addChild'
62 SEND_VAL_EX 'rule'
63 DO_FCALL 0 $105
64 ASSIGN !8, $105
40 65 INIT_METHOD_CALL !8, 'addAttribute'
66 SEND_VAL_EX 'name'
67 SEND_VAL_EX 'Imported+Rule+1'
68 DO_FCALL 0
41 69 INIT_METHOD_CALL !8, 'addAttribute'
70 SEND_VAL_EX 'stopProcessing'
71 SEND_VAL_EX 'true'
72 DO_FCALL 0
42 73 INIT_METHOD_CALL !8, 'addChild'
74 SEND_VAL_EX 'match'
75 DO_FCALL 0 $109
76 ASSIGN !9, $109
43 77 INIT_METHOD_CALL !9, 'addAttribute'
78 SEND_VAL_EX 'url'
79 SEND_VAL_EX '%5E%28.%2A%29%24'
80 DO_FCALL 0
44 81 INIT_METHOD_CALL !9, 'addAttribute'
82 SEND_VAL_EX 'ignoreCase'
83 SEND_VAL_EX 'false'
84 DO_FCALL 0
45 85 INIT_METHOD_CALL !8, 'addChild'
86 SEND_VAL_EX 'conditions'
87 DO_FCALL 0 $113
88 ASSIGN !10, $113
46 89 INIT_METHOD_CALL !10, 'addAttribute'
90 SEND_VAL_EX 'logicalGrouping'
91 SEND_VAL_EX 'MatchAll'
92 DO_FCALL 0
47 93 INIT_METHOD_CALL !10, 'addChild'
94 SEND_VAL_EX 'add'
95 DO_FCALL 0 $116
96 ASSIGN !11, $116
48 97 INIT_METHOD_CALL !11, 'addAttribute'
98 SEND_VAL_EX 'input'
99 SEND_VAL_EX '%7BREQUEST_FILENAME%7D'
100 DO_FCALL 0
49 101 INIT_METHOD_CALL !11, 'addAttribute'
102 SEND_VAL_EX 'matchType'
103 SEND_VAL_EX 'IsFile'
104 DO_FCALL 0
50 105 INIT_METHOD_CALL !11, 'addAttribute'
106 SEND_VAL_EX 'ignoreCase'
107 SEND_VAL_EX 'false'
108 DO_FCALL 0
51 109 INIT_METHOD_CALL !11, 'addAttribute'
110 SEND_VAL_EX 'negate'
111 SEND_VAL_EX 'true'
112 DO_FCALL 0
52 113 INIT_METHOD_CALL !10, 'addChild'
114 SEND_VAL_EX 'add'
115 DO_FCALL 0 $122
116 ASSIGN !12, $122
53 117 INIT_METHOD_CALL !12, 'addAttribute'
118 SEND_VAL_EX 'input'
119 SEND_VAL_EX '%7BREQUEST_FILENAME%7D'
120 DO_FCALL 0
54 121 INIT_METHOD_CALL !12, 'addAttribute'
122 SEND_VAL_EX 'matchType'
123 SEND_VAL_EX 'IsDirectory'
124 DO_FCALL 0
55 125 INIT_METHOD_CALL !12, 'addAttribute'
126 SEND_VAL_EX 'ignoreCase'
127 SEND_VAL_EX 'false'
128 DO_FCALL 0
56 129 INIT_METHOD_CALL !12, 'addAttribute'
130 SEND_VAL_EX 'negate'
131 SEND_VAL_EX 'true'
132 DO_FCALL 0
57 133 INIT_METHOD_CALL !8, 'addChild'
134 SEND_VAL_EX 'action'
135 DO_FCALL 0 $128
136 ASSIGN !13, $128
58 137 INIT_METHOD_CALL !13, 'addAttribute'
138 SEND_VAL_EX 'type'
139 SEND_VAL_EX 'Rewrite'
140 DO_FCALL 0
59 141 INIT_METHOD_CALL !13, 'addAttribute'
142 SEND_VAL_EX 'url'
143 SEND_VAL_EX 'index.php%2F%7BR%3A1%7D'
144 DO_FCALL 0
61 145 INIT_METHOD_CALL !2, 'addChild'
146 SEND_VAL_EX 'httpCompression'
147 DO_FCALL 0 $132
148 ASSIGN !14, $132
62 149 INIT_METHOD_CALL !14, 'addAttribute'
150 SEND_VAL_EX 'directory'
151 SEND_VAL_EX '%25SystemDrive%25%5Cinetpub%5Ctemp%5CIIS+Temporary+Compressed+Files'
152 DO_FCALL 0
63 153 INIT_METHOD_CALL !14, 'addChild'
154 SEND_VAL_EX 'scheme'
155 DO_FCALL 0 $135
156 ASSIGN !15, $135
64 157 INIT_METHOD_CALL !15, 'addAttribute'
158 SEND_VAL_EX 'name'
159 SEND_VAL_EX 'gzip'
160 DO_FCALL 0
65 161 INIT_METHOD_CALL !15, 'addAttribute'
162 SEND_VAL_EX 'dll'
163 SEND_VAL_EX '%25Windir%25%5Csystem32%5Cinetsrv%5Cgzip.dll'
164 DO_FCALL 0
67 165 UNSET_CV !11
166 UNSET_CV !12
68 167 INIT_METHOD_CALL !14, 'addChild'
168 SEND_VAL_EX 'dynamicTypes'
169 DO_FCALL 0 $139
170 ASSIGN !16, $139
69 171 INIT_METHOD_CALL !16, 'addChild'
172 SEND_VAL_EX 'add'
173 DO_FCALL 0 $141
174 ASSIGN !11, $141
70 175 INIT_METHOD_CALL !11, 'addAttribute'
176 SEND_VAL_EX 'mimeType'
177 SEND_VAL_EX 'text%2F%2A'
178 DO_FCALL 0
71 179 INIT_METHOD_CALL !11, 'addAttribute'
180 SEND_VAL_EX 'enabled'
181 SEND_VAL_EX 'true'
182 DO_FCALL 0
72 183 INIT_METHOD_CALL !16, 'addChild'
184 SEND_VAL_EX 'add'
185 DO_FCALL 0 $145
186 ASSIGN !12, $145
73 187 INIT_METHOD_CALL !12, 'addAttribute'
188 SEND_VAL_EX 'mimeType'
189 SEND_VAL_EX 'gzip'
190 DO_FCALL 0
74 191 INIT_METHOD_CALL !12, 'addAttribute'
192 SEND_VAL_EX 'enabled'
193 SEND_VAL_EX 'true'
194 DO_FCALL 0
75 195 INIT_METHOD_CALL !16, 'addChild'
196 SEND_VAL_EX 'add'
197 DO_FCALL 0 $149
198 ASSIGN !17, $149
76 199 INIT_METHOD_CALL !17, 'addAttribute'
200 SEND_VAL_EX 'mimeType'
201 SEND_VAL_EX 'application%2Fjavascript'
202 DO_FCALL 0
77 203 INIT_METHOD_CALL !17, 'addAttribute'
204 SEND_VAL_EX 'enabled'
205 SEND_VAL_EX 'true'
206 DO_FCALL 0
78 207 INIT_METHOD_CALL !16, 'addChild'
208 SEND_VAL_EX 'add'
209 DO_FCALL 0 $153
210 ASSIGN !18, $153
79 211 INIT_METHOD_CALL !18, 'addAttribute'
212 SEND_VAL_EX 'mimeType'
213 SEND_VAL_EX '%2A%2F%2A'
214 DO_FCALL 0
80 215 INIT_METHOD_CALL !18, 'addAttribute'
216 SEND_VAL_EX 'enabled'
217 SEND_VAL_EX 'true'
218 DO_FCALL 0
82 219 UNSET_CV !11
220 UNSET_CV !12
221 UNSET_CV !17
222 UNSET_CV !18
83 223 INIT_METHOD_CALL !14, 'addChild'
224 SEND_VAL_EX 'staticTypes'
225 DO_FCALL 0 $157
226 ASSIGN !19, $157
84 227 INIT_METHOD_CALL !19, 'addChild'
228 SEND_VAL_EX 'add'
229 DO_FCALL 0 $159
230 ASSIGN !11, $159
85 231 INIT_METHOD_CALL !11, 'addAttribute'
232 SEND_VAL_EX 'mimeType'
233 SEND_VAL_EX 'text%2F%2A'
234 DO_FCALL 0
86 235 INIT_METHOD_CALL !11, 'addAttribute'
236 SEND_VAL_EX 'enabled'
237 SEND_VAL_EX 'true'
238 DO_FCALL 0
87 239 INIT_METHOD_CALL !16, 'addChild'
240 SEND_VAL_EX 'add'
241 DO_FCALL 0 $163
242 ASSIGN !12, $163
88 243 INIT_METHOD_CALL !12, 'addAttribute'
244 SEND_VAL_EX 'mimeType'
245 SEND_VAL_EX 'gzip'
246 DO_FCALL 0
89 247 INIT_METHOD_CALL !12, 'addAttribute'
248 SEND_VAL_EX 'enabled'
249 SEND_VAL_EX 'true'
250 DO_FCALL 0
90 251 INIT_METHOD_CALL !16, 'addChild'
252 SEND_VAL_EX 'add'
253 DO_FCALL 0 $167
254 ASSIGN !17, $167
91 255 INIT_METHOD_CALL !17, 'addAttribute'
256 SEND_VAL_EX 'mimeType'
257 SEND_VAL_EX 'application%2Fjavascript'
258 DO_FCALL 0
92 259 INIT_METHOD_CALL !17, 'addAttribute'
260 SEND_VAL_EX 'enabled'
261 SEND_VAL_EX 'true'
262 DO_FCALL 0
93 263 INIT_METHOD_CALL !16, 'addChild'
264 SEND_VAL_EX 'add'
265 DO_FCALL 0 $171
266 ASSIGN !18, $171
94 267 INIT_METHOD_CALL !18, 'addAttribute'
268 SEND_VAL_EX 'mimeType'
269 SEND_VAL_EX '%2A%2F%2A'
270 DO_FCALL 0
95 271 INIT_METHOD_CALL !18, 'addAttribute'
272 SEND_VAL_EX 'enabled'
273 SEND_VAL_EX 'true'
274 DO_FCALL 0
97 275 INIT_METHOD_CALL !2, 'addChild'
276 SEND_VAL_EX 'urlCompression'
277 DO_FCALL 0 $175
278 ASSIGN !20, $175
98 279 INIT_METHOD_CALL !20, 'addAttribute'
280 SEND_VAL_EX 'doStaticCompression'
281 SEND_VAL_EX 'true'
282 DO_FCALL 0
99 283 INIT_METHOD_CALL !20, 'addAttribute'
284 SEND_VAL_EX 'doDynamicCompression'
285 SEND_VAL_EX 'true'
286 DO_FCALL 0
101 287 INIT_METHOD_CALL !2, 'addChild'
288 SEND_VAL_EX 'staticContent'
289 DO_FCALL 0 $179
290 ASSIGN !21, $179
102 291 INIT_METHOD_CALL !21, 'addChild'
292 SEND_VAL_EX 'clientCache'
293 DO_FCALL 0 $181
294 ASSIGN !22, $181
103 295 INIT_METHOD_CALL !22, 'addAttribute'
296 SEND_VAL_EX 'cacheControlMode'
297 SEND_VAL_EX 'UseMaxAge'
298 DO_FCALL 0
104 299 INIT_METHOD_CALL !22, 'addAttribute'
300 SEND_VAL_EX 'cacheControlMaxAge'
301 SEND_VAL_EX '30.00%3A00%3A00'
302 DO_FCALL 0
106 303 INIT_METHOD_CALL !21, 'addChild'
304 SEND_VAL_EX 'remove'
305 DO_FCALL 0 $185
306 ASSIGN !23, $185
107 307 INIT_METHOD_CALL !23, 'addAttribute'
308 SEND_VAL_EX 'fileExtension'
309 SEND_VAL_EX '.css'
310 DO_FCALL 0
108 311 INIT_METHOD_CALL !21, 'addChild'
312 SEND_VAL_EX 'mimeMap'
313 DO_FCALL 0 $188
314 ASSIGN !24, $188
109 315 INIT_METHOD_CALL !24, 'addAttribute'
316 SEND_VAL_EX 'fileExtension'
317 SEND_VAL_EX '.css'
318 DO_FCALL 0
110 319 INIT_METHOD_CALL !24, 'addAttribute'
320 SEND_VAL_EX 'mimeType'
321 SEND_VAL_EX 'text%2Fcss'
322 DO_FCALL 0
112 323 INIT_METHOD_CALL !21, 'addChild'
324 SEND_VAL_EX 'remove'
325 DO_FCALL 0 $192
326 ASSIGN !25, $192
113 327 INIT_METHOD_CALL !25, 'addAttribute'
328 SEND_VAL_EX 'fileExtension'
329 SEND_VAL_EX '.js'
330 DO_FCALL 0
114 331 INIT_METHOD_CALL !21, 'addChild'
332 SEND_VAL_EX 'mimeMap'
333 DO_FCALL 0 $195
334 ASSIGN !26, $195
115 335 INIT_METHOD_CALL !26, 'addAttribute'
336 SEND_VAL_EX 'fileExtension'
337 SEND_VAL_EX '.js'
338 DO_FCALL 0
116 339 INIT_METHOD_CALL !26, 'addAttribute'
340 SEND_VAL_EX 'mimeType'
341 SEND_VAL_EX 'text%2Fjavascript'
342 DO_FCALL 0
118 343 INIT_METHOD_CALL !21, 'addChild'
344 SEND_VAL_EX 'remove'
345 DO_FCALL 0 $1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
253.7 ms | 1427 KiB | 14 Q