芝麻web文件管理V1.00
编辑当前文件:/home/ezdajrnh/www/wp-content/plugins/better-wp-security/core/modules/feature-flags/settings.php
$config ) { list( $reason_code ) = \ITSEC_Lib_Feature_Flags::get_reason( $flag ); $one = [ 'enum' => [ $flag ], 'title' => $config['title'], 'description' => $this->prepare_flag_description( $flag ) ]; $schema['properties']['enabled']['items']['oneOf'][] = $one; if ( $reason_code === 'constant' ) { $schema['uiSchema']['enabled']['ui:enumDisabled'][] = $flag; } } return $schema; } private function prepare_flag_description( $flag ) { $config = \ITSEC_Lib_Feature_Flags::get_flag_config( $flag ); list( $reason_code, $reason ) = \ITSEC_Lib_Feature_Flags::get_reason( $flag ); $description = $config['description']; if ( $description ) { $description .= '
'; } if ( $reason_code === 'setting' ) { return $description; } $description .= '
'; if ( in_array( $flag, $this->settings['enabled'], true ) ) { $description .= sprintf( __( 'Enabled reason: %s' ), $reason ); } else { $description .= sprintf( __( 'Disabled reason: %s' ), $reason ); } $description .= '
'; return $description; } public function prepare_for_rest() { $settings = parent::prepare_for_rest(); $settings['enabled'] = []; foreach ( \ITSEC_Lib_Feature_Flags::get_available_flags() as $flag => $config ) { if ( \ITSEC_Lib_Feature_Flags::is_enabled( $flag ) ) { $settings['enabled'][] = $flag; } } return $settings; } public function prepare_from_rest( $settings ) { foreach ( $settings['enabled'] ?? [] as $i => $flag ) { $is_enabled = \ITSEC_Lib_Feature_Flags::is_enabled( $flag ); if ( $is_enabled && ! in_array( $flag, $this->settings['enabled'], true ) ) { unset( $settings['enabled'][ $i ] ); } } foreach ( \ITSEC_Lib_Feature_Flags::get_available_flags() as $flag => $config ) { if ( \ITSEC_Lib_Feature_Flags::is_enabled( $flag ) && ! in_array( $flag, $this->settings['enabled'], true ) && ! in_array( $flag, $settings['enabled'], true ) ) { $settings['opt_outs'][] = $flag; } } return $settings; } } \ITSEC_Modules::register_settings( new Settings( \ITSEC_Modules::get_config( 'feature-flags' ) ) );