*/ public function get_next_run() { if ( false === $this->is_pro ) { return esc_html__( 'Never', 'wpdef' ); } $modules = $this->get_active_pro_reports_as_objects(); $next_run = null; foreach ( $modules as $module ) { if ( \WP_Defender\Model\Notification::STATUS_ACTIVE !== $module->status ) { continue; } if ( is_null( $next_run ) ) { $next_run = $module; } elseif ( $module->est_timestamp < $next_run->est_timestamp ) { $next_run = $module; } } if ( is_null( $next_run ) ) { return esc_html__( 'Never', 'wpdef' ); } return $next_run->get_next_run_as_string(); } /** * Get inactive modules. * * @return array * @since 2.7.0 Malware Scanning - Reporting may be inactive. */ public function get_inactive_modules(): array { if ( false === $this->is_pro ) { return array(); } $modules = array(); if ( false === wd_di()->get( \WP_Defender\Model\Setting\Scan::class )->scheduled_scanning ) { $module = wd_di()->get( Malware_Report::class )->export(); $module['link'] = network_admin_url( 'admin.php?page=wdf-scan&view=settings&enable=scheduled_scanning#setting_scheduled_scanning' ); $modules[] = $module; } if ( false === wd_di()->get( Audit_Logging::class )->is_active() ) { $module = wd_di()->get( Audit_Report::class )->export(); $module['link'] = network_admin_url( 'admin.php?page=wdf-logging&view=logs' ); $modules[] = $module; } return $modules; } /** * Get active modules of Pro reports as array of arrays. * * @return array */ public function get_active_pro_reports(): array { $modules = array(); // Malware_Report. if ( true === wd_di()->get( \WP_Defender\Model\Setting\Scan::class )->scheduled_scanning ) { $modules[] = wd_di()->get( Malware_Report::class )->export(); } // Firewall_Report. $modules[] = wd_di()->get( Firewall_Report::class )->export(); // Audit_Report. if ( true === wd_di()->get( Audit_Logging::class )->is_active() ) { $modules[] = wd_di()->get( Audit_Report::class )->export(); } return $modules; } /** * Get active modules of Pro reports as array of objects. * * @return array */ public function get_active_pro_reports_as_objects(): array { $modules = array(); // Malware_Report. if ( true === wd_di()->get( \WP_Defender\Model\Setting\Scan::class )->scheduled_scanning ) { $modules[] = wd_di()->get( Malware_Report::class ); } // Firewall_Report. $modules[] = wd_di()->get( Firewall_Report::class ); // Audit_Report. if ( true === wd_di()->get( Audit_Logging::class )->is_active() ) { $modules[] = wd_di()->get( Audit_Report::class ); } return $modules; } /** * Counts the number of active modules. * * @return int Number of active modules. */ public function count_active(): int { $count = 0; foreach ( $this->get_modules() as $module ) { if ( \WP_Defender\Model\Notification::STATUS_ACTIVE === $module['status'] ) { ++$count; } } return $count; } /** * Dispatches reports if conditions are met. */ public function maybe_dispatch_report() { $modules = array( wd_di()->get( Tweak_Reminder::class ) ); if ( true === $this->is_pro ) { $modules = array_merge( $modules, $this->get_active_pro_reports_as_objects() ); } foreach ( $modules as $module ) { if ( $module->maybe_send() ) { $module->send(); } } } /** * Get available user roles with user count. * * @return array Return user roles with user count. */ public function get_user_roles(): array { $user_roles = count_users(); if ( isset( $user_roles['avail_roles'] ) ) { foreach ( $user_roles['avail_roles'] as $key => $value ) { if ( 0 === $value ) { unset( $user_roles['avail_roles'][ $key ] ); } } } return $user_roles; } }
Fatal error: Uncaught WPMU_DEV\Defender\Vendor\DI\NotFoundException: No entry or class found for 'WP_Defender\Component\Notification' in /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/lib/packages/DI/Container.php:136 Stack trace: #0 /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/src/controller/class-notification.php(70): WPMU_DEV\Defender\Vendor\DI\Container->get('WP_Defender\\Com...') #1 /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/lib/packages/DI/Definition/Resolver/ObjectCreator.php(143): WP_Defender\Controller\Notification->__construct() #2 /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/lib/packages/DI/Definition/Resolver/ObjectCreator.php(71): WPMU_DEV\Defender\Vendor\DI\Definition\Resolver\ObjectCreator->createInstance(Object(WPMU_DEV\Defender\Vendor\DI\Definition\ObjectDefinition), Array) #3 /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/lib/packages/DI/Definition/Resolver/ResolverDispatcher.php(71): WPMU_DEV in /var/www/html/gtisolution.com.br/web/wp-content/plugins/wp-defender/lib/packages/DI/Definition/Resolver/ObjectCreator.php on line 147