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']; }