/** * Checks the result of the last request and returns {$value} * Can also perform logout on request * * @param mixed $value Return value * @param bool $isLogout Should logout be performed or not * * @return mixed * * @protected */ protected function _checkResult($value, $isLogout = false) { $result = $this->odr->getResult(); if ($isLogout) { $this->_checkLogout($isLogout); } if (!empty($result['response']['status']) && $result['response']['status'] === 'FAILED') { return $this->parseError(empty($result['response']['data']['message']) ? 'Incorrectly formatted response' : $result['response']['data']['message']); } if ($result['status'] === Api_Odr::STATUS_SUCCESS) { return $value; } if (empty($result['response']['data']) || !is_array($result['response']['data'])) { return $this->parseError($result['response']['message']); } $error = array(); foreach ($result['response']['data'] as $fField => $fErr) { $error[] = '[' . $fField . '] ' . $fErr; } $result['response']['message'] .= ': ' . implode(', ', $error); return $this->parseError($result['response']['message']); }
<?php // Require ODR API demo class require_once '../Api/Odr.php'; // Configuration array, with user API Keys $config = array('api_key' => '#API_KEY#', 'api_secret' => '#API_SECRET#'); // We assume that user already sent all the data to us through request $data = $_REQUEST; // Create new instance of API demo class $demo = new Api_Odr($config); // Login into API $demo->login(); $loginResult = $demo->getResult(); if ($loginResult['status'] === 'error') { echo 'Can\'t login, reason - ' . $loginResult['response']; exit(1); } // Create new contact, by passing request data $demo->createContact($data); // Get result of request $result = $demo->getResult(); if ($result['status'] !== 'success') { echo 'Following error occured: ' . $result['response']; exit(1); } $result = $result['response']; // Contact successfully created, yay! echo 'Contact "' . $result['contact_first_name'] . ' ' . $result['contact_last_name'] . '" created';
<?php // Require ODR API demo class require_once '../Api/Odr.php'; // Configuration array, with user API Keys $config = array('api_key' => '#API_KEY#', 'api_secret' => '#API_SECRET#'); // Create new instance of API demo class $demo = new Api_Odr($config); // Login into API $demo->login(); $loginResult = $demo->getResult(); if ($loginResult['status'] === Api_Odr::STATUS_ERROR) { echo 'Can\'t login, reason - ' . $loginResult['response']; exit(1); } if (empty($_REQUEST['__sent'])) { $demo->info('/domain/test.eu/', Api_Odr::METHOD_POST); $info = $demo->getResult(); $form = '<form action="" method="post">'; foreach ($info['response']['fields'] as $name => $field) { $form .= '<div style="margin-bottom: 10px;">' . fieldToHtml($name, $field) . '</div>'; } $form .= '<button type="submit" name="__sent">Submit generated form</button>'; $form .= '</form>'; echo $form; } else { // Submit the data, it's located in the $_POST variable } /** * Converts info response to HTML input * Notice! This is a bare-bone function, it doesn't wrap generated input or display help or anything