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 . ''.getconstStr('Refresh').' ', '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 = '
+
+ ';
+ $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') . '
+'.getconstStr('Refresh').' ';
+ $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!
+'.getconstStr('Refresh').' ';
+ $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 .= '
+';
+ }
+ $html .= '
+ ';
+ foreach (explode("|",getConfig('disktag')) as $disktag) {
+ if ($disktag!='') {
+ $html .= '
+
+ ';
+ if (getConfig('refresh_token', $disktag)!='') {
+ $html .= '
+ ';
+ }
+ $html .= '
+
';
+ }
+ }
+ $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 . ''.getconstStr('Refresh').' ', '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'] . '
-'.$constStr['Refresh'][$constStr['language']].' ';
- $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 = '
-
- ';
- $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'] . '
-'.$constStr['Refresh'][$constStr['language']].' ';
+ 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'] . '
-'.$constStr['Refresh'][$constStr['language']].' ';
- $title = 'Error';
- } else {
- $html .= getconstStr('UpdateSuccess') . '
-'.getconstStr('Refresh').' ';
- $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'] . '
-'.$constStr['Refresh'][$constStr['language']].' ';
- $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
-
- ';
- foreach (explode("|",getConfig('disktag')) as $disktag) {
- if ($disktag!='') {
- $html .= '
-
- ';
- if (getConfig('refresh_token', $disktag)!='') {
- $html .= '
- ';
- }
- $html .= '
-
';
- }
- }
- $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'] . '
+'.getconstStr('Refresh').' ';
+}
+
+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 . ''.getconstStr('Refresh').' ', '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.
-'.getconstStr('Refresh').' ';
- $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 = '
-
- ';
- $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.
-'.getconstStr('Refresh').' ';
+ 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 . '
-'.getconstStr('Refresh').' ';
- $title = 'Error';
- } else {
- $html .= getconstStr('UpdateSuccess') . '
-'.getconstStr('Refresh').' ';
- $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 . '
-'.getconstStr('Refresh').' ';
- $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 (explode("|",getConfig('disktag')) as $disktag) {
- if ($disktag!='') {
- $html .= '
-
- ';
- if (getConfig('refresh_token', $disktag)!='') {
- $html .= '
- ';
- }
- $html .= '
-
';
- }
- }
- $html .= '
-'.getconstStr('AddDisk').' ';
- return message($html, getconstStr('Setup'));
+ return !$response;
+}
+
+function api_error_msg($response)
+{
+ return $response . '
+Can not write config to file.
+'.getconstStr('Refresh').' ';
+}
+
+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 . ''.getconstStr('Refresh').' ', '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'] . '
-'.getconstStr('Refresh').' ';
- $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 = '
-
- ';
- $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 .= '
'.getconstStr('Refresh').' ';
$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 . '
-'.getconstStr('Refresh').' ';
- $title = 'Error';
- } else {
- WaitSCFStat();
- $html .= getconstStr('UpdateSuccess') . '
-'.getconstStr('Refresh').' ';
- $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'] . '
'.getconstStr('Refresh').' ';
- $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
-
- ';
- foreach (explode("|",getConfig('disktag')) as $disktag) {
- if ($disktag!='') {
- $html .= '
-
- ';
- if (getConfig('refresh_token', $disktag)!='') {
- $html .= '
- ';
- }
- $html .= '
-
';
- }
- }
- $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 .= '