package WebGUI::Help::Macros; 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 = map { s/\.pm//; $_; } grep {/\.pm$/} readdir(DIR); ##list of namespaces 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;