package WebGUI::Help::Macros; use strict; our $HELP = { 'macros list' => { title => 'macros list title', body => sub { my $session = shift; my $dir = join '/', $session->config->getWebguiRoot, "lib", "WebGUI", "Macro"; opendir( DIR, $dir ) or $session->errorHandler->fatal("Can't open Macro directory: $dir!"); my @macros = (); foreach my $dir (readdir(DIR)) { next unless $dir =~ /\.pm$/; $dir =~ s/\.pm//; push @macros, $dir; } closedir(DIR); ##Build list of enabled macros, by namespace, by reversing session hash: my %macros = reverse %{ $session->config->get("macros") }; my $i18n = WebGUI::International->new( $session, 'Macros' ); my $yes = $i18n->get( 138, 'WebGUI' ); my $no = $i18n->get( 139, 'WebGUI' ); my $macro_table = join "\n", map { join '', '', $_, '', ( $macros{$_} ? $yes : $no ), '', ( $macros{$_} ? ( '^', $macros{$_}, '();' ) : ' ' ), '' } @macros; $macro_table = join( "\n", $i18n->get('macros list body'), '', '', $macro_table, '
', $i18n->get('macro name'), '', $i18n->get('macro enabled header'), '', $i18n->get('macro shortcut'), '
' ); }, fields => [], related => [], }, }; 1;