Compare commits
	
		
			3 Commits
		
	
	
		
			11_0_0-31_
			...
			11_0_0-34_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4270814afc | |||
| 58c3f2348a | |||
| b58f82a332 | 
| @@ -39,7 +39,18 @@ | ||||
|             $OUT .= "#       private access by default\n"; | ||||
|             $OUT .= "        Require ip $localAccess $externalSSLAccess\n"; | ||||
|         } | ||||
|         $OUT .= "    </Location>\n"; | ||||
|         # any smanager script or style added in line should be hashed and added here to run in a modern browser | ||||
|         $OUT .= "                   Header set Content-Security-Policy  \"script-src 'self' 'unsafe-eval' 'unsafe-hashes' " | ||||
|         ." 'sha256-X8Qwlk0M9iDTQZqFVpbVcThRjBqQXpwTOZCLX8I+Frk=' 'sha256-inQ04nmqTZI75Z5g/tAzjahedNugPFfrhxHyoFezFkM=' 'sha256-5IsIX+Vbow7wwy2RjR3+5X06R/0CQZPkw3OHj/228cM=' 'sha256-tfVskwioRaNsV75h89itf7FujMgIrodfs1Ea4UAJNpE=' 'sha256-P51OyslUh5bGkoWk9qY+o4Su4HuwNFoQcFCeNxF7Ms8=' ; " | ||||
|         ." style-src 'self'  'unsafe-hashes' " | ||||
|         #'sha256-EhT63KK1JBrsUM27H+5RMNifDFpVB+GXcTtavKXwCK8=' #h2l1 | ||||
|         #'sha256-msdEhWmYTu7vqzGaQHDfvy6lzlDsbKkouwvN2R6Co9E=' #busy-indicator | ||||
|         #'sha256-iYwYhiMcsGmXCUzLEpEzZNz5dINrlkqf1sLbLhEcqGM=' _footer.html.ep style="position:relative;" | ||||
|         #'sha256-bOTFT8zacR4Rfja/WIKXgAQQXVaPyG3oBlvAhU4ga8g=' _usr_list style="min-width:35em" | ||||
|         #'sha256-CP93jJ1Y8nMwUoDzFbo1srdgsbADPasAc0Wjig1ahpY=' groups style="min-width:15em" | ||||
|         ." 'sha256-msdEhWmYTu7vqzGaQHDfvy6lzlDsbKkouwvN2R6Co9E=' 'sha256-iYwYhiMcsGmXCUzLEpEzZNz5dINrlkqf1sLbLhEcqGM='  'sha256-bOTFT8zacR4Rfja/WIKXgAQQXVaPyG3oBlvAhU4ga8g=' 'sha256-CP93jJ1Y8nMwUoDzFbo1srdgsbADPasAc0Wjig1ahpY=' 'sha256-EhT63KK1JBrsUM27H+5RMNifDFpVB+GXcTtavKXwCK8=' ;" | ||||
| 	." \"\n";  | ||||
| 	$OUT .= "    </Location>\n"; | ||||
|         # prevent caching of manager files in browser | ||||
|         $OUT .= "   <LocationMatch \"/$place/.+\.(html|cgi)\$\">\n"; | ||||
|         $OUT .= "                   Header set Cache-Control no-store\n"; | ||||
|   | ||||
| @@ -3,7 +3,7 @@ package SrvMngr::Controller::Proxy; | ||||
| #---------------------------------------------------------------------- | ||||
| # heading     : System | ||||
| # description : Proxy settings | ||||
| # navigation  : 4000 700 | ||||
| # navigation  : 4000 710 | ||||
| #---------------------------------------------------------------------- | ||||
| # | ||||
| # routes : end | ||||
| @@ -72,4 +72,4 @@ sub do_update { | ||||
| }; | ||||
|  | ||||
|  | ||||
| 1; | ||||
| 1; | ||||
							
								
								
									
										1
									
								
								root/usr/share/smanager/themes/default/public/css/flag-icon.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								root/usr/share/smanager/themes/default/public/css/flag-icon.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -33,7 +33,7 @@ | ||||
