1#!/usr/local/bin/perl 2# index.cgi 3# Display usermin configuration categories 4 5require './usermin-lib.pl'; 6 7if (!-r "$config{'usermin_dir'}/miniserv.conf") { 8 &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); 9 print "<p>",&text('index_econfig', "<tt>$config{'usermin_dir'}</tt>", 10 "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n"; 11 if ($config{'usermin_dir'} eq $standard_usermin_dir) { 12 local $mode; 13 if (&foreign_check("software")) { 14 local %sconfig = &foreign_config("software"); 15 $mode = $sconfig{'package_system'} eq 'rpm' ? 'rpm' : 16 $sconfig{'package_system'} eq 'dpkg' ? 'deb' : 17 undef; 18 } 19 print &ui_confirmation_form( 20 "upgrade.cgi", 21 $text{'index_install'}, 22 [ [ "install", 1 ], 23 [ "source", 2 ], 24 [ "mode", $mode ] ], 25 [ [ undef, $mode ? $text{'index_'.$mode} 26 : $text{'index_tgz'} ] ], 27 ); 28 } 29 &ui_print_footer("/", $text{'index'}); 30 exit; 31 } 32elsif (&same_file($config{'usermin_dir'}, $config_directory)) { 33 &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); 34 35 print &text('index_esame', "<tt>$config{'usermin_dir'}</tt>", 36 "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n"; 37 38 &ui_print_footer("/", $text{'index'}); 39 exit; 40 } 41&get_usermin_miniserv_config(\%miniserv); 42if (!$miniserv{'root'} && !-d $miniserv{'root'}) { 43 &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); 44 45 print &text('index_eroot', "<tt>$config{'usermin_dir'}</tt>", 46 "<tt>$miniserv{'root'}</tt>"),"<p>\n"; 47 48 &ui_print_footer("/", $text{'index'}); 49 exit; 50 } 51 52$ver = &get_usermin_version(); 53&ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, 0, 54 &help_search_link("usermin", "google"), undef, undef, 55 &text('index_version', &get_usermin_version(1))); 56 57@links = ( "edit_access.cgi", 58 "edit_bind.cgi", 59 "edit_ui.cgi", 60 "edit_mods.cgi", 61 "edit_os.cgi", 62 "edit_lang.cgi", 63 "edit_upgrade.cgi", 64 "edit_session.cgi", 65 "edit_assignment.cgi", 66 "edit_categories.cgi", 67 "edit_descs.cgi", 68 "edit_themes.cgi", 69 "edit_referers.cgi", 70 "edit_anon.cgi", 71 "edit_ssl.cgi", 72 "list_configs.cgi", 73 "edit_acl.cgi", 74 "list_restrict.cgi", 75 "edit_users.cgi", 76 "edit_defacl.cgi", 77 "edit_logout.cgi", 78 "edit_dav.cgi", 79 $miniserv{'session'} ? ( "list_sessions.cgi", "edit_twofactor.cgi" ) : ( ), 80 "edit_blocked.cgi", 81 "edit_mobile.cgi", 82 "edit_web.cgi", 83 "edit_advanced.cgi" ); 84@titles = map { /_(\S+).cgi/; $text{"${1}_title"} } @links; 85@icons = map { /_(\S+).cgi/; "images/$1.gif" } @links; 86for($i=0; $i<@links; $i++) { 87 $links[$i] =~ /_(\S+).cgi/; 88 $page = $1 eq "mods" ? "umods" : $1; 89 if (!$access{$page}) { 90 splice(@links, $i, 1); 91 splice(@titles, $i, 1); 92 splice(@icons, $i, 1); 93 } 94 } 95 96&icons_table(\@links, \@titles, \@icons); 97 98$init = &foreign_check("init") && $access{'bootup'}; 99print &ui_hr(); 100 101print &ui_buttons_start(); 102 103if ($access{'stop'}) { 104 &get_usermin_miniserv_config(\%miniserv); 105 if (&check_pid_file($miniserv{'pidfile'})) { 106 print &ui_buttons_row("stop.cgi", 107 $text{'index_stop'}, $text{'index_stopmsg'}); 108 } 109 else { 110 print &ui_buttons_row("start.cgi", 111 $text{'index_start'}, $text{'index_startmsg'}); 112 } 113 } 114 115if ($init) { 116 &foreign_require("init"); 117 $starting = &init::action_status("usermin"); 118 119 print &ui_buttons_row("bootup.cgi", 120 $text{'index_boot'}, $text{'index_bootmsg'}, 121 &ui_hidden("starting", $starting), 122 &ui_radio("boot", $starting == 2 ? 1 : 0, 123 [ [ 1, $text{'yes'} ], 124 [ 0, $text{'no'} ] ])); 125 } 126 127&get_usermin_miniserv_config(\%miniserv); 128if (&check_pid_file($miniserv{'pidfile'})) { 129 print &ui_buttons_row("restart.cgi", 130 $text{'index_restart'}, $text{'index_restartmsg'}); 131 } 132 133print &ui_buttons_end(); 134 135&ui_print_footer("/", $text{'index'}); 136