Вход Регистрация
Файл: _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];
    }
}
?>
Онлайн: 2
Реклама