Plugin Directory

Changeset 3427171


Ignore:
Timestamp:
12/25/2025 08:57:26 AM (3 months ago)
Author:
Tarosky
Message:

Update to version 1.2.0 from GitHub

Location:
for-your-eyes-only
Files:
106 added
10 deleted
46 edited
1 copied

Legend:

Unmodified
Added
Removed
  • for-your-eyes-only/tags/1.2.0/.eslintrc

    r3166983 r3427171  
    77        "wp": true,
    88        "jQuery": true,
    9         "CookieTasting": false
     9        "CookieTasting": "readonly",
     10        "FyeoBlockVars": "readonly",
     11        "FyeoBlockRenderer": "readonly"
    1012    },
    1113    "extends": [ "plugin:@wordpress/eslint-plugin/recommended-with-formatting" ],
    1214    "rules": {
    1315        "@wordpress/i18n-translator-comments": "off",
    14         "jsdoc/check-tag-names": "off"
     16        "jsdoc/check-tag-names": "off",
     17        "import/no-unresolved": [ "error", { "ignore": [ "^@wordpress/" ] } ]
    1518    }
    1619}
  • for-your-eyes-only/tags/1.2.0/.wp-env.json

    r3166983 r3427171  
    22    "plugins": [
    33        ".",
    4         "https://downloads.wordpress.org/plugin/query-monitor.latest-stable.zip"
     4        "https://downloads.wordpress.org/plugin/query-monitor.latest-stable.zip",
     5        "https://downloads.wordpress.org/plugin/plugin-check.latest-stable.zip"
    56    ],
    67    "themes": [
  • for-your-eyes-only/tags/1.2.0/app/Hametuha/ForYourEyesOnly.php

    r3167201 r3427171  
    2828     */
    2929    public function register_assets() {
    30         $locale = get_locale();
    31         $json   = $this->dir . '/wp-dependencies.json';
    32         if ( ! file_exists( $json ) ) {
    33             return;
    34         }
    35         $deps = json_decode( file_get_contents( $json ), true );
    36         if ( ! $deps ) {
    37             return;
    38         }
    39         foreach ( $deps as $dep ) {
    40             if ( empty( $dep['handle'] ) ) {
    41                 continue;
    42             }
    43             $url = $this->url . '/' . $dep['path'];
    44             switch ( $dep['ext'] ) {
    45                 case 'js':
    46                     wp_register_script( $dep['handle'], $url, $dep['deps'], $dep['hash'], [
    47                         'in_footer' => $dep['footer'],
    48                         'strategy'  => 'defer',
    49                     ] );
    50                     if ( in_array( 'wp-i18n', $dep['deps'], true ) ) {
    51                         wp_set_script_translations( $dep['handle'], 'fyeo', $this->dir . '/languages' );
     30        // Register theme CSS from wp-dependencies.json.
     31        $json = $this->dir . '/wp-dependencies.json';
     32        if ( file_exists( $json ) ) {
     33            $deps = json_decode( file_get_contents( $json ), true );
     34            if ( $deps ) {
     35                foreach ( $deps as $dep ) {
     36                    if ( empty( $dep['handle'] ) ) {
     37                        continue;
    5238                    }
    53                     break;
    54                 case 'css':
    55                     wp_register_style( $dep['handle'], $url, $dep['deps'], $dep['hash'], 'screen' );
    56                     break;
     39                    $url = $this->url . '/' . $dep['path'];
     40                    switch ( $dep['ext'] ) {
     41                        case 'css':
     42                            wp_register_style( $dep['handle'], $url, $dep['deps'], $dep['hash'], 'screen' );
     43                            break;
     44                    }
     45                }
    5746            }
    5847        }
    59         wp_localize_script( 'fyeo-block', 'FyeoBlockVars', [
    60             'capabilities' => $this->capability->capabilities_list(),
    61             'default'      => $this->capability->default_capability(),
    62             'dynamic'      => apply_filters( 'fyeo_default_render_style', '' ),
    63             'placeholder'  => $this->parser->tag_line(),
    64         ] );
    65         wp_localize_script( 'fyeo-block-renderer', 'FyeoBlockRenderer', [
    66             'cookieTasting' => $this->cookie_tasting_exists(),
    67         ] );
    6848    }
    6949
     
    7555            return;
    7656        }
    77         $view_styles = [];
     57
     58        // Register block from block.json.
     59        $block = register_block_type( $this->dir . '/build/blocks/restricted-block' );
     60
     61        // Add localized script data to editor script.
     62        if ( $block && ! empty( $block->editor_script_handles ) ) {
     63            $handle = $block->editor_script_handles[0];
     64            wp_localize_script( $handle, 'FyeoBlockVars', [
     65                'capabilities' => $this->capability->capabilities_list(),
     66                'default'      => $this->capability->default_capability(),
     67                'dynamic'      => apply_filters( 'fyeo_default_render_style', '' ),
     68                'placeholder'  => $this->parser->tag_line(),
     69            ] );
     70            wp_set_script_translations( $handle, 'fyeo', $this->dir . '/languages' );
     71        }
     72
     73        // Add localized script data to view script.
     74        if ( $block && ! empty( $block->view_script_handles ) ) {
     75            $handle = $block->view_script_handles[0];
     76            wp_localize_script( $handle, 'FyeoBlockRenderer', [
     77                'cookieTasting' => $this->cookie_tasting_exists(),
     78            ] );
     79        }
     80
     81        // Enqueue theme style if enabled.
    7882        if ( apply_filters( 'fyeo_enqueue_style', true ) ) {
    79             $view_styles[] = 'fyeo-theme';
     83            add_action( 'wp_enqueue_scripts', function () {
     84                if ( has_block( 'fyeo/block' ) ) {
     85                    wp_enqueue_style( 'fyeo-theme' );
     86                }
     87            } );
    8088        }
    81         register_block_type( 'fyeo/block', [
    82             'editor_script_handles' => [ 'fyeo-block' ],
    83             'view_script_handles'   => [ 'fyeo-block-renderer' ],
    84             'editor_style_handles'  => [ 'fyeo-block' ],
    85             'view_style_handles'    => $view_styles,
    86             'render_callback'       => [ $this->parser, 'render' ],
    87         ] );
    8889    }
    8990}
  • for-your-eyes-only/tags/1.2.0/app/Hametuha/ForYourEyesOnly/Parser.php

    r3167221 r3427171  
    6767        // If flag is on, returns full content.
    6868        if ( $this->skip_flag ) {
    69             return sprintf( "<div class=\"fyeo-content-valid\" data-capability=\"%s\">\n%s\n</div>", esc_attr( $attributes['capability'] ), $content );
     69            $capability = ! empty( $attributes['capability'] ) ? $attributes['capability'] : $this->capability->default_capability();
     70            return sprintf( "<div class=\"fyeo-content-valid\" data-capability=\"%s\">\n%s\n</div>", esc_attr( $capability ), $content );
    7071        }
    7172        static $count = 0;
  • for-your-eyes-only/tags/1.2.0/for-your-eyes-only.php

    r3167227 r3427171  
    66Author: Tarosky INC.
    77Author URI: https://tarosky.co.jp
    8 Version: 1.1.5
     8Version: v1.2.0
     9Requires at least: 6.6
     10Requires PHP: 7.4
    911Text Domain: fyeo
     12License: GPL 3.0 or later
    1013Domain Path: /languages/
    1114*/
  • for-your-eyes-only/tags/1.2.0/languages/fyeo-ja.po

    r2066239 r3427171  
    22msgstr ""
    33"Project-Id-Version: \n"
    4 "POT-Creation-Date: 2019-04-06 16:42+0900\n"
    5 "PO-Revision-Date: 2019-04-06 18:04+0900\n"
     4"Report-Msgid-Bugs-To: \n"
    65"Last-Translator: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
    76"Language-Team: \n"
    8 "Language: ja\n"
    97"MIME-Version: 1.0\n"
    108"Content-Type: text/plain; charset=UTF-8\n"
    119"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2019-04-06 16:42+0900\n"
     11"PO-Revision-Date: 2019-04-06 18:04+0900\n"
     12"Language: ja\n"
    1213"X-Generator: Poedit 2.2\n"
    1314"X-Poedit-Basepath: .\n"
     
    3435msgstr "管理者"
    3536
    36 #: app/Hametuha/ForYourEyesOnly/Parser.php:96
     37#. translators: %s is login URL.
     38#: app/Hametuha/ForYourEyesOnly/Parser.php:110
    3739#, php-format
    3840msgid "To see this section, please <a href=\"%s\" rel=\"nofollow\">log in</a>."
    39 msgstr ""
    40 "このセクションを表示するには、<a href=\"%s\" rel=\"nofollow\">ログイン</a>し"
    41 "てください。"
     41msgstr "このセクションを表示するには、<a href=\"%s\" rel=\"nofollow\">ログイン</a>してください。"
    4242
    4343#: app/Hametuha/ForYourEyesOnly/Pattern/RestApi.php:80
     
    4545msgstr "無効なリクエストです。指定されたエンドポイントは存在しません。"
    4646
    47 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:25
     47#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:31
    4848msgid "Post ID"
    4949msgstr "投稿ID"
    5050
    51 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:41
     51#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:47
    5252msgid "Post not found."
    5353msgstr "投稿が見つかりませんでした。"
    5454
    55 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:46
     55#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:52
    5656msgid "You have no capability."
    5757msgstr "権限がありません。"
    5858
    59 #: src/js/block-renderer.js:37
     59#. Plugin URI of the plugin
     60#: for-your-eyes-only.php
     61msgid "https://wordpress.org/plugins/for-your-eyes-only"
     62msgstr "https://ja.wordpress.org/plugins/for-your-eyes-only"
     63
     64#. Description of the plugin
     65#: for-your-eyes-only.php
     66msgid "A block restricted only for specified users."
     67msgstr "指定されたユーザーにだけ制限されたブロック。"
     68
     69#. Plugin Name of the plugin
     70#: for-your-eyes-only.php
     71msgid "For Your Eyes Only"
     72msgstr "For Your Eyes Only"
     73
     74#. Author of the plugin
     75#: for-your-eyes-only.php
     76msgid "Tarosky INC."
     77msgstr "株式会社タロスカイ"
     78
     79#. Author URI of the plugin
     80#: for-your-eyes-only.php
     81msgid "https://tarosky.co.jp"
     82msgstr "https://tarosky.co.jp"
     83
     84#: build/blocks/restricted-block/index.js:1
     85#: src/blocks/restricted-block/index.js:27
     86msgid "(Default)"
     87msgstr "(デフォルト)"
     88
     89#: build/blocks/restricted-block/index.js:1
     90#: src/blocks/restricted-block/index.js:56
     91msgid "Visibility Setting"
     92msgstr "表示設定"
     93
     94#: build/blocks/restricted-block/index.js:1
     95#: src/blocks/restricted-block/index.js:61
     96msgid "Capability"
     97msgstr "権限"
     98
     99#: build/blocks/restricted-block/index.js:1
     100#: src/blocks/restricted-block/index.js:67
     101msgid "This block will be displayed only for users specified above."
     102msgstr "このブロックは上で指定されたユーザーにだけ表示されます。"
     103
     104#: build/blocks/restricted-block/index.js:1
     105#: src/blocks/restricted-block/index.js:71
     106msgid "Rendering Style"
     107msgstr "レンダリング方式"
     108
     109#: build/blocks/restricted-block/index.js:1
     110#: src/blocks/restricted-block/index.js:75
     111msgid "Asynchronous(JavaScript + REST API)"
     112msgstr "非同期(JavaScript + REST API)"
     113
     114#: build/blocks/restricted-block/index.js:1
     115#: src/blocks/restricted-block/index.js:79
     116msgid "Dynamic(PHP)"
     117msgstr "動的(PHP)"
     118
     119#: build/blocks/restricted-block/index.js:1
     120#: src/blocks/restricted-block/index.js:86
     121msgid "If WordPress is under cache, Asynchronous is recommended."
     122msgstr "WordPressがキャッシュ下にある場合は、非同期が推奨されます。"
     123
     124#: build/blocks/restricted-block/index.js:1
     125#: src/blocks/restricted-block/index.js:90
     126msgid "Tagline"
     127msgstr "タグライン"
     128
     129#: build/blocks/restricted-block/index.js:1
     130#: src/blocks/restricted-block/index.js:95
     131#, js-format
     132msgid "This instruction will be displayed to users who have no capability. %s will be replaced with login URL."
     133msgstr "この説明文は権限を持たないユーザーに表示されます。%s はログインURLに置き換えられます。"
     134
     135#: build/blocks/restricted-block/view.js:1
     136#: src/blocks/restricted-block/view.js:48
    60137msgid "Failed authentication"
    61138msgstr "認証失敗"
    62139
    63 #: src/js/block.js:15
    64 msgid "Default(Subscriber)"
    65 msgstr "デフォルト(購読者)"
    66 
    67 #: src/js/block.js:32
     140#: build/blocks/restricted-block/block.json
     141#: src/blocks/restricted-block/block.json
     142msgctxt "block title"
    68143msgid "Restricted Block"
    69144msgstr "制限ブロック"
    70145
    71 #: src/js/block.js:38
    72 msgid "Restricted"
    73 msgstr "制限あり"
    74 
    75 #. Plugin Name of the plugin/theme
    76 #: src/js/block.js:38
    77 msgid "For Your Eyes Only"
    78 msgstr "For Your Eyes Only"
    79 
    80 #: src/js/block.js:40
     146#: build/blocks/restricted-block/block.json
     147#: src/blocks/restricted-block/block.json
     148msgctxt "block description"
    81149msgid "This block will be displayed only for specified users."
    82150msgstr "このブロックは指定されたユーザーだけに表示されます。"
    83151
    84 #: src/js/block.js:58
    85 msgid "Capability"
    86 msgstr "権限"
     152#: build/blocks/restricted-block/block.json
     153#: src/blocks/restricted-block/block.json
     154msgctxt "block keyword"
     155msgid "restricted"
     156msgstr "制限"
    87157
    88 #: src/js/block.js:66
    89 msgid "This block will be displayed only for users specified above."
    90 msgstr "このブロックは上で指定されたユーザーにだけ表示されます。"
     158#: build/blocks/restricted-block/block.json
     159#: src/blocks/restricted-block/block.json
     160msgctxt "block keyword"
     161msgid "for your eyes only"
     162msgstr "限定公開"
    91163
    92 #: src/js/block.js:70
    93 msgid "Instruction"
    94 msgstr "説明文"
    95 
    96 #: src/js/block.js:81
    97 #, python-format
    98 msgid ""
    99 "This instruction will be displayed to users who have no capability. %s will "
    100 "be replaced with login URL."
    101 msgstr ""
    102 "この説明文は権限を持たないユーザーに表示されます。%s はログインURLに置き換え"
    103 "られます。"
    104 
    105 #. Plugin URI of the plugin/theme
    106 msgid "https://wordpress.org/plugins/for-your-eyes-only"
    107 msgstr "https://ja.wordpress.org/plugins/for-your-eyes-only"
    108 
    109 #. Description of the plugin/theme
    110 msgid "A block restricted only for specified users."
    111 msgstr "指定されたユーザーにだけ制限されたブロック。"
    112 
    113 #. Author of the plugin/theme
    114 msgid "Hametuha INC."
    115 msgstr "株式会社破滅派"
    116 
    117 #. Author URI of the plugin/theme
    118 msgid "https://hametuha.co.jp"
    119 msgstr "https://hametuha.co.jp"
     164#: build/blocks/restricted-block/block.json
     165#: src/blocks/restricted-block/block.json
     166msgctxt "block keyword"
     167msgid "private"
     168msgstr "プライベート"
  • for-your-eyes-only/tags/1.2.0/languages/fyeo.pot

    r2066239 r3427171  
    1 #, fuzzy
     1# Copyright (C) 2025 Tarosky INC.
     2# This file is distributed under the same license as the For Your Eyes Only plugin.
    23msgid ""
    34msgstr ""
    4 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    5 "Project-Id-Version: For Your Eyes Only\n"
    6 "POT-Creation-Date: 2019-04-06 18:04+0900\n"
    7 "PO-Revision-Date: 2019-04-05 23:39+0900\n"
    8 "Last-Translator: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
    9 "Language-Team: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
     5"Project-Id-Version: For Your Eyes Only nightly\n"
     6"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fyeo\n"
     7"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     8"Language-Team: LANGUAGE <LL@li.org>\n"
    109"MIME-Version: 1.0\n"
    1110"Content-Type: text/plain; charset=UTF-8\n"
    1211"Content-Transfer-Encoding: 8bit\n"
    13 "X-Generator: Poedit 2.2\n"
    14 "X-Poedit-Basepath: ..\n"
    15 "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
    16 "X-Poedit-WPHeader: for-your-eyes-only.php\n"
    17 "X-Poedit-SourceCharset: UTF-8\n"
    18 "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
    19 "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
    20 "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
    21 "X-Poedit-SearchPath-0: .\n"
    22 "X-Poedit-SearchPathExcluded-0: node_modules\n"
    23 "X-Poedit-SearchPathExcluded-1: vendor\n"
    24 "X-Poedit-SearchPathExcluded-2: assets\n"
    25 "X-Poedit-SearchPathExcluded-3: tests\n"
     12"POT-Creation-Date: 2025-12-25T03:12:19+00:00\n"
     13"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
     14"X-Generator: WP-CLI 2.12.0\n"
     15"X-Domain: fyeo\n"
     16
     17#. Plugin Name of the plugin
     18#: for-your-eyes-only.php
     19msgid "For Your Eyes Only"
     20msgstr ""
     21
     22#. Plugin URI of the plugin
     23#: for-your-eyes-only.php
     24msgid "https://wordpress.org/plugins/for-your-eyes-only"
     25msgstr ""
     26
     27#. Description of the plugin
     28#: for-your-eyes-only.php
     29msgid "A block restricted only for specified users."
     30msgstr ""
     31
     32#. Author of the plugin
     33#: for-your-eyes-only.php
     34msgid "Tarosky INC."
     35msgstr ""
     36
     37#. Author URI of the plugin
     38#: for-your-eyes-only.php
     39msgid "https://tarosky.co.jp"
     40msgstr ""
    2641
    2742#: app/Hametuha/ForYourEyesOnly/Capability.php:21
     
    4560msgstr ""
    4661
    47 #: app/Hametuha/ForYourEyesOnly/Parser.php:96
     62#. translators: %s is login URL.
     63#: app/Hametuha/ForYourEyesOnly/Parser.php:110
    4864#, php-format
    4965msgid "To see this section, please <a href=\"%s\" rel=\"nofollow\">log in</a>."
     
    5470msgstr ""
    5571
    56 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:25
     72#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:31
    5773msgid "Post ID"
    5874msgstr ""
    5975
    60 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:41
     76#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:47
    6177msgid "Post not found."
    6278msgstr ""
    6379
    64 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:46
     80#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:52
    6581msgid "You have no capability."
    6682msgstr ""
    6783
    68 #: src/js/block-renderer.js:37
     84#: build/blocks/restricted-block/index.js:1
     85#: src/blocks/restricted-block/index.js:27
     86msgid "(Default)"
     87msgstr ""
     88
     89#: build/blocks/restricted-block/index.js:1
     90#: src/blocks/restricted-block/index.js:56
     91msgid "Visibility Setting"
     92msgstr ""
     93
     94#: build/blocks/restricted-block/index.js:1
     95#: src/blocks/restricted-block/index.js:61
     96msgid "Capability"
     97msgstr ""
     98
     99#: build/blocks/restricted-block/index.js:1
     100#: src/blocks/restricted-block/index.js:67
     101msgid "This block will be displayed only for users specified above."
     102msgstr ""
     103
     104#: build/blocks/restricted-block/index.js:1
     105#: src/blocks/restricted-block/index.js:71
     106msgid "Rendering Style"
     107msgstr ""
     108
     109#: build/blocks/restricted-block/index.js:1
     110#: src/blocks/restricted-block/index.js:75
     111msgid "Asynchronous(JavaScript + REST API)"
     112msgstr ""
     113
     114#: build/blocks/restricted-block/index.js:1
     115#: src/blocks/restricted-block/index.js:79
     116msgid "Dynamic(PHP)"
     117msgstr ""
     118
     119#: build/blocks/restricted-block/index.js:1
     120#: src/blocks/restricted-block/index.js:86
     121msgid "If WordPress is under cache, Asynchronous is recommended."
     122msgstr ""
     123
     124#: build/blocks/restricted-block/index.js:1
     125#: src/blocks/restricted-block/index.js:90
     126msgid "Tagline"
     127msgstr ""
     128
     129#: build/blocks/restricted-block/index.js:1
     130#: src/blocks/restricted-block/index.js:95
     131#, js-format
     132msgid "This instruction will be displayed to users who have no capability. %s will be replaced with login URL."
     133msgstr ""
     134
     135#: build/blocks/restricted-block/view.js:1
     136#: src/blocks/restricted-block/view.js:48
    69137msgid "Failed authentication"
    70138msgstr ""
    71139
    72 #: src/js/block.js:15
    73 msgid "Default(Subscriber)"
    74 msgstr ""
    75 
    76 #: src/js/block.js:32
     140#: build/blocks/restricted-block/block.json
     141#: src/blocks/restricted-block/block.json
     142msgctxt "block title"
    77143msgid "Restricted Block"
    78144msgstr ""
    79145
    80 #: src/js/block.js:38
    81 msgid "Restricted"
    82 msgstr ""
    83 
    84 #. Plugin Name of the plugin/theme
    85 #: src/js/block.js:38
    86 msgid "For Your Eyes Only"
    87 msgstr ""
    88 
    89 #: src/js/block.js:40
     146#: build/blocks/restricted-block/block.json
     147#: src/blocks/restricted-block/block.json
     148msgctxt "block description"
    90149msgid "This block will be displayed only for specified users."
    91150msgstr ""
    92151
    93 #: src/js/block.js:58
    94 msgid "Capability"
     152#: build/blocks/restricted-block/block.json
     153#: src/blocks/restricted-block/block.json
     154msgctxt "block keyword"
     155msgid "restricted"
    95156msgstr ""
    96157
    97 #: src/js/block.js:66
    98 msgid "This block will be displayed only for users specified above."
     158#: build/blocks/restricted-block/block.json
     159#: src/blocks/restricted-block/block.json
     160msgctxt "block keyword"
     161msgid "for your eyes only"
    99162msgstr ""
    100163
    101 #: src/js/block.js:70
    102 msgid "Instruction"
     164#: build/blocks/restricted-block/block.json
     165#: src/blocks/restricted-block/block.json
     166msgctxt "block keyword"
     167msgid "private"
    103168msgstr ""
    104 
    105 #: src/js/block.js:81
    106 #, python-format
    107 msgid ""
    108 "This instruction will be displayed to users who have no capability. %s will "
    109 "be replaced with login URL."
    110 msgstr ""
    111 
    112 #. Plugin URI of the plugin/theme
    113 msgid "https://wordpress.org/plugins/for-your-eyes-only"
    114 msgstr ""
    115 
    116 #. Description of the plugin/theme
    117 msgid "A block restricted only for specified users."
    118 msgstr ""
    119 
    120 #. Author of the plugin/theme
    121 msgid "Hametuha INC."
    122 msgstr ""
    123 
    124 #. Author URI of the plugin/theme
    125 msgid "https://hametuha.co.jp"
    126 msgstr ""
  • for-your-eyes-only/tags/1.2.0/readme.txt

    r3167227 r3427171  
    22
    33Contributors: tarosky, Takahashi_Fumiki, hametuha 
    4 Tags: membership, login, restrict, gutenberg 
    5 Requires at least: 6.1 
    6 Tested up to: 6.6 
    7 Stable tag: 1.1.5
    8 Requires PHP: 7.2 
     4Tags: membership, login, restrict 
     5Tested up to: 6.9 
     6Stable tag: v1.2.0
    97License: GPLv3 or later 
    108License URI: http://www.gnu.org/licenses/gpl-3.0.txt
     
    2826
    2927For performance enhancement, [Cookie Tasting](https://wordpress.org/plugins/cookie-tasting/) is recommended.
    30 It decrease server access including REST API by checking COOKIE value before accessing to server side script.
     28It decreases server access including REST API by checking COOKIE value before accessing to server side script.
     29
     30= Hooks =
     31
     32 Display Customization
     33
     34- `fyeo_tag_line` - Customize the default tagline displayed to users without capability. `%s` will be replaced with login URL.
     35- `fyeo_login_url` - Replace the login URL. Default is `wp_login_url()`.
     36- `fyeo_redirect_url` - Customize redirect URL after login. Receives post object as second argument.
     37- `fyeo_redirect_key` - Change query parameter key for redirect. Default is `redirect_to`.
     38- `fyeo_enqueue_style` - Whether to enqueue default theme style. Return `false` to disable.
     39
     40 Capability Control
     41
     42- `fyeo_capabilities_list` - Customize available capabilities list shown in block settings.
     43- `fyeo_default_capability` - Change default capability. Default is `read`.
     44- `fyeo_user_has_cap` - Override capability check result. Receives `$has_cap`, `$capability`, `$user`.
     45
     46 Rendering
     47
     48- `fyeo_default_render_style` - Set default rendering style. Return `dynamic` for PHP rendering, empty string for async.
     49- `fyeo_can_display_non_public` - Allow displaying restricted content for non-public posts. Receives `$post` object.
     50
     51 REST API
     52
     53- `fyeo_minimum_rest_capability` - Control REST API access. Return `false` to deny access.
    3154
    3255== Installation ==
  • for-your-eyes-only/tags/1.2.0/vendor/autoload.php

    r3166983 r3427171  
    1515        }
    1616    }
    17     trigger_error(
    18         $err,
    19         E_USER_ERROR
    20     );
     17    throw new RuntimeException($err);
    2118}
    2219
    2320require_once __DIR__ . '/composer/autoload_real.php';
    2421
    25 return ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6::getLoader();
     22return ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646::getLoader();
  • for-your-eyes-only/tags/1.2.0/vendor/composer/InstalledVersions.php

    r3166983 r3427171  
    2828{
    2929    /**
     30     * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
     31     * @internal
     32     */
     33    private static $selfDir = null;
     34
     35    /**
    3036     * @var mixed[]|null
    3137     * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
    3238     */
    3339    private static $installed;
     40
     41    /**
     42     * @var bool
     43     */
     44    private static $installedIsLocalDir;
    3445
    3546    /**
     
    310321        self::$installed = $data;
    311322        self::$installedByVendor = array();
     323
     324        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     325        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     326        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     327        // all installed packages for example
     328        self::$installedIsLocalDir = false;
     329    }
     330
     331    /**
     332     * @return string
     333     */
     334    private static function getSelfDir()
     335    {
     336        if (self::$selfDir === null) {
     337            self::$selfDir = strtr(__DIR__, '\\', '/');
     338        }
     339
     340        return self::$selfDir;
    312341    }
    313342
     
    323352
    324353        $installed = array();
     354        $copiedLocalDir = false;
    325355
    326356        if (self::$canGetVendors) {
     357            $selfDir = self::getSelfDir();
    327358            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     359                $vendorDir = strtr($vendorDir, '\\', '/');
    328360                if (isset(self::$installedByVendor[$vendorDir])) {
    329361                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331363                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332364                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     365                    self::$installedByVendor[$vendorDir] = $required;
     366                    $installed[] = $required;
     367                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     368                        self::$installed = $required;
     369                        self::$installedIsLocalDir = true;
    336370                    }
     371                }
     372                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     373                    $copiedLocalDir = true;
    337374                }
    338375            }
     
    351388        }
    352389
    353         if (self::$installed !== array()) {
     390        if (self::$installed !== array() && !$copiedLocalDir) {
    354391            $installed[] = self::$installed;
    355392        }
  • for-your-eyes-only/tags/1.2.0/vendor/composer/autoload_real.php

    r3166983 r3427171  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6
     5class ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::getInitializer($loader));
    3333
    3434        $loader->register(true);
  • for-your-eyes-only/tags/1.2.0/vendor/composer/autoload_static.php

    r3166983 r3427171  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6
     7class ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646
    88{
    99    public static $prefixLengthsPsr4 = array (
    10         'M' => 
     10        'M' =>
    1111        array (
    1212            'Masterminds\\' => 12,
     
    1515
    1616    public static $prefixDirsPsr4 = array (
    17         'Masterminds\\' => 
     17        'Masterminds\\' =>
    1818        array (
    1919            0 => __DIR__ . '/..' . '/masterminds/html5/src',
     
    2222
    2323    public static $prefixesPsr0 = array (
    24         'H' => 
     24        'H' =>
    2525        array (
    26             'Hametuha\\ForYourEyesOnly' => 
     26            'Hametuha\\ForYourEyesOnly' =>
    2727            array (
    2828                0 => __DIR__ . '/../..' . '/app',
     
    3838    {
    3939        return \Closure::bind(function () use ($loader) {
    40             $loader->prefixLengthsPsr4 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixLengthsPsr4;
    41             $loader->prefixDirsPsr4 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixDirsPsr4;
    42             $loader->prefixesPsr0 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixesPsr0;
    43             $loader->classMap = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$classMap;
     40            $loader->prefixLengthsPsr4 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixLengthsPsr4;
     41            $loader->prefixDirsPsr4 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixDirsPsr4;
     42            $loader->prefixesPsr0 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixesPsr0;
     43            $loader->classMap = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$classMap;
    4444
    4545        }, null, ClassLoader::class);
  • for-your-eyes-only/tags/1.2.0/vendor/composer/installed.json

    r3166983 r3427171  
    33        {
    44            "name": "masterminds/html5",
    5             "version": "2.9.0",
    6             "version_normalized": "2.9.0.0",
     5            "version": "2.10.0",
     6            "version_normalized": "2.10.0.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/Masterminds/html5-php.git",
    10                 "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"
     10                "reference": "fcf91eb64359852f00d921887b219479b4f21251"
    1111            },
    1212            "dist": {
    1313                "type": "zip",
    14                 "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
    15                 "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
     14                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251",
     15                "reference": "fcf91eb64359852f00d921887b219479b4f21251",
    1616                "shasum": ""
    1717            },
     
    2323                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
    2424            },
    25             "time": "2024-03-31T07:05:07+00:00",
     25            "time": "2025-07-25T09:04:22+00:00",
    2626            "type": "library",
    2727            "extra": {
     
    6767            "support": {
    6868                "issues": "https://github.com/Masterminds/html5-php/issues",
    69                 "source": "https://github.com/Masterminds/html5-php/tree/2.9.0"
     69                "source": "https://github.com/Masterminds/html5-php/tree/2.10.0"
    7070            },
    7171            "install-path": "../masterminds/html5"
  • for-your-eyes-only/tags/1.2.0/vendor/composer/installed.php

    r3167227 r3427171  
    22    'root' => array(
    33        'name' => 'tarosky/for-your-eyes-only',
    4         'pretty_version' => '1.1.5',
    5         'version' => '1.1.5.0',
    6         'reference' => '8daa7994eb666a2aae2b1076270a35a75e38fa66',
     4        'pretty_version' => 'v1.2.0',
     5        'version' => '1.2.0.0',
     6        'reference' => '1fb1fc95ce3f3cc7898adff2c6955298855bb37f',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'masterminds/html5' => array(
    14             'pretty_version' => '2.9.0',
    15             'version' => '2.9.0.0',
    16             'reference' => 'f5ac2c0b0a2eefca70b2ce32a5809992227e75a6',
     14            'pretty_version' => '2.10.0',
     15            'version' => '2.10.0.0',
     16            'reference' => 'fcf91eb64359852f00d921887b219479b4f21251',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../masterminds/html5',
     
    2121        ),
    2222        'tarosky/for-your-eyes-only' => array(
    23             'pretty_version' => '1.1.5',
    24             'version' => '1.1.5.0',
    25             'reference' => '8daa7994eb666a2aae2b1076270a35a75e38fa66',
     23            'pretty_version' => 'v1.2.0',
     24            'version' => '1.2.0.0',
     25            'reference' => '1fb1fc95ce3f3cc7898adff2c6955298855bb37f',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
  • for-your-eyes-only/tags/1.2.0/vendor/composer/platform_check.php

    r3166983 r3427171  
    55$issues = array();
    66
    7 if (!(PHP_VERSION_ID >= 70200)) {
    8     $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.0". You are running ' . PHP_VERSION . '.';
     7if (!(PHP_VERSION_ID >= 70400)) {
     8    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
    99}
    1010
     
    2020        }
    2121    }
    22     trigger_error(
    23         'Composer detected issues in your platform: ' . implode(' ', $issues),
    24         E_USER_ERROR
     22    throw new \RuntimeException(
     23        'Composer detected issues in your platform: ' . implode(' ', $issues)
    2524    );
    2625}
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5.php

    r3166983 r3427171  
    147147     *
    148148     * @param string $input
    149      * @param array  $options
    150149     *
    151150     * @return \DOMDocument
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php

    r2066239 r3427171  
    4949
    5050    /**
    51      * Given a hexidecimal number, return the UTF-8 character.
     51     * Given a hexadecimal number, return the UTF-8 character.
    5252     *
    5353     * @param $hexdec
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php

    r3166983 r3427171  
    232232     * This is used for handling Processor Instructions as they are
    233233     * inserted. If omitted, PI's are inserted directly into the DOM tree.
    234      *
    235      * @param InstructionProcessor $proc
    236234     */
    237235    public function setInstructionProcessor(InstructionProcessor $proc)
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php

    r3166983 r3427171  
    508508
    509509        $val = $this->attributeValue();
    510         if ($isValidAttribute) {
     510        if ($isValidAttribute && !array_key_exists($name, $attributes)) {
    511511            $attributes[$name] = $val;
    512512        }
     
    730730        if ('!' == $this->scanner->current() && '>' == $this->scanner->peek()) {
    731731            $this->scanner->consume(); // Consume the last '>'
     732
    732733            return true;
    733734        }
     
    11281129            }
    11291130
    1130             // Hexidecimal encoding.
     1131            // Hexadecimal encoding.
    11311132            // X[0-9a-fA-F]+;
    11321133            // x[0-9a-fA-F]+;
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php

    r2066239 r3427171  
    8181            case 'tfoot':
    8282            case 'table': // Spec isn't explicit about this, but it's necessary.
    83 
    8483                return $this->closeIfCurrentMatches($new, $current, array(
    8584                    'thead',
  • for-your-eyes-only/tags/1.2.0/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php

    r3166983 r3427171  
    207207    }
    208208
     209    /**
     210     * @param \DOMElement $ele
     211     */
    209212    public function element($ele)
    210213    {
     
    228231
    229232        $this->openTag($ele);
     233        // The tag is already self-closed (`<svg />` or `<math />`) in `openTag` if there are no child nodes.
     234        $handledAsVoidTag = $this->outputMode !== static::IM_IN_HTML && !$ele->hasChildNodes();
     235
    230236        if (Elements::isA($name, Elements::TEXT_RAW)) {
    231237            foreach ($ele->childNodes as $child) {
     
    249255
    250256        // If not unary, add a closing tag.
    251         if (!Elements::isA($name, Elements::VOID_TAG)) {
     257        if (!$handledAsVoidTag && !Elements::isA($name, Elements::VOID_TAG)) {
    252258            $this->closeTag($ele);
    253259        }
  • for-your-eyes-only/tags/1.2.0/wp-dependencies.json

    r3167201 r3427171  
    11[
    22    {
    3         "handle": "fyeo-block",
    4         "path": "assets/js/block.js",
    5         "ext": "js",
    6         "hash": "a8c8d10210276250c6eeb764edbda151",
    7         "version": "0.0.0",
    8         "deps": [
    9             "wp-blocks",
    10             "wp-i18n",
    11             "wp-element",
    12             "wp-block-editor",
    13             "wp-components"
    14         ],
    15         "footer": true,
    16         "media": "all"
    17     },
    18     {
    19         "handle": "fyeo-block-renderer",
    20         "path": "assets/js/block-renderer.js",
    21         "ext": "js",
    22         "hash": "1798b4a9718c8018b2f9ef697307f8aa",
    23         "version": "0.0.0",
    24         "deps": [
    25             "jquery",
    26             "wp-i18n",
    27             "wp-api-fetch"
    28         ],
    29         "footer": true,
    30         "media": "all"
    31     },
    32     {
    333        "handle": "fyeo-theme",
    34         "path": "assets/css/theme.css",
     4        "path": "build/css/theme.css",
    355        "ext": "css",
    36         "hash": "31a91d7d932b76db5a6130d3ab99de35",
     6        "hash": "7fe166300f0fe8c3fdc4a10981127a0e",
    377        "version": "0.0.0",
    388        "deps": [],
    399        "footer": true,
    40         "media": "all"
    41     },
    42     {
    43         "handle": "fyeo-block",
    44         "path": "assets/css/block.css",
    45         "ext": "css",
    46         "hash": "b1b2227dff182e7d233aeba21e0fafea",
    47         "version": "0.0.0",
    48         "deps": [
    49             "dashicons"
    50         ],
    51         "footer": true,
    52         "media": "all"
     10        "media": "all",
     11        "strategy": ""
    5312    }
    5413]
  • for-your-eyes-only/trunk/.eslintrc

    r3166983 r3427171  
    77        "wp": true,
    88        "jQuery": true,
    9         "CookieTasting": false
     9        "CookieTasting": "readonly",
     10        "FyeoBlockVars": "readonly",
     11        "FyeoBlockRenderer": "readonly"
    1012    },
    1113    "extends": [ "plugin:@wordpress/eslint-plugin/recommended-with-formatting" ],
    1214    "rules": {
    1315        "@wordpress/i18n-translator-comments": "off",
    14         "jsdoc/check-tag-names": "off"
     16        "jsdoc/check-tag-names": "off",
     17        "import/no-unresolved": [ "error", { "ignore": [ "^@wordpress/" ] } ]
    1518    }
    1619}
  • for-your-eyes-only/trunk/.wp-env.json

    r3166983 r3427171  
    22    "plugins": [
    33        ".",
    4         "https://downloads.wordpress.org/plugin/query-monitor.latest-stable.zip"
     4        "https://downloads.wordpress.org/plugin/query-monitor.latest-stable.zip",
     5        "https://downloads.wordpress.org/plugin/plugin-check.latest-stable.zip"
    56    ],
    67    "themes": [
  • for-your-eyes-only/trunk/app/Hametuha/ForYourEyesOnly.php

    r3167201 r3427171  
    2828     */
    2929    public function register_assets() {
    30         $locale = get_locale();
    31         $json   = $this->dir . '/wp-dependencies.json';
    32         if ( ! file_exists( $json ) ) {
    33             return;
    34         }
    35         $deps = json_decode( file_get_contents( $json ), true );
    36         if ( ! $deps ) {
    37             return;
    38         }
    39         foreach ( $deps as $dep ) {
    40             if ( empty( $dep['handle'] ) ) {
    41                 continue;
    42             }
    43             $url = $this->url . '/' . $dep['path'];
    44             switch ( $dep['ext'] ) {
    45                 case 'js':
    46                     wp_register_script( $dep['handle'], $url, $dep['deps'], $dep['hash'], [
    47                         'in_footer' => $dep['footer'],
    48                         'strategy'  => 'defer',
    49                     ] );
    50                     if ( in_array( 'wp-i18n', $dep['deps'], true ) ) {
    51                         wp_set_script_translations( $dep['handle'], 'fyeo', $this->dir . '/languages' );
     30        // Register theme CSS from wp-dependencies.json.
     31        $json = $this->dir . '/wp-dependencies.json';
     32        if ( file_exists( $json ) ) {
     33            $deps = json_decode( file_get_contents( $json ), true );
     34            if ( $deps ) {
     35                foreach ( $deps as $dep ) {
     36                    if ( empty( $dep['handle'] ) ) {
     37                        continue;
    5238                    }
    53                     break;
    54                 case 'css':
    55                     wp_register_style( $dep['handle'], $url, $dep['deps'], $dep['hash'], 'screen' );
    56                     break;
     39                    $url = $this->url . '/' . $dep['path'];
     40                    switch ( $dep['ext'] ) {
     41                        case 'css':
     42                            wp_register_style( $dep['handle'], $url, $dep['deps'], $dep['hash'], 'screen' );
     43                            break;
     44                    }
     45                }
    5746            }
    5847        }
    59         wp_localize_script( 'fyeo-block', 'FyeoBlockVars', [
    60             'capabilities' => $this->capability->capabilities_list(),
    61             'default'      => $this->capability->default_capability(),
    62             'dynamic'      => apply_filters( 'fyeo_default_render_style', '' ),
    63             'placeholder'  => $this->parser->tag_line(),
    64         ] );
    65         wp_localize_script( 'fyeo-block-renderer', 'FyeoBlockRenderer', [
    66             'cookieTasting' => $this->cookie_tasting_exists(),
    67         ] );
    6848    }
    6949
     
    7555            return;
    7656        }
    77         $view_styles = [];
     57
     58        // Register block from block.json.
     59        $block = register_block_type( $this->dir . '/build/blocks/restricted-block' );
     60
     61        // Add localized script data to editor script.
     62        if ( $block && ! empty( $block->editor_script_handles ) ) {
     63            $handle = $block->editor_script_handles[0];
     64            wp_localize_script( $handle, 'FyeoBlockVars', [
     65                'capabilities' => $this->capability->capabilities_list(),
     66                'default'      => $this->capability->default_capability(),
     67                'dynamic'      => apply_filters( 'fyeo_default_render_style', '' ),
     68                'placeholder'  => $this->parser->tag_line(),
     69            ] );
     70            wp_set_script_translations( $handle, 'fyeo', $this->dir . '/languages' );
     71        }
     72
     73        // Add localized script data to view script.
     74        if ( $block && ! empty( $block->view_script_handles ) ) {
     75            $handle = $block->view_script_handles[0];
     76            wp_localize_script( $handle, 'FyeoBlockRenderer', [
     77                'cookieTasting' => $this->cookie_tasting_exists(),
     78            ] );
     79        }
     80
     81        // Enqueue theme style if enabled.
    7882        if ( apply_filters( 'fyeo_enqueue_style', true ) ) {
    79             $view_styles[] = 'fyeo-theme';
     83            add_action( 'wp_enqueue_scripts', function () {
     84                if ( has_block( 'fyeo/block' ) ) {
     85                    wp_enqueue_style( 'fyeo-theme' );
     86                }
     87            } );
    8088        }
    81         register_block_type( 'fyeo/block', [
    82             'editor_script_handles' => [ 'fyeo-block' ],
    83             'view_script_handles'   => [ 'fyeo-block-renderer' ],
    84             'editor_style_handles'  => [ 'fyeo-block' ],
    85             'view_style_handles'    => $view_styles,
    86             'render_callback'       => [ $this->parser, 'render' ],
    87         ] );
    8889    }
    8990}
  • for-your-eyes-only/trunk/app/Hametuha/ForYourEyesOnly/Parser.php

    r3167221 r3427171  
    6767        // If flag is on, returns full content.
    6868        if ( $this->skip_flag ) {
    69             return sprintf( "<div class=\"fyeo-content-valid\" data-capability=\"%s\">\n%s\n</div>", esc_attr( $attributes['capability'] ), $content );
     69            $capability = ! empty( $attributes['capability'] ) ? $attributes['capability'] : $this->capability->default_capability();
     70            return sprintf( "<div class=\"fyeo-content-valid\" data-capability=\"%s\">\n%s\n</div>", esc_attr( $capability ), $content );
    7071        }
    7172        static $count = 0;
  • for-your-eyes-only/trunk/for-your-eyes-only.php

    r3167227 r3427171  
    66Author: Tarosky INC.
    77Author URI: https://tarosky.co.jp
    8 Version: 1.1.5
     8Version: v1.2.0
     9Requires at least: 6.6
     10Requires PHP: 7.4
    911Text Domain: fyeo
     12License: GPL 3.0 or later
    1013Domain Path: /languages/
    1114*/
  • for-your-eyes-only/trunk/languages/fyeo-ja.po

    r2066239 r3427171  
    22msgstr ""
    33"Project-Id-Version: \n"
    4 "POT-Creation-Date: 2019-04-06 16:42+0900\n"
    5 "PO-Revision-Date: 2019-04-06 18:04+0900\n"
     4"Report-Msgid-Bugs-To: \n"
    65"Last-Translator: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
    76"Language-Team: \n"
    8 "Language: ja\n"
    97"MIME-Version: 1.0\n"
    108"Content-Type: text/plain; charset=UTF-8\n"
    119"Content-Transfer-Encoding: 8bit\n"
     10"POT-Creation-Date: 2019-04-06 16:42+0900\n"
     11"PO-Revision-Date: 2019-04-06 18:04+0900\n"
     12"Language: ja\n"
    1213"X-Generator: Poedit 2.2\n"
    1314"X-Poedit-Basepath: .\n"
     
    3435msgstr "管理者"
    3536
    36 #: app/Hametuha/ForYourEyesOnly/Parser.php:96
     37#. translators: %s is login URL.
     38#: app/Hametuha/ForYourEyesOnly/Parser.php:110
    3739#, php-format
    3840msgid "To see this section, please <a href=\"%s\" rel=\"nofollow\">log in</a>."
    39 msgstr ""
    40 "このセクションを表示するには、<a href=\"%s\" rel=\"nofollow\">ログイン</a>し"
    41 "てください。"
     41msgstr "このセクションを表示するには、<a href=\"%s\" rel=\"nofollow\">ログイン</a>してください。"
    4242
    4343#: app/Hametuha/ForYourEyesOnly/Pattern/RestApi.php:80
     
    4545msgstr "無効なリクエストです。指定されたエンドポイントは存在しません。"
    4646
    47 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:25
     47#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:31
    4848msgid "Post ID"
    4949msgstr "投稿ID"
    5050
    51 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:41
     51#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:47
    5252msgid "Post not found."
    5353msgstr "投稿が見つかりませんでした。"
    5454
    55 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:46
     55#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:52
    5656msgid "You have no capability."
    5757msgstr "権限がありません。"
    5858
    59 #: src/js/block-renderer.js:37
     59#. Plugin URI of the plugin
     60#: for-your-eyes-only.php
     61msgid "https://wordpress.org/plugins/for-your-eyes-only"
     62msgstr "https://ja.wordpress.org/plugins/for-your-eyes-only"
     63
     64#. Description of the plugin
     65#: for-your-eyes-only.php
     66msgid "A block restricted only for specified users."
     67msgstr "指定されたユーザーにだけ制限されたブロック。"
     68
     69#. Plugin Name of the plugin
     70#: for-your-eyes-only.php
     71msgid "For Your Eyes Only"
     72msgstr "For Your Eyes Only"
     73
     74#. Author of the plugin
     75#: for-your-eyes-only.php
     76msgid "Tarosky INC."
     77msgstr "株式会社タロスカイ"
     78
     79#. Author URI of the plugin
     80#: for-your-eyes-only.php
     81msgid "https://tarosky.co.jp"
     82msgstr "https://tarosky.co.jp"
     83
     84#: build/blocks/restricted-block/index.js:1
     85#: src/blocks/restricted-block/index.js:27
     86msgid "(Default)"
     87msgstr "(デフォルト)"
     88
     89#: build/blocks/restricted-block/index.js:1
     90#: src/blocks/restricted-block/index.js:56
     91msgid "Visibility Setting"
     92msgstr "表示設定"
     93
     94#: build/blocks/restricted-block/index.js:1
     95#: src/blocks/restricted-block/index.js:61
     96msgid "Capability"
     97msgstr "権限"
     98
     99#: build/blocks/restricted-block/index.js:1
     100#: src/blocks/restricted-block/index.js:67
     101msgid "This block will be displayed only for users specified above."
     102msgstr "このブロックは上で指定されたユーザーにだけ表示されます。"
     103
     104#: build/blocks/restricted-block/index.js:1
     105#: src/blocks/restricted-block/index.js:71
     106msgid "Rendering Style"
     107msgstr "レンダリング方式"
     108
     109#: build/blocks/restricted-block/index.js:1
     110#: src/blocks/restricted-block/index.js:75
     111msgid "Asynchronous(JavaScript + REST API)"
     112msgstr "非同期(JavaScript + REST API)"
     113
     114#: build/blocks/restricted-block/index.js:1
     115#: src/blocks/restricted-block/index.js:79
     116msgid "Dynamic(PHP)"
     117msgstr "動的(PHP)"
     118
     119#: build/blocks/restricted-block/index.js:1
     120#: src/blocks/restricted-block/index.js:86
     121msgid "If WordPress is under cache, Asynchronous is recommended."
     122msgstr "WordPressがキャッシュ下にある場合は、非同期が推奨されます。"
     123
     124#: build/blocks/restricted-block/index.js:1
     125#: src/blocks/restricted-block/index.js:90
     126msgid "Tagline"
     127msgstr "タグライン"
     128
     129#: build/blocks/restricted-block/index.js:1
     130#: src/blocks/restricted-block/index.js:95
     131#, js-format
     132msgid "This instruction will be displayed to users who have no capability. %s will be replaced with login URL."
     133msgstr "この説明文は権限を持たないユーザーに表示されます。%s はログインURLに置き換えられます。"
     134
     135#: build/blocks/restricted-block/view.js:1
     136#: src/blocks/restricted-block/view.js:48
    60137msgid "Failed authentication"
    61138msgstr "認証失敗"
    62139
    63 #: src/js/block.js:15
    64 msgid "Default(Subscriber)"
    65 msgstr "デフォルト(購読者)"
    66 
    67 #: src/js/block.js:32
     140#: build/blocks/restricted-block/block.json
     141#: src/blocks/restricted-block/block.json
     142msgctxt "block title"
    68143msgid "Restricted Block"
    69144msgstr "制限ブロック"
    70145
    71 #: src/js/block.js:38
    72 msgid "Restricted"
    73 msgstr "制限あり"
    74 
    75 #. Plugin Name of the plugin/theme
    76 #: src/js/block.js:38
    77 msgid "For Your Eyes Only"
    78 msgstr "For Your Eyes Only"
    79 
    80 #: src/js/block.js:40
     146#: build/blocks/restricted-block/block.json
     147#: src/blocks/restricted-block/block.json
     148msgctxt "block description"
    81149msgid "This block will be displayed only for specified users."
    82150msgstr "このブロックは指定されたユーザーだけに表示されます。"
    83151
    84 #: src/js/block.js:58
    85 msgid "Capability"
    86 msgstr "権限"
     152#: build/blocks/restricted-block/block.json
     153#: src/blocks/restricted-block/block.json
     154msgctxt "block keyword"
     155msgid "restricted"
     156msgstr "制限"
    87157
    88 #: src/js/block.js:66
    89 msgid "This block will be displayed only for users specified above."
    90 msgstr "このブロックは上で指定されたユーザーにだけ表示されます。"
     158#: build/blocks/restricted-block/block.json
     159#: src/blocks/restricted-block/block.json
     160msgctxt "block keyword"
     161msgid "for your eyes only"
     162msgstr "限定公開"
    91163
    92 #: src/js/block.js:70
    93 msgid "Instruction"
    94 msgstr "説明文"
    95 
    96 #: src/js/block.js:81
    97 #, python-format
    98 msgid ""
    99 "This instruction will be displayed to users who have no capability. %s will "
    100 "be replaced with login URL."
    101 msgstr ""
    102 "この説明文は権限を持たないユーザーに表示されます。%s はログインURLに置き換え"
    103 "られます。"
    104 
    105 #. Plugin URI of the plugin/theme
    106 msgid "https://wordpress.org/plugins/for-your-eyes-only"
    107 msgstr "https://ja.wordpress.org/plugins/for-your-eyes-only"
    108 
    109 #. Description of the plugin/theme
    110 msgid "A block restricted only for specified users."
    111 msgstr "指定されたユーザーにだけ制限されたブロック。"
    112 
    113 #. Author of the plugin/theme
    114 msgid "Hametuha INC."
    115 msgstr "株式会社破滅派"
    116 
    117 #. Author URI of the plugin/theme
    118 msgid "https://hametuha.co.jp"
    119 msgstr "https://hametuha.co.jp"
     164#: build/blocks/restricted-block/block.json
     165#: src/blocks/restricted-block/block.json
     166msgctxt "block keyword"
     167msgid "private"
     168msgstr "プライベート"
  • for-your-eyes-only/trunk/languages/fyeo.pot

    r2066239 r3427171  
    1 #, fuzzy
     1# Copyright (C) 2025 Tarosky INC.
     2# This file is distributed under the same license as the For Your Eyes Only plugin.
    23msgid ""
    34msgstr ""
    4 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    5 "Project-Id-Version: For Your Eyes Only\n"
    6 "POT-Creation-Date: 2019-04-06 18:04+0900\n"
    7 "PO-Revision-Date: 2019-04-05 23:39+0900\n"
    8 "Last-Translator: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
    9 "Language-Team: Takahashi Fumiki <takahashi.fumiki@hametuha.co.jp>\n"
     5"Project-Id-Version: For Your Eyes Only nightly\n"
     6"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/fyeo\n"
     7"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     8"Language-Team: LANGUAGE <LL@li.org>\n"
    109"MIME-Version: 1.0\n"
    1110"Content-Type: text/plain; charset=UTF-8\n"
    1211"Content-Transfer-Encoding: 8bit\n"
    13 "X-Generator: Poedit 2.2\n"
    14 "X-Poedit-Basepath: ..\n"
    15 "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
    16 "X-Poedit-WPHeader: for-your-eyes-only.php\n"
    17 "X-Poedit-SourceCharset: UTF-8\n"
    18 "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
    19 "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
    20 "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
    21 "X-Poedit-SearchPath-0: .\n"
    22 "X-Poedit-SearchPathExcluded-0: node_modules\n"
    23 "X-Poedit-SearchPathExcluded-1: vendor\n"
    24 "X-Poedit-SearchPathExcluded-2: assets\n"
    25 "X-Poedit-SearchPathExcluded-3: tests\n"
     12"POT-Creation-Date: 2025-12-25T03:12:19+00:00\n"
     13"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
     14"X-Generator: WP-CLI 2.12.0\n"
     15"X-Domain: fyeo\n"
     16
     17#. Plugin Name of the plugin
     18#: for-your-eyes-only.php
     19msgid "For Your Eyes Only"
     20msgstr ""
     21
     22#. Plugin URI of the plugin
     23#: for-your-eyes-only.php
     24msgid "https://wordpress.org/plugins/for-your-eyes-only"
     25msgstr ""
     26
     27#. Description of the plugin
     28#: for-your-eyes-only.php
     29msgid "A block restricted only for specified users."
     30msgstr ""
     31
     32#. Author of the plugin
     33#: for-your-eyes-only.php
     34msgid "Tarosky INC."
     35msgstr ""
     36
     37#. Author URI of the plugin
     38#: for-your-eyes-only.php
     39msgid "https://tarosky.co.jp"
     40msgstr ""
    2641
    2742#: app/Hametuha/ForYourEyesOnly/Capability.php:21
     
    4560msgstr ""
    4661
    47 #: app/Hametuha/ForYourEyesOnly/Parser.php:96
     62#. translators: %s is login URL.
     63#: app/Hametuha/ForYourEyesOnly/Parser.php:110
    4864#, php-format
    4965msgid "To see this section, please <a href=\"%s\" rel=\"nofollow\">log in</a>."
     
    5470msgstr ""
    5571
    56 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:25
     72#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:31
    5773msgid "Post ID"
    5874msgstr ""
    5975
    60 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:41
     76#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:47
    6177msgid "Post not found."
    6278msgstr ""
    6379
    64 #: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:46
     80#: app/Hametuha/ForYourEyesOnly/Rest/Blocks.php:52
    6581msgid "You have no capability."
    6682msgstr ""
    6783
    68 #: src/js/block-renderer.js:37
     84#: build/blocks/restricted-block/index.js:1
     85#: src/blocks/restricted-block/index.js:27
     86msgid "(Default)"
     87msgstr ""
     88
     89#: build/blocks/restricted-block/index.js:1
     90#: src/blocks/restricted-block/index.js:56
     91msgid "Visibility Setting"
     92msgstr ""
     93
     94#: build/blocks/restricted-block/index.js:1
     95#: src/blocks/restricted-block/index.js:61
     96msgid "Capability"
     97msgstr ""
     98
     99#: build/blocks/restricted-block/index.js:1
     100#: src/blocks/restricted-block/index.js:67
     101msgid "This block will be displayed only for users specified above."
     102msgstr ""
     103
     104#: build/blocks/restricted-block/index.js:1
     105#: src/blocks/restricted-block/index.js:71
     106msgid "Rendering Style"
     107msgstr ""
     108
     109#: build/blocks/restricted-block/index.js:1
     110#: src/blocks/restricted-block/index.js:75
     111msgid "Asynchronous(JavaScript + REST API)"
     112msgstr ""
     113
     114#: build/blocks/restricted-block/index.js:1
     115#: src/blocks/restricted-block/index.js:79
     116msgid "Dynamic(PHP)"
     117msgstr ""
     118
     119#: build/blocks/restricted-block/index.js:1
     120#: src/blocks/restricted-block/index.js:86
     121msgid "If WordPress is under cache, Asynchronous is recommended."
     122msgstr ""
     123
     124#: build/blocks/restricted-block/index.js:1
     125#: src/blocks/restricted-block/index.js:90
     126msgid "Tagline"
     127msgstr ""
     128
     129#: build/blocks/restricted-block/index.js:1
     130#: src/blocks/restricted-block/index.js:95
     131#, js-format
     132msgid "This instruction will be displayed to users who have no capability. %s will be replaced with login URL."
     133msgstr ""
     134
     135#: build/blocks/restricted-block/view.js:1
     136#: src/blocks/restricted-block/view.js:48
    69137msgid "Failed authentication"
    70138msgstr ""
    71139
    72 #: src/js/block.js:15
    73 msgid "Default(Subscriber)"
    74 msgstr ""
    75 
    76 #: src/js/block.js:32
     140#: build/blocks/restricted-block/block.json
     141#: src/blocks/restricted-block/block.json
     142msgctxt "block title"
    77143msgid "Restricted Block"
    78144msgstr ""
    79145
    80 #: src/js/block.js:38
    81 msgid "Restricted"
    82 msgstr ""
    83 
    84 #. Plugin Name of the plugin/theme
    85 #: src/js/block.js:38
    86 msgid "For Your Eyes Only"
    87 msgstr ""
    88 
    89 #: src/js/block.js:40
     146#: build/blocks/restricted-block/block.json
     147#: src/blocks/restricted-block/block.json
     148msgctxt "block description"
    90149msgid "This block will be displayed only for specified users."
    91150msgstr ""
    92151
    93 #: src/js/block.js:58
    94 msgid "Capability"
     152#: build/blocks/restricted-block/block.json
     153#: src/blocks/restricted-block/block.json
     154msgctxt "block keyword"
     155msgid "restricted"
    95156msgstr ""
    96157
    97 #: src/js/block.js:66
    98 msgid "This block will be displayed only for users specified above."
     158#: build/blocks/restricted-block/block.json
     159#: src/blocks/restricted-block/block.json
     160msgctxt "block keyword"
     161msgid "for your eyes only"
    99162msgstr ""
    100163
    101 #: src/js/block.js:70
    102 msgid "Instruction"
     164#: build/blocks/restricted-block/block.json
     165#: src/blocks/restricted-block/block.json
     166msgctxt "block keyword"
     167msgid "private"
    103168msgstr ""
    104 
    105 #: src/js/block.js:81
    106 #, python-format
    107 msgid ""
    108 "This instruction will be displayed to users who have no capability. %s will "
    109 "be replaced with login URL."
    110 msgstr ""
    111 
    112 #. Plugin URI of the plugin/theme
    113 msgid "https://wordpress.org/plugins/for-your-eyes-only"
    114 msgstr ""
    115 
    116 #. Description of the plugin/theme
    117 msgid "A block restricted only for specified users."
    118 msgstr ""
    119 
    120 #. Author of the plugin/theme
    121 msgid "Hametuha INC."
    122 msgstr ""
    123 
    124 #. Author URI of the plugin/theme
    125 msgid "https://hametuha.co.jp"
    126 msgstr ""
  • for-your-eyes-only/trunk/readme.txt

    r3167227 r3427171  
    22
    33Contributors: tarosky, Takahashi_Fumiki, hametuha 
    4 Tags: membership, login, restrict, gutenberg 
    5 Requires at least: 6.1 
    6 Tested up to: 6.6 
    7 Stable tag: 1.1.5
    8 Requires PHP: 7.2 
     4Tags: membership, login, restrict 
     5Tested up to: 6.9 
     6Stable tag: v1.2.0
    97License: GPLv3 or later 
    108License URI: http://www.gnu.org/licenses/gpl-3.0.txt
     
    2826
    2927For performance enhancement, [Cookie Tasting](https://wordpress.org/plugins/cookie-tasting/) is recommended.
    30 It decrease server access including REST API by checking COOKIE value before accessing to server side script.
     28It decreases server access including REST API by checking COOKIE value before accessing to server side script.
     29
     30= Hooks =
     31
     32 Display Customization
     33
     34- `fyeo_tag_line` - Customize the default tagline displayed to users without capability. `%s` will be replaced with login URL.
     35- `fyeo_login_url` - Replace the login URL. Default is `wp_login_url()`.
     36- `fyeo_redirect_url` - Customize redirect URL after login. Receives post object as second argument.
     37- `fyeo_redirect_key` - Change query parameter key for redirect. Default is `redirect_to`.
     38- `fyeo_enqueue_style` - Whether to enqueue default theme style. Return `false` to disable.
     39
     40 Capability Control
     41
     42- `fyeo_capabilities_list` - Customize available capabilities list shown in block settings.
     43- `fyeo_default_capability` - Change default capability. Default is `read`.
     44- `fyeo_user_has_cap` - Override capability check result. Receives `$has_cap`, `$capability`, `$user`.
     45
     46 Rendering
     47
     48- `fyeo_default_render_style` - Set default rendering style. Return `dynamic` for PHP rendering, empty string for async.
     49- `fyeo_can_display_non_public` - Allow displaying restricted content for non-public posts. Receives `$post` object.
     50
     51 REST API
     52
     53- `fyeo_minimum_rest_capability` - Control REST API access. Return `false` to deny access.
    3154
    3255== Installation ==
  • for-your-eyes-only/trunk/vendor/autoload.php

    r3166983 r3427171  
    1515        }
    1616    }
    17     trigger_error(
    18         $err,
    19         E_USER_ERROR
    20     );
     17    throw new RuntimeException($err);
    2118}
    2219
    2320require_once __DIR__ . '/composer/autoload_real.php';
    2421
    25 return ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6::getLoader();
     22return ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646::getLoader();
  • for-your-eyes-only/trunk/vendor/composer/InstalledVersions.php

    r3166983 r3427171  
    2828{
    2929    /**
     30     * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
     31     * @internal
     32     */
     33    private static $selfDir = null;
     34
     35    /**
    3036     * @var mixed[]|null
    3137     * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
    3238     */
    3339    private static $installed;
     40
     41    /**
     42     * @var bool
     43     */
     44    private static $installedIsLocalDir;
    3445
    3546    /**
     
    310321        self::$installed = $data;
    311322        self::$installedByVendor = array();
     323
     324        // when using reload, we disable the duplicate protection to ensure that self::$installed data is
     325        // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
     326        // so we have to assume it does not, and that may result in duplicate data being returned when listing
     327        // all installed packages for example
     328        self::$installedIsLocalDir = false;
     329    }
     330
     331    /**
     332     * @return string
     333     */
     334    private static function getSelfDir()
     335    {
     336        if (self::$selfDir === null) {
     337            self::$selfDir = strtr(__DIR__, '\\', '/');
     338        }
     339
     340        return self::$selfDir;
    312341    }
    313342
     
    323352
    324353        $installed = array();
     354        $copiedLocalDir = false;
    325355
    326356        if (self::$canGetVendors) {
     357            $selfDir = self::getSelfDir();
    327358            foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
     359                $vendorDir = strtr($vendorDir, '\\', '/');
    328360                if (isset(self::$installedByVendor[$vendorDir])) {
    329361                    $installed[] = self::$installedByVendor[$vendorDir];
     
    331363                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332364                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     365                    self::$installedByVendor[$vendorDir] = $required;
     366                    $installed[] = $required;
     367                    if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
     368                        self::$installed = $required;
     369                        self::$installedIsLocalDir = true;
    336370                    }
     371                }
     372                if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
     373                    $copiedLocalDir = true;
    337374                }
    338375            }
     
    351388        }
    352389
    353         if (self::$installed !== array()) {
     390        if (self::$installed !== array() && !$copiedLocalDir) {
    354391            $installed[] = self::$installed;
    355392        }
  • for-your-eyes-only/trunk/vendor/composer/autoload_real.php

    r3166983 r3427171  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6
     5class ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit9a03694fbf8c19d33a11828b26b3b4a6', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit225b7cc0b6bbecb1a15357b676e45646', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::getInitializer($loader));
    3333
    3434        $loader->register(true);
  • for-your-eyes-only/trunk/vendor/composer/autoload_static.php

    r3166983 r3427171  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6
     7class ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646
    88{
    99    public static $prefixLengthsPsr4 = array (
    10         'M' => 
     10        'M' =>
    1111        array (
    1212            'Masterminds\\' => 12,
     
    1515
    1616    public static $prefixDirsPsr4 = array (
    17         'Masterminds\\' => 
     17        'Masterminds\\' =>
    1818        array (
    1919            0 => __DIR__ . '/..' . '/masterminds/html5/src',
     
    2222
    2323    public static $prefixesPsr0 = array (
    24         'H' => 
     24        'H' =>
    2525        array (
    26             'Hametuha\\ForYourEyesOnly' => 
     26            'Hametuha\\ForYourEyesOnly' =>
    2727            array (
    2828                0 => __DIR__ . '/../..' . '/app',
     
    3838    {
    3939        return \Closure::bind(function () use ($loader) {
    40             $loader->prefixLengthsPsr4 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixLengthsPsr4;
    41             $loader->prefixDirsPsr4 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixDirsPsr4;
    42             $loader->prefixesPsr0 = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$prefixesPsr0;
    43             $loader->classMap = ComposerStaticInit9a03694fbf8c19d33a11828b26b3b4a6::$classMap;
     40            $loader->prefixLengthsPsr4 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixLengthsPsr4;
     41            $loader->prefixDirsPsr4 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixDirsPsr4;
     42            $loader->prefixesPsr0 = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$prefixesPsr0;
     43            $loader->classMap = ComposerStaticInit225b7cc0b6bbecb1a15357b676e45646::$classMap;
    4444
    4545        }, null, ClassLoader::class);
  • for-your-eyes-only/trunk/vendor/composer/installed.json

    r3166983 r3427171  
    33        {
    44            "name": "masterminds/html5",
    5             "version": "2.9.0",
    6             "version_normalized": "2.9.0.0",
     5            "version": "2.10.0",
     6            "version_normalized": "2.10.0.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/Masterminds/html5-php.git",
    10                 "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"
     10                "reference": "fcf91eb64359852f00d921887b219479b4f21251"
    1111            },
    1212            "dist": {
    1313                "type": "zip",
    14                 "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
    15                 "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
     14                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251",
     15                "reference": "fcf91eb64359852f00d921887b219479b4f21251",
    1616                "shasum": ""
    1717            },
     
    2323                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
    2424            },
    25             "time": "2024-03-31T07:05:07+00:00",
     25            "time": "2025-07-25T09:04:22+00:00",
    2626            "type": "library",
    2727            "extra": {
     
    6767            "support": {
    6868                "issues": "https://github.com/Masterminds/html5-php/issues",
    69                 "source": "https://github.com/Masterminds/html5-php/tree/2.9.0"
     69                "source": "https://github.com/Masterminds/html5-php/tree/2.10.0"
    7070            },
    7171            "install-path": "../masterminds/html5"
  • for-your-eyes-only/trunk/vendor/composer/installed.php

    r3167227 r3427171  
    22    'root' => array(
    33        'name' => 'tarosky/for-your-eyes-only',
    4         'pretty_version' => '1.1.5',
    5         'version' => '1.1.5.0',
    6         'reference' => '8daa7994eb666a2aae2b1076270a35a75e38fa66',
     4        'pretty_version' => 'v1.2.0',
     5        'version' => '1.2.0.0',
     6        'reference' => '1fb1fc95ce3f3cc7898adff2c6955298855bb37f',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'masterminds/html5' => array(
    14             'pretty_version' => '2.9.0',
    15             'version' => '2.9.0.0',
    16             'reference' => 'f5ac2c0b0a2eefca70b2ce32a5809992227e75a6',
     14            'pretty_version' => '2.10.0',
     15            'version' => '2.10.0.0',
     16            'reference' => 'fcf91eb64359852f00d921887b219479b4f21251',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../masterminds/html5',
     
    2121        ),
    2222        'tarosky/for-your-eyes-only' => array(
    23             'pretty_version' => '1.1.5',
    24             'version' => '1.1.5.0',
    25             'reference' => '8daa7994eb666a2aae2b1076270a35a75e38fa66',
     23            'pretty_version' => 'v1.2.0',
     24            'version' => '1.2.0.0',
     25            'reference' => '1fb1fc95ce3f3cc7898adff2c6955298855bb37f',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
  • for-your-eyes-only/trunk/vendor/composer/platform_check.php

    r3166983 r3427171  
    55$issues = array();
    66
    7 if (!(PHP_VERSION_ID >= 70200)) {
    8     $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.0". You are running ' . PHP_VERSION . '.';
     7if (!(PHP_VERSION_ID >= 70400)) {
     8    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
    99}
    1010
     
    2020        }
    2121    }
    22     trigger_error(
    23         'Composer detected issues in your platform: ' . implode(' ', $issues),
    24         E_USER_ERROR
     22    throw new \RuntimeException(
     23        'Composer detected issues in your platform: ' . implode(' ', $issues)
    2524    );
    2625}
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5.php

    r3166983 r3427171  
    147147     *
    148148     * @param string $input
    149      * @param array  $options
    150149     *
    151150     * @return \DOMDocument
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php

    r2066239 r3427171  
    4949
    5050    /**
    51      * Given a hexidecimal number, return the UTF-8 character.
     51     * Given a hexadecimal number, return the UTF-8 character.
    5252     *
    5353     * @param $hexdec
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php

    r3166983 r3427171  
    232232     * This is used for handling Processor Instructions as they are
    233233     * inserted. If omitted, PI's are inserted directly into the DOM tree.
    234      *
    235      * @param InstructionProcessor $proc
    236234     */
    237235    public function setInstructionProcessor(InstructionProcessor $proc)
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php

    r3166983 r3427171  
    508508
    509509        $val = $this->attributeValue();
    510         if ($isValidAttribute) {
     510        if ($isValidAttribute && !array_key_exists($name, $attributes)) {
    511511            $attributes[$name] = $val;
    512512        }
     
    730730        if ('!' == $this->scanner->current() && '>' == $this->scanner->peek()) {
    731731            $this->scanner->consume(); // Consume the last '>'
     732
    732733            return true;
    733734        }
     
    11281129            }
    11291130
    1130             // Hexidecimal encoding.
     1131            // Hexadecimal encoding.
    11311132            // X[0-9a-fA-F]+;
    11321133            // x[0-9a-fA-F]+;
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php

    r2066239 r3427171  
    8181            case 'tfoot':
    8282            case 'table': // Spec isn't explicit about this, but it's necessary.
    83 
    8483                return $this->closeIfCurrentMatches($new, $current, array(
    8584                    'thead',
  • for-your-eyes-only/trunk/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php

    r3166983 r3427171  
    207207    }
    208208
     209    /**
     210     * @param \DOMElement $ele
     211     */
    209212    public function element($ele)
    210213    {
     
    228231
    229232        $this->openTag($ele);
     233        // The tag is already self-closed (`<svg />` or `<math />`) in `openTag` if there are no child nodes.
     234        $handledAsVoidTag = $this->outputMode !== static::IM_IN_HTML && !$ele->hasChildNodes();
     235
    230236        if (Elements::isA($name, Elements::TEXT_RAW)) {
    231237            foreach ($ele->childNodes as $child) {
     
    249255
    250256        // If not unary, add a closing tag.
    251         if (!Elements::isA($name, Elements::VOID_TAG)) {
     257        if (!$handledAsVoidTag && !Elements::isA($name, Elements::VOID_TAG)) {
    252258            $this->closeTag($ele);
    253259        }
  • for-your-eyes-only/trunk/wp-dependencies.json

    r3167201 r3427171  
    11[
    22    {
    3         "handle": "fyeo-block",
    4         "path": "assets/js/block.js",
    5         "ext": "js",
    6         "hash": "a8c8d10210276250c6eeb764edbda151",
    7         "version": "0.0.0",
    8         "deps": [
    9             "wp-blocks",
    10             "wp-i18n",
    11             "wp-element",
    12             "wp-block-editor",
    13             "wp-components"
    14         ],
    15         "footer": true,
    16         "media": "all"
    17     },
    18     {
    19         "handle": "fyeo-block-renderer",
    20         "path": "assets/js/block-renderer.js",
    21         "ext": "js",
    22         "hash": "1798b4a9718c8018b2f9ef697307f8aa",
    23         "version": "0.0.0",
    24         "deps": [
    25             "jquery",
    26             "wp-i18n",
    27             "wp-api-fetch"
    28         ],
    29         "footer": true,
    30         "media": "all"
    31     },
    32     {
    333        "handle": "fyeo-theme",
    34         "path": "assets/css/theme.css",
     4        "path": "build/css/theme.css",
    355        "ext": "css",
    36         "hash": "31a91d7d932b76db5a6130d3ab99de35",
     6        "hash": "7fe166300f0fe8c3fdc4a10981127a0e",
    377        "version": "0.0.0",
    388        "deps": [],
    399        "footer": true,
    40         "media": "all"
    41     },
    42     {
    43         "handle": "fyeo-block",
    44         "path": "assets/css/block.css",
    45         "ext": "css",
    46         "hash": "b1b2227dff182e7d233aeba21e0fafea",
    47         "version": "0.0.0",
    48         "deps": [
    49             "dashicons"
    50         ],
    51         "footer": true,
    52         "media": "all"
     10        "media": "all",
     11        "strategy": ""
    5312    }
    5413]
Note: See TracChangeset for help on using the changeset viewer.