appIdentifier = $appIdentifier;
$this->pluginid = $pluginid;
$step = !empty($_GET['step']) ? authcode($_GET['step'], 'DECODE', $_G['config']['security']['authkey']) : $startStep;
$method = 'step_'.$step;
$this->lang = lang('cloud_register');
if(!empty($_GET['skip'])) {
return false;
}
if(method_exists($this, $method)) {
return $this->$method();
} else {
return false;
}
}
private function _step($v) {
global $_G;
return rawurlencode(authcode($v, 'ENCODE', $_G['config']['security']['authkey'], 3600));
}
private function _msg($message, $extra = '') {
if(defined('ADMINSCRIPT')) {
cpmsg($message, '', 'succeed', array(), ($extra ? $extra.'
' : '').'
'.$this->lang['back'].'');
} else {
showmessage($message.'
'.$extra, $url, $values, array('alert' => 'info'));
}
}
private function step_appOpenFormView() {
global $_G;
$submiturl = $_G['siteurl'].ADMINSCRIPT.'?action=plugins&operation=enable&pluginid='.$this->pluginid.'&formhash='.FORMHASH.'&step='.$this->_step('appOpenWithRegister');
$fromurl = $_G['siteurl'].ADMINSCRIPT.'?action=plugins';
$data = $this->appOpenFormView($this->appIdentifier, $submiturl, $fromurl);
if($data) {
echo $data;
exit;
}
$this->step_appOpenWithRegister();
}
private function step_appOpenWithRegister() {
global $_G;
$return = $this->appOpenWithRegister($this->appIdentifier, $_GET['extra']);
if($return['errCode']) {
if($return['errCode'] == '1000') {
$this->step_bindQQ();
} else {
$this->_msg($return['errMessage']);
}
}
if($return['result']) {
if($return['result']['sId'] && $return['result']['sKey']) {
C::t('common_setting')->update_batch(array('my_siteid' => $return['result']['sId'], 'my_sitekey' => $return['result']['sKey']));
updatecache('setting');
}
if($return['result']['needBindQQ']) {
$this->step_bindQQ();
}
}
$this->step_over();
}
private function step_bindQQ() {
global $_G;
$fromurl = $_G['siteurl'].ADMINSCRIPT.'?frame=no&action=plugins&operation=enable&pluginid='.$this->pluginid.'&formhash='.FORMHASH.'&step='.$this->_step('bindQQBack');
$url = $this->bindQQ($this->appIdentifier, $fromurl, $_GET['extra']);
$script = '';
$this->_msg($this->lang['bindqq'], $script.$this->lang['bindqq_link']);
}
private function step_bindQQBack() {
$stepurl = $_G['siteurl'].ADMINSCRIPT.'?action=plugins&operation=enable&pluginid='.$this->pluginid.'&formhash='.FORMHASH.'&step='.$this->_step('appOpenWithRegister');
if($_GET['extra']) {
$utilService = Cloud::loadClass('Service_Util');
$stepurl .= '&'.$utilService->httpBuildQuery(array('extra' => $_GET['extra']), '', '&');
}
echo '';
exit;
}
private function step_over() {
return true;
}
private function step_appCloseReasonsView() {
$submiturl = $_G['siteurl'].ADMINSCRIPT.'?action=plugins&operation=disable&pluginid='.$this->pluginid.'&formhash='.FORMHASH.'&step='.$this->_step('appClose');
$fromurl = $_G['siteurl'].ADMINSCRIPT.'?action=plugins';
$data = $this->appCloseReasonsView($this->appIdentifier, $submiturl, $fromurl);
if($data) {
echo $data;
exit;
}
$this->step_over();
}
private function step_appClose() {
$return = $this->appClose($this->appIdentifier);
if($return['errCode']) {
$this->_msg($return['errMessage']);
}
$this->step_over();
}
}
?>