bool, 'checked_at' => int ). */ public const BACK_IN_STOCK = 'mowl_back_in_stock'; /** B1: a pénztári/Fiókom-hozzájárulás double opt-inja, 'yes'|'no' (a spec szerinti név). */ public const CONSENT_DOUBLE_OPT_IN = 'mowl_consent_double_opt_in'; /** Minden option, amit az uninstall töröl. */ public const ALL = array( self::CONNECTION, self::FORM, self::LOG, self::FLAGS, self::WOOCOMMERCE, self::KNOWN_TAGS, self::IMPORT, self::RECONCILE, self::CONSENT_DOUBLE_OPT_IN, self::BACK_IN_STOCK ); /** * @param mixed $default * @return mixed */ public static function get( string $name, $default = null ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.defaultFound -- a get_option()-interfész elnevezése kötelező a terv szerint. return get_option( $name, $default ); } /** Tömb-értékű opció: minden nem-tömb (hiányzó, sérült) érték üres tömb. */ public static function get_array( string $name ): array { $value = get_option( $name, array() ); return is_array( $value ) ? $value : array(); } /** * @param mixed $value * @param bool $autoload Alapból false: a token és a napló ne töltődjön * minden oldalletöltésnél. A minden kérésen olvasott * beállítás (pl. WOOCOMMERCE) kéri true-val. */ public static function set( string $name, $value, bool $autoload = false ): void { if ( false === get_option( $name, false ) ) { add_option( $name, $value, '', $autoload ); return; } update_option( $name, $value, $autoload ); } /** A FLAGS opció tömbje. */ public static function flags(): array { return self::get_array( self::FLAGS ); } /** @param mixed $value */ public static function flag( string $key, $value ): void { $flags = self::flags(); $flags[ $key ] = $value; self::set( self::FLAGS, $flags ); } public static function unflag( string $key ): void { $flags = self::flags(); if ( ! array_key_exists( $key, $flags ) ) { return; } unset( $flags[ $key ] ); self::set( self::FLAGS, $flags ); } public static function delete( string $name ): void { delete_option( $name ); } }