PHP code example of lan / ebs-sdk

1. Go to this page and download the library: Download lan/ebs-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

lan / ebs-sdk example snippets


$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new \Lan\Ebs\Sdk\Client($token); // инициализация клиента

$security = new \Lan\Ebs\Sdk\Security($client);

try {
    echo '<a class="lan-ebs-autologin" href="' . $security->getAutologinUrl($uid, $fio, $email, $redirect) .  '">ЭБС Лань</a>';
} catch (\Exception $e) {
    echo '<span class="lan-ebs-autologin">Сгенерировать ссылку для автологина в ЭБС Лань не удалось (' . $e->getMessage() . ')</span>';
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных 

$fields = [Book::FIELD_NAME, Book::FIELD_AUTHORS, Book::FIELD_ISBN, Book::FIELD_YEAR, Book::FIELD_PUBLISHER, Book::FIELD_LANG]; // поля для выборки

/**
 * Доступные поля:
 *      Book::FIELD_NAME = 'name' - Наименование книги
 *      Book::FIELD_DESCRIPTION = 'description' - Описание книги
 *      Book::FIELD_ISBN = 'isbn' - ISBN книги
 *      Book::FIELD_YEAR = 'year' - Год издания книги
 *      Book::FIELD_EDITION = 'edition' - Издание
 *      Book::FIELD_PAGES = 'pages' - Объем книги
 *      Book::FIELD_SPECIAL_MARKS = 'specialMarks' - Специальные отметки
 *      Book::FIELD_CLASSIFICATION = 'classification' - Гриф
 *      Book::FIELD_AUTHORS = 'authors' - Авторы
 *      Book::FIELD_AUTHOR_ADDITIONS = 'authorAdditions' - Дополнительные авторы
 *      Book::FIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 *      Book::FIELD_PUBLISHER = 'publisher' - Издательство
 *      Book::FIELD_LANG = 'lang' - Язык
 *      Book::FIELD_URL = 'url' - Ссылка на карточку книги
 *      Book::FIELD_THUMB = 'thumb' - Ссылка на обложку книги
 */

$bookCollection = new BookCollection($client, $fields, $limit, $offset); // коллекция моделей книг

/** @var Book $book */
foreach ($bookCollection as $book) {
      echo $book->name;
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Book::FIELD_NAME, Book::FIELD_AUTHORS, Book::FIELD_ISBN, Book::FIELD_YEAR, Book::FIELD_PUBLISHER, Book::FIELD_LANG]; // поля для выборки

/**
 * Доступные поля:
 *      Book::FIELD_NAME = 'name' - Наименование книги
 *      Book::FIELD_DESCRIPTION = 'description' - Описание книги
 *      Book::FIELD_ISBN = 'isbn' - ISBN книги
 *      Book::FIELD_YEAR = 'year' - Год издания книги
 *      Book::FIELD_EDITION = 'edition' - Издание
 *      Book::FIELD_PAGES = 'pages' - Объем книги
 *      Book::FIELD_SPECIAL_MARKS = 'specialMarks' - Специальные отметки
 *      Book::FIELD_CLASSIFICATION = 'classification' - Гриф
 *      Book::FIELD_AUTHORS = 'authors' - Авторы
 *      Book::FIELD_AUTHOR_ADDITIONS = 'authorAdditions' - Дополнительные авторы
 *      Book::FIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 *      Book::FIELD_PUBLISHER = 'publisher' - Издательство
 *      Book::FIELD_LANG = 'lang' - Язык
 *      Book::FIELD_URL = 'url' - Ссылка на карточку книги
 *      Book::FIELD_THUMB = 'thumb' - Ссылка на обложку книги
 */

$book = new Book($client, $fields);
$metaDataBook = $book->get($bookId);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных 

$fields = [Journal::FIELD_NAME, Journal::FIELD_ISSN, Journal::FIELD_PUBLISHER]; // поля для выборки

/**
 * Доступные поля:
 *      Journal::FIELD_NAME = 'name' - Наименование журнала
 *      Journal::FIELD_DESCRIPTION = 'description' - Описание журнала
 *      Journal::FIELD_ISSN = 'issn' - ISSN журнала
 *      Journal::FIELD_EISSN = 'eissn' - EISSN журнала
 *      Journal::FIELD_VAC = 'vac' - Входит в перечень ВАК
 *      Journal::FIELD_YEAR = 'year' - Год основания
 *      Journal::FIELD_ISSUES_PER_YEAR = 'issuesPerYear' - Выпусков в год
 *      Journal::FIELD_EDITORS = 'editors' - Редакторы
 *      Journal::FIELD_PUBLISHER = 'publisher' -  Издательство
 *      Journal::FIELD_URL = 'url' - Ссылка на карточку журнала
 */

$journalCollection = new JournalCollection($client, $fields, $limit, $offset); // коллекция моделей журналов

/** @var Journal $journal */
foreach ($journalCollection as $journal) {
      echo $journal->name;
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Journal::FIELD_NAME, Journal::FIELD_ISSN, Journal::FIELD_PUBLISHER]; // поля для выборки

/**
 * Доступные поля:
 *      Journal::FIELD_NAME = 'name' - Наименование журнала
 *      Journal::FIELD_DESCRIPTION = 'description' - Описание журнала
 *      Journal::FIELD_ISSN = 'issn' - ISSN журнала
 *      Journal::FIELD_EISSN = 'eissn' - EISSN журнала
 *      Journal::FIELD_VAC = 'vac' - Входит в перечень ВАК
 *      Journal::FIELD_YEAR = 'year' - Год основания
 *      Journal::FIELD_ISSUES_PER_YEAR = 'issuesPerYear' - Выпусков в год
 *      Journal::FIELD_EDITORS = 'editors' - Редакторы
 *      Journal::FIELD_PUBLISHER = 'publisher' -  Издательство
 *      Journal::FIELD_URL = 'url' - Ссылка на карточку журнала
 */

$journal = new Journal($client, $fields);
$metaDataJournal = $journal->get($journalId);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных 

$fields = [Issue::FIELD_NAME, Issue::FIELD_YEAR]; // поля для выборки

/**
 * Доступные поля:
 *      Issue::FIELD_NAME = 'name' - Номер выпуска
 *      Issue::FIELD_YEAR = 'year' - Год выпуска
 *      Issue::FIELD_URL = 'url' - Ссылка на карточку выпуска
 *      Issue::FIELD_THUMB = 'thumb' - Ссылка на обложку выпуска
 */

$issueCollection = new IssueCollection($client, $fields, $limit, $offset); // коллекция моделей выпусков

/** @var Issue $issue */
foreach ($issueCollection as $issue) {
      echo $issue->name;
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Issue::FIELD_NAME, Issue::FIELD_YEAR]; // поля для выборки

/**
 * Доступные поля:
 *      Issue::FIELD_NAME = 'name' - Номер выпуска
 *      Issue::FIELD_YEAR = 'year' - Год выпуска
 *      Issue::FIELD_URL = 'url' - Ссылка на карточку выпуска
 *      Issue::FIELD_THUMB = 'thumb' - Ссылка на обложку выпуска
 */

$issue = new Issue($client, $fields);
$metaDataIssue = $issue->get($issueId);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных 

$fields = [Article::FIELD_NAME, Article::FIELD_AUTHORS]; // поля для выборки

/**
 * Доступные поля:
 *      Article::FIELD_NAME = 'name' - Наименование статьи
 *      Article::FIELD_AUTHORS = 'authors' - Авторы статьи
 *      Article::FIELD_DESCRIPTION = 'description' - Аннотация статьи
 *      Article::FIELD_KEYWORDS = 'keywords' - Ключевые слова статьи
 *      Article::START_PAGE = 'startPage' - Страница начала статьи
 *      Article::FINISH_PAGE = 'finishPage' - Страница окончания статьи
 *      Article::FFIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 */

$articleCollection = new ArticleCollection($client, $fields, $limit, $offset); // коллекция моделей статей

/** @var Article $article */
foreach ($articleCollection as $article) {
      $article->name;
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [Article::FIELD_NAME, Article::FIELD_AUTHORS]; // поля для выборки

/**
 * Доступные поля:
 *      Article::FIELD_NAME = 'name' - Наименование статьи
 *      Article::FIELD_AUTHORS = 'authors' - Авторы статьи
 *      Article::FIELD_DESCRIPTION = 'description' - Аннотация статьи
 *      Article::FIELD_KEYWORDS = 'keywords' - Ключевые слова статьи
 *      Article::START_PAGE = 'startPage' - Страница начала статьи
 *      Article::FINISH_PAGE = 'finishPage' - Страница окончания статьи
 *      Article::FFIELD_BIBLIOGRAPHIC_RECORD = 'bibliographicRecord' - Библиографическая запись
 */

$article = new Article($client, $fields);
$metaDataArticle = $article->get($articleId);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$limit = 5; // Ограничение на выборку данных (максимально 1000)
$offset = 0; // Смещение выборки данных 

$fields = [User::FIELD_LOGIN, User::FIELD_EMAIL, User::FIELD_FIO];

/**
 * Доступные поля:
 *      User::FIELD_LOGIN = 'login' - Логин пользователя
 *      User::FIELD_FIO = 'fio' - ФИО пользователя
 *      User::FIELD_EMAIL = 'email' - Email пользователя
 *      User::FIELD_REGISTERED = 'registeredAt' - Дата и время регистрации
 */

$userCollection = new UserCollection($client, $fields, $limit, $offset); // коллекция моделей пользователей

/** @var User $user Модель пользователя */
foreach ($userCollection as $user) {
   echo $user->fio; // вывод ФИО пользователя 
}

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$fields = [User::FIELD_LOGIN, User::FIELD_EMAIL, User::FIELD_FIO];

/**
* Доступные поля:
*      User::FIELD_LOGIN = 'login' - Логин пользователя
*      User::FIELD_FIO = 'fio' - ФИО пользователя
*      User::FIELD_EMAIL = 'email' - Email пользователя
*      User::FIELD_REGISTERED = 'registeredAt' - Дата и время регистрации
*/

$user = new User($client, $fields); // Модель пользователя
$user = $user->get($testUserPk); // Метаданные пользователя

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->post([
 'login' => 'new_user_login',
 'password' => 'new_user_password',
 'fio' => 'new_user_fio'
]);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->setId($testUserPk);
$user->put([
 'fio' => 'user_new_fio',
 'password' => 'user_new_password',
]);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$user = new User($client);
$user->setId($testUserPk);
$user->delete();

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$userVisitStatistics = $report->getUsersVisitsStatistics($groupBy, '2017-10-01', '2017-11-01');

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$bookViewsStatistics = $report->getBooksViewsStatistics($groupBy, '2017-10-01', '2017-11-01');

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$groupBy = Report::GROUP_BY_MONTH; // Группировка

/**
 * Доступные поля:
 *      Report::GROUP_BY_DAY = 'day' - По дням
 *      Report::GROUP_BY_MONTH = 'month' - По месяцам
 *      Report::GROUP_BY_YEAR = 'year' - По годам
 */

$report = new Report($client);
$journalViewsStatistics = $report->getJournalsViewsStatistics($groupBy, '2017-10-01', '2017-11-01');

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new Report($client);
$availablePacketsStatistics = $report->getAvailablePackets();

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$packetId = 720773; // Идентификатор пакета

$report = new Report($client);
$availableBooksStatistics = $report->getAvailableBooks($packetId);

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new Report($client);
$availableJournalsStatistics = $report->getAvailableJournals();

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$bibFond = $report->getBibFond();

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$ebooks = $report->getEBooks();

$token = '7c0c2193d27108a509abd8ea84a8750c82b3a520'; // токен для тестового подписчика
$client = new Client($token); // инициализация клиента

$report = new ReportForm($client);
$specPo = $report->getSpecPo();