PluginProbe
WP Coder – Insert & Manage Code Snippets / 3.0.5
WP Coder – Insert & Manage Code Snippets v3.0.5
4.5.1 1.1 2.3.1 2.3.2 2.4.1 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1 3.1.1 3.2 3.2.1 3.3 3.4 3.5 3.5.1 All 39 releases
wp-coder / wp-coder.php

wp-coder.php in WP Coder – Insert & Manage Code Snippets 3.0.5, at wp-coder.php

178 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: WP Coder
4 * Plugin URI: https://wordpress.org/plugins/wp-coder/
5 * Description: Adding custom HTML, CSS, and JavaScript code to your WordPress site.
6 * Version: 3.0.5
7 * Author: Wow-Company
8 * Author URI: https://wow-estore.com/
9 * License: GPL-2.0+
10 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11 * Text Domain: wpcoder
12 * Requires at least: 5.4
13 * Requires PHP: 7.4
14 */
15
16 namespace WPCoder;
17
18 // Exit if accessed directly.
19 use WPCoder\Dashboard\DBManager;
20 use WPCoder\Dashboard\FolderManager;
21 use WPCoder\Update\UpdateDB;
22
23 defined( 'ABSPATH' ) || exit;
24
25 if ( ! class_exists( 'WOW_Plugin' ) ) :
26
27 final class WOW_Plugin {
28
29 public const EMAIl = 'yoda@wow-company.com';
30 // Plugin name
31 public const NAME = 'WP Coder';
32
33 // Plugin version
34 public const VERSION = '3.0.5';
35
36 // Plugin slug
37 public const SLUG = 'wp-coder';
38
39 // Plugin prefix
40 public const PREFIX = 'wow_coder';
41
42 public const FOLDER = 'wp-coder';
43
44 public const SHORTCODE = 'WP-Coder';
45
46 // Plugin ULR
47 public const PluginURL = 'https://wordpress.org/plugins/wp-coder/';
48
49 private static $instance;
50 /**
51 * @var Autoloader
52 */
53 private $autoloader;
54 /**
55 * @var Wow_Dashboard
56 */
57 private $dashboard;
58
59 public static function instance(): WOW_Plugin {
60 if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WOW_Plugin ) ) {
61 self::$instance = new self;
62
63 self::$instance->includes();
64 self::$instance->autoloader = new Autoloader( 'WPCoder' );
65 self::$instance->dashboard = new WOWP_Dashboard();
66 self::$instance->public = new WOWP_Public();
67
68 register_activation_hook( __FILE__, [ self::$instance, 'plugin_activate' ] );
69 add_action( 'plugins_loaded', [ self::$instance, 'loaded' ] );
70 }
71
72
73 return self::$instance;
74 }
75
76 // Plugin Root File.
77 public static function file(): string {
78 return __FILE__;
79 }
80
81 // Plugin Base Name.
82 public static function basename(): string {
83 return plugin_basename( __FILE__ );
84 }
85
86 // Plugin Folder Path.
87 public static function dir(): string {
88 return plugin_dir_path( __FILE__ );
89 }
90
91 // Plugin Folder URL.
92 public static function url(): string {
93 return plugin_dir_url( __FILE__ );
94 }
95
96 /**
97 * Include required files.
98 *
99 * @access private
100 * @since 1.0
101 */
102 private function includes(): void {
103 if ( ! class_exists( 'Wow_Company' ) ) {
104 require_once self::dir() . 'includes/class-wow-company.php';
105 }
106
107 require_once self::dir() . 'classes/Autoloader.php';
108 require_once self::dir() . 'includes/class-wowp-dashboard.php';
109 require_once self::dir() . 'includes/class-wowp-public.php';
110 }
111
112 /**
113 * Throw error on object clone.
114 * The whole idea of the singleton design pattern is that there is a single
115 * object therefore, we don't want the object to be cloned.
116 *
117 * @return void
118 * @access protected
119 */
120 public function __clone() {
121 // Cloning instances of the class is forbidden.
122 _doing_it_wrong( __FUNCTION__, esc_attr__( 'Cheatin&#8217; huh?', 'wpcoder' ), '1.0' );
123 }
124
125 /**
126 * Disable unserializing of the class.
127 *
128 * @return void
129 * @access protected
130 */
131 public function __wakeup() {
132 // Unserializing instances of the class is forbidden.
133 _doing_it_wrong( __FUNCTION__, esc_attr__( 'Cheatin&#8217; huh?', 'wpcoder' ), '1.0' );
134 }
135
136 public function plugin_activate(): void {
137 $columns = "
138 id mediumint(9) NOT NULL AUTO_INCREMENT,
139 title VARCHAR(200) NOT NULL,
140 html_code LONGTEXT,
141 css_code LONGTEXT,
142 js_code LONGTEXT,
143 param LONGTEXT,
144 status BOOLEAN,
145 mode BOOLEAN,
146 tag TEXT,
147 UNIQUE KEY id (id)
148 ";
149 DBManager::create( $columns );
150 FolderManager::create();
151
152 include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
153 if ( is_plugin_active( 'wp-coder-pro/wp-coder-pro.php' ) ) {
154 deactivate_plugins( 'wp-coder-pro/wp-coder-pro.php' );
155 }
156 }
157
158 /**
159 * Download the folder with languages.
160 *
161 * @access Publisher
162 * @return void
163 */
164 public function loaded(): void {
165 UpdateDB::init();
166 $languages_folder = dirname( plugin_basename( __FILE__ ) ) . '/languages/';
167 load_plugin_textdomain( 'wpcoder', false, $languages_folder );
168 }
169
170 }
171
172 endif;
173
174 function wow_plugin_run() {
175 return WOW_Plugin::instance();
176 }
177
178 wow_plugin_run();