| 1 |
<?php |
| 2 |
|
| 3 |
/** |
| 4 |
* Bootstrap file for Reviews Feed plugin |
| 5 |
* |
| 6 |
* @package suspended SmashBalloon\Reviews |
| 7 |
*/ |
| 8 |
|
| 9 |
if (! defined('ABSPATH')) { |
| 10 |
exit; // Exit if accessed directly. |
| 11 |
} |
| 12 |
|
| 13 |
if (!defined('SBR_DBVERSION')) { |
| 14 |
define('SBR_DBVERSION', '1.5'); |
| 15 |
} |
| 16 |
|
| 17 |
if (!defined('SBR_MENU_SLUG')) { |
| 18 |
define('SBR_MENU_SLUG', 'sbr'); |
| 19 |
} |
| 20 |
|
| 21 |
if (!defined('SBR_SLUG')) { |
| 22 |
define('SBR_SLUG', 'sbr'); |
| 23 |
} |
| 24 |
|
| 25 |
if (!defined('SBR_PLUGIN_URL')) { |
| 26 |
define('SBR_PLUGIN_URL', plugin_dir_url(__FILE__)); |
| 27 |
} |
| 28 |
|
| 29 |
|
| 30 |
if (!defined('SBR_REST_DOMAIN')) { |
| 31 |
define('SBR_REST_DOMAIN', 'SBR/v1'); |
| 32 |
} |
| 33 |
|
| 34 |
// Common Library Assets URL |
| 35 |
if (!defined('SB_COMMON_ASSETS')) { |
| 36 |
define('SB_COMMON_ASSETS', plugin_dir_url(__FILE__) . 'vendor/smashballoon/customizer/sb-common/'); |
| 37 |
} |
| 38 |
|
| 39 |
// Common Library Assets URL |
| 40 |
if (!defined('SB_COMMON_ASSETS_DIR')) { |
| 41 |
define('SB_COMMON_ASSETS_DIR', __DIR__ . '/vendor/smashballoon/customizer/sb-common/'); |
| 42 |
} |
| 43 |
|
| 44 |
// Customizer Assets URL |
| 45 |
if (!defined('SB_CUSTOMIZER_ASSETS')) { |
| 46 |
define('SB_CUSTOMIZER_ASSETS', plugin_dir_url(__FILE__) . 'vendor/smashballoon/customizer/sb-common/sb-customizer'); |
| 47 |
} |
| 48 |
|
| 49 |
if (!defined('SB_CUSTOMIZER_COMMON_ASSETS')) { |
| 50 |
define('SB_CUSTOMIZER_COMMON_ASSETS', plugin_dir_url(__FILE__) . 'vendor/smashballoon/customizer/sb-common/assets/'); |
| 51 |
} |
| 52 |
|
| 53 |
//Customizer Tabs Path |
| 54 |
if (!defined('SBR_CUSTOMIZER_TABS_PATH')) { |
| 55 |
define('SBR_CUSTOMIZER_TABS_PATH', __DIR__ . '/class/Common/Customizer/Tabs/'); |
| 56 |
} |
| 57 |
|
| 58 |
//Customizer Tabs Name Space |
| 59 |
if (!defined('SBR_CUSTOMIZER_TABS_NAMESPACE')) { |
| 60 |
define('SBR_CUSTOMIZER_TABS_NAMESPACE', 'SmashBalloon\Reviews\Common\Customizer\Tabs\\'); |
| 61 |
} |
| 62 |
|
| 63 |
//Settings Page Tabs Path |
| 64 |
if (!defined('SBR_SETTINGSPAGE_TABS_PATH')) { |
| 65 |
define('SBR_SETTINGSPAGE_TABS_PATH', __DIR__ . '/class/Common/Settings/Tabs/'); |
| 66 |
} |
| 67 |
|
| 68 |
//Settings Page Tabs Name Space |
| 69 |
if (!defined('SBR_SETTINGSPAGE_TABS_NAMESPACE')) { |
| 70 |
define('SBR_SETTINGSPAGE_TABS_NAMESPACE', 'SmashBalloon\Reviews\Common\Settings\Tabs\\'); |
| 71 |
} |
| 72 |
|
| 73 |
// Relay API URL - Single URL for all providers |
| 74 |
// Override locally via wp-config.php: define('SBR_RELAY_BASE_URL', 'http://your-local-url/api/v1.0/'); |
| 75 |
if (!defined('SBR_RELAY_BASE_URL')) { |
| 76 |
define('SBR_RELAY_BASE_URL', 'https://reviews.smashballoon.com/api/v1.0/'); |
| 77 |
} |
| 78 |
|
| 79 |
if (!defined('SBR_CONNECT_SITE_URL')) { |
| 80 |
define('SBR_CONNECT_SITE_URL', 'https://connect.smashballoon.com/auth/rv/'); |
| 81 |
} |
| 82 |
|
| 83 |
|
| 84 |
if (!defined('SBR_CRON_UPDATE_CACHE_TIME')) { |
| 85 |
define('SBR_CRON_UPDATE_CACHE_TIME', 60 * 60 * 24 * 60); |
| 86 |
} |
| 87 |
|
| 88 |
//Feed Locator |
| 89 |
if (!defined('SBR_FEED_LOCATOR')) { |
| 90 |
define('SBR_FEED_LOCATOR', 'sbr_feed_locator'); |
| 91 |
} |
| 92 |
|
| 93 |
//Feed Table |
| 94 |
if (!defined('SBR_FEEDS_TABLE')) { |
| 95 |
define('SBR_FEEDS_TABLE', 'sbr_feeds'); |
| 96 |
} |
| 97 |
|
| 98 |
//Feed Sources |
| 99 |
if (!defined('SBR_SOURCES_TABLE')) { |
| 100 |
define('SBR_SOURCES_TABLE', 'sbr_sources'); |
| 101 |
} |
| 102 |
|
| 103 |
//Feed Caches |
| 104 |
if (!defined('SBR_FEED_CACHES_TABLE')) { |
| 105 |
define('SBR_FEED_CACHES_TABLE', 'sbr_feed_caches'); |
| 106 |
} |
| 107 |
|
| 108 |
//Reviews Post Table |
| 109 |
if (!defined('POSTS_TABLE_NAME')) { |
| 110 |
define('POSTS_TABLE_NAME', 'sbr_reviews_posts'); |
| 111 |
} |
| 112 |
|
| 113 |
//Feed Posts |
| 114 |
if (!defined('SBR_POSTS_TABLE')) { |
| 115 |
define('SBR_POSTS_TABLE', 'sbr_reviews_posts'); |
| 116 |
} |
| 117 |
|
| 118 |
//Menu Slug |
| 119 |
if (!defined('SBR_CUSTOMIZER_MENU_SLUG')) { |
| 120 |
define('SBR_CUSTOMIZER_MENU_SLUG', 'sbr'); |
| 121 |
} |
| 122 |
|
| 123 |
// Identify plugin is in production mode |
| 124 |
if (!defined('SBR_PRODUCTION')) { |
| 125 |
define('SBR_PRODUCTION', true); |
| 126 |
} |
| 127 |
if (!defined('SBR_REFRESH_THRESHOLD_OFFSET')) { |
| 128 |
define('SBR_REFRESH_THRESHOLD_OFFSET', 40 * 86400); |
| 129 |
} |
| 130 |
if (!defined('SBR_MINIMUM_INTERVAL')) { |
| 131 |
define('SBR_MINIMUM_INTERVAL', 600); |
| 132 |
} |
| 133 |
if (!defined('SBR_STORE_URL')) { |
| 134 |
define('SBR_STORE_URL', 'https://smashballoon.com/'); |
| 135 |
} |
| 136 |
|
| 137 |
if (!defined('SBR_FB_CONNECT_URL')) { |
| 138 |
define('SBR_FB_CONNECT_URL', 'https://connect.smashballoon.com/auth/fb/'); |
| 139 |
} |
| 140 |
|
| 141 |
require_once trailingslashit(SBR_PLUGIN_DIR) . 'vendor/autoload.php'; |
| 142 |
require_once trailingslashit(SBR_PLUGIN_DIR) . 'class/sbr-functions.php'; |
| 143 |
|
| 144 |
|
| 145 |
//Customizer container config |
| 146 |
$customizerContainer = \Smashballoon\Customizer\V2\Container::getInstance(); |
| 147 |
$customizerContainer->set(\Smashballoon\Customizer\V2\Config\Proxy::class, new \SmashBalloon\Reviews\Common\Builder\Config\Proxy()); |
| 148 |
$serviceContainerClass = SmashBalloon\Reviews\Common\Util::sbr_is_pro() ? \SmashBalloon\Reviews\Pro\ServiceContainer::class : \SmashBalloon\Reviews\Common\ServiceContainer::class; |
| 149 |
$commonServiceContainer = \SmashBalloon\Reviews\Common\Container::get_instance()->get($serviceContainerClass)->register(); |
| 150 |
|
| 151 |
// Initialize the deactivation feedback survey. |
| 152 |
if (class_exists('\SmashBalloon\Reviews\Vendor\Smashballoon\Framework\Packages\Feedback\FeedbackManager')) { |
| 153 |
$sbr_plugin_slug = defined('SBR_PRO') && SBR_PRO ? 'reviews-feed-pro' : 'reviews-feed'; |
| 154 |
$sbr_plugin_file = defined('SBR_PRO') && SBR_PRO |
| 155 |
? SBR_PLUGIN_DIR . 'sb-reviews-pro.php' |
| 156 |
: SBR_PLUGIN_DIR . 'sb-reviews.php'; |
| 157 |
|
| 158 |
\SmashBalloon\Reviews\Vendor\Smashballoon\Framework\Packages\Feedback\FeedbackManager::init([ |
| 159 |
'plugin_slug' => $sbr_plugin_slug, |
| 160 |
'plugin_name' => 'Smash Balloon Reviews Feed', |
| 161 |
'plugin_version' => SBRVER, |
| 162 |
'plugin_file' => $sbr_plugin_file, |
| 163 |
'support_url' => 'https://smashballoon.com/support/', |
| 164 |
'enable_help_widget' => true, |
| 165 |
'help_url' => 'https://smashballoon.com/docs/reviews/', |
| 166 |
]); |
| 167 |
} |
| 168 |
|