Skip to content

Commit

Permalink
Merge branch 'master' of github.com:userbase-project/userbase-client-php
Browse files Browse the repository at this point in the history
  • Loading branch information
joostfaassen committed May 20, 2016
2 parents fe46d39 + f7f8a29 commit 70d3a35
Show file tree
Hide file tree
Showing 9 changed files with 167 additions and 13 deletions.
12 changes: 12 additions & 0 deletions examples/account_add.php
@@ -0,0 +1,12 @@
<?php
require_once('common.php');

try {
$accountName = ''; //account name
$accountType = ''; // username

$acount = $client->createAccount($accountName, $accountType);
print_r($acount);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
13 changes: 13 additions & 0 deletions examples/account_addevent.php
@@ -0,0 +1,13 @@
<?php
require_once('common.php');

try {
$accountName = ''; //account name
$eventName = ''; // eventname
$data = ''; // pass as query string x=y&hello=world

$users = $client->addEvent($accountName, $eventName, $data);
print_r($users);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
14 changes: 14 additions & 0 deletions examples/account_adduser.php
@@ -0,0 +1,14 @@
<?php

require_once('common.php');

try {
$accountName = ''; //account name
$userName = ''; // username
$isAdmin = 'false'; // ture/false

$users = $client->addAccountUser($accountName, $userName, $isAdmin);
print_r($users);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
20 changes: 20 additions & 0 deletions examples/account_notification.php
@@ -0,0 +1,20 @@
<?php
require_once('common.php');

try {
$accountName = ''; //account name

// all data are required //
$jsonData = json_encode([
"notificationType" => "",
"sourceAccountName" => "",
"subject" => "",
"body" => "",
"link" => ""
]);

$users = $client->createNotification($accountName, $jsonData);
print_r($users);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
16 changes: 16 additions & 0 deletions examples/account_notification_get.php
@@ -0,0 +1,16 @@
<?php
require_once('common.php');

try {
$accountName = ''; //account name

$jsonData = json_encode([
"notificationType" => "",
"status" => "",
]);

$users = $client->getNotifications($accountName, $jsonData);
print_r($users);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
14 changes: 14 additions & 0 deletions examples/account_property.php
@@ -0,0 +1,14 @@
<?php

require_once('common.php');

try {
$accountName = 'Maruti';
$propertyName = 'suv';
$propertyValue = 'x cross';

$users = $client->setAccountProperty($accountName, $propertyName, $propertyValue);
print_r($users);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
15 changes: 15 additions & 0 deletions examples/account_update.php
@@ -0,0 +1,15 @@
<?php
require_once('common.php');

try {
$accountName = ''; //account name
$displayName = '';
$email = '';
$mobile = '';
$about = '';

$acount = $client->updateAccount($accountName, $displayName, $email, $mobile, $about);
print_r($acount);
} catch (Exception $e) {
echo "Exception " . $e->getMessage() . "\n";
}
2 changes: 1 addition & 1 deletion examples/common.php
@@ -1,6 +1,6 @@
<?php

require_once (__DIR__ . '/../vendor/autoload.php');
require_once(__DIR__ . '/../vendor/autoload.php');

use UserBase\Client\Client;

Expand Down
74 changes: 62 additions & 12 deletions src/Client.php
Expand Up @@ -38,17 +38,17 @@ private function getStatusCode($ch)
$info = curl_getinfo($ch);
return (int)$info['http_code'];
}

public function getBaseUrl()
{
return $this->baseUrl;
}

public function getPartition()
{
return $this->partition;
}

public function getUsername()
{
return $this->username;
Expand All @@ -64,7 +64,7 @@ public function getUsersWithDetails()
}
return $users;
}

protected function itemToUser($data)
{
$user = new User($data['username']);
Expand Down Expand Up @@ -101,7 +101,7 @@ protected function itemToUser($data)
}
return $user;
}

protected function itemToAccount($data)
{
$account = new Account($data['name']);
Expand Down Expand Up @@ -145,25 +145,25 @@ protected function itemToAccount($data)

return $account;
}

public function getUserByUsername($username)
{

$data = $this->getData('/users/' . $username);
if (isset($data['error'])) {
throw new RuntimeException('User not found: ' . $username);
}
$user = $this->itemToUser($data);
return $user;
}

public function getAccountByName($name)
{
$data = $this->getData('/accounts/' . $name);
$account = $this->itemToAccount($data);
return $account;
}

public function getAccountsWithDetails()
{
$data = $this->getData('/accounts?details');
Expand All @@ -175,14 +175,19 @@ public function getAccountsWithDetails()
return $users;
}

public function getData($uri)
public function getData($uri, $jsonData = null)
{

$url = $this->baseUrl . $uri;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ":" . $this->password);

if ($jsonData) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
}

$json = curl_exec($ch);
$info = curl_getinfo($ch);
$code = $this->getStatusCode($ch);
Expand All @@ -194,7 +199,7 @@ public function getData($uri)

return $data;
}

public function checkCredentials($username, $password)
{
try {
Expand All @@ -206,4 +211,49 @@ public function checkCredentials($username, $password)
$valid = $encoder->isPasswordValid($user->getPassword(), $password, $user->getSalt());
return $valid;
}

public function setAccountProperty($accountName, $propertyName, $propertyValue)
{
$data = $this->getData('/accounts/'.$accountName.'/setProperty/'.$propertyName.'/'.$propertyValue);
return $data;
}

public function addAccountUser($accountName, $userName, $isAdmin)
{
$data = $this->getData('/accounts/'.$accountName.'/addUser/'.$userName.'/'.$isAdmin);
return $data;
}

public function addEvent($accountName, $eventName, $data)
{
$data = $this->getData('/accounts/'.$accountName.'/addEvent/'.urlencode($eventName).'?'.$data);
return $data;

}

public function createAccount($accountName, $accountType)
{
$data = $this->getData('/accounts/create/'.urlencode($accountName).'/'.urlencode($accountType));
return $data;
}

public function updateAccount($accountName, $displayName, $email, $mobile, $about)
{
//die('/accounts/'.$accountName.'/update/'.$displayName.'/'.$email.'/'.$mobile.'/'.$about);
$data = $this->getData('/accounts/'.$accountName.'/update/'.
urlencode($displayName).'/'.urlencode($email).'/'.urlencode($mobile).'/'.urlencode($about));
return $data;
}

public function createNotification($accountName, $jsonData = null)
{
$data = $this->getData('/accounts/'.$accountName.'/notifications/add', $jsonData);
return $data;
}

public function getNotifications($accountName, $jsonData)
{
$data = $this->getData('/accounts/'.$accountName.'/notifications', $jsonData);
return $data;
}
}

0 comments on commit 70d3a35

Please sign in to comment.