public function exportSameData($directory = '') { $shopId = $this->context->shop->id; if ($directory) { self::$sameDatas = $directory; } $langId = Context::getContext()->language->id; $link = mysql_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_); mysql_select_db(_DB_NAME_, $link); $currentOption = Configuration::get('OVIC_CURRENT_DIR'); if ($currentOption) { $currentOption .= '.'; } else { $currentOption = ''; } foreach (self::$tables as $table => $type) { $fields = array(); $query2 = mysql_query('SHOW COLUMNS FROM ' . _DB_PREFIX_ . $table); while ($row = mysql_fetch_row($query2)) { $fields[] = $row[0]; } $return = ''; if ($type == 'lang') { $query1 = mysql_query('SELECT * FROM ' . _DB_PREFIX_ . $table . " Where id_lang = " . $langId); $num_fields = mysql_num_fields($query1); for ($i = 0; $i < $num_fields; $i++) { while ($row = mysql_fetch_row($query1)) { $return .= 'INSERT INTO PREFIX_' . $table . ' VALUES('; for ($j = 0; $j < $num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace(array("\n", "\r"), '', $row[$j]); if (isset($row[$j])) { if ($fields[$j] == 'id_lang') { $return .= '"id_lang"'; } else { $return .= '"' . $row[$j] . '"'; } } else { $return .= '""'; } if ($j < $num_fields - 1) { $return .= ','; } } $return .= ");\r\n"; } } } else { $query1 = mysql_query('SELECT * FROM ' . _DB_PREFIX_ . $table); $num_fields = mysql_num_fields($query1); for ($i = 0; $i < $num_fields; $i++) { while ($row = mysql_fetch_row($query1)) { $return .= 'INSERT INTO PREFIX_' . $table . ' VALUES('; for ($j = 0; $j < $num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace(array("\n", "\r"), '', $row[$j]); if (isset($row[$j])) { $return .= '"' . $row[$j] . '"'; } else { $return .= '""'; } if ($j < $num_fields - 1) { $return .= ','; } } $return .= ");\r\n"; } } } $return .= "\r\n"; //$handle = fopen(self::$sameDatas.'store'.$shopId.'.'.$currentOption.$table.'.sql','w+'); $handle = fopen(self::$sameDatas . $currentOption . $table . '.sql', 'w+'); fwrite($handle, $return); fclose($handle); } return true; }