"; exit(0); } } $path = ''; if (isset($_SERVER['PATH_INFO'])) { $path = trim($_SERVER['PATH_INFO'], '/'); } // useless request path that fills up database if (strstr($path, 'ÃÆ')) { $pos = strpos($path, 'ÃÆ'); $path = substr($path, 0, $pos); } $path = explode('/', $path); $proc = array_shift($path); switch (strtolower($proc)) { case 'captcha': case 'rest': case 'css': case 'ajax': case 'forward': $name = 'WBService_' . ucfirst(strtolower($proc)); break; case 'jsonp': $name = 'WBService_JSONP'; break; case 'file': $name = 'WBService_VFSFile'; break; case 'js': $name = 'WBService_JavaScript'; break; case 'x': $name = 'WBService_Pixel'; break; default: array_unshift($path, $proc); $name = 'WBService_Site'; /** @var WBService_Junk */ $junk = WBClass::create('WBService_Junk'); $junk->cleanPath($path); break; } $path = implode('/', $path); $_SERVER['PATH_INFO'] = $path; /** @var $service WBService */ $service = WBClass::create($name); $service->serve();