* wiki.pl (SetHtmlEnvironmentContainer): Corrected a slight, but
significant, typo.
* modules/sidebar.pl: Reverted. I underestimated the scope of
changes needed to bring this module in line with recent, other
changes to the Table of Contents module. The good news is that the
reverted Sidebar module now works as expected for all modules except
the Table of Contents module; of course, the bad news is that the
reverted Sidebar module no longer works for the Table of Contents
module. (Unfortunately, we can't have both, here.) I will be
recommitting my changes to this module as a new module, therefore,
named "modules/crossbar.pl" -- sometime, soon. That new module
will (probably) break backwards compatibility with this module, but
will otherwise behave as expected... with all modules.
* t/sidebar.t: Prevented testing against the Table of Contents
module, as the Sidebar module is now known not to work with that
module.
2008-11-20 11:45:45 +00:00
|
|
|
# Copyright (C) 2004 Tilmann Holst
|
|
|
|
|
# Copyright (C) 2004, 2005, 2007 Alex Schroeder <alex@emacswiki.org>
|
|
|
|
|
#
|
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
|
|
|
# (at your option) any later version.
|
|
|
|
|
#
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
#
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
2015-03-27 03:01:01 +02:00
|
|
|
use strict;
|
|
|
|
|
|
2014-08-21 22:23:23 +02:00
|
|
|
AddModuleDescription('sidebar.pl', 'Sidebar Extension');
|
2004-02-09 23:14:24 +00:00
|
|
|
|
2015-04-10 13:31:28 +03:00
|
|
|
our ($OpenPageName, @MyInitVariables, %AdminPages);
|
|
|
|
|
our ($SidebarName);
|
2004-02-09 23:14:24 +00:00
|
|
|
|
2008-11-15 12:48:13 +00:00
|
|
|
# Include this page on every page:
|
2004-02-09 23:14:24 +00:00
|
|
|
|
* wiki.pl (SetHtmlEnvironmentContainer): Corrected a slight, but
significant, typo.
* modules/sidebar.pl: Reverted. I underestimated the scope of
changes needed to bring this module in line with recent, other
changes to the Table of Contents module. The good news is that the
reverted Sidebar module now works as expected for all modules except
the Table of Contents module; of course, the bad news is that the
reverted Sidebar module no longer works for the Table of Contents
module. (Unfortunately, we can't have both, here.) I will be
recommitting my changes to this module as a new module, therefore,
named "modules/crossbar.pl" -- sometime, soon. That new module
will (probably) break backwards compatibility with this module, but
will otherwise behave as expected... with all modules.
* t/sidebar.t: Prevented testing against the Table of Contents
module, as the Sidebar module is now known not to work with that
module.
2008-11-20 11:45:45 +00:00
|
|
|
$SidebarName = 'SideBar';
|
2008-11-15 12:48:13 +00:00
|
|
|
|
* wiki.pl (SetHtmlEnvironmentContainer): Corrected a slight, but
significant, typo.
* modules/sidebar.pl: Reverted. I underestimated the scope of
changes needed to bring this module in line with recent, other
changes to the Table of Contents module. The good news is that the
reverted Sidebar module now works as expected for all modules except
the Table of Contents module; of course, the bad news is that the
reverted Sidebar module no longer works for the Table of Contents
module. (Unfortunately, we can't have both, here.) I will be
recommitting my changes to this module as a new module, therefore,
named "modules/crossbar.pl" -- sometime, soon. That new module
will (probably) break backwards compatibility with this module, but
will otherwise behave as expected... with all modules.
* t/sidebar.t: Prevented testing against the Table of Contents
module, as the Sidebar module is now known not to work with that
module.
2008-11-20 11:45:45 +00:00
|
|
|
# do this later so that the user can customize $SidebarName
|
2005-01-04 09:57:56 +00:00
|
|
|
push(@MyInitVariables, \&SidebarInit);
|
|
|
|
|
|
|
|
|
|
sub SidebarInit {
|
|
|
|
|
$SidebarName = FreeToNormal($SidebarName); # spaces to underscores
|
2006-07-15 23:15:12 +00:00
|
|
|
$AdminPages{$SidebarName} = 1;
|
2005-01-04 09:57:56 +00:00
|
|
|
}
|
2005-01-04 09:04:05 +00:00
|
|
|
|
2015-04-11 23:41:33 +03:00
|
|
|
*OldSideBarGetHeader = \&GetHeader;
|
|
|
|
|
*GetHeader = \&NewSideBarGetHeader;
|
* wiki.pl (SetHtmlEnvironmentContainer): Corrected a slight, but
significant, typo.
* modules/sidebar.pl: Reverted. I underestimated the scope of
changes needed to bring this module in line with recent, other
changes to the Table of Contents module. The good news is that the
reverted Sidebar module now works as expected for all modules except
the Table of Contents module; of course, the bad news is that the
reverted Sidebar module no longer works for the Table of Contents
module. (Unfortunately, we can't have both, here.) I will be
recommitting my changes to this module as a new module, therefore,
named "modules/crossbar.pl" -- sometime, soon. That new module
will (probably) break backwards compatibility with this module, but
will otherwise behave as expected... with all modules.
* t/sidebar.t: Prevented testing against the Table of Contents
module, as the Sidebar module is now known not to work with that
module.
2008-11-20 11:45:45 +00:00
|
|
|
|
|
|
|
|
# this assumes that *all* calls to GetHeader will print!
|
|
|
|
|
sub NewSideBarGetHeader {
|
|
|
|
|
my ($id) = @_;
|
|
|
|
|
print OldSideBarGetHeader(@_);
|
|
|
|
|
# While rendering, OpenPageName must point to the sidebar, so that
|
|
|
|
|
# the form extension which checks whether the current page is locked
|
|
|
|
|
# will check the SideBar lock and not the real page's lock.
|
|
|
|
|
local $OpenPageName = $SidebarName;
|
|
|
|
|
print '<div class="sidebar">';
|
|
|
|
|
# This makes sure that $Page{text} remains undisturbed.
|
|
|
|
|
PrintWikiToHTML(GetPageContent($SidebarName));
|
|
|
|
|
print '</div>';
|
|
|
|
|
return '';
|
2004-02-09 23:14:24 +00:00
|
|
|
}
|