public static function addSiteResponseProcessor($historyID, $responseData) { responseDirectErrorHandler($historyID, $responseData); if (empty($responseData['success'])) { if (!empty($GLOBALS['storage']['newSite']['advancedCUCT']) && $GLOBALS['storage']['newSite']['advancedCUCT'] < 6) { $GLOBALS['storage']['newSite']['advancedCUCT'] += 1; $advCUCT = $GLOBALS['storage']['newSite']['advancedCUCT']; if ($advCUCT == 1) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = ''; $GLOBALS['storage']['newSite']['connectURL'] = 'default'; } else { if ($advCUCT == 2) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = ''; $GLOBALS['storage']['newSite']['connectURL'] = 'siteURL'; } else { if ($advCUCT == 3) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = 'multipart/form-data'; $GLOBALS['storage']['newSite']['connectURL'] = 'default'; } else { if ($advCUCT == 4) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = 'multipart/form-data'; $GLOBALS['storage']['newSite']['connectURL'] = 'siteURL'; } else { if ($advCUCT == 5) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = 'text/plain'; $GLOBALS['storage']['newSite']['connectURL'] = 'default'; } else { if ($advCUCT == 6) { $GLOBALS['storage']['newSite']['callOpt']['contentType'] = 'text/plain'; $GLOBALS['storage']['newSite']['connectURL'] = 'siteURL'; } } } } } } $callOpt = $GLOBALS['storage']['newSite']['callOpt']; $requestData = $GLOBALS['storage']['newSite']['requestData']; $siteURL = $requestData['params']['site_url']; return executeRequest($historyID, 'site', 'add', $siteURL, $requestData, $timeout, true, $callOpt); } else { return false; } } if (!empty($responseData['success']['error'])) { //There is no variable "$responseData['error_data']" exists in plugin. especially, in add_site task. Error wont come in success array ... DB::update("?:history_additional_data", array('status' => 'error', 'errorMsg' => $responseData['success']['error'], 'error' => $responseData['success']['error_code']), "historyID='" . $historyID . "'"); } elseif (!empty($responseData['success'])) { DB::update("?:history_additional_data", array('status' => 'success'), "historyID='" . $historyID . "'"); $privateKey = $GLOBALS['storage']['newSite']['addSitePrivateKey']; $isOpenSSLActive = '1'; if ($responseData['success']['no_openssl']) { $privateKey = NULL; $isOpenSSLActive = '0'; } $URLParts = explode('/', $responseData['success']['site_home']); $siteData = array("URL" => $responseData['success']['site_home'] . '/', "adminURL" => $responseData['success']['admin_url'], "name" => str_replace(array('http://www.', 'https://www.', 'http://', 'https://'), '', $responseData['success']['site_home']), "privateKey" => $privateKey, "adminUsername" => $GLOBALS['storage']['newSite']['addSiteAdminUsername'], "isOpenSSLActive" => $isOpenSSLActive, "randomSignature" => $responseData['success']['no_openssl'], "WPVersion" => $responseData['success']['wordpress_version'], "pluginVersion" => $responseData['success']['worker_version'], "IP" => gethostbyname($URLParts[2]), "network" => $responseData['success']['network_install'] == -1 ? 1 : 0, "multisiteID" => empty($responseData['success']['wp_multisite']) ? 0 : $responseData['success']['wp_multisite'], "parent" => $responseData['success']['site_home'] == $responseData['success']['network_parent'] ? 1 : 0, "connectURL" => $GLOBALS['storage']['newSite']['connectURL']); // save data if (!empty($GLOBALS['storage']['newSite']['httpAuth']['username'])) { $siteData['httpAuth']['username'] = $GLOBALS['storage']['newSite']['httpAuth']['username']; $siteData['httpAuth']['password'] = $GLOBALS['storage']['newSite']['httpAuth']['password']; $siteData['httpAuth'] = @serialize($siteData['httpAuth']); } if (!empty($GLOBALS['storage']['newSite']['callOpt']) || $responseData['success']['use_cookie'] == 1) { $callOpt = array(); if ($responseData['success']['use_cookie'] == 1) { $callOpt['useCookie'] = 1; } if (!empty($GLOBALS['storage']['newSite']['callOpt'])) { $callOpt = array_merge($callOpt, $GLOBALS['storage']['newSite']['callOpt']); } $siteData['callOpt'] = @serialize($callOpt); } $siteID = DB::insert('?:sites', $siteData); DB::replace("?:user_access", array('userID' => $GLOBALS['userID'], 'siteID' => $siteID)); $groupsPlainText = $GLOBALS['storage']['newSite']['groupsPlainText']; $groupIDs = $GLOBALS['storage']['newSite']['groupIDs']; $managerIDs = $GLOBALS['storage']['newSite']['managerID']; if (isset($managerIDs) && !empty($managerIDs)) { foreach ($managerIDs as $key => $managerID) { DB::replace("?:user_access", array('userID' => $managerID, 'siteID' => $siteID)); } } panelRequestManager::addSiteSetGroups($siteID, $groupsPlainText, $groupIDs); unset($GLOBALS['storage']['newSite']); //---------------------------post process------------------------> $allParams = array('action' => 'getStats', 'args' => array('siteIDs' => array($siteID), 'extras' => array('directExecute' => true, 'doNotShowUser' => true))); panelRequestManager::handler($allParams); setHook('postAddSite', $siteID); } }
public static function updateSite($params) { if (empty($params['siteID'])) { return false; } $siteData = array("adminURL" => $params['adminURL'], "adminUsername" => $params['adminUsername'], "URL" => $params['URL'], "connectURL" => $params['connectURL']); // save data if (!empty($params['httpAuth']['username'])) { $siteData['httpAuth'] = serialize($params['httpAuth']); } else { $siteData['httpAuth'] = ''; } if (!empty($params['callOpt'])) { $siteData['callOpt'] = serialize($params['callOpt']); } else { $siteData['callOpt'] = ''; } $isDone = DB::update('?:sites', $siteData, "siteID = '" . $params['siteID'] . "'"); if ($isDone) { panelRequestManager::addSiteSetGroups($params['siteID'], $params['groupsPlainText'], $params['groupIDs']); } return $isDone; }