Вход Регистрация
Файл: _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->fpCURLOPT_URL"https://my.paylicense.ru/Api/Get.php".$query);
        
curl_setopt($this->fpCURLOPT_SSL_VERIFYPEER0);
        
curl_setopt($this->fpCURLOPT_SSL_VERIFYHOST0);
        
curl_setopt($this->fpCURLOPT_FAILONERROR0); 
        
curl_setopt($this->fpCURLOPT_RETURNTRANSFER,1);
        
curl_setopt($this->fpCURLOPT_TIMEOUT120);

        
$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];
    }
}
?>
Онлайн: 1
Реклама