Version Description
Download this release
Release Info
| Developer | willmot |
| Plugin | |
| Version | 2.3 |
| Comparing to | |
| See all releases | |
Code changes from version 2.2.5 to 2.3
- plugin.php +38 -4
- readme.txt +8 -2
- wprp.api.php +33 -17
- wprp.plugins.php +64 -15
- wprp.themes.php +4 -0
plugin.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
/*
|
| 4 |
Plugin Name: WP Remote
|
| 5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>. Deactivate to clear your API Key.
|
| 6 |
-
Version: 2.
|
| 7 |
Author: Human Made Limited
|
| 8 |
Author URI: http://hmn.md/
|
| 9 |
*/
|
|
@@ -143,11 +143,15 @@ function wprp_catch_api_call() {
|
|
| 143 |
add_action( 'init', 'wprp_catch_api_call', 1 );
|
| 144 |
|
| 145 |
function _wprp_upgrade_core() {
|
| 146 |
-
|
| 147 |
include_once ( ABSPATH . 'wp-admin/includes/admin.php' );
|
| 148 |
include_once ( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
| 149 |
include_once ( ABSPATH . 'wp-includes/update.php' );
|
| 150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
// force refresh
|
| 152 |
wp_version_check();
|
| 153 |
|
|
@@ -170,7 +174,7 @@ function _wprp_upgrade_core() {
|
|
| 170 |
return $result;
|
| 171 |
|
| 172 |
global $wp_current_db_version, $wp_db_version;
|
| 173 |
-
|
| 174 |
// we have to include version.php so $wp_db_version
|
| 175 |
// will take the version of the updated version of wordpress
|
| 176 |
require( ABSPATH . WPINC . '/version.php' );
|
|
@@ -178,4 +182,34 @@ function _wprp_upgrade_core() {
|
|
| 178 |
wp_upgrade();
|
| 179 |
|
| 180 |
return true;
|
| 181 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
/*
|
| 4 |
Plugin Name: WP Remote
|
| 5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>. Deactivate to clear your API Key.
|
| 6 |
+
Version: 2.3
|
| 7 |
Author: Human Made Limited
|
| 8 |
Author URI: http://hmn.md/
|
| 9 |
*/
|
| 143 |
add_action( 'init', 'wprp_catch_api_call', 1 );
|
| 144 |
|
| 145 |
function _wprp_upgrade_core() {
|
| 146 |
+
|
| 147 |
include_once ( ABSPATH . 'wp-admin/includes/admin.php' );
|
| 148 |
include_once ( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
| 149 |
include_once ( ABSPATH . 'wp-includes/update.php' );
|
| 150 |
|
| 151 |
+
// check for filesystem access
|
| 152 |
+
if ( ! _wpr_check_filesystem_access() )
|
| 153 |
+
return array( 'status' => 'error', 'error' => 'The filesystem is not writable with the supplied credentials' );
|
| 154 |
+
|
| 155 |
// force refresh
|
| 156 |
wp_version_check();
|
| 157 |
|
| 174 |
return $result;
|
| 175 |
|
| 176 |
global $wp_current_db_version, $wp_db_version;
|
| 177 |
+
|
| 178 |
// we have to include version.php so $wp_db_version
|
| 179 |
// will take the version of the updated version of wordpress
|
| 180 |
require( ABSPATH . WPINC . '/version.php' );
|
| 182 |
wp_upgrade();
|
| 183 |
|
| 184 |
return true;
|
| 185 |
+
}
|
| 186 |
+
|
| 187 |
+
function _wpr_check_filesystem_access() {
|
| 188 |
+
|
| 189 |
+
ob_start();
|
| 190 |
+
$success = request_filesystem_credentials();
|
| 191 |
+
ob_end_clean();
|
| 192 |
+
|
| 193 |
+
return (bool) $success;
|
| 194 |
+
}
|
| 195 |
+
|
| 196 |
+
function _wpr_set_filesystem_credentials( $credentials ) {
|
| 197 |
+
|
| 198 |
+
if ( empty( $_GET['filesystem_details'] ) )
|
| 199 |
+
return $credentials;
|
| 200 |
+
|
| 201 |
+
$_credentials = array(
|
| 202 |
+
'username' => $_GET['filesystem_details']['credentials']['username'],
|
| 203 |
+
'password' => $_GET['filesystem_details']['credentials']['password'],
|
| 204 |
+
'hostname' => $_GET['filesystem_details']['credentials']['hostname'],
|
| 205 |
+
'connection_type' => $_GET['filesystem_details']['method']
|
| 206 |
+
);
|
| 207 |
+
|
| 208 |
+
// check whether the credentials can be used
|
| 209 |
+
if ( ! WP_Filesystem( $_credentials ) ) {
|
| 210 |
+
return $credentials;
|
| 211 |
+
}
|
| 212 |
+
|
| 213 |
+
return $_credentials;
|
| 214 |
+
}
|
| 215 |
+
add_filter( 'request_filesystem_credentials', '_wpr_set_filesystem_credentials' );
|
readme.txt
CHANGED
|
@@ -2,8 +2,8 @@
|
|
| 2 |
Contributors: humanmade, joehoyle, mattheu, tcrsavage, willmot
|
| 3 |
Tags: wpremote, remote administration, multiple wordpress
|
| 4 |
Requires at least: 2.9
|
| 5 |
-
Tested up to: 3.
|
| 6 |
-
Stable tag: 2.
|
| 7 |
|
| 8 |
WP Remote is a free web app that enables you to easily manage all of your WordPress powered sites from one place.
|
| 9 |
|
|
@@ -31,7 +31,13 @@ You can email us at support@wpremote.com for support.
|
|
| 31 |
|
| 32 |
== Changelog ==
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
#### 2.2.5
|
|
|
|
| 35 |
* Implemented API call for Core updates
|
| 36 |
|
| 37 |
#### 2.2.4
|
| 2 |
Contributors: humanmade, joehoyle, mattheu, tcrsavage, willmot
|
| 3 |
Tags: wpremote, remote administration, multiple wordpress
|
| 4 |
Requires at least: 2.9
|
| 5 |
+
Tested up to: 3.5
|
| 6 |
+
Stable tag: 2.3
|
| 7 |
|
| 8 |
WP Remote is a free web app that enables you to easily manage all of your WordPress powered sites from one place.
|
| 9 |
|
| 31 |
|
| 32 |
== Changelog ==
|
| 33 |
|
| 34 |
+
#### 2.3
|
| 35 |
+
|
| 36 |
+
* WP_Filesystem support for servers which don't allow PHP direct filesystem access.
|
| 37 |
+
* Support for monitoring and updating Gravity Forms.
|
| 38 |
+
|
| 39 |
#### 2.2.5
|
| 40 |
+
|
| 41 |
* Implemented API call for Core updates
|
| 42 |
|
| 43 |
#### 2.2.4
|
wprp.api.php
CHANGED
|
@@ -28,15 +28,30 @@ foreach( $actions as $action => $value ) {
|
|
| 28 |
case 'get_plugin_version' :
|
| 29 |
|
| 30 |
$actions[$action] = '1.1';
|
| 31 |
-
|
| 32 |
break;
|
| 33 |
-
|
| 34 |
case 'get_filesystem_method' :
|
| 35 |
|
| 36 |
$actions[$action] = get_filesystem_method();
|
| 37 |
-
|
| 38 |
break;
|
| 39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
case 'get_wp_version' :
|
| 41 |
|
| 42 |
global $wp_version;
|
|
@@ -62,13 +77,13 @@ foreach( $actions as $action => $value ) {
|
|
| 62 |
$actions[$action] = _wprp_upgrade_plugin( (string) $_GET['plugin'] );
|
| 63 |
|
| 64 |
break;
|
| 65 |
-
|
| 66 |
case 'activate_plugin' :
|
| 67 |
-
|
| 68 |
$actions[$action] = _wprp_activate_plugin( (string) $_GET['plugin'] );
|
| 69 |
-
|
| 70 |
break;
|
| 71 |
-
|
| 72 |
case 'get_themes' :
|
| 73 |
|
| 74 |
$actions[$action] = _wprp_supports_theme_upgrade() ? _wprp_get_themes() : 'not-implemented';
|
|
@@ -85,31 +100,32 @@ foreach( $actions as $action => $value ) {
|
|
| 85 |
case 'delete_backup' :
|
| 86 |
case 'supports_backups' :
|
| 87 |
case 'get_backup' :
|
| 88 |
-
|
| 89 |
$actions[$action] = _wprp_backups_api_call( $action );
|
| 90 |
|
| 91 |
break;
|
| 92 |
-
|
| 93 |
// get site info
|
| 94 |
case 'get_site_info' :
|
| 95 |
-
|
| 96 |
-
$actions[$action] = array(
|
| 97 |
-
'site_url' => get_site_url(),
|
| 98 |
-
'home_url' => get_home_url(),
|
| 99 |
'admin_url' => get_admin_url(),
|
| 100 |
-
'backups' => _wprp_get_backups_info()
|
| 101 |
);
|
| 102 |
-
|
| 103 |
break;
|
| 104 |
|
| 105 |
default :
|
| 106 |
|
| 107 |
$actions[$action] = 'not-implemented';
|
| 108 |
-
|
| 109 |
break;
|
| 110 |
|
| 111 |
}
|
| 112 |
|
| 113 |
}
|
|
|
|
| 114 |
echo json_encode( $actions );
|
| 115 |
exit;
|
| 28 |
case 'get_plugin_version' :
|
| 29 |
|
| 30 |
$actions[$action] = '1.1';
|
| 31 |
+
|
| 32 |
break;
|
| 33 |
+
|
| 34 |
case 'get_filesystem_method' :
|
| 35 |
|
| 36 |
$actions[$action] = get_filesystem_method();
|
| 37 |
+
|
| 38 |
break;
|
| 39 |
+
|
| 40 |
+
case 'get_supported_filesystem_methods' :
|
| 41 |
+
|
| 42 |
+
$actions[$action] = array();
|
| 43 |
+
|
| 44 |
+
if ( extension_loaded('ftp') || extension_loaded('sockets') || function_exists('fsockopen') )
|
| 45 |
+
$actions[$action][] = 'ftp';
|
| 46 |
+
|
| 47 |
+
if ( extension_loaded('ftp') )
|
| 48 |
+
$actions[$action][] = 'ftps';
|
| 49 |
+
|
| 50 |
+
if ( extension_loaded('ssh2') && function_exists('stream_get_contents') )
|
| 51 |
+
$actions[$action][] = 'ssh';
|
| 52 |
+
|
| 53 |
+
break;
|
| 54 |
+
|
| 55 |
case 'get_wp_version' :
|
| 56 |
|
| 57 |
global $wp_version;
|
| 77 |
$actions[$action] = _wprp_upgrade_plugin( (string) $_GET['plugin'] );
|
| 78 |
|
| 79 |
break;
|
| 80 |
+
|
| 81 |
case 'activate_plugin' :
|
| 82 |
+
|
| 83 |
$actions[$action] = _wprp_activate_plugin( (string) $_GET['plugin'] );
|
| 84 |
+
|
| 85 |
break;
|
| 86 |
+
|
| 87 |
case 'get_themes' :
|
| 88 |
|
| 89 |
$actions[$action] = _wprp_supports_theme_upgrade() ? _wprp_get_themes() : 'not-implemented';
|
| 100 |
case 'delete_backup' :
|
| 101 |
case 'supports_backups' :
|
| 102 |
case 'get_backup' :
|
| 103 |
+
|
| 104 |
$actions[$action] = _wprp_backups_api_call( $action );
|
| 105 |
|
| 106 |
break;
|
| 107 |
+
|
| 108 |
// get site info
|
| 109 |
case 'get_site_info' :
|
| 110 |
+
|
| 111 |
+
$actions[$action] = array(
|
| 112 |
+
'site_url' => get_site_url(),
|
| 113 |
+
'home_url' => get_home_url(),
|
| 114 |
'admin_url' => get_admin_url(),
|
| 115 |
+
'backups' => _wprp_get_backups_info()
|
| 116 |
);
|
| 117 |
+
|
| 118 |
break;
|
| 119 |
|
| 120 |
default :
|
| 121 |
|
| 122 |
$actions[$action] = 'not-implemented';
|
| 123 |
+
|
| 124 |
break;
|
| 125 |
|
| 126 |
}
|
| 127 |
|
| 128 |
}
|
| 129 |
+
|
| 130 |
echo json_encode( $actions );
|
| 131 |
exit;
|
wprp.plugins.php
CHANGED
|
@@ -9,19 +9,21 @@ function _wprp_get_plugins() {
|
|
| 9 |
|
| 10 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
| 11 |
|
|
|
|
|
|
|
| 12 |
// Get all plugins
|
| 13 |
$plugins = get_plugins();
|
| 14 |
|
| 15 |
// Get the list of active plugins
|
| 16 |
$active = get_option( 'active_plugins', array() );
|
| 17 |
-
|
| 18 |
// Delete the transient so wp_update_plugins can get fresh data
|
| 19 |
if ( function_exists( 'get_site_transient' ) )
|
| 20 |
delete_site_transient( 'update_plugins' );
|
| 21 |
-
|
| 22 |
else
|
| 23 |
delete_transient( 'update_plugins' );
|
| 24 |
-
|
| 25 |
// Force a plugin update check
|
| 26 |
wp_update_plugins();
|
| 27 |
|
|
@@ -38,7 +40,7 @@ function _wprp_get_plugins() {
|
|
| 38 |
|
| 39 |
foreach ( (array) $plugins as $plugin_file => $plugin ) {
|
| 40 |
|
| 41 |
-
|
| 42 |
|
| 43 |
if ( is_plugin_active( $plugin_file ) )
|
| 44 |
$plugins[$plugin_file]['active'] = true;
|
|
@@ -75,6 +77,12 @@ function _wprp_upgrade_plugin( $plugin ) {
|
|
| 75 |
if ( ! _wprp_supports_plugin_upgrade() )
|
| 76 |
return array( 'status' => 'error', 'error' => 'WordPress version too old for plugin upgrades' );
|
| 77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
$skin = new WPRP_Plugin_Upgrader_Skin();
|
| 79 |
$upgrader = new Plugin_Upgrader( $skin );
|
| 80 |
$is_active = is_plugin_active( $plugin );
|
|
@@ -99,7 +107,7 @@ function _wprp_upgrade_plugin( $plugin ) {
|
|
| 99 |
|
| 100 |
// If the plugin was activited, we have to re-activate it
|
| 101 |
if ( $is_active ) {
|
| 102 |
-
|
| 103 |
// we can not use the "normal" way or lazy activating, as thet requires wpremote to be activated
|
| 104 |
if ( strpos( $plugin, 'wpremote' ) !== false ) {
|
| 105 |
activate_plugin( $plugin, '', false, true );
|
|
@@ -107,28 +115,28 @@ function _wprp_upgrade_plugin( $plugin ) {
|
|
| 107 |
}
|
| 108 |
|
| 109 |
|
| 110 |
-
// we do a remote request to activate, as we don;t want to kill any installs
|
| 111 |
$url = add_query_arg( 'wpr_api_key', $_GET['wpr_api_key'], get_bloginfo( 'url' ) );
|
| 112 |
$url = add_query_arg( 'actions', 'activate_plugin', $url );
|
| 113 |
$url = add_query_arg( 'plugin', $plugin, $url );
|
| 114 |
-
|
| 115 |
$request = wp_remote_get( $url );
|
| 116 |
|
| 117 |
if ( is_wp_error( $request ) ) {
|
| 118 |
return array( 'status' => 'error', 'error' => $request->get_error_code() );
|
| 119 |
}
|
| 120 |
-
|
| 121 |
$body = wp_remote_retrieve_body( $request );
|
| 122 |
-
|
| 123 |
-
|
| 124 |
if ( ! $json = @json_decode( $body ) )
|
| 125 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate.' );
|
| 126 |
-
|
| 127 |
$json = $json->activate_plugin;
|
| 128 |
-
|
| 129 |
if ( empty( $json->status ) )
|
| 130 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate. The activation reuest returned no response' );
|
| 131 |
-
|
| 132 |
if ( $json->status != 'success' )
|
| 133 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate. The activation reuest returned response: ' . $json->status );
|
| 134 |
}
|
|
@@ -137,14 +145,14 @@ function _wprp_upgrade_plugin( $plugin ) {
|
|
| 137 |
}
|
| 138 |
|
| 139 |
function _wprp_activate_plugin( $plugin ) {
|
| 140 |
-
|
| 141 |
include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 142 |
|
| 143 |
$result = activate_plugin( $plugin );
|
| 144 |
|
| 145 |
if ( is_wp_error( $result ) )
|
| 146 |
return array( 'status' => 'error', 'error' => $result->get_error_code() );
|
| 147 |
-
|
| 148 |
return array( 'status' => 'success' );
|
| 149 |
}
|
| 150 |
|
|
@@ -161,4 +169,45 @@ function _wprp_supports_plugin_upgrade() {
|
|
| 161 |
|
| 162 |
return class_exists( 'Plugin_Upgrader' );
|
| 163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 164 |
}
|
| 9 |
|
| 10 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
| 11 |
|
| 12 |
+
_wpr_add_non_extend_plugin_support();
|
| 13 |
+
|
| 14 |
// Get all plugins
|
| 15 |
$plugins = get_plugins();
|
| 16 |
|
| 17 |
// Get the list of active plugins
|
| 18 |
$active = get_option( 'active_plugins', array() );
|
| 19 |
+
|
| 20 |
// Delete the transient so wp_update_plugins can get fresh data
|
| 21 |
if ( function_exists( 'get_site_transient' ) )
|
| 22 |
delete_site_transient( 'update_plugins' );
|
| 23 |
+
|
| 24 |
else
|
| 25 |
delete_transient( 'update_plugins' );
|
| 26 |
+
|
| 27 |
// Force a plugin update check
|
| 28 |
wp_update_plugins();
|
| 29 |
|
| 40 |
|
| 41 |
foreach ( (array) $plugins as $plugin_file => $plugin ) {
|
| 42 |
|
| 43 |
+
$new_version = isset( $current->response[$plugin_file] ) ? $current->response[$plugin_file]->new_version : null;
|
| 44 |
|
| 45 |
if ( is_plugin_active( $plugin_file ) )
|
| 46 |
$plugins[$plugin_file]['active'] = true;
|
| 77 |
if ( ! _wprp_supports_plugin_upgrade() )
|
| 78 |
return array( 'status' => 'error', 'error' => 'WordPress version too old for plugin upgrades' );
|
| 79 |
|
| 80 |
+
_wpr_add_non_extend_plugin_support();
|
| 81 |
+
|
| 82 |
+
// check for filesystem access
|
| 83 |
+
if ( ! _wpr_check_filesystem_access() )
|
| 84 |
+
return array( 'status' => 'error', 'error' => 'The filesystem is not writable with the supplied credentials' );
|
| 85 |
+
|
| 86 |
$skin = new WPRP_Plugin_Upgrader_Skin();
|
| 87 |
$upgrader = new Plugin_Upgrader( $skin );
|
| 88 |
$is_active = is_plugin_active( $plugin );
|
| 107 |
|
| 108 |
// If the plugin was activited, we have to re-activate it
|
| 109 |
if ( $is_active ) {
|
| 110 |
+
|
| 111 |
// we can not use the "normal" way or lazy activating, as thet requires wpremote to be activated
|
| 112 |
if ( strpos( $plugin, 'wpremote' ) !== false ) {
|
| 113 |
activate_plugin( $plugin, '', false, true );
|
| 115 |
}
|
| 116 |
|
| 117 |
|
| 118 |
+
// we do a remote request to activate, as we don;t want to kill any installs
|
| 119 |
$url = add_query_arg( 'wpr_api_key', $_GET['wpr_api_key'], get_bloginfo( 'url' ) );
|
| 120 |
$url = add_query_arg( 'actions', 'activate_plugin', $url );
|
| 121 |
$url = add_query_arg( 'plugin', $plugin, $url );
|
| 122 |
+
|
| 123 |
$request = wp_remote_get( $url );
|
| 124 |
|
| 125 |
if ( is_wp_error( $request ) ) {
|
| 126 |
return array( 'status' => 'error', 'error' => $request->get_error_code() );
|
| 127 |
}
|
| 128 |
+
|
| 129 |
$body = wp_remote_retrieve_body( $request );
|
| 130 |
+
|
| 131 |
+
|
| 132 |
if ( ! $json = @json_decode( $body ) )
|
| 133 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate.' );
|
| 134 |
+
|
| 135 |
$json = $json->activate_plugin;
|
| 136 |
+
|
| 137 |
if ( empty( $json->status ) )
|
| 138 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate. The activation reuest returned no response' );
|
| 139 |
+
|
| 140 |
if ( $json->status != 'success' )
|
| 141 |
return array( 'status' => 'error', 'error' => 'The plugin was updated, but failed to re-activate. The activation reuest returned response: ' . $json->status );
|
| 142 |
}
|
| 145 |
}
|
| 146 |
|
| 147 |
function _wprp_activate_plugin( $plugin ) {
|
| 148 |
+
|
| 149 |
include_once ABSPATH . 'wp-admin/includes/plugin.php';
|
| 150 |
|
| 151 |
$result = activate_plugin( $plugin );
|
| 152 |
|
| 153 |
if ( is_wp_error( $result ) )
|
| 154 |
return array( 'status' => 'error', 'error' => $result->get_error_code() );
|
| 155 |
+
|
| 156 |
return array( 'status' => 'success' );
|
| 157 |
}
|
| 158 |
|
| 169 |
|
| 170 |
return class_exists( 'Plugin_Upgrader' );
|
| 171 |
|
| 172 |
+
}
|
| 173 |
+
|
| 174 |
+
function _wpr_add_non_extend_plugin_support() {
|
| 175 |
+
|
| 176 |
+
add_filter( 'pre_set_site_transient_update_plugins', function( $value ) {
|
| 177 |
+
|
| 178 |
+
foreach( $non_extend_list = _wprp_get_non_extend_plugins_data() as $key => $anon_function ) {
|
| 179 |
+
|
| 180 |
+
if ( ( $returned = $non_extend_list[$key]() ) )
|
| 181 |
+
$value->response[$returned->plugin_location] = $returned;
|
| 182 |
+
}
|
| 183 |
+
|
| 184 |
+
return $value;
|
| 185 |
+
|
| 186 |
+
} );
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
function _wprp_get_non_extend_plugins_data() {
|
| 190 |
+
|
| 191 |
+
return array(
|
| 192 |
+
'gravity_forms' => function() {
|
| 193 |
+
|
| 194 |
+
if ( ! class_exists('GFCommon') || ! method_exists( 'GFCommon', 'get_version_info' ) || ! method_exists( 'RGForms', 'premium_update_push' ) )
|
| 195 |
+
return false;
|
| 196 |
+
|
| 197 |
+
$version_data = GFCommon::get_version_info();
|
| 198 |
+
$plugin_data = reset( RGForms::premium_update_push( array() ) );
|
| 199 |
+
|
| 200 |
+
if ( empty( $version_data['url'] ) || empty( $version_data['is_valid_key'] ) || empty( $plugin_data['new_version'] ) || empty( $plugin_data['PluginURI'] ) || empty( $plugin_data['slug'] ) )
|
| 201 |
+
return false;
|
| 202 |
+
|
| 203 |
+
return (object) array(
|
| 204 |
+
'plugin_location' => $plugin_data['slug'], //Not in standard structure but don't forget to include it!
|
| 205 |
+
'id' => 999999999,
|
| 206 |
+
'slug' => 'gravityforms',
|
| 207 |
+
'url' => $plugin_data['PluginURI'],
|
| 208 |
+
'package' => $version_data['url'],
|
| 209 |
+
'new_version' => $version_data['version']
|
| 210 |
+
);
|
| 211 |
+
}
|
| 212 |
+
);
|
| 213 |
}
|
wprp.themes.php
CHANGED
|
@@ -92,6 +92,10 @@ function _wprp_upgrade_theme( $theme ) {
|
|
| 92 |
if ( ! _wprp_supports_theme_upgrade() )
|
| 93 |
return array( 'status' => 'error', 'error' => 'WordPress version too old for theme upgrades' );
|
| 94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
$skin = new WPRP_Theme_Upgrader_Skin();
|
| 96 |
$upgrader = new Theme_Upgrader( $skin );
|
| 97 |
|
| 92 |
if ( ! _wprp_supports_theme_upgrade() )
|
| 93 |
return array( 'status' => 'error', 'error' => 'WordPress version too old for theme upgrades' );
|
| 94 |
|
| 95 |
+
// check for filesystem access
|
| 96 |
+
if ( ! _wpr_check_filesystem_access() )
|
| 97 |
+
return array( 'status' => 'error', 'error' => 'The filesystem is not writable with the supplied credentials' );
|
| 98 |
+
|
| 99 |
$skin = new WPRP_Theme_Upgrader_Skin();
|
| 100 |
$upgrader = new Theme_Upgrader( $skin );
|
| 101 |
|
