Esempio n. 1
0
// Is auth
if (isset($_COOKIE['yaAccessToken']) && isset($_COOKIE['yaClientId'])) {
    $dataSync = new DataSyncClient($_COOKIE['yaAccessToken']);
    $context = DataSyncClient::CONTEXT_USER;
    //Устанавливаем Контекст базы данных (app или user)
    $dataSync->setContext($context);
    try {
        if (isset($_REQUEST['action'])) {
            if ($_REQUEST['action'] === 'createDb' && isset($_REQUEST['databaseId']) && $_REQUEST['databaseId']) {
                //Создание базы данных
                //@see https://tech.yandex.ru/datasync/http/doc/tasks/add-database-docpage/
                $dataSync->createDatabase($_REQUEST['databaseId']);
            } elseif ($_REQUEST['action'] === 'deleteDb' && isset($_REQUEST['databaseId']) && $_REQUEST['databaseId']) {
                //Удаление базы данных
                //@see https://tech.yandex.ru/datasync/http/doc/tasks/delete-database-docpage/
                $dataSync->deleteDatabase($_REQUEST['databaseId']);
            }
        }
        //Получение ответа со списком баз данных
        //@see https://tech.yandex.ru/datasync/http/doc/tasks/get-databases-docpage/
        $databasesResponse = $dataSync->getDatabases();
        //Баз данных
        $databases = $databasesResponse->getItems()->getAll();
    } catch (ForbiddenException $ex) {
        $errorMessage = $ex->getMessage();
        $errorMessage .= '<p>Возможно, у приложения нет прав на доступ к ресурсу. Попробуйте ' . '<a href="' . rtrim(str_replace($_SERVER['DOCUMENT_ROOT'], '', __DIR__), "/") . "/../OAuth/" . '">авторизироваться</a> и повторить.</p>';
    } catch (Exception $ex) {
        $errorMessage = $ex->getMessage();
    }
}
?>