public function saveForm(&$product) { if (!isset($product->product_id)) { return; } $product_id = (int) $product->product_id; $app = JFactory::getApplication(); if (!$app->isAdmin()) { if (!hikaserial::initMarket()) { return; } if (!hikamarket::acl('product_edit_plugin_hikaserial')) { return; } } $formData = JRequest::getVar('data', array(), '', 'array'); if (empty($formData) || empty($formData['hikaserial']['form'])) { return; } $serialData = $formData['hikaserial']; if (!$app->isAdmin()) { if (isset($serialData[$product_id])) { $serialData = $serialData[$product_id]; } else { $serialData = array(); } } $packs = array(); if (isset($serialData['pack_qty']) && isset($serialData['pack_id'])) { $packs = array_combine($serialData['pack_id'], $serialData['pack_qty']); } $query = 'DELETE FROM ' . hikaserial::table('product_pack') . ' WHERE product_id = ' . $product_id; $this->db->setQuery($query); $this->db->query(); if (!empty($packs)) { $query = 'INSERT IGNORE INTO ' . hikaserial::table('product_pack') . ' (`product_id`, `pack_id`, `quantity`) VALUES '; $data = array(); foreach ($packs as $id => $qty) { if ((int) $qty > 0) { $data[] = '(' . $product_id . ', ' . (int) $id . ', ' . (int) $qty . ')'; } if (count($data) >= 50) { $this->db->setQuery($query . implode(',', $data)); $this->db->query(); $data = array(); } } if (count($data) > 0) { $this->db->setQuery($query . implode(',', $data)); $this->db->query(); $data = array(); } } $this->refreshQuantity($product); }
public function useselection() { if (!hikaserial::initMarket()) { return false; } if (!hikamarket::loginVendor()) { return false; } $marketConfig = hikamarket::config(); if (!$marketConfig->get('frontend_edition', 0)) { return false; } if (!hikamarket::acl('product_edit_plugin_hikaserial')) { return hikamarket::deny('vendor', JText::sprintf('HIKAM_ACTION_DENY', JText::sprintf('HIKAM_ACT_PLUGIN', HIKASERIAL_NAME))); } JRequest::setVar('layout', 'useselection'); return parent::display(); }
public function onAfterProductUpdate(&$product) { if (!$this->init()) { return; } $app = JFactory::getApplication(); if (!$app->isAdmin() & !hikaserial::initMarket()) { return; } $class = hikaserial::get('class.product'); $class->saveForm($product); }