| 1 | <?php |
||
| 2 | /** |
||
| 3 | * Parallels Functionality |
||
| 4 | * |
||
| 5 | * API Documentation at: .. ill fill this in later from forum posts |
||
| 6 | * |
||
| 7 | * @author Joe Huss <[email protected]> |
||
| 8 | * @copyright 2019 |
||
| 9 | * @package MyAdmin |
||
| 10 | * @category Licenses |
||
| 11 | */ |
||
| 12 | |||
| 13 | namespace Detain\Parallels; |
||
| 14 | |||
| 15 | require_once __DIR__.'/../../../workerman/statistics/Applications/Statistics/Clients/StatisticClient.php'; |
||
| 16 | |||
| 17 | use XML_RPC2_Client; |
||
| 18 | |||
| 19 | /** |
||
| 20 | * Parallels |
||
| 21 | * |
||
| 22 | * @access public |
||
| 23 | */ |
||
| 24 | class Parallels |
||
| 25 | { |
||
| 26 | public $licenseType = 'billing'; // billing or purchase |
||
| 27 | private $xmlOptions = ['sslverify' => false]; |
||
| 28 | private $defaultUrl = 'https://ka.parallels.com:7050/'; |
||
| 29 | private $defaultDemoUrl = 'https://kademo.parallels.com:7050/'; |
||
| 30 | public $url = ''; |
||
| 31 | public $response; |
||
| 32 | private $client = ''; |
||
| 33 | private $login = ''; |
||
| 34 | private $password = ''; |
||
| 35 | public $xml; |
||
| 36 | |||
| 37 | /** |
||
| 38 | * @param NULL|string $login api login, NULL(default) to use the PARALLELS_KA_LOGIN setting |
||
| 39 | * @param NULL|string $password api password, NULL(default) to use the PARALLELS_KA_PASSWORD setting |
||
| 40 | * @param NULL|string $client api client, NULL(default) to use the PARALLELS_KA_CLIENT setting |
||
| 41 | * @param bool $demo defaults to FALSE, whether or not to use the demo interface instae dof the normal one |
||
| 42 | * @param NULL|array $xmlOptions array of optoins ot pass to xmlrpc2 client |
||
| 43 | */ |
||
| 44 | public function __construct($login = null, $password = null, $client = null, $demo = false, $xmlOptions = null) |
||
| 45 | { |
||
| 46 | if (null === $login && defined('PARALLELS_KA_LOGIN')) { |
||
| 47 | $this->login = constant('PARALLELS_KA_LOGIN'); |
||
| 48 | } else { |
||
| 49 | $this->login = $login; |
||
| 50 | } |
||
| 51 | if (null === $password && defined('PARALLELS_KA_PASSWORD')) { |
||
| 52 | $this->password = constant('PARALLELS_KA_PASSWORD'); |
||
| 53 | } else { |
||
| 54 | $this->password = $password; |
||
| 55 | } |
||
| 56 | if (null !== $client) { |
||
| 57 | $this->client = $client; |
||
| 58 | } elseif (defined('PARALLELS_KA_CLIENT')) { |
||
| 59 | $this->client = constant('PARALLELS_KA_CLIENT'); |
||
| 60 | } |
||
| 61 | if ($demo === true) { |
||
| 62 | $this->url = $this->defaultDemoUrl; |
||
| 63 | } elseif ($demo === false) { |
||
|
0 ignored issues
–
show
introduced
by
Loading history...
|
|||
| 64 | $this->url = $this->defaultUrl; |
||
| 65 | } else { |
||
| 66 | $this->url = $demo; |
||
| 67 | } |
||
| 68 | if (null !== $xmlOptions) { |
||
| 69 | 1 | $this->xmlOptions = $xmlOptions; |
|
| 70 | 1 | } |
|
| 71 | require_once 'XML/RPC2/Client.php'; |
||
| 72 | $this->xml = \XML_RPC2_Client::create($this->url, $this->xmlOptions); |
||
| 73 | } |
||
| 74 | |||
| 75 | /** |
||
| 76 | * @return array |
||
| 77 | */ |
||
| 78 | public function authInfo() |
||
| 79 | { |
||
| 80 | return ['login' => $this->login, 'password' => $this->password]; |
||
| 81 | } |
||
| 82 | |||
| 83 | /** |
||
| 84 | * @param array $ips |
||
| 85 | * @param array $macs |
||
| 86 | * @return array |
||
| 87 | */ |
||
| 88 | public function serverAddress($ips = [], $macs = []) |
||
| 89 | { |
||
| 90 | if (!is_array($ips) && $ips != '') { |
||
|
0 ignored issues
–
show
|
|||
| 91 | $ips = [$ips]; |
||
| 92 | } |
||
| 93 | if (!is_array($macs) && $macs != '') { |
||
|
0 ignored issues
–
show
|
|||
| 94 | $macs = [$macs]; |
||
| 95 | } |
||
| 96 | return [ |
||
| 97 | 'ips' => $ips, |
||
| 98 | 'macs' => $macs |
||
| 99 | ]; |
||
| 100 | } |
||
| 101 | |||
| 102 | /** |
||
| 103 | * @param $key |
||
| 104 | * @return mixed |
||
| 105 | */ |
||
| 106 | public function terminateKey($key) |
||
| 107 | { |
||
| 108 | \StatisticClient::tick('Parallels', 'terminateKey'); |
||
| 109 | $this->response = $this->xml->__call('partner10.terminateKey', [$this->authInfo(), $key]); |
||
| 110 | if ($this->response === false) { |
||
| 111 | \StatisticClient::report('Parallels', 'terminateKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 112 | } else { |
||
| 113 | \StatisticClient::report('Parallels', 'terminateKey', true, 0, '', STATISTICS_SERVER); |
||
| 114 | } |
||
| 115 | return $this->response; |
||
| 116 | } |
||
| 117 | |||
| 118 | /** |
||
| 119 | * @param $key |
||
| 120 | * @return mixed |
||
| 121 | */ |
||
| 122 | public function resetKey($key) |
||
| 123 | { |
||
| 124 | \StatisticClient::tick('Parallels', 'resetKey'); |
||
| 125 | $this->response = $this->xml->__call('partner10.resetKey', [$this->authInfo(), $key]); |
||
| 126 | if ($this->response === false) { |
||
| 127 | \StatisticClient::report('Parallels', 'resetKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 128 | } else { |
||
| 129 | \StatisticClient::report('Parallels', 'resetKey', true, 0, '', STATISTICS_SERVER); |
||
| 130 | } |
||
| 131 | return $this->response; |
||
| 132 | } |
||
| 133 | |||
| 134 | /** |
||
| 135 | * @param $key |
||
| 136 | * @return mixed |
||
| 137 | */ |
||
| 138 | public function activateKey($key) |
||
| 139 | { |
||
| 140 | \StatisticClient::tick('Parallels', 'activateKey'); |
||
| 141 | $this->response = $this->xml->__call('partner10.activateKey', [$this->authInfo(), $key]); |
||
| 142 | if ($this->response === false) { |
||
| 143 | \StatisticClient::report('Parallels', 'activateKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 144 | } else { |
||
| 145 | \StatisticClient::report('Parallels', 'activateKey', true, 0, '', STATISTICS_SERVER); |
||
| 146 | } |
||
| 147 | return $this->response; |
||
| 148 | } |
||
| 149 | |||
| 150 | /** |
||
| 151 | * @param $key |
||
| 152 | * @param $note |
||
| 153 | * @return mixed |
||
| 154 | */ |
||
| 155 | public function addNoteToKey($key, $note) |
||
| 156 | { |
||
| 157 | \StatisticClient::tick('Parallels', 'addNoteToKey'); |
||
| 158 | $this->response = $this->xml->__call('partner10.addNoteToKey', [$this->authInfo(), $key, $note]); |
||
| 159 | if ($this->response === false) { |
||
| 160 | \StatisticClient::report('Parallels', 'addNoteToKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 161 | } else { |
||
| 162 | \StatisticClient::report('Parallels', 'addNoteToKey', true, 0, '', STATISTICS_SERVER); |
||
| 163 | } |
||
| 164 | return $this->response; |
||
| 165 | } |
||
| 166 | |||
| 167 | /** |
||
| 168 | * @param $key |
||
| 169 | * @param bool $email |
||
| 170 | * @return mixed |
||
| 171 | */ |
||
| 172 | public function sendKeyByEmail($key, $email = false) |
||
| 173 | { |
||
| 174 | \StatisticClient::tick('Parallels', 'sendKeyByEmail'); |
||
| 175 | if ($email === false) { |
||
| 176 | $this->response = $this->xml->__call('partner10.sendKeyByEmail', [$this->authInfo(), $key]); |
||
| 177 | } else { |
||
| 178 | $this->response = $this->xml->__call('partner10.sendKeyByEmail', [$this->authInfo(), $key, $email]); |
||
| 179 | } |
||
| 180 | if ($this->response === false) { |
||
| 181 | \StatisticClient::report('Parallels', 'sendKeyByEmail', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 182 | } else { |
||
| 183 | \StatisticClient::report('Parallels', 'sendKeyByEmail', true, 0, '', STATISTICS_SERVER); |
||
| 184 | } |
||
| 185 | return $this->response; |
||
| 186 | } |
||
| 187 | |||
| 188 | /** |
||
| 189 | * @param $keyType |
||
| 190 | * @param array $upgradePlans |
||
| 191 | * @param array $ips |
||
| 192 | * @param array $macs |
||
| 193 | * @param bool $licenseType |
||
| 194 | * @param bool $client |
||
| 195 | * @return mixed |
||
| 196 | */ |
||
| 197 | public function createKey($keyType, $upgradePlans = [], $ips = [], $macs = [], $licenseType = false, $client = false) |
||
| 198 | { |
||
| 199 | if (!is_array($ips) && $ips != '') { |
||
|
0 ignored issues
–
show
|
|||
| 200 | $ips = [$ips]; |
||
| 201 | } |
||
| 202 | \StatisticClient::tick('Parallels', 'createKey'); |
||
| 203 | $this->response = $this->xml->__call( |
||
| 204 | 'partner10.createKey', |
||
| 205 | [ |
||
| 206 | $this->authInfo(), |
||
| 207 | $this->serverAddress($ips, $macs), $client === false ? $this->client : $client, |
||
| 208 | $keyType, |
||
| 209 | $upgradePlans, $licenseType === false ? $this->licenseType : $licenseType |
||
| 210 | ] |
||
| 211 | ); |
||
| 212 | if ($this->response === false) { |
||
| 213 | \StatisticClient::report('Parallels', 'createKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 214 | } else { |
||
| 215 | \StatisticClient::report('Parallels', 'createKey', true, 0, '', STATISTICS_SERVER); |
||
| 216 | } |
||
| 217 | return $this->response; |
||
| 218 | /* Success: |
||
| 219 | Array |
||
| 220 | ( |
||
| 221 | [mainKeyNumber] => PLSK.00004266.0000 |
||
| 222 | [expirationDate] => stdClass Object |
||
| 223 | ( |
||
| 224 | [scalar] => 20131209T00:00:00 |
||
| 225 | [xmlrpc_type] => datetime |
||
| 226 | [timestamp] => 1386547200 |
||
| 227 | ) |
||
| 228 | |||
| 229 | [productKey] => DETAIN-2TVB02-ZT1R57-AY2442-6WN966 |
||
| 230 | [additionalKeysNumbers] => Array |
||
| 231 | ( |
||
| 232 | ) |
||
| 233 | |||
| 234 | [resultCode] => 100 |
||
| 235 | [resultDesc] => PLSK.00004266.0000 has been successfully created. |
||
| 236 | [updateDate] => stdClass Object |
||
| 237 | ( |
||
| 238 | [scalar] => 20131129T00:00:00 |
||
| 239 | [xmlrpc_type] => datetime |
||
| 240 | [timestamp] => 1385683200 |
||
| 241 | ) |
||
| 242 | |||
| 243 | ) |
||
| 244 | */ |
||
| 245 | } |
||
| 246 | |||
| 247 | /** |
||
| 248 | * @param $key |
||
| 249 | * @return mixed |
||
| 250 | */ |
||
| 251 | public function retrieveKey($key) |
||
| 252 | { |
||
| 253 | \StatisticClient::tick('Parallels', 'retrieveKey'); |
||
| 254 | $this->response = $this->xml->__call('partner10.retrieveKey', [$this->authInfo(), $key]); |
||
| 255 | if ($this->response === false) { |
||
| 256 | \StatisticClient::report('Parallels', 'retrieveKey', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 257 | } else { |
||
| 258 | \StatisticClient::report('Parallels', 'retrieveKey', true, 0, '', STATISTICS_SERVER); |
||
| 259 | } |
||
| 260 | return $this->response; |
||
| 261 | /* Success |
||
| 262 | Array |
||
| 263 | ( |
||
| 264 | [keyExtension] => xml |
||
| 265 | [resultCode] => 100 |
||
| 266 | [resultDesc] => PLSK.00005819.0000 has been successfully retrieved |
||
| 267 | [keyNumber] => PLSK.00005819.0000 |
||
| 268 | [key] => stdClass Object |
||
| 269 | ( |
||
| 270 | [scalar] => <?xml version="1.0" encoding="UTF-8"?><plesk-windows:key xmlns:plesk-windows="http://parallels.com/schemas/keys/products/plesk/windows/multi" core:format="openfusion-3" xmlns:core="http://parallels.com/schemas/keys/core/3"> |
||
| 271 | <!--Unique product Key number--> |
||
| 272 | <core:key-number core:type="string">PLSK.00005819</core:key-number> |
||
| 273 | <!--Key version--> |
||
| 274 | <core:key-version core:type="string">0000</core:key-version> |
||
| 275 | <!--Key description--> |
||
| 276 | <core:description> |
||
| 277 | <core:keytype>Parallels Plesk Panel 10.x/11.x and Later for Windows</core:keytype> |
||
| 278 | <core:feature>Unlimited Domains w/1 yr SUS</core:feature> |
||
| 279 | <core:feature>Parallels Web Presence Builder - 100 Sites</core:feature> |
||
| 280 | <core:feature>Parallels PowerPack for Plesk (Windows)</core:feature> |
||
| 281 | </core:description> |
||
| 282 | <!--Product which this license is intended to work on--> |
||
| 283 | <core:product core:type="string">plesk-win</core:product> |
||
| 284 | <!--Supported product version--> |
||
| 285 | <core:versions> |
||
| 286 | <core:from core:type="string">10.0</core:from> |
||
| 287 | <core:to core:type="string">any</core:to> |
||
| 288 | </core:versions> |
||
| 289 | <!--Date after which this license becomes usable (inclusive)--> |
||
| 290 | <core:start-date core:type="date">instant</core:start-date> |
||
| 291 | <!--Date before which this license is usable (exclusive)--> |
||
| 292 | <core:expiration-date core:type="date">2013-12-02</core:expiration-date> |
||
| 293 | <!--URL of the service endpoint to use when performing an autoupdate--> |
||
| 294 | <core:license-server-url core:type="string">https://ka.parallels.com:5224/xmlrpc</core:license-server-url> |
||
| 295 | <!--Date when product will try to perform an autoupdate--> |
||
| 296 | <core:update-date core:type="date">2013-11-22</core:update-date> |
||
| 297 | <core:update-ticket core:hidden="true" core:type="string">k0uj75wmlfa1a5hwmk-k43gy2ji0p2y1</core:update-ticket> |
||
| 298 | <!--Number of domains--> |
||
| 299 | <plesk-windows:domains core:type="integer">unlimited</plesk-windows:domains> |
||
| 300 | <!--Number of clients--> |
||
| 301 | <plesk-windows:clients core:type="integer">unlimited</plesk-windows:clients> |
||
| 302 | <!--Number of webusers--> |
||
| 303 | <plesk-windows:webusers core:type="integer">unlimited</plesk-windows:webusers> |
||
| 304 | <!--Number of mailnames--> |
||
| 305 | <plesk-windows:mailnames core:type="integer">unlimited</plesk-windows:mailnames> |
||
| 306 | <!--Number of additional language pack(s)--> |
||
| 307 | <plesk-windows:language-packs core:type="integer">0</plesk-windows:language-packs> |
||
| 308 | <plesk-windows:mpc-id core:hidden="true" core:type="integer">0</plesk-windows:mpc-id> |
||
| 309 | <plesk-windows:mpc-disabled core:hidden="true" core:type="boolean">false</plesk-windows:mpc-disabled> |
||
| 310 | <!--Google tools--> |
||
| 311 | <plesk-windows:google-tools core:type="boolean">true</plesk-windows:google-tools> |
||
| 312 | <plesk-windows:mpc-mng-disabled core:hidden="true" core:type="boolean">false</plesk-windows:mpc-mng-disabled> |
||
| 313 | <!--Number of slaves--> |
||
| 314 | <plesk-windows:slaves core:type="integer">0</plesk-windows:slaves> |
||
| 315 | <!--EventManager--> |
||
| 316 | <plesk-windows:event-manager core:type="boolean">true</plesk-windows:event-manager> |
||
| 317 | <!--Domains backup--> |
||
| 318 | <plesk-windows:domains-backup core:type="boolean">true</plesk-windows:domains-backup> |
||
| 319 | <!--Tomcat support--> |
||
| 320 | <plesk-windows:tomcat-support core:type="boolean">true</plesk-windows:tomcat-support> |
||
| 321 | <!--Subdomains--> |
||
| 322 | <plesk-windows:subdomains-support core:type="boolean">true</plesk-windows:subdomains-support> |
||
| 323 | <!--Backward key compatibility restriction--> |
||
| 324 | <plesk-windows:backward-restriction core:type="integer">0</plesk-windows:backward-restriction> |
||
| 325 | <!--Work Inside Virtuozzo--> |
||
| 326 | <plesk-windows:vps-only core:type="boolean">false</plesk-windows:vps-only> |
||
| 327 | <!--Work Inside Hyper-V--> |
||
| 328 | <plesk-windows:hyper-v core:type="boolean">false</plesk-windows:hyper-v> |
||
| 329 | <!--Work Inside VMware--> |
||
| 330 | <plesk-windows:vmware core:type="boolean">false</plesk-windows:vmware> |
||
| 331 | <!--Work Inside Xen--> |
||
| 332 | <plesk-windows:xen core:type="boolean">false</plesk-windows:xen> |
||
| 333 | <!--Work Inside KVM--> |
||
| 334 | <plesk-windows:kvm core:type="boolean">false</plesk-windows:kvm> |
||
| 335 | <!--Work Inside Parallels Hypervisor--> |
||
| 336 | <plesk-windows:hypervisor core:type="boolean">false</plesk-windows:hypervisor> |
||
| 337 | <!--Global changes--> |
||
| 338 | <plesk-windows:global-changes core:type="boolean">true</plesk-windows:global-changes> |
||
| 339 | <!--Shell access--> |
||
| 340 | <plesk-windows:shell-access core:type="boolean">true</plesk-windows:shell-access> |
||
| 341 | <!--Detailed traffic--> |
||
| 342 | <plesk-windows:detailed-traffic core:type="boolean">true</plesk-windows:detailed-traffic> |
||
| 343 | <!--Notification manager--> |
||
| 344 | <plesk-windows:notification-manager core:type="boolean">true</plesk-windows:notification-manager> |
||
| 345 | <!--Action log manager--> |
||
| 346 | <plesk-windows:action-manager core:type="boolean">true</plesk-windows:action-manager> |
||
| 347 | <!--Clients and Domains Expirations management--> |
||
| 348 | <plesk-windows:expirations-manager core:type="boolean">true</plesk-windows:expirations-manager> |
||
| 349 | <!--Client templates--> |
||
| 350 | <plesk-windows:client-templates core:type="boolean">true</plesk-windows:client-templates> |
||
| 351 | <!--Ability to use Application Vault--> |
||
| 352 | <plesk-windows:appvault-support core:type="boolean">true</plesk-windows:appvault-support> |
||
| 353 | <!--Ability to use SpamAssassin--> |
||
| 354 | <plesk-windows:spamassasin-support core:type="boolean">true</plesk-windows:spamassasin-support> |
||
| 355 | <!--Ability to use Trouble Ticketing System--> |
||
| 356 | <plesk-windows:tts-support core:type="boolean">true</plesk-windows:tts-support> |
||
| 357 | <!--Ability to use ColdFusion--> |
||
| 358 | <plesk-windows:coldfusion-support core:type="boolean">true</plesk-windows:coldfusion-support> |
||
| 359 | <plesk-windows:ask-update core:hidden="true" core:type="boolean">false</plesk-windows:ask-update> |
||
| 360 | <plesk-windows:autoinstaller-config core:hidden="true" core:type="string">true</plesk-windows:autoinstaller-config> |
||
| 361 | <!--Ability to use DrWeb--> |
||
| 362 | <plesk-windows:drweb-support core:type="boolean">true</plesk-windows:drweb-support> |
||
| 363 | <plesk-windows:store-id core:hidden="true" core:type="integer">1</plesk-windows:store-id> |
||
| 364 | <!--Ability to use Migration Manager--> |
||
| 365 | <plesk-windows:migration-manager core:type="boolean">true</plesk-windows:migration-manager> |
||
| 366 | <!--Ability to use MS SQL--> |
||
| 367 | <plesk-windows:mssql core:type="boolean">true</plesk-windows:mssql> |
||
| 368 | <!--Allowed locales--> |
||
| 369 | <plesk-windows:allowed-locales core:type="string">any</plesk-windows:allowed-locales> |
||
| 370 | <!--Allows feature upgrades for this version--> |
||
| 371 | <plesk-windows:feature-upgrades core:type="boolean">true</plesk-windows:feature-upgrades> |
||
| 372 | <!--Parallels Plesk Billing accounts count--> |
||
| 373 | <plesk-windows:modernbill-accounts core:type="integer">0</plesk-windows:modernbill-accounts> |
||
| 374 | <!--Number of sites--> |
||
| 375 | <plesk-windows:sitebuilder-sites core:type="integer">100</plesk-windows:sitebuilder-sites> |
||
| 376 | <!--Enable Parallels Plesk Mobile Server Manager--> |
||
| 377 | <plesk-windows:mobile-server-manager-support core:type="boolean">true</plesk-windows:mobile-server-manager-support> |
||
| 378 | <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> |
||
| 379 | <ds:SignedInfo> |
||
| 380 | <ds:CanonicalizationMethod Algorithm="http://parallels.com/schemas/keys/core/3#canonicalize"/> |
||
| 381 | <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> |
||
| 382 | <ds:Reference URI=""> |
||
| 383 | <ds:Transforms> |
||
| 384 | <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> |
||
| 385 | <ds:Transform Algorithm="http://parallels.com/schemas/keys/core/3#transform"/> |
||
| 386 | </ds:Transforms> |
||
| 387 | <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> |
||
| 388 | <ds:DigestValue>ENCODED HASH HERE</ds:DigestValue> |
||
| 389 | </ds:Reference> |
||
| 390 | </ds:SignedInfo> |
||
| 391 | <ds:SignatureValue> |
||
| 392 | ENCODED DATA HERE |
||
| 393 | </ds:SignatureValue> |
||
| 394 | <ds:KeyInfo> |
||
| 395 | <ds:X509Data> |
||
| 396 | <ds:X509Certificate> |
||
| 397 | ENCODED DATA HERE |
||
| 398 | </ds:X509Certificate> |
||
| 399 | </ds:X509Data> |
||
| 400 | </ds:KeyInfo> |
||
| 401 | </ds:Signature> |
||
| 402 | </plesk-windows:key> |
||
| 403 | |||
| 404 | [xmlrpc_type] => base64 |
||
| 405 | ) |
||
| 406 | |||
| 407 | ) |
||
| 408 | |||
| 409 | */ |
||
| 410 | } |
||
| 411 | |||
| 412 | /** |
||
| 413 | * Returns an array with keys 'resultCode', 'resultDesc', and 'upgradePlans'. the last one being an array of plan names, one time i wrote down the output it looked like: |
||
| 414 | * 3_LANGUAGE_PACKS FOTOLIA_OFF 5_LANGUAGE_PACKS NEWSFEED_OFF VIRTUOZZO_PROMO_OFF ADDITIONAL_LANGUAGE_PACK were some of the packqage types, there wer eothers |
||
| 415 | * |
||
| 416 | * @param $key |
||
| 417 | * @return mixed |
||
| 418 | */ |
||
| 419 | public function getAvailableUpgrades($key) |
||
| 420 | { |
||
| 421 | \StatisticClient::tick('Parallels', 'getAvailableUpgrades'); |
||
| 422 | $this->response = $this->xml->__call('partner10.getAvailableUpgrades', [$this->authInfo(), $key]); |
||
| 423 | if ($this->response === false) { |
||
| 424 | \StatisticClient::report('Parallels', 'getAvailableUpgrades', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 425 | } else { |
||
| 426 | \StatisticClient::report('Parallels', 'getAvailableUpgrades', true, 0, '', STATISTICS_SERVER); |
||
| 427 | } |
||
| 428 | return $this->response; |
||
| 429 | } |
||
| 430 | |||
| 431 | /** |
||
| 432 | * Success |
||
| 433 | * Array |
||
| 434 | * ( |
||
| 435 | * [keyInfo] => Array |
||
| 436 | * ( |
||
| 437 | * [expirationDate] => stdClass Object |
||
| 438 | * ( |
||
| 439 | * [scalar] => 20131202T00:00:00 |
||
| 440 | * [xmlrpc_type] => datetime |
||
| 441 | * [timestamp] => 1385942400 |
||
| 442 | * ) |
||
| 443 | * ) |
||
| 444 | * [features] => Array |
||
| 445 | * ( |
||
| 446 | * [0] => Array |
||
| 447 | * ( |
||
| 448 | * [apiName] => PLESK_7X_FOR_WIN_POWER_PACK |
||
| 449 | * [name] => Parallels PowerPack for Plesk (Windows) (Monthly Lease) |
||
| 450 | * ) |
||
| 451 | * [1] => Array |
||
| 452 | * ( |
||
| 453 | * [apiName] => PLESK-100-SITES |
||
| 454 | * [name] => Parallels Web Presence Builder - 100 Sites (Monthly Lease) |
||
| 455 | * ) |
||
| 456 | * [2] => Array |
||
| 457 | * ( |
||
| 458 | * [apiName] => UNLIMITED_DOMAINS |
||
| 459 | * [name] => Unlimited Domains w/1 yr SUS (Lease) |
||
| 460 | * ) |
||
| 461 | * ) |
||
| 462 | * [billingType] => LEASE |
||
| 463 | * [productFamily] => plesk |
||
| 464 | * [createDate] => stdClass Object |
||
| 465 | * ( |
||
| 466 | * [scalar] => 20131023T18:02:11 |
||
| 467 | * [xmlrpc_type] => datetime |
||
| 468 | * [timestamp] => 1382551331 |
||
| 469 | * ) |
||
| 470 | * [trial] => |
||
| 471 | * [lastReportingDate] => stdClass Object |
||
| 472 | * ( |
||
| 473 | * [scalar] => 20131029T06:27:31 |
||
| 474 | * [xmlrpc_type] => datetime |
||
| 475 | * [timestamp] => 1383028051 |
||
| 476 | * ) |
||
| 477 | * [additionalKeys] => Array |
||
| 478 | * ( |
||
| 479 | * [0] => Array |
||
| 480 | * ( |
||
| 481 | * [expirationDate] => stdClass Object |
||
| 482 | * ( |
||
| 483 | * [scalar] => 20131202T00:00:00 |
||
| 484 | * [xmlrpc_type] => datetime |
||
| 485 | * [timestamp] => 1385942400 |
||
| 486 | * ) |
||
| 487 | * [lastReportingIp] => 206.72.205.242, 206.72.205.243, 206.72.205.244, 206.72.205.245, 206.72.205.246 |
||
| 488 | * [apiKeyType] => N/A |
||
| 489 | * [boundIPAddress] => |
||
| 490 | * [problem] => |
||
| 491 | * [keyNumber] => KAV.00005821.0001 |
||
| 492 | * [properties] => Array |
||
| 493 | * ( |
||
| 494 | * ) |
||
| 495 | * [type] => ADDITIONAL |
||
| 496 | * [updateDate] => stdClass Object |
||
| 497 | * ( |
||
| 498 | * [scalar] => 20131122T00:00:00 |
||
| 499 | * [xmlrpc_type] => datetime |
||
| 500 | * [timestamp] => 1385078400 |
||
| 501 | * ) |
||
| 502 | * [clientId] => 19282468 |
||
| 503 | * [parentKeyNumber] => PLSK.00005819.0000 |
||
| 504 | * [lastReportingVersion] => 11.5.3 |
||
| 505 | * [keyType] => Parallels Plesk Panel Antivirus Powered by Kaspersky, 5 Mailboxes (Parallels PowerPack for Plesk) (Windows) (Monthly Lease) |
||
| 506 | * [terminated] => |
||
| 507 | * [susAndSupportInfo] => Array |
||
| 508 | * ( |
||
| 509 | * ) |
||
| 510 | * [features] => Array |
||
| 511 | * ( |
||
| 512 | * ) |
||
| 513 | * [billingType] => LEASE |
||
| 514 | * [productFamily] => kav |
||
| 515 | * [createDate] => stdClass Object |
||
| 516 | * ( |
||
| 517 | * [scalar] => 20131023T18:02:12 |
||
| 518 | * [xmlrpc_type] => datetime |
||
| 519 | * [timestamp] => 1382551332 |
||
| 520 | * ) |
||
| 521 | * [trial] => |
||
| 522 | * [lastReportingDate] => stdClass Object |
||
| 523 | * ( |
||
| 524 | * [scalar] => 20131023T18:05:24 |
||
| 525 | * [xmlrpc_type] => datetime |
||
| 526 | * [timestamp] => 1382551524 |
||
| 527 | * ) |
||
| 528 | * [additionalKeys] => Array |
||
| 529 | * ( |
||
| 530 | * ) |
||
| 531 | * ) |
||
| 532 | * [1] => Array |
||
| 533 | * ( |
||
| 534 | * [expirationDate] => stdClass Object |
||
| 535 | * ( |
||
| 536 | * [scalar] => 20131202T00:00:00 |
||
| 537 | * [xmlrpc_type] => datetime |
||
| 538 | * [timestamp] => 1385942400 |
||
| 539 | * ) |
||
| 540 | * [lastReportingIp] => 206.72.205.242, 206.72.205.243, 206.72.205.244, 206.72.205.245, 206.72.205.246 |
||
| 541 | * [apiKeyType] => N/A |
||
| 542 | * [boundIPAddress] => |
||
| 543 | * [problem] => |
||
| 544 | * [keyNumber] => APS.00005820.0001 |
||
| 545 | * [properties] => Array |
||
| 546 | * ( |
||
| 547 | * ) |
||
| 548 | * [type] => ADDITIONAL |
||
| 549 | * [updateDate] => stdClass Object |
||
| 550 | * ( |
||
| 551 | * [scalar] => 20131122T00:00:00 |
||
| 552 | * [xmlrpc_type] => datetime |
||
| 553 | * [timestamp] => 1385078400 |
||
| 554 | * ) |
||
| 555 | * [clientId] => 19282468 |
||
| 556 | * [parentKeyNumber] => PLSK.00005819.0000 |
||
| 557 | * [lastReportingVersion] => 11.5.3 |
||
| 558 | * [keyType] => UNITY One, 2 Domains (Parallels PowerPack for Plesk) (Windows) (Monthly Lease) |
||
| 559 | * [terminated] => |
||
| 560 | * [susAndSupportInfo] => Array |
||
| 561 | * ( |
||
| 562 | * ) |
||
| 563 | * [features] => Array |
||
| 564 | * ( |
||
| 565 | * ) |
||
| 566 | * [billingType] => LEASE |
||
| 567 | * [productFamily] => unity-one |
||
| 568 | * [createDate] => stdClass Object |
||
| 569 | * ( |
||
| 570 | * [scalar] => 20131023T18:02:11 |
||
| 571 | * [xmlrpc_type] => datetime |
||
| 572 | * [timestamp] => 1382551331 |
||
| 573 | * ) |
||
| 574 | * [trial] => |
||
| 575 | * [lastReportingDate] => stdClass Object |
||
| 576 | * ( |
||
| 577 | * [scalar] => 20131023T18:05:26 |
||
| 578 | * [xmlrpc_type] => datetime |
||
| 579 | * [timestamp] => 1382551526 |
||
| 580 | * ) |
||
| 581 | * [additionalKeys] => Array |
||
| 582 | * ( |
||
| 583 | * ) |
||
| 584 | * ) |
||
| 585 | * ) |
||
| 586 | * ) |
||
| 587 | *[resultCode] => 100 |
||
| 588 | * [resultDesc] => Key info for PLSK.00005819.0000 key returned successfully |
||
| 589 | * [keyNumber] => PLSK.00005819.0000 |
||
| 590 | * ) |
||
| 591 | * |
||
| 592 | * @param $key |
||
| 593 | * @return mixed |
||
| 594 | */ |
||
| 595 | public function getKeyInfo($key) |
||
| 596 | { |
||
| 597 | \StatisticClient::tick('Parallels', 'getKeyInfo'); |
||
| 598 | $this->response = $this->xml->__call('partner10.getKeyInfo', [$this->authInfo(), $key]); |
||
| 599 | if ($this->response === false) { |
||
| 600 | \StatisticClient::report('Parallels', 'getKeyInfo', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 601 | } else { |
||
| 602 | \StatisticClient::report('Parallels', 'getKeyInfo', true, 0, '', STATISTICS_SERVER); |
||
| 603 | } |
||
| 604 | return $this->response; |
||
| 605 | } |
||
| 606 | |||
| 607 | /** |
||
| 608 | * @param string $ipAddress the ip address |
||
| 609 | * @return false|string false if no key , or a string w/ the key |
||
| 610 | */ |
||
| 611 | public function getMainKeyFromIp($ipAddress) |
||
| 612 | { |
||
| 613 | $response = $this->getKeyNumbers($ipAddress); |
||
| 614 | //$response = $this->getKeysInfoByIP($ipAddress); |
||
| 615 | $return = false; |
||
| 616 | if (isset($response['keyInfos'])) { |
||
| 617 | $responseValues = array_values($response['keyInfos']); |
||
| 618 | foreach ($responseValues as $data) { |
||
| 619 | if ($return === false) { |
||
| 620 | $return = $data['keyNumber']; |
||
| 621 | } |
||
| 622 | if ($data['type'] == 'MAIN') { |
||
| 623 | $return = $data['keyNumber']; |
||
| 624 | } |
||
| 625 | } |
||
| 626 | return $return; |
||
| 627 | } else { |
||
| 628 | return false; |
||
| 629 | } |
||
| 630 | } |
||
| 631 | |||
| 632 | /** |
||
| 633 | * @param $ipAddress |
||
| 634 | * @return mixed |
||
| 635 | */ |
||
| 636 | public function getKeysInfoByIP($ipAddress) |
||
| 637 | { |
||
| 638 | \StatisticClient::tick('Parallels', 'getKeysInfoByIP'); |
||
| 639 | $this->response = $this->xml->__call('partner10.getKeysInfoByIP', [$this->authInfo(), $ipAddress]); |
||
| 640 | if ($this->response === false) { |
||
| 641 | \StatisticClient::report('Parallels', 'getKeysInfoByIP', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 642 | } else { |
||
| 643 | \StatisticClient::report('Parallels', 'getKeysInfoByIP', true, 0, '', STATISTICS_SERVER); |
||
| 644 | } |
||
| 645 | return $this->response; |
||
| 646 | } |
||
| 647 | |||
| 648 | /** |
||
| 649 | * @param array|string $ips |
||
| 650 | * @param array $macs |
||
| 651 | * @return mixed |
||
| 652 | */ |
||
| 653 | public function getKeyNumbers($ips = [], $macs = []) |
||
| 654 | { |
||
| 655 | myadmin_log('licenses', 'info', json_encode($this->serverAddress($ips, $macs)), __LINE__, __FILE__); |
||
| 656 | \StatisticClient::tick('Parallels', 'getKeyNumbers'); |
||
| 657 | $this->response = $this->xml->__call('partner10.getKeyNumbers', [$this->authInfo(), $this->serverAddress($ips, $macs)]); |
||
| 658 | if ($this->response === false) { |
||
| 659 | \StatisticClient::report('Parallels', 'getKeyNumbers', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 660 | } else { |
||
| 661 | \StatisticClient::report('Parallels', 'getKeyNumbers', true, 0, '', STATISTICS_SERVER); |
||
| 662 | } |
||
| 663 | return $this->response; |
||
| 664 | /* Success |
||
| 665 | Array |
||
| 666 | ( |
||
| 667 | [keyInfos] => Array |
||
| 668 | ( |
||
| 669 | [0] => Array |
||
| 670 | ( |
||
| 671 | [keyType] => Parallels Plesk Panel 10.x/11.x and Later for Windows for Virtual Machines (Lease) |
||
| 672 | Lease) |
||
| 673 | [lastReportingIp] => 206.72.205.242 |
||
| 674 | [terminated] => 1 |
||
| 675 | [keyNumber] => KAV.00004873.0002 |
||
| 676 | [billingType] => LEASE |
||
| 677 | [type] => ADDITIONAL |
||
| 678 | [createDate] => stdClass Object |
||
| 679 | ( |
||
| 680 | [scalar] => 20131014T16:44:40 |
||
| 681 | [xmlrpc_type] => datetime |
||
| 682 | [timestamp] => 1381769080 |
||
| 683 | ) |
||
| 684 | |||
| 685 | [lastReportingDate] => stdClass Object |
||
| 686 | ( |
||
| 687 | [scalar] => 20131023T17:35:45 |
||
| 688 | [xmlrpc_type] => datetime |
||
| 689 | [timestamp] => 1382549745 |
||
| 690 | ) |
||
| 691 | |||
| 692 | ) |
||
| 693 | |||
| 694 | [3] => Array |
||
| 695 | ( |
||
| 696 | [keyType] => Parallels Plesk Panel 10.x/11.x and Later for Windows (Lease) |
||
| 697 | [lastReportingIp] => 206.72.205.242, 206.72.205.243, 206.72.205.244, 206.72.205.245, 206.72.205.246 |
||
| 698 | [terminated] => |
||
| 699 | [keyNumber] => PLSK.00005819.0000 |
||
| 700 | [billingType] => LEASE |
||
| 701 | [type] => MAIN |
||
| 702 | [createDate] => stdClass Object |
||
| 703 | ( |
||
| 704 | [scalar] => 20131023T18:02:11 |
||
| 705 | [xmlrpc_type] => datetime |
||
| 706 | [timestamp] => 1382551331 |
||
| 707 | ) |
||
| 708 | |||
| 709 | [lastReportingDate] => stdClass Object |
||
| 710 | ( |
||
| 711 | [scalar] => 20131029T06:27:31 |
||
| 712 | [xmlrpc_type] => datetime |
||
| 713 | [timestamp] => 1383028051 |
||
| 714 | ) |
||
| 715 | |||
| 716 | ) |
||
| 717 | |||
| 718 | [4] => Array |
||
| 719 | ( |
||
| 720 | [keyType] => UNITY One, 2 Domains (Parallels PowerPack for Plesk) (Windows) (Monthly Lease) |
||
| 721 | [lastReportingIp] => 206.72.205.242, 206.72.205.243, 206.72.205.244, 206.72.205.245, 206.72.205.246 |
||
| 722 | [terminated] => |
||
| 723 | [keyNumber] => APS.00005820.0001 |
||
| 724 | [billingType] => LEASE |
||
| 725 | [type] => ADDITIONAL |
||
| 726 | [createDate] => stdClass Object |
||
| 727 | ( |
||
| 728 | [scalar] => 20131023T18:02:11 |
||
| 729 | [xmlrpc_type] => datetime |
||
| 730 | [timestamp] => 1382551331 |
||
| 731 | ) |
||
| 732 | |||
| 733 | [lastReportingDate] => stdClass Object |
||
| 734 | ( |
||
| 735 | [scalar] => 20131023T18:05:26 |
||
| 736 | [xmlrpc_type] => datetime |
||
| 737 | [timestamp] => 1382551526 |
||
| 738 | ) |
||
| 739 | |||
| 740 | ) |
||
| 741 | |||
| 742 | [5] => Array |
||
| 743 | ( |
||
| 744 | [keyType] => Parallels Plesk Panel Antivirus Powered by Kaspersky, 5 Mailboxes (Parallels PowerPack for Plesk) (Windows) (Monthly Lease) |
||
| 745 | [lastReportingIp] => 206.72.205.242, 206.72.205.243, 206.72.205.244, 206.72.205.245, 206.72.205.246 |
||
| 746 | [terminated] => |
||
| 747 | [keyNumber] => KAV.00005821.0001 |
||
| 748 | [billingType] => LEASE |
||
| 749 | [type] => ADDITIONAL |
||
| 750 | [createDate] => stdClass Object |
||
| 751 | ( |
||
| 752 | [scalar] => 20131023T18:02:12 |
||
| 753 | [xmlrpc_type] => datetime |
||
| 754 | [timestamp] => 1382551332 |
||
| 755 | ) |
||
| 756 | |||
| 757 | [lastReportingDate] => stdClass Object |
||
| 758 | ( |
||
| 759 | [scalar] => 20131023T18:05:24 |
||
| 760 | [xmlrpc_type] => datetime |
||
| 761 | [timestamp] => 1382551524 |
||
| 762 | ) |
||
| 763 | |||
| 764 | ) |
||
| 765 | |||
| 766 | ) |
||
| 767 | |||
| 768 | [resultCode] => 100 |
||
| 769 | [resultDesc] => Found: PLSK.02554871.0001, APS.02554872.0002, KAV.02554873.0002, PLSK.00005819.0000, APS.00005820.0001, KAV.00005821.0001 |
||
| 770 | [keyNumbers] => Array |
||
| 771 | ( |
||
| 772 | [0] => PLSK.02554871.0001 |
||
| 773 | [1] => APS.02554872.0002 |
||
| 774 | [2] => KAV.02554873.0002 |
||
| 775 | [3] => PLSK.00005819.0000 |
||
| 776 | [4] => APS.00005820.0001 |
||
| 777 | [5] => KAV.00005821.0001 |
||
| 778 | ) |
||
| 779 | |||
| 780 | [detailResultCode] => 0 |
||
| 781 | ) |
||
| 782 | */ |
||
| 783 | } |
||
| 784 | |||
| 785 | /** |
||
| 786 | * @param bool $client |
||
| 787 | * @return mixed |
||
| 788 | */ |
||
| 789 | public function getAvailableKeyTypesAndFeatures($client = false) |
||
| 790 | { |
||
| 791 | \StatisticClient::tick('Parallels', 'getAvailableKeyTypesAndFeatures'); |
||
| 792 | $this->response = $this->xml->__call('partner10.getAvailableKeyTypesAndFeatures', [$this->authInfo(), $client === false ? $this->client : $client]); |
||
| 793 | if ($this->response === false) { |
||
| 794 | \StatisticClient::report('Parallels', 'getAvailableKeyTypesAndFeatures', false, 1, 'XML Call Error', STATISTICS_SERVER); |
||
| 795 | } else { |
||
| 796 | \StatisticClient::report('Parallels', 'getAvailableKeyTypesAndFeatures', true, 0, '', STATISTICS_SERVER); |
||
| 797 | } |
||
| 798 | return $this->response; |
||
| 799 | /* My Output: |
||
| 800 | Array |
||
| 801 | ( |
||
| 802 | [resultCode] => 100 |
||
| 803 | [features] => Array |
||
| 804 | ( |
||
| 805 | [0] => ADDON-CT-OAS-L-1Y |
||
| 806 | [1] => ADDON-HMP-L-M |
||
| 807 | [2] => SB10X-500 |
||
| 808 | [3] => ADDON-WPB-12500-M |
||
| 809 | [4] => MEDIUM |
||
| 810 | [5] => 30_DOMAINS_FOR_VZ |
||
| 811 | [6] => PLESK-100-SITES |
||
| 812 | [7] => SB10X-35000 |
||
| 813 | [8] => STORE_BUTTON_OFF |
||
| 814 | [9] => 2CPU_90CT_PIM |
||
| 815 | [10] => 4CPU_1CT_PIM |
||
| 816 | [11] => SB10X-300 |
||
| 817 | [12] => SB10X-25000 |
||
| 818 | [13] => 3_LANGUAGE_PACKS_FOR_VMM |
||
| 819 | [14] => UNLIMITED_DOMAINS_1000_BILLING_ACCOUNTS_100_SITES_FOR_VZ |
||
| 820 | [15] => 8CPU_15HV_PVA |
||
| 821 | [16] => ADDITIONAL_LANGUAGE_PACK |
||
| 822 | [17] => SB10X-100 |
||
| 823 | [18] => 4CPU_UNLIMITEDVC_PVA |
||
| 824 | [19] => PLESK_SWSOFT_SERVICES_OFF |
||
| 825 | [20] => 8CPU_100CT_PVA |
||
| 826 | [21] => PLESK_POWER_PACK_FOR_VMM |
||
| 827 | [22] => 4CPU_20CT_PIM |
||
| 828 | [23] => PLESK-UNLIMITED-PB-ACCOUNTS-FOR-VMM |
||
| 829 | [24] => HSPHERE_7500_ACCOUNTS |
||
| 830 | [25] => CLDF-PLUS-M |
||
| 831 | [26] => 7500_SITES_MULTI_SERVER |
||
| 832 | [27] => 4-LANGUAGE-PACKS-FOR-PPA |
||
| 833 | [28] => MONTHLY_AMPS |
||
| 834 | [29] => 300_SITES |
||
| 835 | [30] => UO-UNL-L-1Y |
||
| 836 | [31] => 2CPU_20CT_PIM |
||
| 837 | [32] => 8CPU_6HV_PVA |
||
| 838 | [33] => 4_LANGUAGE_PACKS |
||
| 839 | [34] => 8CPU_40CT_PVA |
||
| 840 | [35] => 8CPU_1CT_PVA |
||
| 841 | [36] => 2CPU_4HV_PVA |
||
| 842 | [37] => 8CPU_200CT_PVA |
||
| 843 | [38] => 4CPU_60CT_PIM |
||
| 844 | [39] => 100_EXT_WHITELABEL |
||
| 845 | [40] => 8CPU_50CT_PVA |
||
| 846 | [41] => PLESK-UNLIMITED-PB-ACCOUNTS |
||
| 847 | [42] => SB10X-40000 |
||
| 848 | [43] => PLESK_HOSTING_SUITE_FOR_VZ |
||
| 849 | [44] => HSPHERE_3750_ACCOUNTS |
||
| 850 | [45] => 2CPU_7HV_PVA |
||
| 851 | [46] => 4CPU_5CT_PIM |
||
| 852 | [47] => UNLIMITED_USERS_FOR_VPS |
||
| 853 | [48] => PLESK-100-SITES-FOR-VZ |
||
| 854 | [49] => PLESK_RELOADED_FOR_VZ_POWER_PACK |
||
| 855 | [50] => 8CPU_10HV_PVA |
||
| 856 | [51] => ADDONVZ-CT-OAS-L-1Y |
||
| 857 | [52] => PLESK_7X_FOR_WIN_FOR_VZ_POWER_PACK |
||
| 858 | [53] => SB10X-2500 |
||
| 859 | [54] => 2CPU_3CT_PIM |
||
| 860 | [55] => ADDITIONAL_LANGUAGE_PACK_FOR_VZ |
||
| 861 | [56] => 8CPU_80CT_PVA |
||
| 862 | [57] => 4CPU_30VC_PVA |
||
| 863 | [58] => 1000_SITES_MULTI_SERVER |
||
| 864 | [59] => 1_UNITY_MOBILE_SITE |
||
| 865 | [60] => 2CPU_40CT_PIM |
||
| 866 | [61] => EXTRAS_BUTTONS_OFF |
||
| 867 | [62] => UNLIMITED_DOMAINS_FOR_VMM |
||
| 868 | [63] => 8CPU_450CT_PVA |
||
| 869 | [64] => HSPHERE_500_ACCOUNTS |
||
| 870 | [65] => 4CPU_5VC_PVA |
||
| 871 | [66] => HSPHERE_1750_ACCOUNTS |
||
| 872 | [67] => FOTOLIA_OFF |
||
| 873 | [68] => SB10X-50000 |
||
| 874 | [69] => HSPHERE_1000_ACCOUNTS |
||
| 875 | [70] => 1000_EXT |
||
| 876 | [71] => SB10X-7500 |
||
| 877 | [72] => 100_EXTENSIONS |
||
| 878 | [73] => 2CPU_1CT_PIM |
||
| 879 | [74] => 1000_EXT_WHITELABEL |
||
| 880 | [75] => 8CPU_9HV_PVA |
||
| 881 | [76] => UO-1-L-1Y |
||
| 882 | [77] => 8CPU_5VC_PVA |
||
| 883 | [78] => 8CPU_8HV_PVA |
||
| 884 | [79] => 4_LANGUAGE_PACKS_FOR_VZ |
||
| 885 | [80] => 4CPU_70CT_PIM |
||
| 886 | [81] => 30_DOMAINS |
||
| 887 | [82] => 2_LANGUAGE_PACKS_FOR_VMM |
||
| 888 | [83] => ADDON-CT-OAS-L-M |
||
| 889 | [84] => UO-1-W-M |
||
| 890 | [85] => UNLIMITED-LANGUAGE-PACKS-FOR-PPA |
||
| 891 | [86] => 100_DOMAINS_FOR_VZ |
||
| 892 | [87] => ADDON-WPB-1000-M |
||
| 893 | [88] => STH-WMP-BUSP-M |
||
| 894 | [89] => UNLIMITED_DOMAINS |
||
| 895 | [90] => 2CPU_100CT_PIM |
||
| 896 | [91] => ADDONVZ-HMP-W-M |
||
| 897 | [92] => DISABLE_SITEBUILDER |
||
| 898 | [93] => 8CPU_1CT |
||
| 899 | [94] => HSPHERE_2500_ACCOUNTS |
||
| 900 | [95] => STH-WMP-BUS-M |
||
| 901 | [96] => PLESK_POWER_PACK_FOR_WIN |
||
| 902 | [97] => 8CPU_30VC_PVA |
||
| 903 | [98] => 8CPU_150CT_PVA |
||
| 904 | [99] => HSPHERE_5000_ACCOUNTS |
||
| 905 | [100] => 4CPU_90CT_PIM |
||
| 906 | [101] => PLESK-UNLIMITED-PB-ACCOUNTS-FOR-VZ |
||
| 907 | [102] => ADDON-WPB-45000-M |
||
| 908 | [103] => PLESK_POWER_PACK_FOR_VZ |
||
| 909 | [104] => 8CPU_250CT_PVA |
||
| 910 | [105] => 1-LANGUAGE-PACK-FOR-PPA |
||
| 911 | [106] => UO-UNL-W-M |
||
| 912 | [107] => 2CPU_5VC_PVA |
||
| 913 | [108] => ADDON-WPB-15000-M |
||
| 914 | [109] => PLESK_RELOADED_POWER_PACK |
||
| 915 | [110] => ADDON-WPB-7500-M |
||
| 916 | [111] => PLESK-1000-SITES-FOR-VZ |
||
| 917 | [112] => 10_UNITY_MOBILE_SITES |
||
| 918 | [148] => 3_LANGUAGE_PACKS_FOR_VZ |
||
| 919 | [149] => 2CPU_30CT_PIM |
||
| 920 | [150] => ENTERPRISE |
||
| 921 | [151] => 2CPU_50CT_PIM |
||
| 922 | [152] => ADDON-HMP-W-M |
||
| 923 | [153] => 2_LANGUAGE_PACKS_FOR_VZ |
||
| 924 | [154] => 4_LANGUAGE_PACKS_FOR_VMM |
||
| 925 | [155] => UO-UNL-L-M |
||
| 926 | [156] => SB10X-12500 |
||
| 927 | [157] => 4CPU_50CT_PIM |
||
| 928 | [158] => ADDON-WPB-20000-M |
||
| 929 | [159] => HSPHERE_10000_ACCOUNTS |
||
| 930 | [160] => 4CPU_3CT_PIM |
||
| 931 | [161] => 3_LANGUAGE_PACKS |
||
| 932 | [162] => 8CPU_90CT_PVA |
||
| 933 | [163] => 5000_SITES |
||
| 934 | [164] => 100_SITES |
||
| 935 | [165] => PLESK_POWER_PACK |
||
| 936 | [166] => 8CPU_400CT_PVA |
||
| 937 | [167] => 500_EXT |
||
| 938 | [168] => 5000_SITES_MULTI_SERVER |
||
| 939 | [169] => 5_LANGUAGE_PACKS_FOR_VMM |
||
| 940 | [170] => UNLIMITED_BATTLEFIELD_SERVERS |
||
| 941 | [171] => ADDON-WPB-35000-M |
||
| 942 | [172] => PLESK-100-SITES-FOR-VMM |
||
| 943 | [173] => ADDON-WPB-50000-M |
||
| 944 | [174] => 8CPU_4HV_PVA |
||
| 945 | [175] => 8CPU_5HV_PVA |
||
| 946 | [176] => 2CPU_10HV_PVA |
||
| 947 | [177] => ADDON-WPB-300-M |
||
| 948 | [178] => 2CPU_2HV_PVA |
||
| 949 | [179] => 300_SITES_MULTI_SERVER |
||
| 950 | [180] => 10_DOMAINS_FOR_VZ |
||
| 951 | [181] => 1_LANGUAGE_PACK |
||
| 952 | [182] => 4CPU_10CT_PIM |
||
| 953 | [183] => ADDON-WPB-700-M |
||
| 954 | [184] => 2CPU_30VC_PVA |
||
| 955 | [185] => 2CPU_1HV_PVA |
||
| 956 | [186] => 5_USERS_FOR_VPS |
||
| 957 | [187] => 2CPU_10CT_PIM |
||
| 958 | [188] => 500_SITES_MULTI_SERVER |
||
| 959 | [189] => 300_DOMAINS |
||
| 960 | [190] => 10000_SITES |
||
| 961 | [191] => 8CPU_2HV_PVA |
||
| 962 | [192] => ADDON-WPB-10000-M |
||
| 963 | [193] => PLESK_POWER_PACK_FOR_WIN_FOR_VMM |
||
| 964 | [194] => PLESK-1000-SITES-FOR-VMM |
||
| 965 | [195] => 5_LANGUAGE_PACKS |
||
| 966 | [196] => 1_LANGUAGE_PACK_FOR_VZ |
||
| 967 | [197] => 2CPU_200CT_PIM |
||
| 968 | [198] => VIRTUOZZO_PROMO_OFF |
||
| 969 | [199] => SB10X-5000 |
||
| 970 | [200] => 8CPU_7HV_PVA |
||
| 971 | [201] => 10_DOMAINS |
||
| 972 | [202] => PRO |
||
| 973 | [203] => 500_SITES |
||
| 974 | [204] => 2CPU_70CT_PIM |
||
| 975 | [205] => 1_BATTLEFIELD_SERVER |
||
| 976 | [206] => 2CPU_150CT_PIM |
||
| 977 | [207] => 2CPU_80CT_PIM |
||
| 978 | [208] => ADDONVMM-HMP-L-M |
||
| 979 | [209] => UNLIMITED_USERS |
||
| 980 | [210] => 4CPU_30CT_PIM |
||
| 981 | [211] => PLESK_POWER_PACK_FOR_WIN_FOR_VZ |
||
| 982 | [212] => 8CPU_300CT_PVA |
||
| 983 | [213] => 5_USERS |
||
| 984 | [214] => 4CPU_150CT_PIM |
||
| 985 | [215] => 10_BATTLEFIELD_SERVERS |
||
| 986 | [216] => ADDON-WPB-100-M |
||
| 987 | [217] => 8CPU_3HV_PVA |
||
| 988 | [218] => ADDON-WPB-2500-M |
||
| 989 | [219] => 5_LANGUAGE_PACKS_FOR_VZ |
||
| 990 | [220] => 5_BATTLEFIELD_SERVERS |
||
| 991 | [221] => DISABLE_GOOGLE_TOOLS |
||
| 992 | [222] => 500_EXT_WHITELABEL |
||
| 993 | [223] => UNLIMITED_DOMAINS_FOR_VZ |
||
| 994 | [224] => SB10X-15000 |
||
| 995 | [225] => UNLIMITED_MAILBOXES_FOR_VZ |
||
| 996 | [226] => 2CPU_5HV_PVA |
||
| 997 | [227] => PLESK_7X_FOR_WIN_POWER_PACK |
||
| 998 | [228] => PLESK-1000-SITES |
||
| 999 | [229] => DISABLE_FEATURE_UPGRADES |
||
| 1000 | [230] => SB10X-20000 |
||
| 1001 | [231] => ENTRY |
||
| 1002 | [232] => 2CPU_6HV_PVA |
||
| 1003 | [233] => 8CPU_30CT_PVA |
||
| 1004 | [234] => UO-UNL-W-1Y |
||
| 1005 | [235] => 2_LANGUAGE_PACKS |
||
| 1006 | [236] => 8CPU_UNLIMITEDVC_PVA |
||
| 1007 | [237] => 100_DOMAINS |
||
| 1008 | [238] => 8CPU_20CT_PVA |
||
| 1009 | [239] => 2CPU_3HV_PVA |
||
| 1010 | [240] => ADD_1_MANAGED_MSSQL |
||
| 1011 | [241] => 100_EXT |
||
| 1012 | [242] => 100_EXTENSIONS_FOR_VZ |
||
| 1013 | [243] => ADDON-WPB-500-M |
||
| 1014 | [244] => 8CPU_3CT_PVA |
||
| 1015 | [245] => 2CPU_9HV_PVA |
||
| 1016 | [246] => 1_LANGUAGE_PACK_FOR_VMM |
||
| 1017 | [247] => 8CPU_10CT_PVA |
||
| 1018 | [248] => 2CPU_15HV_PVA |
||
| 1019 | [249] => 2CPU_8HV_PVA |
||
| 1020 | [250] => STARTER |
||
| 1021 | [251] => ADDONVMM-HMP-W-M |
||
| 1022 | [252] => 7500_SITES |
||
| 1023 | [253] => 4CPU_40CT_PIM |
||
| 1024 | [254] => SB10X-30000 |
||
| 1025 | [255] => PROFESSIONAL |
||
| 1026 | [256] => 1000_SITES |
||
| 1027 | [257] => 8CPU_350CT_PVA |
||
| 1028 | [258] => 2CPU_60CT_PIM |
||
| 1029 | [259] => HSPHERE_200_ACCOUNTS |
||
| 1030 | [260] => 8CPU_500CT_PVA |
||
| 1031 | [261] => SB10X-10000 |
||
| 1032 | [262] => STH-WMP-BSC-M |
||
| 1033 | [263] => ADDON-WPB-25000-M |
||
| 1034 | ) |
||
| 1035 | |||
| 1036 | [resultDesc] => Key types available: GLOBAL_MENTORING_LIVE_EXPERT_STANDARD_CARE, PSBM_45_SPE, PLESK-10-AND-LATER-FOR-VMM, PLESK_ANTIVIRUS_BY_KAV_FOR_WIN_FOR_VZ, PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-L-M, MYLITTLEADMIN_2000, MYLITTLEADMIN_2005, PLESK_ANTIVIRUS_BY_DRWEB_FOR_WIN, CRT-5-UNL-L, GLOBAL_MENTORING_TOTAL_CARE, LINUXMAGIC_MAGICSPAM, PLESK_ANTIVIRUS_BY_KAV_FOR_VZ, PINNACLE_CART_ECOMMERCE_SHOPPING_CART, SYMANTEC_NORTON_INTERNET_SECURITY_10SEATS_MONTHLY, ATI_PRO_FOR_WIN, STOPTHEHACKER-M, PARALLELS_PREMIUM_ANTIVIRUS_FOR_WIN_FOR_VZ, SB10X-PA, ATI_PRO, CRT-30-UNL-L, 4PSA_VOIPNOW_25_PROFESSIONAL, CLOUDLINUX-L-M, ATMAIL_WEBMAIL, PLESK_10_AND_LATER_FOR_WIN, CRT-5-100-L, PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-FOR-VZ-L-1Y, UNITY-ONE-W-M, PLESK-10-AND-LATER-FOR-WIN-FOR-VMM, GLOBAL_MENTORING_LIVE_EXPERT_BASIC, CRT-50-UNL-L, VIRTUOZZO_CONTAINERS_4, PARALLELS_PREMIUM_ANTIVIRUS_FOR_VZ, PLESK_10_AND_LATER_FOR_VZ, PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-FOR-VZ-L-M, CRT-50-100-L, UNITY-ONE-L-M, PLESK_ANTIVIRUS_BY_DRWEB, SYMANTEC_NORTON_INTERNET_SECURITY_MONTHLY, CRT-100-UNL-L, PARALLELS-CLOUD-SERVER, PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-L-1Y, CRT-100-100-L, PLESK_10_AND_LATER_FOR_WIN_FOR_VZ, PPA-L-M, PARALLELS_PREMIUM_ANTIVIRUS_FOR_WIN, PARALLELS-PREMIUM-ANTIVIRUS-FOR-VMM, PLESK_ANTIVIRUS_BY_KAV_FOR_WIN, PLESK_ANTIVIRUS_BY_DRWEB_FOR_VZ, SYMANTEC_NORTON_INTERNET_SECURITY_5SEATS_MONTHLY, UNITY_MOBILE, PLESK_ANTIVIRUS_BY_DRWEB_FOR_WIN_FOR_VZ, SB10X, UNITY_MOBILE_FOR_WIN, PARALLELS-CLOUD-STORAGE, CRT-30-100-L, CLOUDFLARE-M, VIRTUOZZO_CONTAINERS_4_FOR_WIN, PLESK_10_AND_LATER, PARALLELS_PREMIUM_ANTIVIRUS, SYMANTEC_NORTON_INTERNET_SECURITY_3SEATS_MONTHLY, PLESK_ANTIVIRUS_BY_KAV, KEEPIT_ONLINE_BACKUP. Features available: ADDON-CT-OAS-L-1Y, ADDON-HMP-L-M, SB10X-500, ADDON-WPB-12500-M, MEDIUM, 30_DOMAINS_FOR_VZ, PLESK-100-SITES, SB10X-35000, STORE_BUTTON_OFF, 2CPU_90CT_PIM, 4CPU_1CT_PIM, SB10X-300, SB10X-25000, 3_LANGUAGE_PACKS_FOR_VMM, UNLIMITED_DOMAINS_1000_BILLING_ACCOUNTS_100_SITES_FOR_VZ, 8CPU_15HV_PVA, ADDITIONAL_LANGUAGE_PACK, SB10X-100, 4CPU_UNLIMITEDVC_PVA, PLESK_SWSOFT_SERVICES_OFF, 8CPU_100CT_PVA, PLESK_POWER_PACK_FOR_VMM, 4CPU_20CT_PIM, PLESK-UNLIMITED-PB-ACCOUNTS-FOR-VMM, HSPHERE_7500_ACCOUNTS, CLDF-PLUS-M, 7500_SITES_MULTI_SERVER, 4-LANGUAGE-PACKS-FOR-PPA, MONTHLY_AMPS, 300_SITES, UO-UNL-L-1Y, 2CPU_20CT_PIM, 8CPU_6HV_PVA, 4_LANGUAGE_PACKS, 8CPU_40CT_PVA, 8CPU_1CT_PVA, 2CPU_4HV_PVA, 8CPU_200CT_PVA, 4CPU_60CT_PIM, 100_EXT_WHITELABEL, 8CPU_50CT_PVA, PLESK-UNLIMITED-PB-ACCOUNTS, SB10X-40000, PLESK_HOSTING_SUITE_FOR_VZ, HSPHERE_3750_ACCOUNTS, 2CPU_7HV_PVA, 4CPU_5CT_PIM, UNLIMITED_USERS_FOR_VPS, PLESK-100-SITES-FOR-VZ, PLESK_RELOADED_FOR_VZ_POWER_PACK, 8CPU_10HV_PVA, ADDONVZ-CT-OAS-L-1Y, PLESK_7X_FOR_WIN_FOR_VZ_POWER_PACK, SB10X-2500, 2CPU_3CT_PIM, ADDITIONAL_LANGUAGE_PACK_FOR_VZ, 8CPU_80CT_PVA, 4CPU_30VC_PVA, 1000_SITES_MULTI_SERVER, 1_UNITY_MOBILE_SITE, 2CPU_40CT_PIM, EXTRAS_BUTTONS_OFF, UNLIMITED_DOMAINS_FOR_VMM, 8CPU_450CT_PVA, HSPHERE_500_ACCOUNTS, 4CPU_5VC_PVA, HSPHERE_1750_ACCOUNTS, FOTOLIA_OFF, SB10X-50000, HSPHERE_1000_ACCOUNTS, 1000_EXT, SB10X-7500, 100_EXTENSIONS, 2CPU_1CT_PIM, 1000_EXT_WHITELABEL, 8CPU_9HV_PVA, UO-1-L-1Y, 8CPU_5VC_PVA, 8CPU_8HV_PVA, 4_LANGUAGE_PACKS_FOR_VZ, 4CPU_70CT_PIM, 30_DOMAINS, 2_LANGUAGE_PACKS_FOR_VMM, ADDON-CT-OAS-L-M, UO-1-W-M, UNLIMITED-LANGUAGE-PACKS-FOR-PPA, 100_DOMAINS_FOR_VZ, ADDON-WPB-1000-M, STH-WMP-BUSP-M, UNLIMITED_DOMAINS, 2CPU_100CT_PIM, ADDONVZ-HMP-W-M, DISABLE_SITEBUILDER, 8CPU_1CT, HSPHERE_2500_ACCOUNTS, STH-WMP-BUS-M, PLESK_POWER_PACK_FOR_WIN, 8CPU_30VC_PVA, 8CPU_150CT_PVA, HSPHERE_5000_ACCOUNTS, 4CPU_90CT_PIM, PLESK-UNLIMITED-PB-ACCOUNTS-FOR-VZ, ADDON-WPB-45000-M, PLESK_POWER_PACK_FOR_VZ, 8CPU_250CT_PVA, 1-LANGUAGE-PACK-FOR-PPA, UO-UNL-W-M, 2CPU_5VC_PVA, ADDON-WPB-15000-M, PLESK_RELOADED_POWER_PACK, ADDON-WPB-7500-M, PLESK-1000-SITES-FOR-VZ, 10_UNITY_MOBILE_SITES, 8CPU_70CT_PVA, UNLIMITED_MAILBOXES, STH-WMP-PRO-M, SB10X-45000, 8CPU_1HV_PVA, NEWSFEED_OFF, 4CPU_80CT_PIM, UO-1-W-1Y, 10000_SITES_MULTI_SERVER, 8CPU_UNLIMITEDHV_PVA, 2_BATTLEFIELD_SERVERS, CLNX-M, 8CPU_60CT_PVA, 100_SITES_MULTI_SERVER, 2CPU_UNLIMITEDVC_PVA, 2CPU_UNLIMITED_HV_PVA, 10_EXT_WHITELABEL, REINSTATE_SUS, ADDONVZ-HMP-L-M, UO-1-L-M, 8CPU_5CT_PVA, 4CPU_100CT_PIM, SB10X-1000, ADDON-WPB-5000-M, 2CPU_5CT_PIM, 10_EXT, 5_UNITY_MOBILE_SITES, 4CPU_200CT_PIM, ADDON-WPB-40000-M, ADDON-WPB-30000-M, 5-LANGUAGE-PACKS-FOR-PPA, 3-LANGUAGE-PACKS-FOR-PPA, PCS-RKU, ADDONVZ-CT-OAS-L-M, 2-LANGUAGE-PACKS-FOR-PPA, 3_LANGUAGE_PACKS_FOR_VZ, 2CPU_30CT_PIM, ENTERPRISE, 2CPU_50CT_PIM, ADDON-HMP-W-M, 2_LANGUAGE_PACKS_FOR_VZ, 4_LANGUAGE_PACKS_FOR_VMM, UO-UNL-L-M, SB10X-12500, 4CPU_50CT_PIM, ADDON-WPB-20000-M, HSPHERE_10000_ACCOUNTS, 4CPU_3CT_PIM, 3_LANGUAGE_PACKS, 8CPU_90CT_PVA, 5000_SITES, 100_SITES, PLESK_POWER_PACK, 8CPU_400CT_PVA, 500_EXT, 5000_SITES_MULTI_SERVER, 5_LANGUAGE_PACKS_FOR_VMM, UNLIMITED_BATTLEFIELD_SERVERS, ADDON-WPB-35000-M, PLESK-100-SITES-FOR-VMM, ADDON-WPB-50000-M, 8CPU_4HV_PVA, 8CPU_5HV_PVA, 2CPU_10HV_PVA, ADDON-WPB-300-M, 2CPU_2HV_PVA, 300_SITES_MULTI_SERVER, 10_DOMAINS_FOR_VZ, 1_LANGUAGE_PACK, 4CPU_10CT_PIM, ADDON-WPB-700-M, 2CPU_30VC_PVA, 2CPU_1HV_PVA, 5_USERS_FOR_VPS, 2CPU_10CT_PIM, 500_SITES_MULTI_SERVER, 300_DOMAINS, 10000_SITES, 8CPU_2HV_PVA, ADDON-WPB-10000-M, PLESK_POWER_PACK_FOR_WIN_FOR_VMM, PLESK-1000-SITES-FOR-VMM, 5_LANGUAGE_PACKS, 1_LANGUAGE_PACK_FOR_VZ, 2CPU_200CT_PIM, VIRTUOZZO_PROMO_OFF, SB10X-5000, 8CPU_7HV_PVA, 10_DOMAINS, PRO, 500_SITES, 2CPU_70CT_PIM, 1_BATTLEFIELD_SERVER, 2CPU_150CT_PIM, 2CPU_80CT_PIM, ADDONVMM-HMP-L-M, UNLIMITED_USERS, 4CPU_30CT_PIM, PLESK_POWER_PACK_FOR_WIN_FOR_VZ, 8CPU_300CT_PVA, 5_USERS, 4CPU_150CT_PIM, 10_BATTLEFIELD_SERVERS, ADDON-WPB-100-M, 8CPU_3HV_PVA, ADDON-WPB-2500-M, 5_LANGUAGE_PACKS_FOR_VZ, 5_BATTLEFIELD_SERVERS, DISABLE_GOOGLE_TOOLS, 500_EXT_WHITELABEL, UNLIMITED_DOMAINS_FOR_VZ, SB10X-15000, UNLIMITED_MAILBOXES_FOR_VZ, 2CPU_5HV_PVA, PLESK_7X_FOR_WIN_POWER_PACK, PLESK-1000-SITES, DISABLE_FEATURE_UPGRADES, SB10X-20000, ENTRY, 2CPU_6HV_PVA, 8CPU_30CT_PVA, UO-UNL-W-1Y, 2_LANGUAGE_PACKS, 8CPU_UNLIMITEDVC_PVA, 100_DOMAINS, 8CPU_20CT_PVA, 2CPU_3HV_PVA, ADD_1_MANAGED_MSSQL, 100_EXT, 100_EXTENSIONS_FOR_VZ, ADDON-WPB-500-M, 8CPU_3CT_PVA, 2CPU_9HV_PVA, 1_LANGUAGE_PACK_FOR_VMM, 8CPU_10CT_PVA, 2CPU_15HV_PVA, 2CPU_8HV_PVA, STARTER, ADDONVMM-HMP-W-M, 7500_SITES, 4CPU_40CT_PIM, SB10X-30000, PROFESSIONAL, 1000_SITES, 8CPU_350CT_PVA, 2CPU_60CT_PIM, HSPHERE_200_ACCOUNTS, 8CPU_500CT_PVA, SB10X-10000, STH-WMP-BSC-M, ADDON-WPB-25000-M. |
||
| 1037 | [keyTypes] => Array |
||
| 1038 | ( |
||
| 1039 | [0] => GLOBAL_MENTORING_LIVE_EXPERT_STANDARD_CARE |
||
| 1040 | [1] => PSBM_45_SPE |
||
| 1041 | [2] => PLESK-10-AND-LATER-FOR-VMM |
||
| 1042 | [3] => PLESK_ANTIVIRUS_BY_KAV_FOR_WIN_FOR_VZ |
||
| 1043 | [4] => PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-L-M |
||
| 1044 | [5] => MYLITTLEADMIN_2000 |
||
| 1045 | [6] => MYLITTLEADMIN_2005 |
||
| 1046 | [7] => PLESK_ANTIVIRUS_BY_DRWEB_FOR_WIN |
||
| 1047 | [8] => CRT-5-UNL-L |
||
| 1048 | [9] => GLOBAL_MENTORING_TOTAL_CARE |
||
| 1049 | [10] => LINUXMAGIC_MAGICSPAM |
||
| 1050 | [11] => PLESK_ANTIVIRUS_BY_KAV_FOR_VZ |
||
| 1051 | [12] => PINNACLE_CART_ECOMMERCE_SHOPPING_CART |
||
| 1052 | [13] => SYMANTEC_NORTON_INTERNET_SECURITY_10SEATS_MONTHLY |
||
| 1053 | [14] => ATI_PRO_FOR_WIN |
||
| 1054 | [15] => STOPTHEHACKER-M |
||
| 1055 | [16] => PARALLELS_PREMIUM_ANTIVIRUS_FOR_WIN_FOR_VZ |
||
| 1056 | [17] => SB10X-PA |
||
| 1057 | [18] => ATI_PRO |
||
| 1058 | [19] => CRT-30-UNL-L |
||
| 1059 | [20] => 4PSA_VOIPNOW_25_PROFESSIONAL |
||
| 1060 | [21] => CLOUDLINUX-L-M |
||
| 1061 | [22] => ATMAIL_WEBMAIL |
||
| 1062 | [23] => PLESK_10_AND_LATER_FOR_WIN |
||
| 1063 | [24] => CRT-5-100-L |
||
| 1064 | [25] => PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-FOR-VZ-L-1Y |
||
| 1065 | [26] => UNITY-ONE-W-M |
||
| 1066 | [27] => PLESK-10-AND-LATER-FOR-WIN-FOR-VMM |
||
| 1067 | [28] => GLOBAL_MENTORING_LIVE_EXPERT_BASIC |
||
| 1068 | [29] => CRT-50-UNL-L |
||
| 1069 | [30] => VIRTUOZZO_CONTAINERS_4 |
||
| 1070 | [31] => PARALLELS_PREMIUM_ANTIVIRUS_FOR_VZ |
||
| 1071 | [32] => PLESK_10_AND_LATER_FOR_VZ |
||
| 1072 | [33] => PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-FOR-VZ-L-M |
||
| 1073 | [34] => CRT-50-100-L |
||
| 1074 | [35] => UNITY-ONE-L-M |
||
| 1075 | [36] => PLESK_ANTIVIRUS_BY_DRWEB |
||
| 1076 | [37] => SYMANTEC_NORTON_INTERNET_SECURITY_MONTHLY |
||
| 1077 | [38] => CRT-100-UNL-L |
||
| 1078 | [39] => PARALLELS-CLOUD-SERVER |
||
| 1079 | [40] => PARALLELS-PREMIUM-OUTBOUND-ANTISPAM-L-1Y |
||
| 1080 | [41] => CRT-100-100-L |
||
| 1081 | [42] => PLESK_10_AND_LATER_FOR_WIN_FOR_VZ |
||
| 1082 | [43] => PPA-L-M |
||
| 1083 | [44] => PARALLELS_PREMIUM_ANTIVIRUS_FOR_WIN |
||
| 1084 | [45] => PARALLELS-PREMIUM-ANTIVIRUS-FOR-VMM |
||
| 1085 | [46] => PLESK_ANTIVIRUS_BY_KAV_FOR_WIN |
||
| 1086 | [47] => PLESK_ANTIVIRUS_BY_DRWEB_FOR_VZ |
||
| 1087 | [48] => SYMANTEC_NORTON_INTERNET_SECURITY_5SEATS_MONTHLY |
||
| 1088 | [49] => UNITY_MOBILE |
||
| 1089 | [50] => PLESK_ANTIVIRUS_BY_DRWEB_FOR_WIN_FOR_VZ |
||
| 1090 | [51] => SB10X |
||
| 1091 | [52] => UNITY_MOBILE_FOR_WIN |
||
| 1092 | [53] => PARALLELS-CLOUD-STORAGE |
||
| 1093 | [54] => CRT-30-100-L |
||
| 1094 | [55] => CLOUDFLARE-M |
||
| 1095 | [56] => VIRTUOZZO_CONTAINERS_4_FOR_WIN |
||
| 1096 | [57] => PLESK_10_AND_LATER |
||
| 1097 | [58] => PARALLELS_PREMIUM_ANTIVIRUS |
||
| 1098 | [59] => SYMANTEC_NORTON_INTERNET_SECURITY_3SEATS_MONTHLY |
||
| 1099 | [60] => PLESK_ANTIVIRUS_BY_KAV |
||
| 1100 | [61] => KEEPIT_ONLINE_BACKUP |
||
| 1101 | ) |
||
| 1102 | |||
| 1103 | ) |
||
| 1104 | */ |
||
| 1105 | } |
||
| 1106 | } |
||
| 1107 |