⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adm_restore.php

📁 这个版本只是修正了一些BUG
💻 PHP
字号:
<?php
/*
	adm_restore.php

	Version  : 1.0.0
	Author   : Tracemouse (tracemouse@msn.com)
	Copyright: http://www.vitci.com
	Writed   : 2003/08/20
	Modified : 2003/12/10
*/
require "./common.php";
$file_name='./adm_restore.php';
$backup_dir='../tempdata/backup';

if(!$importsubmit && !$deletesubmit)
{

    $exportlog = array();
	if(is_dir($backup_dir))
    {
		$dir = dir($backup_dir);
		while($entry = $dir->read())
        {

			$entry = $backup_dir."/".$entry;
			if (is_file($entry) && strtolower(strrchr($entry, ".")) == ".sql")
            {
				$filesize = filesize($entry);
                $fp = fopen($entry, "r");

     			$identify = explode(",", base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", fgets($fp, 256))));
    			fclose ($fp);

				$exportlog[$identify[0]] = array(
                						"version" => $identify[1],
										"type" => $identify[2],
										"multivol" => $identify[3],
										"volume" => $identify[4],
										"filename" => $entry,
										"size" => $filesize
                                        );
			}
		}
		$dir->close();
	}
    else
    {
		gotourl($language['alt_dir_notf']);
	}
	krsort($exportlog);
	reset($exportlog);

  //	$exportinfo = "";
    $filelist = array();
	foreach($exportlog as $dateline => $info)
    {
        $info[dateline] = is_int($dateline) ? gmdate("$dateformat $timeformat", $dateline + $timeoffset * 3600) : "未知";
		switch($info[type])
        {
			case all: $info[type] = $language['all']; break;
			case standard: $info[type] = $language['standard']; break;
			case majority: $info[type] = $language['majority']; break;
		//	case mini: $info[type] = "最小"; break;
		}
		$info[size] = sizecount($info[size]);
		$info[multivol] = $info[multivol] ? $language['yes'] : $language['no'];
		$info[volume] = $info[multivol] ? $info[volume] : "";
        //$info[alert]=($info[version] != strip_tags($version))?" onclick=\"return confirm('导入和当前 Discuz! 版本不一致的数据极有可能产生无法解决的故障,您确定继续吗?');\"":"");
        //$exportinfo .= "<tr align=\"center\"><td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"delete[]\" value=\"$info[filename]\"></td>\n".
        $info['exportinfo']= "<tr class=\"line_1\" align=\"center\"><td><input type=\"checkbox\" name=\"delete[]\" value=\"$info[filename]\"></td>\n".
        "<td><a href=\"$info[filename]\">".substr(strrchr($info[filename], "/"), 1)."</a></td>\n".
		"<td>$info[version]</td>\n".
		"<td>$info[dateline]</td>\n".
		"<td>$info[type]</td>\n".
		"<td>$info[size]</td>\n".
		"<td>$info[multivol]</td>\n".
		"<td>$info[volume]</td>\n".
		"<td>[<a href=\"$file_name?from=server&datafile_server=$info[filename]&importsubmit=yes\"".
		($info['version'] != strip_tags($version) ? " onclick=\"return confirm($language[restore_alert_1]);\"" : "").">$language[into]</a>]</td>\n";

        $filelist[]=$info;
    }
}
elseif($importsubmit)
{
	$readerror = 0;
	if($from == "server")
    {
		$datafile = $datafile_server;
		$datafile_size = @filesize($datafile_server);
	}
	@$fp = fopen($datafile, "r");
	if($datafile_size)
    {
		@flock($fp, 3);
		$sqldump = @fread($fp, $datafile_size);
	}
    else
    {
		$sqldump = @fread($fp, 99999999);
	}
	@fclose($fp);
	if(!$sqldump)
    {
		if($autoimport)
        {
			//updatecache();
			gotourl($language['restore_alert_2']);
		}
        else
        {
	  		gotourl($language['restore_alert_3']);
		}
	}
    elseif(!strpos($sqldump, "VITCI ESHOP Data Dump"))
    {
		gotourl($language['restore_alert_4']);
	}
    else
    {
		$identify = explode(',', base64_decode(preg_replace("/^# Identify:\s*(\w+).*/s", "\\1", substr($sqldump,0, 256))));
	  	$dumpinfo = array('multivol' => $identify[3], 'volume' => intval($identify[4]));

		$sqlquery = splitsql($sqldump);
		unset($sqldump);
		foreach($sqlquery as $sql)
        {
			if(trim($sql) != '')
            {
					$db->query($sql);
			}
		}

		if($dumpinfo['multivol'])
        {
			$datafile_next = str_replace("-$dumpinfo[volume].sql", '-'.($dumpinfo['volume'] + 1).'.sql', $datafile_server);
			if($dumpinfo['volume'] == 1)
            {
				gotourl($language['restore_alert_5'],
						"$file_name?from=server&datafile_server=$datafile_next&autoimport=yes&importsubmit=yes",
						'form');
			}
            elseif($autoimport)
            {
			  	gotourl($language['backup_file']." #$dumpinfo[volume] ".$language['restore_alert_9'], "$file_name?action=import&from=server&datafile_server=$datafile_next&autoimport=yes&importsubmit=yes");
			}
            else
            {
				//updatecache();
				gotourl($language['restore_alert_6']);
			}
		}
        else
        {
			//updatecache();
			gotourl($language['restore_alert_6']);
		}
	}
}
elseif($deletesubmit)
{

	if(is_array($delete))
    {
		foreach($delete as $filename)
        {
			@unlink($filename);
		}
		gotourl($language['restore_alert_7']);
	}
    else
    {
	 	gotourl($language['restore_alert_8']);
	}

}

include template('restore');

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -