114 lines
4.3 KiB
Plaintext
114 lines
4.3 KiB
Plaintext
type: update
|
|
name: DB Search Replace
|
|
description: Database Search and Replace utility
|
|
logo: https://d33v4339jhl8k0.cloudfront.net/docs/assets/629d6154f38bfd3f4a4c3046/images/62ce4ffaeabe9a7235b3d220/white-300.png
|
|
|
|
targetNodes:
|
|
nodeGroup: cp
|
|
|
|
settings:
|
|
|
|
config:
|
|
submitUnchanged: true
|
|
fields:
|
|
- caption: Search
|
|
editable: true
|
|
type: string
|
|
name: termSearch
|
|
default:
|
|
placeholder: Terms to search
|
|
tooltip: Enter the terms to search
|
|
- caption: Replace
|
|
editable: true
|
|
type: string
|
|
name: termReplace
|
|
default:
|
|
placeholder: Terms to replace with
|
|
tooltip: Enter the terms to replace with
|
|
- type: checkbox
|
|
caption: Dry Run
|
|
name: testMode
|
|
value: false
|
|
hideLabel: false
|
|
hidden: false
|
|
tooltip: If check Search & Replace will run in test mode
|
|
|
|
onInstall:
|
|
- remoteOperations:
|
|
nodeGroup: cp
|
|
cmd: |-
|
|
cd /var/www/webroot/
|
|
wget --directory-prefix=/var/www/webroot/ https://github.com/interconnectit/Search-Replace-DB/archive/refs/heads/master.zip
|
|
unzip master.zip
|
|
rm master.zip
|
|
mv Search-Replace-DB-master mightybox-search-replace-db
|
|
wget --directory-prefix=/var/www/webroot/mightybox-search-replace-db https://deploy-proxy.mightybox.io/kits/search_and_replace_add-on/raw/branch/main/basic_search_replace.sh
|
|
wget --directory-prefix=/var/www/webroot/mightybox-search-replace-db https://deploy-proxy.mightybox.io/kits/search_and_replace_add-on/raw/branch/main/basic_search_replace-dry-run.sh
|
|
cd /var/www/webroot/mightybox-search-replace-db
|
|
chmod +x basic_search_replace.sh
|
|
chmod +x basic_search_replace-dry-run.sh
|
|
mkdir /var/www/webroot/mightybox-search-replace-db/db-backup
|
|
wget --directory-prefix=/var/www/webroot/mightybox-search-replace-db https://deploy-proxy.mightybox.io/kits/search_and_replace_add-on/raw/branch/main/purgedbbackups.sh
|
|
chmod +x purgedbbackups.sh
|
|
(crontab -l ; echo "0 0 * * * /var/www/webroot/mightybox-search-replace-db/purgedbbackups.sh"; echo "") | crontab -
|
|
|
|
#user: root
|
|
#sayYes: true
|
|
onUninstall:
|
|
- cmd [cp]: |-
|
|
rm -r /var/www/webroot/mightybox-search-replace-db
|
|
|
|
|
|
actions:
|
|
remoteOperations:
|
|
env.control.ExecCmdByGroup:
|
|
nodeGroup: cp
|
|
commandList:
|
|
- command: ${this.cmd}
|
|
|
|
|
|
|
|
searchReplace:
|
|
- if ( '${settings.termSearch}' === '${settings.termReplace}' ):
|
|
stopEvent:
|
|
type: warning
|
|
message: Term to search is the same with term to replace. No action necessary.
|
|
|
|
- if ( '${settings.termSearch}' === '' ):
|
|
stopEvent:
|
|
type: error
|
|
message: Search field is empty!
|
|
|
|
- if ( ${settings.testMode} == false ):
|
|
- cmd [cp]: |-
|
|
wp db export "/var/www/webroot/mightybox-search-replace-db/db-backup/backup-$(date +'%Y-%m-%d_%H-%M-%S').sql" --path=/var/www/webroot/ROOT/
|
|
cd /var/www/webroot/mightybox-search-replace-db/
|
|
./basic_search_replace.sh "${settings.termSearch}" "${settings.termReplace}" >> /var/www/webroot/mightybox-search-replace-db/searchreplace.log
|
|
wp cache flush --quiet --path=/var/www/webroot/ROOT/
|
|
rm -rf /var/www/webroot/.cache/vhosts/Jelastic/*
|
|
tail -8 /var/www/webroot/mightybox-search-replace-db/searchreplace.log | head -7
|
|
|
|
- if ( ${settings.testMode} == true ):
|
|
- cmd [cp]: |-
|
|
cd /var/www/webroot/mightybox-search-replace-db/
|
|
./basic_search_replace-dry-run.sh "${settings.termSearch}" "${settings.termReplace}" >> /var/www/webroot/mightybox-search-replace-db/searchreplace.log
|
|
tail -8 /var/www/webroot/mightybox-search-replace-db/searchreplace.log | head -7
|
|
|
|
|
|
|
|
|
|
- return:
|
|
type: success
|
|
message: ${response.out}
|
|
|
|
|
|
buttons:
|
|
- settings: config
|
|
caption: Search & Replace
|
|
action: searchReplace
|
|
submitButtonText: Search & Replace
|
|
loadingText:
|
|
confirmText:
|
|
successText: /var/www/webroot/mightybox-search-replace-db/searchreplace.log
|
|
logsPath: "/var/www/webroot/mightybox-search-replace-db/searchreplace.log"
|
|
logsNodeGroup: cp |