/** * Create a request */ public function request(array $data) { // Create request $request = Loader::request($this->config, $data); // Return response return Loader::response($this->getHttp()->post($this->getRequestUrl(), (string) $request)->json)->attach('request', $request); }
/** * Handle message */ public function message($callback) { // If there's a message if ($this->hasMessage()) { // Execute callback passing the message $this->success = Utilities::executeCallback($callback, [$this->message, Loader::sender($this->config)]); } // Return self return $this; }
/** * Constructor */ function __construct($number) { // Parse mobile number $mobileNumber = Utilities::parseMobileNumber($number); // If country code is 0 if ($mobileNumber['countryCode'] == $this->getLocalCode() || empty($mobileNumber['countryCode'])) { // Use default $mobileNumber['countryCode'] = $this->getDefaultCountryCode(); } // If country code is invalid if (!in_array($mobileNumber['countryCode'], $this->getSupportedCountryCodes())) { // Throw error throw new UnknownCountry('Unknown country code: ' . $mobileNumber['countryCode']); } // Set country $this->country = Loader::country($mobileNumber['countryCode']); // Set carrier $this->carrier = Loader::carrier($mobileNumber['carrierCode']); // Set number $this->number = $mobileNumber['number']; }
/** * Cost */ protected function setCostAttribute($value) { // Return cost return $value instanceof Cost ? $value : Loader::cost($value); }
/** * Create message */ protected function createMessage($message) { // If instance of message if ($message instanceof Message) { // Return immediately return $message; } elseif (is_array($message)) { // If there's message instance in message if (isset($message['message']) && $message['message'] instanceof Message) { // Get message and set attributes return $message['message']->setAttributes(Utilities::arrayExcept(['message'], $message)); } } // Return return Loader::message($message); }
/** * Fix cost by mobile or carrier * @param int|string|Mobile|Carrier $mobileOrCarrier Can be mobile number or instance of Mobile or Carrier */ public function fix($mobileOrCarrier) { // If instance of carrier if ($mobileOrCarrier instanceof Carrier) { // Use $this->carrier = $mobileOrCarrier; } elseif ($mobileOrCarrier instanceof Mobile) { // Get carrier $this->carrier = $mobileOrCarrier->carrier; } else { // Get carrier $this->carrier = Loader::mobile($mobileOrCarrier)->carrier; } // Adjust and return return $this->adjust(); }