PHP knihovna pro připojení do Skautisu
Před používáním knihovny je potřeba knihovnu nainstalovat do webové aplikace. K dispozici jsou dva způsoby
Stáhnout zdrojové kódy a pomocí include
/require
vložit do webové aplikace.
Composer je balíčkovací systém usnadňující práci s knihovnami, Detailnější informace najdete na http://getcomposer.org/doc
- stáhněte composer z http://getcomposer.com
- pomocí konzole spusťte příkaz
composer require skautis/skautis:1.2.*
- pomocí konzole nainstalujte závislosti
composer install
Před prvním dotazem na SkautIS musíme nastavit Application_ID jedinečné pro naši aplikaci. Jako druhý argument můžeme uvést jestli aplikace běží v testovacím režimu. Výchozí nastavení je TRUE.
<?php
$skautis = SkautIS::getInstance("moje-application-id", $isTestMode = TRUE);
nebo
<?php
$skautis = SkautIS::getInstance();
$skautis->setAppId("moje-application-id");
$skautis->setTestMode(FALSE);
nebo
<?php
define("SkautIS_ID_Application", "moje-application-id");
$skautis = SkautIS::getInstance();
nebo
Pro připojení do Nette, stačí zaregistrovat rozšíření(extension) v konfiguračním souboru a nastavit ho.
extensions:
skautis: SkautIS\Nette\SkautisExtension22 # yourNameOfExtension : SkautIS\Nette\SkautisExtension22
skautis:
applicationId : abcd-...-abcd #ID_Aplication assigned by skautis administrator
testMode : true #using http://test-is.skaut.cz/
profiler: true
Ukázkový konfigurační soubor najdete v adresáři repozitáže src/SkautIS/Nette/config.sample.neon.
Po registraci rozšíření se v testovacím modu Nette automaticky aktivuje skautis panel, který sleduje všechny dotazy na skautis.
<?php
echo '<a href="'.$skautis->getLoginUrl();.'"> Prihlasit se</a>'; //Vypise odkaz pro prihlaseni do skautisu
Po úspěšném přihlášení jsme přesměrováni na předem nastavenou adresu (viz. nápověda) a pošle nám údaje přes $_POST (ID_Login, ID_Role, ID_Unit). Ty nastavíme knihovně, která si je zapamatuje.
<?php
$skautis->setToken($_POST['skautIS_Token']);
$skautis->setRoleId($_POST['skautIS_IDRole']);
$skautis->setUnitId($_POST['skautIS_IDUnit']);
nebo
<?php
$skautis->setLoginData($_POST['skautIS_Token'], $_POST['skautIS_IDRole'], $_POST['skautIS_IDUnit']);
<?php
$data = $skautis->webova_sluzba->funkce(array("nazev_atributu"=>"hodnota_atributu", ...));
nebo při použití extension pro Nette
$this->context->skautis->webova_sluzba->funkce(array("nazev_atributu"=>"hodnota_atributu", ...));
Pro přístup k webové službě skautisu můžeme použít její plný název nebo alias.
Již předdefinované aliasy:
- usr => user => UserManagement
- org => OrganizationUnit
- app => ApplicationManagement
- event => events => Events
- tel => Telephony
Argumenty zadáváme v asociativním poli "nazev_atributu"=>"hodnota_atributu". Pokud je atribut ID_Login nastaven, je automaticky přidán ke všem požadavkům.
<?php
$data = $skautis->user->UserDetail(array("ID"=>1940)); //1940 je ID uzivatele okres blansko