PluginProbe
Float menu – awesome floating side menu / 4.2
Float menu – awesome floating side menu v4.2
7.2.5 trunk 2.1 2.2 3.0.1 3.1 3.2.2 3.3.1 3.5 3.5.1 3.5.2 3.5.3. 3.5.4 4.0 4.1 4.1.1 4.2 4.3 4.3.1 4.3.2 5.0 5.0.1 5.0.2 5.0.3 5.1 All 57 releases
float-menu / float-menu.php

float-menu.php in Float menu – awesome floating side menu 4.2, at float-menu.php

188 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: Float Menu Lite
4 * Plugin URI: https://wordpress.org/plugins/float-menu/
5 * Description: Easily create floating menus of varying complexity
6 * Version: 4.2
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 */
12
13 // Required set the namespace for plugin.
14 namespace float_menu_free;
15
16 if ( ! defined( 'ABSPATH' ) ) {
17 exit;
18 }
19
20 if ( ! class_exists( 'Wow_Plugin' ) ) :
21
22 /**
23 * Main Wow_Plugin Class.
24 *
25 * @since 1.0
26 */
27 final class Wow_Plugin {
28
29 private static $_instance;
30
31 // Set the database name.
32 const PREF = 'fmp';
33
34 /**
35 * Main Wow_Plugin Instance.
36 *
37 * Insures that only one instance of Wow_Plugin exists in memory at any one
38 * time. Also prevents needing to define globals all over the place.
39 *
40 * @return object|Wow_Plugin The one true Wow_Plugin for Current plugin
41 *
42 * @uses Wow_Plugin::_includes() Include the required files.
43 * @uses Wow_Plugin::text_domain() load the language files.
44 * @since 1.0
45 * @static
46 * @staticvar array $instance
47 */
48 public static function instance() {
49
50 if ( ! isset( self::$_instance ) && ! ( self::$_instance instanceof Wow_Plugin ) ) {
51
52 $info = array(
53 'plugin' => array(
54 'name' => esc_attr( 'Float Menu' ), // Plugin name
55 'menu' => esc_attr( 'Float Menu' ), // Plugin name in menu
56 'author' => 'Wow-Company', // Author
57 'prefix' => self::PREF, // Prefix for database
58 'text' => 'float-menu', // Text domain for translate files
59 'version' => '4.2', // Current version of the plugin
60 'file' => __FILE__, // Main file of the plugin
61 'slug' => dirname( plugin_basename( __FILE__ ) ), // Name of the plugin folder
62 'url' => plugin_dir_url( __FILE__ ), // filesystem directory path for the plugin
63 'dir' => plugin_dir_path( __FILE__ ), // URL directory path for the plugin
64 'shortcode' => 'Float-Menu',
65 ),
66 'url' => array(
67 'author' => 'https://wow-estore.com/',
68 'home' => 'https://wordpress.org/plugins/float-menu/',
69 'support' => 'https://wordpress.org/support/plugin/float-menu/',
70 'pro' => 'https://wow-estore.com/item/float-menu-pro/',
71 'facebook' => 'https://www.facebook.com/wowaffect/',
72 ),
73 'rating' => array(
74 'website' => esc_attr__( 'WordPress.org' ), // Name site for rating plugin
75 'url' => 'https://wordpress.org/support/plugin/float-menu/reviews/#new-post',
76 'wp_url' => 'https://wordpress.org/support/plugin/float-menu/reviews/#new-post',
77 'wp_home' => 'https://wordpress.org/plugins/float-menu/',
78 'wp_title' => 'Float menu – awesome floating side menu',
79 ),
80 );
81
82 self::$_instance = new Wow_Plugin;
83
84 register_activation_hook( __FILE__, array( self::$_instance, 'plugin_activate' ) );
85 add_action( 'plugins_loaded', array( self::$_instance, 'text_domain' ) );
86
87 self::$_instance->_includes();
88 self::$_instance->admin = new Wow_Plugin_Admin( $info );
89 self::$_instance->public = new Wow_Plugin_Public( $info );
90 }
91
92 return self::$_instance;
93 }
94
95 /**
96 * Throw error on object clone.
97 * The whole idea of the singleton design pattern is that there is a single
98 * object therefore, we don't want the object to be cloned.
99 *
100 * @return void
101 * @since 1.0
102 * @access protected
103 */
104 public function __clone() {
105 // Cloning instances of the class is forbidden.
106 _doing_it_wrong( __FUNCTION__, esc_attr__( 'Cheatin&#8217; huh?', 'float-menu' ), '0.1' );
107 }
108
109 /**
110 * Disable unserializing of the class.
111 *
112 * @return void
113 * @since 1.0
114 * @access protected
115 */
116 public function __wakeup() {
117 // Unserializing instances of the class is forbidden.
118 _doing_it_wrong( __FUNCTION__, esc_attr__( 'Cheatin&#8217; huh?', 'float-menu' ), '0.1' );
119 }
120
121
122 /**
123 * Include required files.
124 *
125 * @access private
126 * @return void
127 * @since 1.0
128 */
129 private function _includes() {
130 if ( ! class_exists( 'Wow_Company' ) ) {
131 include_once 'includes/class-wow-company.php';
132 }
133 include_once 'admin/class-admin.php';
134 include_once 'public/class-public.php';
135 }
136
137 /**
138 * Activate the plugin.
139 * create the database
140 * create the folder in wp-upload
141 *
142 * @access public
143 * @return void
144 * @since 1.0
145 */
146 public function plugin_activate() {
147 update_option( 'wow_' . self::PREF . '_notice_action', 'read' );
148 global $wpdb;
149 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
150 $table = $wpdb->prefix . 'wow_' . self::PREF;
151 $sql = "CREATE TABLE " . $table . " (
152 id mediumint(9) NOT NULL AUTO_INCREMENT,
153 title VARCHAR(200) NOT NULL,
154 param TEXT,
155 UNIQUE KEY id (id)
156 ) DEFAULT CHARSET=utf8;";
157 dbDelta( $sql );
158
159 deactivate_plugins( 'float-menu-pro/float-menu-pro.php' );
160 }
161
162 /**
163 * Download the folder with languages.
164 *
165 * @access public
166 * @return void
167 * @since 1.0
168 */
169 public function text_domain() {
170 $languages_folder = dirname( plugin_basename( __FILE__ ) ) . '/languages/';
171 load_plugin_textdomain( 'float-menu', false, $languages_folder );
172 }
173 }
174
175 endif; // End if class_exists check.
176
177 /**
178 * The main function for that returns Wow_Plugin
179 *
180 * @since 1.0
181 */
182 function Wow_Plugin_run() {
183 return Wow_Plugin::instance();
184 }
185
186 // Get Running.
187 Wow_Plugin_run();
188