first commit
This commit is contained in:
@@ -0,0 +1,167 @@
|
||||
var oe_installer = oe_installer || {};
|
||||
|
||||
jQuery( document ).ready( function( $ ) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var is_loading = false;
|
||||
|
||||
/**
|
||||
* Install the plugin
|
||||
*/
|
||||
oe_installer.install_plugin = function( el, plugin ) {
|
||||
|
||||
// Confirm activation
|
||||
var r = confirm( oe_installer_localize.install_now );
|
||||
|
||||
if ( r ) {
|
||||
|
||||
is_loading = true;
|
||||
el.addClass( 'installing' );
|
||||
|
||||
$.ajax( {
|
||||
type : 'POST',
|
||||
url : oe_installer_localize.ajax_url,
|
||||
data : {
|
||||
action : 'oe_plugin_installer',
|
||||
plugin : plugin,
|
||||
nonce : oe_installer_localize.admin_nonce,
|
||||
dataType : 'json'
|
||||
},
|
||||
|
||||
success: function( data ) {
|
||||
if ( data ){
|
||||
if ( data.status === 'success' ) {
|
||||
el.attr( 'class', 'activate button button-primary' );
|
||||
el.html( oe_installer_localize.activate_btn );
|
||||
} else {
|
||||
el.removeClass( 'installing' );
|
||||
}
|
||||
} else {
|
||||
el.removeClass( 'installing' );
|
||||
}
|
||||
is_loading = false;
|
||||
},
|
||||
|
||||
error: function( xhr, status, error ) {
|
||||
console.log( status );
|
||||
el.removeClass( 'installing' );
|
||||
is_loading = false;
|
||||
}
|
||||
} );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Activate the plugin
|
||||
*/
|
||||
oe_installer.activate_plugin = function( el, plugin ) {
|
||||
|
||||
$.ajax( {
|
||||
type : 'POST',
|
||||
url : oe_installer_localize.ajax_url,
|
||||
data : {
|
||||
action : 'oe_plugin_activation',
|
||||
plugin : plugin,
|
||||
nonce : oe_installer_localize.admin_nonce,
|
||||
dataType : 'json'
|
||||
},
|
||||
|
||||
success: function( data ) {
|
||||
if ( data ) {
|
||||
if ( data.status === 'success' ) {
|
||||
el.attr( 'class', 'installed button disabled' );
|
||||
el.html( oe_installer_localize.installed_btn );
|
||||
}
|
||||
}
|
||||
is_loading = false;
|
||||
},
|
||||
|
||||
error: function( xhr, status, error ) {
|
||||
console.log( status );
|
||||
is_loading = false;
|
||||
}
|
||||
} );
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Activate the premium lugin
|
||||
*/
|
||||
oe_installer.activate_premium_plugin = function( el, plugin ) {
|
||||
|
||||
$.ajax( {
|
||||
type : 'POST',
|
||||
url : oe_installer_localize.ajax_url,
|
||||
data : {
|
||||
action : 'oe_premium_plugin_activation',
|
||||
plugin : plugin,
|
||||
nonce : oe_installer_localize.admin_nonce,
|
||||
dataType : 'json'
|
||||
},
|
||||
|
||||
success: function( data ) {
|
||||
if ( data ) {
|
||||
if ( data.status === 'success' ) {
|
||||
el.attr( 'class', 'installed button disabled' );
|
||||
el.html( oe_installer_localize.installed_btn );
|
||||
}
|
||||
}
|
||||
is_loading = false;
|
||||
},
|
||||
|
||||
error: function( xhr, status, error ) {
|
||||
console.log( status );
|
||||
is_loading = false;
|
||||
}
|
||||
} );
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* Install/Activate Button Click
|
||||
*/
|
||||
$( document ).on( 'click', '.oe-plugin-installer a.button:not(.premium-link)', function( e ) {
|
||||
var el = $( this ),
|
||||
plugin = el.data( 'slug' );
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
if ( ! el.hasClass( 'disabled' ) ) {
|
||||
|
||||
if ( is_loading ) return false;
|
||||
|
||||
// Installation
|
||||
if ( el.hasClass( 'install' ) ) {
|
||||
oe_installer.install_plugin( el, plugin );
|
||||
}
|
||||
|
||||
// Activation
|
||||
if ( el.hasClass( 'activate' ) ) {
|
||||
oe_installer.activate_plugin( el, plugin );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
/**
|
||||
* Activate Premium Extension
|
||||
*/
|
||||
$( document ).on( 'click', '.oe-plugin-installer a.button.premium-activation', function( e ) {
|
||||
var el = $( this ),
|
||||
plugin = el.data( 'slug' );
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
if ( ! el.hasClass( 'disabled' ) ) {
|
||||
|
||||
if ( is_loading ) return false;
|
||||
|
||||
// Activation
|
||||
if ( el.hasClass( 'activate' ) ) {
|
||||
oe_installer.activate_premium_plugin( el, plugin );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user