From 65d57a5d24aa0f4973590bb953204082a9523803 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Mon, 20 Dec 2021 10:40:33 +0800 Subject: [PATCH] add git source: HIT --- platform/AliyunFC.php | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/platform/AliyunFC.php b/platform/AliyunFC.php index 7c2414f..7b944ee 100644 --- a/platform/AliyunFC.php +++ b/platform/AliyunFC.php @@ -421,42 +421,27 @@ function setConfigResponse($response) return json_decode($response, true); } -function OnekeyUpate($auth = 'qkqpttgf', $project = 'OneManager-php', $branch = 'master') +function OnekeyUpate($GitSource = 'Github', $auth = 'qkqpttgf', $project = 'OneManager-php', $branch = 'master') { $source = '/tmp/code.zip'; $outPath = '/tmp/'; - // 从github下载对应tar.gz,并解压 - $url = 'https://github.com/' . $auth . '/' . $project . '/tarball/' . urlencode($branch) . '/'; + if ($GitSource=='Github') { + // 从github下载对应tar.gz,并解压 + $url = 'https://github.com/' . $auth . '/' . $project . '/tarball/' . urlencode($branch) . '/'; + } elseif ($GitSource=='HITGitlab') { + $url = 'https://git.hit.edu.cn/' . $auth . '/' . $project . '/-/archive/' . urlencode($branch) . '/' . $project . '-' . urlencode($branch) . '.tar.gz'; + } else return json_encode(['ErrorMessage'=>'Git Source input Error!']); $tarfile = '/tmp/github.tar.gz'; file_put_contents($tarfile, file_get_contents($url)); $phar = new PharData($tarfile); $html = $phar->extractTo($outPath, null, true);//路径 要解压的文件 是否覆盖 // 获取解压出的目录名 -/* - @ob_start(); - passthru('ls /tmp | grep '.$auth.'-'.$project.'',$stat); - $html.='状态:' . $stat . ' - 结果: - '; - $archivefolder = ob_get_clean(); - if (substr($archivefolder,-1)==PHP_EOL) $archivefolder = substr($archivefolder, 0, -1); - $outPath .= $archivefolder; - $html.=htmlspecialchars($archivefolder); - //return $html; -*/ - $tmp = scandir($outPath); - $name = $auth.'-'.$project; - foreach ($tmp as $f) { - if ( substr($f, 0, strlen($name)) == $name) { - $outPath .= $f; - break; - } - } + $outPath = findIndexPath($outPath); // 将目录中文件打包成zip - $zip=new ZipArchive(); + $zip = new ZipArchive(); if($zip->open($source, ZipArchive::CREATE)){ addFileToZip($zip, $outPath); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法 $zip->close(); //关闭处理的zip文件 @@ -483,7 +468,7 @@ function addFileToZip($zip, $rootpath, $path = '') } } } - @closedir($path); + @closedir($handler); } function myErrorHandler($errno, $errstr, $errfile, $errline) {