Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/wpforms-lite/src/Admin/Education/ |
Upload File : |
<?php namespace WPForms\Admin\Education; /** * Base class for all "addons list" type Education features. * * @since 1.6.6 */ abstract class AddonsListBase extends AddonsItemBase { /** * Display addons. * * @since 1.6.6 */ public function display_addons() { array_map( [ $this, 'display_single_addon' ], (array) $this->get_addons() ); } /** * Get addons. * * @since 1.6.6 * * @return array Addons array. */ abstract protected function get_addons(); /** * Ensure that we do not display activated addon items if those addons are not allowed according to the current license. * * @since 1.6.6 * * @param string $hook Hook name. */ protected function filter_not_allowed_addons( $hook ) { $edu_addons = wp_list_pluck( $this->get_addons(), 'slug' ); foreach ( $edu_addons as $i => $addon ) { $edu_addons[ $i ] = strtolower( preg_replace( '/[^a-zA-Z0-9]+/', '', $addon ) ); } if ( empty( $GLOBALS['wp_filter'][ $hook ]->callbacks ) ) { return; } foreach ( $GLOBALS['wp_filter'][ $hook ]->callbacks as $priority => $hooks ) { foreach ( $hooks as $name => $arr ) { $class = ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) ? strtolower( get_class( $arr['function'][0] ) ) : ''; $class = explode( '\\', $class )[0]; $class = preg_replace( '/[^a-zA-Z0-9]+/', '', $class ); if ( in_array( $class, $edu_addons, true ) ) { unset( $GLOBALS['wp_filter'][ $hook ]->callbacks[ $priority ][ $name ] ); } } } } }