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 ); }