Exemplo n.º 1
0
 public function Load()
 {
     #-----------------------------------------------------------------------------
     $SessionID = $this->SessionID;
     #-----------------------------------------------------------------------------
     if (!$SessionID) {
         return FALSE;
     }
     #-----------------------------------------------------------------------------
     $Tmp = System_Element('tmp');
     if (Is_Error($Tmp)) {
         return ERROR | @Trigger_Error('[Session->Load]: не удалось найти временную папку');
     }
     #-----------------------------------------------------------------------------
     $Path = SPrintF('%s/sessions/%s', $Tmp, $SessionID);
     #-----------------------------------------------------------------------------
     if (!File_Exists($Path)) {
         return FALSE;
     }
     #-----------------------------------------------------------------------------
     $Content = IO_Read($Path);
     if (Is_Error($Content)) {
         return ERROR | @Trigger_Error('[Session->Load]: не удалось прочитать файл сессии');
     }
     #-----------------------------------------------------------------------------
     #$this->Data = @UnSerialize($Content);
     $this->Data = @JSON_Decode($Content, true);
     if ($this->Data === FALSE) {
         return ERROR | @Trigger_Error('[Session->Load]: не удалось восстановить данные из файла сессии');
     }
     #-----------------------------------------------------------------------------
     return TRUE;
 }
Exemplo n.º 2
0
 public function Query()
 {
     $Length = StrLen($this->ServerIP);
     $Data = Pack('cccca*', HexDec($Length), 0, 0x4, $Length, $this->ServerIP) . Pack('nc', $this->ServerPort, 0x1);
     Socket_Send($this->Socket, $Data, StrLen($Data), 0);
     // handshake
     Socket_Send($this->Socket, "", 2, 0);
     // status ping
     $Length = $this->ReadVarInt();
     // full packet length
     if ($Length < 10) {
         return FALSE;
     }
     Socket_Read($this->Socket, 1);
     // packet type, in server ping it's 0
     $Length = $this->ReadVarInt();
     // string length
     $Data = Socket_Read($this->Socket, $Length, PHP_NORMAL_READ);
     // and finally the json string
     if ($Data === FALSE) {
         throw new MinecraftPingException('Server didn\'t return any data');
     }
     $Data = JSON_Decode($Data, true);
     if (JSON_Last_Error() !== JSON_ERROR_NONE) {
         if (Function_Exists('json_last_error_msg')) {
             throw new MinecraftPingException(JSON_Last_Error_Msg());
         } else {
             throw new MinecraftPingException('JSON parsing failed');
         }
         return FALSE;
     }
     return $Data;
 }
