2 namespace wcf\acp\form
;
3 use wcf\data\package\update\server\PackageUpdateServer
;
4 use wcf\data\package\update\server\PackageUpdateServerAction
;
5 use wcf\form\AbstractForm
;
6 use wcf\system\exception\UserInputException
;
9 use wcf\util\StringUtil
;
12 * Shows the server add form.
15 * @copyright 2001-2015 WoltLab GmbH
16 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
17 * @package com.woltlab.wcf
18 * @subpackage acp.form
19 * @category Community Framework
21 class PackageUpdateServerAddForm
extends AbstractForm
{
23 * @see \wcf\page\AbstractPage::$activeMenuItem
25 public $activeMenuItem = 'wcf.acp.menu.link.package';
28 * @see \wcf\page\AbstractPage::$neededPermissions
30 public $neededPermissions = array('admin.system.package.canEditServer');
36 public $serverURL = '';
39 * server login username
42 public $loginUsername = '';
45 * server login password
48 public $loginPassword = '';
51 * @see \wcf\form\IForm::readFormParameters()
53 public function readFormParameters() {
54 parent
::readFormParameters();
56 if (isset($_POST['serverURL'])) $this->serverURL
= StringUtil
::trim($_POST['serverURL']);
57 if (isset($_POST['loginUsername'])) $this->loginUsername
= $_POST['loginUsername'];
58 if (isset($_POST['loginPassword'])) $this->loginPassword
= $_POST['loginPassword'];
62 * @see \wcf\form\IForm::validate()
64 public function validate() {
67 if (empty($this->serverURL
)) {
68 throw new UserInputException('serverURL');
71 if (!PackageUpdateServer
::isValidServerURL($this->serverURL
)) {
72 throw new UserInputException('serverURL', 'notValid');
77 * @see \wcf\form\IForm::save()
79 public function save() {
83 $this->objectAction
= new PackageUpdateServerAction(array(), 'create', array('data' => array_merge($this->additionalFields
, array(
84 'serverURL' => $this->serverURL
,
85 'loginUsername' => $this->loginUsername
,
86 'loginPassword' => $this->loginPassword
88 $this->objectAction
->executeAction();
92 $this->serverURL
= $this->loginUsername
= $this->loginPassword
= '';
94 // show success message
95 WCF
::getTPL()->assign('success', true);
99 * @see \wcf\page\IPage::assignVariables()
101 public function assignVariables() {
102 parent
::assignVariables();
104 WCF
::getTPL()->assign(array(
105 'serverURL' => $this->serverURL
,
106 'loginUsername' => $this->loginUsername
,
107 'loginPassword' => $this->loginPassword
,
113 * @see \wcf\page\IPage::assignVariables()
115 public function show() {
116 // check master password
117 WCFACP
::checkMasterPassword();