<?
const COMMUNITY_URL = "";
const API_KEY = "";
// POST ЗАПРОСЫ
function updateUserPrimaryGroup($user_id, $group_id) // $user_id - ID пользователя на форуме. $group_id - ID группы на форуме.
{
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    $postData = [
        'group' => $group_id
    ];
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
            CURLOPT_POSTFIELDS => http_build_query($postData)
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
function clearSecondaryGroups($user_id) // $user_id - ID пользователя на форуме.
{
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    $postData = [
        'secondaryGroups' => ''
    ];
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
            CURLOPT_POSTFIELDS => http_build_query($postData)
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
function updatePrimaryGroups($user_id, $groupsArray) // $user_id - ID пользователя на форуме, $groupsArray = массив с ID групп, которые необходимо присвоить пользователью. Ex: $groupsArray = [n,n, ...]
{
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    $postData = [
        'secondaryGroups' => $groupsArray
    ];
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
            CURLOPT_POSTFIELDS => http_build_query($postData)
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
function setUserName($user_id, $name) // Установка имени пользователя
{
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    $postData = [
        'name' => $name
    ];
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
            CURLOPT_POSTFIELDS => http_build_query($postData)
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
function updateCustomFileds($user_id, $fields) // $fields = array(fieldId => fieldValue)
{
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    $postData = [
        'customFields' => $fields
    ];
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
            CURLOPT_POSTFIELDS => http_build_query($postData)
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
// POST ЗАПРОСЫ
// GET ЗАПРОСЫ
function getUserInfoById($user_id) { // Получение инфы о юзере (Ответ в формате JSON)
    $apiKey = API_KEY;
    $endpoint = "/?core/members/{$user_id}";
    $curl = curl_init(COMMUNITY_URL . 'api' . $endpoint);
    curl_setopt_array(
        $curl,
        array(
            CURLOPT_RETURNTRANSFER => TRUE,
            CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
            CURLOPT_USERPWD => "{$apiKey}:",
        )
    );
    $response = json_decode(curl_exec($curl), true);
}
?>