PluginProbe ʕ •ᴥ•ʔ
VK Blocks / trunk
VK Blocks vtrunk
1.126.4 1.126.3 1.126.1 1.126.2 1.126.0 1.125.0 1.124.0 1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / vk-blocks.php
vk-blocks Last commit date
build 3 days ago editor-css 1 week ago inc 3 days ago lib 2 years ago options-css 3 days ago vendor 3 days ago composer.json 2 weeks ago composer.lock 4 days ago readme.txt 3 days ago screenshot-1.png 4 years ago screenshot-2.png 4 years ago vk-blocks.php 3 days ago
vk-blocks.php
188 lines
1 <?php
2 /**
3 * Plugin Name: VK Blocks
4 * Plugin URI: https://github.com/vektor-inc/vk-blocks
5 * Description: This is a plugin that extends Block Editor.
6 * Version: 1.126.4
7 * Requires at least: 6.6
8 * Author: Vektor,Inc.
9 * Author URI: https://vektor-inc.co.jp
10 * Text Domain: vk-blocks
11 * License: GPLv2 or later
12 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
13 *
14 * @package vk-blocks
15 */
16
17 // Do not load directly.
18 if ( ! defined( 'ABSPATH' ) ) {
19 exit;
20 }
21
22
23 /*
24 無料版の VK Blocks の無効化が正常に動作しなかった場合に無料版の関数が�
25 �に定義され
26 重複 -> Fatal error になるため function_exists は フォールバックとして付与している
27 */
28 if ( ! function_exists( 'vk_blocks_get_version' ) ) {
29 /**
30 * Get Plugin Version
31 *
32 * @return string
33 */
34 function vk_blocks_get_version() {
35 $data = get_file_data( __FILE__, array( 'version' => 'Version' ) );
36 return $data['version'];
37 }
38 }
39
40 /**
41 * Deactivate VK Blocks ( Free )
42 *
43 * 読み込んでだ時に無料版が有効化されていたら、誤動作しないようになるべく早く無効化するためそのまま実行させている
44 * VK Blocks 無料版の 1.36.0 で vk_blocks_is_pro を function_exists を経由せずに定義してしまっているため、
45 * 無料版 1.36.0 を停止する前に vk_blocks_is_pro を定義するとエラーになるため、
46 * vk_blocks_is_pro の定義前に無料版の無効化処理を行っている
47 * 1.36.0無料版有効化時にPRo版を有効化時に一瞬エラーが表示されるが、再読み込みで復帰する
48 * 1.36.0無料版をアップデートしてもらわないとこれは避けられないので、当面はこのまま運用する
49 *
50 * プロ版での読み込みかどうかの判定は strpos を使っているが、
51 * strpos は"合致している"にも関わらず返り値は"0"を返してしまうため !== false で処理している.
52 */
53 require_once ABSPATH . 'wp-admin/includes/plugin.php';
54
55 if ( strpos( plugin_dir_path( __FILE__ ), 'vk-blocks-pro' ) !== false ) {
56 if ( is_plugin_active( 'vk-blocks/vk-blocks.php' ) ) {
57 deactivate_plugins( 'vk-blocks/vk-blocks.php' );
58
59 // Deactivate ExUnit included VK Blocks.
60 $vk_blocks_exunit_common_options = get_option( 'vkExUnit_common_options' );
61 if ( ! empty( $vk_blocks_exunit_common_options['active_vk-blocks'] ) ) {
62 $vk_blocks_exunit_common_options['active_vk-blocks'] = false;
63 update_option( 'vkExUnit_common_options', $vk_blocks_exunit_common_options );
64 }
65 return;
66 }
67 if ( is_plugin_active( 'vk-gridcolcard/vk-gridcolcard.php' ) ) {
68 deactivate_plugins( 'vk-gridcolcard/vk-gridcolcard.php' );
69 require_once ABSPATH . 'wp-admin/includes/plugin.php';
70 // Deactivate ExUnit included VK Blocks.
71 $vk_blocks_exunit_common_options = get_option( 'vkExUnit_common_options' );
72 if ( ! empty( $vk_blocks_exunit_common_options['active_vk-blocks'] ) ) {
73 $vk_blocks_exunit_common_options['active_vk-blocks'] = false;
74 update_option( 'vkExUnit_common_options', $vk_blocks_exunit_common_options );
75 }
76 return;
77 }
78 } elseif ( strpos( plugin_dir_path( __FILE__ ), 'vk-blocks' ) !== false ) {
79 if ( is_plugin_active( 'vk-blocks-pro/vk-blocks.php' ) ) {
80 require_once ABSPATH . 'wp-admin/includes/plugin.php';
81 // Deactivate ExUnit included VK Blocks.
82 $vk_blocks_exunit_common_options = get_option( 'vkExUnit_common_options' );
83 if ( ! empty( $vk_blocks_exunit_common_options['active_vk-blocks'] ) ) {
84 $vk_blocks_exunit_common_options['active_vk-blocks'] = false;
85 update_option( 'vkExUnit_common_options', $vk_blocks_exunit_common_options );
86 }
87 return;
88 }
89 }
90
91 if ( is_admin() && ! is_network_admin() ) {
92 $vk_blocks_options = get_option( 'vkExUnit_common_options' );
93 if ( ! empty( $vk_blocks_options['active_vk-blocks'] ) ) {
94 $vk_blocks_options['active_vk-blocks'] = false;
95 update_option( 'vkExUnit_common_options', $vk_blocks_options );
96
97 add_action(
98 'admin_notices',
99 function () {
100 echo '<div class="updated notice"><p>';
101 echo esc_html( __( 'Disabled Blocks module on VK All in One Expansion Unit. Because VK-Blocks Plugin running.', 'vk-blocks' ) );
102 echo '</p></div>';
103 }
104 );
105 }
106 }
107
108 /*
109 無料版の VK Blocks の無効化が正常に動作しなかった場合に無料版の関数が�
110 �に定義され
111 重複 -> Fatal error になるため function_exists は フォールバックとして付与している
112 */
113 if ( ! function_exists( 'vk_blocks_is_pro' ) ) {
114 /**
115 * Check Free or Pro
116 *
117 * @return bool
118 */
119 function vk_blocks_is_pro() {
120 $return = false;
121 // 注意 : strpos() は合致した開始位置を返すので、最初に合致すると、
122 // "合致している"にも関わらず返り値は"0"を返してしまうため !== false で処理している.
123 if ( strpos( plugin_dir_path( __FILE__ ), 'vk-blocks-pro' ) !== false ) {
124 $return = true;
125 }
126 return $return;
127 }
128 }
129
130 /****************************************************************************************
131 * Start VK Blocks
132 * 無料版を無効化した後に書かないと関数の二重宣言などになるので注意
133 */
134 if ( ! function_exists( 'vk_blocks_loaded' ) ) {
135 /**
136 * Load VK Blocks
137 *
138 * @return void
139 */
140 function vk_blocks_loaded() {
141 // Composer のファイルを読み込み ( composer install --no-dev ).
142 require_once plugin_dir_path( __FILE__ ) . 'vendor/autoload.php';
143 // Set plugin dir path.
144 if ( ! defined( 'VK_BLOCKS_DIR_PATH' ) ) {
145 define( 'VK_BLOCKS_DIR_PATH', plugin_dir_path( __FILE__ ) );
146 }
147 // Set Plugin Dir URL.
148 if ( ! defined( 'VK_BLOCKS_DIR_URL' ) ) {
149 define( 'VK_BLOCKS_DIR_URL', plugin_dir_url( __FILE__ ) );
150 }
151 // Load VK Blocks
152 require_once plugin_dir_path( __FILE__ ) . 'inc/vk-blocks-config.php';
153 }
154 add_action( 'plugins_loaded', 'vk_blocks_loaded' );
155 }
156
157
158 /****************************************************************************************
159 * Load updater ( Pro version only )
160 *
161 * This code lives in inc/vk-blocks-pro/updater.php, not here, so that it is
162 * never present in the free version's distributed files (that file is excluded
163 * from the free repository sync via .freeignore).
164 * このコードを本ファイルに直接書かず inc/vk-blocks-pro/updater.php に分離しているのは、
165 * 無料版の�
166 �布物にこのコード(アップデートチェッカー)が含まれないようにするため。
167 * このファイルは .freeignore により無料版リポジトリへの同期対象から除外される。
168 */
169 $vk_blocks_pro_updater_file = plugin_dir_path( __FILE__ ) . 'inc/vk-blocks-pro/updater.php';
170 if ( file_exists( $vk_blocks_pro_updater_file ) ) {
171 require_once $vk_blocks_pro_updater_file;
172 }
173
174 if ( function_exists( 'register_deactivation_hook' ) ) {
175 register_deactivation_hook( __FILE__, 'vk_blocks_deactivate_function' );
176 }
177
178 if ( ! function_exists( 'vk_blocks_deactivate_function' ) ) {
179 /**
180 * Deactivate function
181 *
182 * @return void
183 */
184 function vk_blocks_deactivate_function() {
185 delete_option( 'vk_blocks_checked_flags' );
186 }
187 }
188