Bandwidth PHP SDK
  • Namespace
  • Class

Namespaces

  • Catapult
  • None

Classes

  • Catapult\Account
  • Catapult\AnswerCallEvent
  • Catapult\Application
  • Catapult\ApplicationCollection
  • Catapult\AudioMixin
  • Catapult\BaML
  • Catapult\BaMLAssert
  • Catapult\BaMLAttribute
  • Catapult\BaMLContainer
  • Catapult\BaMLGather
  • Catapult\BaMLGeneric
  • Catapult\BaMLHangup
  • Catapult\BaMLPlayAudio
  • Catapult\BaMLRedirect
  • Catapult\BaMLResource
  • Catapult\BaMLSendMessage
  • Catapult\BaMLSpeakSentence
  • Catapult\BaMLText
  • Catapult\BaMLTransfer
  • Catapult\BaMLVerb
  • Catapult\BaMLVerbGather
  • Catapult\BaMLVerbHangup
  • Catapult\BaMLVerbPlayAudio
  • Catapult\BaMLVerbRecord
  • Catapult\BaMLVerbRedirect
  • Catapult\BaMLVerbSendMessage
  • Catapult\BaMLVerbSpeakSentence
  • Catapult\BaMLVerbTransfer
  • Catapult\BaseResource
  • Catapult\BaseUtilities
  • Catapult\Bridge
  • Catapult\BridgeCollection
  • Catapult\Call
  • Catapult\Callback
  • Catapult\CallCollection
  • Catapult\CallCombo
  • Catapult\CallEvent
  • Catapult\CallEvents
  • Catapult\CallEventsCollection
  • Catapult\Cleaner
  • Catapult\Client
  • Catapult\ClientResource
  • Catapult\CollectionIterator
  • Catapult\CollectionObject
  • Catapult\CollectionSequence
  • Catapult\Conference
  • Catapult\ConferenceEventMixin
  • Catapult\ConferenceMember
  • Catapult\ConferenceMemberEvent
  • Catapult\ConferencePlaybackEvent
  • Catapult\Constructor
  • Catapult\Converter
  • Catapult\Credentials
  • Catapult\CredentialsUser
  • Catapult\DataPacket
  • Catapult\DataPacketCollection
  • Catapult\Date
  • Catapult\DependsObject
  • Catapult\DependsResource
  • Catapult\Domains
  • Catapult\DomainsCollection
  • Catapult\DTMF
  • Catapult\DtmfCallEvent
  • Catapult\Endpoints
  • Catapult\EndpointsCollection
  • Catapult\EndpointsCredentials
  • Catapult\EndpointsMulti
  • Catapult\EndpointsToken
  • Catapult\Ensure
  • Catapult\EnsureResource
  • Catapult\ErrorCallEvent
  • Catapult\Event
  • Catapult\EventAssert
  • Catapult\EventCollection
  • Catapult\EventResource
  • Catapult\EventType
  • Catapult\FileHandler
  • Catapult\Gather
  • Catapult\GatherCallEvent
  • Catapult\GatherCollection
  • Catapult\GenericResource
  • Catapult\HangupCallEvent
  • Catapult\Id
  • Catapult\IncomingCallEvent
  • Catapult\LoadsResource
  • Catapult\Locator
  • Catapult\Log
  • Catapult\Media
  • Catapult\MediaCollection
  • Catapult\MediaURL
  • Catapult\Message
  • Catapult\MessageCollection
  • Catapult\MessageEvent
  • Catapult\MessageMulti
  • Catapult\MetaResource
  • Catapult\Multi
  • Catapult\NumberInfo
  • Catapult\Page
  • Catapult\Parameters
  • Catapult\PathResource
  • Catapult\PhoneCombo
  • Catapult\PhoneNumber
  • Catapult\PhoneNumbers
  • Catapult\PhoneNumbersCollection
  • Catapult\PlaybackCallEvent
  • Catapult\PrototypeUtility
  • Catapult\Recording
  • Catapult\RecordingCallEvent
  • Catapult\RecordingCollection
  • Catapult\RejectCallEvent
  • Catapult\RemoveResource
  • Catapult\Resolver
  • Catapult\ResolverResource
  • Catapult\RESTClient
  • Catapult\SchemaResource
  • Catapult\Sentence
  • Catapult\SIP
  • Catapult\SIPRealm
  • Catapult\Size
  • Catapult\SpeakCallEvent
  • Catapult\StringifyResource
  • Catapult\SubfunctionObject
  • Catapult\SubFunctionResource
  • Catapult\TextMessage
  • Catapult\Timeout
  • Catapult\TimeoutCallEvent
  • Catapult\TitleUtility
  • Catapult\Transaction
  • Catapult\TransactionCollection
  • Catapult\Transcription
  • Catapult\TranscriptionCallEvent
  • Catapult\TranscriptionCollection
  • Catapult\Types
  • Catapult\URIResource
  • Catapult\UserError
  • Catapult\UserErrorCollection
  • Catapult\VerifyResource
  • Catapult\Voice
  • Catapult\XMLUtility
  • CatapultApiWarning

