代码拉取完成,页面将自动刷新
同步操作将从 oldhuhu/DiscuzXPack 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
function check_necessary_extension()
{
$needed = array('curl', 'mbstring');
$not_loaded = '';
foreach ($needed as $ext) {
if (!extension_loaded($ext)) {
$not_loaded .= $ext . ' ';
}
}
if ($not_loaded) {
logging\error("cannot find extension %s", $not_loaded);
exit(1);
}
global $G_HAS_ZIP_COMMAND;
logging\info("trying to find zip and unzip command");
exec('zip -L', $output, $res);
if ($res != 0) {
logging\warning("cannot find zip command");
$G_HAS_ZIP_COMMAND = false;
}
exec('unzip -Z', $output, $res);
if ($res != 0) {
logging\warning("cannot find unzip command");
$G_HAS_ZIP_COMMAND = false;
}
if (!$G_HAS_ZIP_COMMAND) {
if (!extension_loaded('zip')) {
logging\error("cannot find zip extension");
exit(1);
}
}
}
function rrmdir($path)
{
logging\info("removing folder %s", $path);
if (PHP_OS === 'Windows' || PHP_OS === 'WINNT') {
exec(sprintf("rd /s/q \"%s\"", $path));
} else {
exec(sprintf("rm -rf %s", $path));
}
}
function try_mkdir($path, $mode = 0777, $recursive = false)
{
if (file_exists($path)) return;
mkdir($path, $mode, $recursive);
}
function cpdir($from, $to)
{
try_mkdir($to, 0777, true);
logging\info("copying folder %s -> %s", $from, $to);
if (PHP_OS === 'Windows' || PHP_OS === 'WINNT') {
exec(sprintf("xcopy /s/y/q \"%s\" \"%s\"", $from, $to));
} else {
exec(sprintf("cp -r %s/* %s", $from, $to));
}
}
function rmfile($path)
{
logging\info("removing file %s", $path);
unlink($path);
}
function mkdir_of_file($file)
{
try_mkdir(dirname($file), 0777, true);
}
function trimds($s)
{
return rtrim($s, '/');
}
function join_paths()
{
return implode('/', array_map('trimds', func_get_args()));
}
function str_contains($haystack, $needle)
{
return strpos($haystack, $needle) !== FALSE;
}
function starts_with($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
function ends_with($haystack, $needle)
{
$length = strlen($needle);
if ($length == 0) {
return true;
}
return (substr($haystack, -$length) === $needle);
}
function detect_eol($str)
{
static $eols = array(
"\n\r", // 0x0A - 0x0D - acorn BBC
"\r\n", // 0x0D - 0x0A - Windows, DOS OS/2
"\n", // 0x0A - - Unix, OSX
"\r", // 0x0D - - Apple ][, TRS80
);
$curCount = 0;
$curEol = '';
foreach ($eols as $eol) {
if (($count = substr_count($str, $eol)) > $curCount) {
$curCount = $count;
$curEol = $eol;
}
}
return $curEol;
}
function get_release_date()
{
return date('YmdHi', time());
}
function get_hash_from_revision($str) {
$a = explode("-", $str);
return end($a);
}
function check_if_already_done($zipdir) {
process_all_files_with_condition($zipdir, "",
function ($fi) {
return strtolower($fi->getExtension()) === 'zip';
},
function ($from_file, $to_file) {
global $G_RELEASE_REVISION;
$hash = get_hash_from_revision($G_RELEASE_REVISION);
if (strpos($from_file, $hash) !== FALSE) {
logging\info("this revision has been packed, exiting.");
exit(0);
}
});
}
function check_usage($argv) {
if (count($argv) < 4) {
echo "php main.php <branch> <temp working dir> <zip output dir> --clean --skip-download --skip-unzip --skip-package --skip-zip --skip-cleanup";
exit(1);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。