Plugin Directory

Changeset 3385041


Ignore:
Timestamp:
10/27/2025 08:35:50 AM (4 months ago)
Author:
watchful
Message:

v4.8.2

Location:
xcloner-backup-and-restore/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • xcloner-backup-and-restore/trunk/CHANGELOG.txt

    r3375773 r3385041  
     1= 4.8.2 =
     2* https://github.com/watchfulli/XCloner-Wordpress/issues/283
     3
    14= 4.8.1 =
    25* https://github.com/watchfulli/XCloner-Wordpress/issues/335
  • xcloner-backup-and-restore/trunk/README.txt

    r3375773 r3385041  
    117117== Changelog ==
    118118
    119 = 4.8.1 =
    120 * https://github.com/watchfulli/XCloner-Wordpress/issues/335
     119= 4.8.2 =
     120* https://github.com/watchfulli/XCloner-Wordpress/issues/283
    121121
    122122[See changelog for all versions](https://raw.githubusercontent.com/watchfulli/XCloner-Wordpress/master/xcloner-backup-and-restore/CHANGELOG.txt).
  • xcloner-backup-and-restore/trunk/admin/partials/xcloner_remote_storage_page.php

    r2965127 r3385041  
    11<?php
     2
    23$remote_storage = $this->get_xcloner_container()->get_xcloner_remote_storage();
    3 ?>
    44
    5 <?php
    6 function common_cleanup_html($type)
    7 {
    8     if ($type == "local") {
    9         $type = "";
    10     } else {
    11         $type .= "_";
    12     }
    13     ob_start(); ?>
    14 <!-- Cleanup by Days -->
    15 <div class="row">
    16     <div class="col s12 m3 label">
    17         <label for="xcloner_{type}_cleanup_retention_limit_days">
    18             <?php echo __("Cleanup by Age", 'xcloner-backup-and-restore') ?>
    19         </label>
     5function common_cleanup_html( $type ): string {
     6    $typePrefix = ( $type === 'local' ) ? '' : $type . '_';
     7
     8    return buildCleanupHtml( $typePrefix );
     9}
     10
     11function buildCleanupHtml( $typePrefix ): string {
     12    $cleanupByAgePlaceholder      = __( "how many days to keep the backups for", 'xcloner-backup-and-restore' );
     13    $cleanupByQuantityPlaceholder = __( "how many backup files to keep", 'xcloner-backup-and-restore' );
     14    $cleanupByCapacityPlaceholder = __( "delete backup over specified limit", 'xcloner-backup-and-restore' );
     15    $keepBackupsPlaceholder       = __( "days of month, comma separated", 'xcloner-backup-and-restore' );
     16
     17    $cleanupByAgeLabel      = __( "Cleanup by Age", 'xcloner-backup-and-restore' );
     18    $cleanupByQuantityLabel = __( "Cleanup by Quantity", 'xcloner-backup-and-restore' );
     19    $cleanupByCapacityLabel = __( "Cleanup by Capacity(MB)", 'xcloner-backup-and-restore' );
     20    $keepBackupsLabel       = __( "Keep backups taken on days", 'xcloner-backup-and-restore' );
     21
     22    $cleanupByAgeValue      = esc_attr( get_option( "xcloner_{$typePrefix}cleanup_retention_limit_days" ) );
     23    $cleanupByQuantityValue = esc_attr( get_option( "xcloner_{$typePrefix}cleanup_retention_limit_archives" ) );
     24    $cleanupByCapacityValue = esc_attr( get_option( "xcloner_{$typePrefix}cleanup_capacity_limit" ) );
     25    $keepBackupsValue       = esc_attr( get_option( "xcloner_{$typePrefix}cleanup_exclude_days" ) );
     26
     27    return <<<HTML
     28    <div class="row">
     29        <div class="col s12 m3 label">
     30            <label for="xcloner_{$typePrefix}cleanup_retention_limit_days">
     31                {$cleanupByAgeLabel}
     32            </label>
     33        </div>
     34        <div class=" col s12 m6">
     35            <input placeholder="$cleanupByAgePlaceholder"
     36                id="xcloner_{$typePrefix}cleanup_retention_limit_days" type="text"
     37                name="xcloner_{$typePrefix}cleanup_retention_limit_days" class="validate"
     38                value="$cleanupByAgeValue">
     39        </div>
    2040    </div>
    21     <div class=" col s12 m6">
    22         <input placeholder="<?php echo __("how many days to keep the backups for", 'xcloner-backup-and-restore') ?>"
    23             id="xcloner_{type}cleanup_retention_limit_days" type="text"
    24             name="xcloner_{type}cleanup_retention_limit_days" class="validate"
    25             value="<?php echo esc_attr(get_option("xcloner_".$type."cleanup_retention_limit_days")) ?>">
     41   
     42    <!-- Cleanup by Quantity -->
     43    <div class="row">
     44        <div class="col s12 m3 label">
     45            <label for="xcloner_{$typePrefix}cleanup_retention_limit_archives">
     46                {$cleanupByQuantityLabel}
     47            </label>
     48        </div>
     49        <div class=" col s12 m6">
     50            <input placeholder="$cleanupByQuantityPlaceholder"
     51                id="xcloner_{$typePrefix}cleanup_retention_limit_archives" type="number"
     52                name="xcloner_{$typePrefix}cleanup_retention_limit_archives" class="validate"
     53                value="$cleanupByQuantityValue">
     54        </div>
    2655    </div>
    27 </div>
    28 
    29 <!-- Cleanup by Quantity -->
    30 <div class="row">
    31     <div class="col s12 m3 label">
    32         <label
    33             for="xcloner_{type}_cleanup_retention_limit_archives"><?php echo __("Cleanup by Quantity", 'xcloner-backup-and-restore') ?></label>
     56   
     57    <!-- Cleanup by Capacity -->
     58    <div class="row">
     59        <div class="col s12 m3 label">
     60            <label for="xcloner_{$typePrefix}cleanup_capacity_limit">
     61                {$cleanupByCapacityLabel}
     62            </label>
     63        </div>
     64        <div class=" col s12 m6">
     65            <input placeholder="$cleanupByCapacityPlaceholder"
     66                id="xcloner_{$typePrefix}cleanup_capacity_limit" type="number"
     67                name="xcloner_{$typePrefix}cleanup_capacity_limit"
     68                class="validate" value="$cleanupByCapacityValue">
     69        </div>
    3470    </div>
    35     <div class=" col s12 m6">
    36         <input placeholder="<?php echo __("how many backup files to keep", 'xcloner-backup-and-restore') ?>"
    37             id="xcloner_{type}cleanup_retention_limit_archives" type="number"
    38             name="xcloner_{type}cleanup_retention_limit_archives" class="validate"
    39             value="<?php echo esc_attr(get_option("xcloner_".$type."cleanup_retention_limit_archives")) ?>">
     71   
     72    <!-- Keep backups taken on days -->
     73    <div class="row">
     74        <div class="col s12 m3 label">
     75            <label for="xcloner_{$typePrefix}cleanup_exclude_days">
     76                {$keepBackupsLabel}
     77            </label>
     78        </div>
     79        <div class=" col s12 m6">
     80            <input placeholder="$keepBackupsPlaceholder"
     81                id="xcloner_{$typePrefix}cleanup_exclude_days" type="text"
     82                name="xcloner_{$typePrefix}cleanup_exclude_days"
     83                class="validate" value="$keepBackupsValue">
     84        </div>
    4085    </div>
    41 </div>
    42 
    43 <!-- Cleanup by Capacity -->
    44 <div class="row">
    45     <div class="col s12 m3 label">
    46         <label for="xcloner_{type}_cleanup_capacity_limit">
    47             <?php echo __("Cleanup by Capacity(MB)", 'xcloner-backup-and-restore') ?>
    48         </label>
    49     </div>
    50     <div class=" col s12 m6">
    51         <input placeholder="<?php echo __("delete backup over specified limit", 'xcloner-backup-and-restore') ?>"
    52             id="xcloner_{type}cleanup_capacity_limit" type="number" name="xcloner_{type}cleanup_capacity_limit"
    53             class="validate" value="<?php echo esc_attr(get_option("xcloner_".$type."cleanup_capacity_limit")) ?>">
    54     </div>
    55 </div>
    56 
    57 <!-- Keep backups taken on days -->
    58 <div class="row">
    59     <div class="col s12 m3 label">
    60         <label for="xcloner_{type}_cleanup_exclude_days">
    61             <?php echo __("Keep backups taken on days", 'xcloner-backup-and-restore') ?>
    62         </label>
    63     </div>
    64     <div class=" col s12 m6">
    65         <input placeholder="<?php echo __("days of month, comma separated", 'xcloner-backup-and-restore') ?>"
    66             id="xcloner_{type}cleanup_exclude_days" type="text" name="xcloner_{type}cleanup_exclude_days"
    67             class="validate" value="<?php echo esc_attr(get_option("xcloner_".$type."cleanup_exclude_days")) ?>">
    68     </div>
    69 </div>
    70 <?php
    71 $common_cleanup_html = ob_get_contents();
    72     ob_end_clean();
    73 
    74     return str_replace("{type}", $type, $common_cleanup_html);
     86    HTML;
    7587}
    7688
  • xcloner-backup-and-restore/trunk/lib/Xcloner_Api.php

    r3370553 r3385041  
    6464    public function __construct(Xcloner $xcloner_container)
    6565    {
    66         if (ob_get_length()) {
    67             ob_end_clean();
    68         }
    69         ob_start();
    7066        $this->xcloner_container = $xcloner_container;
    7167        $this->xcloner_settings = $xcloner_container->get_xcloner_settings();
     
    629625        $this->send_response($return, 0);
    630626    }
    631     /**
    632      * @throws Exception
    633      */
    634627    public function get_manage_backups_list()
    635628    {
     
    649642        $i = -1;
    650643        foreach ($backup_list as $file_info) {
    651             ?>
    652             <?php
    653644            if ($storage_selection == "gdrive") {
    654645                $file_info['path'] = $file_info['filename'] . "." . $file_info['extension'];
     
    660651                }
    661652            }
    662             ?>
    663             <?php
    664653            if (!isset($file_info['parent'])) {
    665                 ?>
    666 
    667                 <?php
    668                 ob_start();
    669                 ?>
    670                 <p>
    671                     <label for="checkbox_<?php
    672                 echo ++$i;
    673                 ?>">
    674                         <input name="backup[]" value="<?php
    675                 echo $file_info['basename'];
    676                 ?>" type="checkbox"
    677                                id="checkbox_<?php
    678                 echo $i;
    679                 ?>">
    680                         <span>&nbsp;</span>
    681                     </label>
    682                 </p>
    683                 <?php
    684                 $return['data'][$i][] = ob_get_contents();
    685                 ob_end_clean();
    686                 ?>
    687 
    688                 <?php
    689                 ob_start();
    690                 ?>
    691                 <span class=""><?php
    692                 echo esc_html($file_info['path']);
    693                 ?></span>
    694                 <?php
     654                $i++;
     655                // Column 1: Checkbox
     656                $return['data'][$i][] = '<p><label for="checkbox_' . $i . '">' . '<input name="backup[]" value="' . esc_attr($file_info['basename']) . '" type="checkbox" id="checkbox_' . $i . '">' . '<span>&nbsp;</span></label></p>';
     657                // Column 2: Filename and multipart info
     658                $column2 = '<span class="">' . esc_html($file_info['path']) . '</span>';
    695659                if (!$file_exists_on_local_storage) {
    696                     ?>
    697                     <a href="#"
    698                        title="<?php
    699                     echo __("This backup archive does not exist on your local server. If you wish to retain local copies of your backup archives as well as remote copies, please disable local clean-up in the main XCloner settings and/or your scheduled backup profile settings.", "xcloner-backup-and-restore");
    700                     ?>">
    701                         <i class="material-icons backup_warning">warning</i>
    702                     </a>
    703                 <?php
    704                 }
    705                 ?>
    706                 <?php
     660                    $warningTitle = __("This backup archive does not exist on your local server. If you wish to retain local copies of your backup archives as well as remote copies, please disable local clean-up in the main XCloner settings and/or your scheduled backup profile settings.", "xcloner-backup-and-restore");
     661                    $column2 .= '<a href="#" title="' . esc_attr($warningTitle) . '"><i class="material-icons backup_warning">warning</i></a>';
     662                }
    707663                if (isset($file_info['childs']) && is_array($file_info['childs'])) {
    708                     ?>
    709                     <a href="#" title="expand" class="expand-multipart add"><i
    710                                 class="material-icons">add</i></a>
    711                     <a href="#" title="collapse" class="expand-multipart remove"><i
    712                                 class="material-icons">remove</i></a>
    713                     <ul class="multipart">
    714                         <?php
     664                    $column2 .= '<a href="#" title="expand" class="expand-multipart add"><i class="material-icons">add</i></a>';
     665                    $column2 .= '<a href="#" title="collapse" class="expand-multipart remove"><i class="material-icons">remove</i></a>';
     666                    $column2 .= '<ul class="multipart">';
    715667                    foreach ($file_info['childs'] as $child) {
    716                         ?>
    717                             <li>
    718                                 <?php
    719                         echo esc_html($child[0]);
    720                         ?> (<?php
    721                         echo esc_html(size_format($child[2]));
    722                         ?>)
    723                                 <?php
     668                        $column2 .= '<li>' . esc_html($child[0]) . ' (' . esc_html(size_format($child[2])) . ')';
    724669                        $child_exists_on_local_storage = \true;
    725                         if ($storage_selection) {
    726                             if (!$this->xcloner_file_system->get_storage_filesystem()->has($child[0])) {
    727                                 $child_exists_on_local_storage = \false;
     670                        if ($storage_selection && !$this->xcloner_file_system->get_storage_filesystem()->has($child[0])) {
     671                            $child_exists_on_local_storage = \false;
     672                        }
     673                        if (!$child_exists_on_local_storage) {
     674                            $warningTitle = __("This backup archive does not exist on your local server. If you wish to retain local copies of your backup archives as well as remote copies, please disable local clean-up in the main XCloner settings and/or your scheduled backup profile settings.", "xcloner-backup-and-restore");
     675                            $column2 .= '<a href="#" title="' . esc_attr($warningTitle) . '"><i class="material-icons backup_warning">warning</i></a>';
     676                        }
     677                        if (!$storage_selection) {
     678                            $column2 .= '<a href="#' . esc_attr($child[0]) . '" class="download" title="Download Backup"><i class="material-icons">file_download</i></a>';
     679                            if ($this->xcloner_encryption->is_encrypted_file($child[0])) {
     680                                $column2 .= '<a href="#' . esc_attr($child[0]) . '" class="backup-decryption" title="' . __('Backup Decryption', 'xcloner-backup-and-restore') . '"><i class="material-icons">enhanced_encryption</i></a>';
     681                            } else {
     682                                $column2 .= '<a href="#' . esc_attr($child[0]) . '" class="list-backup-content" title="' . __('List Backup Content', 'xcloner-backup-and-restore') . '"><i class="material-icons">folder_open</i></a>';
     683                                $column2 .= '<a href="#' . esc_attr($child[0]) . '" class="backup-encryption" title="' . __('Backup Encryption', 'xcloner-backup-and-restore') . '"><i class="material-icons">no_encryption</i></a>';
    728684                            }
     685                        } elseif ($storage_selection != "gdrive" && !$this->xcloner_file_system->get_storage_filesystem()->has($child[0])) {
     686                            $column2 .= '<a href="#' . esc_attr($child[0]) . '" class="copy-remote-to-local" title="' . __('Push Backup To Local Storage', 'xcloner-backup-and-restore') . '"><i class="material-icons">file_upload</i></a>';
    729687                        }
    730                         ?>
    731                                 <?php
    732                         if (!$child_exists_on_local_storage) {
    733                             ?>
    734                                     <a href="#"
    735                                        title="<?php
    736                             echo __("This backup archive does not exist on your local server. If you wish to retain local copies of your backup archives as well as remote copies, please disable local clean-up in the main XCloner settings and/or your scheduled backup profile settings.", "xcloner-backup-and-restore");
    737                             ?>">
    738                                         <i class="material-icons backup_warning">warning</i>
    739                                     </a>
    740                                 <?php
    741                         }
    742                         ?>
    743                                 <?php
    744                         if (!$storage_selection) {
    745                             ?>
    746                                     <a href="#<?php
    747                             echo esc_attr($child[0]);
    748                             ?>" class="download"
    749                                        title="Download Backup">
    750                                         <i class="material-icons">file_download</i>
    751                                     </a>
    752 
    753                                     <?php
    754                             if ($this->xcloner_encryption->is_encrypted_file($child[0])) {
    755                                 ?>
    756                                         <a href="#<?php
    757                                 echo esc_attr($child[0]);
    758                                 ?>" class="backup-decryption"
    759                                            title="<?php
    760                                 echo __('Backup Decryption', 'xcloner-backup-and-restore');
    761                                 ?>">
    762                                             <i class="material-icons">enhanced_encryption</i>
    763                                         </a>
    764                                     <?php
    765                             } else {
    766                                 ?>
    767                                         <a href="#<?php
    768                                 echo esc_attr($child[0]);
    769                                 ?>" class="list-backup-content"
    770                                            title="<?php
    771                                 echo __('List Backup Content', 'xcloner-backup-and-restore');
    772                                 ?>"><i
    773                                                     class="material-icons">folder_open</i></a>
    774 
    775                                         <a href="#<?php
    776                                 echo esc_attr($child[0]);
    777                                 ?>" class="backup-encryption"
    778                                            title="<?php
    779                                 echo __('Backup Encryption', 'xcloner-backup-and-restore');
    780                                 ?>">
    781                                             <i class="material-icons">no_encryption</i>
    782                                         </a>
    783                                     <?php
    784                             }
    785                             ?>
    786 
    787                                 <?php
    788                         } elseif ($storage_selection != "gdrive" && !$this->xcloner_file_system->get_storage_filesystem()->has($child[0])) {
    789                             ?>
    790                                     <a href="#<?php
    791                             echo esc_attr($child[0]);
    792                             ?>" class="copy-remote-to-local"
    793                                        title="<?php
    794                             echo __('Push Backup To Local Storage', 'xcloner-backup-and-restore');
    795                             ?>"><i
    796                                                 class="material-icons">file_upload</i></a>
    797                                 <?php
    798                         }
    799                         ?>
    800                             </li>
    801                         <?php
     688                        $column2 .= '</li>';
    802689                    }
    803                     ?>
    804                     </ul>
    805                 <?php
    806                 }
    807                 ?>
    808                 <?php
    809                 $return['data'][$i][] = ob_get_contents();
    810                 ob_end_clean();
    811                 ?>
    812                 <?php
    813                 ob_start();
    814                 ?>
    815                 <?php
    816                 if (!empty($file_info['timestamp'])) {
    817                     echo date("Y-m-d H:i", (int) $file_info['timestamp']);
    818                 }
    819                 ?>
    820                 <?php
    821                 $return['data'][$i][] = ob_get_contents();
    822                 ob_end_clean();
    823                 ?>
    824 
    825                 <?php
    826                 ob_start();
    827                 ?>
    828                 <?php
    829                 echo esc_html(size_format($file_info['size']));
    830                 ?>
    831                 <?php
    832                 $return['data'][$i][] = ob_get_contents();
    833                 ob_end_clean();
    834                 ?>
    835 
    836                 <?php
    837                 ob_start();
    838                 ?>
    839 
    840                 <a href="#<?php
    841                 echo esc_attr($file_info['basename']);
    842                 ?>" class="download"
    843                    title="<?php
    844                 echo __('Download Backup', 'xcloner-backup-and-restore');
    845                 ?>">
    846                     <i class="material-icons">file_download</i>
    847                 </a>
    848                 <?php
     690                    $column2 .= '</ul>';
     691                }
     692                $return['data'][$i][] = $column2;
     693                // Column 3: Date
     694                $return['data'][$i][] = !empty($file_info['timestamp']) ? date("Y-m-d H:i", (int) $file_info['timestamp']) : '';
     695                // Column 4: Size
     696                $return['data'][$i][] = esc_html(size_format($file_info['size']));
     697                // Column 5: Actions
     698                $column5 = '<a href="#' . esc_attr($file_info['basename']) . '" class="download" title="' . __('Download Backup', 'xcloner-backup-and-restore') . '"><i class="material-icons">file_download</i></a>';
    849699                if (!$storage_selection) {
    850                     ?>
    851                     <?php
    852700                    if (sizeof($available_storages)) {
    853                         ?>
    854                         <a href="#<?php
    855                         echo esc_attr($file_info['basename']);
    856                         ?>" class="cloud-upload"
    857                            title="<?php
    858                         echo __('Send Backup To Remote Storage', 'xcloner-backup-and-restore');
    859                         ?>">
    860                             <i class="material-icons">swap_horiz</i>
    861                         </a>
    862                     <?php
     701                        $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="cloud-upload" title="' . __('Send Backup To Remote Storage', 'xcloner-backup-and-restore') . '"><i class="material-icons">swap_horiz</i></a>';
    863702                    }
    864                     ?>
    865                     <?php
    866703                    $basename = $file_info['basename'];
    867704                    if (isset($file_info['childs']) && sizeof($file_info['childs'])) {
    868705                        $basename = $file_info['childs'][0][0];
    869706                    }
    870                     ?>
    871                     <?php
    872707                    if ($this->xcloner_encryption->is_encrypted_file($basename)) {
    873                         ?>
    874                         <a href="#<?php
    875                         echo esc_attr($file_info['basename']);
    876                         ?>" class="backup-decryption"
    877                            title="<?php
    878                         echo __('Backup Decryption', 'xcloner-backup-and-restore');
    879                         ?>">
    880                             <i class="material-icons">enhanced_encryption</i>
    881                         </a>
    882                     <?php
     708                        $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="backup-decryption" title="' . __('Backup Decryption', 'xcloner-backup-and-restore') . '"><i class="material-icons">enhanced_encryption</i></a>';
    883709                    } else {
    884                         ?>
    885                         <a href="#<?php
    886                         echo esc_attr($file_info['basename']);
    887                         ?>" class="list-backup-content"
    888                            title="<?php
    889                         echo __('List Backup Content', 'xcloner-backup-and-restore');
    890                         ?>">
    891                             <i class="material-icons">folder_open</i>
    892                         </a>
    893 
    894                         <a href="#<?php
    895                         echo esc_attr($file_info['basename']);
    896                         ?>" class="backup-encryption"
    897                            title="<?php
    898                         echo __('Backup Encryption', 'xcloner-backup-and-restore');
    899                         ?>">
    900                             <i class="material-icons">no_encryption</i>
    901                         </a>
    902                     <?php
     710                        $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="list-backup-content" title="' . __('List Backup Content', 'xcloner-backup-and-restore') . '"><i class="material-icons">folder_open</i></a>';
     711                        $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="backup-encryption" title="' . __('Backup Encryption', 'xcloner-backup-and-restore') . '"><i class="material-icons">no_encryption</i></a>';
    903712                    }
    904                     ?>
    905                 <?php
    906                 }
    907                 ?>
    908 
    909                 <a href="#<?php
    910                 echo esc_attr($file_info['basename']);
    911                 ?>" class="delete"
    912                    title="<?php
    913                 echo __('Delete Backup', 'xcloner-backup-and-restore');
    914                 ?>">
    915                     <i class="material-icons">delete</i>
    916                 </a>
    917                 <?php
     713                }
     714                $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="delete" title="' . __('Delete Backup', 'xcloner-backup-and-restore') . '"><i class="material-icons">delete</i></a>';
    918715                if ($storage_selection && !$file_exists_on_local_storage) {
    919                     ?>
    920                     <a href="#<?php
    921                     echo esc_attr($file_info['basename']);
    922                     ?>" class="copy-remote-to-local"
    923                        title="<?php
    924                     echo __('Transfer a copy of the remote backup to local storage.', 'xcloner-backup-and-restore');
    925                     ?>">
    926                         <i class="material-icons">swap_horiz</i>
    927                     </a>
    928                 <?php
    929                 }
    930                 ?>
    931 
    932                 <?php
    933                 $return['data'][$i][] = ob_get_contents();
    934                 ob_end_clean();
    935                 ?>
    936 
    937             <?php
    938             }
    939             ?>
    940         <?php
    941         }
    942         ?>
    943         <?php
     716                    $column5 .= '<a href="#' . esc_attr($file_info['basename']) . '" class="copy-remote-to-local" title="' . __('Transfer a copy of the remote backup to local storage.', 'xcloner-backup-and-restore') . '"><i class="material-icons">swap_horiz</i></a>';
     717                }
     718                $return['data'][$i][] = $column5;
     719            }
     720        }
    944721        $this->send_response($return, 0);
    945722    }
     
    1072849    {
    1073850        $this->xcloner_container->check_access();
    1074         ob_end_clean();
    1075851        $backup_name = $this->xcloner_sanitization->sanitize_input_as_string($_GET['name']);
    1076852        $storage_selection = $this->xcloner_sanitization->sanitize_input_as_string($_GET['storage_selection']);
     
    1094870        header('Content-Type: application/octet-stream');
    1095871        header('Content-Length: ' . $metadata['size']);
    1096         ob_end_clean();
    1097872        $chunkSize = 1024 * 1024;
    1098873        while (!feof($read_stream)) {
  • xcloner-backup-and-restore/trunk/vendor/composer/installed.php

    r3375773 r3385041  
    66    die;
    77}
    8 return array('root' => array('name' => 'watchfulli/xcloner-wordpress', 'pretty_version' => 'v4.8.1', 'version' => '4.8.1.0', 'reference' => '69ffbb2fea7888a9614495c786202eba2d1624ca', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('as247/cloud-storages' => array('pretty_version' => 'v1.0.16', 'version' => '1.0.16.0', 'reference' => 'c6b734240bb7fe09a62042b1dd9cfc5ae03a97e8', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/cloud-storages', 'aliases' => array(), 'dev_requirement' => \false), 'as247/flysystem-drive-support' => array('pretty_version' => 'v1.0.6', 'version' => '1.0.6.0', 'reference' => '9bb4199e94541ee1ab373706f7c0a768716efe90', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/flysystem-drive-support', 'aliases' => array(), 'dev_requirement' => \false), 'as247/flysystem-onedrive' => array('pretty_version' => 'v1.0.5', 'version' => '1.0.5.0', 'reference' => 'dff8aee0c19d6d6ad173e8a6c2703e2832eb88f5', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/flysystem-onedrive', 'aliases' => array(), 'dev_requirement' => \false), 'aws/aws-crt-php' => array('pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', 'reference' => '3942776a8c99209908ee0b287746263725685732', 'type' => 'library', 'install_path' => __DIR__ . '/../aws/aws-crt-php', 'aliases' => array(), 'dev_requirement' => \false), 'aws/aws-sdk-php' => array('pretty_version' => '3.238.3', 'version' => '3.238.3.0', 'reference' => '14fb64c934614ea5a52c9931189f687f30b6ba3b', 'type' => 'library', 'install_path' => __DIR__ . '/../aws/aws-sdk-php', 'aliases' => array(), 'dev_requirement' => \false), 'components/jquery' => array('pretty_version' => '3.6.0', 'version' => '3.6.0.0', 'reference' => '6cf38ee1fd04b6adf8e7dda161283aa35be818c3', 'type' => 'component', 'install_path' => __DIR__ . '/../components/jquery', 'aliases' => array(), 'dev_requirement' => \false), 'firebase/php-jwt' => array('pretty_version' => 'v6.3.0', 'version' => '6.3.0.0', 'reference' => '018dfc4e1da92ad8a1b90adc4893f476a3b41cb8', 'type' => 'library', 'install_path' => __DIR__ . '/../firebase/php-jwt', 'aliases' => array(), 'dev_requirement' => \false), 'gliterd/backblaze-b2' => array('pretty_version' => '1.5.4', 'version' => '1.5.4.0', 'reference' => '3abcf1ae5b093199c230d4ad82d64fb16ea4fd1a', 'type' => 'library', 'install_path' => __DIR__ . '/../gliterd/backblaze-b2', 'aliases' => array(), 'dev_requirement' => \false), 'google/apiclient' => array('pretty_version' => 'v2.12.6', 'version' => '2.12.6.0', 'reference' => 'f92aa126903a9e2da5bd41a280d9633cb249e79e', 'type' => 'library', 'install_path' => __DIR__ . '/../google/apiclient', 'aliases' => array(), 'dev_requirement' => \false), 'google/apiclient-services' => array('pretty_version' => 'v0.270.0', 'version' => '0.270.0.0', 'reference' => '902b415a7ab92ccb50e2b7dda334a3497c8bc3da', 'type' => 'library', 'install_path' => __DIR__ . '/../google/apiclient-services', 'aliases' => array(), 'dev_requirement' => \false), 'google/auth' => array('pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'reference' => '8da16102d2cd1bdc128d97f323553df465ee7701', 'type' => 'library', 'install_path' => __DIR__ . '/../google/auth', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/guzzle' => array('pretty_version' => '7.5.0', 'version' => '7.5.0.0', 'reference' => 'b50a2a1251152e43f6a37f0fa053e730a67d25ba', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/promises' => array('pretty_version' => '1.5.2', 'version' => '1.5.2.0', 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/psr7' => array('pretty_version' => '1.9.0', 'version' => '1.9.0.0', 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem' => array('pretty_version' => '1.1.10', 'version' => '1.1.10.0', 'reference' => '3239285c825c152bcc315fe0e87d6b55f5972ed1', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-aws-s3-v3' => array('pretty_version' => '1.0.30', 'version' => '1.0.30.0', 'reference' => 'af286f291ebab6877bac0c359c6c2cb017eb061d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-aws-s3-v3', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-azure-blob-storage' => array('pretty_version' => '0.1.6', 'version' => '0.1.6.0', 'reference' => '97215345f3c42679299ba556a4d16d4847ee7f6d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-azure-blob-storage', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-cached-adapter' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-cached-adapter', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-sftp' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => '36fb893d10bb799fa6aa7199e37e84314c9fd97d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-sftp', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-webdav' => array('pretty_version' => '1.0.10', 'version' => '1.0.10.0', 'reference' => '7da805408d366dd92ba15a03a12a59104bfd91d7', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-webdav', 'aliases' => array(), 'dev_requirement' => \false), 'league/mime-type-detection' => array('pretty_version' => '1.11.0', 'version' => '1.11.0.0', 'reference' => 'ff6248ea87a9f116e78edd6002e39e5128a0d4dd', 'type' => 'library', 'install_path' => __DIR__ . '/../league/mime-type-detection', 'aliases' => array(), 'dev_requirement' => \false), 'mhetreramesh/flysystem-backblaze' => array('pretty_version' => '1.6.1', 'version' => '1.6.1.0', 'reference' => '9bbe64c161519c20e508d2c924d507d892999e5d', 'type' => 'library', 'install_path' => __DIR__ . '/../mhetreramesh/flysystem-backblaze', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/azure-storage-blob' => array('pretty_version' => '1.5.4', 'version' => '1.5.4.0', 'reference' => '1023ce1dbf062351a32ca5ec72ad1fd4a504f1bf', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-blob', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/azure-storage-common' => array('pretty_version' => '1.5.2', 'version' => '1.5.2.0', 'reference' => '8ca7b1bf4c9ca7c663e75a02a0035b05b37196a0', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-common', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/microsoft-graph' => array('pretty_version' => '1.78.0', 'version' => '1.78.0.0', 'reference' => 'fda619df926aa08bc338cb9516184f2fd3cc9941', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/microsoft-graph', 'aliases' => array(), 'dev_requirement' => \false), 'mikey179/vfsstream' => array('pretty_version' => 'v1.6.11', 'version' => '1.6.11.0', 'reference' => '17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f', 'type' => 'library', 'install_path' => __DIR__ . '/../mikey179/vfsstream', 'aliases' => array(), 'dev_requirement' => \false), 'monolog/monolog' => array('pretty_version' => '1.27.1', 'version' => '1.27.1.0', 'reference' => '904713c5929655dc9b97288b69cfeedad610c9a1', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), 'dev_requirement' => \false), 'mtdowling/jmespath.php' => array('pretty_version' => '2.6.1', 'version' => '2.6.1.0', 'reference' => '9b87907a81b87bc76d19a7fb2d61e61486ee9edb', 'type' => 'library', 'install_path' => __DIR__ . '/../mtdowling/jmespath.php', 'aliases' => array(), 'dev_requirement' => \false), 'nao-pon/flysystem-cached-extra' => array('pretty_version' => '1.0.3', 'version' => '1.0.3.0', 'reference' => '189abdafa0a86d92781e148ee8740ef80f4c5859', 'type' => 'library', 'install_path' => __DIR__ . '/../nao-pon/flysystem-cached-extra', 'aliases' => array(), 'dev_requirement' => \false), 'nao-pon/flysystem-google-drive' => array('pretty_version' => '1.1.13', 'version' => '1.1.13.0', 'reference' => 'bb812339ecf06540ed096f71403f10fcbcc590f3', 'type' => 'library', 'install_path' => __DIR__ . '/../nao-pon/flysystem-google-drive', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.62.1', 'version' => '2.62.1.0', 'reference' => '01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'phpseclib/phpseclib' => array('pretty_version' => '2.0.38', 'version' => '2.0.38.0', 'reference' => 'b03536539f43a4f9aa33c4f0b2f3a1c752088fcd', 'type' => 'library', 'install_path' => __DIR__ . '/../phpseclib/phpseclib', 'aliases' => array(), 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-client' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-client-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/http-message' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-message-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/log' => array('pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0.0')), 'ralouphie/getallheaders' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/dav' => array('pretty_version' => '4.4.0', 'version' => '4.4.0.0', 'reference' => 'b65362abc926520eda2c57e219f022a6c288069d', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/dav', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/event' => array('pretty_version' => '5.1.4', 'version' => '5.1.4.0', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/event', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/http' => array('pretty_version' => '5.1.6', 'version' => '5.1.6.0', 'reference' => '9976ac34ced206bd6579b7b37b401de9fac98dae', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/http', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/uri' => array('pretty_version' => '2.2.4', 'version' => '2.2.4.0', 'reference' => 'c0c9af9f7754e60a49ebd760e1708adc6d1510c0', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/uri', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/vobject' => array('pretty_version' => '4.5.1', 'version' => '4.5.1.0', 'reference' => '1f836740c88bac483f3b572a332eb8fd1cd04981', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/vobject', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/xml' => array('pretty_version' => '2.2.5', 'version' => '2.2.5.0', 'reference' => 'a6af111850e7536d200d9637c34885cd3c77a86c', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/xml', 'aliases' => array(), 'dev_requirement' => \false), 'splitbrain/php-archive' => array('pretty_version' => '1.3.1', 'version' => '1.3.1.0', 'reference' => 'd274e5190ba309777926348900cf9578d9e533c9', 'type' => 'library', 'install_path' => __DIR__ . '/../splitbrain/php-archive', 'aliases' => array(), 'dev_requirement' => \false), 'srmklive/flysystem-dropbox-v2' => array('pretty_version' => 'v1.0.8', 'version' => '1.0.8.0', 'reference' => 'c463419f4ffb7fe3d7bd2e3a85e3145c36ef3f20', 'type' => 'library', 'install_path' => __DIR__ . '/../srmklive/flysystem-dropbox-v2', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v5.4.12', 'version' => '5.4.12.0', 'reference' => '42ecc77eb4f229ce2df702a648ec93b8478d76ae', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.3')), 'vakata/jstree' => array('pretty_version' => '3.3.12', 'version' => '3.3.12.0', 'reference' => '7a03954015eaea2467956dc05e6be78f4d1a1ff0', 'type' => 'component', 'install_path' => __DIR__ . '/../vakata/jstree', 'aliases' => array(), 'dev_requirement' => \false), 'watchfulli/xcloner-wordpress' => array('pretty_version' => 'v4.8.1', 'version' => '4.8.1.0', 'reference' => '69ffbb2fea7888a9614495c786202eba2d1624ca', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false)));
     8return array('root' => array('name' => 'watchfulli/xcloner-wordpress', 'pretty_version' => 'v4.8.2', 'version' => '4.8.2.0', 'reference' => '4c0b010580cf71833a644d7a8413cfbbbb850c38', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('as247/cloud-storages' => array('pretty_version' => 'v1.0.16', 'version' => '1.0.16.0', 'reference' => 'c6b734240bb7fe09a62042b1dd9cfc5ae03a97e8', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/cloud-storages', 'aliases' => array(), 'dev_requirement' => \false), 'as247/flysystem-drive-support' => array('pretty_version' => 'v1.0.6', 'version' => '1.0.6.0', 'reference' => '9bb4199e94541ee1ab373706f7c0a768716efe90', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/flysystem-drive-support', 'aliases' => array(), 'dev_requirement' => \false), 'as247/flysystem-onedrive' => array('pretty_version' => 'v1.0.5', 'version' => '1.0.5.0', 'reference' => 'dff8aee0c19d6d6ad173e8a6c2703e2832eb88f5', 'type' => 'library', 'install_path' => __DIR__ . '/../as247/flysystem-onedrive', 'aliases' => array(), 'dev_requirement' => \false), 'aws/aws-crt-php' => array('pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', 'reference' => '3942776a8c99209908ee0b287746263725685732', 'type' => 'library', 'install_path' => __DIR__ . '/../aws/aws-crt-php', 'aliases' => array(), 'dev_requirement' => \false), 'aws/aws-sdk-php' => array('pretty_version' => '3.238.3', 'version' => '3.238.3.0', 'reference' => '14fb64c934614ea5a52c9931189f687f30b6ba3b', 'type' => 'library', 'install_path' => __DIR__ . '/../aws/aws-sdk-php', 'aliases' => array(), 'dev_requirement' => \false), 'components/jquery' => array('pretty_version' => '3.6.0', 'version' => '3.6.0.0', 'reference' => '6cf38ee1fd04b6adf8e7dda161283aa35be818c3', 'type' => 'component', 'install_path' => __DIR__ . '/../components/jquery', 'aliases' => array(), 'dev_requirement' => \false), 'firebase/php-jwt' => array('pretty_version' => 'v6.3.0', 'version' => '6.3.0.0', 'reference' => '018dfc4e1da92ad8a1b90adc4893f476a3b41cb8', 'type' => 'library', 'install_path' => __DIR__ . '/../firebase/php-jwt', 'aliases' => array(), 'dev_requirement' => \false), 'gliterd/backblaze-b2' => array('pretty_version' => '1.5.4', 'version' => '1.5.4.0', 'reference' => '3abcf1ae5b093199c230d4ad82d64fb16ea4fd1a', 'type' => 'library', 'install_path' => __DIR__ . '/../gliterd/backblaze-b2', 'aliases' => array(), 'dev_requirement' => \false), 'google/apiclient' => array('pretty_version' => 'v2.12.6', 'version' => '2.12.6.0', 'reference' => 'f92aa126903a9e2da5bd41a280d9633cb249e79e', 'type' => 'library', 'install_path' => __DIR__ . '/../google/apiclient', 'aliases' => array(), 'dev_requirement' => \false), 'google/apiclient-services' => array('pretty_version' => 'v0.270.0', 'version' => '0.270.0.0', 'reference' => '902b415a7ab92ccb50e2b7dda334a3497c8bc3da', 'type' => 'library', 'install_path' => __DIR__ . '/../google/apiclient-services', 'aliases' => array(), 'dev_requirement' => \false), 'google/auth' => array('pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'reference' => '8da16102d2cd1bdc128d97f323553df465ee7701', 'type' => 'library', 'install_path' => __DIR__ . '/../google/auth', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/guzzle' => array('pretty_version' => '7.5.0', 'version' => '7.5.0.0', 'reference' => 'b50a2a1251152e43f6a37f0fa053e730a67d25ba', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/promises' => array('pretty_version' => '1.5.2', 'version' => '1.5.2.0', 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), 'dev_requirement' => \false), 'guzzlehttp/psr7' => array('pretty_version' => '1.9.0', 'version' => '1.9.0.0', 'reference' => 'e98e3e6d4f86621a9b75f623996e6bbdeb4b9318', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem' => array('pretty_version' => '1.1.10', 'version' => '1.1.10.0', 'reference' => '3239285c825c152bcc315fe0e87d6b55f5972ed1', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-aws-s3-v3' => array('pretty_version' => '1.0.30', 'version' => '1.0.30.0', 'reference' => 'af286f291ebab6877bac0c359c6c2cb017eb061d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-aws-s3-v3', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-azure-blob-storage' => array('pretty_version' => '0.1.6', 'version' => '0.1.6.0', 'reference' => '97215345f3c42679299ba556a4d16d4847ee7f6d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-azure-blob-storage', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-cached-adapter' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => 'd1925efb2207ac4be3ad0c40b8277175f99ffaff', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-cached-adapter', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-sftp' => array('pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'reference' => '36fb893d10bb799fa6aa7199e37e84314c9fd97d', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-sftp', 'aliases' => array(), 'dev_requirement' => \false), 'league/flysystem-webdav' => array('pretty_version' => '1.0.10', 'version' => '1.0.10.0', 'reference' => '7da805408d366dd92ba15a03a12a59104bfd91d7', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-webdav', 'aliases' => array(), 'dev_requirement' => \false), 'league/mime-type-detection' => array('pretty_version' => '1.11.0', 'version' => '1.11.0.0', 'reference' => 'ff6248ea87a9f116e78edd6002e39e5128a0d4dd', 'type' => 'library', 'install_path' => __DIR__ . '/../league/mime-type-detection', 'aliases' => array(), 'dev_requirement' => \false), 'mhetreramesh/flysystem-backblaze' => array('pretty_version' => '1.6.1', 'version' => '1.6.1.0', 'reference' => '9bbe64c161519c20e508d2c924d507d892999e5d', 'type' => 'library', 'install_path' => __DIR__ . '/../mhetreramesh/flysystem-backblaze', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/azure-storage-blob' => array('pretty_version' => '1.5.4', 'version' => '1.5.4.0', 'reference' => '1023ce1dbf062351a32ca5ec72ad1fd4a504f1bf', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-blob', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/azure-storage-common' => array('pretty_version' => '1.5.2', 'version' => '1.5.2.0', 'reference' => '8ca7b1bf4c9ca7c663e75a02a0035b05b37196a0', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/azure-storage-common', 'aliases' => array(), 'dev_requirement' => \false), 'microsoft/microsoft-graph' => array('pretty_version' => '1.78.0', 'version' => '1.78.0.0', 'reference' => 'fda619df926aa08bc338cb9516184f2fd3cc9941', 'type' => 'library', 'install_path' => __DIR__ . '/../microsoft/microsoft-graph', 'aliases' => array(), 'dev_requirement' => \false), 'mikey179/vfsstream' => array('pretty_version' => 'v1.6.11', 'version' => '1.6.11.0', 'reference' => '17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f', 'type' => 'library', 'install_path' => __DIR__ . '/../mikey179/vfsstream', 'aliases' => array(), 'dev_requirement' => \false), 'monolog/monolog' => array('pretty_version' => '1.27.1', 'version' => '1.27.1.0', 'reference' => '904713c5929655dc9b97288b69cfeedad610c9a1', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), 'dev_requirement' => \false), 'mtdowling/jmespath.php' => array('pretty_version' => '2.6.1', 'version' => '2.6.1.0', 'reference' => '9b87907a81b87bc76d19a7fb2d61e61486ee9edb', 'type' => 'library', 'install_path' => __DIR__ . '/../mtdowling/jmespath.php', 'aliases' => array(), 'dev_requirement' => \false), 'nao-pon/flysystem-cached-extra' => array('pretty_version' => '1.0.3', 'version' => '1.0.3.0', 'reference' => '189abdafa0a86d92781e148ee8740ef80f4c5859', 'type' => 'library', 'install_path' => __DIR__ . '/../nao-pon/flysystem-cached-extra', 'aliases' => array(), 'dev_requirement' => \false), 'nao-pon/flysystem-google-drive' => array('pretty_version' => '1.1.13', 'version' => '1.1.13.0', 'reference' => 'bb812339ecf06540ed096f71403f10fcbcc590f3', 'type' => 'library', 'install_path' => __DIR__ . '/../nao-pon/flysystem-google-drive', 'aliases' => array(), 'dev_requirement' => \false), 'nesbot/carbon' => array('pretty_version' => '2.62.1', 'version' => '2.62.1.0', 'reference' => '01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), 'dev_requirement' => \false), 'phpseclib/phpseclib' => array('pretty_version' => '2.0.38', 'version' => '2.0.38.0', 'reference' => 'b03536539f43a4f9aa33c4f0b2f3a1c752088fcd', 'type' => 'library', 'install_path' => __DIR__ . '/../phpseclib/phpseclib', 'aliases' => array(), 'dev_requirement' => \false), 'psr/cache' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-client' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-client-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/http-message' => array('pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), 'dev_requirement' => \false), 'psr/http-message-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/log' => array('pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0.0')), 'ralouphie/getallheaders' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/dav' => array('pretty_version' => '4.4.0', 'version' => '4.4.0.0', 'reference' => 'b65362abc926520eda2c57e219f022a6c288069d', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/dav', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/event' => array('pretty_version' => '5.1.4', 'version' => '5.1.4.0', 'reference' => 'd7da22897125d34d7eddf7977758191c06a74497', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/event', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/http' => array('pretty_version' => '5.1.6', 'version' => '5.1.6.0', 'reference' => '9976ac34ced206bd6579b7b37b401de9fac98dae', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/http', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/uri' => array('pretty_version' => '2.2.4', 'version' => '2.2.4.0', 'reference' => 'c0c9af9f7754e60a49ebd760e1708adc6d1510c0', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/uri', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/vobject' => array('pretty_version' => '4.5.1', 'version' => '4.5.1.0', 'reference' => '1f836740c88bac483f3b572a332eb8fd1cd04981', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/vobject', 'aliases' => array(), 'dev_requirement' => \false), 'sabre/xml' => array('pretty_version' => '2.2.5', 'version' => '2.2.5.0', 'reference' => 'a6af111850e7536d200d9637c34885cd3c77a86c', 'type' => 'library', 'install_path' => __DIR__ . '/../sabre/xml', 'aliases' => array(), 'dev_requirement' => \false), 'splitbrain/php-archive' => array('pretty_version' => '1.3.1', 'version' => '1.3.1.0', 'reference' => 'd274e5190ba309777926348900cf9578d9e533c9', 'type' => 'library', 'install_path' => __DIR__ . '/../splitbrain/php-archive', 'aliases' => array(), 'dev_requirement' => \false), 'srmklive/flysystem-dropbox-v2' => array('pretty_version' => 'v1.0.8', 'version' => '1.0.8.0', 'reference' => 'c463419f4ffb7fe3d7bd2e3a85e3145c36ef3f20', 'type' => 'library', 'install_path' => __DIR__ . '/../srmklive/flysystem-dropbox-v2', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-php80' => array('pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation' => array('pretty_version' => 'v5.4.12', 'version' => '5.4.12.0', 'reference' => '42ecc77eb4f229ce2df702a648ec93b8478d76ae', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-contracts' => array('pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/translation-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.3')), 'vakata/jstree' => array('pretty_version' => '3.3.12', 'version' => '3.3.12.0', 'reference' => '7a03954015eaea2467956dc05e6be78f4d1a1ff0', 'type' => 'component', 'install_path' => __DIR__ . '/../vakata/jstree', 'aliases' => array(), 'dev_requirement' => \false), 'watchfulli/xcloner-wordpress' => array('pretty_version' => 'v4.8.2', 'version' => '4.8.2.0', 'reference' => '4c0b010580cf71833a644d7a8413cfbbbb850c38', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false)));
  • xcloner-backup-and-restore/trunk/xcloner.php

    r3375773 r3385041  
    1919 * Plugin URI: https://xcloner.com/
    2020 * Description:  XCloner is a tool that will help you manage your website backups, generate/restore/move so your website will be always secured! With XCloner you will be able to clone your site to any other location with just a few clicks, as well as transfer the backup archives to remote FTP, SFTP, DropBox, Amazon S3, Google Drive, WebDAV, Backblaze, Azure accounts.
    21  * Version: 4.8.1
     21 * Version: 4.8.2
    2222 * Author: watchful
    2323 * Author URI: https://watchful.net/
Note: See TracChangeset for help on using the changeset viewer.