Example #1
0
 /**
  * Ads giving by user
  *
  * @return Response
  */
 public function byUser($user_id)
 {
     try {
         $session = Session::get('user');
         if ($user_id == $session['data']->id) {
             $includeUnapproved = true;
         } else {
             $includeUnapproved = false;
         }
         $adService = new SoapClient(Config::get('wsdl.ad'), array());
         $userService = new SoapClient(Config::get('wsdl.user'), array());
         $result = $adService->getUserAds(array("userId" => $user_id, 'numberAds' => 0, "includeRequests" => true, "includeUnapproved" => $includeUnapproved));
         if (isset($result->ad->type)) {
             $ads = $result;
         } elseif (isset($result->ad)) {
             $ads = $result->ad;
         } else {
             $ads = array();
         }
         $return = array();
         foreach ($ads as $k => $ad) {
             $ad = new Ad($ad);
             if (isset($ad->requests->item) && is_array($ad->requests->item)) {
                 foreach ($ad->requests->item as $k => $v) {
                     $ad->requests->item[$k] = new Requested($v);
                 }
             } else {
                 if (isset($ad->requests->item->type)) {
                     $ad->requests->item = array(new Requested($ad->requests->item));
                 }
             }
             if (!$ad->online) {
                 if ($ad->approved) {
                     $ad->status = "APPROVED";
                 } else {
                     if ($ad->approval == null) {
                         $ad->status = "PENDING";
                     } else {
                         $ad->status = "DECLINED";
                     }
                 }
             } elseif ($ad->sold) {
                 $requestor = $ad->getAcceptedRequest()->user;
                 $request = $ad->getAcceptedRequest();
                 if (isset($requestor->avatar)) {
                     $ad->requestor = $requestor->avatar->id;
                 } else {
                     $ad->requestor = null;
                 }
                 if (isset($request)) {
                     $ad->request = $request;
                 } else {
                     $ad->request = null;
                 }
                 $ad->status = "SOLD";
             } elseif ($ad->expired) {
                 $ad->status = "EXPIRED";
             } elseif (!$ad->hasActiveRequest()) {
                 $ad->status = "NO_REQUESTS";
             } elseif ($ad->hasSentRequest()) {
                 $requestor = $ad->getAcceptedRequest()->user;
                 if (isset($requestor->avatar)) {
                     $ad->requestor = $requestor->avatar->id;
                 } else {
                     $ad->requestor = null;
                 }
                 if (isset($request)) {
                     $ad->request = $request;
                 } else {
                     $ad->request = null;
                 }
                 $ad->status = "SENT";
             } elseif ($ad->hasAcceptedRequest()) {
                 $requestor = $ad->getAcceptedRequest()->user;
                 if (isset($requestor->avatar)) {
                     $ad->requestor = $requestor->avatar->id;
                 } else {
                     $ad->requestor = null;
                 }
                 if (isset($request)) {
                     $ad->request = $request;
                 } else {
                     $ad->request = null;
                 }
                 $ad->status = "SELECTED";
             } else {
                 $ad->status = "ACTIVE";
             }
             $return[] = $ad;
         }
         return Response::json($return);
     } catch (Exception $ex) {
         throw new Exception($ex->getMessage());
     }
 }