Example #1
0
 /**
  * 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());
     }
 }