PluginProbe
Tableberg – Simple Gutenberg Table Block / 1.2.0
Tableberg – Simple Gutenberg Table Block v1.2.0
1.2.0 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 trunk 0.0.2 0.2.1 0.3.2 0.3.3 0.4.1 0.5.0 0.5.1 0.5.2 0.5.3 0.5.4 0.5.5 0.5.6 All 43 releases
tableberg / tableberg.php

tableberg.php in Tableberg – Simple Gutenberg Table Block 1.2.0, at tableberg.php

148 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Plugin Name: Tableberg
5 * Plugin URI: https://tableberg.com/
6 * Description: Table Block by Tableberg - Create Better Tables With Block Editor
7 * Version: 1.2.0
8 * Requires at least: 6.1
9 * Requires PHP: 7.0
10 * Author: Tableberg
11 * Author URI: https://tableberg.com/
12 * License: GPL-2.0-or-later
13 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
14 * Text Domain: tableberg
15 *
16 * @package Tableberg
17 */
18
19 if (!defined('ABSPATH')) {
20 exit;
21 }
22 if (!defined('TABLEBERG_VERSION')) {
23 define('TABLEBERG_VERSION', '1.2.0');
24 }
25 if (!defined('TABLEBERG_DIR_PATH')) {
26 define('TABLEBERG_DIR_PATH', plugin_dir_path(__FILE__));
27 }
28
29 if (!defined('TABLEBERG_URL')) {
30 define('TABLEBERG_URL', plugin_dir_url(__FILE__));
31 }
32 if (!defined('TABLEBERG_PLUGIN_FILE')) {
33 define('TABLEBERG_PLUGIN_FILE', __FILE__);
34 }
35
36 require_once __DIR__ . '/vendor/autoload.php';
37 require_once __DIR__ . '/renderer/utils.php';
38
39 if (!function_exists('tab_fs')) {
40 function tab_fs() {
41 global $tab_fs;
42
43 if (!isset($tab_fs)) {
44 require_once __DIR__ . '/vendor/freemius/start.php';
45
46 $tab_fs = fs_dynamic_init(
47 [
48 'id' => '14649',
49 'slug' => 'tableberg',
50 'type' => 'plugin',
51 'public_key' => 'pk_8043aa788c004c4b385af8384c74b',
52 'is_premium' => false,
53 'has_addons' => true,
54 'has_paid_plans' => false,
55 'is_org_compliant' => true,
56 'menu' => [
57 'slug' => 'tableberg-settings',
58 'first-path' => 'admin.php?page=tableberg-settings&route=welcome',
59 ],
60 ]
61 );
62 }
63
64 return $tab_fs;
65 }
66
67 tab_fs();
68 do_action('tab_fs_loaded');
69 }
70
71 use Tableberg\Renderer\Migrations\BlockContentMigrator;
72 use Tableberg\Renderer\Table\TableRenderer;
73 use Tableberg\Renderer\ToggleBlockRenderer;
74
75 if (!class_exists('Tableberg')) {
76 class Tableberg {
77 public function __construct() {
78 new Tableberg\Admin\Tableberg_Admin();
79 add_action('init', [$this, 'register_blocks']);
80 add_action(
81 'enqueue_block_editor_assets',
82 [$this, 'localize_block_editor_assets']
83 );
84 add_action('wp_enqueue_scripts', [$this, 'localize_frontend_assets']);
85
86 $restController = new Tableberg\DynamicData\RestController();
87 add_action('rest_api_init', [$restController, 'register_routes']);
88
89 $migrator = new BlockContentMigrator();
90 add_action('rest_api_init', [$migrator, 'register_rest_hooks']);
91 add_filter('render_block_data', [$migrator, 'migrate_parsed_block']);
92
93 register_activation_hook(__FILE__, [$this, 'activate_plugin']);
94 register_deactivation_hook(__FILE__, [$this, 'deactivate_plugin']);
95 }
96
97 public function localize_block_editor_assets() {
98 $assets = new \Tableberg\Assets();
99 $assets->register_blocks_assets();
100 }
101
102 public function localize_frontend_assets() {
103 $assets = new \Tableberg\Assets();
104 $assets->register_frontend_assets();
105 }
106
107 public function register_blocks() {
108 $renderer = new TableRenderer();
109
110 register_block_type_from_metadata(
111 TABLEBERG_DIR_PATH . 'build/blocks/table/block.json',
112 [
113 'render_callback' => [$renderer, 'render'],
114 ]
115 );
116
117 $toggleBlockRenderer = new ToggleBlockRenderer();
118
119 register_block_type_from_metadata(
120 TABLEBERG_DIR_PATH . 'build/blocks/toggle/block.json',
121 [
122 'render_callback' => [
123 $toggleBlockRenderer, 'render',
124 ],
125 ]
126 );
127 }
128
129 public function activate_plugin() {
130 set_transient('_welcome_redirect_tableberg', true, 60);
131
132 update_option('tableberg_version', TABLEBERG_VERSION);
133 update_option('tableberg_installDate', date('Y-m-d h:i:s'));
134
135 add_option('tableberg_review_notify', 'no');
136 }
137
138 public function deactivate_plugin() {
139 delete_transient('_welcome_redirect_tableberg');
140
141 delete_option('tableberg_version');
142 delete_option('tableberg_installDate');
143 }
144 }
145
146 new Tableberg();
147 }
148