2 namespace wcf\system\package
;
3 use wcf\data\package\update\server\PackageUpdateServer
;
4 use wcf\system\exception\UserException
;
6 use wcf\util\HTTPRequest
;
9 * Credentials for update server are either missing or invalid.
11 * @author Alexander Ebert
12 * @copyright 2001-2018 WoltLab GmbH
13 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
14 * @package WoltLabSuite\Core\System\Package
16 class PackageUpdateUnauthorizedException
extends UserException
{
18 * package update version
21 protected $packageUpdateVersion = [];
27 protected $request = null;
30 * package update server object
31 * @var PackageUpdateServer
33 protected $updateServer = null;
36 * Creates a new PackageUpdateUnauthorizedException object.
38 * @param HTTPRequest $request
39 * @param PackageUpdateServer $updateServer
40 * @param array $packageUpdateVersion
42 public function __construct(HTTPRequest
$request, PackageUpdateServer
$updateServer, array $packageUpdateVersion = []) {
43 $this->request
= $request;
44 $this->updateServer
= $updateServer;
45 $this->packageUpdateVersion
= $packageUpdateVersion;
49 * Returns the rendered template.
53 public function getRenderedTemplate() {
54 $serverReply = $this->request
->getReply();
56 WCF
::getTPL()->assign([
57 'authInsufficient' => (isset($serverReply['httpHeaders']['wcf-update-server-auth'][0]) && $serverReply['httpHeaders']['wcf-update-server-auth'][0] === 'unauthorized'),
58 'packageUpdateVersion' => $this->packageUpdateVersion
,
59 'request' => $this->request
,
60 'updateServer' => $this->updateServer
,
61 'serverAuthData' => $this->updateServer
->getAuthData(),
62 'serverReply' => $serverReply
65 return WCF
::getTPL()->fetch('packageUpdateUnauthorized');
69 * Returns package update version.
73 public function getPackageUpdateVersion() {
74 return $this->packageUpdateVersion
;
78 * Returns the HTTP request object.
82 public function getRequest() {
83 return $this->request
;
87 * Returns package update server object.
89 * @return PackageUpdateServer
91 public function getUpdateServer() {
92 return $this->updateServer
;