18 Commits
Author SHA1 Message Date
qkqpttgfandGitHub 41350cc604 针对内地某些地方中转链接访问失败 2021-01-15 11:00:36 +08:00
qkqpttgfandGitHub 372a42bc05 curl_req->curl 2021-01-11 10:04:56 +08:00
qkqpttgfandGitHub b8c4cc1312 curl_re->curl 2021-01-11 10:03:54 +08:00
qkqpttgfandGitHub 4e434ede6b Merge pull request #186 from 186526/patch-15
Update renexmoe.html
2021-01-10 19:37:54 +08:00
186526andGitHub 086ac6d3e0 Update renexmoe.html 2021-01-09 19:34:52 +08:00
qkqpttgfandGitHub 26b49c7a69 Merge pull request #185 from 186526/patch-14
Update renexmoe
2021-01-09 14:43:25 +08:00
186526andGitHub 10a071df64 Update renexmoe 2021-01-08 18:46:49 +08:00
root 352a078829 fix: fix bug 2021-01-03 17:10:20 +08:00
root de5ccd74cb fix: modify tag 2021-01-03 16:29:33 +08:00
qkqpttgfandGitHub 218e7e5230 Merge pull request #181 from david082321/patch-2
Update zh-tw language
2021-01-02 21:48:27 +08:00
david082321andGitHub 40eca60aba Update zh-tw language 2021-01-02 20:22:48 +08:00
qkqpttgfandGitHub 67da665f11 only 1 disk will not display drag to sort table 2020-12-29 19:07:17 +08:00
root 6b5c26b897 Modify tags, change sequence of disk 2020-12-27 14:22:18 +08:00
qkqpttgfandGitHub 4d48228d8a Merge pull request #177 from 186526/patch-13
Fix PJAX bug && login bug
2020-12-27 14:11:16 +08:00
186526andGitHub 20d210945e Fix PJAX bug && login bug 2020-12-27 00:00:52 +08:00
qkqpttgfandGitHub 95a62a9d81 Update readme.md 2020-12-22 11:31:59 +08:00
qkqpttgfandGitHub 6ed09dde72 Merge pull request #172 from 186526/patch-12
Update renexmoe.html
2020-12-17 20:22:31 +08:00
186526andGitHub bc38d419e0 Update renexmoe.html 2020-12-17 19:41:53 +08:00
12 changed files with 473 additions and 164 deletions
+138 -12
View File
@@ -1722,13 +1722,14 @@ function get_refresh_token()
<input type="text" name="sharepointSiteAddress" style="width:100%" placeholder="'.getconstStr('InputSharepointSiteAddress').'"><br>
</div>
</div>
<br>
<input type="submit" value="'.getconstStr('Submit').'">
<br>';
if ($_SERVER['language']=='zh-cn') $html .= '你要理解 scfonedrive.github.io 是github上的静态网站,<br>除非github真的挂掉了,<br>不然,稍后你如果连不上,请检查你的运营商或其它“你懂的”问题!<br>';
$html .='
<input type="submit" value="' . getconstStr('Submit') . '">
</form>
</div>
<script>
function notnull(t)
{
function notnull(t) {
if (t.disktag_add.value==\'\') {
alert(\''.getconstStr('OnedriveDiskTag').'\');
return false;
@@ -1738,7 +1739,7 @@ function get_refresh_token()
alert("Do not input ' . $envs . '");
return false;
}
var reg = /^[a-zA-Z]([-_a-zA-Z0-9]{1,20})$/;
var reg = /^[a-zA-Z]([_a-zA-Z0-9]{1,20})$/;
if (!reg.test(t.disktag_add.value)) {
alert(\''.getconstStr('TagFormatAlert').'\');
return false;
@@ -1776,11 +1777,15 @@ function get_refresh_token()
function EnvOpt($needUpdate = 0)
{
global $constStr;
global $CommonEnv;
global $ShowedCommonEnv;
global $ShowedInnerEnv;
global $timezones;
asort($ShowedCommonEnv);
asort($ShowedInnerEnv);
$envs = '';
foreach ($CommonEnv as $env) $envs .= '\'' . $env . '\', ';
$html = '<title>OneManager '.getconstStr('Setup').'</title>';
if (isset($_POST['updateProgram'])&&$_POST['updateProgram']==getconstStr('updateProgram')) {
$response = setConfigResponse(OnekeyUpate($_POST['auth'], $_POST['project'], $_POST['branch']));
@@ -1798,9 +1803,26 @@ function EnvOpt($needUpdate = 0)
if (isset($_POST['submit1'])) {
$_SERVER['disk_oprating'] = '';
foreach ($_POST as $k => $v) {
if (in_array($k, $ShowedCommonEnv)||in_array($k, $ShowedInnerEnv)||$k=='disktag_del' || $k=='disktag_add') {
if (in_array($k, $ShowedCommonEnv) || in_array($k, $ShowedInnerEnv) || $k=='disktag_del' || $k=='disktag_add' || $k=='disktag_rename') {
$tmp[$k] = $v;
}
if ($k=='disktag_newname') {
$v = preg_replace('/[^0-9a-zA-Z|_]/i', '', $v);
$f = substr($v, 0, 1);
if (strlen($v)==1) $v .= '_';
if (in_array($v, $CommonEnv)) {
return message('Do not input ' . $envs . '<br><button onclick="location.href = location.href;">'.getconstStr('Refresh').'</button><script>document.cookie=\'disktag=; path=/\';</script>', 'Error', 201);
} elseif (!(('a'<=$f && $f<='z') || ('A'<=$f && $f<='Z'))) {
return message('Please start with letters');
} else {
$tmp[$k] = $v;
}
}
if ($k=='disktag_sort') {
$td = implode('|', json_decode($v));
if (strlen($td)==strlen(getConfig('disktag'))) $tmp['disktag'] = $td;
else return message('Something wrong.');
}
if ($k == 'disk') $_SERVER['disk_oprating'] = $v;
}
/*if ($tmp['domain_path']!='') {
@@ -1817,7 +1839,6 @@ function EnvOpt($needUpdate = 0)
$html = api_error_msg($response);
$title = 'Error';
} else {
//WaitSCFStat();
$html .= getconstStr('Success') . '!<br>
<button onclick="location.href = location.href;">'.getconstStr('Refresh').'</button>';
$title = getconstStr('Setup');
@@ -1896,18 +1917,102 @@ function EnvOpt($needUpdate = 0)
<tr><td><input type="submit" name="submit1" value="'.getconstStr('Setup').'"></td></tr>
</form>
</table><br>';
foreach (explode("|",getConfig('disktag')) as $disktag) {
$disktags = explode('|', getConfig('disktag'));
if (count($disktags)>1) {
$html .= '
<script src="//cdn.bootcss.com/Sortable/1.8.3/Sortable.js"></script>
<style>
.sortable-ghost {
opacity: 0.4;
background-color: #1748ce;
}
#sortdisks td {
cursor: move;
}
</style>
<table border=1>
<form id="sortdisks_form" action="" method="post" style="margin: 0" onsubmit="return dragsort(this);">
<tr id="sortdisks">
<input type="hidden" name="disktag_sort" value="">';
$num = 0;
foreach ($disktags as $disktag) {
if ($disktag!='') {
$num++;
$html .= '
<td>' . $disktag . '</td>';
}
}
$html .= '
</tr>
<tr><td colspan="' . $num . '">' . getconstStr('DragSort') . '<input type="submit" name="submit1" value="' . getconstStr('SubmitSortdisks') . '"></td></tr>
</form>
</table>
<script>
var disks=' . json_encode($disktags) . ';
function change(arr, oldindex, newindex) {
//console.log(oldindex + "," + newindex);
tmp=arr.splice(oldindex-1, 1);
if (oldindex > newindex) {
tmp1=JSON.parse(JSON.stringify(arr));
tmp1.splice(newindex-1, arr.length-newindex+1);
tmp2=JSON.parse(JSON.stringify(arr));
tmp2.splice(0, newindex-1);
} else {
tmp1=JSON.parse(JSON.stringify(arr));
tmp1.splice(newindex-1, arr.length-newindex+1);
tmp2=JSON.parse(JSON.stringify(arr));
tmp2.splice(0, newindex-1);
}
arr=tmp1.concat(tmp, tmp2);
//console.log(arr);
return arr;
}
function dragsort(t) {
if (t.disktag_sort.value==\'\') {
alert(\'' . getconstStr('DragSort') . '\');
return false;
}
envs = [' . $envs . '];
if (envs.indexOf(t.disktag_sort.value)>-1) {
alert("Do not input ' . $envs . '");
return false;
}
return true;
}
Sortable.create(document.getElementById(\'sortdisks\'), {
animation: 150,
onEnd: function (evt) { //拖拽完毕之后发生该事件
//console.log(evt.oldIndex);
//console.log(evt.newIndex);
if (evt.oldIndex!=evt.newIndex) {
disks=change(disks, evt.oldIndex, evt.newIndex);
document.getElementById(\'sortdisks_form\').disktag_sort.value=JSON.stringify(disks);
}
}
});
</script><br>';
}
foreach ($disktags as $disktag) {
if ($disktag!='') {
$html .= '
<table border=1 width=100%>
<form action="" method="post">
<tr>
<td colspan="2">'.$disktag.'
<td>
<form action="" method="post" style="margin: 0">
<input type="hidden" name="disktag_del" value="'.$disktag.'">
<input type="submit" name="submit1" value="'.getconstStr('DelDisk').'">
</form>
</td>
<td>
<form action="" method="post" style="margin: 0" onsubmit="return renametag(this);">
<input type="hidden" name="disktag_rename" value="'.$disktag.'">
<input type="text" name="disktag_newname" value="'.$disktag.'">
<input type="submit" name="submit1" value="'.getconstStr('RenameDisk').'">
</form>
</td>
</tr>
</form>';
';
if (getConfig('refresh_token', $disktag)!='') {
$html .= '
<form name="'.$disktag.'" action="" method="post">
@@ -1920,7 +2025,7 @@ function EnvOpt($needUpdate = 0)
</tr>';
}
$html .= '
<tr><td><input type="submit" name="submit1" value="'.getconstStr('Setup').'"></td></tr>
<tr><td></td><td><input type="submit" name="submit1" value="'.getconstStr('Setup').'"></td></tr>
</form>';
} else {
$html .= '
@@ -1968,6 +2073,27 @@ function EnvOpt($needUpdate = 0)
<input type="submit" name="updateProgram" value="'.getconstStr('updateProgram').'">
</form>
<script>
function renametag(t) {
if (t.disktag_newname.value==\'\') {
alert(\''.getconstStr('OnedriveDiskTag').'\');
return false;
}
if (t.disktag_newname.value==t.disktag_rename.value) {
return false;
}
envs = [' . $envs . '];
if (envs.indexOf(t.disktag_newname.value)>-1) {
alert("Do not input ' . $envs . '");
return false;
}
var reg = /^[a-zA-Z]([_a-zA-Z0-9]{1,20})$/;
if (!reg.test(t.disktag_newname.value)) {
alert(\''.getconstStr('TagFormatAlert').'\');
return false;
}
return true;
}
function querybranchs()
{
var xhr = new XMLHttpRequest();
+17 -2
View File
@@ -127,7 +127,7 @@ $constStr = [
'Onedrive_ver' => 'Onedrive版本',
],
'zh-tw' => [
'admin' => '管理密碼,不添加時不顯示登入頁面且無法登入。',
'admin' => '管理密碼,不設定密碼將不顯示登入頁面且無法登入。',
'adminloginpage' => '如果設定,登入按鈕及頁面隱藏。管理登入的頁面不再是\'?admin\',而是\'?此設置的值\'。',
'autoJumpFirstDisk' => '用於多盤,如果設1,將會自動跳到第一個盤。',
'customScript' => '<script>,在所有頁都會存在,例如放一個http跳轉https',
@@ -311,6 +311,16 @@ $constStr = [
'ko-kr' => '플랫폼 변수',
'fa' => 'پیکربندی پلتفرم',
],
'DragSort' => [
'en-us' => 'Drag to Sort Disk',
'zh-cn' => '拖拽改变顺序',
'zh-tw' => '拖曳改變順序',
],
'SubmitSortdisks' => [
'en-us' => 'Submit Sort',
'zh-cn' => '确认排序',
'zh-tw' => '確認排序',
],
'DelDisk' => [
'en-us' => 'Del This Disk',
'zh-cn' => '删除此盘',
@@ -319,10 +329,15 @@ $constStr = [
'ko-kr' => '이 디스크를 삭제',
'fa' => 'پاک کردن این دیسک',
],
'RenameDisk' => [
'en-us' => 'Rename Disk Tag',
'zh-cn' => '改变标签',
'zh-tw' => '修改標籤',
],
'AddDisk' => [
'en-us' => 'Add Onedrive Disk',
'zh-cn' => '添加Onedrive盘',
'zh-tw' => '添加Onedrive盤',
'zh-tw' => '新增Onedrive盤',
'ja' => 'Onedriveを追加',
'ko-kr' => 'Onedrive 추가',
'fa' => 'اضافه کردن دیسک Onedrive',
+13 -5
View File
@@ -78,11 +78,11 @@ function setConfig($arr, $disktag = '')
global $InnerEnv;
global $Base64Env;
if ($disktag=='') $disktag = $_SERVER['disktag'];
$disktags = explode("|",getConfig('disktag'));
$disktags = explode("|", getConfig('disktag'));
$diskconfig = json_decode(getenv($disktag), true);
$tmp = [];
$indisk = 0;
$oparetdisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
if (in_array($k, $InnerEnv)) {
if (in_array($k, $Base64Env)) $diskconfig[$k] = base64y_encode($v);
@@ -90,11 +90,13 @@ function setConfig($arr, $disktag = '')
$indisk = 1;
} elseif ($k=='disktag_add') {
array_push($disktags, $v);
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_del') {
$disktags = array_diff($disktags, [ $v ]);
$tmp[$v] = '';
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $tmp[$k] = base64y_encode($v);
else $tmp[$k] = $v;
@@ -105,12 +107,18 @@ function setConfig($arr, $disktag = '')
ksort($diskconfig);
$tmp[$disktag] = json_encode($diskconfig);
}
if ($oparetdisk) {
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$tmp['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$tmp[$arr['disktag_newname']] = getConfig($arr['disktag_rename']);
$tmp[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $tmp['disktag'] = substr($disktag_s, 0, -1);
else $tmp['disktag'] = '';
}
}
// echo '正式设置:'.json_encode($tmp,JSON_PRETTY_PRINT).'
//';
$response = updateEnvironment($tmp, $_SERVER['accountId'], $_SERVER['region'], $_SERVER['service_name'], $_SERVER['function_name'], getConfig('AccessKeyID'), getConfig('AccessKeySecret'));
+12 -4
View File
@@ -72,7 +72,7 @@ function setConfig($arr, $disktag = '')
$diskconfig = json_decode(getenv($disktag), true);
$tmp = [];
$indisk = 0;
$oparetdisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
if (in_array($k, $InnerEnv)) {
if (in_array($k, $Base64Env)) $diskconfig[$k] = base64y_encode($v);
@@ -80,11 +80,13 @@ function setConfig($arr, $disktag = '')
$indisk = 1;
} elseif ($k=='disktag_add') {
array_push($disktags, $v);
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_del') {
$disktags = array_diff($disktags, [ $v ]);
$tmp[$v] = '';
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $tmp[$k] = base64y_encode($v);
else $tmp[$k] = $v;
@@ -95,12 +97,18 @@ function setConfig($arr, $disktag = '')
ksort($diskconfig);
$tmp[$disktag] = json_encode($diskconfig);
}
if ($oparetdisk) {
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$tmp['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$tmp[$arr['disktag_newname']] = getConfig($arr['disktag_rename']);
$tmp[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $tmp['disktag'] = substr($disktag_s, 0, -1);
else $tmp['disktag'] = '';
}
}
// echo '正式设置:'.json_encode($tmp,JSON_PRETTY_PRINT).'
//';
$response = updateEnvironment($tmp, getConfig('SecretId'), getConfig('SecretKey'));
+13 -5
View File
@@ -83,7 +83,7 @@ function setConfig($arr, $disktag = '')
$diskconfig = json_decode(getenv($disktag), true);
$tmp = [];
$indisk = 0;
$oparetdisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
if (in_array($k, $InnerEnv)) {
if (in_array($k, $Base64Env)) $diskconfig[$k] = base64y_encode($v);
@@ -91,11 +91,13 @@ function setConfig($arr, $disktag = '')
$indisk = 1;
} elseif ($k=='disktag_add') {
array_push($disktags, $v);
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_del') {
$disktags = array_diff($disktags, [ $v ]);
$tmp[$v] = '';
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $tmp[$k] = base64y_encode($v);
else $tmp[$k] = $v;
@@ -106,11 +108,17 @@ function setConfig($arr, $disktag = '')
ksort($diskconfig);
$tmp[$disktag] = json_encode($diskconfig);
}
if ($oparetdisk) {
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$tmp['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$tmp[$arr['disktag_newname']] = getConfig($arr['disktag_rename']);
$tmp[$arr['disktag_rename']] = null;
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $tmp['disktag'] = substr($disktag_s, 0, -1);
else $tmp['disktag'] = '';
else $tmp['disktag'] = null;
}
}
foreach ($tmp as $key => $val) if ($val=='') $tmp[$key]=null;
// echo '正式设置:'.json_encode($tmp,JSON_PRETTY_PRINT).'
+12 -4
View File
@@ -96,7 +96,7 @@ function setConfig($arr, $disktag = '')
$diskconfig = json_decode($contextUserData->getUserData($disktag), true);
$tmp = [];
$indisk = 0;
$oparetdisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
if (in_array($k, $InnerEnv)) {
if (in_array($k, $Base64Env)) $diskconfig[$k] = base64y_encode($v);
@@ -104,11 +104,13 @@ function setConfig($arr, $disktag = '')
$indisk = 1;
} elseif ($k=='disktag_add') {
array_push($disktags, $v);
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_del') {
$disktags = array_diff($disktags, [ $v ]);
$tmp[$v] = '';
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $tmp[$k] = base64y_encode($v);
else $tmp[$k] = $v;
@@ -119,12 +121,18 @@ function setConfig($arr, $disktag = '')
ksort($diskconfig);
$tmp[$disktag] = json_encode($diskconfig);
}
if ($oparetdisk) {
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$tmp['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$tmp[$arr['disktag_newname']] = getConfig($arr['disktag_rename']);
$tmp[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $tmp['disktag'] = substr($disktag_s, 0, -1);
else $tmp['disktag'] = '';
}
}
// echo '正式设置:'.json_encode($tmp,JSON_PRETTY_PRINT).'
//';
$response = updateEnvironment($tmp, getConfig('HW_urn'), getConfig('HW_key'), getConfig('HW_secret'));
+9 -1
View File
@@ -118,6 +118,8 @@ function setConfig($arr, $disktag = '')
$disktags = array_diff($disktags, [ $v ]);
$envs[$v] = '';
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $envs[$k] = base64y_encode($v);
else $envs[$k] = $v;
@@ -130,11 +132,17 @@ function setConfig($arr, $disktag = '')
$envs[$disktag] = $diskconfig;
}
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$envs['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$envs[$arr['disktag_newname']] = $envs[$arr['disktag_rename']];
$envs[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $envs['disktag'] = substr($disktag_s, 0, -1);
else $envs['disktag'] = '';
}
}
$envs = array_filter($envs, 'array_value_isnot_null');
ksort($envs);
$response = updateEnvironment($envs, getConfig('HW_urn'), getConfig('HW_key'), getConfig('HW_secret'));
@@ -340,7 +348,7 @@ function getfunctioncode($HW_urn, $HW_key, $HW_secret)
' . '/' . $bucket . '/' . $path;
$signature = base64_encode(hash_hmac('sha1', $StringToSign, $HW_secret, true));
$response = curl_request($url, false, [ 'Authorization' => 'OBS ' . $HW_key . ':' . $signature, 'x-obs-date' => $date, 'Content-Type' => '' ]);
$response = curl('GET', $url, false, [ 'Authorization' => 'OBS ' . $HW_key . ':' . $signature, 'x-obs-date' => $date, 'Content-Type' => '' ]);
//if ($response['stat']==200) return $response['body'];
if ($response['stat']==0) return json_encode( [ 'error_code' => 'Network', 'error_msg' => 'Network error in getting code.' ] );
else return $response['body'];
+10 -1
View File
@@ -99,7 +99,7 @@ function setConfig($arr, $disktag = '')
//$configs = substr($s, 18, -2);
$configs = '{' . splitlast(splitfirst($s, '{')[1], '}')[0] . '}';
if ($configs!='') $envs = json_decode($configs, true);
$disktags = explode("|",getConfig('disktag'));
$disktags = explode("|", getConfig('disktag'));
$indisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
@@ -114,6 +114,8 @@ function setConfig($arr, $disktag = '')
$disktags = array_diff($disktags, [ $v ]);
$envs[$v] = '';
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $envs[$k] = base64y_encode($v);
else $envs[$k] = $v;
@@ -126,13 +128,20 @@ function setConfig($arr, $disktag = '')
$envs[$disktag] = $diskconfig;
}
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$envs['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$envs[$arr['disktag_newname']] = $envs[$arr['disktag_rename']];
unset($envs[$arr['disktag_rename']]);
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $envs['disktag'] = substr($disktag_s, 0, -1);
else $envs['disktag'] = '';
}
}
$envs = array_filter($envs, 'array_value_isnot_null');
ksort($envs);
//echo '<pre>'. json_encode($envs, JSON_PRETTY_PRINT).'</pre>';
$prestr = '<?php $configs = \'' . PHP_EOL;
$aftstr = PHP_EOL . '\';';
+12 -4
View File
@@ -79,7 +79,7 @@ function setConfig($arr, $disktag = '')
$diskconfig = json_decode(getenv($disktag), true);
$tmp = [];
$indisk = 0;
$oparetdisk = 0;
$operatedisk = 0;
foreach ($arr as $k => $v) {
if (in_array($k, $InnerEnv)) {
if (in_array($k, $Base64Env)) $diskconfig[$k] = base64y_encode($v);
@@ -87,11 +87,13 @@ function setConfig($arr, $disktag = '')
$indisk = 1;
} elseif ($k=='disktag_add') {
array_push($disktags, $v);
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_del') {
$disktags = array_diff($disktags, [ $v ]);
$tmp[$v] = '';
$oparetdisk = 1;
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $tmp[$k] = base64y_encode($v);
else $tmp[$k] = $v;
@@ -102,12 +104,18 @@ function setConfig($arr, $disktag = '')
ksort($diskconfig);
$tmp[$disktag] = json_encode($diskconfig);
}
if ($oparetdisk) {
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$tmp['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$tmp[$arr['disktag_newname']] = getConfig($arr['disktag_rename']);
$tmp[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $tmp['disktag'] = substr($disktag_s, 0, -1);
else $tmp['disktag'] = '';
}
}
// echo '正式设置:'.json_encode($tmp,JSON_PRETTY_PRINT).'
//';
$response = updateEnvironment($tmp, $_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], getConfig('SecretId'), getConfig('SecretKey'));
+9 -1
View File
@@ -103,6 +103,8 @@ function setConfig($arr, $disktag = '')
$disktags = array_diff($disktags, [ $v ]);
$envs[$v] = '';
$operatedisk = 1;
} elseif ($k=='disktag_rename' || $k=='disktag_newname') {
if ($arr['disktag_rename']!=$arr['disktag_newname']) $operatedisk = 1;
} else {
if (in_array($k, $Base64Env)) $envs[$k] = base64y_encode($v);
else $envs[$k] = $v;
@@ -115,11 +117,17 @@ function setConfig($arr, $disktag = '')
$envs[$disktag] = $diskconfig;
}
if ($operatedisk) {
if (isset($arr['disktag_newname']) && $arr['disktag_newname']!='') {
$envs['disktag'] = str_replace($arr['disktag_rename'], $arr['disktag_newname'], getConfig('disktag'));
$envs[$arr['disktag_newname']] = $envs[$arr['disktag_rename']];
$envs[$arr['disktag_rename']] = '';
} else {
$disktags = array_unique($disktags);
foreach ($disktags as $disktag) if ($disktag!='') $disktag_s .= $disktag . '|';
if ($disktag_s!='') $envs['disktag'] = substr($disktag_s, 0, -1);
else $envs['disktag'] = '';
}
}
$envs = array_filter($envs, 'array_value_isnot_null');
ksort($envs);
$response = updateEnvironment($envs, $_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], getConfig('SecretId'), getConfig('SecretKey'));
@@ -539,7 +547,7 @@ function updateProgram($function_name, $Region, $Namespace, $SecretId, $SecretKe
$headers['X-TC-Timestamp'] = $timestamp;
$headers['X-TC-Version'] = $version;
$headers['X-TC-Region'] = $region;
return curl_request('https://'.$host, $payload, $headers)['body'];
return curl('POST', 'https://'.$host, $payload, $headers)['body'];
}
function api_error($response)
+10
View File
@@ -104,5 +104,15 @@ If there is 'index.html' file, program will only show the content of 'index.html
Click 'EditTime' or 'Size', the list will sort by time or size, Click 'File' can resume sort.
点击“时间”、“大小”,可以排序显示,点“文件”恢复原样。
# Functional files 功能性文件
### favicon.ico
put it in the showing home folder of FIRST disk (maybe not root of onedrive). 放在第一个盘的显示目录(不一定是onedrive根目录)。
### index.html
show content of index.html as html. 将index.html以静态网页显示出来。
### head.md readme.md
it will showed at top or bottom as markdown. 以MD语法显示在顶部或底部。
### head.omf foot.omf
it will showed at top or bottom as html (javascript works!). 以html显示在顶部或底部(可以跑js)。
QQ Group: 943919989 (请看完上面的中英双语再加群,谢谢!)
Telegram Group: https://t.me/joinchat/I_RVc0bqxuxlT-d0cO7ozw
+161 -68
View File
@@ -1,18 +1,23 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link rel="preconnect" href="https://cdn.jsdelivr.net">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="preconnect" href="https://renexmoe.vercel.app">
<link rel="preconnect" href="https://cdn.jsdelivr.net" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" />
<link rel="preconnect" href="https://renexmoe.vercel.app" />
<meta charset="utf-8" />
<link rel="shortcut icon" href="<!--base_path-->favicon.ico" type="image/x-icon">
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no" />
<title>
<!--Title-->
</title>
<meta name="description" content="A Onemanager-PHP site with Theme-renexmoe">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v0.5/css/app.css"><meta name="theme-color" content="#fff" />
<link
rel="shortcut icon"
href="<!--base_path-->favicon.ico"
type="image/x-icon"
/>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"
/>
<title><!--Title--></title>
<meta name="description" content="A Onemanager-PHP site with Theme-renexmoe" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v1.1.2/css/app.css"><meta name="theme-color" content="#fff" />
<!--BackgroundStart-->
<style>
body {
@@ -20,15 +25,18 @@
background-repeat: no-repeat;
background-size: cover;
background-attachment: fixed;
background-image: var(--bg)
background-image: var(--bg);
}
.mdui-shadow-3 {
background: rgba(255, 255, 255, 0.5)
background: rgba(255, 255, 255, 0.5);
}
</style>
<script>window.disableddarkmode = true;</script>
<script>
window.disableddarkmode = true;
</script>
<!--BackgroundEnd-->
</head>
<body
class="mdui-appbar-with-toolbar mdui-theme-layout-auto mdui-loaded mdui-theme-accent-pink"
@@ -76,19 +84,36 @@
<div class="mdui-drawer mdui-drawer-close" id="main-drawer">
<div class="mdui-list" mdui-collapse="{accordion: true}">
<!--LoginStart-->
<li class="mdui-list-item mdui-ripple" href="javascript:void(0);" mdui-dialog="{target: '#login_input'}"><a
class="mdui-list-item-icon mdui-icon material-icons">account_circle</a><a
class="mdui-list-item-content">登录</a></li>
<li
class="mdui-list-item mdui-ripple"
href="javascript:void(0);"
mdui-dialog="{target: '#login_input'}"
>
<a class="mdui-list-item-icon mdui-icon material-icons">account_circle</a
><a class="mdui-list-item-content">登录</a>
</li>
<!--LoginEnd-->
<!--AdminStart-->
<li class="mdui-list-item mdui-ripple" href="?setup"><a class="mdui-list-item-icon mdui-icon material-icons"
href="?setup">account_circle</a><a class="mdui-list-item-content" href="?setup">管理</a></li>
<li class="mdui-list-item mdui-ripple" onclick='document.cookie=null;window.location.reload();'><i
class="mdui-icon material-icons mdui-list-item-icon">exit_to_app</i>
<div class="mdui-list-item-content">退出登陆</div>
<li class="mdui-list-item mdui-ripple" href="?setup">
<a class="mdui-list-item-icon mdui-icon material-icons" href="?setup"
>account_circle</a
><a class="mdui-list-item-content" href="?setup">管理</a>
</li>
<li
class="mdui-list-item mdui-ripple"
onclick="document.cookie=``;window.location.reload();"
id="logout"
>
<i class="mdui-icon material-icons mdui-list-item-icon">exit_to_app</i>
<div class="mdui-list-item-content">退出登陆</div>
</li>
<li class="mdui-list-item mdui-ripple" id="checkupdate">
<i class="mdui-icon material-icons mdui-list-item-icon">update</i>
<div class="mdui-list-item-content">检查主题更新</div>
</li>
<div class="mdui-divider"></div>
<!--AdminEnd-->
<div class="mdui-divider"></div>
<li
class="mdui-list-item mdui-ripple"
href="javascript:void(0);"
@@ -111,8 +136,6 @@
<!--MultiDisksStart--><a
href="<!--MultiDisksUrl-->"
class="mdui-list-item mdui-ripple"
<!--MultiDisksNow--
>
><i class="mdui-list-item-icon mdui-icon material-icons">cloud</i>
<div class="mdui-list-item-content">
<!--MultiDisksName-->
@@ -124,7 +147,7 @@
<a
href="https://github.com/qkqpttgf/OneManager-php"
class="mdui-list-item mdui-ripple mdui-hidden-sm-up"
class="mdui-list-item mdui-ripple"
><i class="mdui-list-item-icon mdui-icon material-icons">code</i>
<div class="mdui-list-item-content">Github</div>
</a>
@@ -141,41 +164,86 @@
<div class="mdui-container">
<ul class="mdui-menu" id="admin-menu">
<li class="mdui-menu-item"><a href="javascript:;" class="mdui-ripple back"><i
class="mdui-menu-item-icon mdui-icon material-icons">arrow_back</i>返回上一页</a></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple back"
><i class="mdui-menu-item-icon mdui-icon material-icons">arrow_back</i
>返回上一页</a
>
</li>
<!--AdminStart-->
<li class="mdui-menu-item"><a href="javascript:;" class="mdui-ripple refresh"><i
class="mdui-menu-item-icon mdui-icon material-icons">refresh</i>刷新缓存</a></li>
<li class="mdui-menu-item">
<a href="javascript:;" class="mdui-ripple refresh"
><i class="mdui-menu-item-icon mdui-icon material-icons">refresh</i
>刷新缓存</a
>
</li>
<!--AdminEnd-->
</ul>
<i id="mouseplace" style="position: absolute;"></i> <!--EncryptedStart-->
<div class="mdui-col-md-6 mdui-col-offset-md-3"><br>
<i id="mouseplace" style="position: absolute"></i>
<form action="?admin" method="post">
<div class="mdui-dialog" id="login_input">
<div class="mdui-dialog-title">登录</div>
<div class="mdui-dialog-content" style="height: 108px">
<div class="mdui-textfield mdui-textfield-floating-label">
<i class="mdui-icon material-icons">lock</i
><label class="mdui-textfield-label">密码</label
><input class="mdui-textfield-input" name="password1" type="new-password" />
</div>
</div>
<div class="mdui-dialog-actions">
<button class="mdui-btn mdui-ripple" mdui-dialog-close="">取消</button
><button class="mdui-btn mdui-ripple" type="submit" value="登录">
登录
</button>
</div>
</div>
</form>
<!--EncryptedStart-->
<div class="mdui-col-md-6 mdui-col-offset-md-3">
<br />
<center>
<div class="mdui-typo-title">这是一个受保护的文件夹,您需要提供访问密码才能查看。</div>
<div class="mdui-typo-title">
这是一个受保护的文件夹,您需要提供访问密码才能查看。
</div>
</center>
<form action="" method="post">
<div class="mdui-textfield mdui-textfield-floating-label"><i
class="mdui-icon material-icons">https</i><label class="mdui-textfield-label">
<!--constStr@InputPassword--></label><input name="password1" class="mdui-textfield-input"
type="password" /></div><br><button type="submit"
class="mdui-center mdui-btn mdui-btn-raised mdui-ripple mdui-color-theme"><i
class="mdui-icon material-icons">fingerprint</i>
<!--constStr@Submit--></button>
<div class="mdui-textfield mdui-textfield-floating-label">
<i class="mdui-icon material-icons">https</i
><label class="mdui-textfield-label"> <!--constStr@InputPassword--></label
><input name="password1" class="mdui-textfield-input" type="password" />
</div>
<br /><button
type="submit"
class="mdui-center mdui-btn mdui-btn-raised mdui-ripple mdui-color-theme"
>
<i class="mdui-icon material-icons">fingerprint</i>
<!--constStr@Submit-->
</button>
</form>
</div>
<!--EncryptedEnd-->
<!--IsFolderStart-->
<!--HeadomfStart-->
<div class="mdui-typo mdui-shadow-3" style="padding: 20px;margin: 20px 0">
<div class="mdui-typo mdui-shadow-3" style="padding: 20px; margin: 20px 0">
<!--HeadomfContent-->
</div>
<!--HeadomfEnd-->
<!--HeadmdStart-->
<div class="mdui-chip mdui-ripple mdui-hidden-xs"><span class="mdui-chip-icon"><i
class="mdui-icon material-icons">face</i></span><span class="mdui-chip-title">HEAD.md</span></div>
<div class="mdui-typo mdui-shadow-3 markdown" style="padding: 20px;margin: 20px 0" id="head"><textarea
id="head-md"><!--HeadmdContent--></textarea></div>
<div class="mdui-chip mdui-ripple mdui-hidden-xs">
<span class="mdui-chip-icon"
><i class="mdui-icon material-icons">face</i></span
><span class="mdui-chip-title">HEAD.md</span>
</div>
<div
class="mdui-typo mdui-shadow-3 markdown"
style="padding: 20px; margin: 20px 0"
id="head"
>
<pre><code id="head-md"><!--HeadmdContent--></code></pre>
</div>
<!--HeadmdEnd-->
<div
class="mdui-row mdui-shadow-3"
style="padding: 5px; margin: 20px 0; border-radius: 8px"
@@ -292,23 +360,31 @@
</ul>
</div>
<!--ReadmemdStart-->
<div class="mdui-chip mdui-ripple mdui-hidden-xs"><span class="mdui-chip-icon"><i
class="mdui-icon material-icons">face</i></span><span class="mdui-chip-title">README.md</span></div>
<div class="mdui-typo mdui-shadow-3 markdown" style="padding: 20px;margin: 20px 0" id="readme"><textarea
id="readme-md"><!--ReadmemdContent--></textarea></div>
<div class="mdui-chip mdui-ripple mdui-hidden-xs">
<span class="mdui-chip-icon"
><i class="mdui-icon material-icons">face</i></span
><span class="mdui-chip-title">README.md</span>
</div>
<div
class="mdui-typo mdui-shadow-3 markdown"
style="padding: 20px; margin: 20px 0"
id="readme"
>
<pre><code id="readme-md"><!--ReadmemdContent--></code></pre>
</div>
<!--ReadmemdEnd-->
<!--FootomfStart-->
<div class="mdui-typo mdui-shadow-3" style="padding: 20px;margin: 20px 0">
<!--FootomfContent-->
<div class="mdui-typo mdui-shadow-3" style="padding: 20px; margin: 20px 0">
<!--FootomfContent-->
</div>
<!--FootomfEnd-->
<!--IsFolderEnd-->
<!--IsFileStart-->
<div id="file">
<!--IsimgFileStart-->
<img class="mdui-img-fluid mdui-center mdui-m-t-5" src="<!--FileDownUrl-->" />
<!--IsimgFileEnd-->
<!--IsmusicFileStart-->
<audio
class="mdui-center"
@@ -328,16 +404,17 @@ id="readme-md"><!--ReadmemdContent--></textarea></div>
</p>
</video>
<!--IsvideoFileEnd-->
<!--IsofficeFileStart-->
<iframe id="office-a" src="https://view.officeapps.live.com/op/view.aspx?src=<!--FileEncodeDownUrl-->"
style="width: 100%;height: 800px" frameborder="0"></iframe>
<iframe
id="office-a"
src="https://view.officeapps.live.com/op/view.aspx?src=<!--FileEncodeDownUrl-->"
style="width: 100%; height: 800px"
frameborder="0"
></iframe>
<!--IsofficeFileEnd-->
<!--IspdfFileStart-->
<pre id="editor"
style="white-space: pre-wrap;font-family: JetBrains Mono,Fira Code,Sarasa Mono SC,Cascadia Code,Menlo,Consolas,monaco,monospace;">
PDF暂不支持 懂?
</pre>
<embed src="<!--FileEncodeReplaceUrl-->" type="application/pdf">
<!--IspdfFileEnd-->
<!--IstxtFileStart-->
<pre
@@ -345,22 +422,38 @@ id="readme-md"><!--ReadmemdContent--></textarea></div>
style="
white-space: pre-wrap;
font-family: JetBrains Mono, Fira Code, Sarasa Mono SC, Cascadia Code, Menlo,
Consolas, monaco, monospace;
Consolas, monaco, Noto Sans SC;
"
><!--TxtContent--></pre>
><code id="code"><!--TxtContent--></code></pre>
<script>
document.querySelector("#admin-menu").innerHTML +=
'<li class="mdui-menu-item"><a href="javascript:void(0);"class="mdui-ripple highlight"><i class="mdui-menu-item-icon mdui-icon material-icons">style</i>markdown解析</a></li>';
document.querySelector(
".mdui-toolbar"
).innerHTML += `<a href="javascript:;" class="mdui-btn mdui-btn-icon mdui-ripple mdui-hidden-sm-up highlight" mdui-tooltip="{content: 'markdown解析'}"><i class="mdui-icon material-icons">style</i></a>`;
</script>
<!--IstxtFileEnd-->
<!--IsOtherFileStart-->
<!--constStr@FileNotSupport-->
<!--IsOtherFileEnd-->
</div><a href="<!--FileEncodeReplaceUrl-->" target="_blank"
class="mdui-fab mdui-fab-fixed mdui-ripple mdui-color-theme-accent"><i
class="mdui-icon material-icons">file_download</i></a>
</div>
<a
href="<!--FileEncodeReplaceUrl-->"
target="_blank"
class="mdui-fab mdui-fab-fixed mdui-ripple mdui-color-theme-accent"
><i class="mdui-icon material-icons">file_download</i></a
>
<script>
document.querySelector("#admin-menu").innerHTML += '<li class="mdui-menu-item"><a href="javascript:void(0);"class="mdui-ripple downloadurl"><i class="mdui-menu-item-icon mdui-icon material-icons">cloud_download</i>下载链接</a></li>';
document.querySelector('.mdui-toolbar').innerHTML += `<a href="javascript:;" class="mdui-btn mdui-btn-icon mdui-ripple mdui-hidden-sm-up downloadurl" mdui-tooltip="{content: '下载链接'}"><i class="mdui-icon material-icons">cloud_download</i></a>`;
document.querySelector("#admin-menu").innerHTML +=
'<li class="mdui-menu-item"><a href="javascript:void(0);"class="mdui-ripple downloadurl"><i class="mdui-menu-item-icon mdui-icon material-icons">cloud_download</i>下载链接</a></li>';
document.querySelector(
".mdui-toolbar"
).innerHTML += `<a href="javascript:;" class="mdui-btn mdui-btn-icon mdui-ripple mdui-hidden-sm-up downloadurl" mdui-tooltip="{content: '下载链接'}"><i class="mdui-icon material-icons">cloud_download</i></a>`;
</script>
<!--IsFileEnd-->
</div>
</body>
@@ -368,6 +461,6 @@ id="readme-md"><!--ReadmemdContent--></textarea></div>
{ "music":"audiotrack", "video":"ondemand_video", "img":"image",
"pdf":"picture_as_pdf", "default":"insert_drive_file"}
<!--IconValuesEnd-->
<script src="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v0.5/js/webpack-runtime.379a2fcc01ccf12b5342.js"></script>
<script src="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v0.5/js/app.0a2b4a0f9fd0828393f6.js"></script>
<script src="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v1.1.2/js/webpack-runtime.2c4e79a563c6e0c1c74f.js"></script>
<script src="https://cdn.jsdelivr.net/gh/186526/renexmoe-cdn@v1.1.2/js/app.7a662c514027ed87a34e.js"></script>
</html>