=== Plugin Name === Contributors: BenjaminSommer Tags: plugin, search, replace, safe search replace, undo, redo, SSR API Requires at least: 2.0 Tested up to: 3.2.1 Stable tag: 1.0 Safely search and replace in the database, using advanced options, including undo operations. == Description == Safe Search Replace (SSR) is another plugin to search and replace in the current database. The main difference is that operations can be undone, and that you can use simple but very powerful search options for all available database tables. **Features** * Undo replace operations using automatic backup of table cells * Graphically review possible changes interactively via AJAX * Automatically detects literal or regexp search / replace syntax * Search and replace data in any table and column available (within safety measures) * Advanced table cell selection methods * Starting guide for regex expressions * Very lightweight plugin * WPMU compatible * Internationalization ready (I18N) * UI Integration uses standard WordPress styles * Compliant to Zend's Coding Standard (Programmer's Reference Guide) * Provides an SSR API to be used by other plugins Supported web browser: all popular browser with latest release **Known Limitations** * SimpleXMLElement requires valid UTF-8 input strings * No contextual help (yet) * Currently only works with database tables having at least one primary or unique key. **Future Work** * Intuitive Version Comparison * FilterTemplates to ease work for common tasks (comments, posts, excerpts, images, etc.) == Installation == = Software Requirements = 1. PHP 5.2.6 or later, with libxml installed 1. Mysqli driver and MySql 5.0 or later 1. WordPress 2.0 or later = Install / Update = 1. Download and install the latest version from within WP admin panel 1. Optional: adjust security and safety settings to your liking OR 1. Download the latest version from the official author's homepage 1. Extract the archive to your WordPress Plugins directory `/wp-content/plugins/` 1. `Activate` or `Network Activate` the plugin through the Plugins menu in WordPress. = Notice = License: GPLv2. The source code author [Benjamin Sommer](http://benjaminsommer.com/ "Author: Benjamin Sommer") must not be entirely removed. Note that SSR comes with absolutely no warrantly. Use SSR on your own risk. Database backups using myphpadmin or other tools is recommended. == Screenshots == 1. **Search & Replace**: That's the main part of SSR - to define a Table Filter using a bunch of Selectors and Filter. Selectors just narrow the possible table rows that are to be changed. The filter do the actual work. If you being the filter or selector with a slash /, regex is automatically performed. 2. **Select Database Tables**: In the first step, you select the database table you want to perform filter on. Just click the select link. Usage Hints will give you more information in which table you can find your information, soon. 3. **Preview DataBlocks**: Before making actual changes to the database, the system first creates a simulation the table post-state, organized in datablocks. There, you can perform forward and backward execution. The arrow on the left of each row indicates a match for given execution direction (> equals forward). 4. **List Past Operations**: Get a list of all previous operations. You can either view their report, or open them and maybe run them again. 5. **List Reports**: Because you should always know what's going on, and why (for better understanding), a list of previous reports is provided for this exact reason. There you can find more information in case some operations haven't been successful. == Frequently Asked Questions == = How do I search and replace in WP comments? = Select the table `wp_comments` and define filters for the column name `comment_content`. = I get an error message with SimpleXMLElement and UTF-8. How to solve? = If the error message is something like `SimpleXMLElement requires valid UTF-8 input strings`, then the error is rather out of the scope of SSR. It pretty much lies in SimpleXMLElement and how your data are stored in the selected database. This might occur if other than western-European symbols are used. == Changelog == = 1.0 = * Initial release == Upgrade Notice == = 1.0 = Use of this plugin enables the possibility to safely undo previous operations (search & replace), even if they have been performed a longer time ago.