diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-16 07:17:35 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-16 07:17:35 +0000 |
commit | c4803c50bc6a9e67c0c8e9c07d546666d08af8c9 (patch) | |
tree | f5a48411a42cfbecac39f8db246202f784131788 /tools | |
parent | c45fbd0aa6d806e833e9a9d7e84442ec8a31ce00 (diff) | |
download | hercules-c4803c50bc6a9e67c0c8e9c07d546666d08af8c9.tar.gz hercules-c4803c50bc6a9e67c0c8e9c07d546666d08af8c9.tar.bz2 hercules-c4803c50bc6a9e67c0c8e9c07d546666d08af8c9.tar.xz hercules-c4803c50bc6a9e67c0c8e9c07d546666d08af8c9.zip |
Added a mapreg txt->sql converter script to /tools, because the sql mapserver doesn't read the txt mapreg savefile anymore and people will most likely want to preserve their global variables.
The script is php-based and requires the php_mysql module.
The script produces a series of INSERT statements, ready to be imported to the database.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13086 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'tools')
-rw-r--r-- | tools/mapreg-converter.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/mapreg-converter.php b/tools/mapreg-converter.php new file mode 100644 index 000000000..3d548554a --- /dev/null +++ b/tools/mapreg-converter.php @@ -0,0 +1,38 @@ +<?php + // mapreg.txt -> sql import file converter + // author : theultramage / Yommy + // version: 16. august 2008 +?> +<?php + fwrite(STDERR, "mapreg txt->sql converter".PHP_EOL); + fwrite(STDERR, "-------------------------".PHP_EOL); + if( @$_SERVER["argc"] < 2 ) + { + fwrite(STDERR, "Usage: {$_SERVER["argv"][0]} [file]".PHP_EOL); + exit(); + } + + $input = @$_SERVER["argv"][1]; + $data = file($input); + if( $data === FALSE ) + die("Invalid input file '".$input."'!"); + + if( function_exists("mysql_escape_string") === FALSE ) + die("Please enable the php_mysql extension first!"); + + fwrite(STDERR, "Converting {$input}...".PHP_EOL); + define("EOL", PHP_EOL); + + foreach( $data as $line ) + { + if( preg_match('/(.*),(\d+)\t(.*)/m', $line, $regs) ) + fwrite(STDOUT, "INSERT INTO `mapreg` (`varname`,`index`,`value`) VALUES ('".mysql_escape_string($regs[1])."',".mysql_escape_string($regs[2]).",'".mysql_escape_string(rtrim($regs[3]))."');".EOL); + else + if( preg_match('/(.*)\t(.*)/m', $line, $regs) ) + fprintf(STDOUT, "INSERT INTO `mapreg` (`varname`,`index`,`value`) VALUES ('".mysql_escape_string($regs[1])."',0,'".mysql_escape_string(rtrim($regs[2]))."');".EOL); + else + fprintf(STDERR, "Invalid data: ".$line.PHP_EOL); + } + + fprintf(STDERR, "done.".PHP_EOL); +?>
\ No newline at end of file |