-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathgenerateSslPanelOtpToken.php
More file actions
83 lines (57 loc) · 2.55 KB
/
Copy pathgenerateSslPanelOtpToken.php
File metadata and controls
83 lines (57 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
/**
* Replace this file into a whmcs root dir
*/
require_once __DIR__ . '/vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
define("CLIENTAREA", true);
require_once 'init.php';
$ca = new WHMCS_ClientArea();
$ca->setPageTitle('Redirecting to SSL Panel...');
$ca->addToBreadCrumb('index.php', Lang::trans('globalsystemname'));
$ca->addToBreadCrumb('generateToken.php', 'Redirecting to SSL Panel...');
$ca->initPage();
$ca->requireLogin();
if ($ca->isLoggedIn()) {
$languages = [
'russian' => 'ru_RU',
'ukranian' => 'ru_RU',
];
$allLanguages = ['en_GB', 'ru_RU', 'es_ES', 'nl_NL'];
$serviceId = $_GET['serviceId'];
$hosting = Capsule::table('tblhosting')->where('id', $serviceId)->first();
if ((int)$ca->getUserID() !== (int)$hosting->userid) {
logModuleCall(
'openprovidersslnew',
'generateSslPanelOtpToken',
['serviceId' => $serviceId, 'clientAreaUserId' => $ca->getUserID(), 'serviceUserId' => $hosting->userid],
'Forbidden'
);
header('HTTP/1.0 403 Forbidden');
echo 'You are forbidden!';
exit;
}
$product = Capsule::table('tblproducts')->where('id', $hosting->packageid)->first();
$order = Capsule::table('openprovidersslnew_orders')->where('service_id', $serviceId)->first();
require_once __DIR__ . '/modules/servers/openprovidersslnew/lib/helpers/ArrayHelper.php';
require_once __DIR__ . '/modules/servers/openprovidersslnew/lib/helpers/ConfigHelper.php';
require_once __DIR__ . '/modules/servers/openprovidersslnew/lib/API.php';
require_once __DIR__ . '/modules/servers/openprovidersslnew/lib/opApiException.php';
require_once __DIR__ . '/modules/servers/openprovidersslnew/lib/opApiWrapper.php';
$env = $product->configoption4 ? 'test' : 'production';
$reply = opApiWrapper::generateOtpToken([
'username' => $product->configoption1,
'password' => $product->configoption2,
'apiUrl' => ConfigHelper::getApiUrlFromConfig($env),
'id' => $order->order_id,
]);
$token = $reply['token'];
$defaultLanguage = isset($allLanguages[$product->configoption9]) ? $allLanguages[$product->configoption9] : null;
$language = isset($languages[$ca->getClient()['language']]) ? $languages[$ca->getClient()['language']] : $defaultLanguage;
header(sprintf('Location: %s/auth-order-otp-token?token=%s&language=%s',
ConfigHelper::getSslPanelUrlFromConfig($env), $token,
$language));
exit;
}
$ca->setTemplate('mypage');
$ca->output();