فهرست منبع

add deref warning

Sebijk 3 سال پیش
والد
کامیت
7f49816a79

+ 4 - 2
src/admin/prefs.common.php

@@ -152,8 +152,10 @@ if($_REQUEST['action'] == 'common')
 	
 	// maintenance whitelist
 	$whitelist = NULL;
-	foreach (unserialize($bm_prefs['wartung_whitelist_ips']) as $whiteip) {
-		$whitelist .= $whiteip .', ';
+	if(!empty($bm_prefs['wartung_whitelist_ips'])) {
+		foreach (unserialize($bm_prefs['wartung_whitelist_ips']) as $whiteip) {
+			$whitelist .= $whiteip .', ';
+		}
 	}
 	$whitelist = rtrim($whitelist, ', ');
 

+ 3 - 2
src/admin/prefs.email.php

@@ -73,10 +73,11 @@ if($_REQUEST['action'] == 'common')
 {
 	if(isset($_REQUEST['save']))
 	{
-		$db->Query('UPDATE {pre}prefs SET blobstorage_provider=?, blobstorage_compress=?, fts_bg_indexing=?',
+		$db->Query('UPDATE {pre}prefs SET blobstorage_provider=?, blobstorage_compress=?, fts_bg_indexing=?, exturl_warning=?',
 			$_REQUEST['blobstorage_provider'],
 			isset($_REQUEST['blobstorage_compress']) ? 'yes' : 'no',
-			isset($_REQUEST['fts_bg_indexing']) ? 'yes' : 'no');
+			isset($_REQUEST['fts_bg_indexing']) ? 'yes' : 'no',
+			isset($_REQUEST['exturl_warning']) ? 'yes' : 'no');
 		ReadConfig();
 	}
 

+ 10 - 1
src/admin/templates/prefs.email.common.tpl

@@ -4,7 +4,7 @@
 	
 		<table>
 			<tr>
-				<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_prefs_email.png" border="0" alt="" width="32" height="32" /></td>				
+				<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_prefs_email.png" border="0" alt="" width="32" height="32" /></td>				
 				<td class="td1" width="220">{lng p="storein"}:</td>
 				<td class="td2"><select name="blobstorage_provider">
 					<option value="0"{if $bm_prefs.blobstorage_provider==0} selected="selected"{/if}>{lng p="filesystem"} ({lng p="separatefiles"})</option>
@@ -30,6 +30,15 @@
 					</label>
 				</td>
 			</tr>
+			<tr>
+				<td class="td1">{lng p="exturl"}:</td>
+				<td class="td2">
+					<label>
+						<input name="exturl_warning"{if $bm_prefs.exturl_warning=='yes'} checked="checked"{/if} type="checkbox" />
+						{lng p="exturl_warning"}
+					</label>
+				</td>
+			</tr>
 		</table>
 	</fieldset>
 	

+ 9 - 4
src/deref.php

@@ -1,7 +1,7 @@
 <?php
 /*
  * b1gMail
- * Copyright (c) 2021 Patrick Schlangen et al
+ * Copyright (c) 2021 Patrick Schlangen et al, 2022 b1gMail.eu
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -53,7 +53,12 @@ $sepPos = strpos($url, '?');
 if($sepPos !== false)
 {
 	$targetURL = substr($url, $sepPos+1);
-	$tpl->assign('url', HTMLFormat($targetURL));
+	$tpl->assign('pref_exturl_warning', $bm_prefs['exturl_warning']);
+	if($bm_prefs['exturl_warning']=='no') {
+		$tpl->assign('url', HTMLFormat($targetURL));
+	}
+	else {
+		$tpl->assign('exturlwarningurl', sprintf($lang_custom['deref'], '<a href="{$url}" rel="noreferrer nofollow noopener">'.HTMLFormat($targetURL).'</a>'));
+	}
 	$tpl->display('nli/deref.tpl');
-}
-?>
+}

+ 2 - 2
src/setup/data/example.data.php

@@ -62,7 +62,7 @@ $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'3
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'34\',\'Gabun\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'35\',\'Georgien\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'36\',\'Griechenland\',\'yes\',23)';
-$exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'37\',\'Gro&szlig;britannien\',\'yes\',20)';
+$exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'37\',\'Großbritannien\',\'no\',20)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'38\',\'Guatemala\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'39\',\'Honduras\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'40\',\'Hongkong\',\'no\',0)';
@@ -165,7 +165,7 @@ $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'1
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'137\',\'Vietnam\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'145\',\'Anderes Land\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'144\',\'Zypern\',\'yes\',19)';
-$exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'143\',\'Wei&szlig;russland\',\'no\',0)';
+$exampleData[] = 'INSERT INTO bm60_staaten(`id`,`land`,`is_eu`,`vat`) VALUES(\'143\',\'Weißrussland\',\'no\',0)';
 $exampleData[] = 'INSERT INTO bm60_mods(`modname`,`installed`,`pos`,`packageName`,`signature`,`files`) VALUES(\'B1GMailSearchProvider\',\'1\',\'0\',\'\',\'\',\'\')';
 $exampleData[] = 'INSERT INTO bm60_mods(`modname`,`installed`,`pos`,`packageName`,`signature`,`files`) VALUES(\'BMPlugin_Widget_Notes\',\'1\',\'0\',\'\',\'\',\'\')';
 $exampleData[] = 'INSERT INTO bm60_mods(`modname`,`installed`,`pos`,`packageName`,`signature`,`files`) VALUES(\'BMPlugin_Widget_WebdiskDND\',\'1\',\'0\',\'\',\'\',\'\')';

+ 42 - 0
src/templates/modern/nli/deref.tpl

@@ -1,2 +1,44 @@
+{if $pref_exturl_warning=='no'}
 <meta http-equiv="refresh" content="0;URL={$url}" />
 <a href="{$url}" rel="noreferrer">{$url}</a>
+{else}
+<html>
+<head>
+	<title>{lng p="redirect_note"}</title>
+	<style>
+	<!--
+    {literal}
+		*			{ font-family: tahoma, arial, verdana; font-size: 12px; }
+		H1			{ font-size: 16px; font-weight: bold; border-bottom: 1px solid #DDDDDD; }
+		H2, a		{ font-size: 14px; font-weight: normal; }
+		.addInfo	{ font-family: courier, courier new; font-size: 10px; height: 100px; overflow: auto;
+						border: 1px solid #DDDDDD; padding: 5px; }
+		.box		{ width: 50%; border: 1px solid #CCC; border-radius: 10px; background-color: #FFF;
+						padding: 30px 15px; margin-top: 3em; margin-left: auto; margin-right: auto; }
+    {/literal}
+	//-->
+	</style>
+	<link href="{$selfurl}clientlib/fontawesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
+</head>
+<body bgcolor="#F1F2F6">
+	
+	<div class="box">
+		<table width="100%">
+			<tr>
+				<td align="center" width="80" valign="top"><i class="fa fa-exclamation-triangle fa-5x" aria-hidden="true"></i></td>
+				<td valign="top" align="left">
+				
+					<h1>{lng p="redirect_note"}</h1>
+					<h2>{$exturlwarningurl}</h2>
+					
+					<hr size="1" color="#DDDDDD" width="100%" noshade="noshade" />
+					<input type="button" value="&nbsp; {lng p="close"} &nbsp;" onclick="javascript:window.close()" style="padding: 1px;" />
+					
+				</td>
+			</tr>
+		</table>
+	</div>
+
+</body>
+</html>
+{/if}