private function __construct()
 {
     $this->logDirectory = MainWP_Utility::getMainWPDir();
     $this->logDirectory = $this->logDirectory[0];
     $enabled = get_option('mainwp_actionlogs');
     if ($enabled === false) {
         $enabled = MainWP_Logger::DISABLED;
     }
     $this->setLogPriority($enabled);
 }
Example #2
0
 function parse_init()
 {
     if (isset($_GET['do']) && $_GET['do'] == 'testLog') {
         MainWP_Logger::Instance()->debug('ruben');
     }
     if (isset($_GET['do']) && $_GET['do'] == 'cronBackups') {
         $this->mainwp_cronbackups_action();
     } else {
         if (isset($_GET['do']) && $_GET['do'] == 'cronBackupsContinue') {
             $this->mainwp_cronbackups_continue_action();
         } else {
             if (isset($_GET['do']) && $_GET['do'] == 'cronStats') {
                 $this->mainwp_cronstats_action();
             } else {
                 if (isset($_GET['do']) && $_GET['do'] == 'cronUpdatesCheck') {
                     $this->mainwp_cronupdatescheck_action();
                 } else {
                     if (isset($_GET['mwpdl']) && isset($_GET['sig'])) {
                         $mwpDir = MainWP_Utility::getMainWPDir();
                         $mwpDir = $mwpDir[0];
                         $file = trailingslashit($mwpDir) . rawurldecode($_REQUEST['mwpdl']);
                         if (stristr(rawurldecode($_REQUEST['mwpdl']), '..')) {
                             return;
                         }
                         if (file_exists($file) && md5(filesize($file)) == $_GET['sig']) {
                             $this->uploadFile($file);
                             exit;
                         }
                     } else {
                         if (isset($_GET['page'])) {
                             switch ($_GET['page']) {
                                 case 'mainwp-setup':
                                     new MainWP_Setup_Wizard();
                                     break;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
 public static function showBackups(&$website, $fullBackups, $dbBackups)
 {
     $output = '';
     echo '<table>';
     $mwpDir = MainWP_Utility::getMainWPDir();
     $mwpDir = $mwpDir[0];
     foreach ($fullBackups as $key => $fullBackup) {
         $downloadLink = admin_url('?sig=' . md5(filesize($fullBackup)) . '&mwpdl=' . rawurlencode(str_replace($mwpDir, '', $fullBackup)));
         $output .= '<tr><td style="width: 400px;">' . MainWP_Utility::formatTimestamp(MainWP_Utility::getTimestamp(filemtime($fullBackup))) . ' - ' . MainWP_Utility::human_filesize(filesize($fullBackup));
         $output .= '</td><td><a title="' . basename($fullBackup) . '" href="' . $downloadLink . '" class="button">Download</a></td>';
         $output .= '<td><a href="admin.php?page=SiteRestore&websiteid=' . $website->id . '&f=' . base64_encode($downloadLink) . '&size=' . filesize($fullBackup) . '" class="mainwp-upgrade-button button" target="_blank" title="' . basename($fullBackup) . '">Restore</a></td></tr>';
     }
     if ($output == '') {
         echo '<br />' . __('No full backup has been taken yet', 'mainwp') . '<br />';
     } else {
         echo '<strong style="font-size: 14px">' . __('Last backups from your files:', 'mainwp') . '</strong>' . $output;
     }
     echo '</table><br/><table>';
     $output = '';
     foreach ($dbBackups as $key => $dbBackup) {
         $downloadLink = admin_url('?sig=' . md5(filesize($dbBackup)) . '&mwpdl=' . rawurlencode(str_replace($mwpDir, '', $dbBackup)));
         $output .= '<tr><td style="width: 400px;">' . MainWP_Utility::formatTimestamp(MainWP_Utility::getTimestamp(filemtime($dbBackup))) . ' - ' . MainWP_Utility::human_filesize(filesize($dbBackup)) . '</td><td><a title="' . basename($dbBackup) . '" href="' . $downloadLink . '" download class="button">Download</a></td></tr>';
     }
     if ($output == '') {
         echo '<br />' . __('No database only backup has been taken yet', 'mainwp') . '<br /><br />';
     } else {
         echo '<strong style="font-size: 14px">' . __('Last backups from your database:', 'mainwp') . '</strong>' . $output;
     }
     echo '</table>';
 }
 protected static function checkDirectoryMainWPDirectory()
 {
     $dirs = MainWP_Utility::getMainWPDir();
     $path = $dirs[0];
     if (!is_dir(dirname($path))) {
         //return self::renderDirectoryRow('MainWP upload directory', $path, 'Writable', 'Directory not found', false);
         return self::renderDirectoryRow('MainWP Upload Directory', 'Writable', 'Not Found', false, self::ERROR);
     }
     $hasWPFileSystem = MainWP_Utility::getWPFilesystem();
     /** @global WP_Filesystem_Base $wp_filesystem */
     global $wp_filesystem;
     if ($hasWPFileSystem && !empty($wp_filesystem)) {
         if (!$wp_filesystem->is_writable($path)) {
             //return self::renderDirectoryRow('MainWP upload directory', $path, 'Writable', 'Directory not writable', false);
             return self::renderDirectoryRow('MainWP Upload Directory', 'Writable', 'Not Writable', false, self::ERROR);
         }
     } else {
         if (!is_writable($path)) {
             //return self::renderDirectoryRow('MainWP upload directory', $path, 'Writable', 'Directory not writable', false);
             return self::renderDirectoryRow('MainWP Upload Directory', 'Writable', 'Not Writable', false, self::ERROR);
         }
     }
     //return self::renderDirectoryRow('MainWP upload directory', $path, 'Writable', '/', true);
     return self::renderDirectoryRow('MainWP Upload Directory', 'Writable', 'Writable', true, self::ERROR);
 }
 public static function prepareInstall()
 {
     include_once ABSPATH . '/wp-admin/includes/plugin-install.php';
     if (!isset($_POST['url'])) {
         if ($_POST['type'] == 'plugin') {
             $api = plugins_api('plugin_information', array('slug' => $_POST['slug'], 'fields' => array('sections' => false)));
             //Save on a bit of bandwidth.
         } else {
             $api = themes_api('theme_information', array('slug' => $_POST['slug'], 'fields' => array('sections' => false)));
             //Save on a bit of bandwidth.
         }
         $url = $api->download_link;
     } else {
         $url = $_POST['url'];
         $mwpDir = MainWP_Utility::getMainWPDir();
         $mwpUrl = $mwpDir[1];
         if (stristr($url, $mwpUrl)) {
             $fullFile = $mwpDir[0] . str_replace($mwpUrl, '', $url);
             $url = admin_url('?sig=' . md5(filesize($fullFile)) . '&mwpdl=' . rawurlencode(str_replace($mwpDir[0], '', $fullFile)));
         }
     }
     $output = array();
     $output['url'] = $url;
     $output['sites'] = array();
     if ($_POST['selected_by'] == 'site') {
         //Get sites
         foreach ($_POST['selected_sites'] as $enc_id) {
             $websiteid = $enc_id;
             if (MainWP_Utility::ctype_digit($websiteid)) {
                 $website = MainWP_DB::Instance()->getWebsiteById($websiteid);
                 $output['sites'][$website->id] = MainWP_Utility::mapSite($website, array('id', 'url', 'name'));
             }
         }
     } else {
         //Get sites from group
         foreach ($_POST['selected_groups'] as $enc_id) {
             $groupid = $enc_id;
             if (MainWP_Utility::ctype_digit($groupid)) {
                 $websites = MainWP_DB::Instance()->query(MainWP_DB::Instance()->getSQLWebsitesByGroupId($groupid));
                 while ($websites && ($website = @MainWP_DB::fetch_object($websites))) {
                     if ($website->sync_errors != '') {
                         continue;
                     }
                     $output['sites'][$website->id] = MainWP_Utility::mapSite($website, array('id', 'url', 'name'));
                 }
                 @MainWP_DB::free_result($websites);
             }
         }
     }
     die(json_encode($output));
 }
Example #6
0
 public static function getDownloadUrl($what, $filename)
 {
     $specificDir = MainWP_Utility::getMainWPSpecificDir($what);
     $mwpDir = MainWP_Utility::getMainWPDir();
     $mwpDir = $mwpDir[0];
     $fullFile = $specificDir . $filename;
     return admin_url('?sig=' . md5(filesize($fullFile)) . '&mwpdl=' . rawurlencode(str_replace($mwpDir, '', $fullFile)));
 }