示例#1
0
 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);
     }
 }
示例#2
0
 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;
 }