public function processWindow($window, $id, $ctrl, $param1, $param2) { global $neardBs, $neardBins, $neardLang, $neardWinbinder; $serverName = $neardWinbinder->getText($this->wbInputServerName[WinBinder::CTRL_OBJ]); $documentRoot = $neardWinbinder->getText($this->wbInputDocRoot[WinBinder::CTRL_OBJ]); switch ($id) { case $this->wbInputServerName[WinBinder::CTRL_ID]: $neardWinbinder->setText($this->wbLabelExp[WinBinder::CTRL_OBJ], sprintf($neardLang->getValue(Lang::VHOST_EXP_LABEL), $serverName, $documentRoot)); $neardWinbinder->setEnabled($this->wbBtnSave[WinBinder::CTRL_OBJ], empty($serverName) ? false : true); break; case $this->wbBtnDocRoot[WinBinder::CTRL_ID]: $documentRoot = $neardWinbinder->sysDlgPath($window, $neardLang->getValue(Lang::VHOST_DOC_ROOT_PATH), $documentRoot); if ($documentRoot && is_dir($documentRoot)) { $neardWinbinder->setText($this->wbInputDocRoot[WinBinder::CTRL_OBJ], $documentRoot . '\\'); $neardWinbinder->setText($this->wbLabelExp[WinBinder::CTRL_OBJ], sprintf($neardLang->getValue(Lang::VHOST_EXP_LABEL), $serverName, $documentRoot . '\\')); } break; case $this->wbBtnSave[WinBinder::CTRL_ID]: $neardWinbinder->setProgressBarMax($this->wbProgressBar, self::GAUGE_SAVE + 1); $neardWinbinder->incrProgressBar($this->wbProgressBar); if (is_file($neardBs->getVhostsPath() . '/' . $serverName . '.conf')) { $neardWinbinder->messageBoxError(sprintf($neardLang->getValue(Lang::VHOST_ALREADY_EXISTS), $serverName), $neardLang->getValue(Lang::ADD_VHOST_TITLE)); $neardWinbinder->resetProgressBar($this->wbProgressBar); break; } if (Batch::genSslCertificate($serverName) && file_put_contents($neardBs->getVhostsPath() . '/' . $serverName . '.conf', $neardBins->getApache()->getVhostContent($serverName, $documentRoot)) !== false) { $neardWinbinder->incrProgressBar($this->wbProgressBar); Util::addWindowsHost('127.0.0.1', $serverName); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardBins->getApache()->getService()->restart(); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardWinbinder->messageBoxInfo(sprintf($neardLang->getValue(Lang::VHOST_CREATED), $serverName, $serverName, $documentRoot), $neardLang->getValue(Lang::ADD_VHOST_TITLE)); $neardWinbinder->destroyWindow($window); } else { $neardWinbinder->messageBoxError($neardLang->getValue(Lang::VHOST_CREATED_ERROR), $neardLang->getValue(Lang::ADD_VHOST_TITLE)); $neardWinbinder->resetProgressBar($this->wbProgressBar); } break; case IDCLOSE: case $this->wbBtnCancel[WinBinder::CTRL_ID]: $neardWinbinder->destroyWindow($window); break; } }
public function processWindow($window, $id, $ctrl, $param1, $param2) { global $neardBs, $neardBins, $neardLang, $neardWinbinder; $apachePortUri = $neardBins->getApache()->getPort() != 80 ? ':' . $neardBins->getApache()->getPort() : ''; $serverName = $neardWinbinder->getText($this->wbInputServerName[WinBinder::CTRL_OBJ]); $documentRoot = $neardWinbinder->getText($this->wbInputDocRoot[WinBinder::CTRL_OBJ]); switch ($id) { case $this->wbInputServerName[WinBinder::CTRL_ID]: $neardWinbinder->setText($this->wbLabelExp[WinBinder::CTRL_OBJ], sprintf($neardLang->getValue(Lang::VHOST_EXP_LABEL), $serverName, $documentRoot)); $neardWinbinder->setEnabled($this->wbBtnSave[WinBinder::CTRL_OBJ], empty($serverName) ? false : true); break; case $this->wbBtnDocRoot[WinBinder::CTRL_ID]: $documentRoot = $neardWinbinder->sysDlgPath($window, $neardLang->getValue(Lang::VHOST_DOC_ROOT_PATH), $documentRoot); if ($documentRoot && is_dir($documentRoot)) { $neardWinbinder->setText($this->wbInputDocRoot[WinBinder::CTRL_OBJ], $documentRoot . '\\'); $neardWinbinder->setText($this->wbLabelExp[WinBinder::CTRL_OBJ], sprintf($neardLang->getValue(Lang::VHOST_EXP_LABEL), $serverName, $documentRoot . '\\')); } break; case $this->wbBtnSave[WinBinder::CTRL_ID]: $neardWinbinder->setProgressBarMax($this->wbProgressBar, self::GAUGE_SAVE + 1); $neardWinbinder->incrProgressBar($this->wbProgressBar); if ($serverName != $this->initServerName && is_file($neardBs->getVhostsPath() . '/' . $serverName . '.conf')) { $neardWinbinder->messageBoxError(sprintf($neardLang->getValue(Lang::VHOST_ALREADY_EXISTS), $serverName), sprintf($neardLang->getValue(Lang::EDIT_VHOST_TITLE), $this->initServerName)); $neardWinbinder->resetProgressBar($this->wbProgressBar); break; } if ($neardBins->getApache()->removeSslCrt($this->initServerName) && @unlink($neardBs->getVhostsPath() . '/' . $this->initServerName . '.conf')) { new ActionSwitchHost(array('127.0.0.1', $this->initServerName, ActionSwitchHost::SWITCH_OFF)); } if (Batch::genSslCertificate($serverName) && file_put_contents($neardBs->getVhostsPath() . '/' . $serverName . '.conf', $neardBins->getApache()->getVhostContent($serverName, $documentRoot)) !== false) { $neardWinbinder->incrProgressBar($this->wbProgressBar); Util::addWindowsHost('127.0.0.1', $serverName); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardBins->getApache()->getService()->restart(); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardWinbinder->messageBoxInfo(sprintf($neardLang->getValue(Lang::VHOST_CREATED), $serverName, $serverName, $documentRoot), sprintf($neardLang->getValue(Lang::EDIT_VHOST_TITLE), $this->initServerName)); $neardWinbinder->destroyWindow($window); } else { $neardWinbinder->messageBoxError($neardLang->getValue(Lang::VHOST_CREATED_ERROR), sprintf($neardLang->getValue(Lang::EDIT_VHOST_TITLE), $this->initServerName)); $neardWinbinder->resetProgressBar($this->wbProgressBar); } break; case $this->wbBtnDelete[WinBinder::CTRL_ID]: $neardWinbinder->setProgressBarMax($this->wbProgressBar, self::GAUGE_DELETE + 1); $boxTitle = $neardLang->getValue(Lang::DELETE_VHOST_TITLE); $confirm = $neardWinbinder->messageBoxYesNo(sprintf($neardLang->getValue(Lang::DELETE_VHOST), $this->initServerName), $boxTitle); $neardWinbinder->incrProgressBar($this->wbProgressBar); if ($confirm) { if ($neardBins->getApache()->removeSslCrt($this->initServerName) && @unlink($neardBs->getVhostsPath() . '/' . $this->initServerName . '.conf')) { $neardWinbinder->incrProgressBar($this->wbProgressBar); new ActionSwitchHost(array('127.0.0.1', $this->initServerName, ActionSwitchHost::SWITCH_OFF)); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardBins->getApache()->getService()->restart(); $neardWinbinder->incrProgressBar($this->wbProgressBar); $neardWinbinder->messageBoxInfo(sprintf($neardLang->getValue(Lang::VHOST_REMOVED), $this->initServerName), $boxTitle); $neardWinbinder->destroyWindow($window); } else { $neardWinbinder->messageBoxError(sprintf($neardLang->getValue(Lang::VHOST_REMOVE_ERROR), $neardBs->getVhostsPath() . '/' . $this->initServerName . '.conf'), $boxTitle); $neardWinbinder->resetProgressBar($this->wbProgressBar); } } break; case IDCLOSE: case $this->wbBtnCancel[WinBinder::CTRL_ID]: $neardWinbinder->destroyWindow($window); break; } }