public function executeProductmassoper(sfWebRequest $request) { $producttype_id = $request->getParameter("producttype_id"); $producttype = ProducttypeTable::fetch($producttype_id); $prefix = $request->getParameter("prefix"); $suffix = $request->getParameter("suffix"); $replace = $request->getParameter("replace"); $with = $request->getParameter("with"); $maxsellprices = $request->getParameter("maxsellprices"); $maxbuyprices = $request->getParameter("maxbuyprices"); $minsellprices = $request->getParameter("minsellprices"); $minbuyprices = $request->getParameter("minbuyprices"); $autocalcsellprices = $request->getParameter("autocalcsellprices"); $autocalcbuyprices = $request->getParameter("autocalcbuyprices"); $ids = $request->getParameter("product_ids"); $products = $producttype->getProductsByIds($ids); //if no checked products, do nothing if (count($ids)) { if ($request->getParameter("submit") == "Merge") { $this->redirect("producttype/merge?producttype_id=" . $producttype_id . "&product_id=" . $request->getParameter("input") . "&duplicate_ids=" . implode(",", $ids)); //$this->mainproduct=ProductTable::fetch($request->getParameter("input")); //$this->products=$products; // $this->merge($mainproduct, $product); // } else { if ($request->getParameter("submit") == "Save") { foreach ($products as $product) { if ($maxsellprices[$product->getId()] != "") { $product->setMaxsellprice($maxsellprices[$product->getId()]); $product->setAutocalcsellprice(0); } if ($minsellprices[$product->getId()] != "") { $product->setMinsellprice($minsellprices[$product->getId()]); $product->setAutocalcsellprice(0); } if ($maxbuyprices[$product->getId()] != "") { $product->setMaxbuyprice($maxbuyprices[$product->getId()]); $product->setAutocalcbuyprice(0); } if ($minbuyprices[$product->getId()] != "") { $product->setMinbuyprice($minbuyprices[$product->getId()]); $product->setAutocalcbuyprice(0); } $product->save(); } } else { if ($request->getParameter("submit") == "Monitor") { foreach ($products as $product) { $product->setMonitored(1); $product->save(); } } else { if ($request->getParameter("submit") == "Unmonitor") { foreach ($products as $product) { $product->setMonitored(0); $product->save(); } } else { foreach ($products as $product) { $product->setName($prefix . str_replace($replace, $with, $product->getName()) . $suffix); //$product->setDescription($product->getName()); $product->save(); } } } } } } //$parent->calc(); $this->redirect($request->getReferer()); }