PluginProbe
weForms – Easy Drag & Drop Contact Form Builder For WordPress / 1.2.1
weForms – Easy Drag & Drop Contact Form Builder For WordPress v1.2.1
1.6.7 1.6.8 1.6.9 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.18 1.6.19 1.6.2 1.6.20 1.6.21 1.6.22 1.6.23 1.6.24 1.6.25 1.6.26 1.6.27 1.6.28 1.6.3 1.6.4 1.6.5 1.6.6 All 74 releases
← All changes | weforms.php +67 -135 1.6.81.2.1 View file →
@@ -1,12 +1,12 @@
1 1 <?php
2 2 /**
3 3 * Plugin Name: weForms
4 4 * Description: The best contact form plugin for WordPress
5 - * Plugin URI: https://weformspro.com/
6 - * Author: weForms
7 - * Author URI: https://weformspro.com/
8 - * Version: 1.6.8
5 + * Plugin URI: https://wedevs.com/weforms/
6 + * Author: weDevs
7 + * Author URI: https://wedevs.com/
8 + * Version: 1.2.1
9 9 * License: GPL2 or later
10 10 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
11 11 * Text Domain: weforms
12 12 * Domain Path: /languages
@@ -12,9 +12,9 @@
12 12 * Domain Path: /languages
13 13 */
14 14
15 15 /**
16 - * Copyright (c) 2020 weForms LLC (email: support@weformspro.com). All rights reserved.
16 + * Copyright (c) 2017 weDevs LLC (email: info@wedevs.com). All rights reserved.
17 17 *
18 18 * Released under the GPL license
19 19 * http://www.opensource.org/licenses/gpl-license.php
20 20 *
@@ -38,11 +38,9 @@
38 38 * **********************************************************************
39 39 */
40 40
41 41 // don't call the file directly
42 -if ( !defined( 'ABSPATH' ) ) {
43 - exit;
44 -}
42 +if ( !defined( 'ABSPATH' ) ) exit;
45 43
46 44 /**
47 45 * WeForms class
48 46 *
@@ -54,9 +52,9 @@
54 52 * Plugin version
55 53 *
56 54 * @var string
57 55 */
58 - public $version = '1.6.8';
56 + public $version = '1.2.1';
59 57
60 58 /**
61 59 * Form field value seperator
62 60 *
@@ -61,9 +59,9 @@
61 59 * Form field value seperator
62 60 *
63 61 * @var string
64 62 */
65 - public static $field_separator = '| ';
63 + static $field_separator = '| ';
66 64
67 65 /**
68 66 * Holds various class instances
69 67 *
@@ -68,17 +66,19 @@
68 66 * Holds various class instances
69 67 *
70 68 * @var array
71 69 */
72 - private $container = [];
70 + private $container = array();
73 71
72 +
74 73 /**
75 74 * Minimum PHP version required
76 75 *
77 76 * @var string
78 77 */
79 - private $min_php = '5.6.0';
78 + private $min_php = '5.4.0';
80 79
80 +
81 81 /**
82 82 * Constructor for the WeForms class
83 83 *
84 84 * Sets up all the appropriate hooks and actions
@@ -84,24 +84,22 @@
84 84 * Sets up all the appropriate hooks and actions
85 85 * within our plugin.
86 86 */
87 87 public function __construct() {
88 +
88 89 $this->define_constants();
89 90
90 - if ( !$this->is_supported_php() ) {
91 - register_activation_hook( __FILE__, [ $this, 'auto_deactivate' ] );
92 - add_action( 'admin_notices', [ $this, 'php_version_notice' ] );
93 -
91 + if ( ! $this->is_supported_php() ) {
92 + register_activation_hook( __FILE__, array( $this, 'auto_deactivate' ) );
93 + add_action( 'admin_notices', array( $this, 'php_version_notice' ) );
94 94 return;
95 95 }
96 96
97 - register_activation_hook( __FILE__, [ $this, 'activate' ] );
98 - register_deactivation_hook( __FILE__, [ $this, 'deactivate' ] );
97 + register_activation_hook( __FILE__, array( $this, 'activate' ) );
98 + register_deactivation_hook( __FILE__, array( $this, 'deactivate' ) );
99 99
100 - add_action( 'admin_init', [ $this, 'plugin_upgrades' ] );
101 - add_action( 'plugins_loaded', [ $this, 'init_plugin' ] );
102 -
103 - $this->init_appsero();
100 + add_action( 'plugins_loaded', array( $this, 'plugin_upgrades') );
101 + add_action( 'plugins_loaded', array( $this, 'init_plugin' ) );
104 102 }
105 103
106 104 /**
107 105 * Magic getter to bypass referencing plugin.
@@ -137,10 +135,9 @@
137 135 */
138 136 public static function init() {
139 137 static $instance = false;
140 138
141 - if ( !$instance ) {
142 - self::log();
139 + if ( ! $instance ) {
143 140 $instance = new WeForms();
144 141 }
145 142
146 143 return $instance;
@@ -153,9 +150,9 @@
153 150 */
154 151 private function define_constants() {
155 152 define( 'WEFORMS_VERSION', $this->version );
156 153 define( 'WEFORMS_FILE', __FILE__ );
157 - define( 'WEFORMS_ROOT', __DIR__ );
154 + define( 'WEFORMS_ROOT', dirname( __FILE__ ) );
158 155 define( 'WEFORMS_INCLUDES', WEFORMS_ROOT . '/includes' );
159 156 define( 'WEFORMS_ROOT_URI', plugins_url( '', __FILE__ ) );
160 157 define( 'WEFORMS_ASSET_URI', WEFORMS_ROOT_URI . '/assets' );
161 158 }
@@ -165,8 +162,9 @@
165 162 *
166 163 * @return void
167 164 */
168 165 public function init_plugin() {
166 +
169 167 $this->includes();
170 168 $this->init_hooks();
171 169
172 170 do_action( 'weforms_loaded' );
@@ -183,17 +181,17 @@
183 181 require_once WEFORMS_INCLUDES . '/class-field-manager.php';
184 182 require_once WEFORMS_INCLUDES . '/class-form-manager.php';
185 183 require_once WEFORMS_INCLUDES . '/class-template-manager.php';
186 184
187 - if ( !array_key_exists( 'fields', $this->container ) ) {
185 + if ( ! array_key_exists( 'fields', $this->container ) ) {
188 186 $this->container['fields'] = new WeForms_Field_Manager();
189 187 }
190 188
191 - if ( !array_key_exists( 'form', $this->container ) ) {
189 + if ( ! array_key_exists( 'form', $this->container ) ) {
192 190 $this->container['form'] = new WeForms_Form_Manager();
193 191 }
194 192
195 - if ( !array_key_exists( 'templates', $this->container ) ) {
193 + if ( ! array_key_exists( 'templates', $this->container ) ) {
196 194 $this->container['templates'] = new WeForms_Template_Manager();
197 195 }
198 196
199 197 $installer = new WeForms_Installer();
@@ -205,8 +203,9 @@
205 203 *
206 204 * Nothing being called here yet.
207 205 */
208 206 public function deactivate() {
207 +
209 208 }
210 209
211 210 /**
212 211 * Include the required classes
@@ -213,11 +212,12 @@
213 212 *
214 213 * @return void
215 214 */
216 215 public function includes() {
216 +
217 217 require_once WEFORMS_INCLUDES . '/compat/class-abstract-wpuf-integration.php';
218 218
219 - if ( $this->is_request( 'admin' ) ) {
219 + if ( is_admin() ) {
220 220 // compatibility
221 221 require_once WEFORMS_INCLUDES . '/class-template-manager.php';
222 222
223 223 require_once WEFORMS_INCLUDES . '/admin/class-admin.php';
@@ -224,27 +224,21 @@
224 224 require_once WEFORMS_INCLUDES . '/admin/class-admin-welcome.php';
225 225 require_once WEFORMS_INCLUDES . '/class-importer-manager.php';
226 226
227 227 require_once WEFORMS_INCLUDES . '/admin/class-pro-upgrades.php';
228 - require_once WEFORMS_INCLUDES . '/admin/class-promotion.php';
229 - require_once WEFORMS_INCLUDES . '/admin/class-shortcode-button.php';
230 - require_once WEFORMS_INCLUDES . '/admin/class-privacy.php';
228 +
231 229 } else {
232 230
231 + require_once WEFORMS_INCLUDES . '/class-frontend-form.php';
232 +
233 233 // add reCaptcha library if not found
234 - if ( !function_exists( 'recaptcha_get_html' ) ) {
234 + if ( ! function_exists( 'recaptcha_get_html' ) ) {
235 235 require_once WEFORMS_INCLUDES . '/library/reCaptcha/recaptchalib.php';
236 236 require_once WEFORMS_INCLUDES . '/library/reCaptcha/recaptchalib_noCaptcha.php';
237 237 }
238 238 }
239 239
240 - if ( $this->is_request( 'frontend' ) || $this->is_request( 'ajax' ) ) {
241 - require_once WEFORMS_INCLUDES . '/class-frontend-form.php';
242 - }
243 - require_once WEFORMS_INCLUDES . '/api/class-weforms-api-rest-controller.php';
244 - require_once WEFORMS_INCLUDES . '/class-weforms-api.php';
245 240 require_once WEFORMS_INCLUDES . '/class-scripts-styles.php';
246 - require_once WEFORMS_INCLUDES . '/admin/class-gutenblock.php';
247 241 require_once WEFORMS_INCLUDES . '/class-emailer.php';
248 242 require_once WEFORMS_INCLUDES . '/class-field-manager.php';
249 243 require_once WEFORMS_INCLUDES . '/class-form-manager.php';
250 244 require_once WEFORMS_INCLUDES . '/class-form-entry-manager.php';
@@ -249,9 +243,8 @@
249 243 require_once WEFORMS_INCLUDES . '/class-form-manager.php';
250 244 require_once WEFORMS_INCLUDES . '/class-form-entry-manager.php';
251 245 require_once WEFORMS_INCLUDES . '/class-form-entry.php';
252 246 require_once WEFORMS_INCLUDES . '/class-form.php';
253 - require_once WEFORMS_INCLUDES . '/class-form-widget.php';
254 247
255 248 require_once WEFORMS_INCLUDES . '/integrations/class-abstract-integration.php';
256 249 require_once WEFORMS_INCLUDES . '/class-integration-manager.php';
257 250
@@ -258,9 +251,8 @@
258 251 require_once WEFORMS_INCLUDES . '/class-ajax.php';
259 252 require_once WEFORMS_INCLUDES . '/class-ajax-upload.php';
260 253 require_once WEFORMS_INCLUDES . '/class-notification.php';
261 254 require_once WEFORMS_INCLUDES . '/class-form-preview.php';
262 - require_once WEFORMS_INCLUDES . '/class-dokan-integration.php';
263 255 require_once WEFORMS_INCLUDES . '/functions.php';
264 256 }
265 257
266 258 /**
@@ -269,10 +261,11 @@
269 261 * @since 1.1.2
270 262 *
271 263 * @return void
272 264 */
273 - public function plugin_upgrades() {
274 - if ( !current_user_can( 'manage_options' ) ) {
265 + function plugin_upgrades() {
266 +
267 + if ( ! is_admin() && ! current_user_can( 'manage_options' ) ) {
275 268 return;
276 269 }
277 270
278 271 require_once WEFORMS_INCLUDES . '/class-upgrades.php';
@@ -291,15 +284,15 @@
291 284 */
292 285 public function init_hooks() {
293 286
294 287 // Localize our plugin
295 - add_action( 'init', [ $this, 'localization_setup' ] );
288 + add_action( 'init', array( $this, 'localization_setup' ) );
296 289
297 290 // initialize the classes
298 - add_action( 'init', [ $this, 'init_classes' ] );
299 - add_action( 'init', [ $this, 'wpdb_table_shortcuts' ], 0 );
291 + add_action( 'init', array( $this, 'init_classes' ) );
292 + add_action( 'init', array( $this, 'wpdb_table_shortcuts' ), 0 );
300 293
301 - add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), [ $this, 'plugin_action_links' ] );
294 + add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'plugin_action_links' ) );
302 295 }
303 296
304 297 /**
305 298 * Set WPDB table shortcut names
@@ -327,71 +320,45 @@
327 320 *
328 321 * @return void
329 322 */
330 323 public function init_classes() {
331 - if ( $this->is_request( 'admin' ) ) {
324 +
325 + if ( is_admin() ) {
332 326 $this->container['admin'] = new WeForms_Admin();
333 327 // $this->container['welcome'] = new WeForms_Admin_Welcome();
334 328 $this->container['templates'] = new WeForms_Template_Manager();
335 329 $this->container['pro_upgrades'] = new WeForms_Pro_Upgrades();
336 330 $this->container['importer'] = new WeForms_Importer_Manager();
337 - $this->container['promo_offer'] = new WeForms_Admin_Promotion();
338 - $this->container['privacy'] = new WeForms_Privacy();
331 + } else {
332 + $this->container['frontend'] = new WeForms_Frontend_Form();
339 333 }
340 334
341 - if ( $this->is_request( 'frontend' ) || $this->is_request( 'ajax' ) ) {
342 - $this->container['frontend'] = new WeForms_Frontend_Form();
343 - }
335 + $this->container['emailer'] = new WeForms_Emailer();
336 + $this->container['form'] = new WeForms_Form_Manager();
337 + $this->container['fields'] = new WeForms_Field_Manager();
338 + $this->container['integrations'] = new WeForms_Integration_Manager();
339 + $this->container['preview'] = new WeForms_Form_Preview();
340 + $this->container['scripts'] = new WeForms_Scripts_Styles();
344 341
345 - $this->container['emailer'] = new WeForms_Emailer();
346 - $this->container['form'] = new WeForms_Form_Manager();
347 - $this->container['fields'] = new WeForms_Field_Manager();
348 - $this->container['integrations'] = new WeForms_Integration_Manager();
349 - $this->container['preview'] = new WeForms_Form_Preview();
350 - $this->container['scripts'] = new WeForms_Scripts_Styles();
351 - $this->container['block'] = new weForms_FormBlock();
352 - $this->container['dokan_integration'] = new weForms_Dokan_Integration();
353 342 // instantiate the integrations
354 343 $this->integrations->get_integrations();
355 344
356 - if ( $this->is_request( 'ajax' ) ) {
345 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
357 346 $this->container['ajax'] = new WeForms_Ajax();
358 347 $this->container['ajax_upload'] = new WeForms_Ajax_Upload();
359 348 }
360 - $this->container['weforms_api'] = new WeForms_Api();
361 349 }
362 350
363 351 /**
364 - * The main logging function
365 - *
366 - * @uses error_log
367 - *
368 - * @param string $type type of the error. e.g: debug, error, info
369 - * @param string $msg
370 - */
371 - public static function log( $type = '', $msg = '' ) {
372 -
373 - if(file_exists(WP_CONTENT_DIR . '/weforms.log')){
374 - unlink(WP_CONTENT_DIR . '/weforms.log');
375 - }
376 - return;
377 - // default we are turning the debug mood on, but can be turned off
378 - if ( defined( 'WEFORMS_DEBUG_LOG' ) && false === WEFORMS_DEBUG_LOG ) {
379 - return;
380 - }
381 - $msg = sprintf( "[%s][%s] %s\n", date( 'd.m.Y h:i:s' ), $type, $msg );
382 - @error_log( $msg, 3, weforms_log_file_path() );
383 - }
384 -
385 - /**
386 352 * Plugin action links
387 353 *
388 - * @param array $links
354 + * @param array $links
389 355 *
390 356 * @return array
391 357 */
392 - public function plugin_action_links( $links ) {
393 - $links[] = '<a href="https://weformspro.com/?utm_source=weforms-action-link&utm_medium=textlink&utm_campaign=plugin-docs-link" target="_blank">' . __( 'Docs', 'weforms' ) . '</a>';
358 + function plugin_action_links( $links ) {
359 +
360 + $links[] = '<a href="https://wedevs.com/docs/weforms/?utm_source=weforms-action-link&utm_medium=textlink&utm_campaign=plugin-docs-link" target="_blank">' . __( 'Docs', 'weforms' ) . '</a>';
394 361 $links[] = '<a href="' . admin_url( 'admin.php?page=weforms' ) . '">' . __( 'Settings', 'weforms' ) . '</a>';
395 362
396 363 return $links;
397 364 }
@@ -401,11 +368,12 @@
401 368 *
402 369 * @return bool
403 370 */
404 371 public function is_supported_php( $min_php = null ) {
372 +
405 373 $min_php = $min_php ? $min_php : $this->min_php;
406 374
407 - if ( version_compare( PHP_VERSION, $min_php, '<=' ) ) {
375 + if ( version_compare( PHP_VERSION, $min_php , '<=' ) ) {
408 376 return false;
409 377 }
410 378
411 379 return true;
@@ -415,27 +383,31 @@
415 383 * Show notice about PHP version
416 384 *
417 385 * @return void
418 386 */
419 - public function php_version_notice() {
387 + function php_version_notice() {
388 +
420 389 if ( $this->is_supported_php() || !current_user_can( 'manage_options' ) ) {
421 390 return;
422 391 }
423 392
424 - $error = __( 'Your installed PHP Version is: ', 'weforms' ) . PHP_VERSION . '. ';
425 - $error .= __( 'The <strong>weForms</strong> plugin requires PHP version <strong>', 'weforms' ) . $this->min_php . __( '</strong> or greater.', 'weforms' ); ?>
393 + $error = __( 'Your installed PHP Version is: ', 'erp' ) . PHP_VERSION . '. ';
394 + $error .= __( 'The <strong>weForms</strong> plugin requires PHP version <strong>', 'weforms' ) . $this->min_php . __( '</strong> or greater.', 'weforms' );
395 + ?>
426 396 <div class="error">
427 - <p><?php printf( wp_kses_post ( $error ) ); ?></p>
397 + <p><?php printf( $error ); ?></p>
428 398 </div>
429 399 <?php
430 400 }
431 401
402 +
403 +
432 404 /**
433 405 * Bail out if the php version is lower than
434 406 *
435 407 * @return void
436 408 */
437 - public function auto_deactivate() {
409 + function auto_deactivate() {
438 410 if ( $this->is_supported_php() ) {
439 411 return;
440 412 }
441 413
@@ -446,52 +418,12 @@
446 418 $error .= __( '<p>The <strong>weforms</strong> plugin requires PHP version <strong>', 'weforms' ) . $this->min_php . __( '</strong> or greater', 'weforms' );
447 419 $error .= __( '<p>The version of your PHP is ', 'weforms' ) . '<a href="http://php.net/supported-versions.php" target="_blank"><strong>' . __( 'unsupported and old', 'weforms' ) . '</strong></a>.';
448 420 $error .= __( 'You should update your PHP software or contact your host regarding this matter.</p>', 'weforms' );
449 421
450 - wp_die( wp_kses_post( $error ), esc_html_e( 'Plugin Activation Error', 'weforms' ), [ 'back_link' => true ] );
422 + wp_die( $error, __( 'Plugin Activation Error', 'weforms' ), array( 'back_link' => true ) );
451 423 }
452 424
453 - /**
454 - * What type of request is this?
455 - *
456 - * @since 1.2.3
457 - *
458 - * @param string $type admin, ajax, cron, api or frontend
459 - *
460 - * @return bool
461 - */
462 - private function is_request( $type ) {
463 - switch ( $type ) {
464 - case 'admin':
465 - return is_admin();
466 425
467 - case 'ajax':
468 - return defined( 'DOING_AJAX' );
469 -
470 - case 'cron':
471 - return defined( 'DOING_CRON' );
472 -
473 - case 'api':
474 - return defined( 'REST_REQUEST' );
475 -
476 - case 'frontend':
477 - return ( !is_admin() || defined( 'DOING_AJAX' ) ) && !defined( 'DOING_CRON' );
478 - }
479 - }
480 -
481 - /**
482 - * Init appsero tracker
483 - */
484 - private function init_appsero() {
485 - if ( ! class_exists( 'Appsero\Client' ) ) {
486 - require_once WEFORMS_INCLUDES . '/library/appsero/Client.php';
487 - }
488 -
489 - $client = new Appsero\Client( '213fd70e-0bf3-4710-a35e-934b5a376e13', 'weForms', __FILE__ );
490 -
491 - // Active insights
492 - $client->insights()->init();
493 - }
494 426 } // WeForms
495 427
496 428 /**
497 429 * Initialize the plugin