public function add($form, $owner_id = NULL) { $theme = Theme::getByDirectory('aphrodinet'); $sql1 = "INSERT INTO `" . _DB_PREFIX_ . "shop` (`id_shop_group`,`name`,`id_theme`) VALUES ('" . $form['id_shop_group'] . "','" . $form['name'] . "','" . $theme->id . "')"; $res = Db::getInstance()->execute($sql1); if (!$res) { error_log(__FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } $shopid = Db::getInstance()->Insert_ID(); $sql2 = "INSERT INTO `" . _DB_PREFIX_ . "store` (`name`,`address1`,`address2`,`postcode`,`city`,`id_country`,`id_state`,`id_city`,`latitude`,`longitude`,`phone`,`fax`,`email`,`note`,`active`,`description`,`description_short`,`navigation`,`date_add`,`date_upd`,`rights_hasLogin`,`rights_hasCalendar`,`rights_canEditPrices`,`rights_hasPaymentOffline`,`hours`,`meta_title`,`meta_description`,`link_facebook`,`link_googleplus`,`link_youtube`,`link_instagram`,`link_pinterest`,`link_twitter`,`bo_color`) " . "VALUES ('" . pSQL($form['name']) . "','" . pSQL($form['address1']) . "','" . pSQL($form['address2']) . "','" . $form['postcode'] . "','" . pSQL($form['city']) . "','" . $form['id_country'] . "','" . $form['id_state'] . "','" . $form['id_city'] . "','" . $form['latitude'] . "','" . $form['longitude'] . "','" . $form['phone'] . "','" . $form['fax'] . "','" . $form['email'] . "','" . pSQL($form['note']) . "','" . $form['active'] . "','" . pSQL($form['description']) . "','" . pSQL($form['description_short']) . "','" . pSQL($form['navigation']) . "','" . date('Y-m-d H:i:s') . "','" . date('Y-m-d H:i:s') . "','" . $form['rights_hasLogin'] . "','" . $form['rights_hasCalendar'] . "','" . $form['rights_canEditPrices'] . "','" . $form['rights_hasPaymentOffline'] . "','{$this->hours}','" . $form['meta_title'] . "','" . $form['meta_description'] . "','" . $form['link_facebook'] . "','" . $form['link_googleplus'] . "','" . $form['link_youtube'] . "','" . $form['link_instagram'] . "','" . $form['link_pinterest'] . "','" . $form['link_twitter'] . "','" . $form['bo_color'] . "')"; $res = Db::getInstance()->execute($sql2); if (!$res) { error_log(__FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } $storeid = Db::getInstance()->Insert_ID(); $this->id = $storeid; if (!empty($form['login'])) { $emp = new AphEmployeeProduct(null, Context::getContext()->language->id, $shopid); $emp->firstname = $_POST['firstname']; $emp->lastname = $_POST['lastname']; $emp->email = $_POST['employee_l']; $emp->id_lang = Context::getContext()->language->id; $emp->passwd = Tools::encrypt($_POST['employee_p']); $emp->bo_theme = 'aphrodinet'; $emp->bo_css = 'admin-theme.css'; $emp->default_tab = 108; $emp->active = 1; $emp->bo_color = $_POST['bo_color']; $emp->id_profile = Configuration::get('APH_PROFILE_STORE_OWNER'); $emp->add(); $sql2 = "DELETE FROM `" . _DB_PREFIX_ . "employee_shop` WHERE `id_employee`='" . $emp->id . "' AND `id_shop`!='" . $shopid . "'"; $res = Db::getInstance()->execute($sql2); if (!$res) { error_log(__FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } $sql2 = "INSERT INTO `" . _DB_PREFIX_ . "employee_shop` (`id_employee`,`id_shop`) VALUES ('" . $emp->id . "','" . $shopid . "')"; $res = Db::getInstance()->execute($sql2); if (!$res) { error_log(__FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } } $host = Tools::getHttpHost(); $request_uri = explode('/', rawurldecode($_SERVER['REQUEST_URI'])); $sql2 = "INSERT INTO `" . _DB_PREFIX_ . "shop_url` (`id_shop`,`domain`,`domain_ssl`,`physical_uri`,`virtual_uri`,`main`,`active`) VALUES ('{$shopid}','" . pSQL($host) . "', '" . pSQL($host) . "', '/','" . $form['link_rewrite'] . "','1','1')"; $res = Db::getInstance()->execute($sql2); if (!$res) { error_log($sql2 . ':' . __FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } $sql3 = "INSERT INTO `" . _DB_PREFIX_ . "store_shop` (`id_store`,`id_shop`) VALUES ('{$storeid}','{$shopid}')"; $res = Db::getInstance()->execute($sql3); if (!$res) { error_log(__FILE__ . ' on line ' . __LINE__); } if (!$res) { return false; } $this->fillDefaultValues($shopid); if (!empty($form['hasPaymentOffline'])) { $payment_methods = explode(',', Configuration::get('APH_OFFLINE_PAYMENT_METHODS')); $sqlD = 'DELETE FROM `' . _DB_PREFIX_ . 'module_shop` WHERE id_shop=' . $shopid . ' AND `id_module` IN (SELECT `id_module` FROM `' . _DB_PREFIX_ . 'module` WHERE `name` IN ("' . implode('","', $payment_methods) . '"))'; Db::getInstance()->execute($sqlD); foreach ($payment_methods as &$method) { $sql = 'SELECT c.`id_module` FROM `' . _DB_PREFIX_ . 'module` WHERE `name`=`' . $method . '`'; $items = Db::getInstance()->executeS($sql); if ($items) { foreach ($items as $item) { $sqlI = 'INSERT INTO `' . _DB_PREFIX_ . 'module_shop` (`id_shop`,`id_module`,`enable_device`) VALUES (' . $shopid . ',' . $item['id_module'] . ', 1)'; Db::getInstance()->execute($sqlI); } } } } return true; }