Compare commits
	
		
			16 Commits
		
	
	
		
			11_0_0-39_
			...
			11_0_0-47_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a62968d2d9 | |||
| 0e777fd51a | |||
| eee68afa2b | |||
| c2d677594b | |||
| f6fe2216a0 | |||
| 6d3f8f48c2 | |||
| f8d9ec34e3 | |||
| 835d439e42 | |||
| 4797a1b189 | |||
| 1e4ec809b5 | |||
| d1197f55cf | |||
| b5d6de3bcf | |||
| ec4f515012 | |||
| 9b03d377e2 | |||
| 957d2ada21 | |||
| be49419eba | 
| @@ -45,6 +45,7 @@ for my $event ( qw( smeserver-manager-update smanager-refresh bootstrap-console- | ||||
|     event_link('locales2-conf', "$event", '80'); | ||||
| } | ||||
|  | ||||
| event_link('post-upgrade-and-reboot','post-upgrade-and-reboot',80); | ||||
| event_link('systemd-default', "smeserver-manager-update", '88'); | ||||
| event_link('systemd-reload', "smeserver-manager-update", '89'); | ||||
| templates2events("/etc/rsyslog.conf", "smeserver-manager-update"); | ||||
|   | ||||
							
								
								
									
										1
									
								
								root/etc/e-smith/events/actions/.perltidyrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								root/etc/e-smith/events/actions/.perltidyrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| -pbp -nst -nse -l=120 -ce -csc -pt=2 -kbl=0 -mbl=1 -lbl=1 | ||||
| @@ -1,218 +1,207 @@ | ||||
| #!/usr/bin/perl -w | ||||
|  | ||||
| #---------------------------------------------------------------------- | ||||
| # copyright (C) 1999-2006 Mitel Networks Corporation | ||||
| #  | ||||
| # | ||||
| # 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 2 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, write to the Free Software | ||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA | ||||
| #  | ||||
| # | ||||
| #---------------------------------------------------------------------- | ||||
| package esmith; | ||||
| use strict; | ||||
|  | ||||
| use constant SMNGR_LIB => '/usr/share/smanager/lib'; | ||||
| use constant I18NMODULES => 'SrvMngr/I18N/Modules'; | ||||
| use constant WEBFUNCTIONS => 'SrvMngr/Controller'; | ||||
| use constant NAVDIR => '/home/e-smith/db'; | ||||
| use constant SMNGR_LIB     => '/usr/share/smanager/lib'; | ||||
| use constant I18NMODULES   => 'SrvMngr/I18N/Modules'; | ||||
| use constant WEBFUNCTIONS  => 'SrvMngr/Controller'; | ||||
| use constant NAVDIR        => '/home/e-smith/db'; | ||||
| use constant NAVIGATIONDIR => 'navigation2'; | ||||
| use constant DEBUG => 0; | ||||
|  | ||||
| use constant DEBUG         => 0; | ||||
| use esmith::NavigationDB; | ||||
| use esmith::I18N; | ||||
|  | ||||
| use Data::Dumper;	# activate if DEBUG | ||||
|  | ||||
| use Data::Dumper;    # activate if DEBUG | ||||
| binmode(STDOUT, ":encoding(UTF-8)"); | ||||
|  | ||||
| my $navigation_ignore =  | ||||
| 	"(\.\.?|Swttheme\.pm|Login\.pm|Request\.pm|Modules\.pm(-.*)?)"; | ||||
|  | ||||
| my $i18n = new esmith::I18N; | ||||
|  | ||||
| my $navigation_ignore = "(\.\.?|Swttheme\.pm|Login\.pm|Request\.pm|Modules\.pm(-.*)?)"; | ||||
| my $i18n              = new esmith::I18N; | ||||
| my %navdbs; | ||||
|  | ||||
| opendir FUNCTIONS, SMNGR_LIB.'/'.WEBFUNCTIONS or  | ||||
|     die "Couldn't open ", SMNGR_LIB.'/'.WEBFUNCTIONS, "\n"; | ||||
| my @files = grep (!/^${navigation_ignore}$/, readdir (FUNCTIONS)); | ||||
| opendir FUNCTIONS, SMNGR_LIB . '/' . WEBFUNCTIONS | ||||
|     or die "Couldn't open ", SMNGR_LIB . '/' . WEBFUNCTIONS, "\n"; | ||||
| my @files = grep (!/^${navigation_ignore}$/, readdir(FUNCTIONS)); | ||||
| closedir FUNCTIONS; | ||||
| my @langs = $i18n->availableLanguages(); | ||||
|  | ||||
| my @langs = $i18n->availableLanguages();  | ||||
| #my @langs = ('tr');  #Temp override | ||||
| foreach my $lang (@langs) { | ||||
|     my $long_lex = SMNGR_LIB . '/' . I18NMODULES . "/General/general_$lang.lex"; | ||||
|     next unless (-e $long_lex); | ||||
|     open(LEX, '<:encoding(UTF-8)', $long_lex) | ||||
|         or die "Couldn't open ", $long_lex, " for reading.\n"; | ||||
|     my @gen_lex = <LEX>; | ||||
|     close LEX; | ||||
|  | ||||
|     #my @files = ('Portforwarding.pm');  #Temp override | ||||
|     foreach my $file (@files) { | ||||
|         next if (-d SMNGR_LIB . '/' . WEBFUNCTIONS . "/$file"); | ||||
|  | ||||
| foreach my $lang (@langs) | ||||
| { | ||||
| 	my $long_lex = SMNGR_LIB.'/'.I18NMODULES."/General/general_$lang.lex"; | ||||
| 	next unless ( -e $long_lex ); | ||||
|         #        next unless ( $file =~ m/D.*\.pm$/ ); | ||||
|         next unless ($file =~ m/[A-Z].*\.pm$/); | ||||
|         my $file2 = lc($file); | ||||
|         $file2 =~ s/\.pm$//; | ||||
|  | ||||
| 	open(LEX, '<:encoding(UTF-8)', $long_lex) | ||||
| 		 or die "Couldn't open ", $long_lex, " for reading.\n"; | ||||
| 	my @gen_lex = <LEX>; | ||||
| 	close LEX; | ||||
|         #-------------------------------------------------- | ||||
|         # extract heading, description and weight information | ||||
|         # from Mojo controller | ||||
|         #-------------------------------------------------- | ||||
|         open(SCRIPT, SMNGR_LIB . '/' . WEBFUNCTIONS . "/$file"); | ||||
|         my $heading            = undef; | ||||
|         my $description        = undef; | ||||
|         my $heading_weight     = undef; | ||||
|         my $description_weight = undef; | ||||
|         my $menucat            = undef; | ||||
|         my $routes             = undef; | ||||
|  | ||||
| 	#my @files = ('Portforwarding.pm');  #Temp override | ||||
| 	foreach my $file (@files) | ||||
| 	{ | ||||
| 		next if (-d SMNGR_LIB.'/'.WEBFUNCTIONS . "/$file"); | ||||
| 		#        next unless ( $file =~ m/D.*\.pm$/ ); | ||||
| 			next unless ( $file =~ m/[A-Z].*\.pm$/ ); | ||||
|         while (<SCRIPT>) { | ||||
|             $heading     = $1 if (/^\s*#\s*heading\s*:\s*(.+?)\s*$/); | ||||
|             $description = $1 | ||||
|                 if (/^\s*#\s*description\s*:\s*(.+?)\s*$/); | ||||
|             ($heading_weight, $description_weight) = ($1, $2) | ||||
|                 if (/^\s*#\s*navigation\s*:\s*(\d+?)\s+(\d+?)\s*$/); | ||||
|             $menucat = $1 | ||||
|                 if (/^\s*#\s*menu\s*:\s*(.+?)\s*$/); | ||||
|             last | ||||
|                 if (defined $heading | ||||
|                 and defined $description | ||||
|                 and defined $heading_weight | ||||
|                 and defined $description_weight | ||||
|                 and defined $menucat); | ||||
|  | ||||
| 		my $file2 = lc($file); | ||||
| 		$file2 =~ s/\.pm$//; | ||||
| 		#--------------------------------------------------  | ||||
| 		# extract heading, description and weight information | ||||
| 		# from Mojo controller | ||||
| 		#--------------------------------------------------  | ||||
| 		open(SCRIPT, SMNGR_LIB.'/'.WEBFUNCTIONS . "/$file"); | ||||
| 		my $heading            	= undef; | ||||
| 		my $description        	= undef; | ||||
| 		my $heading_weight     	= undef; | ||||
| 		my $description_weight 	= undef; | ||||
| 		my $menucat		= undef; | ||||
| 		my $routes		= undef; | ||||
|             # routes : end  (stop before eof if 'menu' is not here before 'routes'!!! | ||||
|             $routes = $1 if (/^\s*#\s*routes\s*:\s*(.+?)\s*$/); | ||||
|             last         if (defined $routes and $routes eq 'end'); | ||||
|         } ## end while (<SCRIPT>) | ||||
|         close SCRIPT; | ||||
|         print "updating script $file for lang $lang\n" if DEBUG; | ||||
|         my $navdb   = $navdbs{$lang}; | ||||
|         my $navinfo = NAVDIR . '/' . NAVIGATIONDIR . "/navigation.$lang"; | ||||
|         $navdb ||= esmith::NavigationDB->open($navinfo); | ||||
|         $navdb ||= esmith::NavigationDB->create($navinfo) | ||||
|             or die "Couldn't create $navinfo\n"; | ||||
|         $navdbs{$lang} ||= $navdb; | ||||
|         my $rec = $navdb->get($file2) | ||||
|             || $navdb->new_record($file2, { type => 'panel' }); | ||||
|         my @panel_lex = (); | ||||
|         $long_lex = SMNGR_LIB . '/' . I18NMODULES . '/' . ucfirst($file2) . "/${file2}_$lang.lex"; | ||||
|  | ||||
| 		while ( <SCRIPT> ) | ||||
| 		{ | ||||
| 			$heading = $1 if (/^\s*#\s*heading\s*:\s*(.+?)\s*$/); | ||||
| 			$description = $1  | ||||
| 			if (/^\s*#\s*description\s*:\s*(.+?)\s*$/); | ||||
| 			($heading_weight, $description_weight) = ($1, $2)  | ||||
| 			if (/^\s*#\s*navigation\s*:\s*(\d+?)\s+(\d+?)\s*$/); | ||||
| 			$menucat = $1  | ||||
| 			if (/^\s*#\s*menu\s*:\s*(.+?)\s*$/); | ||||
|         if (-e $long_lex) { | ||||
|             open(LEX, '<:encoding(UTF-8)', $long_lex) | ||||
|                 or die "Couldn't open ", $long_lex, " for reading.\n"; | ||||
|             @panel_lex = <LEX>; | ||||
|             close LEX; | ||||
|         } ## end if (-e $long_lex) | ||||
|  | ||||
| 			last if (defined $heading and  | ||||
| 			defined $description and | ||||
| 			defined $heading_weight and | ||||
| 			defined $description_weight and | ||||
| 			defined $menucat); | ||||
|         #Extract the prefix for this module | ||||
|         my @keys   = values @panel_lex;    # Get all values from the array | ||||
|         my $i      = 0;                    # Initialize the index | ||||
|         my $found  = 0;                    # Flag to check if the prefix was found | ||||
|         my $prefix = "xx_";                # Probably never match!! | ||||
|  | ||||
| 			# routes : end  (stop before eof if 'menu' is not here before 'routes'!!! | ||||
| 			$routes = $1 if (/^\s*#\s*routes\s*:\s*(.+?)\s*$/); | ||||
| 			last if (defined $routes and $routes eq 'end'); | ||||
| 		} | ||||
| 		close SCRIPT; | ||||
|         while ($i < @keys) {               # Loop until we run out of entries | ||||
|             my $extracted_value = $keys[$i] || "";    # The current entry | ||||
|                                                       #print("Extracted val: ".$extracted_value."\n"); | ||||
|  | ||||
| 		print "updating script $file for lang $lang\n"if DEBUG; | ||||
| 		my $navdb = $navdbs{$lang}; | ||||
| 		my $navinfo = NAVDIR.'/'.NAVIGATIONDIR . "/navigation.$lang"; | ||||
| 		$navdb ||= esmith::NavigationDB->open($navinfo); | ||||
| 		$navdb ||= esmith::NavigationDB->create($navinfo) or | ||||
| 			die "Couldn't create $navinfo\n"; | ||||
| 			$navdbs{$lang} ||= $navdb; | ||||
| 		my $rec = $navdb->get($file2) ||  | ||||
| 			$navdb->new_record($file2, { type => 'panel' } ); | ||||
| 		 | ||||
| 		my @panel_lex = (); | ||||
| 		$long_lex = SMNGR_LIB.'/'.I18NMODULES.'/'.ucfirst($file2)."/${file2}_$lang.lex"; | ||||
| 		if ( -e $long_lex ) { | ||||
| 			open(LEX, '<:encoding(UTF-8)', $long_lex) | ||||
| 				 or die "Couldn't open ", $long_lex, " for reading.\n"; | ||||
| 			@panel_lex = <LEX>; | ||||
| 			close LEX; | ||||
| 		} | ||||
| 		#Extract the prefix for this module | ||||
| 		my @keys = values @panel_lex;  # Get all values from the array | ||||
| 		 | ||||
| 		my $i = 0;                    # Initialize the index | ||||
| 		my $found = 0;                # Flag to check if the prefix was found | ||||
| 		my $prefix = "xx_";			  # Probably never match!! | ||||
|             # Extract prefix from the second value (up to and including the first underscore) | ||||
|             #my ($prefix) = $second_value =~ /^'(.*?_)/;  # Match everything up to and including the first underscore | ||||
|             ($prefix) = $extracted_value =~ /^'(.*?_)/;    # Match everything up to and including the first underscore | ||||
|  | ||||
| 		while ($i < @keys) {          # Loop until we run out of entries | ||||
| 			my $extracted_value = $keys[$i] || "";  # The current entry | ||||
| 			#print("Extracted val: ".$extracted_value."\n"); | ||||
|             if (defined $prefix) { | ||||
|                 $found = 1;                                # Set found flag to true | ||||
|                 last;                                      # Exit the loop if prefix is found | ||||
|             } else { | ||||
|  | ||||
| 			# Extract prefix from the second value (up to and including the first underscore) | ||||
| 			#my ($prefix) = $second_value =~ /^'(.*?_)/;  # Match everything up to and including the first underscore | ||||
| 			($prefix) = $extracted_value =~ /^'(.*?_)/;  # Match everything up to and including the first underscore | ||||
| 			 | ||||
| 			if (defined $prefix) { | ||||
| 				$found = 1;           # Set found flag to true | ||||
| 				last;                 # Exit the loop if prefix is found | ||||
| 			} else { | ||||
| 				#print("Extracted Val: " . $extracted_value . "\n"); | ||||
| 			} | ||||
|                 #print("Extracted Val: " . $extracted_value . "\n"); | ||||
|             } | ||||
|             $i++;                                          # Increment the index to check the next entry | ||||
|         } ## end while ($i < @keys) | ||||
|  | ||||
| 			$i++;                     # Increment the index to check the next entry | ||||
| 		} | ||||
|         if (!$found) { | ||||
|             #print(STDERR "No valid prefix found in any entries: " . $file2 . " (" . $lang . ")\n");    # if DEBUG; | ||||
|             $prefix = "xx_";    # Probably never match!! | ||||
|         } | ||||
|  | ||||
| 		if (!$found) { | ||||
| 			print(STDERR "No valid prefix found in any entries: ".$file2." (".$lang.")\n"); # if DEBUG; | ||||
| 			$prefix = "xx_";			  # Probably never match!! | ||||
| 			 | ||||
| 		} | ||||
| 		#print("Prefix: ".$prefix." ".$file2." (".$lang.")\n"); | ||||
| 		 | ||||
| 		my %Lexicon = (); | ||||
| 		push(@panel_lex, @gen_lex); | ||||
| 		my $top_error = 0; | ||||
|         #print("Prefix: ".$prefix." ".$file2." (".$lang.")\n"); | ||||
|         my %Lexicon = (); | ||||
|         push(@panel_lex, @gen_lex); | ||||
|         my $top_error = 0; | ||||
|         chomp @panel_lex; | ||||
|  | ||||
| 		chomp @panel_lex; | ||||
| 		for (@panel_lex) { | ||||
| 			next unless $_;	# first one empty | ||||
| 			my ($k, $v) = split / => /, $_; | ||||
| 		#	errors on split to $v (use DEBUG to see) | ||||
| 			if ( $k and $v ) { | ||||
| 				$k =~ s/\'//g; | ||||
| 				$v =~ s/\'//g; | ||||
| 				$v =~ s/,$//g; | ||||
| 				$Lexicon{ lc($k) } = $v; | ||||
| 			} else { | ||||
| 				$k = "?" unless ($k); | ||||
| 				print STDERR "Error for $lang $file2 on $k \n" if DEBUG; | ||||
| 				$top_error++; | ||||
| 			} | ||||
| 		} | ||||
| 		if ( $top_error > 0) { | ||||
| 			if ( DEBUG ) { | ||||
| 				print STDERR "$top_error errors for $lang $file2\n"; | ||||
| 				#		print Dumper(\@panel_lex); | ||||
| 				#		print Dumper(\%Lexicon); | ||||
| 				#		exit 1; | ||||
| 			} | ||||
| 		} | ||||
| 		$heading = "" unless defined $heading; | ||||
| 		$description = "" unless defined $description; | ||||
| 		# Get the base language code from $lang | ||||
| 		my $base_lang = (split('-', $lang))[0]; | ||||
| 		my $loc_heading =  process_localization( \%Lexicon, $heading, $lang, $prefix ); | ||||
| 		my $loc_description =  process_localization( \%Lexicon, $description, $lang, $prefix ); | ||||
| 		$loc_heading =~ s/^\s*(\w.*?)\s*$/$1/; | ||||
| 		$loc_description =~ s/^\s*(\w.*?)\s*$/$1/; | ||||
|         for (@panel_lex) { | ||||
|             next unless $_;     # first one empty | ||||
|             my ($k, $v) = split / => /, $_; | ||||
|  | ||||
| 		$rec->merge_props( | ||||
| 			Heading => $loc_heading, | ||||
| 			Description => $loc_description, | ||||
| 			HeadingWeight => localise( \%Lexicon, $heading_weight ), | ||||
| 			DescriptionWeight => localise( \%Lexicon, $description_weight ), | ||||
| 			MenuCat => (defined $menucat ? $menucat : 'A')); | ||||
| 	} | ||||
| 	#warn "trying to close for lang $lang\n"; | ||||
| 	my $navdb = $navdbs{$lang}; | ||||
| 	$navdb->close(); | ||||
| } | ||||
|             #	errors on split to $v (use DEBUG to see) | ||||
|             if ($k and $v) { | ||||
|                 $k =~ s/\'//g; | ||||
|                 $v =~ s/\'//g; | ||||
|                 $v =~ s/,$//g; | ||||
|                 $Lexicon{ lc($k) } = $v; | ||||
|             } else { | ||||
|                 $k = "?" unless ($k); | ||||
|                 print STDERR "Error for $lang $file2 on $k \n" if DEBUG; | ||||
|                 $top_error++; | ||||
|             } | ||||
|         } ## end for (@panel_lex) | ||||
|  | ||||
|         if ($top_error > 0) { | ||||
|             if (DEBUG) { | ||||
|                 print STDERR "$top_error errors for $lang $file2\n"; | ||||
|  | ||||
|                 #		print Dumper(\@panel_lex); | ||||
|                 #		print Dumper(\%Lexicon); | ||||
|                 #		exit 1; | ||||
|             } ## end if (DEBUG) | ||||
|         } ## end if ($top_error > 0) | ||||
|         $heading     = "" unless defined $heading; | ||||
|         $description = "" unless defined $description; | ||||
|  | ||||
|         # Get the base language code from $lang | ||||
|         my $base_lang       = (split('-', $lang))[0]; | ||||
|         my $loc_heading     = process_localization(\%Lexicon, $heading,     $lang, $prefix); | ||||
|         my $loc_description = process_localization(\%Lexicon, $description, $lang, $prefix); | ||||
|         $loc_heading     =~ s/^\s*(\w.*?)\s*$/$1/; | ||||
|         $loc_description =~ s/^\s*(\w.*?)\s*$/$1/; | ||||
|         $rec->merge_props( | ||||
|             Heading           => $loc_heading, | ||||
|             Description       => $loc_description, | ||||
|             HeadingWeight     => localise(\%Lexicon, $heading_weight), | ||||
|             DescriptionWeight => localise(\%Lexicon, $description_weight), | ||||
|             MenuCat           => (defined $menucat ? $menucat : 'A') | ||||
|         ); | ||||
|     } ## end foreach my $file (@files) | ||||
|  | ||||
|     #warn "trying to close for lang $lang\n"; | ||||
|     my $navdb = $navdbs{$lang}; | ||||
|     $navdb->close(); | ||||
| } ## end foreach my $lang (@langs) | ||||
|  | ||||
| sub localise { | ||||
|     my ($lexicon, $string) = @_; | ||||
|  | ||||
|     #print("Looking up:".$string."\n"); | ||||
|     $string  = "" unless defined $string; | ||||
|     $string = "" unless defined $string; | ||||
|     my $lc_string = lc($string); | ||||
|     my $res = $lexicon->{$lc_string} || $string; | ||||
|     my $res       = $lexicon->{$lc_string} || $string; | ||||
|  | ||||
|     #print("Returning:".$res."\n"); | ||||
|     return $res; | ||||
| } | ||||
| } ## end sub localise | ||||
|  | ||||
| # Subroutine to process localization | ||||
| sub process_localization { | ||||
| @@ -226,15 +215,17 @@ sub process_localization { | ||||
|  | ||||
|     # Check the condition | ||||
|     if ($loc_heading eq $heading && $base_lang ne 'en') { | ||||
|  | ||||
|         # Construct the new key by combining the prefix and the original heading | ||||
|         my $key = $prefix . $heading; | ||||
|  | ||||
|         # Localize using the constructed key | ||||
|         $loc_heading = localise($lexicon_ref, $key); | ||||
|  | ||||
|         # See if it got a hit | ||||
|         if ($loc_heading eq $key){ | ||||
| 			$loc_heading = $heading; | ||||
| 		} | ||||
|     } | ||||
|      | ||||
|     return $loc_heading; # Optionally return the localized heading | ||||
| } | ||||
|         if ($loc_heading eq $key) { | ||||
|             $loc_heading = $heading; | ||||
|         } | ||||
|     } ## end if ($loc_heading eq $heading...) | ||||
|     return $loc_heading;    # Optionally return the localized heading | ||||
| } ## end sub process_localization | ||||
							
								
								
									
										3
									
								
								root/etc/e-smith/events/actions/post-upgrade-and-reboot
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								root/etc/e-smith/events/actions/post-upgrade-and-reboot
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| #!/bin/bash | ||||
| /usr/sbin/e-smith/signal-event post-upgrade | ||||
| /usr/sbin/e-smith/signal-event reboot | ||||
| @@ -80,6 +80,7 @@ a:active { color: #606060; text-decoration: none; } | ||||
|  | ||||
| .sme-error { | ||||
|     color: red; | ||||
|     display:block; | ||||
|     background-color: #ffffff; | ||||
|     border-width: 1px; | ||||
|     border-style: solid; | ||||
| @@ -93,6 +94,7 @@ a:active { color: #606060; text-decoration: none; } | ||||
|  | ||||
| .sme-warning { | ||||
|     color: orange; | ||||
|     display:block;   | ||||
|     background-color: #ffffff; | ||||
|     border-width: 1px; | ||||
|     border-style: solid; | ||||
| @@ -276,4 +278,4 @@ a.menu-title { | ||||
|  | ||||
| /*end*/ | ||||
| EOF | ||||
| } | ||||
| } | ||||
| @@ -1,7 +1,7 @@ | ||||
| [Unit] | ||||
| Description=Server Manager 2 Mojo | ||||
| Requires=network.target httpd-e-smith.service ldap.service | ||||
| After=network.target  | ||||
| Requires=network-online.target httpd-e-smith.service ldap.service | ||||
| After=network-online.target  | ||||
|  | ||||
| [Service] | ||||
| Type=simple | ||||
|   | ||||
| @@ -224,12 +224,12 @@ sub setup_plugins { | ||||
|     # CSRF protection if production mode | ||||
| #    $self->plugin('Mojolicious::Plugin::CSRFDefender' => { | ||||
| #   Adapted plugin for use with GET method | ||||
|     $self->plugin('SrvMngr::Plugin::CSRFDefender' => { | ||||
| 	onetime => 1, | ||||
| 	error_status => 400, | ||||
| 	error_content => 'Error: CSRF token is invalid or outdated' | ||||
|     #$self->plugin('SrvMngr::Plugin::CSRFDefender' => { | ||||
| 	#onetime => 1, | ||||
| 	#error_status => 400, | ||||
| 	#error_content => 'Error: CSRF token is invalid or outdated' | ||||
|     	#error_template => 'csrf_400' | ||||
| 	}) if ( $self->mode eq 'production' ); | ||||
| 	#}) if ( $self->mode eq 'production' ); | ||||
|  | ||||
|     $self->plugin('SrvMngr::Plugin::I18N' => {namespace => 'SrvMngr::I18N', default => 'en'}); | ||||
|  | ||||
| @@ -866,4 +866,4 @@ sub get_reg_mask { | ||||
| } | ||||
|  | ||||
|  | ||||
| 1; | ||||
| 1; | ||||
| @@ -354,7 +354,7 @@ sub get_selected_LIST { | ||||
|     my $selected      = shift;    #Parameter is name of selected row. | ||||
|     my $is_new_record = shift;    #Indicates new record required (defaults) | ||||
|     my %ret           = {}; | ||||
|     return $ret; | ||||
|     return %ret; | ||||
| } ## end sub get_selected_LIST | ||||
|  | ||||
| sub get_selected_PARAMS { | ||||
| @@ -362,7 +362,7 @@ sub get_selected_PARAMS { | ||||
|     my $selected      = shift;    #Parameter is name of selected row. | ||||
|     my $is_new_record = shift;    #Indicates new record required (defaults) | ||||
|     my %ret           = {}; | ||||
|     return $ret; | ||||
|     return %ret; | ||||
| } ## end sub get_selected_PARAMS | ||||
|  | ||||
| sub get_selected_CHECKALLDOMAINS { | ||||
| @@ -370,7 +370,7 @@ sub get_selected_CHECKALLDOMAINS { | ||||
|     my $selected      = shift;    #Parameter is name of selected row. | ||||
|     my $is_new_record = shift;    #Indicates new record required (defaults) | ||||
|     my %ret           = {}; | ||||
|     return $ret; | ||||
|     return %ret; | ||||
| } ## end sub get_selected_CHECKALLDOMAINS | ||||
|  | ||||
| sub get_selected_CHECKALLENABLEDDOMAINS { | ||||
| @@ -378,7 +378,7 @@ sub get_selected_CHECKALLENABLEDDOMAINS { | ||||
|     my $selected      = shift;    #Parameter is name of selected row. | ||||
|     my $is_new_record = shift;    #Indicates new record required (defaults) | ||||
|     my %ret           = {}; | ||||
|     return $ret; | ||||
|     return %ret; | ||||
| } ## end sub get_selected_CHECKALLENABLEDDOMAINS | ||||
|  | ||||
| sub get_selected_CHECKONEDOMAIN { | ||||
| @@ -386,7 +386,7 @@ sub get_selected_CHECKONEDOMAIN { | ||||
|     my $selected      = shift;    #Parameter is name of selected row. | ||||
|     my $is_new_record = shift;    #Indicates new record required (defaults) | ||||
|     my %ret           = {}; | ||||
|     return $ret; | ||||
|     return %ret; | ||||
| } ## end sub get_selected_CHECKONEDOMAIN | ||||
|  | ||||
| #after sucessful modify or create or whatever and submit then perfom (if the params validate) | ||||
| @@ -563,4 +563,4 @@ sub update_enabled_domains { | ||||
|     my $output = `/etc/e-smith/events/actions/letsencrypt-setdomains "" "" enabled `; | ||||
|     return $output || "-empty-"; | ||||
| } ## end sub update_enabled_domains | ||||
| 1; | ||||
| 1; | ||||
| @@ -305,10 +305,10 @@ sub do_display { | ||||
|     my $modul     = ""; | ||||
|  | ||||
|     # Accessing all parameters | ||||
|     my %params = $c->req->params->to_hash; | ||||
|     my $params = $c->req->params->to_hash; | ||||
|  | ||||
|     # Get number of parameters | ||||
|     my $num_params = keys %params; | ||||
|     my $num_params = scalar keys %$params; | ||||
|  | ||||
|     #Tag as Post or Get (ie. create new entry or edit existing one | ||||
|     my $is_new_record = ($c->req->method() eq 'POST'); | ||||
| @@ -445,4 +445,4 @@ sub do_display { | ||||
|     ); | ||||
|     $c->render(template => "letsencrypt"); | ||||
| } ## end sub do_display | ||||
| 1; | ||||
| 1; | ||||
| @@ -56,10 +56,11 @@ sub do_action { | ||||
|  | ||||
|             #    esmith::util::backgroundCommand( 1, "/sbin/e-smith/signal-event", "post-upgrade", | ||||
|             #	    "; ", "/sbin/e-smith/signal-event", "reboot" ); | ||||
|             system("/sbin/e-smith/signal-event", "post-upgrade") == 0 | ||||
|                 or die("Error occurred while running post-upgrade.\n"); | ||||
|             system("/sbin/e-smith/signal-event", "reboot") == 0 | ||||
|                 or die("Error occurred while rebooting.\n"); | ||||
|             esmith::util::backgroundCommand( 1, "/sbin/e-smith/signal-event", "post-upgrade-and-reboot"); | ||||
| 		    #system("/sbin/e-smith/signal-event", "post-upgrade") == 0 | ||||
| 		    #or die("Error occurred while running post-upgrade.\n"); | ||||
| 		    #system("/sbin/e-smith/signal-event", "reboot") == 0 | ||||
| 		    #or die("Error occurred while rebooting.\n"); | ||||
|         } ## end unless ($debug) | ||||
|     } ## end elsif ($function eq 'reconfigure') | ||||
|     $c->stash(title => $title, modul => $result); | ||||
|   | ||||
| @@ -34,6 +34,7 @@ our $cdb = esmith::ConfigDB->open() || die "Couldn't open config db"; | ||||
| sub main { | ||||
|     my $c = shift; | ||||
|     $c->app->log->info($c->log_req); | ||||
| 	my $adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; | ||||
|     my $notif     = ''; | ||||
|     my %usr_datas = (); | ||||
|     my $title     = $c->l('usr_FORM_TITLE'); | ||||
| @@ -394,10 +395,12 @@ sub remove_account { | ||||
| sub reset_password { | ||||
|     my ($c, $user, $passw1) = @_; | ||||
|  | ||||
|  | ||||
|     unless (($user) = ($user =~ /^(\w[\-\w_\.]*)$/)) { | ||||
|         return $c->l('usr_TAINTED_USER'); | ||||
|     } | ||||
|     $user = $1; | ||||
| 	my $adb = esmith::AccountsDB->open || die "Couldn't open accounts db"; | ||||
|     my $acct = $adb->get($user); | ||||
|  | ||||
|     if ($acct->prop('type') eq "user") { | ||||
| @@ -445,10 +448,9 @@ sub validate_password { | ||||
|     } | ||||
|     $reason ||= "Software error: password check failed"; | ||||
|     return "OK" if ($reason eq "ok"); | ||||
|     return | ||||
|           $c->l("Bad Password Choice") . ": " | ||||
|     return $c->l("Bad Password Choice") . ": " | ||||
|         . $c->l("The password you have chosen is not a good choice, because") . " " | ||||
|         . $c->($reason) . "."; | ||||
|         . $c->l($reason) . "."; | ||||
| } ## end sub validate_password | ||||
|  | ||||
| sub emailForward_list { | ||||
| @@ -817,4 +819,4 @@ sub system_change_password { | ||||
|         return $c->l("Error occurred while modifying password for admin.", 'First'); | ||||
|     } | ||||
| } ## end sub system_change_password | ||||
| 1 | ||||
| 1 | ||||
| @@ -17,7 +17,7 @@ use Locale::gettext; | ||||
| use SrvMngr::I18N; | ||||
| use SrvMngr qw(theme_list init_session); | ||||
| use esmith::ConfigDB; | ||||
| use Time::TAI64; | ||||
| #use Time::TAI64; | ||||
| use File::Basename; | ||||
| use HTML::Entities; | ||||
| use esmith::FormMagick qw(gen_locale_date_string); | ||||
| @@ -104,10 +104,11 @@ sub do_action { | ||||
| sub timestamp2local { | ||||
|     $_ = shift; | ||||
|  | ||||
|     if (/^(\@[0-9a-f]{24})(.*)/s) { | ||||
|         return Time::TAI64::tai64nlocal($1) . $2; | ||||
|     } elsif (/^([0-9]{10}\.[0-9]{3})(.*)/s) { | ||||
|         return localtime($1) . $2; | ||||
|     #if (/^(\@[0-9a-f]{24})(.*)/s) { | ||||
|     #    return Time::TAI64::tai64nlocal($1) . $2; | ||||
|     #} els | ||||
| 	if (/^([0-9]{10}\.[0-9]{3})(.*)/s) { | ||||
| 		return localtime($1) . $2; | ||||
|     } | ||||
|     return $_; | ||||
| } ## end sub timestamp2local | ||||
| @@ -128,6 +129,7 @@ sub findlogFiles { | ||||
|             # or not log files | ||||
|             foreach ( | ||||
|                 qw( | ||||
|                 journal | ||||
|                 lastlog | ||||
|                 btmp$ | ||||
|                 wtmp | ||||
| @@ -293,4 +295,4 @@ sub download_logFile { | ||||
|     ); | ||||
|     return undef; | ||||
| } ## end sub download_logFile | ||||
| 1; | ||||
| 1; | ||||
| @@ -43,8 +43,9 @@ sub init_data { | ||||
| sub reconf_needed { | ||||
|  | ||||
|     my $cdb = esmith::ConfigDB->open_ro() or die("can't open Config DB"); | ||||
|     my $unsafe = ($cdb->get('bootstrap-console') and $cdb->get('bootstrap-console')->prop('Run') eq 'yes') || | ||||
|          ($cdb->get('UnsavedChanges') and $cdb->get('UnsavedChanges')->value eq 'yes') || '0'; | ||||
|     #my $unsafe = ($cdb->get('bootstrap-console') and $cdb->get('bootstrap-console')->prop('Run') eq 'yes') || | ||||
|     #     ($cdb->get('UnsavedChanges') and $cdb->get('UnsavedChanges')->value eq 'yes') || '0'; | ||||
| 	my $unsafe = ($cdb->get('UnsavedChanges') and $cdb->get('UnsavedChanges')->value eq 'yes') || '0';    | ||||
|     return $unsafe; | ||||
| } | ||||
|  | ||||
| @@ -104,5 +105,4 @@ sub check_adminalias { | ||||
| } | ||||
|  | ||||
|  | ||||
| 1; | ||||
|  | ||||
| 1; | ||||
| @@ -0,0 +1,17 @@ | ||||
| /* css/sme-password.css */ | ||||
| .input-container { | ||||
|     position: relative; | ||||
|     display: inline-block; | ||||
| } | ||||
| .sme-password { | ||||
|     padding-right: 5px; /* Ensure space for the toggle icon */ | ||||
| } | ||||
| .toggle-password { | ||||
|     position: absolute; | ||||
|     right: 4px; /* Position it towards the right */ | ||||
|     top: 50%; /* Center vertically */ | ||||
|     transform: translateY(-50%); /* Adjust for exact centering */ | ||||
|     cursor: pointer; | ||||
|     width: 20px; /* Set the width of the icon */ | ||||
|     height: 20px; /* Set the height of the icon */ | ||||
| } | ||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 3.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								root/usr/share/smanager/themes/default/public/images/visible.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								root/usr/share/smanager/themes/default/public/images/visible.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 3.2 KiB | 
| @@ -0,0 +1,31 @@ | ||||
| // js/sme-password.js | ||||
| $(document).ready(function() { | ||||
|     // For each password input | ||||
|     $('.sme-password').each(function() { | ||||
|         // Create a new container | ||||
|         //alert("sme-password"); | ||||
|         var $inputContainer = $('<div class="input-container"></div>'); | ||||
|          | ||||
|         // Move the input into the new container | ||||
|         $(this).wrap($inputContainer); | ||||
|          | ||||
|         // Create the toggle image | ||||
|         var $togglePassword = $('<img src="images/visible.png" alt="Show Password" class="toggle-password" />'); | ||||
|          | ||||
|         // Append the toggle image to the container | ||||
|         $(this).after($togglePassword); | ||||
|     }); | ||||
|  | ||||
|     $('.toggle-password').on('click', function() { | ||||
|         // Find the associated password field | ||||
|         var input = $(this).siblings('.sme-password'); | ||||
|  | ||||
|         // Toggle the type attribute between password and text | ||||
|         var inputType = input.attr('type') === 'password' ? 'text' : 'password'; | ||||
|         input.attr('type', inputType); | ||||
|          | ||||
|         // Toggle the icon source based on the input type | ||||
|         var iconSrc = inputType === 'password' ? 'images/visible.png' : 'images/visible-slash.png'; | ||||
|         $(this).attr('src', iconSrc); | ||||
|     }); | ||||
| }); | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_tape_configure-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_tape_restore-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_configure-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_configure1-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_restore-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_restore1-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_sel_restore-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_sel_restore1-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_sel_restore2-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_verify-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module back_workstn_verify1-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas->{function} | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module backup-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $bac_datas | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| <div id='module' class='module bugreport-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)trt: <%= $bugr_datas->{trt} %><br> | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| <div id='module' class='module bugreport2-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)trt: <%= $bugr_datas->{trt} %><br> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module clamav-panel'> | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p>(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)FsS stat: <%= $clm_datas->{FilesystemScan}%> <br> | ||||
| 	(DBG)Quar stat: <%=$clm_datas->{Quarantine} %> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module datetime-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $dat_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module directory-panel'> | ||||
|  | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)dir. access: <%= $dir_datas->{access}%><br> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module domains-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $dom_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module emailaccess-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $mai_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module emaildeliver-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $mai_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module emailfilter-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $mai_datas | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|  | ||||
| <div id='module' class='module emailreceive-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $mai_datas | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|  | ||||
| <div id='module' class='module emailsettings-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == TRUE) { | ||||
|     % if (config->{debug} == TRUE) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $mai_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module module-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 		<p> | ||||
| 			%= dumper $c->current_route | ||||
| 		</p> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module groups-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $grp_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module hostentries-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $hos_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module ibays-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $iba_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| % content_for 'module' => begin | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	</p> | ||||
| @@ -25,4 +25,4 @@ | ||||
|     </p> | ||||
| </div> | ||||
|  | ||||
| % end | ||||
| % end | ||||
| @@ -11,6 +11,7 @@ | ||||
|     %= stylesheet '/css/sme_main.css' | ||||
|     %= stylesheet '/css/sme_menu.css' | ||||
|     %= stylesheet '/css/styles.css' | ||||
|     %= stylesheet '/css/sme-password.css' | ||||
|     %= content_for 'head_contrib' | ||||
|     % if (config 'hasJquery') { | ||||
| 	%= include 'partials/_js_imports' | ||||
| @@ -32,6 +33,7 @@ | ||||
| 	%= javascript '/js/buttons.html5.min.js' | ||||
| 	%= javascript '/js/buttons.print.min.js' | ||||
| 	%= javascript '/js/flag-by-locale.js' | ||||
| 	%= javascript '/js/sme-password.js' | ||||
|  | ||||
| 	<link rel="stylesheet" href="/smanager/css/flag-icon.min.css"> | ||||
| 	%= stylesheet '/css/sme-jquery-overrides.css' | ||||
| @@ -125,4 +127,4 @@ | ||||
|  | ||||
|    | ||||
| </body> | ||||
| </html> | ||||
| </html> | ||||
| @@ -7,7 +7,7 @@ | ||||
| %= stylesheet '/css/letsencrypt.css' | ||||
| <div id="module" class="module Letsencrypt-panel"> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<pre> | ||||
| 		%= dumper $c->current_route | ||||
| 		%= dumper $lets_data->{trt} | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module localnetworks-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -43,9 +43,9 @@ | ||||
|     <p><span class=label> | ||||
|     %=l 'PASSWORD' | ||||
|     </span><span class=input> | ||||
|     %= password_field 'Password', id => 'id_password', autocomplete => 'current-password' | ||||
|     %= password_field 'Password', id => 'id_password', autocomplete => 'current-password', class=>'sme-password' | ||||
|     % if (config 'hasJquery') { | ||||
| 	<a href='#' id='togglePassword' class='toggle-password tg-icon'> <img src="images/visible.png" height="16" alt="Visible"></a> | ||||
| 	%#<a href='#' id='togglePassword' class='toggle-password tg-icon'> <img src="images/visible.png" height="16" alt="Visible"></a> | ||||
|     % } | ||||
|     </span></p> | ||||
| %} | ||||
| @@ -66,4 +66,4 @@ | ||||
|   % end | ||||
|  | ||||
| </div> | ||||
| %end | ||||
| %end | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module module-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	</p> | ||||
|   | ||||
| @@ -4,6 +4,9 @@ | ||||
| <font class="sme-copyright"> | ||||
| %	if ( $c->is_logged_in ) { | ||||
| 	SME Server <%= session 'releaseVersion' %>-<%= $c->app->VERSION %> Manager II | ||||
| 	% my $mode; | ||||
| 	% if (config->{mode} eq 'development'){ $mode = '-dev';} else { $mode = '';} | ||||
| 	(Mojo:<%= Mojolicious->VERSION %><%= $mode %>) | ||||
| % } | ||||
| <br>Copyright 1999-2006 Mitel Corporation<br> | ||||
| %= session 'copyRight' | ||||
|   | ||||
| @@ -17,7 +17,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'PASSWORD_NEW', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'newPass', class => 'input' | ||||
| 	%= password_field 'newPass', class => 'input' , class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -25,7 +25,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'PASSWORD_VERIFY_NEW', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'newPassVerify', class => 'input' | ||||
| 	%= password_field 'newPassVerify', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -39,4 +39,4 @@ | ||||
| 	 | ||||
|     % end     | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
| @@ -8,9 +8,9 @@ | ||||
|         Warning: a reconfigure and reboot is required before proceeding! Failure to do so now | ||||
|         may leave your system in an unknown state!</h5></div> | ||||
|     <% } %> | ||||
|     <% if ( $c->session->{Access} eq 'public' && (($config->{debug} ne '0') || ($config->{mode} ne 'production')) ) { %> | ||||
|     <% if ( $c->session->{Access} eq 'public' && ((config->{debug} ne '0') || (config->{mode} ne 'production')) ) { %> | ||||
| 	<div class="sme-error"><h5> | ||||
|         Warning: Development or debug mode enabled AND public access is offered ! | ||||
|         </h5></div> | ||||
|     <% } %> | ||||
| </div> | ||||
| </div> | ||||
| @@ -1,5 +1,5 @@ | ||||
|  | ||||
| <!--*** toggle hide/unhide password field in login panel ***--> | ||||
| <!--*** toggle hide/unhide password field in login panel *** | ||||
|  | ||||
| % content_for 'js_togglePassword' => begin | ||||
|   %= javascript begin | ||||
| @@ -22,7 +22,7 @@ | ||||
|  | ||||
|   % end | ||||
| % end | ||||
|  | ||||
| --> | ||||
|  | ||||
| <!--*** toggle hide/unhide menu contents navigation menu ***--> | ||||
|  | ||||
| @@ -98,4 +98,4 @@ | ||||
|  | ||||
| 	}); | ||||
|   % end | ||||
| % end | ||||
| % end | ||||
| @@ -7,7 +7,7 @@ | ||||
| 		SelectInput(); | ||||
| 	}; | ||||
| 	</script> | ||||
| 	% if ($config->{debug} == 1) { | ||||
| 	% if (config->{debug} == 1) { | ||||
| 		<pre> | ||||
| 			%= dumper $lets_data | ||||
| 		</pre> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 		SelectInput(); | ||||
| 	}; | ||||
| 	</script> | ||||
| 	% if ($config->{debug} == 1) { | ||||
| 	% if (config->{debug} == 1) { | ||||
| 		<pre> | ||||
| 			%= dumper $lets_data | ||||
| 		</pre> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 		SelectInput(); | ||||
| 	}; | ||||
| 	</script> | ||||
| 	% if ($config->{debug} == 1) { | ||||
| 	% if (config->{debug} == 1) { | ||||
| 		<pre> | ||||
| 			%= dumper $lets_data | ||||
| 		</pre> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 		SelectInput(); | ||||
| 	}; | ||||
| 	</script> | ||||
| 	% if ($config->{debug} == 1) { | ||||
| 	% if (config->{debug} == 1) { | ||||
| 		<pre> | ||||
| 			%= dumper $lets_data | ||||
| 		</pre> | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 		SelectInput(); | ||||
| 	}; | ||||
| 	</script> | ||||
| 	% if ($config->{debug} == 1) { | ||||
| 	% if (config->{debug} == 1) { | ||||
| 		<pre> | ||||
| 			%= dumper $lets_data | ||||
| 		</pre> | ||||
|   | ||||
| @@ -30,7 +30,7 @@ | ||||
|     % my $btn = l('ADD'); | ||||
|     % my $network_db = esmith::NetworksDB->open(); | ||||
|      | ||||
|    % if ($config->{debug} == 1) { | ||||
|    % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|     % my $subnet = $ln_datas->{subnet}; | ||||
|     % my $router = $ln_datas->{router}; | ||||
|      | ||||
|    % if ($config->{debug} == 1) { | ||||
|    % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| 	% unless (length($retref)) {%ret = (ret=>"");} | ||||
| 	% else {%ret = %$retref;} | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 		%= dumper "Ret:".$ret{ret}; | ||||
| 	</p>	 | ||||
|   | ||||
| @@ -29,7 +29,7 @@ | ||||
| 	<br /> | ||||
|     % my $btn = l('ADD'); | ||||
|      | ||||
|    % if ($config->{debug} == 1) { | ||||
|    % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
|     % my $cmmnt = $pf_datas->{cmmnt}; | ||||
|     % my $allow = $pf_datas->{allow}; | ||||
|      | ||||
|    % if ($config->{debug} == 1) { | ||||
|    % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -18,7 +18,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'PASSWORD_NEW', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'newPass', class => 'input' | ||||
| 	%= password_field 'newPass', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -26,7 +26,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'PASSWORD_VERIFY_NEW', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'newPassVerify', class => 'input' | ||||
| 	%= password_field 'newPassVerify', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -41,4 +41,4 @@ | ||||
| 	 | ||||
|     % end     | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
| @@ -11,7 +11,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'usr_CURRENT_SYSTEM_PASSWORD', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'CurPass', class => 'input' | ||||
| 	%= password_field 'CurPass', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -19,7 +19,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'usr_NEW_SYSTEM_PASSWORD', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'Pass', class => 'input' | ||||
| 	%= password_field 'Pass', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -27,7 +27,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'usr_NEW_SYSTEM_PASSWORD_VERIFY', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'PassVerify', class => 'input' | ||||
| 	%= password_field 'PassVerify', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	</p> | ||||
|  | ||||
| @@ -42,4 +42,4 @@ | ||||
| 	 | ||||
|     % end | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module portforwarding-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 		%= dumper "<pf>".$c->current_route | ||||
| 		%= dumper $c->stash("ret") | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module printers-panel'> | ||||
|  | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $prt_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module proxy-panel'> | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p>(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)ht stat: <%= $prx_datas->{http_proxy_status}%> <br> | ||||
| 	(DBG)sm stat: <%=$prx_datas->{smtp_proxy_status} %> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module pseudonyms-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $pse_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module qmailanalog-panel'> | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	</p> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module quota-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $quo_datas | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| <div id='module' class='module reboot-panel'> | ||||
|  | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	</p> | ||||
| @@ -20,16 +20,15 @@ | ||||
|  | ||||
| 	<p> | ||||
|     %= $c->render_to_string(inline => $c->l('rbo_DESCRIPTION')) | ||||
|     <br> | ||||
|     <br><br> | ||||
|  | ||||
| 	<span class=label> | ||||
| 	%=l 'rbo_LABEL_REBOOT' | ||||
| 	</span> | ||||
|  | ||||
| 	<span class=data> | ||||
| 	%= select_field 'function' => $c->rebootFunction_list() | ||||
| 	</span> | ||||
| 	</p> | ||||
| 	</p><br> | ||||
|  | ||||
| 	%= submit_button "$btn", class => 'action' | ||||
|  | ||||
| @@ -38,4 +37,4 @@ | ||||
|     %= hidden_field 'debug' => '1' | ||||
|  | ||||
| </div> | ||||
| %end | ||||
| %end | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module remoteaccess-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $rma_datas | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
|  | ||||
| <div id='roundcube' class='roundcube roundcube-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 		<p> | ||||
| 			%= dumper $c->current_route | ||||
| 		</p> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module useraccounts-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $usr_datas | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| <div id='module' class='module userpassword-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $pwd_datas | ||||
| @@ -47,7 +47,7 @@ | ||||
| 	<p><span class=label> | ||||
| 	%= l 'pwd_PASSWORD_OLD' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'Oldpass', class => 'input'  | ||||
| 	%= password_field 'Oldpass', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	<br><br></p> | ||||
|     % } | ||||
| @@ -55,14 +55,14 @@ | ||||
| 	<p><span class=label> | ||||
| 	%=l 'pwd_PASSWORD_NEW' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'Pass', class => 'input' | ||||
| 	%= password_field 'Pass', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	<br><br></p> | ||||
|  | ||||
| 	<p><span class=label> | ||||
| 	%=l 'pwd_PASSWORD_VERIFY_NEW' | ||||
| 	</span><span class=data> | ||||
| 	%= password_field 'Passverify', class => 'input' | ||||
| 	%= password_field 'Passverify', class => 'input', class=>'sme-password' | ||||
| 	</span> | ||||
| 	<br><br></p> | ||||
|  | ||||
| @@ -75,4 +75,4 @@ | ||||
|  | ||||
| </div> | ||||
|  | ||||
| % end | ||||
| % end | ||||
| @@ -2,7 +2,7 @@ | ||||
|  | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module viewlogfiles-panel'> | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	</p> | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  | ||||
| <div id='module' class='module viewlogfiles2-panel'> | ||||
|  | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)trt: <%= $log_datas->{trt} %><br> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
| <div id='module' class='module workgroup-panel'> | ||||
|  | ||||
|     %if ($config->{debug} == 1) { | ||||
|     %if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	(DBG)route: <%= $c->current_route %><br> | ||||
| 	(DBG)pdc: <%= $wkg_datas->{ServerRole}%><br> | ||||
| @@ -24,7 +24,7 @@ | ||||
| 	<span class=label> | ||||
| 	%=l 'wkg_LABEL_WORKGROUP', class => 'label' | ||||
| 	</span><span class=data> | ||||
| 	%= text_field 'Workgroup' =>  $wkg_datas->{Workgroup}, class => 'input' | ||||
| 	%= text_field 'Workgroup' =>  $wkg_datas->{Workgroup}, class => 'input' , pattern=>".{1,15}", title=>"Limited to 15 characters by the NETBIOS" | ||||
| 	</span> | ||||
| 	</p> | ||||
| 	<p> | ||||
| @@ -63,4 +63,4 @@ | ||||
|     % end     | ||||
|  | ||||
| </div> | ||||
| %end | ||||
| %end | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yum-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yumconfig-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yuminstall-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yumlogfile-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yumpostupg-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yumremove-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| % content_for 'module' => begin | ||||
|  | ||||
| <div id='module' class='module yumupdate-panel'> | ||||
|     % if ($config->{debug} == 1) { | ||||
|     % if (config->{debug} == 1) { | ||||
| 	<p> | ||||
| 	%= dumper $c->current_route | ||||
| 	%= dumper $yum_datas | ||||
|   | ||||
| @@ -2,7 +2,7 @@ Summary: Sme server  navigation module : manager 2 | ||||
| %define name smeserver-manager | ||||
| Name: %{name} | ||||
| %define version 11.0.0 | ||||
| %define release 39 | ||||
| %define release 47 | ||||
| Version: %{version} | ||||
| Release: %{release}%{?dist} | ||||
| License: GPL | ||||
| @@ -26,19 +26,47 @@ Requires: smeserver-lib >= 1.18.0-26 | ||||
| Requires: smeserver-manager >= 2.4.0-22 | ||||
| Requires: smeserver-apache >= 2.6.0-19 | ||||
| Requires: smeserver-php >= 3.0.0-43 | ||||
| Requires: perl(Mojolicious) >= 7.56 | ||||
| #Requires: smeserver-manager-locale >= 11.0.0 | ||||
| Requires: perl(Mojolicious) >= 8.42 | ||||
| Requires: perl(Mojolicious::Plugin::I18N) >= 1.6 | ||||
| Requires: perl(Mojolicious::Plugin::RenderFile) >= 0.12 | ||||
| Requires: perl(Mojolicious::Plugin::CSRFDefender) >= 0.0.8 | ||||
| Requires: perl(Net::Netmask) >= 1.9 | ||||
| Requires: perl(DBM::Deep) >= 2.0011-1 | ||||
| Requires: perl(Mojo::JWT) >= 0.08-1 | ||||
| #Requires: perl(Time::TAI64) >= 2.11 | ||||
| Requires: mutt >= 1.5.21 | ||||
| Requires: smeserver-manager-jsquery >= 1.0 | ||||
| Requires: smeserver-lib >= 11.0 | ||||
| Requires: smeserver-certificates >= 11.0 | ||||
| #Requires: js-jquery > 2.2.4-3 (optional) | ||||
|  | ||||
| Requires: smeserver-manager-locale-bg | ||||
| Requires: smeserver-manager-locale-da | ||||
| Requires: smeserver-manager-locale-de | ||||
| Requires: smeserver-manager-locale-el | ||||
| Requires: smeserver-manager-locale-es | ||||
| Requires: smeserver-manager-locale-et | ||||
| Requires: smeserver-manager-locale-fr | ||||
| Requires: smeserver-manager-locale-he | ||||
| Requires: smeserver-manager-locale-hu | ||||
| Requires: smeserver-manager-locale-id | ||||
| Requires: smeserver-manager-locale-it | ||||
| Requires: smeserver-manager-locale-ja | ||||
| Requires: smeserver-manager-locale-nb | ||||
| Requires: smeserver-manager-locale-nl | ||||
| Requires: smeserver-manager-locale-pl | ||||
| Requires: smeserver-manager-locale-pt | ||||
| Requires: smeserver-manager-locale-pt_BR | ||||
| Requires: smeserver-manager-locale-ro | ||||
| Requires: smeserver-manager-locale-ru | ||||
| Requires: smeserver-manager-locale-sl | ||||
| Requires: smeserver-manager-locale-sv | ||||
| Requires: smeserver-manager-locale-th | ||||
| Requires: smeserver-manager-locale-tr | ||||
| Requires: smeserver-manager-locale-zh_CN | ||||
| Requires: smeserver-manager-locale-zh_TW | ||||
|  | ||||
| Provides: server-manager | ||||
| AutoReqProv: no | ||||
|  | ||||
| @@ -115,6 +143,39 @@ true | ||||
| %defattr(-,root,root) | ||||
|  | ||||
| %changelog | ||||
| * Tue Jan 28 2025 Brian Read <brianr@koozali.org> 11.0.0-47.sme | ||||
| - Temp (we hope) remove CSRF protection plugin  [SME: ] | ||||
| - Fix comparison in footer with config->mode  | ||||
|  | ||||
| * Tue Jan 28 2025 Brian Read <brianr@koozali.org> 11.0.0-46.sme | ||||
| - Adjust conditions for showing "Reconfigure required" to only check UnSavedChanges DB entry [SME: 12891] | ||||
| - Add indication of development mode in footer | ||||
|  | ||||
| * Sat Jan 25 2025 Brian Read <brianr@koozali.org> 11.0.0-45.sme | ||||
| - Add some space in the reboot/reconf/shutdown panel [SME: ] | ||||
| - Add check for 15 characters netbios name in workgroup panel [SME: ] | ||||
| - Add action for post-upgrade-and-reboot for reconfigure panel [SME: 12865] | ||||
| - Remove call to TAI64 in viewlogfiles as qmail specific format [SME: 12889] | ||||
| - Add requires to pull in all the locale translation [SME: 12757] | ||||
|  | ||||
| * Fri Jan 24 2025 Brian Read <brianr@koozali.org> 11.0.0-44.sme | ||||
| - Change to network-online for systemd startup to make sure network is up [SME: 12758] | ||||
|  | ||||
| * Thu Jan 23 2025 Brian Read <brianr@koozali.org> 11.0.0-43.sme | ||||
| - fix access to config file though config plugin for mojo 9.39 [SME: 12885] | ||||
| - Fix password setting for useraccounts and also adjust DB opens | ||||
| - Add mojo version to footer for logged in [SME: 12886] | ||||
| - Fix up css for red error message when multiline [SME: 12802] | ||||
|  | ||||
| * Fri Jan 17 2025 Brian Read <brianr@koozali.org> 11.0.0-42.sme | ||||
| - Implement password visibility icon - [SME: 12803] | ||||
|  | ||||
| * Wed Jan 15 2025 Brian Read <brianr@koozali.org> 11.0.0-41.sme | ||||
| - Add journal files to those not viewable [SME: 12870] | ||||
|  | ||||
| * Wed Jan 15 2025 Brian Read <brianr@koozali.org> 11.0.0-40.sme | ||||
| - Comment out missing prefix message in navigation2-conf action and re-format it with perltidy [SME: 127672] | ||||
|  | ||||
| * Tue Jan 14 2025 Brian Read <brianr@koozali.org> 11.0.0-39.sme | ||||
| - Apply perltidy to all Controller files, add .perltidy to directory and .gitignore for .tdy files (just incase) [SME: 12485] | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user