Index: trunk/extensions/CategoryTree/CategoryPageSubclass.php
===================================================================
--- trunk/extensions/CategoryTree/CategoryPageSubclass.php (revision 36887)
+++ trunk/extensions/CategoryTree/CategoryPageSubclass.php (revision 36888)
@@ -15,10 +15,10 @@
var $child_cats;
function getCategoryTree() {
- global $wgOut, $wgCategoryTreeCategoryPageOptions;
+ global $wgOut, $wgCategoryTreeCategoryPageOptions, $wgCategoryTreeForceHeaders;
if ( ! isset($this->categorytree) ) {
- CategoryTree::setHeaders( $wgOut );
+ if ( !$wgCategoryTreeForceHeaders ) CategoryTree::setHeaders( $wgOut );
$this->categorytree = new CategoryTree( $wgCategoryTreeCategoryPageOptions );
}
Index: trunk/extensions/CategoryTree/CategoryTreePage.php
===================================================================
--- trunk/extensions/CategoryTree/CategoryTreePage.php (revision 36887)
+++ trunk/extensions/CategoryTree/CategoryTreePage.php (revision 36888)
@@ -40,7 +40,7 @@
* @param $par Parameters passed to the page
*/
function execute( $par ) {
- global $wgRequest, $wgOut, $wgCategoryTreeDefaultOptions, $wgCategoryTreeSpecialPageOptions;
+ global $wgRequest, $wgOut, $wgCategoryTreeDefaultOptions, $wgCategoryTreeSpecialPageOptions, $wgCategoryTreeForceHeaders;
$this->setHeaders();
@@ -69,7 +69,7 @@
$this->executeInputForm();
if( $this->target !== '' && $this->target !== NULL ) {
- CategoryTree::setHeaders( $wgOut );
+ if ( !$wgCategoryTreeForceHeaders ) CategoryTree::setHeaders( $wgOut );
$title = CategoryTree::makeTitle( $this->target );
Index: trunk/extensions/CategoryTree/CategoryTree.php
===================================================================
--- trunk/extensions/CategoryTree/CategoryTree.php (revision 36887)
+++ trunk/extensions/CategoryTree/CategoryTree.php (revision 36888)
@@ -58,6 +58,10 @@
#$wgCategoryTreeUnifiedView = true;
$wgCategoryTreeMaxDepth = array(CT_MODE_PAGES => 1, CT_MODE_ALL => 1, CT_MODE_CATEGORIES => 2);
+# Set $wgCategoryTreeForceHeaders to true to force the JS and CSS headers for CategoryTree to be included on every page.
+# May be usefull for using CategoryTree from within system messages, in the sidebar, or a custom skin.
+$wgCategoryTreeForceHeaders = false;
+
$wgCategoryTreeExtPath = '/extensions/CategoryTree';
$wgCategoryTreeVersion = '2'; #NOTE: bump this when you change the CSS or JS files!
@@ -111,7 +115,6 @@
$wgSpecialPages['CategoryTree'] = 'CategoryTreePage';
$wgSpecialPageGroups['CategoryTree'] = 'pages';
#$wgHooks['SkinTemplateTabs'][] = 'efCategoryTreeInstallTabs';
-$wgHooks['OutputPageParserOutput'][] = 'efCategoryTreeParserOutput';
$wgHooks['ArticleFromTitle'][] = 'efCategoryTreeArticleFromTitle';
$wgHooks['LanguageGetMagic'][] = 'efCategoryTreeGetMagic';
@@ -124,9 +127,10 @@
* Hook it up
*/
function efCategoryTree() {
- global $wgUseAjax, $wgHooks;
+ global $wgUseAjax, $wgHooks, $wgOut;
global $wgCategoryTreeDefaultOptions, $wgCategoryTreeDefaultMode, $wgCategoryTreeOmitNamespace;
global $wgCategoryTreeCategoryPageOptions, $wgCategoryTreeCategoryPageMode;
+ global $wgCategoryTreeForceHeaders;
# Abort if AJAX is not enabled
if ( !$wgUseAjax ) {
@@ -151,6 +155,13 @@
if ( !isset( $wgCategoryTreeCategoryPageOptions['mode'] ) || is_null( $wgCategoryTreeCategoryPageOptions['mode'] ) ) {
$wgCategoryTreeCategoryPageOptions['mode'] = $wgCategoryTreeCategoryPageMode;
}
+
+ if ( $wgCategoryTreeForceHeaders ) {
+ CategoryTree::setHeaders( $wgOut );
+ }
+ else {
+ $wgHooks['OutputPageParserOutput'][] = 'efCategoryTreeParserOutput';
+ }
}
function efCategoryTreeSetHooks() {