From 8e7c16305f8de227e2e806d279d7df445d6562c2 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 10:56:58 +0800 Subject: [PATCH 1/8] Create update.sh --- update.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 update.sh diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..f4cc597 --- /dev/null +++ b/update.sh @@ -0,0 +1,12 @@ +#!bash + +gitsource='https://github.com/qkqpttgf/OneManager-php' + +git clone ${gitsource} +\mv -b config.php OneManager-php/ +\mv -b OneManager-php/* ./ +\mv -b OneManager-php/.[^.]* ./ +rm -rf *~ +rm -rf .[^.]*~ +rm -rf OneManager-php +chmod 666 config.php From 284e080ae75abd6d0c0b2b74b0f705dce5c714e4 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 11:02:49 +0800 Subject: [PATCH 2/8] Update update.sh --- update.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/update.sh b/update.sh index f4cc597..cb2c7ff 100644 --- a/update.sh +++ b/update.sh @@ -2,6 +2,9 @@ gitsource='https://github.com/qkqpttgf/OneManager-php' +OneManagerPath=`cd $(dirname $0);pwd -P` +cd ${OneManagerPath} + git clone ${gitsource} \mv -b config.php OneManager-php/ \mv -b OneManager-php/* ./ @@ -10,3 +13,4 @@ rm -rf *~ rm -rf .[^.]*~ rm -rf OneManager-php chmod 666 config.php + From 2bd06bc0355c025b2f7bfb124be156d31eacae46 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 11:37:52 +0800 Subject: [PATCH 3/8] move get token function oprate function --- function/common.php | 298 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 297 insertions(+), 1 deletion(-) diff --git a/function/common.php b/function/common.php index a60a01f..dc18bec 100644 --- a/function/common.php +++ b/function/common.php @@ -540,7 +540,7 @@ function main($path) if ($_GET['setup']) if ($_SERVER['admin']) { // setup Environments. 设置,对环境变量操作 - return EnvOpt($_SERVER['function_name'], $_SERVER['needUpdate']); + return EnvOpt($_SERVER['needUpdate']); } else { $url = path_format($_SERVER['PHP_SELF'] . '/'); return output('', 302, [ 'Location' => $url ]); @@ -1089,3 +1089,299 @@ function render_list($path = '', $files = '') if ($_SERVER['Set-Cookie']!='') return output($html, $statusCode, [ 'Set-Cookie' => $_SERVER['Set-Cookie'], 'Content-Type' => 'text/html' ]); return output($html,$statusCode); } + +function get_refresh_token() +{ + global $constStr; + global $CommonEnv; + foreach ($CommonEnv as $env) $envs .= '\'' . $env . '\', '; + $url = path_format($_SERVER['PHP_SELF'] . '/'); + if ($_GET['authorization_code'] && isset($_GET['code'])) { + $_SERVER['disktag'] = $_COOKIE['disktag']; + config_oauth(); + $tmp = curl_request($_SERVER['oauth_url'] . 'token', 'client_id=' . $_SERVER['client_id'] .'&client_secret=' . $_SERVER['client_secret'] . '&grant_type=authorization_code&requested_token_use=on_behalf_of&redirect_uri=' . $_SERVER['redirect_uri'] .'&code=' . $_GET['code']); + if ($tmp['stat']==200) $ret = json_decode($tmp['body'], true); + if (isset($ret['refresh_token'])) { + $tmptoken = $ret['refresh_token']; + $str = ' + refresh_token :
'; + $str .= ' +

