Ejemplo n.º 1
0
 function log_message($message)
 {
     if ($this->log_fp) {
         fwrite($this->log_fp, Snapshot_Helper_Utility::show_date_time(time(), 'Y-m-d H:i:s') . ": " . $message . "\r\n");
         fflush($this->log_fp);
     }
 }
Ejemplo n.º 2
0
        function snapshot_admin_show_item_archive_panel($item)
        {
            WPMUDEVSnapshot::instance()->archives_data_items_table->prepare_items($item);
            ?>
			<div class="wrap snapshot-wrap">
				<h2>Snapshot Item Archive <a class="add-new-h2" href="<?php 
            echo WPMUDEVSnapshot::instance()->get_setting('SNAPSHOT_MENU_URL');
            ?>
snapshots_edit_panel&amp;snapshot-action=edit&amp;item=<?php 
            echo $item['timestamp'];
            ?>
">Edit
						Item</a></h2>
				<?php 
            //echo "_REQUEST<pre>"; print_r($_REQUEST); echo "</pre>";
            ?>
				<form id="snapshot-item-archives-form" method="get">
					<input type="hidden" name="snapshot-action" value="item-archives"/>
					<input type="hidden" name="page" value="snapshots_edit_panel"/>
					<input type="hidden" name="item" value="<?php 
            echo $item['timestamp'];
            ?>
"/>

					<!-- For plugins, we also need to ensure that the form posts back to our current page -->
					<input type="hidden" name="page" value="<?php 
            echo $_REQUEST['page'];
            ?>
"/>


					<div style="float: right"
					     class="snapshot-system-time"><?php 
            _e('Current time:', SNAPSHOT_I18N_DOMAIN);
            ?>
						<strong><?php 
            echo Snapshot_Helper_Utility::show_date_time(time());
            ?>
</strong></div>

					<?php 
            if ($item['destination-sync'] == "mirror") {
                ?>
						<p><?php 
                _e('This Snapshot item is setup as <strong>files sync</strong>. You cannot perform a resend of the individual items like on a normal archive. But you can click the <strong>resend</strong> on any item below to clear the last send dates on all files. This will force all files to be re-synced.', SNAPSHOT_I18N_DOMAIN);
                ?>
</p><?php 
            }
            ?>
					<!-- Now we can render the completed list table -->
					<?php 
            WPMUDEVSnapshot::instance()->archives_data_items_table->display();
            ?>
				</form>
			</div>
		<?php 
        }
