/** * @todo This whole page is carzy, it's manipulating the requested page, but RequestHandler does not work this way * @see wcf\page\IPage::readParameters() */ public function readParameters() { parent::readParameters(); if (isset($_REQUEST['loginUsername'])) { $this->loginUsername = $_REQUEST['loginUsername']; } if (isset($_REQUEST['loginPassword'])) { $this->loginPassword = $_REQUEST['loginPassword']; } if (isset($_REQUEST['saveAuthData'])) { $this->saveAuthData = intval($_REQUEST['saveAuthData']); } if ($this->packageUpdateServerID == 0 && isset($_REQUEST['packageUpdateServerID'])) { $this->packageUpdateServerID = intval($_REQUEST['packageUpdateServerID']); } if (!empty($_REQUEST['requestedPage']) || !empty($_REQUEST['requestedForm']) || !empty($_REQUEST['requestedAction'])) { // get update server $updateServer = new PackageUpdateServer($this->packageUpdateServerID); if (!$updateServer->packageUpdateServerID) { throw new IllegalLinkException(); } // update update server if ($this->saveAuthData) { $updateServerEditor = new PackageUpdateServerEditor($updateServer); $updateServerEditor->update(array('loginUsername' => $this->loginUsername, 'loginPassword' => $this->loginPassword)); } // save auth data in session $authData = array('authType' => 'Basic', 'loginUsername' => $this->loginUsername, 'loginPassword' => $this->loginPassword); // session data $packageUpdateAuthData = WCF::getSession()->getVar('packageUpdateAuthData'); if ($packageUpdateAuthData === null) { $packageUpdateAuthData = array(); } $packageUpdateAuthData[$this->packageUpdateServerID] = $authData; WCF::getSession()->register('packageUpdateAuthData', $packageUpdateAuthData); // remove form=PackageUpdateAuth unset($_REQUEST['form'], $_GET['form'], $_POST['form']); // set page/form/action if (!empty($_REQUEST['requestedPage'])) { $_POST['page'] = $_REQUEST['requestedPage']; } else { if (!empty($_REQUEST['requestedForm'])) { $_POST['form'] = $_REQUEST['requestedForm']; } else { $_POST['action'] = $_REQUEST['requestedAction']; } } // remove requestedPage... unset($_REQUEST['requestedPage'], $_REQUEST['requestedForm'], $_REQUEST['requestedAction']); // start request handler /** * TODO: This is not working anymore, find a solution! */ global $packageDirs; RequestHandler::handle(ArrayUtil::appendSuffix(!empty($packageDirs) ? $packageDirs : array(WCF_DIR), 'lib/acp/')); exit; } }