public function _action_init_extensions() { self::$blacklist = fw()->theme->get_config('extensions_blacklist'); if (empty(self::$blacklist)) { self::$blacklist = array(); } else { self::$blacklist = array_fill_keys(self::$blacklist, true); } $this->activate_extensions(); /** * Now $this->get_children() is available */ do_action('fw_extensions_init'); }
private function load_all_extensions() { $parent = null; self::$current_declaring_source = 'framework'; self::load_extensions(fw_get_framework_directory('/extensions'), $parent, self::$all_extensions_tree, self::$all_extensions, fw_get_framework_directory_uri('/extensions'), 1); self::$current_declaring_source = 'parent'; self::load_extensions(fw_get_template_customizations_directory('/extensions'), $parent, self::$all_extensions_tree, self::$all_extensions, fw_get_template_customizations_directory_uri('/extensions'), 1); if (is_child_theme()) { self::$current_declaring_source = 'child'; self::load_extensions(fw_get_stylesheet_customizations_directory('/extensions'), $parent, self::$all_extensions_tree, self::$all_extensions, fw_get_stylesheet_customizations_directory_uri('/extensions'), 1); } self::$current_declaring_source = null; }
/** * @internal */ public function _init() { self::$access_key = new FW_Access_Key('fw_extensions'); $this->load_all_extensions(); $this->add_actions(); }
/** * @internal */ public function _init() { self::$access_key = new FW_Access_Key('fw_extensions'); /** * Extensions are about to activate. * You can add subclasses to FW_Extension at this point. */ do_action('fw_extensions_before_init'); $this->load_all_extensions(); $this->add_actions(); }