function create() { $countryIso = \Yoda\Request::getString('country_iso'); $customer_id = \Yoda\Request::getInt('customer_id'); $city_id = \Yoda\Request::getInt('city_id'); $period = \Yoda\Request::getInt('period'); $autorenew = \Yoda\Request::getBool('autorenew'); $pbxwwForm = \Yoda\Request::getInt('pbxww_form'); $prepaid_funds = \Yoda\Request::getFloat('prepaid_funds'); $order = new Didww\API2\Order(); $order->setCustomerId($customer_id); $order->setCountryIso($countryIso); $order->setPeriod($period); if ($pbxwwForm) { $mapping = new Didww\API2\Mapping\PBXww(); } else { $map_type = \Yoda\Request::getString('map_type'); $map_proto = \Yoda\Request::getString('map_proto'); $host = \Yoda\Request::getString('host'); $map_details = \Yoda\Request::getString('map_details'); switch ($map_type) { case 'gtalk': $mapping = new Didww\API2\Mapping\Gtalk($map_details); break; case 'pstn': $mapping = new Didww\API2\Mapping\PSTN($map_details); break; case 'voip': switch ($map_proto) { case 'sip': $mapping = new Didww\API2\Mapping\SIP($host, $map_details); break; case 'h323': $mapping = new Didww\API2\Mapping\H323($host, $map_details); break; case 'iax': $mapping = new Didww\API2\Mapping\IAX($host, $map_details); break; default: } break; case 'pbxww': $mapping = new Didww\API2\Mapping\PBXww(); break; default: break; } } $order->setMapData($mapping); $order->setCityId($city_id); $order->setAutorenewEnable($autorenew); $order->setPrepaidFunds($prepaid_funds); try { $did_number = $order->createNumber(); $this->setMessage('DID #' . $did_number->getNumber() . ' was purchased successfully'); } catch (SoapFault $e) { $this->setMessage('Error: (' . $e->faultcode . ') ' . $e->faultstring, 'danger'); } $this->redirect($pbxwwForm ? 'index.php?controller=orders&action=add&customer_id=' . $customer_id . '&pbxww_form=1' : 'index.php?controller=customers'); }