Exemplo n.º 3
0
function Upload_Get($Name, $Hash = FALSE)
{
    /****************************************************************************/
    #$__args_types = Array('string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $Args = Args();
    #-----------------------------------------------------------------------------
    $Hash = isset($Args[$Name]) ? $Args[$Name] : $Hash;
    #-----------------------------------------------------------------------------
    if (!$Hash) {
        return new gException('HASH_IS_EMPTY', 'Хешь файла загрузки пуст');
    }
    #-----------------------------------------------------------------------------
    $Tmp = System_Element('tmp');
    if (Is_Error($Tmp)) {
        return ERROR | @Trigger_Error('[Upload_Get]: не удалось получить путь до временной директории');
    }
    #-----------------------------------------------------------------------------
    $Uploads = SPrintF('%s/uploads', $Tmp);
    #-----------------------------------------------------------------------------
    if (!File_Exists($Uploads)) {
        return new gException('HASH_IS_EMPTY', 'Директория файлов загрузки не создана');
    }
    #-----------------------------------------------------------------------------
    $Path = SPrintF('%s/%s', $Uploads, $Hash);
    #-----------------------------------------------------------------------------
    if (!File_Exists($Path)) {
        return new gException('FILE_NOT_FOUND', 'Файл не найден на сервере');
    }
    #-----------------------------------------------------------------------------
    $Data = IO_Read($Path);
    if (Is_Error($Data)) {
        return ERROR | @Trigger_Error('[Upload_Get]: не удалось прочитать файл');
    }
    #-----------------------------------------------------------------------------
    $Names = IO_Read(SPrintF('%s/names.txt', $Uploads));
    if (Is_Error($Names)) {
        return ERROR | @Trigger_Error('[Upload_Get]: не удалось прочитать файл имен');
    }
    #-----------------------------------------------------------------------------
    $Names = JSON_Decode($Names, TRUE);
    #-----------------------------------------------------------------------------
    $Name = isset($Names[$Hash]) ? $Names[$Hash] : 'Default';
    #-----------------------------------------------------------------------------
    return array('Name' => $Name, 'Data' => $Data);
}
Exemplo n.º 4
0
function HandleNews($Data, $Code)
{
    if ($Code !== 200) {
        return;
    }
    global $PSA, $m;
    $Data = JSON_Decode($Data, true);
    if ($Data === false || empty($Data)) {
        $m->set('mc_status_mojang', '', 300);
        return;
    }
    $PSA = '';
    foreach ($Data as $Message) {
        if ($Message['game'] !== 'Minecraft') {
            continue;
        }
        if (!empty($PSA)) {
            $PSA .= '<hr class="dotted">';
        }
        $PSA .= '<h3 style="margin-top:0">' . HTMLEntities($Message['headline']) . ' <span class="muted" style="font-weight:400">(from <a href="http://help.mojang.com/">help.mojang.com</a>)</span></h3>' . $Message['message'];
    }
    $m->set('mc_status_mojang', $PSA, 300);
}
Exemplo n.º 5
0
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
echo "Запрос обновлений\n";
#-------------------------------------------------------------------------------
$Config = Config();
#-------------------------------------------------------------------------------
$Server = $Config['Update']['Server'];
#-------------------------------------------------------------------------------
$Answer = HTTP_Send('/GetUpdate', $Server, array('HostsIDs' => Implode(',', $HostsIDs)), array('Snapshot' => JSON_Encode($Snapshot)));
if (Is_Error($Answer)) {
    return "ERROR: не удалось выполнить запрос к серверу\n";
}
#-------------------------------------------------------------------------------
echo "Ответ получен\n--\n";
#-------------------------------------------------------------------------------
$Answer = @JSON_Decode($Answer['Body'], TRUE);
if (!Is_Array($Answer)) {
    return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
}
#-------------------------------------------------------------------------------
switch ($Answer['Status']) {
    case 'Error':
        return SPrintF("---\n%s\n---\n", Implode("\n", Array_Slice($__SYSLOG, Count($__SYSLOG) - 20)));
    case 'Exception':
        #-------------------------------------------------------------------------------
        $Exception = $Answer['Exception'];
        #-------------------------------------------------------------------------------
        return SPrintF("%s\n", $Exception['String']);
        #-------------------------------------------------------------------------------
        break;
        #-------------------------------------------------------------------------------
} else {
    #-------------------------------------------------------------------------------
    $CollationID = DB_Insert('PaymentSystemsCollation', $UCollation);
    if (Is_Error($CollationID)) {
        return ERROR | @Trigger_Error(500);
    }
    #-------------------------------------------------------------------------------
    $Answer['CollationID'] = $CollationID;
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if (Is_Error(DB_Commit($TransactionID))) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
if ($Window) {
    #-------------------------------------------------------------------------------
    $Window = JSON_Decode(Base64_Decode($Window), TRUE);
    #-------------------------------------------------------------------------------
    $Window['Args']['CollationID'] = $CollationID;
    #-------------------------------------------------------------------------------
    $Answer = array('Status' => 'Window', 'Window' => $Window);
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
return $Answer;
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
Exemplo n.º 7
0
<?php

#-------------------------------------------------------------------------------
/** @author Великодный В.В. (Joonte Ltd.) */
/******************************************************************************/
/******************************************************************************/
$__args_list = array('Value');
/******************************************************************************/
eval(COMP_INIT);
/******************************************************************************/
/******************************************************************************/
$Result = JSON_Decode($Value, TRUE);
if ($Result === FALSE) {
    return ERROR | @Trigger_Error(400);
}
#-------------------------------------------------------------------------------
return $Result;
#-------------------------------------------------------------------------------
Exemplo n.º 8
0
function Started_Contract_Register($Settings, $PepsonID, $Person, $DomainZone)
{
    /****************************************************************************/
    $__args_types = array('array', 'string', 'array', 'string');
    #-----------------------------------------------------------------------------
    $__args__ = Func_Get_Args();
    eval(FUNCTION_INIT);
    /****************************************************************************/
    $HTTP = array('Protocol' => $Settings['Protocol'], 'Port' => $Settings['Port'], 'Address' => $Settings['Address'], 'Host' => $Settings['Address'], 'IsLogging' => $Settings['Params']['IsLogging']);
    #-----------------------------------------------------------------------------
    $Reseller = new Tag('reseller');
    $Reseller->AddChild(new Tag('login', $Settings['Login']));
    $Reseller->AddChild(new Tag('password', $Settings['Password']));
    #-----------------------------------------------------------------------------
    $Tmp = System_Element('tmp');
    if (Is_Error($Tmp)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $pCountry = isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'];
    #-----------------------------------------------------------------------------
    $Path = SPrintF('%s/started/states[%s].json', $Tmp, $pCountry);
    #-----------------------------------------------------------------------------
    if (File_Exists($Path)) {
        #---------------------------------------------------------------------------
        $States = IO_Read($Path);
        if (Is_Error($States)) {
            return ERROR | @Trigger_Error(500);
        }
        #---------------------------------------------------------------------------
        $States = JSON_Decode($States, TRUE);
        if (!$States) {
            return ERROR | @Trigger_Error(500);
        }
    } else {
        #---------------------------------------------------------------------------
        $Request = new Tag('RequestBody', $Reseller);
        #---------------------------------------------------------------------------
        $objCountry = new Tag('objCountry');
        $objCountry->AddChild(new Tag('method', 'getRegions'));
        $objCountry->AddChild(new Tag('country', $pCountry));
        #---------------------------------------------------------------------------
        $Request->AddChild($objCountry);
        #---------------------------------------------------------------------------
        $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString());
        #---------------------------------------------------------------------------
        $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml'));
        if (Is_Error($Responce)) {
            return ERROR | @Trigger_Error(500);
        }
        #---------------------------------------------------------------------------
        $Response = Trim($Responce['Body']);
        #---------------------------------------------------------------------------
        $Answer = String_XML_Parse($Response);
        if (Is_Exception($Answer)) {
            return new gException('WRONG_ANSWER', $Response, $Answer);
        }
        #---------------------------------------------------------------------------
        $States = Current($States->ToArray('item'));
        #---------------------------------------------------------------------------
        $IsWrite = IO_Write($Path, JSON_Encode($States), TRUE);
        if (Is_Error($IsWrite)) {
            return ERROR | @Trigger_Error(500);
        }
    }
    #-----------------------------------------------------------------------------
    $objUser = new Tag('objUser');
    $objUser->AddChild(new Tag('method', 'create'));
    #-----------------------------------------------------------------------------
    $objUser->AddChild(new Tag('email', $Person['Email']));
    $objUser->AddChild(new Tag('password', SubStr(Md5(UniqID()), -8)));
    #-----------------------------------------------------------------------------
    $IsRussian = In_Array(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'], array('RU', 'BY', 'UA'));
    #-----------------------------------------------------------------------------
    switch ($PepsonID) {
        case 'Natural':
            #-------------------------------------------------------------------------
            $pStateID = 0;
            #-------------------------------------------------------------------------
            $pState = $Person['pState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) {
                    #---------------------------------------------------------------------
                    $pStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $pStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$pStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState));
                #-----------------------------------------------------------------------
                return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('type', 'person'));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('fname', $Person['Name']));
                $objUser->AddChild(new Tag('lname', $Person['Lastname']));
                $objUser->AddChild(new Tag('mname', $Person['Sourname']));
                $objUser->AddChild(new Tag('doc_issued', $Person['PasportWhom']));
            } else {
                $objUser->AddChild(new Tag('fname', Translit($Person['Name'])));
                $objUser->AddChild(new Tag('lname', Translit($Person['Lastname'])));
                $objUser->AddChild(new Tag('mname', Translit($Person['Sourname'])));
                $objUser->AddChild(new Tag('doc_issued', Translit($Person['PasportWhom'])));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('p_inn', ''));
            $objUser->AddChild(new Tag('doc_serial', $Person['PasportLine']));
            $objUser->AddChild(new Tag('doc_number', $Person['PasportNum']));
            $objUser->AddChild(new Tag('doc_date', $Person['PasportDate']));
            $objUser->AddChild(new Tag('birth_date', $Person['BornDate']));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('country', StrToLower(isset($Person['PasportCountry']) ? $Person['PasportCountry'] : $Person['pCountry'])));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('zip', $Person['pIndex']));
            $objUser->AddChild(new Tag('state', $pStateID));
            $objUser->AddChild(new Tag('city_type', 'city'));
            $objUser->AddChild(new Tag('addr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('city', $Person['pCity']));
                $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
            } else {
                $objUser->AddChild(new Tag('city', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pzip', $Person['pIndex']));
            $objUser->AddChild(new Tag('pstate', $pStateID));
            $objUser->AddChild(new Tag('pcity_type', 'city'));
            $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', $Person['pCity']));
                $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
                $objUser->AddChild(new Tag('pto', $Person['pRecipient']));
            } else {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
                $objUser->AddChild(new Tag('pto', Translit($Person['pRecipient'])));
            }
            break;
        case 'Juridical':
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('type', 'organization'));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('fname', $Person['dName']));
                $objUser->AddChild(new Tag('lname', $Person['dLastname']));
                $objUser->AddChild(new Tag('mname', $Person['dSourname']));
                $objUser->AddChild(new Tag('org', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName'])));
            } else {
                $objUser->AddChild(new Tag('fname', Translit($Person['dName'])));
                $objUser->AddChild(new Tag('lname', Translit($Person['dLastname'])));
                $objUser->AddChild(new Tag('mname', Translit($Person['dSourname'])));
                $objUser->AddChild(new Tag('org', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('o_inn', $Person['Inn']));
            $objUser->AddChild(new Tag('kpp', $Person['Kpp']));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('country', StrToLower($Person['jCountry'])));
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('zip', $Person['jIndex']));
            #-------------------------------------------------------------------------
            $jStateID = 0;
            #-------------------------------------------------------------------------
            $jState = $Person['jState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($jState))) {
                    #---------------------------------------------------------------------
                    $jStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $jStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$jStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $jState));
                #-----------------------------------------------------------------------
                return new gException('JURIDICAL_REGION_NOT_FOUND', 'Область юридического адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('state', $jStateID));
            $objUser->AddChild(new Tag('city_type', 'city'));
            $objUser->AddChild(new Tag('addr_type', StrToLower($Person['jType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('city', $Person['jCity']));
                $objUser->AddChild(new Tag('addr', SPrintF('%s %s', $Person['jType'], $Person['jAddress'])));
            } else {
                $objUser->AddChild(new Tag('city', Translit($Person['jCity'])));
                $objUser->AddChild(new Tag('addr', Translit(SPrintF('%s %s', $Person['jType'], $Person['jAddress']))));
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pzip', $Person['pIndex']));
            #-------------------------------------------------------------------------
            $pStateID = 0;
            #-------------------------------------------------------------------------
            $pState = $Person['pState'];
            #-------------------------------------------------------------------------
            foreach ($States as $State) {
                #-----------------------------------------------------------------------
                if (Preg_Match(SPrintF('/%s/', StrToLower($State['title'])), StrToLower($pState))) {
                    #---------------------------------------------------------------------
                    $pStateID = $State['id'];
                    #---------------------------------------------------------------------
                    Debug(SPrintF('Найдена область: %s', $pStateID));
                    #---------------------------------------------------------------------
                    break;
                }
            }
            #-------------------------------------------------------------------------
            if (!$pStateID) {
                #-----------------------------------------------------------------------
                Debug(SPrintF('Область не найдена, проверьте название области (%s)', $pState));
                #-----------------------------------------------------------------------
                return new gException('POST_REGION_NOT_FOUND', 'Область почтового адреса не найдена');
            }
            #-------------------------------------------------------------------------
            $objUser->AddChild(new Tag('pstate', $pStateID));
            $objUser->AddChild(new Tag('pcity_type', 'city'));
            $objUser->AddChild(new Tag('paddr_type', StrToLower($Person['pType'])));
            #-------------------------------------------------------------------------
            if ($IsRussian) {
                #-----------------------------------------------------------------------
                $objUser->AddChild(new Tag('pcity', $Person['pCity']));
                $objUser->AddChild(new Tag('paddr', SPrintF('%s %s', $Person['pType'], $Person['pAddress'])));
                $objUser->AddChild(new Tag('pto', SPrintF('%s "%s"', $Person['CompanyFormFull'], $Person['CompanyName'])));
            } else {
                $objUser->AddChild(new Tag('pcity', Translit($Person['pCity'])));
                $objUser->AddChild(new Tag('paddr', Translit(SPrintF('%s %s', $Person['pType'], $Person['pAddress']))));
                $objUser->AddChild(new Tag('pto', SPrintF('%s %s', Translit($Person['CompanyName']), Translit($Person['CompanyFormFull']))));
            }
            break;
        default:
            return ERROR | @Trigger_Error(101);
    }
    #-----------------------------------------------------------------------------
    $Phone = $Person['Phone'];
    #-----------------------------------------------------------------------------
    if ($Phone) {
        #---------------------------------------------------------------------------
        $Phone = StrPBrk($Phone, ' ');
        #---------------------------------------------------------------------------
        $objUser->AddChild(new Tag('tel', Trim($Phone)));
    } else {
        $objUser->AddChild(new Tag('tel'));
    }
    #-----------------------------------------------------------------------------
    $Fax = $Person['Fax'];
    #-----------------------------------------------------------------------------
    if ($Fax) {
        #---------------------------------------------------------------------------
        $Fax = StrPBrk($Fax, ' ');
        #---------------------------------------------------------------------------
        $objUser->AddChild(new Tag('fax', Trim($Fax)));
    } else {
        $objUser->AddChild(new Tag('fax'));
    }
    #-----------------------------------------------------------------------------
    $Request = new Tag('RequestBody', $Reseller);
    #-----------------------------------------------------------------------------
    $Request->AddChild($objUser);
    #-----------------------------------------------------------------------------
    $Post = SprintF("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n%s", $Request->ToXMLString());
    #-----------------------------------------------------------------------------
    $Responce = HTTP_Send('/', $HTTP, array(), $Post, array('Content-type: text/xml; charset=utf-8'));
    if (Is_Error($Responce)) {
        return ERROR | @Trigger_Error(500);
    }
    #-----------------------------------------------------------------------------
    $Response = Trim($Responce['Body']);
    #-----------------------------------------------------------------------------
    $Answer = String_XML_Parse($Response);
    if (Is_Exception($Answer)) {
        return new gException('WRONG_ANSWER', $Response, $Answer);
    }
    #-----------------------------------------------------------------------------
    $Answer = $Answer->ToArray();
    #-----------------------------------------------------------------------------
    $Answer = $Answer['AnswerBody'];
    #-----------------------------------------------------------------------------
    if (isset($Answer['statusCode'])) {
        return new gException('REGISTRATOR_ERROR', SPrintF('[%s]=(%s)', $Answer['statusCode'], $Answer['statusMessage']));
    }
    #-----------------------------------------------------------------------------
    return array('TicketID' => $Answer['user_id']);
}
Exemplo n.º 9
0
 private function HandleResponse($File, $Data)
 {
     if ($File === 'API/SupportedAPIList.json') {
         $Data = JSON_Decode($Data, true);
         if (!isset($Data['apilist']['interfaces'])) {
             return false;
         }
         foreach ($Data['apilist']['interfaces'] as $Interface) {
             $File = __DIR__ . '/API/' . $Interface['name'] . '.json';
             $Interface = JSON_Encode($Interface, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL;
             if (!File_Exists($File) || StrCmp(File_Get_Contents($File), $Interface) !== 0) {
                 File_Put_Contents($File, $Interface);
             }
         }
         return true;
     } else {
         if ($File === 'ClientManifest/steam_client_publicbeta_osx' || $File === 'ClientManifest/steam_cmd_publicbeta_osx') {
             foreach ($this->ClientArchives as $Archive) {
                 if (Preg_Match('/"' . Str_Replace('.', '\\.', $Archive) . '\\.([a-f0-9]{40})"/m', $Data, $Test) === 1) {
                     $Test = $Test[1];
                     if (!isset($this->ETags[$Archive]) || $this->ETags[$Archive] !== $Test) {
                         $this->Log('Downloading {lightblue}' . $Archive . '{normal} - checksum: ' . $Test);
                         $this->ETags[$Archive] = $Test;
                         $this->URLsToFetch[] = array('URL' => 'https://steamcdn-a.akamaihd.net/client/' . $Archive . '.' . $Test, 'File' => '.support/' . $Archive);
                     } else {
                         $this->Log('Matched {lightblue}' . $Archive . '{normal}, but we already have it cached');
                     }
                 } else {
                     $this->Log('{yellow}Failed to find {lightblue}' . $Archive);
                 }
             }
             unset($Test);
         } else {
             if ($File === 'Random/ValveGroup.json' || $File === 'Random/SteamModerators.json') {
                 LibXML_Use_Internal_Errors(true);
                 $Data = SimpleXML_Load_String($Data);
                 if ($Data === false || empty($Data->members->steamID64)) {
                     return false;
                 }
                 $Data = Array_Values((array) $Data->members->steamID64);
                 Sort($Data);
                 $Data = JSON_Encode($Data, JSON_PRETTY_PRINT);
             } else {
                 if ($File === 'Scripts/Dota2/heropickerdata.json') {
                     $Data = JSON_Decode($Data, true);
                     $Data = JSON_Encode($Data, JSON_PRETTY_PRINT);
                 } else {
                     if ($File === 'Scripts/Dota2/heropedia.js') {
                         $Data = preg_replace('/\\?v=[0-9]+/', '?v=ayyvalve', $Data);
                     } else {
                         if (SubStr($File, 0, 13) === 'ItemSchemaURL') {
                             $Data = JSON_Decode($Data, true);
                             if (isset($Data['result']['items_game_url'])) {
                                 $this->URLsToFetch[] = array('URL' => $Data['result']['items_game_url'], 'File' => str_replace('ItemSchemaURL', 'ItemSchema', $File));
                             }
                             return true;
                         } else {
                             if (SubStr($File, -4) === '.zip') {
                                 $File = __DIR__ . '/' . $File;
                                 File_Put_Contents($File, $Data);
                                 $Archive = SubStr(StrrChr($File, '/'), 1);
                                 if (SHA1_File($File) !== $this->ETags[$Archive]) {
                                     $this->Log('{lightred}Checksum mismatch for ' . $Archive);
                                     return false;
                                 }
                                 $this->ExtractClientArchives = true;
                                 return true;
                             } else {
                                 if (SubStr($File, -5) === '.html') {
                                     if (StrrPos($Data, '</html>') === false) {
                                         return false;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $File = __DIR__ . '/' . $File;
     $Folder = dirname($File);
     if (!is_dir($Folder)) {
         $this->Log('{lightblue}Creating ' . $Folder);
         mkdir($Folder, 0755, true);
     }
     if (File_Exists($File) && StrCmp(File_Get_Contents($File), $Data) === 0) {
         return false;
     }
     File_Put_Contents($File, $Data);
     return true;
 }
Exemplo n.º 10
0
if (isset($_SESSION['SteamID'])) {
    header('Location: /');
    die;
}
if (isset($_GET['openid_identity'])) {
    $ErrorMessage = false;
    $CommunityID = SteamOpenID::ValidateLogin($ErrorMessage, SteamOpenID::GetHost());
    if ($CommunityID === false) {
        echo $ErrorMessage === false ? 'Something went horribly wrong, please try again later.' : 'OpenID error: <b>' . htmlentities($ErrorMessage) . '</b>';
        die;
    }
    $Config = json_decode(file_get_contents(__DIR__ . '/php/files/config.json'));
    $c = cURL_Init();
    cURL_SetOpt_Array($c, array(CURLOPT_USERAGENT => 'Steam Database Party OpenID Login', CURLOPT_ENCODING => 'gzip', CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => 'https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?format=json&key=' . $Config->Steam->APIKey . '&steamids=' . $CommunityID, CURLOPT_CONNECTTIMEOUT => 5, CURLOPT_TIMEOUT => 5));
    $Response = cURL_Exec($c);
    $Response = JSON_Decode($Response, true);
    cURL_Close($c);
    if (empty($Response) || !isset($Response['response']['players'][0])) {
        echo 'WebAPI failed.';
        die;
    }
    $Response = $Response['response']['players'][0];
    $_SESSION['SteamID'] = $CommunityID;
    $_SESSION['Name'] = $Response['personaname'];
    $_SESSION['Avatar'] = $Response['avatar'];
    header('Location: /');
} else {
    header('Location: ' . SteamOpenID::GenerateLoginURL('/login.php'));
}
class SteamOpenID
{
Exemplo n.º 11
0
 $Template = System_XML(SPrintF('profiles/%s.xml', $TemplateID));
 if (Is_Error($Template)) {
     return ERROR | @Trigger_Error(500);
 }
 #-------------------------------------------------------------------------------
 #-------------------------------------------------------------------------------
 if ($Simple) {
     #-------------------------------------------------------------------------------
     $Comp = Comp_Load('Form/Input', array('name' => 'Simple', 'type' => 'hidden', 'value' => $Simple));
     if (Is_Error($Comp)) {
         return ERROR | @Trigger_Error(500);
     }
     #-------------------------------------------------------------------------------
     $Form->AddChild($Comp);
     #-------------------------------------------------------------------------------
     $Simple = @JSON_Decode(Base64_Decode($Simple), TRUE);
     if (!$Simple) {
         return ERROR | @Trigger_Error(500);
     }
     #-------------------------------------------------------------------------------
 } else {
     #-------------------------------------------------------------------------------
     $Simple = array();
     #-------------------------------------------------------------------------------
 }
 #-------------------------------------------------------------------------------
 $Attribs = $Template['Attribs'];
 #-------------------------------------------------------------------------------
 $Replace = Array_ToLine($__USER, '%');
 #-------------------------------------------------------------------------------
 foreach (Array_Keys($Attribs) as $AttribID) {
Exemplo n.º 12
0
    $HostID = Next($Mathces);
}
if (Preg_Match('/^(.+)\\:[0-9]+$/', $HostID, $Mathces)) {
    $HostID = Next($Mathces);
}
Define('HOST_ID', $HostID);
Define('SYSTEM_PATH', DirName(DirName(__FILE__)));
Define('SETTINGS_FILE', SPrintF('%s/install.settings', SYSTEM_PATH));
Define('MY_CNF', SPrintF('%s/install.my.cnf', SYSTEM_PATH));
$__SETTINGS = array('db-server' => 'localhost', 'db-port' => '3306', 'db-type' => 'exists', 'db-root' => '', 'db-user' => 'jbs', 'db-password' => 'password', 'db-name' => 'jbs');
if (!isset($_GET['flush']) && File_Exists(SETTINGS_FILE)) {
    $__SETTINGS = @File_Get_Contents(SETTINGS_FILE);
    if (!$__SETTINGS) {
        Error(SPrintF('Не удалось прочитать файл конфигурации (%s)', SETTINGS_FILE));
    }
    $__SETTINGS = JSON_Decode($__SETTINGS, TRUE);
}
$__STEP_ID = isset($_POST['step-id']) ? Max(0, $_POST['step-id']) : 0;
echo <<<EOD
<HTML>
 <HEAD>
  <TITLE>Установка биллинговой системы</TITLE>
  <META http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <LINK href="/styles/root/Css/Standard.css" rel="stylesheet" type="text/css" />
  <SCRIPT type="text/javascript" src="/styles/root/Js/CheckBox.js"></SCRIPT>
  <STYLE>body {margin:10px;}</STYLE>
 </HEAD>
 <BODY>
  <TABLE class="Standard" cellspacing="5" cellpadding="0" style="max-width:600px;">
   <CAPTION>Установка биллинговой системы Joonte Billing System 2007-2015</CAPTION>
EOD;
 private function CheckSession($Data)
 {
     $Data = JSON_Decode($Data, true);
     if (JSON_Last_Error() !== JSON_ERROR_NONE || !Array_Key_Exists('Status', $Data)) {
         return false;
     }
     return $Data['Status'] === 'OK';
 }
Exemplo n.º 14
0
#-------------------------------------------------------------------------------
if (!File_Exists($Uploads)) {
    if (!@MkDir(SPrintF('%s/uploads', $Tmp), 0777, TRUE)) {
        return ERROR | @Trigger_Error(500);
    }
}
#-------------------------------------------------------------------------------
if (!Copy($Path, SPrintF('%s/%s', $Uploads, $Hash))) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$Name = $File['name'];
#-------------------------------------------------------------------------------
$NamesPath = SPrintF('%s/names.txt', $Uploads);
#-------------------------------------------------------------------------------
$Names = Is_Error($Names = IO_Read($NamesPath)) ? array() : JSON_Decode($Names, true);
#-------------------------------------------------------------------------------
$Names[$Hash] = $Name;
#-------------------------------------------------------------------------------
$IsWrite = IO_Write($NamesPath, JSON_Encode($Names), TRUE);
if (Is_Error($IsWrite)) {
    return ERROR | @Trigger_Error(500);
}
#-------------------------------------------------------------------------------
$Size = Round($File['size'] / 1024);
#-------------------------------------------------------------------------------
# вывод для JS в браузере...
if (!isset($GLOBALS['IsCron'])) {
    echo SPrintF('%s^%s^%s^', $Name, $Size, $Hash);
}
#-------------------------------------------------------------------------------