/** * Store a newly created ad. * * @return Response */ public function store() { try { $session = Session::get('user'); $adService = new SoapClient(Config::get('wsdl.ad'), array()); $ad = new Ad(Input::get('ad')); $ad->description = nl2br($ad->description); $times = array('availableFromTime', 'availableToTime', 'redemptionEndDate'); foreach ($times as $time) { if ($ad->{$time}) { $ad->{$time} = strtotime($ad->{$time}); } } if (Input::get('relist')) { $result = $adService->getAdById(array("adId" => Input::get('relist'))); $relistAd = new Ad($result->ad); if (isset($ad->image['url']['id'])) { $ad->image = $relistAd->image; } else { $ad->image = ImageModel::createImageModel(str_replace('api/image/', '', $ad->image['url'])); } $ad->id = $relistAd->id; $result = $adService->cloneAd(array("ad" => $ad)); } else { $ad->image = ImageModel::createImageModel(str_replace('api/image/', '', $ad->image['url'])); $result = $adService->placeAd(array("ad" => $ad)); return array('id' => $result->adId); } } catch (Exception $ex) { throw new Exception($ex->getMessage()); } }