Файл: _rootinc/paylicenseru.inc.php
Строк: 105
<?
class PAYLICENSERU
{
public $user = null;
public $password = null;
public $error = null;
public function init($user,$password) {
$this->user=$user;
$this->password=$password;
}
public function send($query) {
$this->fp = curl_init();
curl_setopt($this->fp, CURLOPT_URL, "https://my.paylicense.ru/Api/Get.php".$query);
curl_setopt($this->fp, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($this->fp, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($this->fp, CURLOPT_FAILONERROR, 0);
curl_setopt($this->fp, CURLOPT_RETURNTRANSFER,1);
curl_setopt($this->fp, CURLOPT_TIMEOUT, 120);
$result = curl_exec($this->fp);
if (curl_errno($this->fp)) {
$this->error = "cURL Error ".curl_errno($this->fp).": ".curl_error($this->fp);
@curl_close($this->fp);
return false;
} else {
curl_close($this->fp);
if (preg_match("/({.*})/",$result,$arr)) {
$result = json_decode($arr[1],true);
if (is_array($result)) {
return $result;
} else {
$this->error = "send: can't convert JSON to Array";
return false;
}
} else {
$this->error = "send: No output";
return false;
}
}
}
public function createLicense($licenseType, $licenseName, $licenseIP) {
if ($licenseType == "ispmanagerlite") { $lType = "ispmanager_lite_month"; }
else if ($licenseType == "ispmanagerlitefull") { $lType = "ispmanager_lite_life"; }
else if ($licenseType == "ispmanagerlitetrial") { $lType = "ispmanager_lite_trial"; }
else if ($licenseType == "ispmanagerpro") { $lType = "ispmanager_pro_month"; }
else if ($licenseType == "ispmanagerprofull") { $lType = "ispmanager_pro_life"; }
else if ($licenseType == "ispmanagerprotrial") { $lType = "ispmanager_pro_trial"; }
if (!$lType) {
$this->error = "createLicense: unknown license type ($licenseType)";
return false;
}
$result = $this->send("?user=".$this->user."&password=".$this->password."&action=addorder&type=$lType&name=".urlencode($licenseName)."&ip=$licenseIP");
if ($result["result"] == "ok") {
return $result["orderid"];
}
else if ($result["result"] == "error") {
$this->error = "createLicense: (".$result["error_type"].") ".$this->getError($result["error_type"]);
return false;
}
else {
return false;
}
}
public function renewLicense($licenseID) {
$result = $this->send("?user=".$this->user."&password=".$this->password."&action=prolongorder&id=$licenseID");
if ($result["result"] == "ok" or $result["message"] == "251") {
return true;
}
else if ($result["result"] == "error") {
$this->error = "renewLicense: (".$result["error_type"].") ".$this->getError($result["error_type"]);
return false;
}
else {
return false;
}
}
public function updateLicense($licenseID, $field, $value) {
if ($field == "name") {
$queryAddon = "name=".urlencode($value);
} else if ($field == "ip") {
$queryAddon = "ip=$value";
}
$result = $this->send("?user=".$this->user."&password=".$this->password."&action=modifyorder&id=$licenseID&".$queryAddon);
if ($result["result"] == "ok" or $result["message"] == "271") {
return true;
}
else if ($result["result"] == "error") {
$this->error = "updateLicense: (".$result["error_type"].") ".$this->getError($result["error_type"]);
return false;
}
else {
return false;
}
}
public function getError($code) {
$errors[101] = "при обращении не задан параметр email";
$errors[102] = "параметр email имеет неверное значение";
$errors[103] = "при обращении не задан параметр password";
$errors[104] = "неверные данные для авторизации";
$errors[105] = "при обращении не задан параметр action";
$errors[106] = "параметр action не существует";
$errors[111] = "не найдены заказы согласно указанному критерию";
$errors[101] = "при обращении не задан параметр email";
$errors[131] = "неверно задан id";
$errors[132] = "заказ с указанным id не существует или не принадлежит данному аккаунту";
$errors[141] = "критический сбой, требуется обратиться в поддержку для решения проблемы";
$errors[142] = "недостаточно средств на балансе";
$errors[143] = "неверно задан параметр ip";
$errors[144] = "запрос не прошел валидацию на сервере ISPSystem, возможно введен невернный IP или лицензия с такими характеристиками уже существует, возвращается так же переменная addon_error";
$errors[145] = "критический сбой, требуется обратиться в поддержку для решения проблемы";
$errors[146] = "неверно задан параметр type";
$errors[151] = "неверно задан параметр id";
$errors[152] = "заказ с указанным id не существует или подлежит указанной операции";
$errors[153] = "данная лицензия не может быть продлена";
$errors[154] = "недостаточно средств на балансе";
$errors[155] = "запрос не прошел валидацию на сервере ISPSystem, возвращается так же переменная addon_error";
$errors[156] = "критический сбой, требуется обратиться в поддержку для решения проблемы";
$errors[161] = "неверно задан параметр id";
$errors[162] = "заказ с указанным id не существует или подлежит указанной операции";
$errors[171] = "неверно задан параметр id";
$errors[172] = "заказ с указанным id не существует или подлежит указанной операции";
$errors[173] = "критический сбой, требуется обратиться в поддержку для решения проблемы";
$errors[174] = "запрос не прошел валидацию на сервере ISPSystem, возвращается так же переменная addon_error";
$errors[175] = "не заданы параметры для изменения";
$errors[176] = "неверно задан параметр ip";
return $errors[$code];
}
}
?>