クラス
Master
ソース ソース
ファイル: src/Master.php
class Master
{
const PLUGIN_NAMESPACE = 'wcexics';
const REACT_DOM_NODE = self::PLUGIN_NAMESPACE . '_react_app';
const SNACKBAR_DOM_NODE = self::PLUGIN_NAMESPACE . '_react_snackbar';
/**
* REST routes object
*
* @var Routes
*/
public $routes;
/**
* Initializes plugin
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return void
*/
public function init() {
Components\Snackbar\Snackbar::init();
Pages\ItemPage\ItemPage::init();
Pages\CartPages::init();
Pages\MemberPage\MemberPage::init();
API\PurchaseSanityChecks::init();
(new API\Cart())->init();
API\Checkout::init();
API\FileDownloads::init();
Wishlist::init();
Routes::declareWelcartRoutes();
if (is_admin()) {
(new Admin\ItemListCSV())->init();
Admin\OrderListCSV::init();
Admin\OrderEdit::init();
Admin\ItemEdit::init();
Admin\Pages\SettingsPage::init();
Admin\Pages\OrderEditPage::init();
}
add_action('init', function () {
$this->routes = new Routes();
$this->routes->dispatcher->listen();
if (!is_admin()) {
return;
}
(new Admin\Pages\Item\Item($this))->init();
}, 11);
$id = 'AICS001';
$cptmc = new CptmClient(
$id,
WCEXICS_VERSION,
WCEXICS_PLUGIN_FILE,
"https://api.aivec.co.jp/cptmp/v1/getProvidersList/{$id}"
);
$cptmc->init();
}
/**
* Returns the error store
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return ErrorStore
*/
public static function getErrorStore() {
$estore = new ErrorStore();
$estore->populate();
return $estore;
}
/**
* Runs on plugin activation hook
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return void
*/
public function activate() {
Schema::addTables();
// migrations
Schema::v101();
Schema::v110();
}
/**
* Returns variables to be injected into JS scripts
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @return array
*/
public function getScriptInjectionVariables() {
return array_merge(
$this->routes->getScriptInjectionVariables(),
self::getErrorStore()->getScriptInjectionVariables(),
[
'pluginNamespace' => self::PLUGIN_NAMESPACE,
'snackbarDomNode' => self::SNACKBAR_DOM_NODE,
'reactDomNode' => self::REACT_DOM_NODE,
]
);
}
}
- activate — Runs on plugin activation hook
- getErrorStore — Returns the error store
- getScriptInjectionVariables — Returns variables to be injected into JS scripts
- init — Initializes plugin