static function fetchUrlAuthed(&$website, $what, $params = null, $checkConstraints = false, $pForceFetch = false, $pRetryFailed = true)
 {
     if ($params == null) {
         $params = array();
     }
     if ($what == 'stats' || $what == 'upgradeplugintheme' && isset($params['type']) && 'plugin' == $params['type']) {
         // to fix bug
         $try_tounch_plugins_page = get_option('mainwp_request_plugins_page_site_' . $website->id);
         if ('yes' == $try_tounch_plugins_page) {
             $page_plugins_url = MainWP_Utility::getGetDataAuthed($website, 'plugins.php');
             wp_remote_get($page_plugins_url, array('timeout' => 25, 'httpversion' => '1.1'));
         }
     }
     $params['optimize'] = get_option('mainwp_optimize') == 1 ? 1 : 0;
     $postdata = MainWP_Utility::getPostDataAuthed($website, $what, $params);
     $information = MainWP_Utility::fetchUrl($website, $website->url, $postdata, $checkConstraints, $pForceFetch, $website->verify_certificate, $pRetryFailed, $website->http_user, $website->http_pass, $website->ssl_version);
     if (is_array($information) && isset($information['sync']) && !empty($information['sync'])) {
         MainWP_Sync::syncInformationArray($website, $information['sync']);
         unset($information['sync']);
     }
     return $information;
 }
    public static function openSiteRestore($website, $file, $size)
    {
        ?>
		<div class="wrap">
			<a href="https://mainwp.com" id="mainwplogo" title="MainWP" target="_blank"><img src="<?php 
        echo plugins_url('images/logo.png', dirname(__FILE__));
        ?>
" height="50" alt="MainWP"/></a>

			<h2><i class="fa fa-globe"></i> <?php 
        echo stripslashes($website->name);
        ?>
</h2>

			<div style="clear: both;"></div>
			<br/>

			<div id="mainwp_background-box">
				<?php 
        _e('Will redirect to your website immediately.', 'mainwp');
        $url = isset($website->siteurl) && $website->siteurl != '' ? $website->siteurl : $website->url;
        $url .= substr($url, -1) != '/' ? '/' : '';
        $postdata = MainWP_Utility::getGetDataAuthed($website, $file, MainWP_Utility::getFileParameter($website), true);
        $postdata['size'] = $size;
        ?>
				<form method="POST" action="<?php 
        echo $url;
        ?>
" id="redirectForm">
					<?php 
        foreach ($postdata as $name => $value) {
            echo '<input type="hidden" name="' . $name . '" value="' . $value . '" />';
        }
        ?>
				</form>
			</div>
		</div>
		<?php 
    }
 public static function backupDownloadFile($pSiteId, $pType, $pUrl, $pFile)
 {
     $dir = dirname($pFile) . '/';
     @mkdir($dir, 0777, true);
     if (!file_exists($dir . 'index.php')) {
         @touch($dir . 'index.php');
     }
     //Clean old backups from our system
     $maxBackups = get_option('mainwp_backupsOnServer');
     if ($maxBackups === false) {
         $maxBackups = 1;
     }
     $dbBackups = array();
     $fullBackups = array();
     if (file_exists($dir) && ($dh = opendir($dir))) {
         while (($file = readdir($dh)) !== false) {
             if ($file != '.' && $file != '..') {
                 $theFile = $dir . $file;
                 if ($pType == 'db' && MainWP_Utility::isSQLFile($file)) {
                     $dbBackups[filemtime($theFile) . $file] = $theFile;
                 }
                 if ($pType == 'full' && MainWP_Utility::isArchive($file) && !MainWP_Utility::isSQLArchive($file)) {
                     $fullBackups[filemtime($theFile) . $file] = $theFile;
                 }
             }
         }
         closedir($dh);
     }
     krsort($dbBackups);
     krsort($fullBackups);
     $cnt = 0;
     foreach ($dbBackups as $key => $dbBackup) {
         $cnt++;
         if ($cnt >= $maxBackups) {
             @unlink($dbBackup);
         }
     }
     $cnt = 0;
     foreach ($fullBackups as $key => $fullBackup) {
         $cnt++;
         if ($cnt >= $maxBackups) {
             @unlink($fullBackup);
         }
     }
     $website = MainWP_DB::Instance()->getWebsiteById($pSiteId);
     MainWP_Utility::endSession();
     $what = null;
     if ($pType == 'db') {
         MainWP_Utility::downloadToFile(MainWP_Utility::getGetDataAuthed($website, $pUrl, 'fdl'), $pFile, false, $website->http_user, $website->http_pass);
     }
     if ($pType == 'full') {
         MainWP_Utility::downloadToFile(MainWP_Utility::getGetDataAuthed($website, $pUrl, 'fdl'), $pFile, false, $website->http_user, $website->http_pass);
     }
     return true;
 }