public function addItemsToRequest($request_id, $ebay_ids) { $date = time(); $attributes = array(); $items_ids = SearchItems::model()->getItemsIdByEbayIds($ebay_ids); foreach ($items_ids as $_id) { $attributes[] = array('search_item_id' => $_id, 'search_request_id' => $request_id, 'date_update' => $date); } SearchRequestsItems::model()->saveMultipleIgnore($attributes); }
public function actionListing($id) { //array $request = array() $request = $this->loadModel($id); if ($request->user_id != WebUser::Id(true)) { throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.'); } $atributes = $request->attributes; $atributes['auction_type'] = SearchRequests::model()->getAuctionType($request->auction_type_id); $searchApi = new FindItemsAdvancedClass($atributes); $items_ignored = array(); if ($request->only_new) { $items_ignored = $request->items; } elseif ($request->ignore_list) { $list = ListingNames::model()->getUserIgnoreList(WebUser::Id()); $items_ignored = $list->items; } if (!empty($items_ignored)) { $ignore_ids = CHtml::listData($items_ignored, 'id', 'ebay_id'); $searchApi->setIgnoreIds($ignore_ids); } try { $items = $searchApi->makeAPICall(); $ebay_ids = array(); $items_attrs = array(); $date = time(); foreach ($items as $_item) { $items_attrs[] = array('ebay_id' => $_item->itemId, 'title' => $_item->title, 'url_picture' => $_item->pictureUrl, 'url_item' => $_item->itemUrl, 'buy_it_now' => intval($_item->buyItNow > 0), 'date_of_added' => $date); $ebay_ids[] = $_item->itemId; } SearchItems::model()->saveMultipleIgnore($items_attrs); SearchRequests::model()->addItemsToRequest($id, $ebay_ids); } catch (Exception $ex) { $this->setFlashWarning($ex->getMessage()); $items = $searchApi->getItems(); } if (empty($items)) { $this->setFlashError($searchApi->getError()); } $data = array('items' => $items, 'request' => $request); $this->enableAddToListBtn(); $this->render('listing', $data); }