PluginProbe
TablePress – Tables in WordPress made easy / 2.2
TablePress – Tables in WordPress made easy v2.2
3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.12 1.14 1.9.2 2.0.4 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3 2.4.4 All 44 releases
tablepress / tablepress.php

tablepress.php in TablePress – Tables in WordPress made easy 2.2, at tablepress.php

147 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WordPress plugin "TablePress" main file, responsible for initiating the plugin.
4 *
5 * @package TablePress
6 * @author Tobias Bäthge
7 * @version 2.2
8 *
9 *
10 * Plugin Name: TablePress
11 * Plugin URI: https://tablepress.org/
12 * Description: Embed beautiful and interactive tables into your WordPress website’s posts and pages, without having to write code!
13 * Version: 2.2
14 * Requires at least: 6.0
15 * Requires PHP: 7.2
16 * Author: Tobias Bäthge
17 * Author URI: https://tablepress.org/
18 * Author email: wordpress@tobias.baethge.com
19 * License: GPL 2
20 * Donate URI: https://tablepress.org/donate/
21 *
22 *
23 * Copyright 2012-2023 Tobias Bäthge
24 *
25 * TablePress is free software: you can redistribute it and/or modify
26 * it under the terms of the GNU General Public License, version 2, as published by
27 * the Free Software Foundation.
28 *
29 * TablePress is distributed in the hope that it will be useful,
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 * GNU General Public License for more details.
33 *
34 * You should have received a copy of the GNU General Public License
35 * along with WordPress. If not, see https://www.gnu.org/licenses/gpl-2.0.html.
36 *
37 * Note: This file must not contain PHP code that does not run on PHP < 7.2!
38 */
39
40 // Prohibit direct script loading.
41 defined( 'ABSPATH' ) || die( 'No direct script access allowed!' );
42
43 if ( function_exists( 'tb_tp_fs' ) ) {
44 tb_tp_fs()->set_basename( false, __FILE__ ); // @phpstan-ignore-line
45 } else {
46 /**
47 * Helper function for easier Freemius SDK access.
48 *
49 * @since 2.0.0
50 *
51 * @return Freemius Freemius SDK instance.
52 */
53 function tb_tp_fs() /* No return type declaration, due to required PHP compatibility of this file! */ {
54 global $tb_tp_fs;
55
56 if ( ! isset( $tb_tp_fs ) ) {
57 // Include Freemius SDK.
58 require_once __DIR__ . '/libraries/freemius/start.php';
59
60 $tb_tp_fs = fs_dynamic_init( array(
61 'id' => '10340',
62 'slug' => 'tablepress',
63 'type' => 'plugin',
64 'public_key' => 'pk_b215ca1bb4041cf43ed137ae7665b',
65 'is_premium' => false,
66 'has_addons' => false,
67 'has_paid_plans' => true,
68 'menu' => array(
69 'slug' => 'tablepress',
70 'contact' => false,
71 'support' => false,
72 'account' => false,
73 'pricing' => false,
74 ),
75 'opt_in_moderation' => array(
76 'new' => true,
77 'updates' => false,
78 'localhost' => false,
79 ),
80 'is_live' => true,
81 ) );
82 }
83
84 return $tb_tp_fs;
85 }
86
87 // Init Freemius.
88 tb_tp_fs();
89
90 // Load the TablePress plugin icon for the Freemius opt-in/activation screen.
91 tb_tp_fs()->add_filter(
92 'plugin_icon',
93 static function () /* No return type declaration, due to required PHP compatibility of this file! */ {
94 return __DIR__ . '/admin/img/tablepress.png';
95 }
96 );
97
98 // Hide the tabs navigation on Freemius screens.
99 tb_tp_fs()->add_filter( 'hide_account_tabs', '__return_true' );
100
101 // Hide the Powered by Freemius tab from generated pages, like "Upgrade" or "Pricing".
102 tb_tp_fs()->add_filter( 'hide_freemius_powered_by', '__return_true' );
103
104 // Use different arrow icons in the admin menu.
105 tb_tp_fs()->override_i18n( array(
106 'symbol_arrow-left' => '&larr;',
107 'symbol_arrow-right' => '&rarr;',
108 ) );
109
110 // Signal that the SDK was initiated.
111 do_action( 'tb_tp_fs_loaded' );
112
113 /*
114 * Define certain plugin variables as constants.
115 */
116 if ( ! defined( 'TABLEPRESS_ABSPATH' ) ) {
117 define( 'TABLEPRESS_ABSPATH', trailingslashit( __DIR__ ) );
118 }
119 if ( ! defined( 'TABLEPRESS__FILE__' ) ) {
120 define( 'TABLEPRESS__FILE__', __FILE__ );
121 }
122 if ( ! defined( 'TABLEPRESS_BASENAME' ) ) {
123 define( 'TABLEPRESS_BASENAME', plugin_basename( TABLEPRESS__FILE__ ) );
124 }
125 if ( ! defined( 'TABLEPRESS_JSON_OPTIONS' ) ) {
126 // JSON_UNESCAPED_SLASHES: Don't escape slashes, e.g. to make search/replace of URLs in the database easier.
127 define( 'TABLEPRESS_JSON_OPTIONS', JSON_UNESCAPED_SLASHES );
128 }
129
130 /*
131 * Check if the site environment fulfills the minimum requirements.
132 */
133 if ( ! require_once TABLEPRESS_ABSPATH . 'controllers/environment-checks.php' ) {
134 return; // Exit early if the return value from the file is false.
135 }
136
137 /*
138 * Load TablePress class, which holds common functions and variables.
139 */
140 require_once TABLEPRESS_ABSPATH . 'classes/class-tablepress.php';
141
142 /*
143 * Start up TablePress on WordPress's "init" action hook.
144 */
145 add_action( 'init', array( 'TablePress', 'run' ) );
146 }
147