This file is indexed.

/usr/share/perl5/CipUX/CAT/Web/Module/ModuleBrowser.pm is in libcipux-cat-web-perl 3.4.0.3-4.2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# +========================================================================+
# || Copyright (C) 2009 by Christian Kuelker                              ||
# ||                                                                      ||
# || License: GNU General Public License - GNU GPL - version 2            ||
# ||          or (at your opinion) any later version                      ||
# +========================================================================+
#  ID:       $ID$
#  Revision: $Revision$
#  Head URL: $Head URL$
#  Date:     $Date$
#  Source:   $Source$

package CipUX::CAT::Web::Module::ModuleBrowser;

use warnings;
use strict;
use CipUX::CAT::Web::Plugin;
use base qw(CipUX::CAT::Web::Module);

{

    use version; our $VERSION = qv('3.4.0.3');
    use re 'taint';    # Keep data captured by parens tainted
    delete @ENV{qw(PATH IFS CDPATH ENV BASH_ENV)};    # Make %ENV safer

    # CONST
    Readonly::Scalar my $EMPTY_STRING => q{};
    Readonly::Hash my %MODULE =>
        ( 'module_browser.cgi' => { name => 'module browser', }, );

    # OBJECT
    my %name_of : ATTR( init_arg => 'name' :default('noname') );

    # METHOD
    sub register {

        my $self = shift;

        my $c = __PACKAGE__;    # module class name
        foreach my $m ( sort keys %MODULE ) {
            my $n = $MODULE{$m}->{name};
            $self->set_module_name_register( { class => $c, name => $m } );
            my $c_ar = $self->module_cfg( $self, $m, $n );
            $self->set_module_cfg_register( { cfg_ar => $c_ar, name => $m } );
        }

        return 1;

    }

    sub module_cfg : CUMULATIVE(BASE FIRST) {

        my $self   = shift;    # TODO: sometimes not blessed, why?
        my $module = shift;
        my $name   = shift;

        my $desc = "Browse CAT module data";
        my $ldesc
            = "This module can be use to see technical data concerning modules.";
        my $module_hr = {};
        $module_hr->{cipuxName}             = $name;
        $module_hr->{cipuxTemplateDir}      = 'module_browser';
        $module_hr->{cipuxIcon}             = 'module.png';
        $module_hr->{cipuxDescription}      = $ldesc;
        $module_hr->{cipuxShortDescription} = $desc;
        $module_hr->{cipuxTask}             = 'NULL';

        return [$module_hr];
    }

    sub module {

        my ( $self, $arg_r ) = @_;

        # will be used to differentiate output/usage
        my $module
            = exists $arg_r->{module}
            ? $self->l( $arg_r->{module} )
            : 'module_browser.cgi';
        my $lh
            = ( exists $arg_r->{lh_obj} )
            ? $arg_r->{lh_obj}
            : $self->perr('lh_obj');

        my $c_hr
            = ( exists $arg_r->{c_hr} )
            ? $arg_r->{c_hr}
            : $self->perr('c_hr');

        my $plugin = CipUX::CAT::Web::Module->new();
        $plugin->init();

        # module =module_browser.cgi
        my @tpl_data = ();
        my $p_hr     = $plugin->get_module_name_register();
        my $o_hr     = $plugin->get_module_cfg_register();
        foreach my $o ( sort keys %{$p_hr} ) {

            # to provide all data:
            #$o_hr->{$o}->{name}        = $o;
            #$o_hr->{$o}->{provided_by} = $p_hr->{$o};
            #push @tpl_data, $o_hr->{$o};

            # but we do only provide some
            my $data_hr = {

                #  MODULE $o povided by $p_hr->{$o}
                name        => $o,
                provided_by => $p_hr->{$o},
                task        => $o_hr->{$o}->{cipuxTask},
            };
            push @tpl_data, $data_hr;
        }

        my $path = "tpl/$c_hr->{cat_theme}";

        my $style    = $path . '/form.css';
        my $template = $path . '/module_browser/index.html';
        my $layout   = $path . '/module_browser/layout.html';

        return {
            cookie_hr => {},
            layout    => $layout,
            layout_ar => [
                { begin_html => 1, },
		                { body_ar    => [ $lh->maketext('Module Browser')] },

                {
                    tt2_hr => {
                        tpl      => $template,
                        param_hr => {
                            SHOW_DEBUG => 0,
                            DATA       => \@tpl_data,
                            MODULE     => $name_of{ ident $self},
                            PATH       => $path,
                            lh         => $lh,
                        },

                    }
                },

                #{ formbuilder_hr => { form => $form }, },
                {
                    footer_hr =>
                        { show_index_back => 1, show_script_back => 0 },
                },
                { end_html => 1, },
            ],

        };
    }

}

1;

__END__