PluginProbe ʕ •ᴥ•ʔ
Hustle – Email Marketing, Lead Generation, Optins, Popups / 7.8.14.2
Hustle – Email Marketing, Lead Generation, Optins, Popups v7.8.14.2
7.8.14.2 7.8.14 7.8.14.1 7.8.13 7.8.13.1 trunk 3.0 3.1 3.1.1 3.1.2 3.1.3 3.1.4 4.3.2 4.4.4 4.4.5 4.4.5.1 4.4.5.4 4.6 4.6.1.1 4.6.1.4 4.7.0.2 4.7.0.3 4.7.0.7 4.7.0.9 4.7.1.0 4.7.1.1 4.8.0.0 5.0.0 5.0.1 5.0.1.1 5.0.1.2 5.1 5.1.1 5.1.2 5.1.3 5.1.3.1 5.1.3.2 5.1.4 5.1.5 6.0 6.0.1 6.0.2 6.0.3 6.0.4.2 6.0.5 6.0.6.1 6.0.7 6.0.8.1 6.0.9 7.0.0.1 7.0.2 7.0.3 7.0.4 7.1.0 7.1.1 7.2.0 7.2.1 7.3.0 7.3.1 7.3.3 7.3.5 7.3.6 7.3.7 7.4.0 7.4.1 7.4.11 7.4.13 7.4.13.1 7.4.2 7.4.3 7.4.4 7.4.5 7.4.5.1 7.4.5.2 7.4.6 7.4.7 7.5.0 7.6.0 7.6.1 7.6.3 7.6.4 7.6.6 7.7.0 7.7.1 7.8.0 7.8.1 7.8.10 7.8.10.1 7.8.10.2 7.8.11 7.8.12 7.8.12.1 7.8.2 7.8.3 7.8.4 7.8.5 7.8.6 7.8.7 7.8.8 7.8.9 7.8.9.1 7.8.9.2 7.8.9.3
wordpress-popup / inc / class-opt-in.php
wordpress-popup / inc Last commit date
display-conditions 1 week ago front 1 week ago helpers 1 week ago metas 1 week ago multisite 1 week ago palettes 1 week ago provider 1 week ago providers 1 week ago templates 1 week ago update 1 week ago class-hustle-admin-page-abstract.php 1 week ago class-hustle-auth-token.php 1 week ago class-hustle-condition-factory.php 1 week ago class-hustle-cross-sell.php 1 week ago class-hustle-dashboard-admin.php 1 week ago class-hustle-data.php 1 week ago class-hustle-db.php 1 week ago class-hustle-installer.php 1 week ago class-hustle-meta.php 1 week ago class-hustle-module-admin.php 1 week ago class-hustle-module-collection.php 1 week ago class-hustle-module-fields.php 1 week ago class-hustle-module-page-abstract.php 1 week ago class-hustle-module-validator.php 1 week ago class-hustle-notifications.php 1 week ago class-hustle-settings-admin.php 1 week ago class-hustle-wp-dashboard-page.php 1 week ago class-opt-in.php 1 week ago hustle-background-conversion-log.php 1 week ago hustle-deletion.php 1 week ago hustle-embedded-admin.php 1 week ago hustle-entries-admin.php 1 week ago hustle-entry-model.php 1 week ago hustle-general-data-protection.php 1 week ago hustle-init.php 1 week ago hustle-mail.php 1 week ago hustle-migration.php 1 week ago hustle-model.php 1 week ago hustle-module-model.php 1 week ago hustle-module-widget-legacy.php 1 week ago hustle-module-widget.php 1 week ago hustle-modules-common-admin-ajax.php 1 week ago hustle-popup-admin.php 1 week ago hustle-providers-admin.php 1 week ago hustle-providers.php 1 week ago hustle-settings-admin-ajax.php 1 week ago hustle-settings-page.php 1 week ago hustle-slidein-admin.php 1 week ago hustle-sshare-admin.php 1 week ago hustle-sshare-model.php 1 week ago hustle-tracking-model.php 1 week ago interface-hustle-auth-provider.php 1 week ago opt-in-geo.php 1 week ago opt-in-utils.php 1 week ago opt-in-wpmudev-api.php 1 week ago
class-opt-in.php
121 lines
1 <?php
2 /**
3 * Opt_In Entry point
4 *
5 * @package Hustle
6 */
7
8 /**
9 * Opt_In class.
10 */
11 class Opt_In {
12
13 const VERSION = '7.8.14';
14
15 const VIEWS_FOLDER = 'views';
16
17 /**
18 * Base file.
19 *
20 * @since 1.0.0
21 * @var string
22 */
23 public static $plugin_base_file;
24
25 /**
26 * Plugin URL.
27 *
28 * @since 1.0.0
29 * @var string
30 */
31 public static $plugin_url;
32
33 /**
34 * Plugin path.
35 *
36 * @since 1.0.0
37 * @var string
38 */
39 public static $plugin_path;
40
41 /**
42 * Path to "vendor".
43 *
44 * @since 1.0.0
45 * @var string
46 */
47 public static $vendor_path;
48
49 /**
50 * Path to "views" files.
51 *
52 * @since 1.0.0
53 * @var string
54 */
55 public static $template_path;
56
57 /**
58 * Array container for the registered providers.
59 *
60 * @since 3.0.5
61 * @var array
62 */
63 protected static $registered_providers = array();
64
65 /**
66 * Opt_In constructor.
67 *
68 * @since 1.0.0
69 */
70 public function __construct() {
71
72 self::$plugin_base_file = plugin_basename( HUSTLE_BASE_FILE );
73 self::$plugin_url = plugin_dir_url( self::$plugin_base_file );
74 self::$plugin_path = trailingslashit( dirname( HUSTLE_BASE_FILE ) );
75 self::$vendor_path = self::$plugin_path . 'vendor/';
76 self::$template_path = trailingslashit( dirname( HUSTLE_BASE_FILE ) ) . 'views/';
77
78 add_action( 'after_setup_theme', array( $this, 'load_text_domain' ) );
79
80 // check caps.
81 add_action( 'admin_init', array( $this, 'hustle_check_caps' ), 999 );
82
83 new Hustle_Init();
84 }
85
86 /**
87 * Returns list of optin providers based on their declared classes that implement Opt_In_Provider_Interface
88 *
89 * @return array
90 */
91 public function get_providers() {
92 if ( empty( self::$registered_providers ) ) {
93 self::$registered_providers = Hustle_Provider_Utils::get_activable_providers_list();
94 }
95 return self::$registered_providers;
96 }
97
98 /**
99 * Loads text domain
100 *
101 * @since 1.0.0
102 */
103 public function load_text_domain() {
104 load_plugin_textdomain( 'hustle', false, dirname( plugin_basename( self::$plugin_base_file ) ) . '/languages/' );
105 }
106
107 /**
108 * Callback function when user migrates from 3x to 4x from ftp.
109 * The activation hook won't run we'd have to check it in init.
110 *
111 * @since 4.0.0
112 */
113 public function hustle_check_caps() {
114 $admin = get_role( 'administrator' );
115 $roles = get_editable_roles();
116 if ( ( $admin && ! $admin->has_cap( 'hustle_menu' ) ) || ( ! $admin && ! empty( $roles ) ) ) {
117 hustle_activation();
118 }
119 }
120 }
121