Interfaces

  • Catapult\API
  • Catapult\API_MODE
  • Catapult\BAML_SETTINGS
  • Catapult\BAML_VERBS
  • Catapult\BAML_XML_HANDLERS
  • Catapult\BAML_XML_METHODS
  • Catapult\BAML_XML_OPTIONS
  • Catapult\CALL_ERROR
  • Catapult\CALL_STATES
  • Catapult\CONFERENCE_MEMBER_STATES
  • Catapult\CONFERENCE_SPEAK_STATES
  • Catapult\CONFERENCE_STATES
  • Catapult\DEFAULTS
  • Catapult\EXCEPTIONS
  • Catapult\GATHER_REASONS
  • Catapult\GATHER_STATES
  • Catapult\MESSAGE_DIRECTIONS
  • Catapult\MESSAGE_STATES
  • Catapult\NUMBER_STATES
  • Catapult\PATHS
  • Catapult\PLAYBACK_STATES
  • Catapult\RECORDING_STATES
  • Catapult\RECORDING_STATUSES
  • Catapult\SPEAK_STATES
  • Catapult\TRANSCRIPTION_STATES
  • Catapult\WARNINGS

Exceptions

  • CatapultApiException

Functions

  • includeDir
  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 
<?php
namespace Catapult;

/**
 * EnsureResource called before dispatching of 
 * datapackets. Make sure all parameters
 * are of correct type. where types can be: 
 *
 * @object Parameter, 
 * @object DataPacket
 * @object BaML input
 * @object polymorphic func_get_args
 * 
 * associative array
 * 
 */
class EnsureResource extends BaseResource {
    /**
     * Verify the input is of the correct
     * type. Additionally delegate to Collection if needed
     *
     * @param data: EnsureInput as listed above
     */
    public static function Input($data)
    {

      /** handle a multiple ensure **/
     
      $args = func_get_args();
      if (count($args) > 1) {
          return EnsureResource::InputTwo($args); 
      }

      if ($data instanceof DataPacket || $data instanceof DataPacketCollection)
          return $data;
      /** empty if not set **/
      if (!isset($data) || $data == null)
          return new DataPacket(array());

      if ($data instanceof Parameters)
          return new DataPacket($data->data);

      if (isset($data[0]) && $data[0] instanceof Parameters)
          return new DataPacket($data[0]->data);

      if ($data instanceof CollectionObject || is_string($data) ||
          $data instanceof BaML || $data instanceof BaMLAttribute || $data instanceof BaMLVerb)
      return new DataPacket($data);

      if (isset($data[0]) && isset($data[1]) && !is_array($data[0]) && is_array($data[1])) 
         return new DataPacket(array_merge(array($data[0]), $data[1]));

      if (isset($data[0]) && is_array($data) && BaseUtilities::is_multidimensional($data) && is_array($data[0]) && sizeof($data) == 1)
        return new DataPacket($data[0]);

      if (!(is_array($data) || $data instanceof \stdClass))
        Throw new \CatapultApiException(EXCEPTIONS::WRONG_PARAMETERS);

      if (!($data instanceof DataPacket && is_multidimensional($data)))
        return new DataPacket($data);

      if (!($data instanceof DataPacketCollection))
        return new DataPacketCollection($data);
    }

    /**
     * Output version same thing should verify
     * if its a DataPacket before sending back
     *
     * @param $data -> [array | multidimensional array]
     */
    public static function Output($data)
    {
      return Input($data);
    }

   /**
    * If a parameter is not found in the set
    * throw error. Example:
    *
    * Ensure::Strict($this, "id")
    * @param $data -> set of schema data
    * @param $key -> key that 'NEEDS' to exist
    */
    public static function Strict(&$data, $key)
    {
      if ($data instanceof DataPacket)
        $data = $data->get();

      if (!(in_array($key, array_keys($data))))
        Throw New \CatapultApiException("You must add $key to call this function");
    }

    /**
     * handles a two arity
     * where the split becomes
     *
     * [0] => array 1
     * [1] => array 2
     *
     * Input should not be insured yet..
     */
    public static function InputTwo($args) 
    {
      $one = Ensure::Input($args[0]);
      $two = Ensure::Input($args[1]);

      return array(
        0 => $one,
        1 => $two
      );
    }
}

final class Ensure extends EnsureResource {}
Bandwidth PHP SDK API documentation generated by ApiGen