Plugin Directory

Changeset 2310552


Ignore:
Timestamp:
05/23/2020 02:25:35 AM (6 years ago)
Author:
onionbazaar
Message:

update 1.0.0 to 1.0.1

Location:
backup-restore-manager
Files:
218 added
5 edited

Legend:

Unmodified
Added
Removed
  • backup-restore-manager/trunk/admin/schedule-sentence.php

    r2293954 r2310552  
    169169/* OBZMOD */
    170170
    171 if ( file_exists( Path::get_path() . '/backup-restore-manager-cron' ) ) {
    172     $hmbkp_cronmode = trim( file_get_contents( Path::get_path() . '/backup-restore-manager-cron' ) );
     171if ( is_readable( Path::get_path() . '/backup-restore-manager-cron' ) ) {
     172    $hmbkp_cron_lastrun = time()-filemtime( Path::get_path() . '/backup-restore-manager-cron' );
     173    $hmbkp_cronmode_tmp = trim( file_get_contents( Path::get_path() . '/backup-restore-manager-cron' ) );
     174    if ( ( $hmbkp_cronmode_tmp == 'yes' ) AND ($hmbkp_cron_lastrun<300) ) $hmbkp_cronmode = true; else $hmbkp_cronmode = false;
    173175}
    174176else {
     
    176178        file_put_contents( Path::get_path() . '/backup-restore-manager-cron', 'no' );
    177179    }
    178     $hmbkp_cronmode = 'no';
     180    $hmbkp_cronmode = false;
    179181}
    180182
     
    259261    $hmbkp_restore_file = esc_attr( sanitize_text_field( file_get_contents( Path::get_path() . '/restore.txt' ) ) );
    260262
    261     if ( $hmbkp_cronmode == 'yes' ) {
     263    if ( $hmbkp_cronmode ) {
    262264        if ( file_exists( Path::get_path() . '/' . $hmbkp_restore_file ) ) $hmbkp_filesize = filesize( Path::get_path() . '/' . $hmbkp_restore_file ); else $hmbkp_filesize = 10000000;
    263265       
     
    287289            ' . $hmbkp_restore_file . '<br><br>
    288290            <p style="margin: 10px;">' . esc_html__( 'Enter the following commands in the shell/console to restore this backup (Linux only):', 'backup-restore-manager' ) . '</p>
    289             <input type="text" style="width: 700px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value="chmod +x ' . plugin_dir_path(__DIR__) . 'restore.sh" onclick="this.select()"><br>
    290             <input type="text" style="width: 700px; margin: 15px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value=". ' . plugin_dir_path(__DIR__) . 'restore.sh" onclick="this.select()"><br>
     291            <input type="text" style="width: 700px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value="chmod +x ' . plugin_dir_path(__DIR__) . 'restore.sh"><br>
     292            <input type="text" style="width: 700px; margin: 15px; padding: 3px; text-align: center; border: 1px solid #1d1d1d; background-color: #dcdcdc" value=". ' . plugin_dir_path(__DIR__) . 'restore.sh"><br>
    291293            <form method="post" name="hmbkp_restore_confirm" action="' . $hmbkp_phpself . '?page=backup-restore-manager' . $hmbkp_schedule_id_str . '">
    292294            <input type="hidden" name="hmbkp_restore" value="' . $hmbkp_restore_file . '">
  • backup-restore-manager/trunk/backup-restore-manager.php

    r2293954 r2310552  
    44Plugin URI: https://wordpress.org/plugins/backup-restore-manager/
    55Description: Simple automated Backup and Restore of your WordPress Website.
    6 Version: 1.0.0
     6Version: 1.0.1
    77Author: OnionBazaar
    88Author URI: https://onionbazaar.org
  • backup-restore-manager/trunk/classes/class-plugin.php

    r2293954 r2310552  
    1010    const PLUGIN_VERSION = '3.6.4';
    1111    */
    12     const PLUGIN_VERSION = '1.0.0';
     12    const PLUGIN_VERSION = '1.0.1';
    1313    /* OBZMOD */
    1414    /**
  • backup-restore-manager/trunk/readme.txt

    r2293954 r2310552  
    44Tags: backup, restore, recover, backupwordpress, backups, clone, database, zip, db, migrate, file backup, archive
    55Requires at least: 3.9
    6 Tested up to: 5.4
    7 Stable tag: 1.0.0
     6Tested up to: 5.4.1
     7Stable tag: 1.0.1
    88License: GNU General Public License v3.0
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    1919If you are already using BackUpWordPress, switching to Backup & Restore Manager will retain all your settings, schedules and backups (and vice versa).
    2020
    21 For support, head over to the [WordPress Support Forum](https://wordpress.org/support/plugin/backup-restore-manager) or [https://onionbazaar.org/p=support](https://onionbazaar.org/p=support) for direct support.
     21For support, head over to the [WordPress Support Forum](https://wordpress.org/support/plugin/backup-restore-manager) or [https://onionbazaar.org/?p=help](https://onionbazaar.org/?p=help) for direct support.
    2222
    2323This plugin requires PHP version 5.3.2 or later
     
    103103== Changelog ==
    104104
     105= 1.0.1 - 2020-05-23 =
     106* Minor changes restore script cronmode
     107
    105108= 1.0.0 - 2020-04-28 =
    106109* Fork of BackUpWordPress 3.6.4. Added backup upload and restore functionality. The management and development of the plugin is done by [OnionBazaar](https://onionbazaar.org)
  • backup-restore-manager/trunk/restore.sh

    r2293954 r2310552  
    22
    33echo "### WordPress Restore ###"
    4 
    5 PASS=true
    64
    75# detect wordpress directory
     
    1412else
    1513    echo "# ERROR: Wordpress directory not found. Edit this script if you are using a non-default directory structure."
    16     PASS=false
     14    return
    1715fi
    1816
    1917# detect backup directory
    20 
    2118hits=0
    22 for filenamepath in $WPDIR/wp-content/*; do
    23     [ -e "$filenamepath" ] || continue
    24     if [[ $filenamepath == *"backupwordpress"* ]]; then
     19for BACKUPDIRPATH in $WPDIR/wp-content/*; do
     20    [ -e "$BACKUPDIRPATH" ] || continue
     21    if [[ $BACKUPDIRPATH == *"backupwordpress"* ]]; then
    2522        ((hits++))
    26         BACKUPDIR="$filenamepath"
     23        BACKUPDIR="$BACKUPDIRPATH"
    2724        echo "# Backup Directory: $BACKUPDIR"
    2825    fi
     
    3128if (( $hits == 0)); then
    3229
    33     for filenamepath in $WPDIR/wp-content/uploads/*; do
    34         [ -e "$filenamepath" ] || continue
    35         if [[ $filenamepath == *"backupwordpress"* ]]; then
     30    for BACKUPDIRPATH in $WPDIR/wp-content/uploads/*; do
     31        [ -e "$BACKUPDIRPATH" ] || continue
     32        if [[ $BACKUPDIRPATH == *"backupwordpress"* ]]; then
    3633            ((hits++))
    37             BACKUPDIR="$filenamepath"
     34            BACKUPDIR="$BACKUPDIRPATH"
    3835            BACKUPPRE="/uploads"
    3936            echo "# Backup Directory: $BACKUPDIR"
     
    4340    if (( $hits == 0)); then
    4441        echo "# ERROR: Backup directory not found. edit this script if you are using a non-default directory structure."
    45         PASS=false
    46     fi
     42        return
     43    fi
     44fi
     45
     46#setting cronmode to yes if run as cron
     47if [ ! -t 1 ] ; then
     48    echo "yes" > "$BACKUPDIR/backup-restore-manager-cron"
    4749fi
    4850
     
    6466    else
    6567        echo "# ERROR: Backuptype not detected. Make sure backup files are not renamed."
    66         PASS=false
     68        return
    6769    fi
    6870else
    69     echo "# No Restore Job found. Initiate a Restore in the Backup & Restore Manager Plugin first."
    70     PASS=false
     71    echo "# No Restore Job found."
     72    return
    7173fi
    7274
    7375#start restore process
    74 if ($PASS == true); then
    75 
    76     #get pre-backup (currently active) sql credentials and sitename
    77     echo "# reading SQL credentials from current wp-config.php ..."
    78     if [ -r "$WPDIR/wp-config.php" ]; then
    79         SQLHOSTR=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
    80         SQLHOST=${SQLHOSTR#"'"}
    81         SQLHOST=${SQLHOST%"'"}
    82         echo "# Current SQL Host: $SQLHOST"
    83         SQLDBR=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
    84         SQLDB=${SQLDBR#"'"}
    85         SQLDB=${SQLDB%"'"}
    86         echo "# Current SQL Database: $SQLDB"
    87         SQLUSERR=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
    88         SQLUSER=${SQLUSERR#"'"}
    89         SQLUSER=${SQLUSER%"'"}
    90         echo "# Current SQL Username: $SQLUSER"
    91         SQLPASSR=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
    92         SQLPASS=${SQLPASSR#"'"}
    93         SQLPASS=${SQLPASS%"'"}
    94         echo "# Current SQL Password: [hidden]"
    95        
    96         if (($BACKUPTYPE < 3)); then
    97             WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
     76#get pre-backup (currently active) sql credentials and sitename
     77echo "# reading SQL credentials from current wp-config.php ..."
     78if [ -r "$WPDIR/wp-config.php" ]; then
     79    SQLHOSTR=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
     80    SQLHOST=${SQLHOSTR#"'"}
     81    SQLHOST=${SQLHOST%"'"}
     82    echo "# Current SQL Host: $SQLHOST"
     83    SQLDBR=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
     84    SQLDB=${SQLDBR#"'"}
     85    SQLDB=${SQLDB%"'"}
     86    echo "# Current SQL Database: $SQLDB"
     87    SQLUSERR=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
     88    SQLUSER=${SQLUSERR#"'"}
     89    SQLUSER=${SQLUSER%"'"}
     90    echo "# Current SQL Username: $SQLUSER"
     91    SQLPASSR=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
     92    SQLPASS=${SQLPASSR#"'"}
     93    SQLPASS=${SQLPASS%"'"}
     94    echo "# Current SQL Password: [hidden]"
     95   
     96    if (($BACKUPTYPE < 3)); then
     97        WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
     98        echo "# Current Site URL: $WPSITEURL"
     99        WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
     100        echo "# Current Home: $WPHOME"
     101    fi
     102else
     103    #wp-config.php not readable, ask for credentials if not cronmode
     104    if [ ! -t 1 ] ; then
     105        echo "# Could not retrieve SQL credentials from wp-config.php. Exiting."
     106        return
     107    else
     108        if [ -f "$WPDIR/wp-config.php" ]; then
     109            echo "#-> wp-config.php not readable. Enter your SQL credentials to restore the database:"
     110        else
     111            echo "#-> wp-config.php not found. Enter your SQL credentials to restore the database:"
     112        fi
     113        echo -n "Host: "
     114        read SQLHOST
     115        echo -n "Database: "
     116        read SQLDB
     117        echo -n "Username: "
     118        read SQLUSER
     119        echo -n "Password: "
     120        read SQLPASS
     121        WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
     122        if [ -z "$WPSITEURL" ]; then
     123            echo "# ERROR: Could not get Website URL from Database, probably incorrect credentials. Try again."
     124            return
     125        else
    98126            echo "# Current Site URL: $WPSITEURL"
    99127            WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
    100128            echo "# Current Home: $WPHOME"
    101129        fi
    102     else
    103         #wp-config.php not readable, ask for credentials if not cronmode
    104         CRONMODE=`cat $BACKUPDIR/backup-restore-manager-cron`
    105         if [ "$CRONMODE" == "yes" ]; then
    106             echo "# Could not retrieve SQL credentials from wp-config.php. Exiting."
    107             return
     130    fi
     131fi
     132
     133#delete restore job file
     134rm -f "$BACKUPDIR/restore.txt"
     135
     136#install unzip
     137if [ ! -n "$(command -v unzip)" ]; then
     138        if [ -n "$(command -v yum)" ]; then
     139            PMGR="yum"
    108140        else
    109             if [ -f "$WPDIR/wp-config.php" ]; then
    110                 echo "# wp-config.php not readable. Enter your SQL credentials to restore the database:"
    111             else
    112                 echo "# wp-config.php not found. Enter your SQL credentials to restore the database:"
    113             fi
    114             echo -n "Host: "
    115             read SQLHOST
    116             echo -n "Database: "
    117             read SQLDB
    118             echo -n "Username: "
    119             read SQLUSER
    120             echo -n "Password: "
    121             read SQLPASS
    122             WPSITEURL=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
    123             if [ -z "$WPSITEURL" ]; then
    124                 echo "# ERROR: Could not get Website URL from Database, probably incorrect credentials. Try again."
    125                 return
    126             else
    127                 echo "# Current Site URL: $WPSITEURL"
    128                 WPHOME=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
    129                 echo "# Current Home: $WPHOME"
    130             fi
     141            PMGR="apt-get"
    131142        fi
    132     fi
    133 
    134     #delete restore job file
    135     rm -f "$BACKUPDIR/restore.txt"
    136 
    137     #install unzip
    138     if [ ! -n "$(command -v unzip)" ]; then
    139             if [ -n "$(command -v yum)" ]; then
    140                 PMGR="yum"
    141             else
    142                 PMGR="apt-get"
    143             fi
    144             echo "# installing unzip ..."
    145             $PMGR -y install unzip
    146     fi
    147 
    148     echo "# restoring Backup $BACKUPFILE ..."
    149     SITENAME=${BACKUPFILE::-44}
    150 
    151     #restore database and files
    152     if (($BACKUPTYPE == 1)); then
    153 
    154         #create temp directory for old files
    155         echo "# moving files to subfolder ..."
    156         if [ -d $WPDIR/backup-restore-manager-old ]; then
    157             rm -r -f $WPDIR/backup-restore-manager-old
    158         fi
    159         mkdir $WPDIR/backup-restore-manager-old
    160         shopt -s dotglob
    161         mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null
    162 
    163         #extract backupfile
    164         BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)"
    165         echo "# extracting $BACKUPFILE to $WPDIR ..."
    166         unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR"
    167        
    168         #move backup directory
    169         mv -f $BACKUPDIROLD $BACKUPDIR
    170        
    171         #delete temp directory
     143        echo "# installing unzip ..."
     144        $PMGR -y install unzip
     145fi
     146
     147echo "# restoring Backup $BACKUPFILE ..."
     148SITENAME=${BACKUPFILE::-44}
     149
     150#restore database and files
     151if (($BACKUPTYPE == 1)); then
     152
     153    #create temp directory for old files
     154    echo "# moving files to subfolder ..."
     155    if [ -d $WPDIR/backup-restore-manager-old ]; then
    172156        rm -r -f $WPDIR/backup-restore-manager-old
    173 
    174         #get sql credentials from backup
    175         echo "# reading SQL credentials from backup wp-config.php ..."
    176         SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
    177         SQLHOSTBCK=${SQLHOSTRBCK#"'"}
    178         SQLHOSTBCK=${SQLHOSTBCK%"'"}
    179         SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
    180         SQLDBBCK=${SQLDBRBCK#"'"}
    181         SQLDBBCK=${SQLDBBCK%"'"}
    182         SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
    183         SQLUSERBCK=${SQLUSERRBCK#"'"}
    184         SQLUSERBCK=${SQLUSERBCK%"'"}
    185         SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
    186         SQLPASSBCK=${SQLPASSRBCK#"'"}
    187         SQLPASSBCK=${SQLPASSBCK%"'"}
    188 
    189         if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then
    190             echo "# SQL credentials unchanged"
    191         else
    192             echo "# SQL credentials changed, write them to wp-config"
    193             sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php
    194             sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php
    195             sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php
    196             sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php
    197         fi
    198        
    199         #restore database
    200         for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do
    201             [ -e "$SQLFILENAMEPATH" ] || continue
    202             SQLFILENAME="${SQLFILENAMEPATH##*/}"
    203             echo "# importing $WPDIR/$SQLFILENAME ..."
    204             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;"
    205             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;"
    206             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH"
    207             echo "# removing $WPDIR/$SQLFILENAME ..."
    208             rm -f "$WPDIR/$SQLFILENAME"
    209             break
    210         done
    211        
    212         #get siteurl and home from backup
    213         echo "# reading Site/Home URL from backup database ..."
    214         WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
    215         WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
    216 
    217         if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then
    218             echo "# Site/Home URL unchanged"
    219         else
    220             echo "# Site/Home URL changed, write them to database ..."
    221             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'"
    222             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'"
    223         fi
    224         echo "# Database and File Restore Complete!"
     157    fi
     158    mkdir $WPDIR/backup-restore-manager-old
     159    shopt -s dotglob
     160    mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null
     161
     162    #extract backupfile
     163    BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)"
     164    echo "# extracting $BACKUPFILE to $WPDIR ..."
     165    unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR"
     166   
     167    #move backup directory
     168    mv -f $BACKUPDIROLD $BACKUPDIR
     169   
     170    #delete temp directory
     171    rm -r -f $WPDIR/backup-restore-manager-old
     172
     173    #get sql credentials from backup
     174    echo "# reading SQL credentials from backup wp-config.php ..."
     175    SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
     176    SQLHOSTBCK=${SQLHOSTRBCK#"'"}
     177    SQLHOSTBCK=${SQLHOSTBCK%"'"}
     178    SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
     179    SQLDBBCK=${SQLDBRBCK#"'"}
     180    SQLDBBCK=${SQLDBBCK%"'"}
     181    SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
     182    SQLUSERBCK=${SQLUSERRBCK#"'"}
     183    SQLUSERBCK=${SQLUSERBCK%"'"}
     184    SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
     185    SQLPASSBCK=${SQLPASSRBCK#"'"}
     186    SQLPASSBCK=${SQLPASSBCK%"'"}
     187
     188    if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then
     189        echo "# SQL credentials unchanged"
     190    else
     191        echo "# SQL credentials changed, write them to wp-config"
     192        sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php
     193        sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php
     194        sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php
     195        sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php
     196    fi
    225197   
    226198    #restore database
    227     elif (($BACKUPTYPE == 2)); then
    228 
    229         #extract backupfile
    230         echo "# extracting $BACKUPFILE to $WPDIR ..."
    231         unzip -o -q "$BACKUPDIR/$BACKUPFILE" -d "$WPDIR"
    232        
    233         for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do
    234             [ -e "$SQLFILENAMEPATH" ] || continue
    235             SQLFILENAME="${SQLFILENAMEPATH##*/}"
    236             echo "# importing $WPDIR/$SQLFILENAME"
    237             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;"
    238             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;"
    239             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH"
    240             echo "# removing $WPDIR/$SQLFILENAME"
    241             rm -f "$WPDIR/$SQLFILENAME"
    242             break
    243         done
    244        
    245         #get siteurl and home from backup
    246         echo "# reading Site/Home URL from backup database ..."
    247         WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
    248         WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
    249 
    250         if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then
    251             echo "# Site/Home URL unchanged"
    252         else
    253             echo "# Site/Home URL changed, write them to database ..."
    254             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'"
    255             mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'"
    256         fi
    257         echo "# Database Restore Complete!"
    258 
    259     #restore files
    260     elif (($BACKUPTYPE == 3)); then
    261 
    262         #create temp directory for old files
    263         echo "# moving files to subfolder ..."
    264         if [ -d $WPDIR/backup-restore-manager-old ]; then
    265             rm -r -f $WPDIR/backup-restore-manager-old
    266         fi
    267         mkdir $WPDIR/backup-restore-manager-old
    268         shopt -s dotglob
    269         mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null
    270 
    271         #extract backupfile
    272         BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)"
    273         echo "# extracting $BACKUPFILE to $WPDIR ..."
    274         unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR"
    275 
    276         #get sql credentials from backup
    277         echo "# reading SQL credentials from backup wp-config.php ..."
    278         SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
    279         SQLHOSTBCK=${SQLHOSTRBCK#"'"}
    280         SQLHOSTBCK=${SQLHOSTBCK%"'"}   
    281         SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
    282         SQLDBBCK=${SQLDBRBCK#"'"}
    283         SQLDBBCK=${SQLDBBCK%"'"}
    284         SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
    285         SQLUSERBCK=${SQLUSERRBCK#"'"}
    286         SQLUSERBCK=${SQLUSERBCK%"'"}
    287         SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
    288         SQLPASSBCK=${SQLPASSRBCK#"'"}
    289         SQLPASSBCK=${SQLPASSBCK%"'"}
    290 
    291         if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then
    292             echo "# SQL credentials unchanged"
    293         else
    294             echo "# SQL credentials changed, write them to wp-config ..."
    295             sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php
    296             sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php
    297             sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php
    298             sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php
    299         fi
    300 
    301         #move backup directory
    302         mv -f $BACKUPDIROLD $BACKUPDIR
    303        
    304         #delete temp directory
     199    for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do
     200        [ -e "$SQLFILENAMEPATH" ] || continue
     201        SQLFILENAME="${SQLFILENAMEPATH##*/}"
     202        echo "# importing $WPDIR/$SQLFILENAME ..."
     203        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;"
     204        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;"
     205        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH"
     206        echo "# removing $WPDIR/$SQLFILENAME ..."
     207        rm -f "$WPDIR/$SQLFILENAME"
     208        break
     209    done
     210   
     211    #get siteurl and home from backup
     212    echo "# reading Site/Home URL from backup database ..."
     213    WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
     214    WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
     215
     216    if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then
     217        echo "# Site/Home URL unchanged"
     218    else
     219        echo "# Site/Home URL changed, write them to database ..."
     220        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'"
     221        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'"
     222    fi
     223    echo "# Database and File Restore Complete!"
     224    echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt"
     225
     226#restore database
     227elif (($BACKUPTYPE == 2)); then
     228
     229    #extract backupfile
     230    echo "# extracting $BACKUPFILE to $WPDIR ..."
     231    unzip -o -q "$BACKUPDIR/$BACKUPFILE" -d "$WPDIR"
     232   
     233    for SQLFILENAMEPATH in $WPDIR/database-$SITENAME*.sql; do
     234        [ -e "$SQLFILENAMEPATH" ] || continue
     235        SQLFILENAME="${SQLFILENAMEPATH##*/}"
     236        echo "# importing $WPDIR/$SQLFILENAME"
     237        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "DROP Database $SQLDB;"
     238        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "CREATE DATABASE $SQLDB;"
     239        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" "$SQLDB" < "$SQLFILENAMEPATH"
     240        echo "# removing $WPDIR/$SQLFILENAME"
     241        rm -f "$WPDIR/$SQLFILENAME"
     242        break
     243    done
     244   
     245    #get siteurl and home from backup
     246    echo "# reading Site/Home URL from backup database ..."
     247    WPSITEURLBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'siteurl'")
     248    WPHOMEBCK=$(mysql -h$SQLHOST -D$SQLDB -u$SQLUSER -p$SQLPASS -se "SELECT option_value FROM wp_options WHERE option_name = 'home'")
     249
     250    if [ "$WPSITEURL" == "$WPSITEURLBCK" ] && [ "$WPHOME" == "$WPHOMEBCK" ]; then
     251        echo "# Site/Home URL unchanged"
     252    else
     253        echo "# Site/Home URL changed, write them to database ..."
     254        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPSITEURL' WHERE option_name ='siteurl'"
     255        mysql -h "$SQLHOST" -u "$SQLUSER" -p"$SQLPASS" -e "UPDATE $SQLDB.wp_options SET option_value = '$WPHOME' WHERE option_name ='home'"
     256    fi
     257    echo "# Database Restore Complete!"
     258    echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt"
     259
     260#restore files
     261elif (($BACKUPTYPE == 3)); then
     262
     263    #create temp directory for old files
     264    echo "# moving files to subfolder ..."
     265    if [ -d $WPDIR/backup-restore-manager-old ]; then
    305266        rm -r -f $WPDIR/backup-restore-manager-old
    306 
    307         echo "# File Restore Complete!"
    308     fi
     267    fi
     268    mkdir $WPDIR/backup-restore-manager-old
     269    shopt -s dotglob
     270    mv -f $WPDIR/* $WPDIR/backup-restore-manager-old 2> /dev/null
     271
     272    #extract backupfile
     273    BACKUPDIROLD="$WPDIR/backup-restore-manager-old/wp-content$BACKUPPRE/$(basename $BACKUPDIR)"
     274    echo "# extracting $BACKUPFILE to $WPDIR ..."
     275    unzip -o -q "$BACKUPDIROLD/$BACKUPFILE" -d "$WPDIR"
     276
     277    #get sql credentials from backup
     278    echo "# reading SQL credentials from backup wp-config.php ..."
     279    SQLHOSTRBCK=$( awk '/DB_HOST/ {print $3}' $WPDIR/wp-config.php )
     280    SQLHOSTBCK=${SQLHOSTRBCK#"'"}
     281    SQLHOSTBCK=${SQLHOSTBCK%"'"}   
     282    SQLDBRBCK=$( awk '/DB_NAME/ {print $3}' $WPDIR/wp-config.php )
     283    SQLDBBCK=${SQLDBRBCK#"'"}
     284    SQLDBBCK=${SQLDBBCK%"'"}
     285    SQLUSERRBCK=$( awk '/DB_USER/ {print $3}' $WPDIR/wp-config.php )
     286    SQLUSERBCK=${SQLUSERRBCK#"'"}
     287    SQLUSERBCK=${SQLUSERBCK%"'"}
     288    SQLPASSRBCK=$( awk '/DB_PASSWORD/ {print $3}' $WPDIR/wp-config.php )
     289    SQLPASSBCK=${SQLPASSRBCK#"'"}
     290    SQLPASSBCK=${SQLPASSBCK%"'"}
     291
     292    if [ "$SQLHOST" == "$SQLHOSTBCK" ] && [ "$SQLDB" == "$SQLDBBCK" ] && [ "$SQLUSER" == "$SQLUSERBCK" ] && [ "$SQLPASS" == "$SQLPASSBCK" ]; then
     293        echo "# SQL credentials unchanged"
     294    else
     295        echo "# SQL credentials changed, write them to wp-config ..."
     296        sed -i -e "s/$SQLHOSTBCK/$SQLHOST/g" $WPDIR/wp-config.php
     297        sed -i -e "s/$SQLDBBCK/$SQLDB/g" $WPDIR/wp-config.php
     298        sed -i -e "s/$SQLUSERBCK/$SQLUSER/g" $WPDIR/wp-config.php
     299        sed -i -e "s/$SQLPASSBCK/$SQLPASS/g" $WPDIR/wp-config.php
     300    fi
     301
     302    #move backup directory
     303    mv -f $BACKUPDIROLD $BACKUPDIR
     304   
     305    #delete temp directory
     306    rm -r -f $WPDIR/backup-restore-manager-old
     307
     308    echo "# File Restore Complete!"
    309309    echo "$BACKUPFILE" > "$BACKUPDIR/restore_complete.txt"
    310310fi
     311
Note: See TracChangeset for help on using the changeset viewer.