Changeset 31333 for trunk/src/wp-admin/includes/ajax-actions.php
- Timestamp:
- 02/05/2015 04:18:57 AM (11 years ago)
- File:
-
- 1 edited
-
trunk/src/wp-admin/includes/ajax-actions.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/ajax-actions.php
r31313 r31333 2829 2829 wp_send_json_success( array( 'message' => $message ) ); 2830 2830 } 2831 2832 /** 2833 * AJAX handler for installing a plugin. 2834 * 2835 * @since 4.2.0 2836 */ 2837 function wp_ajax_install_plugin() { 2838 check_ajax_referer( 'updates' ); 2839 2840 include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); 2841 include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); 2842 2843 $status = array( 2844 'install' => 'plugin', 2845 'slug' => sanitize_key( $_POST['slug'] ), 2846 ); 2847 2848 $api = plugins_api( 'plugin_information', array( 2849 'slug' => sanitize_key( $_POST['slug'] ), 2850 'fields' => array( 'sections' => false ) 2851 ) ); 2852 2853 if ( is_wp_error( $api ) ) { 2854 $status['error'] = $api->get_error_message(); 2855 wp_send_json_error( $status ); 2856 } 2857 2858 $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); 2859 $result = $upgrader->install( $api->download_link ); 2860 2861 if ( is_wp_error( $result ) ) { 2862 $status['error'] = $result->get_error_message(); 2863 wp_send_json_error( $status ); 2864 } 2865 2866 $plugin_status = install_plugin_install_status( array( 'slug' => sanitize_key( $_POST['slug'] ) ) ); 2867 activate_plugin( $plugin_status['file'] ); 2868 2869 wp_send_json_success( $status ); 2870 } 2871 2872 /** 2873 * AJAX handler for updating a plugin. 2874 * 2875 * @since 4.2.0 2876 */ 2877 function wp_ajax_update_plugin() { 2878 check_ajax_referer( 'updates' ); 2879 2880 include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); 2881 2882 $plugin = urldecode( $_POST['plugin'] ); 2883 2884 $status = array( 2885 'update' => 'plugin', 2886 'plugin' => $plugin, 2887 'slug' => sanitize_key( $_POST['slug'] ), 2888 ); 2889 2890 $current = get_site_transient( 'update_plugins' ); 2891 if ( empty( $current ) ) { 2892 wp_update_plugins(); 2893 } 2894 2895 $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() ); 2896 $result = $upgrader->bulk_upgrade( array( $plugin ) ); 2897 2898 if ( is_array( $result ) ) { 2899 $result = $result[ $plugin ]; 2900 } 2901 2902 if ( is_wp_error( $result ) ) { 2903 $status['error'] = $result->get_error_message(); 2904 wp_send_json_error( $status ); 2905 } 2906 2907 wp_send_json_success( $status ); 2908 }
Note: See TracChangeset
for help on using the changeset viewer.