Esempio n. 1
0
 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;
 }