예제 #1
0
 public function testFilter()
 {
     $usersRequest = new UList();
     $filterValue = array('Snicksnk@gmail.com, "*****@*****.**');
     $usersRequest->addFilter(UList::ROW_EMAIL, $filterValue);
     $this->assertEquals(array(UList::ROW_EMAIL => $filterValue), $usersRequest->getFilters());
 }
예제 #2
0
<?php 
//Кодировка utf-8
//Конструкция use должна быть в самом начале (но после namespace)
use MaitavrApi\Api;
use MaitavrApi\Request\Users\Count;
use MaitavrApi\Request\Users\UList;
//Подключаем автолоадер, если не используется composer (нужно поправить путь к этому файлу на вашем сайте)
require_once __DIR__ . '/maitavr-api/src/Tools/CompleteAutoloader.php';
//Создаем инстанс API класса (логин, Секретный ключ)
$api = new Api('testapi', 'test12345678');
//Создаем объект запроса списка пользователей
$request = new UList(array(UList::ROW_FIRSTNAME, UList::ROW_LASTNAME, UList::ROW_COUNTRY));
$request->addFilter('emails', array('*****@*****.**', '*****@*****.**'));
//Выполняем запрос, получаем ответ в виде массива
$response = $api->request($request);
//Выводим массив с ответом
var_dump($response);
예제 #3
0
        [0] =>
        string(26) "http://test.com.ru/sidorov"
        }
        'maitavrProfile' =>
            string(32) "https://maitavr.org/user/sidorov"
            'photoUrl' =>
            string(35) "https://maitavr.org/uploads/_42.jpg"
            'site' =>
            string(10) "google.com"
            'seo' =>
            string(7) "sidorov"
        }
    }
*/
//Запрос нескольких пользователей с фильтром по email адресу
$usersRequestWithFilter = new UList();
$usersRequestWithFilter->addFilter('emails', array('*****@*****.**', '*****@*****.**'));
$responseWithEmailFilter = $api->request($usersRequestWithFilter);
var_dump($responseWithEmailFilter);
/**
    array(2) {
      [0] =>
      array(15) {
        'firstname' =>
        string(18) "Александр"
        'fathername' =>
        string(16) "Иванович"
        'lastname' =>
        string(12) "Галкин"
        'bday' =>
        string(9) "564958800"
예제 #4
0
 public function testRequestWithFilter()
 {
     $requestData = json_decode('{
     "login": "******",
     "secretKey": "key",
     "rows": [
         "firstname",
         "lastname",
         "bday",
         "country"
     ],
     "emails": [
         "*****@*****.**",
         "*****@*****.**"
     ]
     }', true);
     $responseData = json_decode('[
     {
         "firstname": "Александр",
         "lastname": "Галкин",
         "bday": "564958800",
         "country": "Украина"
     }, {
         "firstname": "Дмитрий",
         "lastname": "Образцов",
         "bday": "327186000",
         "country": "Россия"
     }]', true);
     $transportMock = $this->getMockBuilder('MaitavrApi\\Transport\\TransportInterface')->setMethods(array('performRequest'))->getMock();
     $transportMock->expects($this->once())->method('performRequest')->with($this->equalTo('https://maitavr.org/subsystem/partners/api/usersList'), $this->equalTo(json_encode($requestData)))->will($this->returnValue(json_encode($responseData)));
     $api = new Api('login', 'key');
     $api->setTransport($transportMock);
     $rowsSet = new UList(array(UList::ROW_FIRSTNAME, UList::ROW_LASTNAME, UList::ROW_BDAY, UList::ROW_COUNTRY));
     $rowsSet->addFilter(UList::FILTER_EMAIL, array("*****@*****.**", "*****@*****.**"));
     $response = $api->request($rowsSet);
     $this->assertEquals($responseData, $response);
 }