Example #1
0
 /**
  * Ads request by user
  *
  * @return Response
  */
 public function requestedByUser($user_id)
 {
     try {
         $adService = new SoapClient(Config::get('wsdl.ad'), array());
         $result = $adService->getUserRequestedAds(array("userId" => $user_id, 'numberAds' => -1, "includeRequests" => true, "includeUnapproved" => false));
         if (isset($result->ad->type)) {
             $result = $result;
         } elseif (isset($result->ad)) {
             $result = $result->ad;
         } else {
             $result = array();
         }
         $ads = array();
         $creators = array();
         foreach ($result as $k => $row) {
             if (is_array($row->requests->item)) {
                 foreach ($row->requests->item as $k => $v) {
                     $v = new Requested($v);
                     if ($v->user->id == $user_id) {
                         $row->request = $v;
                     }
                 }
             } else {
                 $v = new Requested($row->requests->item);
                 if ($v->user->id == $user_id) {
                     $row->request = $v;
                 }
             }
             $request = $row->request;
             if ($row->expired || $request->isExpired) {
                 if ($row->request->adStatus == "EXPIRED") {
                     $row->reqStat = "EXPIRED";
                 } else {
                     if ($row->request->isCanceled) {
                         $row->reqStat = "CANCELED";
                     } else {
                         $row->reqStat = "DECLINED";
                     }
                 }
             } else {
                 if ($row->sold) {
                     $row->reqStat = "RECEIVED";
                 } else {
                     if ($request->isPending) {
                         $row->reqStat = "PENDING";
                     } else {
                         if ($request->accepted && $request->sent) {
                             $row->reqStat = "SENT";
                         } else {
                             if ($request->accepted) {
                                 $row->reqStat = "ACCEPTED";
                             }
                         }
                     }
                 }
             }
             $creators[$row->creator->id] = $row->creator;
             $row->creator = $row->creator->id;
             $ads[] = $row;
         }
         return Response::json(array('ads' => $ads, 'creators' => $creators));
     } catch (Exception $ex) {
         throw new Exception($ex->getMessage());
     }
 }