= self::HIGH_BYTES ) { return 'high'; } return $size >= self::MEDIUM_BYTES ? 'medium' : 'low'; } /** * Vermutet das Plugin hinter einer Option anhand ihres Namens. Eine * Vermutung, nie Grundlage einer automatischen Aktion: Der Name beginnt mit * dem Slug des Plugins (Bindestriche als Unterstriche) oder, bei "wp-"-Slugs, * mit dem Rest danach. Bei mehreren Treffern gewinnt der laengste. * * @param string $name Optionsname. * @param string[] $slugs Plugin-Slugs (Ordnername, bei Einzeldateien ohne ".php"). * @return string|null Slug oder null, wenn nichts passt. */ public static function guess_owner( $name, array $slugs ) { $lower = strtolower( (string) $name ); $best = null; $len = 0; foreach ( $slugs as $slug ) { $base = str_replace( '-', '_', strtolower( (string) $slug ) ); $variants = array( $base ); if ( 0 === strpos( $base, 'wp_' ) ) { $variants[] = substr( $base, 3 ); } foreach ( $variants as $variant ) { if ( strlen( $variant ) < self::MIN_PREFIX_LENGTH ) { continue; } if ( ( $lower === $variant || 0 === strpos( $lower, $variant . '_' ) ) && strlen( $variant ) > $len ) { $best = $slug; $len = strlen( $variant ); } } } return $best; } }