load_dependencies(); $this->register_hooks(); } /** * Loads all required class files. * * @since 1.0.0 * @return void */ private function load_dependencies(): void { // Security. require_once BREZNFLOW_DIR . 'includes/Security/MaskingRules.php'; require_once BREZNFLOW_DIR . 'includes/Security/WorkflowValidator.php'; require_once BREZNFLOW_DIR . 'includes/Security/WorkflowSanitizer.php'; // Post type. require_once BREZNFLOW_DIR . 'includes/PostType.php'; // Features. require_once BREZNFLOW_DIR . 'includes/Features/NodeTypeRegistry.php'; require_once BREZNFLOW_DIR . 'includes/Features/NodeCategorizer.php'; require_once BREZNFLOW_DIR . 'includes/Features/InfoBoxBuilder.php'; require_once BREZNFLOW_DIR . 'includes/Features/ViewCounter.php'; require_once BREZNFLOW_DIR . 'includes/Features/RelatedWorkflows.php'; require_once BREZNFLOW_DIR . 'includes/Features/ThemeRegistry.php'; require_once BREZNFLOW_DIR . 'includes/Features/ThemeImporter.php'; // Shortcode, download & embed. require_once BREZNFLOW_DIR . 'includes/Shortcode.php'; require_once BREZNFLOW_DIR . 'includes/DownloadHandler.php'; require_once BREZNFLOW_DIR . 'includes/EmbedHandler.php'; // SettingsPage is loaded always because Shortcode::render() calls SettingsPage::get_defaults() on the frontend. require_once BREZNFLOW_DIR . 'includes/Admin/SettingsPage.php'; // Admin-only classes. if ( is_admin() ) { require_once BREZNFLOW_DIR . 'includes/Admin/AdminMenu.php'; require_once BREZNFLOW_DIR . 'includes/Admin/WizardPage.php'; require_once BREZNFLOW_DIR . 'includes/Admin/WorkflowListTable.php'; } } /** * Instantiates components and registers their hooks. * * @since 1.0.0 * @return void */ private function register_hooks(): void { ( new PostType() )->register(); ( new Shortcode() )->register(); ( new DownloadHandler() )->register(); ( new EmbedHandler() )->register(); ( new Features\ViewCounter() )->register(); ( new Features\RelatedWorkflows() )->register(); if ( is_admin() ) { ( new Admin\AdminMenu() )->register(); ( new Admin\SettingsPage() )->register(); ( new Admin\WizardPage() )->register(); } } }