| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/ninja-forms/client/dashboard/controllers/ |
Upload File : |
define([ 'models/serviceCollection' ], function( ServiceCollection ) {
var controller = Marionette.Object.extend( {
initialize: function() {
this.services = new ServiceCollection();
nfRadio.channel( 'dashboard' ).reply( 'install:service', this.installService, this );
nfRadio.channel( 'dashboard' ).reply( 'get:services', this.getServices, this );
this.fetchServices();
},
getServices: function() {
return this.services;
},
/*
* Fetch services, with an optional callback function.
*/
fetchServices: function( callback ) {
this.services.fetch({
success: function( model ){
if( callback ) callback( model );
nfRadio.channel( 'dashboard' ).trigger( 'fetch:services' );
}
});
},
/*
* Request the remote install of the service's corresponding plugin.
*/
installService: function( serviceModel ) {
var that = this;
if ( ! ( serviceModel instanceof Backbone.Model ) ) {
var serviceModel = this.services.find( function( model ) {
return serviceModel == model.get( 'slug' );
});
}
serviceModel.set( 'is_installing', true );
var slug = serviceModel.get( 'slug' );
var installPath = serviceModel.get( 'installPath' );
// Request to Install the service plugin.
jQuery.post( ajaxurl, { action: 'nf_services_install', plugin: slug, install_path: installPath }, function( response ){
that.fetchServices(function(){
nfRadio.channel( 'dashboard' ).request( 'install:service:' + slug );
});
} );
}
});
return controller;
} );