public function saveProduct($data) { if ($data['pID']) { //if we know the pID, we're updating. $product = self::getByID($data['pID']); $product->setProductPageDescription($data['pDesc']); } else { //else, we don't know it and we're adding a new product $product = new self(); $dt = Core::make('helper/date'); $product->setProductDateAdded(new \Datetime()); } $product->setProductName($data['pName']); $product->setProductSKU($data['pSKU']); $product->setProductDescription($data['pDesc']); $product->setProductDetail($data['pDetail']); $product->setProductPrice($data['pPrice']); $product->setProductSalePrice($data['pSalePrice']); $product->setIsFeatured($data['pFeatured']); $product->setProductQty($data['pQty']); $product->setIsUnlimited($data['pQtyUnlim']); $product->setAllowBackOrder($data['pBackOrder']); $product->setNoQty($data['pNoQty']); $product->setProductTaxClass($data['pTaxClass']); $product->setIsTaxable($data['pTaxable']); $product->setProductImageID($data['pfID']); $product->setIsActive($data['pActive']); $product->setCreatesUserAccount($data['pCreateUserAccount']); $product->setIsShippable($data['pShippable']); $product->setProductWidth($data['pWidth']); $product->setProductHeight($data['pHeight']); $product->setProductLength($data['pLength']); $product->setProductWeight($data['pWeight']); $product->setAutoCheckout($data['pAutoCheckout']); $product->setIsExclusive($data['pExclusive']); // if we have no product groups, we don't have variations to offer if (empty($data['pogName'])) { $product->setHasVariations(0); } else { $product->setHasVariations($data['pVariations']); } $product->save(); if (!$data['pID']) { $product->generatePage($data['selectPageTemplate']); } return $product; }