mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2024-11-30 04:26:03 +00:00
sqlite3.exe import cubemain working
This commit is contained in:
parent
d64ae02201
commit
ce01b0e602
BIN
bin/sqlite3.exe
Normal file
BIN
bin/sqlite3.exe
Normal file
Binary file not shown.
@ -5,7 +5,16 @@
|
||||
session_start();
|
||||
|
||||
include "./_pdo.php";
|
||||
function processCubeMain(){
|
||||
|
||||
$bin = getcwd().DIRECTORY_SEPARATOR."bin".DIRECTORY_SEPARATOR."sqlite3.exe ";
|
||||
$dbfile = getcwd().DIRECTORY_SEPARATOR.DB_FILE;
|
||||
$cubemain = TXT_PATH."cubemain.txt";
|
||||
|
||||
// D:\Documents\D2IM\www\bin\sqlite3.exe D:\Documents\D2IM\www\ZyEl4.5.db ".separator \"\t"\" ".import \"D:\\Diablo II\\MODS\\D2SE_Zy-El mod v4.5 HiRes\\data\\global\\excel\\cubemain.txt\" cubemain"
|
||||
|
||||
exec("$bin $dbfile \".separator \\\"\\t\\\"\" \".import \\\"$cubemain\\\" cubemain\"");
|
||||
}
|
||||
// check to see if config db exists or if for some reason it doesn't exist
|
||||
if (file_exists("d2im.db")) {
|
||||
if (file_exists($_SESSION['modname'] . ".db")) {
|
||||
@ -27,6 +36,8 @@ if (file_exists("d2im.db")) {
|
||||
$parser = new D2TxtParser();
|
||||
$db = new D2Database();
|
||||
|
||||
$data = null;
|
||||
|
||||
// Parse all files
|
||||
foreach ($files->files as $k => $v) {
|
||||
$data[$v] = $parser->parseFile($v);
|
||||
@ -37,6 +48,8 @@ if (file_exists("d2im.db")) {
|
||||
$db->fillsTables($k, $v);
|
||||
}
|
||||
|
||||
unset($data);
|
||||
processCubeMain('cubemain.txt');
|
||||
// put in html redirect as backup, because
|
||||
// for some odd reason windows gives
|
||||
// an error on header() but linux does not.
|
||||
|
@ -1,5 +1,4 @@
|
||||
<?php
|
||||
session_start();
|
||||
/*
|
||||
GPLv2 (C) <2021> <HashCasper>
|
||||
|
||||
@ -25,11 +24,12 @@ class D2Files {
|
||||
|
||||
public function __construct() {
|
||||
$filesToIgnore = [
|
||||
"AiParms.txt"
|
||||
"aiparms.txt",
|
||||
"cubemain.txt"
|
||||
];
|
||||
$glob = glob($_SESSION['path'].'*.txt');
|
||||
foreach ($glob as $g){
|
||||
$files[] = basename($g);
|
||||
$files[] = strtolower(basename($g));
|
||||
}
|
||||
$this->files = array_diff($files, $filesToIgnore);
|
||||
return $this->files;
|
||||
|
@ -31,10 +31,7 @@ class D2TxtParser {
|
||||
public function __construct() {
|
||||
}
|
||||
|
||||
public function parseFile($file) {
|
||||
if ($file == "CubeMain.txt") {
|
||||
$this->processCubeMain($file);
|
||||
}
|
||||
public function parseFile($file) {
|
||||
return $this->parseData($file);
|
||||
}
|
||||
|
||||
@ -52,19 +49,14 @@ class D2TxtParser {
|
||||
$file = $this->path . $file;
|
||||
$rows = array_map(function ($v) {
|
||||
return str_getcsv($v, "\t");
|
||||
}
|
||||
, file($file));
|
||||
$header = array_shift($rows);
|
||||
}, file($file));
|
||||
$header = array_shift($rows);
|
||||
$data = null;
|
||||
foreach ($rows as $row) {
|
||||
$data[] = @array_combine($header, $row);
|
||||
}
|
||||
unset($rows);
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function processCubeMain($file){
|
||||
$path = dirname(getcwd()).DIRECTORY_SEPARATOR."bin".DIRECTORY_SEPARATOR;
|
||||
exec($path."sqlite3.exe ".$path.DB_FILE." '.separator \"t\"' '.import ".TXT_PATH."$file cubemain'");
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user