Пример #1
0
		function snapshot_metaboxes_show_server_info() {

			global $wpdb, $wp_version;
			global $wpmudev_snapshot;
			?>
			<p><?php _e('The following table shows version information about your server. When contacting support it might be helpful to provide this information along with your specific issues.', SNAPSHOT_I18N_DOMAIN); ?></p>
			<table class="form-table snapshot-settings-server-info">
			<tr class="form-field" >
				<th scope="row">
					<?php _e('WordPress Version', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						echo $wp_version;
					?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('PHP Version', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php echo phpversion(); ?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('MySQL Version', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php echo $wpdb->db_version(); ?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('Is Multisite', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
				if (is_multisite()) {
					$blogs_count = snapshot_utility_get_blogs(true);
					echo __('Yes, Number of Sites', SNAPSHOT_I18N_DOMAIN) .": ". number_format($blogs_count);
				} else {
					_e('No', SNAPSHOT_I18N_DOMAIN);
				}
					?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('WP_CRON', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						echo __('Snapshot uses WP_CRON to run automated backups. If you have disabled WP_CRON via your wp-config.php you will not be able to schedule snapshots.', SNAPSHOT_I18N_DOMAIN) ."<br />";
						if ( (defined('DISABLE_WP_CRON')) && (DISABLE_WP_CRON == true)) {
							echo '<span style="color:#FF0000">'. __('WP_CRON - Disabled. Check your wp-config.php for the DISABLE_WP_CRON define. When scheduling snapshots to run you will need to call the wp-cron.php file from an external source', SNAPSHOT_I18N_DOMAIN) .'</span>';
						} else {
							echo __('WP_CRON Enabled.', SNAPSHOT_I18N_DOMAIN);
						}

						if (defined('WP_CRON_LOCK_TIMEOUT')) {
							echo "<br />" . __('WP_CRON Lock timeout: ', SNAPSHOT_I18N_DOMAIN) . WP_CRON_LOCK_TIMEOUT;
						}
					?>
				</td>
			</tr>
<?php /* ?>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('_SESSION', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						$session_save_path = session_save_path();
						echo __('Snapshot uses _SESSIONS to store temporary information about database tables and files during the backup and restore processing. Sessions are a default part of PHP.', SNAPSHOT_I18N_DOMAIN) ."<br />";
					?>
					Session save path: <span class="description"><?php echo $session_save_path; ?><br />
					<?php
						if (empty($session_save_path)) {
							echo '<span style="color:#FF0000">'. __('Session save path is empty. This may be ok. Try running snapshot manually.',
							 	SNAPSHOT_I18N_DOMAIN) .'</span><br />';
						} else {
							if (!is_dir($session_save_path)) {
								echo '<span style="color:#FF0000">'. __('Session save path is not a valid directory.', SNAPSHOT_I18N_DOMAIN) .'</span><br />';
							} else {
								echo '<span>'. __('Session save path is a valid directory.', SNAPSHOT_I18N_DOMAIN) .'</span><br />';
							}
							if (!is_writable($session_save_path)) {
								echo '<span style="color:#FF0000">'. __('Session save path is not writeable.', SNAPSHOT_I18N_DOMAIN) .'</span><br />';
							} else {
								echo '<span>'. __('Session save path is writeable.', SNAPSHOT_I18N_DOMAIN) .'</span><br />';
							}
						}
					?>
				</td>
			</tr>
<?php */ ?>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('Folder Permissions', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						$folders_array = array(
							$wpmudev_snapshot->snapshot_get_setting('backupBaseFolderFull'),
							$wpmudev_snapshot->snapshot_get_setting('backupBackupFolderFull'),
							$wpmudev_snapshot->snapshot_get_setting('backupRestoreFolderFull'),
							$wpmudev_snapshot->snapshot_get_setting('backupLockFolderFull'),
							$wpmudev_snapshot->snapshot_get_setting('backupLogFolderFull')
						);
						sort($folders_array);
						foreach($folders_array as $folder) {

							if (!file_exists($folder)) {
								echo '<span class="snapshot-error">'. __("Missing Folder", SNAPSHOT_I18N_DOMAIN) ." &ndash; ". $folder . "</span><br />";
							} else {
								if (!is_writable($folder))
									echo __("Not Writable ", SNAPSHOT_I18N_DOMAIN);
								else {
									echo __("Writable ", SNAPSHOT_I18N_DOMAIN);
								}
								echo "(". substr(sprintf('%o', fileperms($folder)), -4) . ") &ndash; ". str_replace(ABSPATH, '/', $folder) . "<br />";
							}
						}

					?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('OpenSSL', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						echo __('The OpenSSL Apache module is require to make secure connections with destinations like Dropbox and Amazon AWS.', SNAPSHOT_I18N_DOMAIN) ."<br />";

						if (!extension_loaded('openssl')) {
							echo '<span style="color:#FF0000">'. __('OpenSSL not installed.', SNAPSHOT_I18N_DOMAIN) .'</span>';
						} else {
							echo __("OpenSSL installed", SNAPSHOT_I18N_DOMAIN);
						}
					?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<?php _e('cURL', SNAPSHOT_I18N_DOMAIN); ?>

				</th>
				<td>
					<?php
						echo __('cURL is used when connecting to remote destinations like Dropbox and Amazon AWS.', SNAPSHOT_I18N_DOMAIN) ."<br />";

						if (!extension_loaded('curl')) {
							echo '<span style="color:#FF0000">'. __('cURL not installed.', SNAPSHOT_I18N_DOMAIN) .'</span>';
						} else {
							echo __("cURL installed", SNAPSHOT_I18N_DOMAIN) ."<br />";
							$version = curl_version();

							echo __("Version", SNAPSHOT_I18N_DOMAIN) .": ". $version['version'] ."<br />";
							echo __("SSL Version", SNAPSHOT_I18N_DOMAIN) .": ". $version['ssl_version'] ."<br />";
							echo __("Libz Version", SNAPSHOT_I18N_DOMAIN) .": ". $version['libz_version'] ."<br />";
							echo __("Protocols", SNAPSHOT_I18N_DOMAIN) .": ". join(', ', $version['protocols']) ."<br />";

							//echo "version<pre>"; print_r($version); echo "</pre>";
							//$ssl_supported= ($version['features'] & CURL_VERSION_SSL);


						}
					?>
				</td>
			</tr>
			<tr class="form-field" >
				<th scope="row">
					<strong><?php _e('PHP runtime information', SNAPSHOT_I18N_DOMAIN); ?></strong>
				</th>
				<td>&nbsp;</td>
			</tr>
			<?php
				$php_vars_array = array(
					'safe_mode'					=> 	__("Running PHP in Safe Mode", SNAPSHOT_I18N_DOMAIN),
					'max_execution_time'		=> 	__("Max Execution Time (seconds)", SNAPSHOT_I18N_DOMAIN),
					'magic_quotes_gpc'			=>	__("Magic Quotes", SNAPSHOT_I18N_DOMAIN),
					'error_reporting'			=>	__("Error Reporting", SNAPSHOT_I18N_DOMAIN),
					'display_errors'			=>	__("Display Errors", SNAPSHOT_I18N_DOMAIN),
					'memory_limit'				=>	__("Memory Limit", SNAPSHOT_I18N_DOMAIN),
					'zlib.output_compression'	=>	__("ZLib Compression", SNAPSHOT_I18N_DOMAIN),
					'open_basedir'				=> 	__("Open Basedir", SNAPSHOT_I18N_DOMAIN),
					'safe_mode'					=>	__("Safe Mode", SNAPSHOT_I18N_DOMAIN)

				);
				asort($php_vars_array);
				?>
					<?php
						foreach($php_vars_array as $php_var => $php_label) {
							$php_val = ini_get($php_var);
							if (!$php_val) $php_val = "Off";

							?>
							<tr class="form-field" >
								<td><?php echo $php_label ?></td>
								<td><?php
									if ($php_var == "max_execution_time") {
										echo $php_val;
										if (snapshot_utility_check_server_timeout()) {
											_e(" The value displayed can be adjusted by Snapshot PHP scripts.", SNAPSHOT_I18N_DOMAIN);
										} else {
											_e(" The value displayed cannot be adjusted by Snapshot PHP scripts.", SNAPSHOT_I18N_DOMAIN);
										}
									} else if ($php_var == "memory_limit") {
										//echo " - PHP 'memory_limit'";
										if (defined('WP_MEMORY_LIMIT')) {
											echo WP_MEMORY_LIMIT .' - WP_MEMORY_LIMIT defined by WordPress <a target="_blank"
 href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">wp-config.php</a>.';
										}

										if (defined('WP_MAX_MEMORY_LIMIT')) {
											echo "<br />". WP_MAX_MEMORY_LIMIT .' - WP_MAX_MEMORY_LIMIT defined automatically by WordPress';
										} else {
											echo "<br />". WP_MAX_MEMORY_LIMIT .' - not defined';
										}

									} else if ($php_var == "error_reporting") {
										echo $php_val;
										$errorStr = array();
										error_reporting(E_ERROR | E_WARNING | E_CORE_ERROR);
										$current_error = error_reporting();
										if ( (defined('E_ERROR')) && ($current_error & E_ERROR) ) $errorStr[] = "E_ERROR";
										if ( (defined('E_WARNING')) && ($current_error & E_WARNING)) $errorStr[] = "E_WARNING";
										if ((defined('E_PARSE')) && ($current_error & E_PARSE)) $errorStr[] = "E_PARSE";
										if ((defined('E_NOTICE')) && ($current_error & E_NOTICE)) $errorStr[] = "E_NOTICE";

										//if ((defined('E_CORE_ERROR')) && ($current_error & E_CORE_ERROR)) $errorStr[] = "E_CORE_ERROR";
										//if ((defined('E_CORE_WARNING')) && ($current_error & E_CORE_WARNING)) $errorStr[] = "E_CORE_WARNING";

										//if ((defined('E_COMPILE_ERROR')) && ($current_error & E_COMPILE_ERROR)) $errorStr[] = "E_COMPILE_ERROR";
										//if ((defined('E_COMPILE_WARNING')) && ($current_error & E_COMPILE_WARNING)) $errorStr[] = "E_COMPILE_WARNING";

										//if ((defined('E_USER_ERROR')) && ($current_error & E_USER_ERROR)) $errorStr[] = "E_USER_ERROR";
										//if ((defined('E_USER_WARNING')) && ($current_error & E_USER_WARNING)) $errorStr[] = "E_USER_WARNING";
										//if ((defined('E_USER_NOTICE')) && ($current_error & E_USER_NOTICE)) $errorStr[] = "E_USER_NOTICE";

										//if ((defined('E_STRICT')) && ($current_error & E_STRICT)) $errorStr[] = "E_STRICT";
										//if ((defined('E_RECOVERABLE_ERROR')) && ($current_error & E_RECOVERABLE_ERROR)) $errorStr[] = "E_RECOVERABLE_ERROR";
										//if ((defined('E_DEPRECATED')) && ($current_error & E_DEPRECATED)) $errorStr[] = "E_DEPRECATED";
										//if ((defined('E_USER_DEPRECATED')) && ($current_error & E_USER_DEPRECATED)) $errorStr[] = "E_USER_DEPRECATED";

										if (count($errorStr)) {
											echo " - ". join(', ', $errorStr);
										}
									} else {
										echo $php_val;
									}

								?></td>
							</tr>
							<?php
						}
					?>
			</tr>
			</table>
			<?php
		}
Пример #2
0
		/**
		 * Panel showing form to restore previous Snapshot.
		 *
		 * @since 1.0.2
		 * @uses metaboxes setup in $this->admin_menu_proc()
		 * @uses $_REQUEST['item']
		 * @uses $this->config_data['items']
		 *
		 * @param none
		 * @return none
		 */
		function snapshot_admin_show_restore_panel($item) {
			global $wpmudev_snapshot;

			require( $wpmudev_snapshot->snapshot_get_setting('SNAPSHOT_PLUGIN_BASE_DIR'). '/lib/snapshot_admin_metaboxes.php' );
			$this->_snapshot_metaboxes = new wpmudev_snapshot_admin_metaboxes( );

			if ((isset($_GET['snapshot-data-item'])) && (isset($item['data'][intval($_GET['snapshot-data-item'])]))) {
				$data_item_key = intval($_GET['snapshot-data-item']);
				?>
				<div id="snapshot-settings-metaboxes-general" class="wrap snapshot-wrap">
					<?php screen_icon('snapshot'); ?>
					<h2><?php _ex("Restore Snapshot", "Snapshot Plugin Page Title", SNAPSHOT_I18N_DOMAIN); ?></h2>

					<p class="snapshot-restore-description"><?php _ex("On this page you can restore a previous snapshot. Using the 'Restore Options' section below you can also opt to turn off all plugins as well as switch to a different theme as part of the restore.", 'Snapshot page description', SNAPSHOT_I18N_DOMAIN); ?></p>

					<div id='snapshot-ajax-warning' class='updated fade'><p><?php _e('You are about to restore a previous version of your WordPress database. This will remove any new information added since the snapshot backup.', SNAPSHOT_I18N_DOMAIN); ?></p></div>

					<?php
						if (!snapshot_utility_check_server_timeout()) {
							$current_timeout = ini_get('max_execution_time');
							?><div class='error snapshot-error'><p><?php printf(__('Your web server timeout is set very low, %d seconds. Also, it appears this timeout cannot be adjusted via the Snapshot restore process. Attempting a snapshot restore could result in a partial restore of your tables.', SNAPSHOT_I18N_DOMAIN), $current_timeout); ?></p></div><?php
						}
					?>
					<?php snapshot_utility_form_ajax_panels(); ?>
					<?php
						if (isset($_GET['snapshot-data-item'])) {
							$data_item = $item['data'][$_GET['snapshot-data-item']];
						}

						$backupFolder = $wpmudev_snapshot->snapshot_get_item_destination_path($item, $data_item);
						if (empty($backupFolder)) {
							$backupFolder = $wpmudev_snapshot->snapshot_get_setting('backupBaseFolderFull');
						}

						if ((isset($data_item['filename'])) && (strlen($data_item['filename']))) {
							$manifest_filename = snapshot_utility_extract_archive_manifest(trailingslashit($backupFolder) . $data_item['filename']);
							if ($manifest_filename) {
								//echo "manifest_filename=[". $manifest_filename ."]<br />";
								$manifest_data = snapshot_utility_consume_archive_manifest($manifest_filename);
								if ($manifest_data) {
									//echo "manifest_data<pre>"; print_r($manifest_data); echo "</pre>";
									$item['MANIFEST'] = $manifest_data;
								}
							}
						}

					?>


					<div id="poststuff" class="metabox-holder">

						<form id="snapshot-edit-restore" action="<?php
							echo $wpmudev_snapshot->snapshot_get_setting('SNAPSHOT_MENU_URL'); ?>snapshots_edit_panel" method="post">
							<input type="hidden" name="snapshot-action" value="restore-request" />
							<input type="hidden" name="item" value="<?php echo $item['timestamp']; ?>" />
							<?php wp_nonce_field('snapshot-restore', 'snapshot-noonce-field'); ?>

							<?php $this->_snapshot_metaboxes->snapshot_metaboxes_show_item_header_information(
								__('Snapshot Information', SNAPSHOT_I18N_DOMAIN), $item, true ); ?>

							<?php
								$this->_snapshot_metaboxes->snapshot_metabox_show_archive_files(
									__('Selected Archive to Restore', SNAPSHOT_I18N_DOMAIN), $item, true );
							?>
							<?php
								//if (is_multisite()) {
									$this->_snapshot_metaboxes->snapshot_metabox_restore_blog_options(
										__('Restore Blog Options', SNAPSHOT_I18N_DOMAIN), $item );
								//}
							?>
							<?php
								$this->_snapshot_metaboxes->snapshot_metabox_show_restore_tables_options(
									__('What Tables to Restore?', SNAPSHOT_I18N_DOMAIN), $item, $data_item_key);
							?>
							<?php
								$this->_snapshot_metaboxes->snapshot_metabox_show_restore_files_options(
									__('What Files to Restore?', SNAPSHOT_I18N_DOMAIN), $item, $data_item_key);

							?>
							<?php
								$this->_snapshot_metaboxes->snapshot_metabox_restore_options( __('Restore Theme Options', SNAPSHOT_I18N_DOMAIN), $item );
							?>
							<input id="snapshot-form-restore-submit" class="button-primary"
							<?php
								if (!$data_item_key) {	?> disabled="disabled" <?php } ?>
								type="submit" value="<?php _e('Restore Snapshot', SNAPSHOT_I18N_DOMAIN); ?>" />
							<a class="button-secondary" href="<?php echo $wpmudev_snapshot->snapshot_get_setting('SNAPSHOT_MENU_URL'); ?>
									snapshots_edit_panel"><?php _e('Cancel', SNAPSHOT_I18N_DOMAIN); ?></a>
						</form>
					</div>
				</div>
				<?php
			} else {
				?>
				<div id="snapshot-settings-metaboxes-general" class="wrap snapshot-wrap">
					<?php screen_icon('snapshot'); ?>
					<h2><?php _ex("Restore Snapshot", "Snapshot Plugin Page Title", SNAPSHOT_I18N_DOMAIN); ?></h2>

					<p class="snapshot-restore-description"><?php _ex("ERROR: Missing argument. Please return to the main Snapshot panel and select the archive to restore. ", 'Snapshot page description', SNAPSHOT_I18N_DOMAIN); ?><a href="?page=snapshots_edit_panel">Snapshot</a>.</p>
				</div>
				<?php
			}
		}