+ '.getconstStr('SavingToken').' + '; + setConfig([ 'refresh_token' => $tmptoken, 'token_expires' => time()+30*24*60*60 ], $_COOKIE['disktag']); + savecache('access_token', $ret['access_token'], $ret['expires_in'] - 60); + //WaitSCFStat(); + $str .= ' + '; + return message($str, getconstStr('WaitJumpIndex')); + } + return message('
' . json_encode(json_decode($tmp['body']), JSON_PRETTY_PRINT) . '
', $tmp['stat']); + //return message('
' . json_encode($ret, JSON_PRETTY_PRINT) . '
', 500); + } + if ($_GET['install1']) { + $_SERVER['disk_oprating'] = $_COOKIE['disktag']; + $_SERVER['disktag'] = $_COOKIE['disktag']; + config_oauth(); + if (getConfig('Onedrive_ver')=='MS' || getConfig('Onedrive_ver')=='CN' || getConfig('Onedrive_ver')=='MSC') { + return message(' + '.getconstStr('JumptoOffice').' + + ', getconstStr('Wait').' 1s', 201); + } else { + return message('something error, try after a few seconds.', 'retry', 201); + } + } + if ($_GET['install0']) { + if ($_POST['disktag_add']!='' && ($_POST['Onedrive_ver']=='MS' || $_POST['Onedrive_ver']=='CN' || $_POST['Onedrive_ver']=='MSC')) { + if (in_array($_COOKIE['disktag'], $CommonEnv)) { + return message('Do not input ' . $envs . '
', 'Error', 201); + } + $_SERVER['disktag'] = $_COOKIE['disktag']; + $tmp['disktag_add'] = $_POST['disktag_add']; + $tmp['diskname'] = $_POST['diskname']; + $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; + if ($_POST['Onedrive_ver']=='MSC') { + $tmp['client_id'] = $_POST['client_id']; + $tmp['client_secret'] = $_POST['client_secret']; + } + $response = setConfigResponse( setConfig($tmp, $_COOKIE['disktag']) ); + $title = getconstStr('MayinEnv'); + $html = getconstStr('Wait') . ' 3s'; + if (api_error($response)) { + $html = api_error_msg($response); + $title = 'Error'; + } + return message($html, $title, 201); + } + } + + if ($constStr['language']!='zh-cn') { + $linklang='en-us'; + } else $linklang='zh-cn'; + $ru = "https://developer.microsoft.com/".$linklang."/graph/quick-start?appID=_appId_&appName=_appName_&redirectUrl=".$_SERVER['redirect_uri']."&platform=option-php"; + $deepLink = "/quickstart/graphIO?publicClientSupport=false&appName=OneManager&redirectUrl=".$_SERVER['redirect_uri']."&allowImplicitFlow=false&ru=".urlencode($ru); + $app_url = "https://apps.dev.microsoft.com/?deepLink=".urlencode($deepLink); + $html = ' +
+ '.getconstStr('OnedriveDiskTag').':
+ '.getconstStr('OnedriveDiskName').':
+ Onedrive_Ver:
+
+
+
+ +
+ '; + $title = 'Bind Onedrive'; + return message($html, $title, 201); +} + +function EnvOpt($needUpdate = 0) +{ + global $constStr; + global $ShowedCommonEnv; + global $ShowedInnerEnv; + asort($ShowedCommonEnv); + asort($ShowedInnerEnv); + $html = 'OneManager '.getconstStr('Setup').''; + if ($_POST['updateProgram']==getconstStr('updateProgram')) { + $response = OnekeyUpate(); + if (api_error($response)) { + $html = api_error_msg($response); + $title = 'Error'; + } else { + //WaitSCFStat(); + $html .= getconstStr('UpdateSuccess') . '
+'; + $title = getconstStr('Setup'); + } + return message($html, $title); + } + if ($_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') { + $tmp[$k] = $v; + } + if ($k == 'disk') $_SERVER['disk_oprating'] = $v; + } + /*if ($tmp['domain_path']!='') { + $tmp1 = explode("|",$tmp['domain_path']); + $tmparr = []; + foreach ($tmp1 as $multidomain_paths){ + $pos = strpos($multidomain_paths,":"); + if ($pos>0) $tmparr[substr($multidomain_paths, 0, $pos)] = path_format(substr($multidomain_paths, $pos+1)); + } + $tmp['domain_path'] = $tmparr; + }*/ + $response = setConfigResponse( setConfig($tmp, $_SERVER['disk_oprating']) ); + if (api_error($response)) { + $html = api_error_msg($response); + $title = 'Error'; + } else { + //WaitSCFStat(); + //sleep(3); + $html .= 'Success!
+'; + $title = getconstStr('Setup'); + } + return message($html, $title); + } + if ($_GET['preview']) { + $preurl = $_SERVER['PHP_SELF'] . '?preview'; + } else { + $preurl = path_format($_SERVER['PHP_SELF'] . '/'); + } + $html .= ' +'.getconstStr('Back').'   '.getconstStr('Back').getconstStr('Home').'
+Github
'; + if (!$_SERVER['USER']==='qcloud'&&!$_SERVER['HEROKU_APP_DIR']==='/app') { + $html .= ' +In VPS, can not update by a click!
'; + } else { + $html .= ' +
+'; + if ($needUpdate) { + $html .= '
' . $_SERVER['github_version'] . '
'; + } else { + $html .= getconstStr('NotNeedUpdate'); + } + $html .= ' + +
'; + } + $html .= ' + + + + + '; + foreach ($ShowedCommonEnv as $key) { + if ($key=='language') { + $html .= ' + + + + '; + } elseif ($key=='theme') { + $theme_arr = scandir('theme'); + $html .= ' + + + + '; + } /*elseif ($key=='domain_path') { + $tmp = getConfig($key); + $domain_path = ''; + foreach ($tmp as $k1 => $v1) { + $domain_path .= $k1 . ':' . $v1 . '|'; + } + $domain_path = substr($domain_path, 0, -1); + $html .= ' + + + + '; + }*/ else $html .= ' + + + + '; + } + $html .= ' + + +
'.getconstStr('PlatformConfig').'
+ +
+ +

'; + foreach (explode("|",getConfig('disktag')) as $disktag) { + if ($disktag!='') { + $html .= ' + + + + + + '; + if (getConfig('refresh_token', $disktag)!='') { + $html .= ' + + '; + foreach ($ShowedInnerEnv as $key) { + $html .= ' + + + + '; + } + $html .= ' + + '; + } + $html .= ' +
'.$disktag.': + + +

'; + } + } + $html .= ' +'.getconstStr('AddDisk').''; + return message($html, getconstStr('Setup')); +} From 942da1570f7e35fa45caa514be3b04cdb3aa0f4e Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 11:39:04 +0800 Subject: [PATCH 4/8] move get token function oprate function --- function/heroku.php | 330 +++----------------------------------------- 1 file changed, 22 insertions(+), 308 deletions(-) diff --git a/function/heroku.php b/function/heroku.php index f1c0c6c..32f3b1e 100644 --- a/function/heroku.php +++ b/function/heroku.php @@ -93,141 +93,6 @@ function setConfig($arr, $disktag = '') return setHerokuConfig($tmp, getConfig('function_name'), getConfig('APIKey')); } -function get_refresh_token() -{ - global $constStr; - global $CommonEnv; - foreach ($CommonEnv as $env) $envs .= '\'' . $env . '\', '; - $url = path_format($_SERVER['PHP_SELF'] . '/'); - if ($_GET['authorization_code'] && isset($_GET['code'])) { - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - $tmp = curl_request($_SERVER['oauth_url'] . 'token', 'client_id=' . $_SERVER['client_id'] .'&client_secret=' . $_SERVER['client_secret'] . '&grant_type=authorization_code&requested_token_use=on_behalf_of&redirect_uri=' . $_SERVER['redirect_uri'] .'&code=' . $_GET['code']); - if ($tmp['stat']==200) $ret = json_decode($tmp['body'], true); - if (isset($ret['refresh_token'])) { - $tmptoken = $ret['refresh_token']; - $str = ' - refresh_token :
'; - /*for ($i=1;strlen($tmptoken)>0;$i++) { - $t['t' . $i] = substr($tmptoken,0,128); - $str .= ' - t' . $i . ':

'; - $tmptoken=substr($tmptoken,128); - } - $str .= ' - Add t1-t'.--$i.' to environments.*/ - $str .= ' -

- '.getconstStr('SavingToken').' - '; - setConfig([ 'refresh_token' => $tmptoken, 'token_expires' => time()+30*24*60*60 ], $_COOKIE['disktag']); - savecache('access_token', $ret['access_token'], $ret['expires_in'] - 60); - $str .= ' - '; - return message($str, getconstStr('WaitJumpIndex')); - } - return message('
' . $tmp['body'] . '
', $tmp['stat']); - //return message('
' . json_encode($ret, JSON_PRETTY_PRINT) . '
', 500); - } - if ($_GET['install1']) { - $_SERVER['disk_oprating'] = $_COOKIE['disktag']; - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - if (getConfig('Onedrive_ver')=='MS' || getConfig('Onedrive_ver')=='CN' || getConfig('Onedrive_ver')=='MSC') { - return message(' - '.getconstStr('JumptoOffice').' - - ', getconstStr('Wait').' 1s', 201); - } - } - if ($_GET['install0']) { - if ($_POST['disktag_add']!='' && ($_POST['Onedrive_ver']=='MS' || $_POST['Onedrive_ver']=='CN' || $_POST['Onedrive_ver']=='MSC')) { - if (in_array($_COOKIE['disktag'], $CommonEnv)) { - return message('Do not input ' . $envs . '
', 'Error', 201); - } - $_SERVER['disktag'] = $_COOKIE['disktag']; - $tmp['disktag_add'] = $_POST['disktag_add']; - $tmp['diskname'] = $_POST['diskname']; - $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; - if ($_POST['Onedrive_ver']=='MSC') { - $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = $_POST['client_secret']; - //$_POST['client_secret']; - } - $response = json_decode( setConfig($tmp, $_COOKIE['disktag']), true )['Response']; - $title = getconstStr('MayinEnv'); - $html = getconstStr('Wait') . ' 3s'; - if (isset($response['id'])&&isset($response['message'])) { - $html = $response['id'] . '
-' . $response['message'] . '

-function_name:' . $_SERVER['function_name'] . '
-'; - $title = 'Error'; - } - return message($html, $title, 201); - } - } - - if ($constStr['language']!='zh-cn') { - $linklang='en-us'; - } else $linklang='zh-cn'; - $ru = "https://developer.microsoft.com/".$linklang."/graph/quick-start?appID=_appId_&appName=_appName_&redirectUrl=".$_SERVER['redirect_uri']."&platform=option-php"; - $deepLink = "/quickstart/graphIO?publicClientSupport=false&appName=OneManager&redirectUrl=".$_SERVER['redirect_uri']."&allowImplicitFlow=false&ru=".urlencode($ru); - $app_url = "https://apps.dev.microsoft.com/?deepLink=".urlencode($deepLink); - $html = ' -
- '.getconstStr('OnedriveDiskTag').':
- '.getconstStr('OnedriveDiskName').':
- Onedrive_Ver:
-
-
-
- -
- '; - $title = 'Bind Onedrive'; - return message($html, $title, 201); -} - function install() { global $constStr; @@ -249,11 +114,8 @@ function install() $tmp['function_name'] = $function_name; } $response = json_decode(setHerokuConfig($tmp, $function_name, $APIKey)['body'], true); - if (isset($response['id'])&&isset($response['message'])) { - $html = $response['id'] . '
-' . $response['message'] . '

-function_name:' . $_SERVER['function_name'] . '
-'; + if (api_error($response)) { + $html = api_error_msg($response); $title = 'Error'; } else { return output('Jump', 302); @@ -358,173 +220,25 @@ function updateHerokuapp($function_name, $apikey) return HerokuAPI('POST', 'https://api.heroku.com/apps/' . $function_name . '/builds', $data, $apikey); } -function EnvOpt($function_name, $needUpdate = 0) +function api_error($response) { - global $constStr; - global $ShowedCommonEnv; - global $ShowedInnerEnv; - asort($ShowedCommonEnv); - asort($ShowedInnerEnv); - $html = 'OneManager '.getconstStr('Setup').''; - if ($_POST['updateProgram']==getconstStr('updateProgram')) { - $response = json_decode(updateHerokuapp(getConfig('function_name'), getConfig('APIKey'))['body'], true); - if (isset($response['id'])&&isset($response['message'])) { - $html = $response['id'] . '
-' . $response['message'] . '

-function_name:' . $_SERVER['function_name'] . '
-'; - $title = 'Error'; - } else { - $html .= getconstStr('UpdateSuccess') . '
-'; - $title = getconstStr('Setup'); - } - return message($html, $title); - } - if ($_POST['submit1']) { - foreach ($_POST as $k => $v) { - if (in_array($k, $constEnv)) { - if (!(getConfig($k)==''&&$v=='')) $tmp[$k] = $v; - } - } - $_SERVER['disk_oprating'] = ''; - foreach ($_POST as $k => $v) { - if (in_array($k, $ShowedCommonEnv)) { - if (!(getConfig($k)==''&&$v=='')) $tmp[$k] = $v; - } - if (in_array($k, $ShowedInnerEnv)||$k=='disktag_del' || $k=='disktag_add') { - $tmp[$k] = $v; - } - if ($k == 'disk') $_SERVER['disk_oprating'] = $v; - } - /*if ($tmp['domain_path']!='') { - $tmp1 = explode("|",$tmp['domain_path']); - $tmparr = []; - foreach ($tmp1 as $multidomain_paths){ - $pos = strpos($multidomain_paths,":"); - if ($pos>0) $tmparr[substr($multidomain_paths, 0, $pos)] = path_format(substr($multidomain_paths, $pos+1)); - } - $tmp['domain_path'] = $tmparr; - }*/ - $response = json_decode(setConfig($tmp, $_SERVER['disk_oprating'])['body'], true); - if (isset($response['id'])&&isset($response['message'])) { - $html = $response['id'] . '
-' . $response['message'] . '

-function_name:' . $_SERVER['function_name'] . '
-'; - $title = 'Error'; - } else { - $html .= ''; - } - } - if ($_GET['preview']) { - $preurl = $_SERVER['PHP_SELF'] . '?preview'; - } else { - $preurl = path_format($_SERVER['PHP_SELF'] . '/'); - } - $html .= ' -'.getconstStr('Back').'   '.getconstStr('Back').getconstStr('Home').'
-Github
-
-'; - if ($needUpdate) { - $html .= '
' . $_SERVER['github_version'] . '
'; - } else { - $html .= getconstStr('NotNeedUpdate'); - } - $html .= ' - -
- - - - - '; - foreach ($ShowedCommonEnv as $key) { - if ($key=='language') { - $html .= ' - - - - '; - } elseif ($key=='theme') { - $theme_arr = scandir('theme'); - $html .= ' - - - - '; - } /*elseif ($key=='domain_path') { - $tmp = getConfig($key); - $domain_path = ''; - foreach ($tmp as $k1 => $v1) { - $domain_path .= $k1 . ':' . $v1 . '|'; - } - $domain_path = substr($domain_path, 0, -1); - $html .= ' - - - - '; - }*/ else $html .= ' - - - - '; - } - $html .= ' - - -
'.getconstStr('PlatformConfig').'
- -
- -

'; - foreach (explode("|",getConfig('disktag')) as $disktag) { - if ($disktag!='') { - $html .= ' - - - - - - '; - if (getConfig('refresh_token', $disktag)!='') { - $html .= ' - - '; - foreach ($ShowedInnerEnv as $key) { - $html .= ' - - - - '; - } - $html .= ' - - '; - } - $html .= ' -
'.$disktag.': - - -

'; - } - } - $html .= ' -'.getconstStr('AddDisk').''; - return message($html, getconstStr('Setup')); + return isset($response['id'])&&isset($response['message']); +} + +function api_error_msg($response) +{ + return $response['id'] . '
+' . $response['message'] . '

+function_name:' . $_SERVER['function_name'] . '
+'; +} + +function OnekeyUpate() +{ + return json_decode(updateHerokuapp(getConfig('function_name'), getConfig('APIKey'))['body'], true); +} + +function setConfigResponse($response) +{ + return json_decode( $response['body'], true ); } From 75d3f0371d31244c3f7011bfa3d5d324577d4383 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 11:39:50 +0800 Subject: [PATCH 5/8] move get token function oprate function --- function/normal.php | 320 ++++---------------------------------------- 1 file changed, 23 insertions(+), 297 deletions(-) diff --git a/function/normal.php b/function/normal.php index 7cf20b3..e6a4d95 100644 --- a/function/normal.php +++ b/function/normal.php @@ -108,139 +108,6 @@ function setConfig($arr, $disktag = '') return file_put_contents('config.php', $prestr . json_encode($envs, JSON_PRETTY_PRINT) . $aftstr); } -function get_refresh_token() -{ - global $constStr; - global $CommonEnv; - foreach ($CommonEnv as $env) $envs .= '\'' . $env . '\', '; - $url = path_format($_SERVER['PHP_SELF'] . '/'); - if ($_GET['authorization_code'] && isset($_GET['code'])) { - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - $tmp = curl_request($_SERVER['oauth_url'] . 'token', 'client_id=' . $_SERVER['client_id'] .'&client_secret=' . $_SERVER['client_secret'] . '&grant_type=authorization_code&requested_token_use=on_behalf_of&redirect_uri=' . $_SERVER['redirect_uri'] .'&code=' . $_GET['code']); - if ($tmp['stat']==200) $ret = json_decode($tmp['body'], true); - if (isset($ret['refresh_token'])) { - $tmptoken = $ret['refresh_token']; - $str = ' - refresh_token :
'; - /*for ($i=1;strlen($tmptoken)>0;$i++) { - $t['t' . $i] = substr($tmptoken,0,128); - $str .= ' - t' . $i . ':

'; - $tmptoken=substr($tmptoken,128); - } - $str .= ' - Add t1-t'.--$i.' to environments.*/ - $str .= ' -

- '.getconstStr('SavingToken').' - '; - setConfig([ 'refresh_token' => $tmptoken, 'token_expires' => time()+30*24*60*60 ], $_COOKIE['disktag']); - savecache('access_token', $ret['access_token'], $ret['expires_in'] - 60); - $str .= ' - '; - return message($str, getconstStr('WaitJumpIndex')); - } - return message('
' . $tmp['body'] . '
', $tmp['stat']); - //return message('
' . json_encode($ret, JSON_PRETTY_PRINT) . '
', 500); - } - if ($_GET['install1']) { - $_SERVER['disk_oprating'] = $_COOKIE['disktag']; - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - if (getConfig('Onedrive_ver')=='MS' || getConfig('Onedrive_ver')=='CN' || getConfig('Onedrive_ver')=='MSC') { - return message(' - '.getconstStr('JumptoOffice').' - - ', getconstStr('Wait').' 1s', 201); - } - } - if ($_GET['install0']) { - if ($_POST['disktag_add']!='' && ($_POST['Onedrive_ver']=='MS' || $_POST['Onedrive_ver']=='CN' || $_POST['Onedrive_ver']=='MSC')) { - if (in_array($_COOKIE['disktag'], $CommonEnv)) { - return message('Do not input ' . $envs . '
', 'Error', 201); - } - $_SERVER['disktag'] = $_COOKIE['disktag']; - $tmp['disktag_add'] = $_POST['disktag_add']; - $tmp['diskname'] = $_POST['diskname']; - $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; - if ($_POST['Onedrive_ver']=='MSC') { - $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = $_POST['client_secret']; - } - $response = setConfig($tmp, $_COOKIE['disktag']); - $title = getconstStr('MayinEnv'); - $html = getconstStr('Wait') . ' 3s'; - if (!$response) { - $html = $response . '
-Can not write config to file.
-'; - $title = 'Error'; - } - return message($html, $title, 201); - } - } - - if ($constStr['language']!='zh-cn') { - $linklang='en-us'; - } else $linklang='zh-cn'; - $ru = "https://developer.microsoft.com/".$linklang."/graph/quick-start?appID=_appId_&appName=_appName_&redirectUrl=".$_SERVER['redirect_uri']."&platform=option-php"; - $deepLink = "/quickstart/graphIO?publicClientSupport=false&appName=OneManager&redirectUrl=".$_SERVER['redirect_uri']."&allowImplicitFlow=false&ru=".urlencode($ru); - $app_url = "https://apps.dev.microsoft.com/?deepLink=".urlencode($deepLink); - $html = ' -
- '.getconstStr('OnedriveDiskTag').':
- '.getconstStr('OnedriveDiskName').':
- Onedrive_Ver:
-
-
-
- -
- '; - $title = 'Bind Onedrive'; - return message($html, $title, 201); -} - function install() { global $constStr; @@ -249,10 +116,8 @@ function install() $tmp['admin'] = $_POST['admin']; $tmp['language'] = $_POST['language']; $response = setConfig($tmp); - if (!$response) { - $html = $response . '
-Can not write config to file.
-'; + if (api_error($response)) { + $html = api_error_msg($response); $title = 'Error'; return message($html, $title, 201); } else { @@ -309,10 +174,11 @@ language:
'; function ConfigWriteable() { $t = md5( md5(time()).rand(1000,9999) ); - setConfig([ 'tmp' => $t ]); + $r = setConfig([ 'tmp' => $t ]); $tmp = getConfig('tmp'); setConfig([ 'tmp' => '' ]); if ($tmp == $t) return true; + if ($r) return true; return false; } @@ -327,164 +193,24 @@ function RewriteEngineOn() return false; } -function EnvOpt($function_name, $needUpdate = 0) +function api_error($response) { - global $constStr; - global $ShowedCommonEnv; - global $ShowedInnerEnv; - asort($ShowedCommonEnv); - asort($ShowedInnerEnv); - $html = 'OneManager '.getconstStr('Setup').''; - /*if ($_POST['updateProgram']==getconstStr('updateProgram')) { - $response = json_decode(updataProgram($function_name, $Region, $namespace), true)['Response']; - if (isset($response['Error'])) { - $html = $response['Error']['Code'] . '
-' . $response['Error']['Message'] . '

-function_name:' . $_SERVER['function_name'] . '
-Region:' . $_SERVER['Region'] . '
-namespace:' . $namespace . '
-'; - $title = 'Error'; - } else { - $html .= getconstStr('UpdateSuccess') . '
-'; - $title = getconstStr('Setup'); - } - return message($html, $title); - }*/ - if ($_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') { - $tmp[$k] = $v; - } - if ($k == 'disk') $_SERVER['disk_oprating'] = $v; - } - /*if ($tmp['domain_path']!='') { - $tmp1 = explode("|",$tmp['domain_path']); - $tmparr = []; - foreach ($tmp1 as $multidomain_paths){ - $pos = strpos($multidomain_paths,":"); - if ($pos>0) $tmparr[substr($multidomain_paths, 0, $pos)] = path_format(substr($multidomain_paths, $pos+1)); - } - $tmp['domain_path'] = $tmparr; - }*/ - $response = setConfig($tmp, $_SERVER['disk_oprating']); - if (!$response) { - $html = $response . '
-'; - $title = 'Error'; - } else { - $html .= ''; - } - } - if ($_GET['preview']) { - $preurl = $_SERVER['PHP_SELF'] . '?preview'; - } else { - $preurl = path_format($_SERVER['PHP_SELF'] . '/'); - } - $html .= ' -'.getconstStr('Back').'   '.getconstStr('Back').getconstStr('Home').'
-Github
'; - /*if ($needUpdate) { - $html .= '
' . $_SERVER['github_version'] . '
-
- -
'; - } else { - $html .= getconstStr('NotNeedUpdate'); - }*/ - $html .= 'Can not update by a click!
- - - - - '; - foreach ($ShowedCommonEnv as $key) { - if ($key=='language') { - $html .= ' - - - - '; - } elseif ($key=='theme') { - $theme_arr = scandir('theme'); - $html .= ' - - - - '; - } /*elseif ($key=='domain_path') { - $tmp = getConfig($key); - $domain_path = ''; - foreach ($tmp as $k1 => $v1) { - $domain_path .= $k1 . ':' . $v1 . '|'; - } - $domain_path = substr($domain_path, 0, -1); - $html .= ' - - - - '; - }*/ else $html .= ' - - - - '; - } - $html .= ' - - -
'.getconstStr('PlatformConfig').'
- -
- -

'; - foreach (explode("|",getConfig('disktag')) as $disktag) { - if ($disktag!='') { - $html .= ' - - - - - - '; - if (getConfig('refresh_token', $disktag)!='') { - $html .= ' - - '; - foreach ($ShowedInnerEnv as $key) { - $html .= ' - - - - '; - } - $html .= ' - - '; - } - $html .= ' -
'.$disktag.': - - -

'; - } - } - $html .= ' -'.getconstStr('AddDisk').''; - return message($html, getconstStr('Setup')); + return !$response; +} + +function api_error_msg($response) +{ + return $response . '
+Can not write config to file.
+'; +} + +function OnekeyUpate() +{ + return json_decode(updateHerokuapp(getConfig('function_name'), getConfig('APIKey'))['body'], true); +} + +function setConfigResponse($response) +{ + return $response; } From a323a5af8d0cf771d44286112974b6dc629c1a10 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 11:41:09 +0800 Subject: [PATCH 6/8] move get token function oprate function --- function/scf.php | 328 +++-------------------------------------------- 1 file changed, 20 insertions(+), 308 deletions(-) diff --git a/function/scf.php b/function/scf.php index 02d3cf3..a4e40ae 100644 --- a/function/scf.php +++ b/function/scf.php @@ -117,143 +117,6 @@ function WaitSCFStat() '.++$trynum; } -function get_refresh_token() -{ - global $constStr; - global $CommonEnv; - foreach ($CommonEnv as $env) $envs .= '\'' . $env . '\', '; - $url = path_format($_SERVER['PHP_SELF'] . '/'); - if ($_GET['authorization_code'] && isset($_GET['code'])) { - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - $tmp = curl_request($_SERVER['oauth_url'] . 'token', 'client_id=' . $_SERVER['client_id'] .'&client_secret=' . $_SERVER['client_secret'] . '&grant_type=authorization_code&requested_token_use=on_behalf_of&redirect_uri=' . $_SERVER['redirect_uri'] .'&code=' . $_GET['code']); - if ($tmp['stat']==200) $ret = json_decode($tmp['body'], true); - if (isset($ret['refresh_token'])) { - $tmptoken = $ret['refresh_token']; - $str = ' - refresh_token :
'; - /*for ($i=1;strlen($tmptoken)>0;$i++) { - $t['t' . $i] = substr($tmptoken,0,128); - $str .= ' - t' . $i . ':

'; - $tmptoken=substr($tmptoken,128); - } - $str .= ' - Add t1-t'.--$i.' to environments.*/ - $str .= ' -

- '.getconstStr('SavingToken').' - '; - setConfig([ 'refresh_token' => $tmptoken, 'token_expires' => time()+30*24*60*60 ], $_COOKIE['disktag']); - savecache('access_token', $ret['access_token'], $ret['expires_in'] - 60); - WaitSCFStat(); - $str .= ' - '; - return message($str, getconstStr('WaitJumpIndex')); - } - return message('
' . json_encode(json_decode($tmp['body']), JSON_PRETTY_PRINT) . '
', $tmp['stat']); - //return message('
' . json_encode($ret, JSON_PRETTY_PRINT) . '
', 500); - } - if ($_GET['install1']) { - $_SERVER['disk_oprating'] = $_COOKIE['disktag']; - $_SERVER['disktag'] = $_COOKIE['disktag']; - config_oauth(); - if (getConfig('Onedrive_ver')=='MS' || getConfig('Onedrive_ver')=='CN' || getConfig('Onedrive_ver')=='MSC') { - return message(' - '.getconstStr('JumptoOffice').' - - ', getconstStr('Wait').' 1s', 201); - } - } - if ($_GET['install0']) { - if ($_POST['disktag_add']!='' && ($_POST['Onedrive_ver']=='MS' || $_POST['Onedrive_ver']=='CN' || $_POST['Onedrive_ver']=='MSC')) { - if (in_array($_COOKIE['disktag'], $CommonEnv)) { - return message('Do not input ' . $envs . '
', 'Error', 201); - } - $_SERVER['disktag'] = $_COOKIE['disktag']; - $tmp['disktag_add'] = $_POST['disktag_add']; - $tmp['diskname'] = $_POST['diskname']; - $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; - if ($_POST['Onedrive_ver']=='MSC') { - $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = $_POST['client_secret']; - } - $response = json_decode( setConfig($tmp, $_COOKIE['disktag']), true )['Response']; - $title = getconstStr('MayinEnv'); - $html = getconstStr('Wait') . ' 3s'; - if (isset($response['Error'])) { - $html = $response['Error']['Code'] . '
-' . $response['Error']['Message'] . '

-function_name:' . $_SERVER['function_name'] . '
-Region:' . $_SERVER['Region'] . '
-namespace:' . $_SERVER['namespace'] . '
-'; - $title = 'Error'; - } - return message($html, $title, 201); - } - } - - if ($constStr['language']!='zh-cn') { - $linklang='en-us'; - } else $linklang='zh-cn'; - $ru = "https://developer.microsoft.com/".$linklang."/graph/quick-start?appID=_appId_&appName=_appName_&redirectUrl=".$_SERVER['redirect_uri']."&platform=option-php"; - $deepLink = "/quickstart/graphIO?publicClientSupport=false&appName=OneManager&redirectUrl=".$_SERVER['redirect_uri']."&allowImplicitFlow=false&ru=".urlencode($ru); - $app_url = "https://apps.dev.microsoft.com/?deepLink=".urlencode($deepLink); - $html = ' -
- '.getconstStr('OnedriveDiskTag').':
- '.getconstStr('OnedriveDiskName').':
- Onedrive_Ver:
-
-
-
- -
- '; - $title = 'Bind Onedrive'; - return message($html, $title, 201); -} - function install() { global $constStr; @@ -272,12 +135,9 @@ function install() $tmp['SecretKey'] = $SecretKey; } $response = json_decode(SetbaseConfig($tmp, $_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], $SecretId, $SecretKey), true)['Response']; - if (isset($response['Error'])) { - $html = $response['Error']['Code'] . '
-' . $response['Error']['Message'] . '

-function_name:' . $_SERVER['function_name'] . '
-Region:' . $_SERVER['Region'] . '
-namespace:' . $_SERVER['namespace'] . '
+ if (api_error($response)) { + $html = api_error_msg($response); + $html .= '
'; $title = 'Error'; } else { @@ -500,175 +360,27 @@ function updateProgram($function_name, $Region, $Namespace, $SecretId, $SecretKe return post2url('https://'.$host, $data.'&Signature='.urlencode($signStr)); } - -function EnvOpt($function_name, $needUpdate = 0) +function api_error($response) { - global $constStr; - global $ShowedCommonEnv; - global $ShowedInnerEnv; - asort($ShowedCommonEnv); - asort($ShowedInnerEnv); - $html = 'OneManager '.getconstStr('Setup').''; - if ($_POST['updateProgram']==getconstStr('updateProgram')) { - $response = json_decode(updateProgram($function_name, $_SERVER['Region'], $_SERVER['namespace'], getConfig('SecretId'), getConfig('SecretKey')), true)['Response']; - if (isset($response['Error'])) { - $html = $response['Error']['Code'] . '
-' . $response['Error']['Message'] . '

-function_name:' . $_SERVER['function_name'] . '
-Region:' . $_SERVER['Region'] . '
-namespace:' . $namespace . '
-'; - $title = 'Error'; - } else { - WaitSCFStat(); - $html .= getconstStr('UpdateSuccess') . '
-'; - $title = getconstStr('Setup'); - } - return message($html, $title); - } - if ($_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') { - $tmp[$k] = $v; - } - if ($k == 'disk') $_SERVER['disk_oprating'] = $v; - } - /*if ($tmp['domain_path']!='') { - $tmp1 = explode("|",$tmp['domain_path']); - $tmparr = []; - foreach ($tmp1 as $multidomain_paths){ - $pos = strpos($multidomain_paths,":"); - if ($pos>0) $tmparr[substr($multidomain_paths, 0, $pos)] = path_format(substr($multidomain_paths, $pos+1)); - } - $tmp['domain_path'] = $tmparr; - }*/ - $response = json_decode( setConfig($tmp, $_SERVER['disk_oprating']), true )['Response']; - if (isset($response['Error'])) { - $html = $response['Error']['Code'] . '
+ return isset($response['Error']); +} + +function api_error_msg($response) +{ + return $response['Error']['Code'] . '
' . $response['Error']['Message'] . '

function_name:' . $_SERVER['function_name'] . '
Region:' . $_SERVER['Region'] . '
namespace:' . $_SERVER['namespace'] . '
'; - $title = 'Error'; - } else { - WaitSCFStat(); - //sleep(3); - $html .= json_encode($response,JSON_PRETTY_PRINT).''; - $title = getconstStr('Setup'); - } - return message($html, $title); - } - if ($_GET['preview']) { - $preurl = $_SERVER['PHP_SELF'] . '?preview'; - } else { - $preurl = path_format($_SERVER['PHP_SELF'] . '/'); - } - $html .= ' -'.getconstStr('Back').'   '.getconstStr('Back').getconstStr('Home').'
-Github
-
-'; - if ($needUpdate) { - $html .= '
' . $_SERVER['github_version'] . '
'; - } else { - $html .= getconstStr('NotNeedUpdate'); - } - $html .= ' - -
- - - - - '; - foreach ($ShowedCommonEnv as $key) { - if ($key=='language') { - $html .= ' - - - - '; - } elseif ($key=='theme') { - $theme_arr = scandir('theme'); - $html .= ' - - - - '; - } /*elseif ($key=='domain_path') { - $tmp = getConfig($key); - $domain_path = ''; - foreach ($tmp as $k1 => $v1) { - $domain_path .= $k1 . ':' . $v1 . '|'; - } - $domain_path = substr($domain_path, 0, -1); - $html .= ' - - - - '; - }*/ else $html .= ' - - - - '; - } - $html .= ' - - -
'.getconstStr('PlatformConfig').'
- -
- -

'; - foreach (explode("|",getConfig('disktag')) as $disktag) { - if ($disktag!='') { - $html .= ' - - - - - - '; - if (getConfig('refresh_token', $disktag)!='') { - $html .= ' - - '; - foreach ($ShowedInnerEnv as $key) { - $html .= ' - - - - '; - } - $html .= ' - - '; - } - $html .= ' -
'.$disktag.': - - -

'; - } - } - $html .= ' -'.getconstStr('AddDisk').''; - return message($html, getconstStr('Setup')); +} + +function OnekeyUpate() +{ + return json_decode(updateProgram($_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], getConfig('SecretId'), getConfig('SecretKey')), true)['Response']; +} + +function setConfigResponse($response) +{ + return json_decode( $response, true )['Response']; } From fc97b2269d55d108a584f42e048eaa7904c3581a Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 12:37:10 +0800 Subject: [PATCH 7/8] Update common.php --- function/common.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/function/common.php b/function/common.php index dc18bec..973b410 100644 --- a/function/common.php +++ b/function/common.php @@ -355,6 +355,7 @@ function message($message, $title = 'Message', $statusCode = 200) +

' . $title . '

@@ -1275,9 +1276,9 @@ function EnvOpt($needUpdate = 0) $html .= ' '.getconstStr('Back').'   '.getconstStr('Back').getconstStr('Home').'
Github
'; - if (!$_SERVER['USER']==='qcloud'&&!$_SERVER['HEROKU_APP_DIR']==='/app') { + if (!($_SERVER['USER']==='qcloud'||$_SERVER['HEROKU_APP_DIR']==='/app')) { $html .= ' -In VPS, can not update by a click!
'; +In VPS can not update by a click!
'; } else { $html .= '

From f8c8d80e0456e5e72db8eef073e2498d36a5b0ce Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 8 Mar 2020 16:52:24 +0800 Subject: [PATCH 8/8] Update lybwb.php --- theme/lybwb.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/theme/lybwb.php b/theme/lybwb.php index 42eb992..a6d611d 100644 --- a/theme/lybwb.php +++ b/theme/lybwb.php @@ -10,7 +10,12 @@