Cały skrypt zrobiony przeze mnie. (oprocz funkcji full copy)
Oto kawałek przez który ucina mi połowę pliku, ale nie wiem czemu...
$xml = preg_replace('/premticks="(.*)"/', "premticks=\"$newticks\"", $xml); file_put_contents($path, $xml);
ucina go do wartosci 258B
tutaj caly skrypt
<?php
include ("config.php");
$dirx = $wtfdata . '/houses/';
$database_name = 'licytuj';
$ile=0;
$hostwtf ='127.0.0.1';
$portwtf ='7171';
$failedhouse=0;
$fps = @fsockopen($hostwtf, $portwtf, $errorcode, $errorstring, 0
.5
); if($fps){
echo 'WTF? NOOB HACKERS?'; }
else
{
function full_copy( $source, $target ) {
while ( FALSE !== ( $entry = $d->read() ) ) {
if ( $entry == '.' || $entry == '..' ) {
continue;
}
$Entry = $source . '/' . $entry;
full_copy( $Entry, $target . '/' . $entry );
continue;
}
copy( $Entry, $target . '/' . $entry ); }
$d->close();
}else {
copy( $source, $target ); }
}
echo 'BACKUP DATA STARTED'; $data =date("d.m.Y - H i"); $backup_dir =$backup_folder . $data;
$dir =$backup_dir . '/houses';
$source =$wtfdata .'/houses';
full_copy($source, $dir);
$source =$wtfdata .'/accounts';
$dir =$backup_dir . '/accounts';
full_copy($source, $dir);
$source =$wtfdata .'/players';
$dir =$backup_dir . '/players';
full_copy($source, $dir);
$source =$wtfdata .'/bank';
$dir =$backup_dir . '/bank';
full_copy($source, $dir);
$source =$wtfdata .'/donations';
$dir =$backup_dir . '/donations';
full_copy($source, $dir);
$source =$wtfdata .'/logs';
$dir =$backup_dir . '/logs';
full_copy($source, $dir);
$source =$wtfdata .'/vip';
$dir =$backup_dir . '/vip';
full_copy($source, $dir);
$dir =$backup_dir . '/houseitems.xml';
$source =$wtfdata .'/houseitems.xml';
if (!copy($source, $dir)) { echo "failed to copy $source...n"; }
$dir =$backup_dir . '/queue.xml';
$source =$wtfdata .'/queue.xml';
if (!copy($source, $dir)) { echo "failed to copy $source...n"; }
$dir =$backup_dir . '/guilds.xml';
$source =$wtfdata .'/guilds.xml';
if (!copy($source, $dir)) { echo "failed to copy $source...n"; }
echo '<font color="green">: OK<font color="black"><br><br>'; echo 'HOUSE AUCTION WINNERS<br>'; //connect
mysql_connect($database_host, $database_user, $database_password); // endconnect
//zapytania
or
die('Błšd zapytania');
$name = $r[0];
$ik = mysql_query("SELECT time FROM houses WHERE name='$name'") or
die('Błšd zapytania');
$dato = $l[0];
$wyn = mysql_query("SELECT nick FROM houses WHERE name='$name'") or
die('Błšd zapytania');
$nick = $d[0];
//end zapytania
if ($dato > 2 && $time > $dato){
$path = $dirx . $name . '.xml';
echo ' Could not find path to this house.'; $failedhouse++;
}
{
$xml = preg_replace('/<owner name="(.*)"/', "<owner name=\"$nick\"", $xml); file_put_contents($path, $xml);
$query = "INSERT INTO `ownhouses` (name, owner) VALUES ('$name', '$nick')";
echo '<font color="green"> OK<font color ="black">'; $ile++;
}
}
}
}
}
}
}
}
echo '<br>Houses added: '; if ($failedhouse>0){
echo '<br> Houses add failed: '; }
echo '<br>Current time: ';
echo '<br><br>PACC TIME ADD:<br><br>';
$dir = $wtfdata . '/players/';
$database_name = 'donation';
//connect
mysql_connect($database_host, $database_user, $database_password); // endconect
//zapytania
or
die('Błšd zapytania');
$name = $r[0];
$lol = mysql_query("SELECT points FROM todopremium WHERE nick='$name'") or
die('Błšd zapytania');
$points = $c[0];
}
$newticks=($points*3)*3600000;
$lol = mysql_query("SELECT account FROM todopremium WHERE nick='$name'") or
die('Błšd zapytania');
$accnum = $c[0];
}
$lol = mysql_query("SELECT ip FROM todopremium WHERE nick='$name'") or
die('Błšd zapytania');
$ip = $c[0];
}
$path = $dir . $name . '.xml';
$open_file = fopen($path, "r");
foreach ($tags as $tag)
{
if (substr($tag, 0, 6) == "player") {
if ($temp_pass = stristr($tag, "premticks=\"")) {
$prem = $temp[1];
}
}
}
$newticks=$newticks+$prem;
mysql_query("DELETE FROM todopremium WHERE nick='$name'")
$query = "INSERT INTO `premium` (account, nick, ip, points ) VALUES ('$accnum', '$name', '$ip', '$points')";
$xml = preg_replace('/premticks="(.*)"/', "premticks=\"$newticks\"", $xml); file_put_contents($path, $xml);
echo ' points <font color="green">OK<font color="black"> '; }
else
{
echo ' points <font color="red">Character does not exists. <font color="black">'; }
}
}
}
}
}
}
?>
plik po przypadkowym usunieciu wyglada tak:
<player name="Checkus" account="573500" sex="1" lookdir="1" exp="8394" voc="1" level="9" access="0" namelock="0" cap="460" bless="0" maglevel="14" lastlogin="1279893900" premticks="20"/></inside></item></depot></depots><storage/></player>
Ten post edytował karolciaaa 31.07.2010, 21:39:16