Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DSphpBB
#1
Also weiß jemand wo ich bei DSLan dafür die Weltdaten bekomme?
[Image: create.php?uid=511]
Reply
#2
Wie meinst du das ? bzw. Welche Weltdaten ?
Crap?!
Reply
#3
*/map/ally.txt.gz
*/map/tribe.txt.gz
*/map/village.txt.gz
*/map/kill_att.txt.gz
*/map/kill_def.txt.gz
*/map/kill_all.txt.gz:

*http://de**.die-staemme.de
[Image: create.php?uid=511]
Reply
#4
Machs halt mit SQL, wenns geht, weiß ja nich was du vorhast ^^

MfG Manuel
Reply
#5
entweder du schreibst das import srcipt von dsphpbb um oder du machst ein exportscript das dir die dateien aus der datenbank von dslan in die entsprechenden dateien schreibt
Reply
#6
(27.05.2009, 18:24)agent47 Wrote: entweder du schreibst das import srcipt von dsphpbb um oder du machst ein exportscript das dir die dateien aus der datenbank von dslan in die entsprechenden dateien schreibt

Kannst du mir das vielleicht machen ?
[Image: create.php?uid=511]
Reply
#7
Zusätzliche Informationen über abbar-2
Programmiersprachen: PHP, MySQL, HTML, CSS, C++

Du kannst PHP & MySQL, dann müsstest dus ja auch hinbekommen Wink

MfG Manuel
Reply
#8
wie SlimShady95 schon sagte, du kannst doch php/mysql und dafür sind eigentlich nicht viel mehr kenntisse als ein paar grundlagen nötig. Fang doch einfach mal an und frage nach wenn du irgendwo nicht weiter kommst.
Reply
#9
Ok meine erste Frage was muss ich ändern?:

PHP Code:
<?php
/** 
*
* @package acp
* @author Hathor, Wagi4
* @version $Id: import.php, 2008/03/22 Wagi4 $
* @copyright (c) 2005 phpBB Group; 2008 DSphpBB
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

//
//Definition-Part
//
define('IN_PHPBB'true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH './../../';
$phpEx substr(strrchr(__FILE__'.'), 1);
require_once(
$phpbb_root_path 'common.' $phpEx);
include_once(
$phpbb_root_path 'includes/functions_staemme.' $phpEx);
include_once(
$phpbb_root_path 'includes/functions_user.' $phpEx);

$user->add_lang("acp/staemme");

$folder $phpbb_root_path $staemme_config['import_path'];

$path_parts pathinfo($_SERVER['SCRIPT_FILENAME']);
$folderpart_mysql $path_parts["dirname"] . "/";

$folder_mysql $folderpart_mysql $phpbb_root_path $staemme_config['import_path'];
$files get_worlddata_files(true);
$fileEx "txt";

//
// user settings
//
$multi_inserts 300//number of multiple inserts
$debug_mode 0//enable additional debug output
$start_alt false//force alternative import method (row by row insert)

//
//Function-Part
//

$skip        = isset($_REQUEST['skip']) ? request_var('skip'0) : false;
$skip_lines    = isset($_REQUEST['skip_lines']) ? request_var('skip_lines'0) : false;
$override    = isset($_REQUEST['override']) ? request_var('override''') : false;
$timeouts    = isset($_REQUEST['timeouts']) ? request_var('timeouts'0) : 0;

echo 
'<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head><script type="text/javascript">
var last_rows = 0;
var grace = true;
var start_file = '
.intval($skip).';
var start_line = '
.intval($skip_lines).';

function checkready () {
    var Ausdruck = /(LOCK\=LD)/;
     if(Ausdruck.exec(document.body.innerHTML) != null) msgbox("LD");
     var Ausdruck = /(LOCK\=LI)/;
     if(Ausdruck.exec(document.body.innerHTML) != null) msgbox("LI");
     var Ausdruck = /(LOCK\=LG)/;
     if(Ausdruck.exec(document.body.innerHTML) != null) msgbox("LG");
     var Ausdruck = /FILEID=([0-9]+)/g;
     var matches = document.body.innerHTML.match(Ausdruck);
     var file_id;
     var skip_lines;
     if(matches != null)
     {
         matches = matches[matches.length - 1].match(/FILEID=([0-9]+)/);
         file_id = matches[1];
     } else
     {
         file_id = start_file;
     }
     if(skip_lines != 0 && file_id > start_file) skip_lines = 0;
     if(file_id == start_file && skip_lines < start_line) skip_lines = start_line;
     var Parsed = /PARSED=([0-9]+)/g;
     var matches = document.body.innerHTML.match(Parsed);
     if(matches != null)
     {
         matches = matches[matches.length - 1].match(/PARSED=([0-9]+)/);
         skip_lines = matches[1];
     } else if(start_line != 0)
     {
         skip_lines = start_line;
     }
     else skip_lines = -1;
     var force = false;
     if(last_rows == skip_lines && grace)
     {
         grace = false;
     }
     else if(last_rows == skip_lines && !grace)
     {
          force = true;
     }
     last_rows = skip_lines;
     var Ausdruck = /(Maximum execution time)/g;
     if((Ausdruck.exec(document.body.innerHTML) != null || force) && file_id != null)
     {
         redir(file_id, skip_lines);
     };
     var Ausdruck = /FINISHED\=1/;
     if(Ausdruck.exec(document.body.innerHTML) != null)
     {}
     else
     {
         aktiv = window.setTimeout("checkready()", 15000);
     }
}

function msgbox(id)
{
    var text_var;
    if(id == "LD") text_var = "'
.$user->lang['JS_DELETE_IN_PROGRESS'].'";
    else if(id == "LI") text_var = "'
.$user->lang['JS_IMPORT_IN_PROGRESS'].'";
    else if(id == "LG") text_var = "'
.$user->lang['JS_DOWNLOAD_IN_PROGRESS'].'";
    var box=window.confirm(text_var);
    if(box==true)
    {
        window.location = "import.php?override=" + id;
    }
    else if(box==false)
    {

    }


function stop () {
  window.clearTimeout(aktiv);
}

function redir (target, skip_lines)
{
    if(skip_lines != -1)
    {
        window.location = "import.php?skip_lines=" + skip_lines + "&skip=" + target'
.(($timeouts != 0) ? ' + "&timeouts='.$timeouts.'"' "").';
    }
    else
    {
        window.location = "import.php?skip=" + target'
.(($timeouts != 0) ? ' + "&timeouts='.$timeouts.'"' "").';
    }
}
'
;



//no reload in cronjob = not supported
if(!defined('IN_CRONJOB'))
{
    echo 
'var aktiv = window.setTimeout("checkready()", 15000);';
}
echo 
'</script><body>';

if(
$skip === false)
{
    
//delWorld.lock
    
if(file_exists($folder 'delWorld.lock') && $override != 'LD') die($user->lang['DELETE_IN_PROGRESS'].'<input type="hidden" name="lock" value="(LOCK=LD)" /></body></html>');

    
//importWorld.lock
    
if(file_exists($folder 'importWorld.lock') && $override != 'LI') die($user->lang['IMPORT_IN_PROGRESS'].'<input type="hidden" name="lock" value="(LOCK=LI)" /></body></html>');

    
//getWorld.lock
    
if(file_exists($folder 'getWorld.lock') && $override != 'LG') die($user->lang['DOWNLOAD_IN_PROGRESS'].'<input type="hidden" name="lock" value="(LOCK=LG)" /></body></html>');
    
add_lock($folder"import");
}

$db->sql_return_on_error(true);
if(!
$start_alt)
{
    
$s_time microtime(true);
    
$id = -1;
    foreach(
$files as $file_name => $file_table)
    {
        ++
$id;
        if(
is_numeric($skip) && $id <= $skip)
        {
            
msg('<center>'.sprintf($user->lang['SKIP_FILE'], "$file_name.$fileEx").'</center>'truefalse);
            continue;
        }
        
$f_time microtime(true);
        
$file_name "$file_name.$fileEx";
        
msg('<center>'.sprintf($user->lang['IMPORT_FILE'], $file_name), truefalse);
        if(
file_exists($folder $file_name) && filesize($folder $file_name))
        {
            
$sql "TRUNCATE TABLE $file_table";
            
$db->sql_query($sql);
            
$error $db->_sql_error();
            
$sql "LOAD DATA LOCAL INFILE '".$folder_mysql.$file_name."' INTO TABLE ".$file_table." FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
            if(!(
$result $db->sql_query($sql)))
            {
                
$error $db->_sql_error();
                if(
$error['code'] == 1148)
                {
                    
msg('</center><center>'.$user->lang['LOCAL_INFILE_DISABLED'].'</center>'truefalse);
                    
$sql "LOAD DATA INFILE '".$folder_mysql.$file_name."' INTO TABLE ".$file_table." FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
                    if(!(
$result $db->sql_query($sql)))
                    {
                        
$error $db->_sql_error();
                        if(
$error['code'] != 0)
                        {
                            
msg('</center><center>'.$user->lang['INFILE_DISABLED'].'</center>'truefalse);
                    
$start_alt true;
                    break;
                }
                    }
                    break;
                }
                elseif(
$error['code'] != 0)
                {
                    
msg("<center><font color=\"red\">" $error['message'] . "<font color=\"red\"></center>"truefalse);
                    
$start_alt true;
                    break;
                }    
            }
            else
            {
                
msg(sprintf($user->lang['IMPORT_SUCCESS'], round(microtime(true) - $f_time2)).'</center>'truefalse);
            }
        } else continue;
    }
}

//starting alternative Import
if($start_alt)
{
    
msg('<center>'.$user->lang['IMPORT_ALTERNATIVE'].'</center>'falsefalse);
    
//
    //Truncate tables and import files
    //
    
$start_time microtime(true);
    if(!isset(
$s_time)) $s_time $start_time;
    
$id = -1;
    foreach(
$files as $file_name => $file_table)
    {
        ++
$id;
        if(
is_numeric($skip) && $id $skip)
        {
            
msg('<center>'.sprintf($user->lang['SKIP_FILE'], "$file_name.$fileEx").'</center>'truefalse);
            continue;
        }
        
$f_time microtime(true);
        if(empty(
$file_name) || empty($file_table)) continue;
        
$file_name "$file_name.$fileEx";
        
msg("<center><table><tr>"falsefalse);
        
msg('<td colspan="10" align="center">'.sprintf($user->lang['IMPORT_FILE'], $file_name).'<input type="hidden" name="file" value="FILEID='.$id.'"></center></td></tr><tr>'truefalse);
        if(
file_exists($folder $file_name) && ($file_size filesize($folder $file_name)) && !$skip_lines)
        {
            if(
$debug_modemsg("Truncating table <i>$file_table</i>.");
            
$sql "TRUNCATE TABLE $file_table";
            
$db->sql_query($sql);
            
$error $db->_sql_error();
            if(
$error['code'] != 0msg("ERROR: ".$error['message']);
        } else if(!
$skip_lines) continue;
        
$handle fopen($folder.$file_name,"r");
        
$sql "";
        
$i 0$j 0;
        
$parsed_size $last_msg 0;
        if(
$skip_lines)
        {
            
msg('<input type="hidden" name="parsed" value="ALREADYPARSED='.$skip_lines.'" />'truefalse);
            
fseek($handle$skip_lines);
            
$skip_lines false;
        }
        while(!
feof($handle))
        {
            
$line fgets($handle);
            ++
$j;
            if(
strlen($line) < 1) continue;
            
$parsed_size += strlen($line);
            
$line str_replace(",""','"$line);
            if(
$i == 0$sql "INSERT DELAYED IGNORE INTO $file_table VALUES ('".$line."')";
            else 
$sql .= ",('".$line."')";
            ++
$i;
            
//if $multi_inserts entries are parsed => dump them into the DB
            
if($i >= $multi_inserts)
            {
                
$db->sql_query($sql);
                
msg('<input type="hidden" name="parsed" value="(PARSED='.ftell($handle).')" />'truefalse);
                
$error $db->_sql_error();
                if(
$debug_mode && $error['code'] != 0msg("-> ERROR: ".$error['message']);
                
$i 0;
                if((
microtime(true) - $start_time) > 10)
                {
                    
$calc_time round(10*$parsed_size $file_size0) * 10//Prozent
                    
if((($calc_time $last_msg) >= 10))
                    {
                        
$last_msg $calc_time;
                        
msg("<td style=\"display:inline;\">".$calc_time."%</td>&nbsp;"truefalse);
                    }
                    if((
microtime(true) - $start_time) > 28)
                    {
                        
$max_time ini_get('max_execution_time');
                        
msg(sprintf($user->lang['TIMELIMIT_REACHED'], $max_time$max_time).'</center><p>');
                        
set_time_limit($max_time);
                        if(
$debug_modemsg("Timelimit has been increased"truefalse);
                        
$start_time microtime(true);
                    }
                }
            }
        }
        
fclose($handle);
        
//dump remaining elements
        
if($i 0)
        {
            
$db->sql_query($sql);
            
$error $db->_sql_error();
            if(
$last_msg 100msg("<td align=\"center\">100%</td>"falsefalse);
        }
        
msg("</tr></table></center>"truefalse);
        if (
$error['code'] == || $error['code'] == 1136msg("<center>".sprintf($user->lang['IMPORT_SUCCESS'], round(microtime(true) - $f_time2)).'</center>'truefalse);
        else 
msg("<center><b><font color=\"red\">".$error['message']."</font></b></center>"truefalse);
        
$skip_lines false;
    }
}

set_staemme_config('import_date'time());

if(
$staemme_config['del_after_import'] == 1)
{
    include_once(
"delete.$phpEx");
    
/*
    add_lock($folder, "del");
    foreach($files as $file_name => $file_table)
    {
        $file_name = "$file_name.$fileEx";
        if(file_exists($folder . $file_name))
        {
            if(unlink($folder . $file_name)) msg('<center>'.sprintf($user->lang['DELETE_FILE_SUCCESS'], $folder.$file_name).'</center>');
            else msg('<center>'.sprintf($user->lang['DELETE_FILE_ERROR'], $folder.$file_name).'</center>');
        } else msg('<center>'.sprintf($user->lang['DELETE_FILE_NOFILE'], $folder.$file_name).'</center>');
    }
    remove_lock($folder, "del");
    */
}

remove_lock($folder"import");

msg('<center>'.sprintf($user->lang['IMPORT_FINISHED'], ini_get('max_execution_time') * $timeouts round(microtime(true) - $s_time2)).'<input type="hidden" name="finished" value="FINISHED=1" /></center>'falsefalse);
msg('</body><html>');
?>
[Image: create.php?uid=511]
Reply
#10
mach lieber ein export script das die daten aus der dslan datenbank in eine datei exportiert, das importscript zu ändern ist etwas komplizierter weil man dann mit 2 datenbanken in einem script arbeiten muss
Reply
#11
das Problem ist ja ich weiß nicht wo das Forum die daten einbezieht, also die Variabeln.
[Image: create.php?uid=511]
Reply
#12
das kopiert die dateien eigentlich vom stämme server auf den eigenen webspace und läd die daten dann mit load data local infile in die datenbank.
du muss ein exportscript machen das genau die dateien die auch die stämme anbietet von ds lan erzeugt werden
Reply
#13
ok danke, dann versuche ich es erstmal.
[Image: create.php?uid=511]
Reply




Users browsing this thread: 2 Guest(s)