| 	%= javascript '/js/buttons.print.min.js' | ||||
| 	%= javascript '/js/flag-by-locale.js' | ||||
|  | ||||
| 	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.5.0/css/flag-icon.min.css"> | ||||
| 	<link rel="stylesheet" href="/smanager/css/flag-icon.min.css"> | ||||
| 	%= stylesheet '/css/sme-jquery-overrides.css' | ||||
| 	 | ||||
| 	<style> | ||||
| @@ -125,4 +125,4 @@ | ||||
|  | ||||
|    | ||||
| </body> | ||||
| </html> | ||||
| </html> | ||||
|   | ||||
| @@ -51,10 +51,11 @@ | ||||
| 			%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 			%my $domain_name = $domain->{Domain};  # Domain name extracted from the data structure | ||||
| 			%my $actionModify = qq{ | ||||
| 			%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 			%		onclick="window.location.href='domains2?CsrfDef=$csrf_token&trt=UPD&Domain=$domain_name'"> | ||||
|                         %       <a href="domains2?CsrfDef=$csrf_token&trt=UPD&Domain=$domain_name"> | ||||
| 			%	<button type='button' class='sme-modify-button' title='$modify_text' > | ||||
| 			%		$modify_text | ||||
| 			%	</button> | ||||
|                         %       </a> | ||||
| 			%}; | ||||
| 			%my $removable = ($domain->{Removable} || 'yes'); | ||||
| 			%my $actionRemove = ' '; | ||||
| @@ -63,10 +64,11 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $domain_name = $domain->{Domain};  # Domain name extracted from the data structure | ||||
| 					%$actionRemove = qq{ | ||||
| 						%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 						%		onclick="window.location.href='domains2?CsrfDef=$csrf_token&trt=DEL&Domain=$domain_name'"> | ||||
|                                                 %       <a href="domains2?CsrfDef=$csrf_token&trt=DEL&Domain=$domain_name"> | ||||
| 						%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 						%		$remove_text | ||||
| 						%	</button> | ||||
|                                                 %       </a> | ||||
| 					%}; | ||||
| 				%#		$actionRemove = "<a href='domains2?CsrfDef=TOKEN&trt=DEL&Domain=" . $domain->{Domain} . "'>" . "<button class='sme-remove-button' title=".l('REMOVE').">".l('REMOVE')."</button>" . "</a>";  | ||||
| 			%}; | ||||
| @@ -117,4 +119,4 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -43,19 +43,21 @@ | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%my $group_name = $group->key;  # group name extracted from the data structure | ||||
| 				%my $actionModify = qq{ | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 				%		onclick="window.location.href='groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name'"> | ||||
|                                 %       <a href="groups2?CsrfDef=$csrf_token&trt=UPD&group=$group_name"> | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text' > | ||||
| 				%		$modify_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 				%my $remove_text = l('REMOVE');  # Localized text | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%my $group_name = $group->key;  # group name extracted from the data structure | ||||
| 				%my $actionRemove = qq{ | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 				%		onclick="window.location.href='groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name'"> | ||||
|                                 %       <a href="groups2?CsrfDef=$csrf_token&trt=DEL&group=$group_name"> | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text' >  | ||||
| 				%		$remove_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> | ||||
| 			</td> | ||||
| @@ -67,4 +69,4 @@ | ||||
| 	</p> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -68,7 +68,7 @@ | ||||
| .login-button { | ||||
|     background-color: #98d36e;     /* Button background color */ | ||||
|     font-weight: bold;              /* Bold text */ | ||||
|     xxcolor: #ffffff;                 /* Button text color */ | ||||
|     color: #ffffff;                 /* Button text color */ | ||||
|     padding: 8px 12px;              /* Adjust padding for button height */ | ||||
|     border: none;                   /* Remove default border */ | ||||
|     border-radius: 4px;             /* Rounded corners */ | ||||
| @@ -100,11 +100,11 @@ | ||||
| 		</div>  | ||||
|  | ||||
| 		<div id="h2e22"> | ||||
| 			<button type='button'><a id="help-button" target="_parent" href="manual">?</a></button> | ||||
| 			<button type='button'class="login-button"><a id="help-button" target="_parent" href="manual">?</a></button> | ||||
| 		</div> | ||||
|      | ||||
|         <div id="h2e12"> | ||||
| 			<button type='button'><a id="legacy-button" href="/server-manager" target='_blank'>Legacy SM</a></button> | ||||
| 			<button type='button' class="login-button"><a id="legacy-button" href="/server-manager" target='_blank'>Legacy SM</a></button> | ||||
|         </div> | ||||
| 		<div id="h2e23"> | ||||
| 			% if ( not defined $c->session->{username} ) { | ||||
| @@ -125,4 +125,4 @@ | ||||
| 		 | ||||
| 		 | ||||
| 	</div> | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -57,19 +57,21 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $hostentries_name = $_->{'HostName'};  # hostentries name extracted from the data structure | ||||
| 					%$actionModify = qq{ | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 					%		onclick="window.location.href='hostentriesd?CsrfDef=$csrf_token&trt=UPD&Hostname=$hostentries_name'"> | ||||
|                                         %       <a href="hostentriesd?CsrfDef=$csrf_token&trt=UPD&Hostname=$hostentries_name"> | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text' >  | ||||
| 					%		$modify_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 					%my $remove_text = l('REMOVE');  # Localized text | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%#my $hostentries_name = $_->{'HostName'};  # hostentries name extracted from the data structure | ||||
| 					%$actionRemove = qq{ | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 					%		onclick="window.location.href='hostentriesd?CsrfDef=$csrf_token&trt=DEL&Hostname=$hostentries_name'"> | ||||
|                                         %       <a href="hostentriesd?CsrfDef=$csrf_token&trt=DEL&Hostname=$hostentries_name"> | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 					%		$remove_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 				%} | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> | ||||
| @@ -79,4 +81,4 @@ | ||||
|    	</tbody> | ||||
|    	</table> | ||||
|      %	} | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -53,10 +53,11 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $ibays_entry_name = $ibay->key;  # ibays_entry name extracted from the data structure | ||||
| 					%$actionModify = qq{ | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 					%		onclick="window.location.href='ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name'"> | ||||
|                                         %       <a href="ibaysd?CsrfDef=$csrf_token&trt=UPD&ibay=$ibays_entry_name"> | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text' >  | ||||
| 					%		$modify_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 				%} | ||||
| 				 | ||||
| @@ -66,17 +67,19 @@ | ||||
| 					%my $ibays_entry_name = $ibay->key;  # ibays_entry name extracted from the data structure | ||||
| 					%if ($ibay->prop('PasswordSet') ne 'yes' && $needPassword) { | ||||
| 						%$actionResetPw = qq{ | ||||
| 						%	<button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; | ||||
| 						%		onclick="window.location.href='ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name'"> | ||||
|                                                 %       <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name"> | ||||
| 						%	<button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; > | ||||
| 						%		$password_text | ||||
| 						%	</button> | ||||
|                                                 %       </a> | ||||
| 						%}; | ||||
| 					%} else { | ||||
| 						%$actionResetPw = qq{ | ||||
| 						%	<button type='button' class='sme-password-button' title='$password_text'  | ||||
| 						%		onclick="window.location.href='ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name'"> | ||||
|                                                 %       <a href="ibaysd?CsrfDef=$csrf_token&trt=PWD&ibay=$ibays_entry_name"> | ||||
| 						%	<button type='button' class='sme-password-button' title='$password_text' >  | ||||
| 						%		$password_text | ||||
| 						%	</button> | ||||
|                                                 %       </a> | ||||
| 						%}; | ||||
| 					%} | ||||
| 					 | ||||
| @@ -87,10 +90,11 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $ibays_entry_name = $ibay->key;  # ibays_entry name extracted from the data structure | ||||
| 					%$actionRemove = qq{ | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 					%		onclick="window.location.href='ibaysd?CsrfDef=$csrf_token&trt=DEL&ibays=$ibays_entry_name'"> | ||||
|                                         %       <a href="ibaysd?CsrfDef=$csrf_token&trt=DEL&ibays=$ibays_entry_name"> | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 					%		$remove_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 				%} | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> | ||||
| @@ -104,4 +108,4 @@ | ||||
| 	<%} %> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -30,10 +30,16 @@ | ||||
| 		</span><br> | ||||
| 	 | ||||
| 		<span class='data'> | ||||
| 			%= submit_button l('lets_Back'), class => 'action back', onclick =>'history.back()' | ||||
|                         %my $back_text = l('lets_Back');  # Localized text | ||||
|                         %my $actionBack = qq{ | ||||
|                         %       <a href="letsencryptd"> | ||||
|                         %       <input class='action back' type='submit'  value='$back_text'> | ||||
|                         %       </a> | ||||
|                         %}; | ||||
|                       <%= $c->render_to_string(inline => $actionBack) %> | ||||
| 		</span> | ||||
| 		 | ||||
| 	 | ||||
| 		%# Probably finally by a submit. | ||||
| 	%end     | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -30,10 +30,16 @@ | ||||
| 		</span><br> | ||||
| 	 | ||||
| 		<span class='data'> | ||||
| 			%= submit_button l('lets_Back'), class => 'action back', onclick =>'history.back()' | ||||
|                         %my $back_text = l('lets_Back');  # Localized text | ||||
|                         %my $actionBack = qq{ | ||||
|                         %       <a href="letsencryptd"> | ||||
|                         %       <input class='action back' type='submit'  value='$back_text'> | ||||
|                         %       </a> | ||||
|                         %}; | ||||
|                       <%= $c->render_to_string(inline => $actionBack) %> | ||||
| 		</span> | ||||
| 		 | ||||
| 	 | ||||
| 		%# Probably finally by a submit. | ||||
| 	%end     | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -37,10 +37,16 @@ | ||||
| 		</span><br> | ||||
| 	 | ||||
| 		<span class='data'> | ||||
| 			%= submit_button l('lets_Back'), class => 'action back', onclick =>'history.back()' | ||||
|                         %my $back_text = l('lets_Back');  # Localized text | ||||
|                         %my $actionBack = qq{ | ||||
|                         %       <a href="letsencryptd"> | ||||
|                         %       <input class='action back' type='submit'  value='$back_text'> | ||||
|                         %       </a> | ||||
|                         %}; | ||||
|                       <%= $c->render_to_string(inline => $actionBack) %> | ||||
| 		</span> | ||||
| 		 | ||||
| 	 | ||||
| 		%# Probably finally by a submit. | ||||
| 	%end     | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| <div id='ln_list'> | ||||
|     % my $btn = l('ln_LOCALNETWORK_ADD'); | ||||
|     %= form_for '/localnetworksa' => (method => 'POST') => begin | ||||
| 	<p> | ||||
|  | ||||
| 	% my $retref= $c->stash("ret"); | ||||
| 	% my %ret; | ||||
| @@ -68,10 +67,10 @@ | ||||
| 				%=l 'ROUTER' | ||||
| 			</th> | ||||
|  | ||||
| 			<th class='sme-border' '> | ||||
| 			<th class='sme-border'> | ||||
| 				%=l 'ACTION' | ||||
| 			</th> | ||||
| 			</tr> | ||||
| 		</tr> | ||||
| 			</thead><tbody> | ||||
| 		%    foreach my $localnetwork (@$localnetworks ) | ||||
| 		%    { | ||||
| @@ -84,18 +83,24 @@ | ||||
| 					%= t td => (class => 'sme-border') => $localnetwork->prop('Mask') | ||||
| 					%= t td => (class => 'sme-border') => $num_hosts | ||||
| 					%= t td => (class => 'sme-border') => $localnetwork->prop('Router') | ||||
| 					%  if ($removable eq "yes") { | ||||
| 						<td class='sme-border'> | ||||
| 						<a href="localnetworksd?CsrfDef=TOKEN&trt=DEL&localnetwork=<%= $localnetwork->key%>"><button class='sme-remove-button' title="<%=l('REMOVE')%>"><%=l('REMOVE') %></button></a></td> | ||||
| 					% } else { | ||||
| 						<td class='sme-border'> </td>  | ||||
| 					%} | ||||
| 					%my $actionRemove = ' '; | ||||
| 					%if ($removable eq "yes") { | ||||
| 						%my $remove_text = l('REMOVE');  # Localized text | ||||
| 						%my $local_network_entry = $localnetwork->key; | ||||
| 						%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 						%$actionRemove = qq{ | ||||
|                                                 %       <a href="localnetworksd?CsrfDef=$csrf_token&trt=DEL&localnetwork=$local_network_entry"> | ||||
| 						%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 						%		$remove_text | ||||
| 						%	</button> | ||||
|                                                 %       </a> | ||||
| 						%}; | ||||
| 					% } | ||||
| 					<td class='sme-border'><%= $c->render_to_string(inline => $actionRemove) %></td> | ||||
| 					</tr> | ||||
| 		%  }  | ||||
| 		</tbody> | ||||
| 		</table> | ||||
| 		</p> | ||||
|  | ||||
| 			%= hidden_field 'trt' => $ln_datas->{trt} | ||||
| 	%} | ||||
| </div> | ||||
|   | ||||
| @@ -96,10 +96,11 @@ | ||||
| 						%my $remove_text = l('REMOVE');  # Localized text | ||||
| 						%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 						%my $actionRemove = qq{ | ||||
| 						%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 						%		onclick="window.location.href='portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto'"> | ||||
|                                                 %       <a href="portforwardingd?CsrfDef=$csrf_token&trt=DEL&sport=$sport&proto=$proto"> | ||||
| 						%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 						%		$remove_text | ||||
| 						%	</button> | ||||
|                                                 %       </a> | ||||
| 						%}; | ||||
| 					<%= $c->render_to_string(inline => $actionRemove) %> | ||||
| 					</td> | ||||
| @@ -112,4 +113,4 @@ | ||||
| 	</table> | ||||
| 	%= hidden_field 'trt' => $pf_datas->{trt} | ||||
|   | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -62,10 +62,11 @@ | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%my $printer_name = $printer->key; | ||||
| 				%my $actionRemove = qq{ | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 				%		onclick="window.location.href='printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name'"> | ||||
|                                 %       <a href="printers2?CsrfDef=$csrf_token&trt=DEL&&printer=$printer_name"> | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 				%		$remove_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 			<%= $c->render_to_string(inline => $actionRemove) %> | ||||
| 			</td> | ||||
| @@ -77,4 +78,4 @@ | ||||
| 	</p> | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -61,10 +61,11 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $pseudonyms_entry_name = $pseudonym->key;  # pseudonyms_entry name extracted from the data structure | ||||
| 					%$actionModify = qq{ | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 					%		onclick="window.location.href='pseudonyms2?CsrfDef=$csrf_token&trt=UPD&pseudonym=$pseudonyms_entry_name'"> | ||||
|                                         %       <a href="pseudonyms2?CsrfDef=$csrf_token&trt=UPD&pseudonym=$pseudonyms_entry_name"> | ||||
| 					%	<button type='button' class='sme-modify-button' title='$modify_text' > | ||||
| 					%		$modify_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 				%} | ||||
|  | ||||
| @@ -73,10 +74,11 @@ | ||||
| 					%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 					%my $pseudonyms_entry_name = $pseudonym->key;  # pseudonyms_entry name extracted from the data structure | ||||
| 					%$actionRemove = qq{ | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 					%		onclick="window.location.href='pseudonyms2?CsrfDef=$csrf_token&trt=DEL&pseudonym=$pseudonyms_entry_name'"> | ||||
|                                         %       <a href="pseudonyms2?CsrfDef=$csrf_token&trt=DEL&pseudonym=$pseudonyms_entry_name"> | ||||
| 					%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 					%		$remove_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 				%} | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> <%= $c->render_to_string(inline => $actionRemove) %> | ||||
| @@ -91,4 +93,4 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -62,10 +62,11 @@ | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%my $quota_user_name = $user->key;  # quotas_entry name extracted from the data structure | ||||
| 				%my $actionModify = qq{ | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 				%		onclick="window.location.href='quotad?CsrfDef=$csrf_token&trt=UPD&user=$quota_user_name'"> | ||||
|                                 %       <a href="quotad?CsrfDef=$csrf_token&trt=UPD&user=$quota_user_name"> | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text' > | ||||
| 				%		$modify_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> | ||||
| 			</td> | ||||
| @@ -78,4 +79,4 @@ | ||||
|  | ||||
|         %= hidden_field 'trt' => $quo_datas->{trt} | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -59,73 +59,88 @@ | ||||
|             %= t td => (class => 'sme-border') => "$first  $last" | ||||
|             %= t td => (class => 'sme-border') => $vpnaccess | ||||
|             %= t td => (class => 'sme-border') => $fwd | ||||
| 			%my ($actionModify, $actionLock, $actionResetPw, $actionRemove) = ' '; | ||||
| 			%my ($actionModify, $actionLock, $actionResetPw, $actionRemove,$actionroundcube) = ' '; | ||||
| 			%my $modify_text = l('MODIFY');  # Localized text | ||||
| 			%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 			%my $useraccounts_user_name = $user->key;  # useraccountss_entry name extracted from the data structure | ||||
| 			%my $password_text = l("PASSWORD_RESET"); | ||||
| 			%if ($username eq 'admin')  {  | ||||
| 			%if ($useraccounts_user_name eq 'admin')  {  | ||||
| 				%$actionModify = qq{ | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 				%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name'"> | ||||
|                                 %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPS&user=$useraccounts_user_name"> | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text'> | ||||
| 				%		$modify_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 			%} else { | ||||
| 				%$actionModify = qq{ | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text'  | ||||
| 				%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name'"> | ||||
|                                 %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=UPD&user=$useraccounts_user_name"> | ||||
| 				%	<button type='button' class='sme-modify-button' title='$modify_text' > | ||||
| 				%		$modify_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 			%} | ||||
| 			%if ($password_set ne 'yes') { | ||||
| 				%$actionLock = l('ACCOUNT_LOCKED'); | ||||
| 				%$actionResetPw = qq{ | ||||
| 				%	<button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; | ||||
| 				%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=PWD&ibay=$useraccounts_user_name'"> | ||||
|                                 %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"> | ||||
| 				%	<button type='button' class='sme-password-button unset' title="$password_text - currently unset" style = background:pink; > | ||||
| 				%		$password_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 			%} else { | ||||
| 				%my $lock_text = l('ACCOUNT LOCKED');  # Localized text | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%my $useraccounts_user_name = $user->key;  # useraccountss_entry name extracted from the data structure | ||||
| 				%$actionLock = qq{ | ||||
| 				%	<button type='button' class='sme-lock-button' title='$lock_text'  | ||||
| 				%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name'"> | ||||
|                                 %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=LCK&user=$useraccounts_user_name"> | ||||
| 				%	<button type='button' class='sme-lock-button' title='$lock_text' > | ||||
| 				%		$lock_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 				%$actionResetPw = qq{ | ||||
| 					%	<button type='button' class='sme-password-button' title='$password_text'  | ||||
| 					%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name'"> | ||||
|                                         %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=PWD&user=$useraccounts_user_name"> | ||||
| 					%	<button type='button' class='sme-password-button' title='$password_text' > | ||||
| 					%		$password_text | ||||
| 					%	</button> | ||||
|                                         %       </a> | ||||
| 					%}; | ||||
| 			%} | ||||
| 			%if ( $removable eq 'yes' )  {  | ||||
| 				%my $remove_text = l('REMOVE');  # Localized text | ||||
| 				%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 				%$actionRemove = qq{ | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text'  | ||||
| 				%		onclick="window.location.href='useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name'"> | ||||
|                                 %       <a href="useraccountsd?CsrfDef=$csrf_token&trt=DEL&user=$useraccounts_user_name"> | ||||
| 				%	<button type='button' class='sme-remove-button' title='$remove_text' > | ||||
| 				%		$remove_text | ||||
| 				%	</button> | ||||
|                                 %       </a> | ||||
| 				%}; | ||||
| 			%} | ||||
|  | ||||
| 	%		my $thisdomain = session 'SystemName'; | ||||
| 	%		$thisdomain .= ".".session 'DomainName'; | ||||
| 	%#		my $thisdomain = "localhost"; | ||||
| 			 | ||||
| 			%my $thisdomain = session 'SystemName'; | ||||
| 			%$thisdomain .= ".".session 'DomainName'; | ||||
| 			%my $roundcube_text = l('Webmail');  # Localized text | ||||
| 			%my $csrf_token = "TOKEN";  # CSRF token for security | ||||
| 			%my $useraccounts_user_name = $user->key;  # useraccountss_entry name extracted from the data structure | ||||
| 			%$actionroundcube = qq{ | ||||
|                         %       <a href="roundcubepanel?CsrfDef=$csrf_token&url=https://$thisdomain/roundcube?_user=$useraccounts_user_name"> | ||||
| 			%	<button type='button' class='sme-email-button' title='$roundcube_text' > | ||||
| 			%		$roundcube_text | ||||
| 			%	</button> | ||||
|                         %       </a> | ||||
| 			%}; | ||||
|  | ||||
| 		<td class='sme-border' style="min-width:35em"> | ||||
| 				<%= $c->render_to_string(inline => $actionModify) %> | ||||
| 				<%= $c->render_to_string(inline => $actionResetPw) %> | ||||
| 				<%= $c->render_to_string(inline => $actionLock) %> | ||||
| 				<%= $c->render_to_string(inline => $actionRemove) %> | ||||
| 				<a href="<%= "roundcubepanel/?url=https://".$thisdomain."/" %>roundcube?_user=<%= $username %>"><button class="sme-email-button" title="<%= l('EMAIL') %>"><%= l('EMAIL') %></button></a> | ||||
|     	    </td> | ||||
| 				<%= $c->render_to_string(inline => $actionroundcube) %> | ||||
| 		</td> | ||||
|     	</tr> | ||||
|     %    } | ||||
|     	</tbody> | ||||
| @@ -135,4 +150,4 @@ | ||||
|  | ||||
|         %= hidden_field 'trt' => $usr_datas->{trt} | ||||
|  | ||||
| </div> | ||||
| </div> | ||||
|   | ||||
| @@ -2,7 +2,7 @@ Summary: Sme server  navigation module : manager 2 | ||||
| %define name smeserver-manager | ||||
| Name: %{name} | ||||
| %define version 11.0.0 | ||||
| %define release 31 | ||||
| %define release 34 | ||||
| Version: %{version} | ||||
| Release: %{release}%{?dist} | ||||
| License: GPL | ||||
| @@ -115,6 +115,19 @@ true | ||||
| %defattr(-,root,root) | ||||
|  | ||||
| %changelog | ||||
| * Tue Dec 31 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-34.sme | ||||
| - fix css warning xxcolor [SME: 12844] | ||||
| - update CSP style rules [SME: 12840] | ||||
|  | ||||
| * Mon Dec 30 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-33.sme | ||||
| - host locally flag-icon.min.css 3.5.0 [SME: 12845] | ||||
| - remove onclick to comply with strict CSP [SME: 12846] | ||||
| - add CSP rules with specific hash [SME: 12840] | ||||
|  | ||||
| * Wed Dec 18 2024 Brian Read <brianr@koozali.org> 11.0.0-32.sme | ||||
| - Fix for User and localnetwork panel [SME: 6278] | ||||
| - Fix menu entry for proxy to stop it moving  | ||||
|  | ||||
| * Tue Dec 17 2024 Brian Read <brianr@koozali.org> 11.0.0-31.sme | ||||
| - Edit html to avoid w3c html validation warnings [SME: 6278] | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user