public function saveProduct() { $data = Input::all(); if (!Auth::guest()) { $validator = Validator::make($data, Product::$rules); if ($validator->passes()) { $user = Auth::user(); $product = new Product(); $product->user_id = $user->id; $product->product_name = $data['product_name']; $product->description = $data['description']; $product->start_price = $data['start_price']; $product->save(); if (isset($data['categories']) && !empty($data['categories'])) { $product->categories()->attach($data['categories']); } if (Session::has('files')) { $files = Session::get('files'); // get session files foreach ($files as $key => $file) { $directory_file = public_path() . '/product_images/' . $file; if (File::exists($directory_file)) { File::move($directory_file, public_path() . '/product_images/product_' . $product->id . '_' . $key . '.jpg'); } } Session::forget('files'); } return Response::json(array('success' => true, 'product' => $product)); } return Response::json(array('success' => false, 'type' => 'form_error', 'errors' => $validator->messages())); } return Response::json(array('success' => false, 'type' => 'log_error', 'error' => 'In order to save your product, please, log in!')); }
/** * Returns product by xml string. * * @param string XML. * @return Product. */ static function product($xml) { $x = new \SimpleXMLElement($xml); $result = new Product(); $result->id(trim((string) $x->productID)); $result->name(trim((string) $x->name)); $result->currency(trim((string) $x->price['currency'])); $result->price(trim((string) $x->price)); $result->url(trim((string) $x->productURL)); $result->imgUrl(trim((string) $x->imageURL)); $result->description(trim((string) $x->description)); $cats = []; foreach ($x->categories->category as $cat) { $cats[] = trim((string) $cat); } $result->categories($cats); $adds = []; foreach ($x->additional->field as $add) { $adds[trim((string) $add['name'])] = trim((string) $add); } $result->additional($adds); return $result; }
function __construct($productId, $showHidden = false, $skipNull = false) { $p = new Product($productId); parent::__construct($productId, $p->categories($productId, $showHidden), $skipNull); }