Example #1
0
 /**
  * Update a specified ad.
  *
  * @param int $id
  * @return Response
  */
 public function update($id)
 {
     try {
         $session = Session::get('user');
         $adService = new SoapClient(Config::get('wsdl.ad'), array());
         $result = $adService->getAdById(array("adId" => $id));
         $ad = new Ad($result->ad);
         $update = Input::get('ad');
         foreach ($update as $k => $v) {
             $ad->{$k} = $v;
         }
         if (isset($update['image']['url']) && !is_array($update['image']['url'])) {
             $ad->image = ImageModel::createImageModel(str_replace('api/image/', '', $update['image']['url']));
         } else {
             if (isset($update['image']['url'])) {
                 $ad->image = $update['image']['url'];
             } else {
                 $ad->image = null;
             }
         }
         $times = array('availableFromTime', 'availableToTime', 'redemptionEndDate');
         foreach ($times as $time) {
             if (isset($update[$time])) {
                 $ad->{$time} = strtotime($update[$time]);
             }
         }
         $result = $adService->updateAd(array("ad" => $ad));
     } catch (Exception $ex) {
         throw new Exception($ex->getMessage());
     }
 }