Ejemplo n.º 3
0
        function column_interval($item)
        {
            if (!isset($item['interval']) || $item['interval'] == "immediate" || empty($item['interval'])) {
                _e('Manual', SNAPSHOT_I18N_DOMAIN);
                $snapshot_locker = new Snapshot_Helper_Locker(WPMUDEVSnapshot::instance()->get_setting('backupLockFolderFull'), $item['timestamp']);
                if (!$snapshot_locker->is_locked()) {
                    $locker_info = $snapshot_locker->get_locker_info();
                    if ($locker_info['item_key'] == $item['timestamp']) {
                        $file_progress = '';
                        if (isset($locker_info['file_offset']) && $locker_info['file_size']) {
                            $file_progress = sprintf("%0d%% ", $locker_info['file_offset'] / $locker_info['file_size'] * 100);
                        }
                        //echo "locker_info<pre>"; print_r($locker_info); echo "</pre>";
                        $snapshot_process_action = $locker_info['doing'] . ' ' . $file_progress . '(<a class="snapshot-abort-item" href="pid=' . $locker_info['pid'] . '&amp;item=' . $item['timestamp'] . '">' . __('abort', SNAPSHOT_I18N_DOMAIN) . '</a>)<br /><a class="snapshot-thickbox"
							href="' . admin_url() . 'admin-ajax.php?action=snapshot_view_log_ajax&&amp;snapshot-item=' . $item['timestamp'] . '&amp;snapshot-data-item=' . $locker_info['data_item_key'] . '&amp;live=1">' . __('Now', SNAPSHOT_I18N_DOMAIN) . '</a>';
                        $running_timestamp = $locker_info['time_start'];
                        ?>
						<br/><?php 
                        echo $snapshot_process_action;
                        ?>
: <?php 
                        echo Snapshot_Helper_Utility::show_date_time($running_timestamp);
                    }
                }
                unset($snapshot_locker);
            } else {
                if (isset($item['interval']) && strlen($item['interval'])) {
                    $interval_text = Snapshot_Helper_Utility::get_sched_display($item['interval']);
                    if ($interval_text) {
                        echo $interval_text;
                    }
                    $snapshot_locker = new Snapshot_Helper_Locker(WPMUDEVSnapshot::instance()->get_setting('backupLockFolderFull'), $item['timestamp']);
                    if (!$snapshot_locker->is_locked()) {
                        $locker_info = $snapshot_locker->get_locker_info();
                        //echo "locker_info<pre>"; print_r($locker_info); echo "</pre>";
                        if ($locker_info['item_key'] == $item['timestamp']) {
                            $snapshot_process_action = '<br /><a class="snapshot-thickbox"  href="' . admin_url() . 'admin-ajax.php?action=snapshot_view_log_ajax&snapshot-item=' . $item['timestamp'] . '&amp;snapshot-data-item=' . $locker_info['data_item_key'] . '&amp;live=1">' . __('Now', SNAPSHOT_I18N_DOMAIN) . '</a>: ';
                            $snapshot_process_action .= $locker_info['doing'];
                            $file_progress = '';
                            if (isset($locker_info['file_offset']) && intval($locker_info['file_offset']) && isset($locker_info['file_size']) && intval($locker_info['file_size'])) {
                                $file_progress = sprintf(" %0d%% ", intval($locker_info['file_offset']) / intval($locker_info['file_size']) * 100);
                                $snapshot_process_action .= $file_progress;
                            } else {
                                if (isset($locker_info['files_count']) && intval($locker_info['files_count']) && isset($locker_info['files_total']) && intval($locker_info['files_total'])) {
                                    $file_progress = sprintf(" %0d%% ", intval($locker_info['files_count']) / intval($locker_info['files_total']) * 100);
                                    $snapshot_process_action .= $file_progress;
                                } else {
                                    $snapshot_process_action .= " ";
                                }
                            }
                            $snapshot_process_action .= '(<a class="snapshot-abort-item" href="pid=' . $locker_info['pid'] . '&amp;item=' . $item['timestamp'] . '">' . __('abort', SNAPSHOT_I18N_DOMAIN) . '</a>)';
                            echo $snapshot_process_action;
                        }
                    } else {
                        //$snapshot_process_action 	= __('Next', SNAPSHOT_I18N_DOMAIN) .": ";
                        $running_timestamp = wp_next_scheduled('snapshot_backup_cron', array(intval($item['timestamp'])));
                        echo "<br />" . __('Next', SNAPSHOT_I18N_DOMAIN) . ": " . Snapshot_Helper_Utility::show_date_time($running_timestamp);
                    }
                    unset($snapshot_locker);
                }
            }
            if (isset($item['data']) && count($item['data'])) {
                $data_item = Snapshot_Helper_Utility::latest_data_item($item['data']);
                if (isset($data_item)) {
                    if (isset($data_item['timestamp'])) {
                        ?>
<br/><?php 
                        _e('Last', SNAPSHOT_I18N_DOMAIN);
                        ?>
: <?php 
                        echo Snapshot_Helper_Utility::show_date_time($data_item['timestamp']);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        /**
         * Metabox to show the backup archived files
         *
         * @since 1.0.2
         *
         * @param string $title - Title to be displayed in header of metabox
         * @param array $item - The current viewed item
         * @param bool $restore_option - If shown on the restore panel.
         *
         * @return none
         */
        function snapshot_metabox_show_archive_files($title, $item, $restore_option = false)
        {
            //echo "item<pre>"; print_r($item); echo "</pre>";
            ?>
			<div class="postbox">
				<h3 class="hndle"><span><?php 
            echo $title;
            ?>
</span></h3>

				<div class="inside">
					<?php 
            if ($restore_option == true) {
                /* ?><p><?php _e('Select which archive to restore', SNAPSHOT_I18N_DOMAIN); ?></p><?php */
            } else {
                ?>
						<p><?php 
                _e('Below is a listing of your archives showing at most the most recent 6 entries. If the archive is local you can click on the filename to download it. You can also view or download the load file the archive.', SNAPSHOT_I18N_DOMAIN);
                ?>
							<a href="?page=snapshots_edit_panel&amp;snapshot-action=item-archives&amp;item=<?php 
                echo $item['timestamp'];
                ?>
"><?php 
                _e('View all archives', SNAPSHOT_I18N_DOMAIN);
                ?>
</a></p>
					<?php 
            }
            if (isset($item['data']) && count($item['data'])) {
                $data_items = $item['data'];
                krsort($data_items);
                if (isset($_GET['snapshot-data-item'])) {
                    $data_item_key = intval($_GET['snapshot-data-item']);
                    if (isset($data_items[$data_item_key])) {
                        $data_item = $data_items[$data_item_key];
                        $data_items = array();
                        $data_items[$data_item_key] = $data_item;
                    }
                } else {
                    if (count($data_items) > 6) {
                        $data_items = array_slice($data_items, 0, 6, true);
                    }
                }
                ?>
						<table class="widefat">
						<thead>
						<tr class="form-field">
							<?php 
                if ($restore_option == true) {
                    ?>
								<th class="snapshot-col-restore"><?php 
                    _e('Select', SNAPSHOT_I18N_DOMAIN);
                    ?>
</th><?php 
                }
                ?>
							<th class="snapshot-col-date"><?php 
                _e('Date', SNAPSHOT_I18N_DOMAIN);
                ?>
</th>
							<th class="snapshot-col-file"><?php 
                _e('File', SNAPSHOT_I18N_DOMAIN);
                ?>
</th>
							<th class="snapshot-col-notes"><?php 
                _e('Notes', SNAPSHOT_I18N_DOMAIN);
                ?>
</th>
							<th class="snapshot-col-size"><?php 
                _e('Size', SNAPSHOT_I18N_DOMAIN);
                ?>
</th>
							<?php 
                if ($restore_option != true) {
                    if (WPMUDEVSnapshot::instance()->config_data['config']['absoluteFolder'] != true) {
                        ?>
									<th class="snapshot-col-logs"><?php 
                        _e('Logs', SNAPSHOT_I18N_DOMAIN);
                        ?>
</th><?php 
                    }
                }
                ?>
						</tr>
						</thead>
						<tbody style="overflow: auto; max-height: 100px;">
						<?php 
                $selected_item = "";
                foreach ($data_items as $data_key => $data_item) {
                    //echo "data_item<pre>"; print_r($data_item); echo "</pre>";
                    if (!isset($row_class)) {
                        $row_class = "";
                    }
                    $row_class = $row_class == '' ? 'alternate' : '';
                    $backupLogFileFull = trailingslashit(WPMUDEVSnapshot::instance()->get_setting('backupLogFolderFull')) . $item['timestamp'] . "_" . $data_item['timestamp'] . ".log";
                    ?>
							<tr class="form-field <?php 
                    echo $row_class;
                    ?>
"><?php 
                    if ($restore_option == true) {
                        ?>
								<td><input type="radio" name="snapshot-restore-file" class="snapshot-restore-file"
								           id="snapshot-restore-<?php 
                        echo $data_item['timestamp'];
                        ?>
"
								           value="<?php 
                        echo $data_item['timestamp'];
                        ?>
" <?php 
                        if (isset($_GET['snapshot-data-item']) && intval($_GET['snapshot-data-item']) == $data_item['timestamp']) {
                            echo ' checked="checked" ';
                        }
                        ?>
/></td><?php 
                    }
                    ?>
							<td><?php 
                    echo Snapshot_Helper_Utility::show_date_time($data_item['timestamp']);
                    ?>
</td><?php 
                    ?>
							<td><?php 
                    if (empty($data_item['destination']) || $data_item['destination'] == "local") {
                        if (isset($data_item['filename'])) {
                            $current_backupFolder = WPMUDEVSnapshot::instance()->snapshot_get_item_destination_path($item, $data_item);
                            if (empty($current_backupFolder)) {
                                $current_backupFolder = WPMUDEVSnapshot::instance()->get_setting('backupBaseFolderFull');
                            }
                            $backupFile = trailingslashit(trim($current_backupFolder)) . $data_item['filename'];
                            // If we don't find file is the alternate directory then try the default
                            if (!file_exists($backupFile)) {
                                if (isset($data_item['destination-directory']) || !empty($data_item['destination-directory'])) {
                                    $current_backupFolder = WPMUDEVSnapshot::instance()->get_setting('backupBaseFolderFull');
                                    $backupFile = trailingslashit(trim($current_backupFolder)) . $data_item['filename'];
                                }
                            }
                            if (file_exists($backupFile)) {
                                echo '<a href="?page=snapshots_edit_panel&amp;snapshot-item=' . $item['timestamp'] . '&snapshot-data-item=' . $data_item['timestamp'] . '&snapshot-action=download-archive">' . $data_item['filename'] . '</a>';
                            } else {
                                echo $data_item['filename'];
                            }
                        }
                    } else {
                        if (isset($data_item['filename'])) {
                            $current_backupFolder = WPMUDEVSnapshot::instance()->get_setting('backupBaseFolderFull');
                            $backupFile = trailingslashit(trim($current_backupFolder)) . $data_item['filename'];
                            if (file_exists($backupFile)) {
                                echo '<a href="?page=snapshots_edit_panel&amp;snapshot-item=' . $item['timestamp'] . '&snapshot-data-item=' . $data_item['timestamp'] . '&snapshot-action=download-archive">' . $data_item['filename'] . '</a>';
                            } else {
                                echo $data_item['filename'];
                            }
                        }
                    }
                    ?>
</td><?php 
                    ?>
							<td><?php 
                    $tables_sections_out = Snapshot_Helper_Utility::get_tables_sections_display($data_item);
                    $files_sections_out = Snapshot_Helper_Utility::get_files_sections_display($data_item);
                    if (strlen($tables_sections_out['click']) || strlen($files_str)) {
                        ?>
<p><?php 
                        echo $tables_sections_out['click'];
                        if (strlen($tables_sections_out['click'])) {
                            echo "</br />";
                        }
                        echo $files_sections_out['click'];
                        ?>
</p><?php 
                        echo $tables_sections_out['hidden'];
                    }
                    ?>
</td><?php 
                    ?>
							<td><?php 
                    if (isset($data_item['file_size'])) {
                        $file_kb = Snapshot_Helper_Utility::size_format($data_item['file_size']);
                        echo $file_kb;
                    } else {
                        echo "&nbsp;";
                    }
                    ?>
</td><?php 
                    if ($restore_option != true) {
                        ?>
								<td><?php 
                        if (file_exists($backupLogFileFull)) {
                            echo '<a class="thickbox"
												href="' . admin_url() . 'admin-ajax.php?action=snapshot_view_log_ajax&amp;width=800&amp;height=600&amp;snapshot-item=' . $item['timestamp'] . '&amp;snapshot-data-item=' . $data_item['timestamp'] . '">' . __('view', SNAPSHOT_I18N_DOMAIN) . '</a>';
                            echo " ";
                            echo '<a href="?page=snapshots_edit_panel&amp;snapshot-action=download-log&amp;snapshot-item=' . $item['timestamp'] . '&amp;snapshot-data-item=' . $data_item['timestamp'] . '">' . __('download', SNAPSHOT_I18N_DOMAIN) . '</a>';
                        } else {
                            echo "&nbsp;";
                        }
                        ?>
</td><?php 
                    }
                    ?>
</tr><?php 
                }
                ?>
</tbody></table><?php 
            } else {
                _e('No Archives', SNAPSHOT_I18N_DOMAIN);
            }
            ?>
				</div>
			</div>
		<?php 
        }
Ejemplo n.º 5
0
 function column_date($data_item)
 {
     echo Snapshot_Helper_Utility::show_date_time($data_item['timestamp']);
 }