public function action() { if (!$this->is_backwpup_installed) { MainWPHelper::write(array('error' => __('Please install BackWPup plugin on child website', $this->plugin_translate))); return; } error_reporting(0); function mainwp_backwpup_handle_fatal_error() { $error = error_get_last(); if (isset($error['type']) && $error['type'] == E_ERROR && isset($error['message'])) { die('<mainwp>' . base64_encode(serialize(array('error' => 'MainWPChild fatal error : ' . $error['message'] . ' Line: ' . $error['line'] . ' File: ' . $error['file']))) . '</mainwp>'); } else { if (!empty(MainWPChildBackWPup::$information)) { die('<mainwp>' . base64_encode(serialize(MainWPChildBackWPup::$information)) . '</mainwp>'); } else { die('<mainwp>' . base64_encode(array('error' => 'Missing information array inside fatal_error')) . '</mainwp>'); } } } register_shutdown_function("mainwp_backwpup_handle_fatal_error"); $information = array(); if (!isset($_POST['action'])) { $information = array('error' => __('Missing action.', $this->plugin_translate)); } else { switch ($_POST['action']) { case 'backwpup_update_settings': $information = $this->update_settings(); break; case 'backwpup_insert_or_update_jobs': $information = $this->insert_or_update_jobs(); break; case 'backwpup_insert_or_update_jobs_global': $information = $this->insert_or_update_jobs_global(); break; case 'backwpup_get_child_tables': $information = $this->get_child_tables(); break; case 'backwpup_get_job_files': $information = $this->get_job_files(); break; case 'backwpup_destination_email_check_email': $information = $this->destination_email_check_email(); break; case 'backwpup_backup_now': $information = $this->backup_now(); break; case 'backwpup_ajax_working': $information = $this->ajax_working(); break; case 'backwpup_backup_abort': $information = $this->backup_abort(); break; case 'backwpup_tables': $information = $this->tables(); break; case 'backwpup_view_log': $information = $this->view_log(); break; case 'backwpup_delete_log': $information = $this->delete_log(); break; case 'backwpup_delete_job': $information = $this->delete_job(); break; case 'backwpup_delete_backup': $information = $this->delete_backup(); break; case 'backwpup_information': $information = $this->information(); break; case 'backwpup_wizard_system_scan': $information = $this->wizard_system_scan(); break; case 'backwpup_is_pro': $information = array('is_pro' => $this->is_backwpup_pro); break; case 'backwpup_show_hide': $information = $this->show_hide(); break; default: $information = array('error' => __('Wrong action.', $this->plugin_translate)); } } MainWPChildBackWPup::$information = $information; exit; }