+
+ if ( isset($_GET['liveupdate']) ) {
+ check_admin_referer('edit-plugin-test_' . $file);
+
+ $error = validate_plugin($file);
+ if ( is_wp_error($error) )
+ wp_die( $error );
+
+ if ( ! is_plugin_active($file) )
+ activate_plugin($file, "plugin-editor.php?file=$file&phperror=1"); // we'll override this later if the plugin can be included without fatal error
+
+ wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto");
+ exit;
+ }
+
+ // List of allowable extensions
+ $editable_extensions = array('php', 'txt', 'text', 'js', 'css', 'html', 'htm', 'xml', 'inc', 'include');
+ $editable_extensions = (array) apply_filters('editable_extensions', $editable_extensions);
+
+ if ( ! is_file($real_file) ) {
+ wp_die(sprintf('<p>%s</p>', __('No such file exists! Double check the name and try again.')));
+ } else {
+ // Get the extension of the file
+ if ( preg_match('/\.([^.]+)$/', $real_file, $matches) ) {
+ $ext = strtolower($matches[1]);
+ // If extension is not in the acceptable list, skip it
+ if ( !in_array( $ext, $editable_extensions) )
+ wp_die(sprintf('<p>%s</p>', __('Files of this type are not editable.')));
+ }
+ }
+