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!'));
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 function __construct($productId, $showHidden = false, $skipNull = false)
 {
     $p = new Product($productId);
     parent::__construct($productId, $p->categories($productId, $showHidden), $skipNull);
 }