This commit is contained in:
Michael Kleger 2023-02-14 16:12:09 +01:00 committed by GitHub
commit e7b87e9b68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
141 changed files with 59798 additions and 8503 deletions

View file

@ -0,0 +1,32 @@
{
"theme_color": "#1d273b",
"background_color": "#f1f5f9",
"display": "standalone",
"scope": "/",
"start_url": "/",
"name": "b1gMail ACP",
"short_name": "ACP",
"description": "b1gMail Administration (ACP)",
"icons": [
{
"src": "/admin/templates/images/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/admin/templates/images/icon-256x256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "/admin/templates/images/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/admin/templates/images/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

View file

@ -1,22 +1,31 @@
<p align="center">
<div class="text-center">
<img src="{$tpldir}images/about_logo.png" width="242" height="171" border="0" alt="" />
</p>
</div>
<p align="center">
<div class="text-center">
<br />
<b>b1gMail</b><br />
<i>
{lng p="version"} {$version}
</i>
</p>
</div>
<p align="center">
Copyright &copy; 2002-2021 Patrick Schlangen, 2022 <a target="_blank" href="https://www.b1gmail.eu" rel="noreferrer">b1gMail.eu Project</a>
</p>
<p align="center">
<small>
{lng p="acpiconsfrom"} <a href="http://www.fatcow.com/free-icons" target="_blank" rel="noreferrer">FatCow Web Hosting</a><br />
{lng p="acpbgfrom"} <a href="http://subtlepatterns.com" target="_blank" rel="noreferrer">subtlepatterns.com</a>
</small>
</p>
<div class="text-center">
Copyright &copy; 2002-2021 Patrick Schlangen<br />
Copyright &copy; 2022-{$smarty.now|date_format:"%Y"} <a target="_blank" href="https://www.b1gmail.eu" rel="noreferrer">b1gMail.eu Project</a>
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-6">
<h4>Template</h4>
Template <a href="https://tabler.io/" target="_blank" rel="noreferrer">Tabler (1.0.0 Beta16)</a><br />
Bootstrap <a href="https://getbootstrap.com/" target="_blank" rel="noreferrer">Bootstrap</a><br />
</div>
<div class="col-md-6">
<h4>Icons</h4>
Font Awesome <a href="https://fontawesome.com/" target="_blank" rel="noreferrer">Font Awesome</a><br />
{lng p="acpiconsfrom"} <a href="http://www.fatcow.com/free-icons" target="_blank" rel="noreferrer">FatCow Web Hosting</a><br />
</div>
</div>
</div>

View file

@ -1,76 +1,89 @@
<form action="abuse.php?sid={$sid}" method="post" onsubmit="spin(this)" name="f1">
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<fieldset>
<legend>{lng p="users"}</legend>
<fieldset>
<legend>{lng p="users"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'users[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th width="60"><a href="javascript:updateSort('id');">{lng p="id"}
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('email');">{lng p="email"}
{if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('pointsum');">{lng p="points"}
{if $sortBy=='pointsum'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="120">&nbsp;</th>
</tr>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 20px;">&nbsp;</th>
<th style="width: 25px; text-align: center;"><a href="javascript:invertSelection(document.forms.f1,'users[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th style="width: 60px;"><a href="javascript:updateSort('id');">{lng p="id"}
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('email');">{lng p="email"}
{if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('pointsum');">{lng p="points"}
{if $sortBy=='pointsum'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 120px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$users item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center">
{if $user.statusImg == 'active'}
<i class="fa-solid fa-user"></i>
{elseif $user.statusImg == 'nologin'}
<i class="fa-regular fa-user"></i>
{elseif $user.statusImg == 'deleted'}
<i class="fa-solid fa-user-xmark"></i>
{elseif $user.statusImg == 'locked'}
<i class="fa-solid fa-user-lock"></i>
{/if}
</td>
<td class="text-center"><input type="checkbox" name="users[]" value="{$user.id}" /></td>
<td>{$user.id}</td>
<td><a href="abuse.php?do=show&userid={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td>
<td><i class="fa-regular fa-circle text-{$user.indicator}"></i>&nbsp; <a href="abuse.php?do=show&userid={$user.id}&sid={$sid}">{$user.pointsum}</a></td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="abuse.php?do=show&userid={$user.id}&sid={$sid}" title="{lng p="show"}" class="btn btn-sm"><i class="fa-solid fa-magnifying-glass"></i></a>
<a href="users.php?do=edit&id={$user.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="javascript:singleAction('{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}activate{elseif $user.gesperrt=='delete'}recover{/if}', '{$user.id}');" class="btn btn-sm">{if $user.gesperrt=='no'}<i class="fa-solid fa-lock"></i>{elseif $user.gesperrt=='yes'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='locked'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='unlock'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='delete'}<i class="fa-solid fa-hammer"></i>{/if}</a>
<a href="javascript:singleAction('delete', '{$user.id}');" class="btn btn-sm">{if $user.gesperrt=='delete'}<i class="fa-regular fa-trash-can text-danger"></i>{else}<i class="fa-regular fa-trash-can"></i>{/if}</a>
<a href="users.php?do=login&id={$user.id}&sid={$sid}" target="_blank" onclick="return confirm('{lng p="loginwarning"}');" class="btn btn-sm"><i class="fa-solid fa-house-chimney-user"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
<option value="lock">{lng p="lock"}</option>
<option value="unlock">{lng p="unlock"}</option>
<option value="restore">{lng p="restore"}</option>
<!--<option value="mail">{lng p="sendmail"}</option>-->
</optgroup>
{foreach from=$users item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/user_{$user.statusImg}.png" border="0" width="16" height="16" alt="" /></td>
<td align="center"><input type="checkbox" name="users[]" value="{$user.id}" /></td>
<td>{$user.id}</td>
<td><a href="abuse.php?do=show&userid={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td>
<td><img src="templates/images/indicator_{$user.indicator}.png" border="0" alt="" align="absmiddle" />
<a href="abuse.php?do=show&userid={$user.id}&sid={$sid}">
{$user.pointsum}
</a></td>
<td>
<a href="abuse.php?do=show&userid={$user.id}&sid={$sid}" title="{lng p="show"}"><img src="{$tpldir}images/view.png" border="0" alt="{lng p="show"}" width="16" height="16" /></a>
<a href="users.php?do=edit&id={$user.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="javascript:singleAction('{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}activate{elseif $user.gesperrt=='delete'}recover{/if}', '{$user.id}');"><img src="{$tpldir}images/{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}unlock{elseif $user.gesperrt=='delete'}recover{/if}.png" border="0" alt="{if $user.gesperrt=='no'}{lng p="lock"}{elseif $user.gesperrt=='yes'}{lng p="unlock"}{elseif $user.gesperrt=='locked'}{lng p="activate"}{elseif $user.gesperrt=='delete'}{lng p="recover"}{/if}" width="16" height="16" /></a>
<a href="javascript:singleAction('delete', '{$user.id}');"><img src="{$tpldir}images/{if $user.gesperrt=='delete'}delete{else}trash{/if}.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
<a href="users.php?do=login&id={$user.id}&sid={$sid}" target="_blank" onclick="return confirm('{lng p="loginwarning"}');"><img src="{$tpldir}images/login.png" border="0" alt="{lng p="login"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="6">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
<option value="lock">{lng p="lock"}</option>
<option value="unlock">{lng p="unlock"}</option>
<option value="restore">{lng p="restore"}</option>
<!--<option value="mail">{lng p="sendmail"}</option>-->
</optgroup>
<optgroup label="{lng p="move"}">
{foreach from=$groups item=group key=groupID}
<option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option>
{/foreach}
</optgroup>
</select>&nbsp;
<optgroup label="{lng p="move"}">
{foreach from=$groups item=group key=groupID}
<option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option>
{/foreach}
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
<div style="float:right;padding-top:3px;">
<div class="text-end">
{lng p="pages"}: {pageNav page=$pageNo pages=$pageCount on=" <span class=\"pageNav\"><b>[.t]</b></span> " off=" <span class=\"pageNav\"><a href=\"javascript:updatePage(.s);\">.t</a></span> "}&nbsp;
</div>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</fieldset>
</form>

View file

@ -1,212 +1,269 @@
<fieldset>
<legend>{lng p="user"}: {email value=$userRow.email}</legend>
<form action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post">
<table width="100%">
<tr>
<td class="td1">{lng p="status"}:</td>
<td class="td2"><img src="{$tpldir}images/user_{$userStatusImg}.png" border="0" width="16" height="16" alt="" align="absmiddle" />
{if $userRow.gesperrt=='no'}{lng p="active"}
{elseif $userRow.gesperrt=='yes'}{lng p="locked"}
{elseif $userRow.gesperrt=='locked'}{lng p="notactivated"}
{elseif $userRow.gesperrt=='delete'}{lng p="deleted"}{/if}
</td>
<td class="td1">{lng p="group"}:</td>
<td class="td2"><img src="{$tpldir}images/ico_group.png" border="0" width="16" height="16" alt="" align="absmiddle" />
<a href="groups.php?do=edit&id={$groupRow.id}&sid={$sid}">{text value=$groupRow.titel}</a></td>
</tr>
<tr>
<td class="td1">{lng p="email"}:</td>
<td class="td2">
<small>{$emailMails} {lng p="emails"}, {$emailFolders} {lng p="folders"}</small>
{progressBar value=$userRow.mailspace_used max=$groupRow.storage width=200}
<small>{size bytes=$userRow.mailspace_used} / {size bytes=$groupRow.storage} {lng p="used"}</small>
</td>
<div action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post">
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="status"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">
{if $userRow.gesperrt=='no'}<i class="fa-solid fa-lock"></i>{elseif $userRow.gesperrt=='yes'}<i class="fa-solid fa-lock-open"></i>{elseif $userRow.gesperrt=='locked'}<i class="fa-solid fa-lock-open"></i>{elseif $userRow.gesperrt=='delete'}<i class="fa-solid fa-hammer"></i>{/if}&nbsp; {if $userRow.gesperrt=='no'}{lng p="active"}
{elseif $userRow.gesperrt=='yes'}{lng p="locked"}
{elseif $userRow.gesperrt=='locked'}{lng p="notactivated"}
{elseif $userRow.gesperrt=='delete'}{lng p="deleted"}{/if}
</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="email"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">
<small>{$emailMails} {lng p="emails"}, {$emailFolders} {lng p="folders"}</small>
{progressBar value=$userRow.mailspace_used max=$groupRow.storage width=200}
<small>{size bytes=$userRow.mailspace_used} / {size bytes=$groupRow.storage} {lng p="used"}</small>
</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="webdisk"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">
<small>{$diskFiles} {lng p="files"}, {$diskFolders} {lng p="folders"}</small>
{progressBar value=$userRow.diskspace_used max=$groupRow.webdisk width=200}
<small>{size bytes=$userRow.diskspace_used} / {size bytes=$groupRow.webdisk} {lng p="used"}</small>
</div>
</div>
</div>
{if $groupRow.sms_monat>0}
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="monthasset"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">
{progressBar value=$usedMonthSMS max=$groupRow.sms_monat width=200}
<small>{$usedMonthSMS} / {$groupRow.sms_monat} {lng p="credits"} {lng p="used2"}</small>
</div>
</div>
</div>
{/if}
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="lastlogin"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{date timestamp=$userRow.lastlogin nice=true nozero=true}<br /><small>{text value=$userRow.ip}</small></div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="regdate"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{date timestamp=$userRow.reg_date nice=true nozero=true}<br /><small>{text value=$userRow.reg_ip}</small></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="group"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext"><a href="groups.php?do=edit&id={$groupRow.id}&sid={$sid}">{text value=$groupRow.titel}</a></div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="receivedmails"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{$userRow.received_mails}</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="sentmails"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{$userRow.sent_mails}</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="wdtraffic"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">
{if $groupRow.traffic>0}{progressBar value=$userRow.traffic_down+$userRow.traffic_up max=$groupRow.traffic width=200}{/if}
<small>{size bytes=$userRow.traffic_down+$userRow.traffic_up}{if $groupRow.traffic>0} / {size bytes=$groupRow.traffic}{/if} {lng p="used2"}</small>
</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="lastimap"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{date timestamp=$userRow.last_imap nice=true nozero=true}</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="lastpop3"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{date timestamp=$userRow.last_pop3 nice=true nozero=true}</div>
</div>
</div>
<div class="row">
<label class="col-sm-4 col-form-label">{lng p="lastsmtp"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{date timestamp=$userRow.last_smtp nice=true nozero=true}</div>
</div>
</div>
</div>
</div>
<td class="td1">{lng p="receivedmails"}:<br />{lng p="sentmails"}:</td>
<td class="td2">{$userRow.received_mails}<br />{$userRow.sent_mails}</td>
</tr>
<tr>
<td class="td1" width="120">{lng p="webdisk"}:</td>
<td class="td2">
<small>{$diskFiles} {lng p="files"}, {$diskFolders} {lng p="folders"}</small>
{progressBar value=$userRow.diskspace_used max=$groupRow.webdisk width=200}
<small>{size bytes=$userRow.diskspace_used} / {size bytes=$groupRow.webdisk} {lng p="used"}</small>
</td>
<td class="td1" width="120">{lng p="wdtraffic"}:</td>
<td class="td2">
{if $groupRow.traffic>0}{progressBar value=$userRow.traffic_down+$userRow.traffic_up max=$groupRow.traffic width=200}{/if}
<small>{size bytes=$userRow.traffic_down+$userRow.traffic_up}{if $groupRow.traffic>0} / {size bytes=$groupRow.traffic}{/if} {lng p="used2"}</small>
</td>
</tr>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="notes"}</label>
<div class="col-sm-10">
<textarea class="form-control" name="notes" placeholder="{lng p="notes"}">{text value=$userRow.notes allowEmpty=true}</textarea>
</div>
</div>
{if $groupRow.sms_monat>0}
<tr>
<td class="td1">{lng p="monthasset"}:</td>
<td class="td2">
{progressBar value=$usedMonthSMS max=$groupRow.sms_monat width=200}
<small>{$usedMonthSMS} / {$groupRow.sms_monat} {lng p="credits"} {lng p="used2"}</small>
</td>
<td colspan="2"></td>
</tr>
{/if}
<tr>
<td class="td1">{lng p="lastlogin"}:</td>
<td class="td2">{date timestamp=$userRow.lastlogin nice=true nozero=true}</td>
<td class="td1">{lng p="ip"}:</td>
<td class="td2">{text value=$userRow.ip}</td>
</tr>
<tr>
<td class="td1">{lng p="regdate"}:</td>
<td class="td2">{date timestamp=$userRow.reg_date nice=true nozero=true}</td>
<td class="td1">{lng p="ip"}:</td>
<td class="td2">{text value=$userRow.reg_ip}</td>
</tr>
<tr>
<td class="td1">{lng p="lastpop3"}:</td>
<td class="td2">{date timestamp=$userRow.last_pop3 nice=true nozero=true}</td>
<td class="td1">{lng p="lastsmtp"}:</td>
<td class="td2">{date timestamp=$userRow.last_smtp nice=true nozero=true}</td>
</tr>
<tr>
<td class="td1">{lng p="lastimap"}:</td>
<td class="td2">{date timestamp=$userRow.last_imap nice=true nozero=true}</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="td1">{lng p="notes"}:</td>
<td class="td2" colspan="3">
<textarea style="width:100%;height:80px;" name="notes">{text value=$userRow.notes allowEmpty=true}</textarea>
</td>
</tr>
</table>
<div align="center" style="margin-top:0.5em;">
<button class="button" type="submit" name="save"><img src="{$tpldir}images/ico_save.png" align="absmiddle" border="0" alt="" width="16" height="16" />
{lng p="save"}</button>
<button class="button" onclick="document.location.href='users.php?do=edit&id={$userID}&sid={$sid}';return(false);"><img src="{$tpldir}images/user_action.png" align="absmiddle" border="0" alt="" width="16" height="16" />
{lng p="profile"}</button>
<button class="button" onclick="window.singleAction('{if $userRow.gesperrt=='no'}lock{elseif $userRow.gesperrt=='yes'}unlock{elseif $userRow.gesperrt=='locked'}activate{elseif $userRow.gesperrt=='delete'}recover{/if}User', '{$userRow.id}');return(false);"><img src="{$tpldir}images/{if $userRow.gesperrt=='no'}lock{elseif $userRow.gesperrt=='yes'}unlock{elseif $userRow.gesperrt=='locked'}unlock{elseif $userRow.gesperrt=='delete'}recover{/if}.png" align="absmiddle" border="0" alt="" width="16" height="16" />
{if $userRow.gesperrt=='no'}{lng p="lock"}{elseif $userRow.gesperrt=='yes'}{lng p="unlock"}{elseif $userRow.gesperrt=='locked'}{lng p="activate"}{elseif $userRow.gesperrt=='delete'}{lng p="recover"}{/if}</button>
<button class="button" onclick="window.singleAction('deleteUser', '{$userRow.id}');return(false);"><img src="{$tpldir}images/{if $userRow.gesperrt=='delete'}delete{else}trash{/if}.png" align="absmiddle" border="0" alt="" width="16" height="16" />
{lng p="delete"}</button>
<button class="button" onclick="if(confirm('{lng p="loginwarning"}')) window.open('users.php?do=login&id={$userID}&sid={$sid}');return(false);"><img src="{$tpldir}images/login.png" align="absmiddle" border="0" alt="" width="16" height="16" />
{lng p="login"}</button>
</div>
</form>
<div class="mb-3">
<div class="input-group">
<button class="btn btn-outline-secondary" type="submit" name="save"><i class="fa-regular fa-floppy-disk"></i>&nbsp; {lng p="save"}</button>
<button class="btn btn-outline-secondary" onclick="document.location.href='users.php?do=edit&id={$userID}&sid={$sid}';return(false);"><i class="fa-regular fa-id-card"></i>&nbsp; {lng p="profile"}</button>
<button class="btn btn-outline-secondary" onclick="window.singleAction('{if $userRow.gesperrt=='no'}lock{elseif $userRow.gesperrt=='yes'}unlock{elseif $userRow.gesperrt=='locked'}activate{elseif $userRow.gesperrt=='delete'}recover{/if}User', '{$userRow.id}');return(false);">{if $userRow.gesperrt=='no'}<i class="fa-solid fa-lock"></i>{elseif $userRow.gesperrt=='yes'}<i class="fa-solid fa-lock-open"></i>{elseif $userRow.gesperrt=='locked'}<i class="fa-solid fa-lock-open"></i>{elseif $userRow.gesperrt=='delete'}<i class="fa-solid fa-hammer"></i>{/if}&nbsp; {if $userRow.gesperrt=='no'}{lng p="lock"}{elseif $userRow.gesperrt=='yes'}{lng p="unlock"}{elseif $userRow.gesperrt=='locked'}{lng p="activate"}{elseif $userRow.gesperrt=='delete'}&nbsp; {lng p="recover"}{/if}</button>
<button class="btn btn-outline-secondary" onclick="window.singleAction('deleteUser', '{$userRow.id}');return(false);">{if $userRow.gesperrt=='delete'}<i class="fa-regular fa-trash-can text-danger"></i>{else}<i class="fa-regular fa-trash-can"></i>{/if}&nbsp; {lng p="delete"}</button>
<button class="btn btn-outline-secondary" onclick="if(confirm('{lng p="loginwarning"}')) window.open('users.php?do=login&id={$userID}&sid={$sid}');return(false);"><i class="fa-solid fa-house-chimney-user"></i>&nbsp; {lng p="login"}</button>
</div>
</div>
</form>
</fieldset>
{if $sendStats}
<fieldset class="collapsed">
<legend><a href="javascript:;" onclick="toggleFieldset(this)">{lng p="sendstats"}</a> ({lng p="last7d"})</legend>
<div class="content">
<table class="list" id="sendStatsTable">
<tr>
<th>{lng p="timeframe"}</th>
<th width="20%">{lng p="mails"}</th>
<th width="20%">&sum; {lng p="recipients"}</th>
</tr>
{foreach from=$sendStats item=stat}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}">
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="sendStats_{$stat.timeStamp}_chevron"></i>
<a href="javascript:void(0);" onclick="expandStatsDay('send', {$userID}, {$stat.timeStamp});">
{date timestamp=$stat.timeStamp dayonly=true}
</a></td>
<td>{$stat.mails}</td>
<td>{$stat.recipients}</td>
</tr>
<tbody id="sendStats_{$stat.timeStamp}" style="display:none;"></tbody>
{/foreach}
</table>
</div>
</fieldset>
{/if}
{if $recvStats}
<fieldset class="collapsed">
<legend><a href="javascript:;" onclick="toggleFieldset(this)">{lng p="recvstats"}</a> ({lng p="last7d"})</legend>
<div class="content">
<table class="list" id="sendStatsTable">
<tr>
<th>{lng p="timeframe"}</th>
<th width="20%">{lng p="mails"}</th>
<th width="20%">&sum; {lng p="size"}</th>
</tr>
{foreach from=$recvStats item=stat}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}">
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="recvStats_{$stat.timeStamp}_chevron"></i>
<a href="javascript:void(0);" onclick="expandStatsDay('recv', {$userID}, {$stat.timeStamp});">
{date timestamp=$stat.timeStamp dayonly=true}
</a></td>
<td>{$stat.mails}</td>
<td>{size bytes=$stat.size}</td>
</tr>
<tbody id="recvStats_{$stat.timeStamp}" style="display:none;"></tbody>
{/foreach}
</table>
</div>
</fieldset>
{if $sendStats OR $recvStats}
<fieldset>
<legend>{lng p="stats"}</legend>
<div class="accordion accordion-flush" id="sendstats">
{if $sendStats}
<div class="accordion-item">
<div class="accordion-header" id="heading-sendstats">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-sendstats" aria-expanded="false">{lng p="sendstats"} ({lng p="last7d"})</button>
</div>
<div id="collapse-sendstats" class="accordion-collapse collapse" data-bs-parent="#sendstats" style="">
<div class="accordion-body pt-0">
<div class="table-responsive card">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th>{lng p="timeframe"}</th>
<th style="width: 20%;">{lng p="mails"}</th>
<th style="width: 20%;">&sum; {lng p="recipients"}</th>
</tr>
</thead>
<tbody>
{foreach from=$sendStats item=stat}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}">
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="sendStats_{$stat.timeStamp}_chevron"></i>
<a href="javascript:void(0);" onclick="expandStatsDay('send', {$userID}, {$stat.timeStamp});">
{date timestamp=$stat.timeStamp dayonly=true}
</a></td>
<td>{$stat.mails}</td>
<td>{$stat.recipients}</td>
</tr>
<tbody id="sendStats_{$stat.timeStamp}" style="display:none;"></tbody>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div>
{/if}
{if $recvStats}
<div class="accordion-item">
<div class="accordion-header" id="heading-recvstats">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-recvstats" aria-expanded="false">{lng p="recvstats"} ({lng p="last7d"})</button>
</div>
<div id="collapse-recvstats" class="accordion-collapse collapse" data-bs-parent="#sendstats" style="">
<div class="accordion-body pt-0">
<div class="table-responsive card">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th>{lng p="timeframe"}</th>
<th style="width: 20%;">{lng p="mails"}</th>
<th style="width: 20%;">&sum; {lng p="recipients"}</th>
</tr>
</thead>
<tbody>
{foreach from=$recvStats item=stat}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}">
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="recvStats_{$stat.timeStamp}_chevron"></i>
<a href="javascript:void(0);" onclick="expandStatsDay('recv', {$userID}, {$stat.timeStamp});">
{date timestamp=$stat.timeStamp dayonly=true}
</a></td>
<td>{$stat.mails}</td>
<td>{size bytes=$stat.size}</td>
</tr>
<tbody id="recvStats_{$stat.timeStamp}" style="display:none;"></tbody>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div>
{/if}
</div>
</fieldset>
{/if}
<form action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post" onsubmit="spin(this)" name="f1">
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<fieldset>
<legend>{lng p="points"}</legend>
<fieldset>
<legend>{lng p="points"}</legend>
<table class="list">
<tr>
<th width="22">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'entries[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th width="80">{lng p="points"}</th>
<th>{lng p="type"}</th>
<th>{lng p="comment"}</th>
<th width="150">{lng p="date"}
<img src="{$tpldir}images/sort_desc.png" border="0" alt="" width="7" height="6" align="absmiddle" /></th>
<th width="80">{lng p="sum"}</th>
<th width="32">&nbsp;</th>
</tr>
{foreach from=$points item=entry}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}"{if $entry.expired} style="text-decoration:line-through;"{/if}>
<td align="center"><img src="{$tpldir}images/indicator_{$entry.indicator}.png" border="0" width="16" height="16" alt="" /></td>
<td align="center"><input type="checkbox" name="entries[]" value="{$entry.entryid}" /></td>
<td>{$entry.points}</td>
<td>{$entry.typeText}</td>
<td>{text value=$entry.comment}</td>
<td>{date timestamp=$entry.date nice=true}</td>
<td>{$entry.sum}</td>
<td>
<a href="javascript:singleAction('delete', '{$entry.entryid}');" title="{lng p="delete"}"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="table-responsive card">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 40px;">&nbsp;</th>
<th style="width: 25px; text-align: center;"><a href="javascript:invertSelection(document.forms.f1,'entries[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th style="width: 80px;">{lng p="points"}</th>
<th>{lng p="type"}</th>
<th>{lng p="comment"}</th>
<th style="width: 150px;">{lng p="date"}&nbsp; <img src="{$tpldir}images/sort_desc.png" border="0" alt="" width="7" height="6" align="absmiddle" /></th>
<th style="width: 80px;">{lng p="sum"}</th>
<th style="width: 32px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$points item=entry}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}"{if $entry.expired} style="text-decoration:line-through;"{/if}>
<td class="text-center"><i class="fa-regular fa-circle text-{$entry.indicator}"></i></td>
<td class="text-center"><input type="checkbox" name="entries[]" value="{$entry.entryid}" /></td>
<td>{$entry.points}</td>
<td>{$entry.typeText}</td>
<td>{text value=$entry.comment}</td>
<td>{date timestamp=$entry.date nice=true}</td>
<td>{$entry.sum}</td>
<td>
<a href="javascript:singleAction('delete', '{$entry.entryid}');" title="{lng p="delete"}" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</td>
</tr>
{/foreach}
</tbody>
</table>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
<div style="float:right;padding-top:3px;">
<div class="text-end">
{lng p="pages"}: {pageNav page=$pageNo pages=$pageCount on=" <span class=\"pageNav\"><b>[.t]</b></span> " off=" <span class=\"pageNav\"><a href=\"javascript:updatePage(.s);\">.t</a></span> "}&nbsp;
</div>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</fieldset>
</form>

View file

@ -1,85 +1,98 @@
<form action="activity.php?sid={$sid}" method="post" onsubmit="spin(this)" name="f1">
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<fieldset>
<legend>{lng p="users"}</legend>
<fieldset>
<legend>{lng p="users"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'user_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th><a href="javascript:updateSort('id');">{lng p="id"}
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('email');">{lng p="email"}
{if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('mailspace_used');">{lng p="email"}
{if $sortBy=='mailspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('diskspace_used');">{lng p="webdisk"}
{if $sortBy=='diskspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('traffic');">{lng p="wdtrafficshort"}
{if $sortBy=='traffic'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('received_mails');">{lng p="receivedmails"}
{if $sortBy=='received_mails'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="80"><a href="javascript:updateSort('sent_mails');">{lng p="sentmails"}
{if $sortBy=='sent_mails'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="110">&nbsp;</th>
</tr>
{foreach from=$users item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/user_{$user.statusImg}.png" border="0" width="16" height="16" alt="" /></td>
<td align="center"><input type="checkbox" name="user_{$user.id}" /></td>
<td>{$user.id}</td>
<td><a href="users.php?do=edit&id={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td>
<td>{progressBar value=$user.mailspace_used max=$user.mailspace_max width=75}</td>
<td>{progressBar value=$user.diskspace_used max=$user.diskspace_max width=75}</td>
<td>{progressBar value=$user.traffic max=$user.traffic_max width=75}</td>
<td>{$user.received_mails}</td>
<td>{$user.sent_mails}</td>
<td>
<a href="users.php?do=edit&id={$user.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="javascript:singleAction('{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}activate{elseif $user.gesperrt=='delete'}recover{/if}', '{$user.id}');"><img src="{$tpldir}images/{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}unlock{elseif $user.gesperrt=='delete'}recover{/if}.png" border="0" alt="{if $user.gesperrt=='no'}{lng p="lock"}{elseif $user.gesperrt=='yes'}{lng p="unlock"}{elseif $user.gesperrt=='locked'}{lng p="activate"}{elseif $user.gesperrt=='delete'}{lng p="recover"}{/if}" width="16" height="16" /></a>
<a href="javascript:singleAction('delete', '{$user.id}');"><img src="{$tpldir}images/{if $user.gesperrt=='delete'}delete{else}trash{/if}.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
<!--<a href="javascript:singleAction('mail', '{$user.id}');"><img src="{$tpldir}images/ico_sendmail.png" border="0" alt="{lng p="sendmail"}" width="16" height="16" /></a>-->
<a href="users.php?do=login&id={$user.id}&sid={$sid}" target="_blank" onclick="return confirm('{lng p="loginwarning"}');"><img src="{$tpldir}images/login.png" border="0" alt="{lng p="login"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="10">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
<option value="lock">{lng p="lock"}</option>
<option value="unlock">{lng p="unlock"}</option>
<option value="restore">{lng p="restore"}</option>
<!--<option value="mail">{lng p="sendmail"}</option>-->
</optgroup>
<optgroup label="{lng p="move"}">
{foreach from=$groups item=group key=groupID}
<option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option>
{/foreach}
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 20px;">&nbsp;</th>
<th style="width: 25px;" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'user_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th><a href="javascript:updateSort('id');">{lng p="id"}
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('email');">{lng p="email"}
{if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('mailspace_used');">{lng p="email"}
{if $sortBy=='mailspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('diskspace_used');">{lng p="webdisk"}
{if $sortBy=='diskspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('traffic');">{lng p="wdtrafficshort"}
{if $sortBy=='traffic'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('received_mails');">{lng p="receivedmails"}
{if $sortBy=='received_mails'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 80px;"><a href="javascript:updateSort('sent_mails');">{lng p="sentmails"}
{if $sortBy=='sent_mails'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th style="width: 110px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$users item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center">
{if $user.statusImg == 'active'}
<i class="fa-solid fa-user"></i>
{elseif $user.statusImg == 'nologin'}
<i class="fa-regular fa-user"></i>
{elseif $user.statusImg == 'deleted'}
<i class="fa-solid fa-user-xmark"></i>
{elseif $user.statusImg == 'locked'}
<i class="fa-solid fa-user-lock"></i>
{/if}
</td>
<td class="text-center"><input type="checkbox" name="user_{$user.id}" /></td>
<td>{$user.id}</td>
<td><a href="users.php?do=edit&id={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td>
<td>{progressBar value=$user.mailspace_used max=$user.mailspace_max width=75}</td>
<td>{progressBar value=$user.diskspace_used max=$user.diskspace_max width=75}</td>
<td>{progressBar value=$user.traffic max=$user.traffic_max width=75}</td>
<td>{$user.received_mails}</td>
<td>{$user.sent_mails}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="users.php?do=edit&id={$user.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="javascript:singleAction('{if $user.gesperrt=='no'}lock{elseif $user.gesperrt=='yes'}unlock{elseif $user.gesperrt=='locked'}activate{elseif $user.gesperrt=='delete'}recover{/if}', '{$user.id}');" class="btn btn-sm">{if $user.gesperrt=='no'}<i class="fa-solid fa-lock"></i>{elseif $user.gesperrt=='yes'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='locked'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='unlock'}<i class="fa-solid fa-lock-open"></i>{elseif $user.gesperrt=='delete'}<i class="fa-solid fa-hammer"></i>{/if}</a>
<a href="javascript:singleAction('delete', '{$user.id}');" class="btn btn-sm">{if $user.gesperrt=='delete'}<i class="fa-regular fa-trash-can text-danger"></i>{else}<i class="fa-regular fa-trash-can"></i>{/if}</a>
<a href="users.php?do=login&id={$user.id}&sid={$sid}" target="_blank" onclick="return confirm('{lng p="loginwarning"}');" class="btn btn-sm"><i class="fa-solid fa-house-chimney-user"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
<option value="lock">{lng p="lock"}</option>
<option value="unlock">{lng p="unlock"}</option>
<option value="restore">{lng p="restore"}</option>
</optgroup>
<optgroup label="{lng p="move"}">
{foreach from=$groups item=group key=groupID}
<option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option>
{/foreach}
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
<div style="float:right;padding-top:3px;">
<div class="text-end">
{lng p="pages"}: {pageNav page=$pageNo pages=$pageCount on=" <span class=\"pageNav\"><b>[.t]</b></span> " off=" <span class=\"pageNav\"><a href=\"javascript:updatePage(.s);\">.t</a></span> "}&nbsp;
</div>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</fieldset>
</form>

View file

@ -1,44 +1,47 @@
<form action="admins.php?changePassword=true&sid={$sid}" method="post" onsubmit="spin(this)" autocomplete="off">
<fieldset>
<legend>{lng p="loggedinas"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_users.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="username"}:</td>
<td class="td2">{text value=$adminRow.username}</td>
</tr>
<tr>
<td class="td1">{lng p="name"}:</td>
<td class="td2">{text value=$adminRow.firstname}
{text value=$adminRow.lastname}</td>
</tr>
<tr>
<td class="td1">{lng p="status"}:</td>
<td class="td2">{if $adminRow.type==0}{lng p="superadmin"}{else}{lng p="admin"}{/if}</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="password"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_login.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="newpassword"}:</td>
<td class="td2"><input type="password" name="newpw1" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="newpassword"} ({lng p="repeat"}):</td>
<td class="td2"><input type="password" name="newpw2" size="36" /></td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</p>
</form>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="loggedinas"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="username"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{text value=$adminRow.username}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="name"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{text value=$adminRow.firstname} {text value=$adminRow.lastname}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="status"}</label>
<div class="col-sm-8">
<div class="form-control-plaintext">{if $adminRow.type==0}{lng p="superadmin"}{else}{lng p="admin"}{/if}</div>
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="password"}</legend>
<form action="admins.php?changePassword=true&sid={$sid}" method="post" onsubmit="spin(this)" autocomplete="off">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="newpassword"}</label>
<div class="col-sm-8">
<input type="password" class="form-control" name="newpw1" placeholder="{lng p="newpassword"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="newpassword"} ({lng p="repeat"})</label>
<div class="col-sm-8">
<input type="password" class="form-control" name="newpw2" placeholder="{lng p="newpassword"} ({lng p="repeat"})">
</div>
</div>
<div class="text-end"><input class="btn btn-primary" type="submit" value="{lng p="save"}" /></div>
</form>
</fieldset>
</div>
</div>

View file

@ -1,90 +1,107 @@
<fieldset>
<legend>{lng p="admins"}</legend>
<form action="admins.php?action=admins&sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'admin_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="name"}</th>
<th width="140">{lng p="status"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$admins item=admin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/user_active.png" border="0" alt="" width="16" height="16" /></td>
<td align="center">{if $admin.adminid!=1}<input type="checkbox" name="admin_{$admin.adminid}" />{/if}</td>
<td>{text value=$admin.username}<br />
<small>{text value=$admin.firstname} {text value=$admin.lastname}</small></td>
<td>
{if $admin.type==0}{lng p="superadmin"}{else}{lng p="admin"}{/if}
</td>
<td>
<a href="admins.php?action=admins&do=edit&id={$admin.adminid}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
{if $admin.adminid!=1}<a href="admins.php?action=admins&delete={$admin.adminid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>{/if}
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="5">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 25px; text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'admin_');"><img src="{$tpldir}images/dot.png" alt="" width="16" /></a></th>
<th>{lng p="name"}</th>
<th style="width: 200px;">{lng p="status"}</th>
<th style="width: 80px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$admins item=admin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center">{if $admin.adminid!=1}<input type="checkbox" name="admin_{$admin.adminid}" />{/if}</td>
<td>{text value=$admin.firstname} {text value=$admin.lastname} ({text value=$admin.username})</td>
<td>
{if $admin.type==0}{lng p="superadmin"}{else}{lng p="admin"}{/if}
</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="admins.php?action=admins&do=edit&id={$admin.adminid}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
{if $admin.adminid!=1}<a href="admins.php?action=admins&delete={$admin.adminid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addadmin"}</legend>
<form action="admins.php?action=admins&add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/ico_users.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="username"}:</td>
<td class="td2"><input type="text" size="28" id="username" name="username" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="firstname"}:</td>
<td class="td2"><input type="text" size="36" id="firstname" name="firstname" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="lastname"}:</td>
<td class="td2"><input type="text" size="36" id="lastname" name="lastname" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="password"}:</td>
<td class="td2"><input type="password" size="28" id="pw1" name="pw1" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="password"} ({lng p="repeat"}):</td>
<td class="td2"><input type="password" size="28" id="pw2" name="pw2" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="type"}:</td>
<td class="td2"><select name="type">
<option value="1">{lng p="admin"}</option>
<option value="0">{lng p="superadmin"}</option>
</select></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="username"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="username" name="username" placeholder="{lng p="username"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="firstname"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="firstname" name="firstname" placeholder="{lng p="firstname"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="lastname"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="lastname" name="lastname" placeholder="{lng p="lastname"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="type"}</label>
<div class="col-sm-8">
<select class="form-select" name="type">
<option value="1">{lng p="admin"}</option>
<option value="0">{lng p="superadmin"}</option>
</select>
</div>
</div>
</div>
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="password"}</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="pw1" name="pw1" placeholder="{lng p="password"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="password"} ({lng p="repeat"})</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="pw2" name="pw2" placeholder="{lng p="password"} ({lng p="repeat"})">
</div>
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value=" {lng p="add"} " />
</div>
</form>
</fieldset>

View file

@ -1,78 +1,90 @@
<form action="admins.php?action=admins&do=edit&id={$admin.adminid}&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="editadmin"}: {text value=$admin.username}</legend>
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/ico_users.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="username"}:</td>
<td class="td2"><input type="text" size="28" id="username" name="username" value="{if isset($admin.username)}{text value=$admin.username}{/if}" /></td>
</tr>
<tr>
<td class="td1">{lng p="firstname"}:</td>
<td class="td2"><input type="text" size="36" id="firstname" name="firstname" value="{if isset($admin.firstname)}{text value=$admin.firstname allowEmpty=true}{/if}" /></td>
</tr>
<tr>
<td class="td1">{lng p="lastname"}:</td>
<td class="td2"><input type="text" size="36" id="lastname" name="lastname" value="{if isset($admin.lastname)}{text value=$admin.lastname allowEmpty=true}{/if}" /></td>
</tr>
<tr>
<td class="td1">{lng p="type"}:</td>
<td class="td2"><select name="type"{if $admin.adminid==1} disabled="disabled"{/if} onclick="EBID('perms').style.display=this.value==0?'none':'';">
<option value="1"{if $admin.type==1} selected="selected"{/if}>{lng p="admin"}</option>
<option value="0"{if $admin.type==0} selected="selected"{/if}>{lng p="superadmin"}</option>
</select></td>
</tr>
</table>
</fieldset>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="editadmin"}: {text value=$admin.username}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="username"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="username" name="username" value="{if isset($admin.username)}{text value=$admin.username}{/if}" placeholder="{lng p="username"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="firstname"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="firstname" name="firstname" value="{if isset($admin.firstname)}{text value=$admin.firstname allowEmpty=true}{/if}" placeholder="{lng p="firstname"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="lastname"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="lastname" name="lastname" value="{if isset($admin.lastname)}{text value=$admin.lastname allowEmpty=true}{/if}" placeholder="{lng p="lastname"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="type"}</label>
<div class="col-sm-8">
<select class="form-select" name="type"{if $admin.adminid==1} disabled="disabled"{/if} onclick="EBID('perms').style.display=this.value==0?'none':'';">
<option value="1"{if $admin.type==1} selected="selected"{/if}>{lng p="admin"}</option>
<option value="0"{if $admin.type==0} selected="selected"{/if}>{lng p="superadmin"}</option>
</select>
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="password"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="newpassword"}</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="newpw1" name="newpw1" placeholder="{lng p="newpassword"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="newpassword"} ({lng p="repeat"})</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="newpw2" name="newpw2" placeholder="{lng p="newpassword"} ({lng p="repeat"})">
</div>
</div>
</fieldset>
</div>
</div>
<fieldset id="perms" style="display:{if $admin.type==0}none{/if};">
<legend>{lng p="permissions"}</legend>
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_validation.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="areas"}:</td>
<td class="td2">
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">{lng p="areas"}</div>
<div>
{foreach from=$permsTable item=permTitle key=permName}
<input type="checkbox" name="perms[{$permName}]" value="1" id="perm_{$permName}"{if $admin.perms.$permName} checked="checked"{/if} />
<label for="perm_{$permName}" style="font-weight:bold;">{$permTitle}</label><br />
<label class="form-check">
<input class="form-check-input" type="checkbox" name="perms[{$permName}]" value="1" id="perm_{$permName}"{if $admin.perms.$permName} checked="checked"{/if}>
<span class="form-check-label">{$permTitle}</span>
</label>
{/foreach}
</td>
</tr>
<tr>
<td class="td1">{lng p="plugins"}:</td>
<td class="td2">
</div>
</div>
<div class="col-md-6">
<div class="mb-3 ">
<label class="form-label">{lng p="plugins"}</div>
<div>
{foreach from=$pluginList item=pluginTitle key=pluginName}
<input type="checkbox" name="perms[plugins][{$pluginName}]" value="1" id="plugin_{$pluginName}"{if $admin.perms.plugins.$pluginName} checked="checked"{/if} />
<label for="plugin_{$pluginName}" style="font-weight:bold;">{text value=$pluginTitle}</label><br />
<label class="form-check">
<input class="form-check-input" type="checkbox" name="perms[plugins][{$pluginName}]" value="1" id="plugin_{$pluginName}"{if $admin.perms.plugins.$pluginName} checked="checked"{/if}>
<span class="form-check-label">{text value=$pluginTitle}</span>
</label>
{/foreach}
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="password"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_login.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="newpassword"}:</td>
<td class="td2"><input type="password" name="newpw1" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="newpassword"} ({lng p="repeat"}):</td>
<td class="td2"><input type="password" name="newpw2" size="36" /></td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</div>
</div>
</p>
</fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -0,0 +1,270 @@
/* Input */
.form-label,
.col-form-label {
font-weight: normal;
}
.button,
.smallInput[type=submit] {
display: inline-block;
font-weight: 400;
line-height: 0.93;
color: #666666;
background-color: #ffffff;
border: 1px solid #666666;
text-align: center;
text-decoration: none;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
border-radius: 0.1rem;
}
.smallInput[type=submit] {
font-weight: 300;
font-size: 0.58rem;
}
.button:disabled {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
.button:focus {
color: #fff;
background-color: #0b5ed7;
border-color: #0a58ca;
box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);
}
/* Fieldset */
fieldset {
margin: 0px 10px 8px 0px;
padding: 8px;
border-top: 1px solid #e6e7e9;
margin-bottom: 1em;
}
fieldset legend {
float: none;
width: auto;
padding: 3px 10px 4px 10px;
font-size: 0.8rem;
border: 1px solid #e6e7e9;
}
fieldset.uncollapsed legend:before {
font-family: FontAwesome;
content: "\f078";
padding-right: 2px;
color: #666;
}
fieldset.collapsed legend:before {
font-family: FontAwesome;
content: "\f054";
padding-left: 3px;
padding-right: 3px;
color: #666;
}
fieldset legend a {
text-decoration: none;
}
fieldset.collapsed {
border-bottom: 0 none;
border-right: 1px solid rgba(255, 255, 255, 0);
border-left: 1px solid rgba(255, 255, 255, 0);
padding-bottom: 0;
margin-bottom: 0;
}
fieldset.collapsed .content {
display: none;
}
/* Tabellen */
.list {
width: 100%;
margin-bottom: 1rem;
color: #1d273b;
vertical-align: top;
border: 1px solid #e6e7e9;
}
.list th {
color: #616876;
background: #f8fafc;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
line-height: 1rem;
color: #616876;
padding: 0.5rem;
white-space: nowrap;
border-bottom: 1px solid #e6e7e9;
}
.list th a {
color: #333;
text-decoration: none;
}
.list th a:hover {
color: #666;
text-decoration: none;
}
.list td {
text-align: left;
vertical-align: top;
padding: 3px;
padding-left: 6px;
border-right: 1px dotted #e6e7e9;
}
.list td img {
min-width: 16px;
}
.list td input[type=checkbox] {
margin-top: 4px;
}
.list .td1 {
background-color: transparent;
font-weight: normal;
border-bottom: 0px;
}
.list .td2 {
background-color: #edeff2;
font-weight: normal;
border-bottom: 0px;
}
.list .td1_dl {
border-top: 3px double #e6e7e9;
background-color: #FFFFFF;
}
.list .td2_dl {
border-top: 3px double #e6e7e9;
background-color: #F1F5FA;
}
.list .footer {
color: #616876;
background: #f8fafc;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
line-height: 1rem;
color: #616876;
padding: 0.5rem;
white-space: nowrap;
border-bottom: 1px solid #e6e7e9;
}
.list .footer a {
color: #333;
text-decoration: none;
}
.list .footer a:hover {
color: #666;
text-decoration: none;
}
.tableSubHead td {
background-color: #EEE;
box-shadow: inset 0px 1px 0 #FFF;
border-top: 1px solid #e6e7e9;
border-bottom: 1px solid #e6e7e9;
border-left: 0 none;
border-right: 0 none;
}
/**
* Dashboard
*/
.dragTable {
width: 100%;
}
.dragTableColumn {
vertical-align: top;
padding: 10px;
border-left: 1px solid #efefef;
}
.dragItem {
border-spacing: 0px;
border-collapse: collapse;
border: 1px solid #DDDDDD;
background-color: #FFFFFF;
border-radius: 5px;
}
.dragBar {
font-weight: normal;
padding: 4px 5px;
vertical-align: middle;
border-bottom: 1px solid #DDDDDD;
cursor: default;
border-radius-topleft: 5px;
}
.dragBar A {
cursor: hand;
cursor: pointer;
}
.dragTargetInactive {
}
.dragTargetActive {
border: 2px dashed #999999;
}
/**
* Stats
*/
.statsTable {
width: 100%;
margin-bottom: 1rem;
color: #1d273b;
vertical-align: top;
border: 1px solid #e6e7e9;
}
.statsTable th {
color: #616876;
background: #f8fafc;
font-size: 0.625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
line-height: 1rem;
color: #616876;
padding: 0.5rem;
white-space: nowrap;
border-bottom: 1px solid #e6e7e9;
}
.statsTable .yScale {
border-right:1px solid #A0A0A0;
}
.statsTable .yScale div {
height: 24px;
font-size: 9px;
text-align: right;
}
.statsTable .bar {
text-align: center;
background-image: url(../images/stats_grid.gif);
background-position: 0px 8px;
vertical-align: bottom;
}
.statsTable .bar div {
margin-left: auto;
margin-right: auto;
box-shadow: 0px 0px 3px #AAA;
background: #eff0f1;
width: 17px;
}
.statsTable .xLines {
height: 3px;
border-top: 1px solid #A0A0A0;
border-left: 1px solid #A0A0A0;
border-right: 1px solid #A0A0A0;
}
.statsTable .xScale r {
text-align: center;
font-size: 9px;
}

File diff suppressed because it is too large Load diff

14
src/admin/templates/css/tabler.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,33 +1,24 @@
<form action="groups.php?do=realDelete&sid={$sid}" method="post">
<fieldset>
<legend>{lng p="deletegroup"}</legend>
{lng p="groupdeletedesc"}
<p>
<div>
<table>
{foreach from=$groupsToDelete item=dGroupTitle key=dGroupID}
<tr>
<td>{text value=$dGroupTitle}</td>
<td><b>&nbsp;&raquo;&nbsp;</b></td>
<td>
<select name="groups[{$dGroupID}]">
{foreach from=$groups key=groupID item=groupTitle}
<option value="{$groupID}">{text value=$groupTitle}</option>
{/foreach}
</select>
</td>
</tr>
{/foreach}
</table>
</div>
</p>
</fieldset>
<fieldset>
<legend>{lng p="deletegroup"}</legend>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="move"} &amp; {lng p="delete"} " />
{lng p="groupdeletedesc"}
{foreach from=$groupsToDelete item=dGroupTitle key=dGroupID}
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{text value=$dGroupTitle}</label>
<div class="col-sm-8">
<select name="groups[{$dGroupID}]" class="form-select">
{foreach from=$groups key=groupID item=groupTitle}
<option value="{$groupID}">{text value=$groupTitle}</option>
{/foreach}
</select>
</div>
</div>
{/foreach}
</fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="move"} &amp; {lng p="delete"}" />
</div>
</p>
</form>
</form>

View file

@ -1,296 +1,597 @@
<form method="post" action="groups.php?{if $create}action=create&create=true{else}do=edit&id={$group.id}&save=true{/if}&sid={$sid}" onsubmit="spin(this)">
<table width="100%" cellspacing="2" cellpadding="0">
<tr>
<td valign="top" width="50%">
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="common"}</legend>
<table width="100%">
<tr>
<td class="td1" width="160">{lng p="title"}:</td>
<td class="td2"><input type="text" name="titel" value="{if isset($group.titel)}{text value=$group.titel allowEmpty=true}{/if}" style="width:85%;" /></td>
</tr>
<tr>
<td class="td1">{lng p="htmlview"}?</td>
<td class="td2"><input type="checkbox" name="soforthtml"{if $group.soforthtml=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="monthasset"}:</td>
<td class="td2"><input type="text" name="sms_monat" value="{$group.sms_monat}" size="8" /> {lng p="credits"}</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="title"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="titel" value="{if isset($group.titel)}{text value=$group.titel allowEmpty=true}{/if}" placeholder="{lng p="title"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="htmlview"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="soforthtml"{if $group.soforthtml=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="monthasset"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="sms_monat" value="{$group.sms_monat}" placeholder="{lng p="monthasset"}">
<span class="input-group-text">{lng p="credits"}</span>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="storage"}</legend>
<table width="100%">
<tr>
<td class="td1" width="160">{lng p="email"}:</td>
<td class="td2"><input type="text" name="storage" value="{$group.storage/1024/1024}" size="8" /> MB</td>
</tr>
<tr>
<td class="td1">{lng p="webdisk"}:</td>
<td class="td2"><input type="text" name="webdisk" value="{$group.webdisk/1024/1024}" size="8" /> MB</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="email"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="storage" value="{$group.storage/1024/1024}" placeholder="{lng p="email"}">
<span class="input-group-text">MB</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="webdisk"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="webdisk" value="{$group.webdisk/1024/1024}" placeholder="{lng p="webdisk"}">
<span class="input-group-text">MB</span>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="limits"}</legend>
<table width="100%">
<tr>
<td class="td1" width="160">{lng p="emailin"}:</td>
<td class="td2"><input type="text" name="maxsize" value="{$group.maxsize/1024}" size="8" /> KB</td>
</tr>
<tr>
<td class="td1">{lng p="emailout"}:</td>
<td class="td2"><input type="text" name="anlagen" value="{$group.anlagen/1024}" size="8" /> KB</td>
</tr>
<tr>
<td class="td1">{lng p="wdtraffic"}:</td>
<td class="td2"><input type="text" name="traffic" value="{if $group.traffic>0}{$group.traffic/1024/1024}{else}{$group.traffic}{/if}" size="8" /> MB</td>
</tr>
<tr>
<td class="td1">{lng p="wdspeed"}:</td>
<td class="td2"><input type="text" name="wd_member_kbs" value="{$group.wd_member_kbs}" size="8" /> KB/s</td>
</tr>
<tr>
<td class="td1">{lng p="sharespeed"}:</td>
<td class="td2"><input type="text" name="wd_open_kbs" value="{$group.wd_open_kbs}" size="8" /> KB/s</td>
</tr>
<tr>
<td class="td1" width="220">{lng p="maxrecps"}:</td>
<td class="td2"><input type="text" name="max_recps" value="{$group.max_recps}" size="8" /></td>
</tr>
<tr>
<td class="td1">{lng p="sendlimit"}:</td>
<td class="td2"><input type="text" name="send_limit_count" value="{$group.send_limit_count}" size="8" />
{lng p="emailsin"}
<input type="text" name="send_limit_time" value="{$group.send_limit_time}" size="8" />
{lng p="minutes"}</td>
</tr>
<tr>
<td class="td1">{lng p="ownpop3"}:</td>
<td class="td2"><input type="text" name="ownpop3" value="{$group.ownpop3}" size="8" /></td>
</tr>
<tr>
<td class="td1">{lng p="ownpop3interval"}:</td>
<td class="td2"><input type="text" name="ownpop3_interval" value="{$group.ownpop3_interval}" size="8" /> {lng p="seconds"}</td>
</tr>
<tr>
<td class="td1">{lng p="selfpop3_check"}?</td>
<td class="td2"><input type="checkbox" name="selfpop3_check"{if $group.selfpop3_check=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="aliases"}:</td>
<td class="td2"><input type="text" name="aliase" value="{$group.aliase}" size="8" /></td>
</tr>
<tr>
<td class="td1">{lng p="smspre"}:</td>
<td class="td2">
<textarea style="width:100%;height:80px;" name="sms_pre">{text value=$group.sms_pre allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
</td>
</tr>
<tr>
<td class="td1">{lng p="smsvalidation"}?</td>
<td class="td2"><input type="checkbox" name="smsvalidation"{if $group.smsvalidation=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="allownewsoptout"}?</td>
<td class="td2"><input name="allow_newsletter_optout"{if $group.allow_newsletter_optout=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="mail_send_code"}?</td>
<td class="td2"><input name="mail_send_code"{if $group.mail_send_code=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="sms_send_code"}?</td>
<td class="td2"><input name="sms_send_code"{if $group.sms_send_code=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="abuseprotect"}?</td>
<td class="td2"><input name="abuseprotect"{if $group.abuseprotect=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="emailin"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="maxsize" value="{$group.maxsize/1024}" placeholder="{lng p="emailin"}">
<span class="input-group-text">KB</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="emailout"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="anlagen" value="{$group.anlagen/1024}" placeholder="{lng p="emailout"}">
<span class="input-group-text">KB</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="wdtraffic"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="traffic" value="{if $group.traffic>0}{$group.traffic/1024/1024}{else}{$group.traffic}{/if}" placeholder="{lng p="wdtraffic"}">
<span class="input-group-text">MB</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="wdspeed"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="wd_member_kbs" value="{$group.wd_member_kbs}" placeholder="{lng p="wdspeed"}">
<span class="input-group-text">KB/s</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="sharespeed"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="wd_open_kbs" value="{$group.wd_open_kbs}" placeholder="{lng p="sharespeed"}">
<span class="input-group-text">KB/s</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="maxrecps"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="max_recps" value="{$group.max_recps}" placeholder="{lng p="maxrecps"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="sendlimit"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="send_limit_count" value="{$group.send_limit_count}" placeholder="{lng p="emailsin"}">
<span class="input-group-text">{lng p="emailsin"}</span>
<input type="text" class="form-control" name="send_limit_time" value="{$group.send_limit_time}" placeholder="{lng p="minutes"}">
<span class="input-group-text">{lng p="minutes"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="ownpop3"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="ownpop3" value="{$group.ownpop3}" placeholder="{lng p="ownpop3"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="ownpop3interval"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="ownpop3_interval" value="{$group.ownpop3_interval}" placeholder="{lng p="ownpop3interval"}">
<span class="input-group-text">{lng p="seconds"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="selfpop3_check"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="selfpop3_check"{if $group.selfpop3_check=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="aliases"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="aliase" value="{$group.aliase}" placeholder="{lng p="aliases"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smspre"}</label>
<div class="col-sm-8">
<textarea class="form-control" name="sms_pre" placeholder="{lng p="smspre"}">{text value=$group.sms_pre allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="smsvalidation"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="smsvalidation"{if $group.smsvalidation=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="allownewsoptout"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="allow_newsletter_optout"{if $group.allow_newsletter_optout=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="mail_send_code"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="mail_send_code"{if $group.mail_send_code=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="sms_send_code"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="sms_send_code"{if $group.sms_send_code=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="abuseprotect"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="abuseprotect"{if $group.abuseprotect=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
</td>
<td valign="top">
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="services"}</legend>
<table width="100%">
<tr>
<td class="td1" width="150">{lng p="autoresponder"}?</td>
<td class="td2"><input type="checkbox" name="responder"{if $group.responder=='yes'} checked="checked"{/if} /></td>
<td class="td1" width="150">{lng p="forward"}?</td>
<td class="td2"><input type="checkbox" name="forward"{if $group.forward=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="ads"}?</td>
<td class="td2"><input type="checkbox" name="ads"{if $group.ads=='yes'} checked="checked"{/if} /></td>
<td class="td2" colspan="2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="mail2sms"}?</td>
<td class="td2"><input type="checkbox" name="mail2sms"{if $group.mail2sms=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="ownfrom"}?</td>
<td class="td2"><input type="checkbox" name="sms_ownfrom"{if $group.sms_ownfrom=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="mobileaccess"}?</td>
<td class="td2"><input type="checkbox" name="wap"{if $group.wap=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="sync"}?</td>
<td class="td2"><input type="checkbox" name="syncml"{if $group.syncml=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="wdshare"}?</td>
<td class="td2"><input type="checkbox" name="share"{if $group.share=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="webdav"}?</td>
<td class="td2"><input type="checkbox" name="webdav"{if !$davSupport} disabled="disabled"{else}{if $group.webdav=='yes'} checked="checked"{/if}{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="organizerdav"}?</td>
<td class="td2"><input type="checkbox" name="organizerdav"{if !$davSupport} disabled="disabled"{else}{if $group.organizerdav=='yes'} checked="checked"{/if}{/if} /></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="organizer"}?</td>
<td class="td2"><input type="checkbox" name="organizer"{if $group.organizer=='yes'} checked="checked"{/if} /></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="smtp"}?</td>
<td class="td2"><input type="checkbox" name="smtp"{if $group.smtp=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="pop3"}?</td>
<td class="td2"><input type="checkbox" name="pop3"{if $group.pop3=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="imap"}?</td>
<td class="td2"><input type="checkbox" name="imap"{if $group.imap=='yes'} checked="checked"{/if} /></td>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="smime"}?</td>
<td class="td2"><input type="checkbox" name="smime"{if !$smimeSupport} disabled="disabled"{else}{if $group.smime=='yes'} checked="checked"{/if}{/if} /></td>
<td class="td1">{lng p="issue_certificates"}?</td>
<td class="td2"><input type="checkbox" name="issue_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.issue_certificates=='yes'} checked="checked"{/if}{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="upload_certificates"}?</td>
<td class="td2"><input type="checkbox" name="upload_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.upload_certificates=='yes'} checked="checked"{/if}{/if} /></td>
<td class="td1">{lng p="sender_aliases"}?</td>
<td class="td2"><input type="checkbox" name="sender_aliases"{if $group.sender_aliases=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="ftsearch"}?</td>
<td class="td2"><input type="checkbox" name="ftsearch"{if !$ftsSupport} disabled="disabled"{else}{if $group.ftsearch=='yes'} checked="checked"{/if}{/if} /></td>
<td class="td1">{lng p="notifications"}?</td>
<td class="td2"><input type="checkbox" name="notifications"{if $group.notifications=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="deliverystatus"}?</td>
<td class="td2"><input type="checkbox" name="maildeliverystatus"{if $group.maildeliverystatus=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="auto_save_drafts"}?</td>
<td class="td2"><input type="checkbox" name="auto_save_drafts"{if $group.auto_save_drafts=='yes'} checked="checked"{/if} /></td>
</tr>
</table>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="autoresponder"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="responder"{if $group.responder=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="forward"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="forward"{if $group.forward=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="ads"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ads"{if $group.ads=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
&nbsp;
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="mail2sms"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="mail2sms"{if $group.mail2sms=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="ownfrom"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="sms_ownfrom"{if $group.sms_ownfrom=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="mobileaccess"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="wap"{if $group.wap=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="sync"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="syncml"{if $group.syncml=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="wdshare"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="share"{if $group.share=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="webdav"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="webdav"{if !$davSupport} disabled="disabled"{else}{if $group.webdav=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="organizerdav"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="organizerdav"{if !$davSupport} disabled="disabled"{else}{if $group.organizerdav=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
&nbsp;
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="organizer"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="organizer"{if $group.organizer=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
&nbsp;
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="smtp"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="smtp"{if $group.smtp=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="pop3"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="pop3"{if $group.pop3=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="imap"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="imap"{if $group.imap=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
&nbsp;
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="smime"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="smime"{if !$smimeSupport} disabled="disabled"{else}{if $group.smime=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="issue_certificates"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="issue_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.issue_certificates=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="upload_certificates"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="upload_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.upload_certificates=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="sender_aliases"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="sender_aliases"{if $group.sender_aliases=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="ftsearch"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ftsearch"{if !$ftsSupport} disabled="disabled"{else}{if $group.ftsearch=='yes'} checked="checked"{/if}{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="notifications"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="notifications"{if $group.notifications=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="deliverystatus"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="maildeliverystatus"{if $group.maildeliverystatus=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="auto_save_drafts"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="auto_save_drafts"{if $group.auto_save_drafts=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="bmtoolbox"}</legend>
<table width="100%">
<tr>
<td class="td1" width="150">{lng p="tbx_enable"}?</td>
<td class="td2"><input type="checkbox" name="checker"{if $group.checker=='yes'} checked="checked"{/if} /></td>
<td class="td2" width="150">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="tbx_webdisk"}?</td>
<td class="td2"><input type="checkbox" name="tbx_webdisk"{if $group.tbx_webdisk=='yes'} checked="checked"{/if} /></td>
<td class="td1">{lng p="tbx_smsmanager"}?</td>
<td class="td2"><input type="checkbox" name="tbx_smsmanager"{if $group.tbx_smsmanager=='yes'} checked="checked"{/if} /></td>
</tr>
</table>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="tbx_enable"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="checker"{if $group.checker=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
&nbsp;
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="tbx_webdisk"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="tbx_webdisk"{if $group.tbx_webdisk=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<label class="col-sm-6 col-form-check-label">{lng p="tbx_smsmanager"}</label>
<div class="col-sm-6">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="tbx_smsmanager"{if $group.tbx_smsmanager=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="aliasdomains"}</legend>
<textarea style="width:100%;height:80px;" name="saliase">{text value=$group.saliase allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea class="form-control" name="saliase" placeholder="{lng p="aliasdomains"}">{text value=$group.saliase allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="misc"}</legend>
<table width="100%">
<tr>
<td class="td1" width="160">{lng p="creditprice"}:</td>
<td class="td2"><input type="text" name="sms_price_per_credit" value="{$group.sms_price_per_credit}" size="6" /> (1/100 {$currency})</td>
</tr>
<tr>
<td class="td1" width="160">{lng p="smsfrom"}:</td>
<td class="td2"><input type="text" name="sms_from" value="{if isset($group.sms_from)}{text value=$group.sms_from allowEmpty=true}{/if}" style="width:85%;" /></td>
</tr>
<tr>
<td class="td1">{lng p="smssig"}:</td>
<td class="td2"><input type="text" name="sms_sig" value="{if isset($group.sms_sig)}{text value=$group.sms_sig allowEmpty=true}{/if}" style="width:85%;" /></td>
</tr>
<tr>
<td class="td1">{lng p="mailsig"}:</td>
<td class="td2"><textarea style="width:100%;height:80px;" name="signatur">{text value=$group.signatur allowEmpty=true}</textarea></td>
</tr>
{foreach from=$groupOptions key=fieldKey item=fieldInfo}
<tr>
<td class="td1">{$fieldInfo.desc}</td>
<td class="td2">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="creditprice"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="sms_price_per_credit" value="{$group.sms_price_per_credit}" placeholder="{lng p="creditprice"}">
<span class="input-group-text">(1/100 {$currency})</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smsfrom"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="sms_from" value="{if isset($group.sms_from)}{text value=$group.sms_from allowEmpty=true}{/if}" placeholder="{lng p="smsfrom"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smssig"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="sms_sig" value="{if isset($group.sms_sig)}{text value=$group.sms_sig allowEmpty=true}{/if}" placeholder="{lng p="smssig"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="mailsig"}</label>
<div class="col-sm-8">
<textarea class="form-control" name="signatur" placeholder="{lng p="mailsig"}">{text value=$group.signatur allowEmpty=true}</textarea>
</div>
</div>
{foreach from=$groupOptions key=fieldKey item=fieldInfo}
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{$fieldInfo.desc}</label>
<div class="col-sm-8">
{if $fieldInfo.type==16}
<textarea style="width:100%;height:80px;" name="{$fieldKey}">{text value=$fieldInfo.value allowEmpty=true}</textarea></td>
<textarea class="form-control" name="{$fieldKey}">{text value=$fieldInfo.value allowEmpty=true}</textarea>
{elseif $fieldInfo.type==8}
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<input type="radio" name="{$fieldKey}" id="{$fieldKey}_{$optionKey}" value="{$optionKey}"{if $fieldInfo.value==$optionKey} checked="checked"{/if} />
<label for="{$fieldKey}_{$optionKey}">{text value=$optionValue}</label>
<div class="form-check">
<input type="radio" class="form-check-input" name="{$fieldKey}" id="{$fieldKey}_{$optionKey}" value="{$optionKey}"{if $fieldInfo.value==$optionKey} checked="checked"{/if} />
<span class="form-check-label">{text value=$optionValue}</span>
</div>
{/foreach}
{elseif $fieldInfo.type==4}
<select name="{$fieldKey}">
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option>
{/foreach}
<select name="{$fieldKey}" class="form-select">
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option>
{/foreach}
</select>
{elseif $fieldInfo.type==2}
<input type="checkbox" name="{$fieldKey}" value="1"{if $fieldInfo.value} checked="checked"{/if} />
<div class="form-check">
<input type="checkbox" class="form-check-input" name="{$fieldKey}" value="1"{if $fieldInfo.value} checked="checked"{/if} />
</div>
{elseif $fieldInfo.type==1}
<input type="text" style="width:85%;" name="{$fieldKey}" value="{if isset($fieldInfo.value)}{text value=$fieldInfo.value allowEmpty=true}{/if}" />
<input type="text" class="form-control" name="{$fieldKey}" value="{if isset($fieldInfo.value)}{text value=$fieldInfo.value allowEmpty=true}{/if}" />
{/if}
</tr>
{/foreach}
</table>
</div>
</div>
{/foreach}
</fieldset>
</td>
</tr>
</table>
<p>
{if !$create}<div style="float:left" class="buttons">
&nbsp;{lng p="action"}:
<select name="groupAction" id="groupAction">
<optgroup label="{lng p="actions"}">
<option value="newsletter.php?toGroup={$group.id}&sid={$sid}">{lng p="sendmail"}</option>
<option value="groups.php?singleAction=delete&singleID={$group.id}&sid={$sid}">{lng p="delete"}</option>
</optgroup>
</select>
</div>
</div>
<div style="float:left">
<input class="button" type="button" value=" {lng p="ok"} " onclick="executeAction('groupAction');" />
</div>{/if}
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
<div class="row">
<div class="col-md-6">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="groupAction" id="groupAction" class="form-select form-select-sm">
<optgroup label="{lng p="actions"}">
<option value="newsletter.php?toGroup={$group.id}&sid={$sid}">{lng p="sendmail"}</option>
<option value="groups.php?singleAction=delete&singleID={$group.id}&sid={$sid}">{lng p="delete"}</option>
</optgroup>
</select>
<input type="button" name="executeMassAction" value="{lng p="ok"}" onclick="executeAction('groupAction');" class="btn btn-sm btn-dark-lt" />
</div>
</div>
</div>
<div class="col-md-6 text-end">
<input class="btn btn-primary" type="submit" value=" {lng p="save"} " />
</div>
</div>
</p>
</form>
<br /><br />
</form>

View file

@ -1,44 +1,50 @@
<fieldset>
<legend>{lng p="groups"}</legend>
<form name="f1" action="groups.php?sid={$sid}" method="post">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'group_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="title"}</th>
<th width="70">&nbsp;</th>
</tr>
{foreach from=$groups item=group}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/ico_group{if $group.default}_default{/if}.png" border="0" width="16" height="16" alt="" /></td>
<td align="center"><input type="checkbox" name="group_{$group.id}" /></td>
<td><a href="groups.php?do=edit&id={$group.id}&sid={$sid}">{text value=$group.titel}</a><br /><small><a href="users.php?onlyGroup={$group.id}&sid={$sid}">{$group.members} {lng p="members"}</a></small></td>
<td>
<a href="groups.php?do=edit&id={$group.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
{if !$group.default}<a href="groups.php?do=delete&id={$group.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>{/if}
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="4">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'group_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="title"}</th>
<th width="70">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$groups item=group}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><i class="fa-solid fa-user-group{if $group.default} text-green{/if}"></i></td>
<td align="center"><input type="checkbox" name="group_{$group.id}" /></td>
<td><a href="groups.php?do=edit&id={$group.id}&sid={$sid}">{text value=$group.titel}</a><br /><small><a href="users.php?onlyGroup={$group.id}&sid={$sid}">{$group.members} {lng p="members"}</a></small></td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="groups.php?do=edit&id={$group.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
{if !$group.default}<a href="groups.php?do=delete&id={$group.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 741 B

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because it is too large Load diff

View file

@ -1,14 +0,0 @@
function insGate(titel, get, ok, get74)
{
var v74OrLater = (window.self == window.top);
document.getElementById('titel').value = titel;
document.getElementById('getstring').value = v74OrLater && get74.length > 0 ? get74 : get;
document.getElementById('success').value = ok;
}
document.write('<ul>');
document.write(' <li><a href="#" onclick="insGate(\'Yomega.info\',\'http://gateway.yomega.info/textsms2.py?user=%%user%%&pass=%%passwort%%&from=%%from%%&to=%%to%%&text=%%msg%%&what=textsms\',\'5002\',\'\');">Yomega.info</a></li>');
document.write(' <li><a href="#" onclick="insGate(\'SMSkaufen.de\',\'http://gateway.smskaufen.de/?id=%%user%%&pw=%%passwort%%&type=%%typ%%&empfaenger=%%to%%&absender=%%from%%&text=%%msg%%&reply_email=%%usermail%%&reply=1\',\'100\',\'\');alert(\'Wichtig: Nach dem Anlegen des Gateways muss mindestens ein SMS-Typ eingereichtet werden (unter Typen). Als Typ muss dabei eine SMS-Typ-Nummer von SMSkaufen angegeben werden (z.B. 2).\');">SMSkaufen.de</a></li>');
document.write(' <li><a href="#" onclick="insGate(\'smstrade.de\',\'http://gateway.smstrade.de/?key=%%passwort%%&message=%%msg%%&to=%%to%%&from=%%from%%&route=%%typ%%\',\'100\',\'\');alert(\'Wichtig: Geben Sie Ihren smstrade.de-Schnittstellen-Key bitte als Passwort ein und lassen Sie das Benutzer-Feld leer. Nach dem Anlegen des Gateways muss mindestens ein SMS-Typ eingerichtet werden (unter Typen). Als Typ kann dabei einer der folgenden Werte verwendet werden: basic, economy, gold, direct (entsprechen den Routen bei smstrade.de).\');">smstrade.de</a></li>');
document.write(' <li><a href="#" onclick="insGate(\'CM Telecom\',\'https://sgw01.cm.nl/gateway.ashx?producttoken=%%passwort%%&body=%%msg%%&to=%%to%%&from=%%from%%&reference=\',\'\',\'https://sgw01.cm.nl/gateway.ashx?producttoken=%%passwort%%&body=%%msg_utf8%%&to=%%to%%&from=%%from%%&reference=\');alert(\'Bitte geben Sie Ihren Product Token im Feld Passwort ein. Benutzer sowie Rückgabe-Wert können frei gelassen werden. Es muss weiterhin mindestens ein SMS-Typ angelegt werden. Das Typ-Feld kann dabei frei gelassen werden.\');">CM Telecom</a></li>');
document.write('</ul>');

File diff suppressed because it is too large Load diff

15
src/admin/templates/js/tabler.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 400;
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
.far,
.fa-regular {
font-weight: 400; }

View file

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}

View file

@ -0,0 +1,19 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-style-family-classic: 'Font Awesome 6 Free';
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
@font-face {
font-family: 'Font Awesome 6 Free';
font-style: normal;
font-weight: 900;
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
.fas,
.fa-solid {
font-weight: 900; }

View file

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}

View file

@ -0,0 +1,635 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
:root, :host {
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
overflow: visible;
box-sizing: content-box; }
.svg-inline--fa {
display: var(--fa-display, inline-block);
height: 1em;
overflow: visible;
vertical-align: -.125em; }
.svg-inline--fa.fa-2xs {
vertical-align: 0.1em; }
.svg-inline--fa.fa-xs {
vertical-align: 0em; }
.svg-inline--fa.fa-sm {
vertical-align: -0.07143em; }
.svg-inline--fa.fa-lg {
vertical-align: -0.2em; }
.svg-inline--fa.fa-xl {
vertical-align: -0.25em; }
.svg-inline--fa.fa-2xl {
vertical-align: -0.3125em; }
.svg-inline--fa.fa-pull-left {
margin-right: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-pull-right {
margin-left: var(--fa-pull-margin, 0.3em);
width: auto; }
.svg-inline--fa.fa-li {
width: var(--fa-li-width, 2em);
top: 0.25em; }
.svg-inline--fa.fa-fw {
width: var(--fa-fw-width, 1.25em); }
.fa-layers svg.svg-inline--fa {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0; }
.fa-layers-text, .fa-layers-counter {
display: inline-block;
position: absolute;
text-align: center; }
.fa-layers {
display: inline-block;
height: 1em;
position: relative;
text-align: center;
vertical-align: -.125em;
width: 1em; }
.fa-layers svg.svg-inline--fa {
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-text {
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-transform-origin: center center;
transform-origin: center center; }
.fa-layers-counter {
background-color: var(--fa-counter-background-color, #ff253a);
border-radius: var(--fa-counter-border-radius, 1em);
box-sizing: border-box;
color: var(--fa-inverse, #fff);
line-height: var(--fa-counter-line-height, 1);
max-width: var(--fa-counter-max-width, 5em);
min-width: var(--fa-counter-min-width, 1.5em);
overflow: hidden;
padding: var(--fa-counter-padding, 0.25em 0.5em);
right: var(--fa-right, 0);
text-overflow: ellipsis;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-counter-scale, 0.25));
transform: scale(var(--fa-counter-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-bottom-right {
bottom: var(--fa-bottom, 0);
right: var(--fa-right, 0);
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom right;
transform-origin: bottom right; }
.fa-layers-bottom-left {
bottom: var(--fa-bottom, 0);
left: var(--fa-left, 0);
right: auto;
top: auto;
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: bottom left;
transform-origin: bottom left; }
.fa-layers-top-right {
top: var(--fa-top, 0);
right: var(--fa-right, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top right;
transform-origin: top right; }
.fa-layers-top-left {
left: var(--fa-left, 0);
right: auto;
top: var(--fa-top, 0);
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
transform: scale(var(--fa-layers-scale, 0.25));
-webkit-transform-origin: top left;
transform-origin: top left; }
.fa-1x {
font-size: 1em; }
.fa-2x {
font-size: 2em; }
.fa-3x {
font-size: 3em; }
.fa-4x {
font-size: 4em; }
.fa-5x {
font-size: 5em; }
.fa-6x {
font-size: 6em; }
.fa-7x {
font-size: 7em; }
.fa-8x {
font-size: 8em; }
.fa-9x {
font-size: 9em; }
.fa-10x {
font-size: 10em; }
.fa-2xs {
font-size: 0.625em;
line-height: 0.1em;
vertical-align: 0.225em; }
.fa-xs {
font-size: 0.75em;
line-height: 0.08333em;
vertical-align: 0.125em; }
.fa-sm {
font-size: 0.875em;
line-height: 0.07143em;
vertical-align: 0.05357em; }
.fa-lg {
font-size: 1.25em;
line-height: 0.05em;
vertical-align: -0.075em; }
.fa-xl {
font-size: 1.5em;
line-height: 0.04167em;
vertical-align: -0.125em; }
.fa-2xl {
font-size: 2em;
line-height: 0.03125em;
vertical-align: -0.1875em; }
.fa-fw {
text-align: center;
width: 1.25em; }
.fa-ul {
list-style-type: none;
margin-left: var(--fa-li-margin, 2.5em);
padding-left: 0; }
.fa-ul > li {
position: relative; }
.fa-li {
left: calc(var(--fa-li-width, 2em) * -1);
position: absolute;
text-align: center;
width: var(--fa-li-width, 2em);
line-height: inherit; }
.fa-border {
border-color: var(--fa-border-color, #eee);
border-radius: var(--fa-border-radius, 0.1em);
border-style: var(--fa-border-style, solid);
border-width: var(--fa-border-width, 0.08em);
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); }
.fa-pull-left {
float: left;
margin-right: var(--fa-pull-margin, 0.3em); }
.fa-pull-right {
float: right;
margin-left: var(--fa-pull-margin, 0.3em); }
.fa-beat {
-webkit-animation-name: fa-beat;
animation-name: fa-beat;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-bounce {
-webkit-animation-name: fa-bounce;
animation-name: fa-bounce;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
.fa-fade {
-webkit-animation-name: fa-fade;
animation-name: fa-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-beat-fade {
-webkit-animation-name: fa-beat-fade;
animation-name: fa-beat-fade;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
.fa-flip {
-webkit-animation-name: fa-flip;
animation-name: fa-flip;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
.fa-shake {
-webkit-animation-name: fa-shake;
animation-name: fa-shake;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-delay: var(--fa-animation-delay, 0s);
animation-delay: var(--fa-animation-delay, 0s);
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 2s);
animation-duration: var(--fa-animation-duration, 2s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
animation-timing-function: var(--fa-animation-timing, linear); }
.fa-spin-reverse {
--fa-animation-direction: reverse; }
.fa-pulse,
.fa-spin-pulse {
-webkit-animation-name: fa-spin;
animation-name: fa-spin;
-webkit-animation-direction: var(--fa-animation-direction, normal);
animation-direction: var(--fa-animation-direction, normal);
-webkit-animation-duration: var(--fa-animation-duration, 1s);
animation-duration: var(--fa-animation-duration, 1s);
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
-webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
animation-timing-function: var(--fa-animation-timing, steps(8)); }
@media (prefers-reduced-motion: reduce) {
.fa-beat,
.fa-bounce,
.fa-fade,
.fa-beat-fade,
.fa-flip,
.fa-pulse,
.fa-shake,
.fa-spin,
.fa-spin-pulse {
-webkit-animation-delay: -1ms;
animation-delay: -1ms;
-webkit-animation-duration: 1ms;
animation-duration: 1ms;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
transition-delay: 0s;
transition-duration: 0s; } }
@-webkit-keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1); }
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25)); } }
@keyframes fa-beat {
0%, 90% {
-webkit-transform: scale(1);
transform: scale(1); }
45% {
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
transform: scale(var(--fa-beat-scale, 1.25)); } }
@-webkit-keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); } }
@keyframes fa-bounce {
0% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
10% {
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
30% {
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
50% {
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
57% {
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
64% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); }
100% {
-webkit-transform: scale(1, 1) translateY(0);
transform: scale(1, 1) translateY(0); } }
@-webkit-keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4); } }
@keyframes fa-fade {
50% {
opacity: var(--fa-fade-opacity, 0.4); } }
@-webkit-keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1); }
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
@keyframes fa-beat-fade {
0%, 100% {
opacity: var(--fa-beat-fade-opacity, 0.4);
-webkit-transform: scale(1);
transform: scale(1); }
50% {
opacity: 1;
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
@-webkit-keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
@keyframes fa-flip {
50% {
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
@-webkit-keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg); }
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg); }
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg); }
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg); }
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg); }
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg); }
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg); }
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg); }
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); } }
@keyframes fa-shake {
0% {
-webkit-transform: rotate(-15deg);
transform: rotate(-15deg); }
4% {
-webkit-transform: rotate(15deg);
transform: rotate(15deg); }
8%, 24% {
-webkit-transform: rotate(-18deg);
transform: rotate(-18deg); }
12%, 28% {
-webkit-transform: rotate(18deg);
transform: rotate(18deg); }
16% {
-webkit-transform: rotate(-22deg);
transform: rotate(-22deg); }
20% {
-webkit-transform: rotate(22deg);
transform: rotate(22deg); }
32% {
-webkit-transform: rotate(-12deg);
transform: rotate(-12deg); }
36% {
-webkit-transform: rotate(12deg);
transform: rotate(12deg); }
40%, 100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); } }
@-webkit-keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
@keyframes fa-spin {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg); }
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg); } }
.fa-rotate-90 {
-webkit-transform: rotate(90deg);
transform: rotate(90deg); }
.fa-rotate-180 {
-webkit-transform: rotate(180deg);
transform: rotate(180deg); }
.fa-rotate-270 {
-webkit-transform: rotate(270deg);
transform: rotate(270deg); }
.fa-flip-horizontal {
-webkit-transform: scale(-1, 1);
transform: scale(-1, 1); }
.fa-flip-vertical {
-webkit-transform: scale(1, -1);
transform: scale(1, -1); }
.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
-webkit-transform: scale(-1, -1);
transform: scale(-1, -1); }
.fa-rotate-by {
-webkit-transform: rotate(var(--fa-rotate-angle, none));
transform: rotate(var(--fa-rotate-angle, none)); }
.fa-stack {
display: inline-block;
vertical-align: middle;
height: 2em;
position: relative;
width: 2.5em; }
.fa-stack-1x,
.fa-stack-2x {
bottom: 0;
left: 0;
margin: auto;
position: absolute;
right: 0;
top: 0;
z-index: var(--fa-stack-z-index, auto); }
.svg-inline--fa.fa-stack-1x {
height: 1em;
width: 1.25em; }
.svg-inline--fa.fa-stack-2x {
height: 2em;
width: 2.5em; }
.fa-inverse {
color: var(--fa-inverse, #fff); }
.sr-only,
.fa-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0; }
.svg-inline--fa .fa-primary {
fill: var(--fa-primary-color, currentColor);
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa .fa-secondary {
fill: var(--fa-secondary-color, currentColor);
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-primary {
opacity: var(--fa-secondary-opacity, 0.4); }
.svg-inline--fa.fa-swap-opacity .fa-secondary {
opacity: var(--fa-primary-opacity, 1); }
.svg-inline--fa mask .fa-primary,
.svg-inline--fa mask .fa-secondary {
fill: black; }
.fad.fa-inverse,
.fa-duotone.fa-inverse {
color: var(--fa-inverse, #fff); }

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,26 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; }
@font-face {
font-family: 'FontAwesome';
font-display: block;
src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype");
unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; }

View file

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,22 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face {
font-family: 'Font Awesome 5 Brands';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-display: block;
font-weight: 900;
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-display: block;
font-weight: 400;
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

View file

@ -0,0 +1,6 @@
/*!
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}

View file

@ -1,63 +1,56 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>b1gMail - {lng p="acp"}</title>
<!-- meta -->
<meta http-equiv="content-type" content="text/html; charset={$charset}" />
<!-- links -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="{$tpldir}style/common.css?{fileDateSig file="style/common.css"}" rel="stylesheet" type="text/css" />
<!-- client scripts -->
<script src="../clientlang.php?sid={$sid}" type="text/javascript"></script>
<script src="{$tpldir}js/common.js?{fileDateSig file="js/common.js"}" type="text/javascript"></script>
</head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>b1gMail - {lng p="acp"}</title>
<body onload="EBID('username').focus();" id="loginBody">
<form action="index.php?action=login" method="post" autocomplete="off">
{if isset($jump)}<input type="hidden" id="jump" name="jump" value="{text value=$jump allowEmpty=true}" />{/if}
<input type="hidden" name="timezone" id="timezone" value="{$timezone}" />
<div id="loginBox1">
<div id="loginBox2">
<div id="loginBox3">
{if isset($error)}<div class="loginError">{$error}</div>{/if}
<div id="loginLogo">
<img src="templates/images/logo_letter.png" style="width:90px;height:53px;" border="0" alt="" />
<meta name="theme-color" content=""/>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="mobile-web-app-capable" content="yes"/>
<meta name="HandheldFriendly" content="True"/>
<meta name="MobileOptimized" content="320"/>
<link rel="icon" type="image/png" href="{$tpldir}images/favicon-256x256.png" />
<meta name="description" content="{lng p="acp"}"/>
<link rel="stylesheet" href="{$tpldir}css/tabler.min.css?{fileDateSig file="css/tabler.min.css"}" />
<script src="{$tpldir}js/tabler.min.js?{fileDateSig file="js/tabler.min.js"}"></script>
<script src="{$tpldir}js/common.js?{fileDateSig file="js/common.js"}"></script>
</head>
<body onload="EBID('username').focus();" class="d-flex flex-column" id="loginBody" style="background-color: #333333;">
<div class="page page-center">
<div class="container container-tight py-4">
<div class="text-center mb-4">
<img src="{$tpldir}images/logo_text.png" height="36" alt="{lng p="acp"}">
</div>
<div class="card card-md">
<div class="card-body">
<h2 class="h2 text-center mb-4">{lng p="acp"}</h2>
<form action="index.php?action=login" method="post" autocomplete="off">
<div class="mb-3">
<label class="form-label">{lng p="username"}</label>
<input type="text" id="username" name="username" class="form-control" placeholder="{lng p="username"}" autocomplete="off">
</div>
<div id="loginForm">
{lng p="username"}:<br />
<input id="username" type="text" name="username" value="" style="width:200px;" />
<br /><br />
{lng p="password"}:<br />
<input id="pw" type="password" name="password" value="" style="width:200px;" />
<br /><br />
<div style="float:right;">
<input class="button" type="submit" value=" {lng p="login"} &raquo; " />
</div>
<div class="mb-2">
<label class="form-label">{lng p="password"}</label>
<input type="password" id="pw" name="password" class="form-control" placeholder="{lng p="password"}" autocomplete="off">
</div>
<br class="clear" />
</div>
<div class="form-footer">
<button type="submit" class="btn btn-primary w-100">{lng p="login"}</button>
</div>
</form>
</div>
</div>
</form>
<script>
</div>
</div>
<script>
<!--
EBID('timezone').value = (new Date()).getTimezoneOffset() * (-60);
EBID('timezone').value = (new Date()).getTimezoneOffset() * (-60);
//-->
</script>
</script>
</body>
</html>
</html>

View file

@ -2,25 +2,23 @@
<legend>{lng p="archiving"}</legend>
<form action="logs.php?action=archiving&do=archive&sid={$sid}" method="post" onsubmit="if(EBID('saveCopy').checked || confirm('{lng p="reallynotarc"}')) spin(this); else return(false);">
<p>
{lng p="logarc_desc"}
</p>
<table>
<tr>
<td width="40" valign="top"><img src="{$tpldir}images/archiving.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="80">{lng p="date"}:</td>
<td class="td2">
{html_select_date prefix="date" start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="date" display_seconds=false}
</td>
</tr>
</table>
<p align="right">
<input type="checkbox" name="saveCopy" id="saveCopy" checked="checked" />
<label for="saveCopy"><b>{lng p="savearc"}</label>
<input class="button" type="submit" value=" {lng p="execute"} " />
</p>
<p>{lng p="logarc_desc"}</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="date"}</label>
<div class="col-sm-10">
{html_select_date prefix="date" start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="date" display_seconds=false}
</div>
</div>
<div style="float: right;"><input class="btn btn-sm" type="submit" onclick="rebuildCaches()" value="{lng p="execute"}" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" name="perpage" id="perpage" value="50" size="5" />&nbsp; </div>
<div style="float: right;">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="saveCopy" id="saveCopy" checked="checked">
<span class="form-check-label">{lng p="savearc"}&nbsp; </span>
</label>&nbsp;
</div>
</form>
</fieldset>

View file

@ -1,77 +1,102 @@
<fieldset>
<legend>{lng p="logs"} ({date nice=true timestamp=$start} - {date nice=true timestamp=$end})</legend>
<table class="list">
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="20">&nbsp;</th>
<th style="width: 20px;">&nbsp;</th>
<th>{lng p="entry"}</th>
<th width="150">{lng p="date"}</th>
<th style="width: 150px;">{lng p="date"}</th>
</tr>
</thead>
<tbody>
{foreach from=$entries item=entry}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><img src="{$tpldir}images/{$entry.prioImg}.png" border="0" alt="" width="16" height="16" /></td>
<td>
{if $entry.prioImg == 'debug'}
<i class="fa-solid fa-bug text-danger"></i>
{elseif $entry.prioImg == 'info'}
<i class="fa-solid fa-circle-info text-info"></i>
{elseif $entry.prioImg == 'warning'}
<i class="fa-solid fa-triangle-exclamation text-warning"></i>
{elseif $entry.prioImg == 'error'}
<i class="fa-regular fa-circle-xmark text-red"></i>
{else}
<i class="fa-solid fa-puzzle-piece text-cyan"></i>
{/if}
</td>
<td><code>{text value=$entry.eintrag}</code></td>
<td>{date nice=true timestamp=$entry.zeitstempel}</td>
</tr>
{/foreach}
</tbody>
</table>
<p align="right">
<input class="button" type="button" value=" {lng p="export"} " onclick="parent.frames['top'].location.href='logs.php?sid={$sid}&do=export&start={$start}&end={$end}&q={$ueQ}{$prioQ}';" />
</p>
</div>
<div class="card-footer text-end"><input class="btn btn-sm" type="button" value="{lng p="export"}" onclick="parent.frames['top'].location.href='logs.php?sid={$sid}&do=export&start={$start}&end={$end}&q={$ueQ}{$prioQ}';" /></div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="filter"}</legend>
<form action="logs.php?sid={$sid}" method="post" onsubmit="spin(this)">
<table>
<tr>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/filter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="80">{lng p="from"}:</td>
<td class="td2">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."},
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="start" time=$start display_seconds=false}
</td>
</tr>
<tr>
<td class="td1">{lng p="to"}:</td>
<td class="td2">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."},
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="to"}</label>
<div class="col-sm-10">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="end" time=$end display_seconds=false}
</td>
</tr>
<tr>
<td class="td1">{lng p="priority"}:</td>
<td class="td2">
<input type="checkbox"{if $prio[8]} checked="checked"{/if} name="prio[8]" id="prio8" />
<label for="prio8"><img src="{$tpldir}images/debug.png" border="0" alt="" width="16" height="16" /></label> &nbsp;
<input type="checkbox"{if $prio[2]} checked="checked"{/if} name="prio[2]" id="prio2" />
<label for="prio2"><img src="{$tpldir}images/info.png" border="0" alt="" width="16" height="16" /></label> &nbsp;
<input type="checkbox"{if $prio[1]} checked="checked"{/if} name="prio[1]" id="prio1" />
<label for="prio1"><img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" /></label> &nbsp;
<input type="checkbox"{if $prio[4]} checked="checked"{/if} name="prio[4]" id="prio4" />
<label for="prio4"><img src="{$tpldir}images/error.png" border="0" alt="" width="16" height="16" /></label> &nbsp;
<input type="checkbox"{if $prio[16]} checked="checked"{/if} name="prio[16]" id="prio16" />
<label for="prio16"><img src="{$tpldir}images/plugin.png" border="0" alt="" width="16" height="16" /></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="search"}:</td>
<td class="td2">
<input type="text" name="q" value="{if isset($q)}{text value=$q allowEmpty=true}{/if}" size="36" style="width:85%;" />
</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="apply"} " />
</p>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="search"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="q" value="{if isset($q)}{text value=$q allowEmpty=true}{/if}" placeholder="{lng p="search"}">
</div>
</div>
</div>
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox"{if $prio[8]} checked="checked"{/if} name="prio[8]" id="prio8">
<span class="form-check-label"><i class="fa-solid fa-bug text-danger"></i></span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox"{if $prio[2]} checked="checked"{/if} name="prio[2]" id="prio2">
<span class="form-check-label"><i class="fa-solid fa-circle-info text-info"></i></span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox"{if $prio[1]} checked="checked"{/if} name="prio[1]" id="prio1">
<span class="form-check-label"><i class="fa-solid fa-triangle-exclamation text-warning"></i></span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox"{if $prio[4]} checked="checked"{/if} name="prio[4]" id="prio4">
<span class="form-check-label"><i class="fa-regular fa-circle-xmark text-red"></i></span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox"{if $prio[16]} checked="checked"{/if} name="prio[16]" id="prio16">
<span class="form-check-label"><i class="fa-solid fa-puzzle-piece text-cyan"></i></span>
</label>
</div>
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="apply"}" />
</div>
</form>
</fieldset>

View file

@ -2,24 +2,25 @@
<legend>{$msgTitle}</legend>
{if !empty($msgIcon)}
<table>
<tr>
<td width="36" valign="top"><img src="{$tpldir}images/{$msgIcon}.png" border="0" alt="" width="32" height="32" /></td>
<td valign="top">{$msgText}</td>
</tr>
</table>
{if $msgIcon == 'add32'}
<div class="alert alert-success"><i class="fa-regular fa-circle-check"></i> {$msgText}</div>
{elseif $msgIcon == 'error32'}
<div class="alert alert-danger"><i class="fa-solid fa-triangle-exclamation"></i> {$msgText}</div>
{else}
<div class="alert alert-info"><i class="fa-solid fa-circle-info"></i> {$msgText}</div>
{/if}
{else}
{$msgText}
<div class="alert">{$msgText}</div>
{/if}
{if !empty($backLink)}
<p align="right">
<input class="button" type="button" onclick="document.location.href='{$backLink}sid={$sid}';" value=" {lng p="back"} " />
</p>
<div class="text-end">
<input class="btn btn-primary" type="button" onclick="document.location.href='{$backLink}sid={$sid}';" value="{lng p="back"}" />
</div>
{else}
<p align="right">
<input class="button" type="button" onclick="history.back(1);" value=" {lng p="back"} " />
</p>
<div class="text-end">
<input class="btn btn-primary" type="button" onclick="history.back(1);" value="{lng p="back"}" />
</div>
{/if}
</fieldset>

View file

@ -1,15 +1,7 @@
<fieldset>
<legend>{lng p="newsletter"}</legend>
<center>
<br />
<img src="{$tpldir}images/load_32.gif" border="0" alt="" /><br /><br />
{lng p="sendingletter"}<br />
<span id="status">0 / {$recpCount}</span>
<br /><br />
</center>
<div class="alert alert-info">{lng p="sendingletter"}: <span id="status">0 / {$recpCount}</span></div>
</fieldset>
<script type="text/javascript">

View file

@ -1,59 +1,67 @@
<fieldset>
<legend>{lng p="edittemplate"}</legend>
<form name="f1" action="newsletter.php?action=templates&do=edit&templateID={$tpl.templateid}&save=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/newsletter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="title"}:</td>
<td class="td2"><input type="text" id="subject" name="title" value="{if isset($tpl.title)}{text value=$tpl.title allowEmpty=true}{/if}" size="42" /></td>
</tr>
<tr>
<td class="td1" >{lng p="mode"}:</td>
<td class="td2">
<input type="radio" name="mode" value="html" id="mode_html"{if $tpl.mode=='html'} checked="checked"{/if} onclick="if(this.checked) return editor.switchMode('html');" />
<label for="mode_html"><b>{lng p="htmltext"}</b></label>
<input type="radio" name="mode" value="text" id="mode_text"{if $tpl.mode=='text'} checked="checked"{/if} onclick="if(this.checked) return editor.switchMode('text');" />
<label for="mode_text"><b>{lng p="plaintext"}</b></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="from"}:</td>
<td class="td2"><input type="text" id="from" name="from" value="{if isset($tpl.from)}{text value=$tpl.from allowEmpty=true}{/if}" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="subject"}:</td>
<td class="td2"><input type="text" id="subject" name="subject" value="{if isset($tpl.subject)}{text value=$tpl.subject allowEmpty=true}{/if}" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="priority"}:</td>
<td class="td2"><select name="priority" id="priority">
<option value="1"{if $tpl.priority==1} selected="selected"{/if}>{lng p="prio_1"}</option>
<option value="0"{if $tpl.priority==0} selected="selected"{/if}>{lng p="prio_0"}</option>
<option value="-1"{if $tpl.priority==-1} selected="selected"{/if}>{lng p="prio_-1"}</option>
</select></td>
</tr>
<tr>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="title"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subject" name="title" value="{if isset($tpl.title)}{text value=$tpl.title allowEmpty=true}{/if}" placeholder="{lng p="title"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="mode"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="html" id="mode_html"{if $tpl.mode=='html'} checked="checked"{/if} checked="checked" onclick="if(this.checked) return editor.switchMode('html');">
<span class="form-check-label">{lng p="htmltext"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="text" id="mode_text"{if $tpl.mode=='text'} checked="checked"{/if} onclick="if(this.checked) return editor.switchMode('text');">
<span class="form-check-label">{lng p="plaintext"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="from" name="from" value="{if isset($tpl.from)}{text value=$tpl.from allowEmpty=true}{/if}" placeholder="{lng p="from"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="subject"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subject" name="subject" value="{if isset($tpl.subject)}{text value=$tpl.subject allowEmpty=true}{/if}" placeholder="{lng p="subject"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<div class="col-sm-10">
<select name="priority" id="priority" class="form-select">
<option value="1"{if $tpl.priority==1} selected="selected"{/if}>{lng p="prio_1"}</option>
<option value="0"{if $tpl.priority==0} selected="selected"{/if}>{lng p="prio_0"}</option>
<option value="-1"{if $tpl.priority==-1} selected="selected"{/if}>{lng p="prio_-1"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="emailText" id="emailText" class="plainTextArea" style="width:100%;height:400px;">{text allowEmpty=true value=$tpl.body}</textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
<!--
var editor = new htmlEditor('emailText');
editor.height = 400;
editor.disableIntro = true;
editor.init();
registerLoadAction('editor.start()');
registerLoadAction('editor.switchMode("{if $tpl.mode=='text'}text{else}html{/if}", true);');
//-->
//-->
</script>
</td>
</tr>
<tr>
<td colspan="2">
<select class="smallInput" onchange="editor.insertText(this.value);">
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<select class="form-select" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option>
<option value="%%email%%">%%email%% ({lng p="email"})</option>
<option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option>
@ -61,14 +69,11 @@
<option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option>
<option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option>
</select>
</td>
</tr>
</table>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</p>
</form>
</fieldset>
</fieldset>

View file

@ -1,104 +1,117 @@
<fieldset>
<legend>{lng p="templates"}</legend>
<form name="f1" action="newsletter.php?action=templates&sid={$sid}" method="post">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'tpl_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="title"}</th>
<th>{lng p="subject"}</th>
<th width="70">&nbsp;</th>
</tr>
{foreach from=$templates item=tpl}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/template.png" border="0" width="16" height="16" alt="" /></td>
<td align="center"><input type="checkbox" name="tpl_{$tpl.templateid}" /></td>
<td>{text value=$tpl.title cut=35}</td>
<td>{text value=$tpl.subject cut=35}</td>
<td>
<a href="newsletter.php?action=templates&do=edit&templateID={$tpl.templateid}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="newsletter.php?action=templates&delete={$tpl.templateid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="5">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'tpl_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="title"}</th>
<th>{lng p="subject"}</th>
<th style="width: 70px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$templates item=tpl}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><input type="checkbox" name="tpl_{$tpl.templateid}" /></td>
<td>{text value=$tpl.title cut=35}</td>
<td>{text value=$tpl.subject cut=35}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="newsletter.php?action=templates&do=edit&templateID={$tpl.templateid}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="newsletter.php?action=templates&delete={$tpl.templateid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addtemplate"}</legend>
<form name="f1" action="newsletter.php?action=templates&add=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/newsletter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="title"}:</td>
<td class="td2"><input type="text" id="subject" name="title" value="" size="42" /></td>
</tr>
<tr>
<td class="td1" >{lng p="mode"}:</td>
<td class="td2">
<input type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');" />
<label for="mode_html"><b>{lng p="htmltext"}</b></label>
<input type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');" />
<label for="mode_text"><b>{lng p="plaintext"}</b></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="from"}:</td>
<td class="td2"><input type="text" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="subject"}:</td>
<td class="td2"><input type="text" id="subject" name="subject" value="" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="priority"}:</td>
<td class="td2"><select name="priority" id="priority">
<option value="1">{lng p="prio_1"}</option>
<option value="0" selected="selected">{lng p="prio_0"}</option>
<option value="-1">{lng p="prio_-1"}</option>
</select></td>
</tr>
<tr>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="title"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subject" name="title" value="" placeholder="{lng p="title"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="mode"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');">
<span class="form-check-label">{lng p="htmltext"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');">
<span class="form-check-label">{lng p="plaintext"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" placeholder="{lng p="from"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="subject"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subject" name="subject" value="" placeholder="{lng p="subject"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<div class="col-sm-10">
<select name="priority" id="priority" class="form-select">
<option value="1">{lng p="prio_1"}</option>
<option value="0" selected="selected">{lng p="prio_0"}</option>
<option value="-1">{lng p="prio_-1"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="emailText" id="emailText" class="plainTextArea" style="width:100%;height:400px;"></textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
<!--
var editor = new htmlEditor('emailText');
editor.height = 400;
editor.init();
registerLoadAction('editor.start()');
//-->
//-->
</script>
</td>
</tr>
<tr>
<td colspan="2">
<select class="smallInput" onchange="editor.insertText(this.value);">
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<select class="form-select" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option>
<option value="%%email%%">%%email%% ({lng p="email"})</option>
<option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option>
@ -106,14 +119,11 @@
<option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option>
<option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option>
</select>
</td>
</tr>
</table>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="add"} " />
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</p>
</form>
</fieldset>

View file

@ -1,112 +1,140 @@
<form action="newsletter.php?do=send&sid={$sid}" method="post" id="newsletterForm" onsubmit="{literal}if(newsletterMode=='export') { this.target='_blank'; } else { if(EBID('subject').value.length<3 && !confirm(window.lang['sendwosubject'])) return(false); this.target='';editor.submit();spin(this); }{/literal}">
<fieldset>
<legend>{lng p="recipients"}</legend>
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/filter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="status"}:</td>
<td class="td2">
<input type="checkbox" name="statusActive" id="statusActive" checked="checked" onclick="determineNewsletterRecipients()" />
<label for="statusActive"><b>{lng p="active"}</b></label><br />
<input type="checkbox" name="statusLocked" id="statusLocked" checked="checked" onclick="determineNewsletterRecipients()" />
<label for="statusLocked"><b>{lng p="locked"}</b></label><br />
<input type="checkbox" name="statusNotActivated" id="statusNotActivated" checked="checked" onclick="determineNewsletterRecipients()" />
<label for="statusNotActivated"><b>{lng p="notactivated"}</b></label><br />
</td>
<td class="td1" width="120">{lng p="groups"}:</td>
<td class="td2">
{foreach from=$groups item=group key=groupID}
<input type="checkbox" name="group_{$groupID}" id="group_{$groupID}"{if !$smarty.get.toGroup||$smarty.get.toGroup==$groupID} checked="checked"{/if} onclick="determineNewsletterRecipients()" />
<label for="group_{$groupID}"><b>{text value=$group.title}</b></label><br />
{/foreach}
</td>
</tr>
<tr>
</tr>
<tr>
<td class="td1">{lng p="countries"}:</td>
<td class="td2">
<div id="countrySelectBox" style="background-color:#FFF;border:1px solid #CCC;overflow-y:scroll;min-height:3em;max-height:80px;">
{foreach from=$countries item=country key=countryID}
<div style="padding:1px;">
<input type="checkbox" name="countries[]" value="{$countryID}" id="country_{$countryID}" checked="checked" onchange="determineNewsletterRecipients()" />
<label for="country_{$countryID}">{$country}</label>
</div>
{/foreach}
</div>
</td>
<td class="td1">{lng p="sendto"}:</td>
<td class="td2">
<input type="radio" name="sendto" value="mailboxes" id="sendto_mailboxes" checked="checked" onclick="determineNewsletterRecipients()" />
<label for="sendto_mailboxes"><b>{lng p="mailboxes"}</b></label><br />
<input type="radio" name="sendto" value="altmails" id="sendto_altmails" onclick="determineNewsletterRecipients()" />
<label for="sendto_altmails"><b>{lng p="altmails"}</b></label>
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="recipients"}</legend>
<fieldset>
<legend>{lng p="email"}</legend>
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/newsletter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="template"}:</td>
<td class="td2">
<select name="template" id="template" onchange="loadNewsletterTemplate(this)">
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="status"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="statusActive" id="statusActive" checked="checked" onclick="determineNewsletterRecipients()">
<span class="form-check-label">{lng p="active"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="statusLocked" id="statusLocked" checked="checked" onclick="determineNewsletterRecipients()">
<span class="form-check-label">{lng p="locked"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="statusNotActivated" id="statusNotActivated" checked="checked" onclick="determineNewsletterRecipients()">
<span class="form-check-label">{lng p="notactivated"}</span>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="groups"}</label>
<div class="col-sm-8">
{foreach from=$groups item=group key=groupID}
<label class="form-check">
<input class="form-check-input" type="checkbox" name="group_{$groupID}" id="group_{$groupID}"{if !$smarty.get.toGroup||$smarty.get.toGroup==$groupID} checked="checked"{/if} onclick="determineNewsletterRecipients()">
<span class="form-check-label">{text value=$group.title}</span>
</label>
{/foreach}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="countries"}</label>
<div class="col-sm-8" style="background-color:#FFF;border:1px solid #CCC;overflow-y:scroll;min-height:3em;max-height:80px;">
{foreach from=$countries item=country key=countryID}
<label class="form-check">
<input class="form-check-input" type="checkbox" name="countries[]" value="{$countryID}" id="country_{$countryID}" checked="checked" onchange="determineNewsletterRecipients()">
<span class="form-check-label">{$country}</span>
</label>
{/foreach}
</div>
</div>
</div>
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="sendto"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="radio" name="sendto" value="mailboxes" id="sendto_mailboxes" checked="checked" onclick="determineNewsletterRecipients()">
<span class="form-check-label">{lng p="mailboxes"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" name="sendto" value="altmails" id="sendto_altmails" onclick="determineNewsletterRecipients()">
<span class="form-check-label">{lng p="altmails"}</span>
</label>
</div>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="email"}</legend>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="template"}</label>
<div class="col-sm-10">
<select name="template" id="template" onchange="loadNewsletterTemplate(this)" class="form-select">
<option value="0" selected="selected">-</option>
{foreach from=$templates item=tplTitle key=tplID}
<option value="{$tplID}">{text value=$tplTitle}</option>
<option value="{$tplID}">{text value=$tplTitle}</option>
{/foreach}
</select>
</td>
</tr>
<tr>
<td class="td1">{lng p="mode"}:</td>
<td class="td2">
<input type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');" />
<label for="mode_html"><b>{lng p="htmltext"}</b></label>
<input type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');" />
<label for="mode_text"><b>{lng p="plaintext"}</b></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="from"}:</td>
<td class="td2"><input type="text" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="subject"}:</td>
<td class="td2"><input type="text" id="subject" name="subject" value="" size="42" /></td>
</tr>
<tr>
<td class="td1">{lng p="priority"}:</td>
<td class="td2"><select name="priority" id="priority">
<option value="1">{lng p="prio_1"}</option>
<option value="0" selected="selected">{lng p="prio_0"}</option>
<option value="-1">{lng p="prio_-1"}</option>
</select></td>
</tr>
<tr>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="emailText" id="emailText" class="plainTextArea" style="width:100%;height:400px;"></textarea>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="mode"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');">
<span class="form-check-label">{lng p="htmltext"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');">
<span class="form-check-label">{lng p="plaintext"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" placeholder="{lng p="from"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="subject"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="subject" name="subject" value="" placeholder="{lng p="subject"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<div class="col-sm-10">
<select name="priority" id="priority" class="form-select">
<option value="1">{lng p="prio_1"}</option>
<option value="0" selected="selected">{lng p="prio_0"}</option>
<option value="-1">{lng p="prio_-1"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="emailText" id="emailText" class="plainTextArea"></textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
<!--
var editor = new htmlEditor('emailText');
editor.height = 400;
editor.init();
registerLoadAction('editor.start()');
//-->
//-->
</script>
</td>
</tr>
<tr>
<td colspan="2">
<select class="smallInput" onchange="editor.insertText(this.value);">
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<select class="form-select" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option>
<option value="%%email%%">%%email%% ({lng p="email"})</option>
<option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option>
@ -114,30 +142,26 @@
<option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option>
<option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option>
</select>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</fieldset>
<p>
<div style="float:left;" class="buttons">
<img src="{$tpldir}images/user_active.png" border="0" alt="" width="16" height="16" align="absmiddle" />
<span id="recpCount">0</span> {lng p="recpdetermined"}
<input class="button" type="submit" value=" {lng p="export"} " id="exportButton" name="exportRecipients" disabled="disabled"
onclick="newsletterMode='export';return true;" />
<div class="row">
<div class="col-md-6">
<div style="float: left;"><span id="recpCount">0</span> {lng p="recpdetermined"}&nbsp; </div>
<div style="float: left;"><input class="btn btn-sm" type="submit" value=" {lng p="export"} " id="exportButton" name="exportRecipients" disabled="disabled" onclick="newsletterMode='export';return true;" /></div>
</div>
<div class="col-md-6">
<div style="float: right;"><input class="btn btn-sm btn-primary" type="submit" value=" {lng p="sendletter"} " id="submitButton" disabled="disabled" onclick="newsletterMode='send';return true;" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" size="5" name="perpage" id="perpage" value="25" size="5" />&nbsp; </div>
<div style="float: right;">{lng p="opsperpage"}&nbsp; </div>
</div>
</div>
<div style="float:right;" class="buttons">
{lng p="opsperpage"}:
<input type="text" name="perpage" id="perpage" value="25" size="5" />
<input class="button" type="submit" value=" {lng p="sendletter"} " id="submitButton" disabled="disabled"
onclick="newsletterMode='send';return true;" />
</div>
</p>
</form>
<script>
<!--
<!--
var newsletterMode = 'export';
registerLoadAction('determineNewsletterRecipients()');
//-->
</script>
//-->
</script>

View file

@ -1,64 +1,66 @@
{if $fileCache}<fieldset>
<legend>{lng p="filecache"}</legend>
<form action="optimize.php?action=cache&do=cleanupFileCache&sid={$sid}" method="post" onsubmit="spin(this)">
<p>{lng p="filecachedesc"}</p>
<table>
<tr>
<td align="left" rowspan="2" valign="top" width="40"><img src="{$tpldir}images/cache.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="count"}:</td>
<td class="td2">{$cacheFileCount}</td>
</tr>
<tr>
<td class="td1">{lng p="size"}:</td>
<td class="td2">{size bytes=$cacheFileSize}</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="emptycache"} " />
</p>
</form>
</fieldset>{/if}
{if $fileCache}
<fieldset>
<legend>{lng p="filecache"}</legend>
<form action="optimize.php?action=cache&do=cleanupFileCache&sid={$sid}" method="post" onsubmit="spin(this)">
<p>{lng p="filecachedesc"}</p>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="count"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$cacheFileCount}</div>
</div>
</div>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="count"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$cacheFileSize}</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-sm btn-warning" type="submit" value=" {lng p="emptycache"} " />
</div>
</form>
</fieldset>
{/if}
<fieldset>
<legend>{lng p="rebuildcaches"}</legend>
<div class="alert alert-warning">{lng p="heavyop"}</div>
<div id="form">
<p>
{lng p="rebuild_desc"}
</p>
<blockquote>
<table>
<tr>
<td width="20" valign="top"><input type="radio" id="rebuild_usersizes" name="rebuild" value="usersizes" checked="checked" /></td>
<td><label for="rebuild_usersizes"><b>{lng p="usersizes_cache"}</b></label><br />
{lng p="usersizes_desc"}<br /><br /></td>
</tr>
<tr>
<td width="20" valign="top"><input type="radio" id="rebuild_disksizes" name="rebuild" value="disksizes" /></td>
<td><label for="rebuild_disksizes"><b>{lng p="disksizes_cache"}</b></label><br />
{lng p="disksizes_desc"}<br /><br /></td>
</tr>
<tr>
<td width="20" valign="top"><input type="radio" id="rebuild_mailsizes" name="rebuild" value="mailsizes" /></td>
<td><label for="rebuild_mailsizes"><b>{lng p="emailsizes_cache"}</b></label><br />
{lng p="emailsizes_desc"}<br /><br /></td>
</tr>
</table>
</blockquote>
<p>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="heavyop"}
</p>
<p align="right">
{lng p="opsperpage"}:
<input type="text" name="perpage" id="perpage" value="50" size="5" />
<input class="button" type="button" onclick="rebuildCaches()" value=" {lng p="execute"} " />
</p>
<p>{lng p="rebuild_desc"}</p>
<div class="mb-3">
<div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="rebuild_usersizes" name="rebuild" value="usersizes" checked="checked">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="usersizes_cache"}<br /><small>{lng p="usersizes_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="rebuild_disksizes" name="rebuild" value="disksizes">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="disksizes_cache"}<br /><small>{lng p="disksizes_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="rebuild_mailsizes" name="rebuild" value="mailsizes">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="emailsizes_cache"}<br /><small>{lng p="emailsizes_desc"}</small></div>
</div>
</label>
</div>
</div>
<div style="float: right;"><input class="btn btn-sm btn-warning" type="submit" onclick="rebuildCaches()" value="{lng p="execute"}" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" name="perpage" id="perpage" value="50" size="5" />&nbsp; </div>
<div style="float: right;">{lng p="opsperpage"}&nbsp; </div>
</div>
</fieldset>

View file

@ -1,130 +1,136 @@
<fieldset>
<legend>{lng p="db"}</legend>
{if isset($execute)}
<table class="list">
<tr>
<th>&nbsp;</th>
<th>{lng p="table"}</th>
<th>{lng p="query"}</th>
<th width="100">{lng p="status"}</th>
</tr>
{foreach from=$result item=table}
{cycle values="td1,td2" name=class assign=class}
<tr class="{$class}">
<td width="20"><img src="{$tpldir}images/db_table.png" border="0" alt="" width="16" height="16" /></td>
<td>{$table.table}</td>
<td><code>{$table.query}</code></td>
<td align="right">{if $table.type!='status' && $table.type!='info' && $table.type!='note'}
<img align="absmiddle" src="{$tpldir}images/error.png" width="16" height="16" alt="" border="0" />
{lng p="error"}
{else}
<img align="absmiddle" src="{$tpldir}images/ok.png" width="16" height="16" alt="" border="0" />
{lng p="success"}
{/if}</td>
</tr>
{/foreach}
</table>
<p align="right">
<input class="button" type="button" value=" {lng p="back"} " onclick="document.location.href='optimize.php?sid={$sid}';" />
</p>
<div class="alert alert-warning">{lng p="dbwarn"}</div>
{if $execute}
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th>{lng p="table"}</th>
<th>{lng p="query"}</th>
<th style="width: 100px;">{lng p="status"}</th>
</tr>
</thead>
<tbody>
{foreach from=$result item=table}
{cycle values="td1,td2" name=class assign=class}
<tr class="{$class}">
<td>{$table.table}</td>
<td><code>{$table.query}</code></td>
<td class="text-nowrap text-end">
{if $table.type!='status' && $table.type!='info' && $table.type!='note'}
<i class="fa-regular fa-circle-xmark text-red"></i>
{lng p="error"}
{else}
<i class="fa-regular fa-circle-check text-green"></i>
{lng p="success"}
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer text-end">
<input class="btn btn-sm btn-primary" type="button" value="{lng p="back"}" onclick="document.location.href='optimize.php?sid={$sid}';" />
</div>
</div>
{elseif $executeStruct}
<form action="optimize.php?do=repairStruct&sid={$sid}" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th>&nbsp;</th>
<th>{lng p="table"}</th>
<th width="120">{lng p="exists"}</th>
<th width="120">{lng p="structstate"}</th>
<th width="120">{lng p="status"}</th>
</tr>
{foreach from=$result item=table}
{cycle values="td1,td2" name=class assign=class}
<tr class="{$class}">
<td width="20"><img src="{$tpldir}images/db_table.png" border="0" alt="" width="16" height="16" /></td>
<td>{$table.table}</td>
<td>{if $table.exists}{lng p="yes"}{else}{lng p="no"}{/if}</td>
<td>{$table.missing} / {$table.invalid}</td>
<td align="right">{if !$table.exists || $table.missing || $table.invalid}
<img align="absmiddle" src="{$tpldir}images/error.png" width="16" height="16" alt="" border="0" />
{lng p="error"}
{else}
<img align="absmiddle" src="{$tpldir}images/ok.png" width="16" height="16" alt="" border="0" />
{lng p="ok"}
{/if}</td>
</tr>
{/foreach}
</table>
<p>
<div style="float:left;">
{if $repair}<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="dbwarn"}{/if}
</div>
<div style="float:right;">
<input class="button" type="button" value=" {lng p="back"} " onclick="document.location.href='optimize.php?sid={$sid}';" />
{if $repair}<input class="button" type="submit" value=" {lng p="repairstruct"} " />{/if}
</div>
</p>
</form>
{else}
<form action="optimize.php?sid={$sid}&do=execute" method="post" onsubmit="spin(this)">
<table>
<tr>
<td>{lng p="tables"}:</td>
<td>{lng p="action"}:</td>
</tr>
<tr>
<td valign="top"><select size="10" name="tables[]" multiple="multiple">
{foreach from=$tables item=table}
<option value="{$table}" selected="selected">{$table}</option>
{/foreach}
</select></td>
<td valign="top">
<table>
<form action="optimize.php?do=repairStruct&sid={$sid}" method="post" onsubmit="spin(this)">
{if $repair}<div class="alert alert-warning">{lng p="dbwarn"}</div>{/if}
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="op_optimize" name="operation" value="optimize" checked="checked" /></td>
<td valign="top"><img src="{$tpldir}images/db_optimize.png" border="0" alt="" width="32" height="32" /></td>
<td><label for="op_optimize"><b>{lng p="op_optimize"}</b></label><br />
{lng p="op_optimize_desc"}</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="op_repair" name="operation" value="repair" /></td>
<td valign="top"><img src="{$tpldir}images/db_repair.png" border="0" alt="" width="32" height="32" /></td>
<td><label for="op_repair"><b>{lng p="op_repair"}</b></label><br />
{lng p="op_repair_desc"}</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="op_struct" name="operation" value="struct" /></td>
<td valign="top"><img src="{$tpldir}images/db_struct.png" border="0" alt="" width="32" height="32" /></td>
<td><label for="op_struct"><b>{lng p="op_struct"}</b></label><br />
{lng p="op_struct_desc"}</td>
<th>{lng p="table"}</th>
<th style="width: 120px;">{lng p="exists"}</th>
<th style="width: 120px;">{lng p="structstate"}</th>
<th style="width: 120px;">{lng p="status"}</th>
</tr>
</thead>
<tbody>
{foreach from=$result item=table}
{cycle values="td1,td2" name=class assign=class}
<tr class="{$class}">
<td>{$table.table}</td>
<td>{if $table.exists}{lng p="yes"}{else}{lng p="no"}{/if}</td>
<td>{$table.missing} / {$table.invalid}</td>
<td class="text-nowrap text-end">
{if !$table.exists || $table.missing || $table.invalid}
<i class="fa-regular fa-circle-xmark text-red"></i>
{lng p="error"}
{else}
<i class="fa-regular fa-circle-check text-green"></i>
{lng p="ok"}
{/if}
</td>
</tr>
{/foreach}
</tbody>
</table>
</td>
</tr>
</table>
<p>
<div style="float:left;">
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="dbwarn"}
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-6">{if $repair}<input class="btn btn-sm btn-warning" type="submit" value="{lng p="repairstruct"}" />{/if}</div>
<div class="col-md-6 text-end"><input class="btn btn-sm btn-primary" type="button" value=" {lng p="back"} " onclick="document.location.href='optimize.php?sid={$sid}';" /></div>
</div>
</div>
</div>
<div style="float:right;">
<input class="button" type="submit" value=" {lng p="execute"} " />
</form>
{else}
<form action="optimize.php?sid={$sid}&do=execute" method="post" onsubmit="spin(this)">
<div class="row">
<div class="col-md-4">
<div class="mb-3">
<label class="col-sm-4 col-form-label">{lng p="tables"}</label>
<select size="10" name="tables[]" multiple="multiple" class="form-select">
{foreach from=$tables item=table}
<option value="{$table}" selected="selected">{$table}</option>
{/foreach}
</select>
</div>
</div>
<div class="col-md-8">
<div class="mb-3">
<label class="col-sm-4 col-form-label">{lng p="action"}</label>
<div class="mb-3">
<div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="op_optimize" name="operation" value="optimize" checked="checked">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="op_optimize"}<br /><small>{lng p="op_optimize_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="op_repair" name="operation" value="repair">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="op_repair"}<br /><small>{lng p="op_repair_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="op_struct" name="operation" value="struct">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="op_struct"}<br /><small>{lng p="op_struct_desc"}</small></div>
</div>
</label>
</div>
</div>
</div>
</div>
</div>
</p>
</form>
<div class="text-end">
<input class="btn btn-primary" type="submit" value=" {lng p="execute"} " />
</div>
</form>
{/if}
</fieldset>

View file

@ -1,78 +1,67 @@
<fieldset>
<legend>{lng p="tempfiles"}</legend>
<form action="optimize.php?action=filesystem&do=cleanupTempFiles&sid={$sid}" method="post" onsubmit="spin(this)">
<p>{lng p="tempdesc"}</p>
<table>
<tr>
<td align="left" rowspan="2" valign="top" width="40"><img src="{$tpldir}images/tempfiles.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="count"}:</td>
<td class="td2">{$tempFileCount}</td>
</tr>
<tr>
<td class="td1">{lng p="size"}:</td>
<td class="td2">{size bytes=$tempFileSize}</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="cleanup"} " />
</p>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="count"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$tempFileCount}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="size"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{size bytes=$tempFileSize}</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-sm btn-warning" type="submit" value="{lng p="cleanup"}" />
</div>
</form>
</fieldset>
{if $haveSQLite3}<fieldset>
<legend>{lng p="rebuildblobstor"}</legend>
<div id="buildForm">
<p>
{lng p="rebuildblobstor_desc"}
</p>
{if $haveSQLite3}
<fieldset>
<legend>{lng p="rebuildblobstor"}</legend>
<blockquote>
<table>
<tr>
<td width="20" valign="top"><input type="radio" id="rebuild_email" name="rebuild" value="email" checked="checked" /></td>
<td><label for="rebuild_email"><b>{lng p="rbbs_email"}</b></label></td>
</tr>
<tr>
<td valign="top"><input type="radio" id="rebuild_webdisk" name="rebuild" value="webdisk" /></td>
<td><label for="rebuild_webdisk"><b>{lng p="rbbs_webdisk"}</b></label></td>
</tr>
</table>
</blockquote>
<div class="alert alert-warning">{lng p="heavyop"}</div>
<p>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="heavyop"}
</p>
<div id="buildForm">
<p>{lng p="rebuildblobstor_desc"}</p>
<p align="right">
{lng p="opsperpage"}:
<input type="text" id="buildPerPage" value="50" size="5" />
<input class="button" type="button" onclick="rebuildBlobStor()" value=" {lng p="execute"} " />
</p>
</div>
</fieldset>
<div class="mb-3 row">
<div class="col-sm-12">
<label class="form-check">
<input class="form-check-input" type="radio" id="rebuild_email" name="rebuild" value="email" checked="checked">
<span class="form-check-label">{lng p="rbbs_email"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" id="rebuild_webdisk" name="rebuild" value="webdisk">
<span class="form-check-label">{lng p="rbbs_webdisk"}</span>
</label>
</div>
</div>
<fieldset>
<legend>{lng p="userdbvacuum"}</legend>
<div id="vacuumForm">
<p>
{lng p="userdbvacuum_desc"}<br /><br />
</p>
<div style="float: right;"><input class="btn btn-sm btn-warning" type="button" onclick="rebuildBlobStor()" value="{lng p="execute"}" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" id="buildPerPage" value="50" size="5" />&nbsp; </div>
<div style="float: right;">{lng p="opsperpage"}&nbsp; </div>
</div>
</fieldset>
<p>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="heavyop"}
</p>
<fieldset>
<legend>{lng p="userdbvacuum"}</legend>
<p align="right">
{lng p="opsperpage"}:
<input type="text" id="vacuumPerPage" value="5" size="5" />
<input class="button" type="button" onclick="vacuumBlobStor()" value=" {lng p="execute"} " />
</p>
</div>
</fieldset>{/if}
<div class="alert alert-warning">{lng p="heavyop"}</div>
<div id="vacuumForm">
<p>{lng p="userdbvacuum_desc"}</p>
<div style="float: right;"><input class="btn btn-sm btn-warning" type="submit" onclick="vacuumBlobStor()" value="{lng p="execute"}" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" id="vacuumPerPage" value="5" size="5" />&nbsp; </div>
<div style="float: right;">{lng p="opsperpage"}&nbsp; </div>
</div>
</fieldset>
{/if}

View file

@ -1,151 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>{if $title}{$title} - {/if}b1gMail {lng p="acp"}</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>b1gMail - {lng p="acp"}</title>
<!-- meta -->
<meta http-equiv="content-type" content="text/html; charset={$charset}" />
<meta name="theme-color" content=""/>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="mobile-web-app-capable" content="yes"/>
<meta name="HandheldFriendly" content="True"/>
<meta name="MobileOptimized" content="320"/>
<link rel="icon" type="image/png" href="{$tpldir}images/favicon-256x256.png" />
<!-- links -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link href="{$tpldir}style/common.css?{fileDateSig file="style/common.css"}" rel="stylesheet" type="text/css" />
<link href="../clientlib/fontawesome/css/font-awesome.min.css?{fileDateSig file="../../clientlib/fontawesome/css/font-awesome.min.css"}" rel="stylesheet" type="text/css" />
<link href="../clientlib/fontawesome/css/font-awesome-animation.min.css?{fileDateSig file="../../clientlib/fontawesome/css/font-awesome-animation.min.css"}" rel="stylesheet" type="text/css" />
{foreach from=$_cssFiles.admin item=_file} <link rel="stylesheet" type="text/css" href="{$_file}" />
{/foreach}
<meta name="description" content="{lng p="acp"}"/>
<link rel="stylesheet" href="{$tpldir}css/tabler.min.css?{fileDateSig file="css/tabler.min.css"}" />
<link rel="stylesheet" href="{$tpldir}libs/fontawesome/css/all.min.css?{fileDateSig file="libs/fontawesome/css/all.min.css"}" />
<link rel="stylesheet" href="{$tpldir}css/common.css?{fileDateSig file="css/common.css"}" />
{foreach from=$_cssFiles.admin item=_file}
<link rel="stylesheet" type="text/css" href="{$_file}" />
{/foreach}
<!-- client scripts -->
<script>
<!--
<!--
var currentSID = '{$sid}';
//-->
//-->
</script>
<script src="../clientlang.php?sid={$sid}" type="text/javascript"></script>
<script src="{$tpldir}js/common.js?{fileDateSig file="js/common.js"}" type="text/javascript"></script>
{foreach from=$_jsFiles.admin item=_file} <script type="text/javascript" src="{$_file}"></script>
{/foreach}
<link href="{$tpldir}style/print.css?{fileDateSig file="style/print.css"}" rel="stylesheet" type="text/css" media="print" />
<script src="{$tpldir}js/tabler.min.js?{fileDateSig file="js/tabler.min.js"}"></script>
<script src="{$tpldir}js/common.js?{fileDateSig file="js/common.js"}"></script>
{foreach from=$_jsFiles.admin item=_file}
<script type="text/javascript" src="{$_file}"></script>
{/foreach}
</head>
<body onload="documentLoader();preloadImages();" topmargin="0">
<div id="navbar">
<div id="navbar-first">
<div id="navbar-logo">
<div id="logo-right">
{if $adminRow.type==0}
<a href="welcome.php?action=phpinfo&sid={$sid}"><img src="{$tpldir}images/phpinfo.png" border="0" alt="" /> {lng p="phpinfo"}</a>
{/if}
<a href="javascript:showHelp();"><img src="{$tpldir}images/help.png" border="0" alt="" /> {lng p="help"}</a>
<a href="admins.php?sid={$sid}"><img src="{$tpldir}images/user_active.png" border="0" alt="" /> {text value=$adminRow.username}</a>
<a href="index.php?sid={$sid}&action=logout" onclick="return confirm('{lng p="logoutquestion"}');"><img src="{$tpldir}images/logout.png" border="0" alt="" /> {lng p="logout"}</a>
</div>
<body >
<div class="page">
<!-- Navbar -->
<header class="navbar navbar-expand-md navbar-light d-print-none bg-dark text-white">
<div class="container-xl">
<button class="navbar-toggler text-white" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-menu" aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<h1 class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
<a href="welcome.php?sid={$sid}">
<img src="./templates/images/logo_letter.png" border="0" alt="" id="logo" /><img src="./templates/images/logo_text{if !$isGerman}_en{/if}.png" border="0" alt="" />
<img src="{$tpldir}images/logo_letter.png" width="110" height="32" alt="b1gMail" class="navbar-brand-image">&nbsp; &nbsp; <img src="{$tpldir}images/logo_text.png" class="navbar-brand-image" alt="b1gMail" />
</a>
</h1>
<div class="navbar-nav flex-row order-md-last">
<div class="nav-item dropdown">
<a href="#" class="nav-link d-flex lh-1 text-reset p-0" data-bs-toggle="dropdown" aria-label="Open user menu">
<span class="avatar avatar-sm bg-muted" style="background-image: url('{$tpldir}images/favicon-192x192.png')"></span>
<div class="d-none d-xl-block ps-2">
<div>{text value=$adminRow.firstname} {text value=$adminRow.lastname}</div>
<div class="mt-1 small text-muted">{text value=$adminRow.username}</div>
</div>
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
<a href="admins.php?sid={$sid}" class="dropdown-item">{lng p="profile"}</a>
<a href="javascript:showHelp();" class="dropdown-item">{lng p="help"}</a>
{if $adminRow.type==0}<a href="welcome.php?action=phpinfo&sid={$sid}" class="dropdown-item">{lng p="phpinfo"}</a>{/if}
<div class="dropdown-divider"></div>
<a href="index.php?sid={$sid}&action=logout" class="dropdown-item" onclick="return confirm('{lng p="logoutquestion"}');">{lng p="logout"}</a>
</div>
</div>
</div>
</div>
<div id="navbar-second">
<div id="navbar-nav">
<ul id="nav">
<li id="welcome-menu"><a href="#welcome-menu"><img src="./templates/images/ico_license.png" />{lng p="welcome"}</a>
<ul>
<li><a href="welcome.php?sid={$sid}"><img src="./templates/images/ico_license.png" />{lng p="welcome"}</a></li>
<li><a href="admins.php?sid={$sid}"><img src="./templates/images/ico_users.png" />{lng p="admins"}</a></li>
</ul>
</li>
{if $adminRow.type==0}
<li id="prefs-menu"><a href="#prefs-menu"><img src="./templates/images/ico_prefs_misc.png" />{lng p="prefs"}</a>
<ul>
<li><a href="prefs.common.php?sid={$sid}"><img src="./templates/images/ico_prefs_common.png" />{lng p="common"}</a></li>
<li><a href="prefs.email.php?sid={$sid}"><img src="./templates/images/ico_prefs_email.png" />{lng p="email"}</a></li>
<li><a href="prefs.recvrules.php?sid={$sid}"><img src="./templates/images/rule32.png" />{lng p="recvrules"}</a></li>
<li><a href="prefs.webdisk.php?sid={$sid}"><img src="./templates/images/ico_disk.png" />{lng p="webdisk"}</a></li>
<li><a href="prefs.sms.php?sid={$sid}"><img src="./templates/images/gateway32.png" />{lng p="sms"}</a></li>
<li><a href="prefs.abuse.php?sid={$sid}"><img src="./templates/images/abuse.png" />{lng p="abuseprotect"}</a></li>
<li><a href="prefs.coupons.php?sid={$sid}"><img src="./templates/images/coupon.png" />{lng p="coupons"}</a></li>
<li><a href="prefs.profilefields.php?sid={$sid}"><img src="./templates/images/field32.png" />{lng p="profilefields"}</a></li>
<li><a href="prefs.languages.php?sid={$sid}"><img src="./templates/images/lang32.png" />{lng p="languages"}</a></li>
<li><a href="prefs.templates.php?sid={$sid}"><img src="./templates/images/template.png" />{lng p="templates"}</a></li>
<li><a href="prefs.ads.php?sid={$sid}"><img src="./templates/images/ad32.png" />{lng p="ads"}</a></li>
<li><a href="prefs.faq.php?sid={$sid}"><img src="./templates/images/faq32.png" />{lng p="faq"}</a></li>
<li><a href="prefs.countries.php?sid={$sid}"><img src="./templates/images/country.png" />{lng p="countries"}</a></li>
<li><a href="prefs.widgetlayouts.php?sid={$sid}"><img src="./templates/images/wlayout_add.png" />{lng p="widgetlayouts"}</a></li>
<li><a href="prefs.payments.php?sid={$sid}"><img src="./templates/images/ico_prefs_payments.png" />{lng p="payments"}</a></li>
{if !empty($toolbox_serverurl)}<li><a href="toolbox.php?sid={$sid}"><img src="./templates/images/toolbox.png" />{lng p="toolbox"}</a></li>{/if}
</ul>
</li>
{/if}
{if $adminRow.type==0||$adminRow.privileges.users||$adminRow.privileges.groups||$adminRow.privileges.workgroups||$adminRow.privileges.activity||$adminRow.privileges.newsletter||$adminRow.privileges.payments}
<li id="users-menu"><a href="#users-menu"><img src="./templates/images/ico_users.png" />{lng p="usersgroups"}</a>
<ul>
{if $adminRow.type==0||$adminRow.privileges.users}<li><a href="users.php?sid={$sid}"><img src="./templates/images/user_action.png" />{lng p="users"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.groups}<li><a href="groups.php?sid={$sid}"><img src="./templates/images/ico_group.png" />{lng p="groups"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.workgroups}<li><a href="workgroups.php?sid={$sid}"><img src="./templates/images/ico_workgroup.png" />{lng p="workgroups"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.activity}<li><a href="activity.php?sid={$sid}"><img src="./templates/images/activity.png" />{lng p="activity"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.abuse}<li><a href="abuse.php?sid={$sid}"><img src="./templates/images/abuse.png" />{lng p="abuseprotect"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.newsletter}<li><a href="newsletter.php?sid={$sid}"><img src="./templates/images/newsletter.png" />{lng p="newsletter"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.payments}<li><a href="payments.php?sid={$sid}"><img src="./templates/images/ico_prefs_payments.png" />{lng p="payments"}</a></li>{/if}
</ul>
</li>
{/if}
{if $adminRow.type==0||$adminRow.privileges.optimize||$adminRow.privileges.maintenance||$adminRow.privileges.stats||$adminRow.privileges.logs}
<li id="tools-menu"><a href="#tools-menu"><img src="./templates/images/toolbox.png" />{lng p="tools"}</a>
<ul>
{if $adminRow.type==0||$adminRow.privileges.optimize}<li><a href="optimize.php?sid={$sid}"><img src="./templates/images/db_optimize.png" />{lng p="optimize"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.maintenance}<li><a href="maintenance.php?sid={$sid}"><img src="./templates/images/orphans32.png" />{lng p="maintenance"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.stats}<li><a href="stats.php?sid={$sid}"><img src="./templates/images/stats.png" />{lng p="stats"}</a></li>{/if}
{if $adminRow.type==0||$adminRow.privileges.logs}<li><a href="logs.php?sid={$sid}"><img src="./templates/images/logs.png" />{lng p="logs"}</a></li>{/if}
</ul>
</li>
{/if}
{if $adminRow.type==0||$adminRow.privileges.plugins}
<li id="plugins-menu"><a href="#plugins-menu"><img src="./templates/images/plugin.png" />{lng p="plugins"}</a>
<ul>
{if $adminRow.type==0}<li><a href="plugins.php?sid={$sid}"><img src="./templates/images/plugin.png" />{lng p="plugins"}</a></li>{/if}
{foreach from=$pluginMenuItems item=pluginInfo key=plugin}
{if $adminRow.type==0||$adminRow.privileges.plugins.$plugin}
<li><a href="plugin.page.php?sid={$sid}&plugin={$plugin}" ><img src="{if $pluginInfo.icon}../plugins/templates/images/{$pluginInfo.icon}{else}./templates/images/wlayout_add.png{/if}" />{$pluginInfo.title}</a></li>
{/if}
</header>
<header class="navbar-expand-md">
<div class="collapse navbar-collapse" id="navbar-menu">
<div class="navbar navbar-light">
<div class="container-xl">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_license.png" height="16" /></span>
<span class="nav-link-title">{lng p="welcome"}</span>
</a>
<div class="dropdown-menu">
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/welcome.php'} active{/if}" href="welcome.php?sid={$sid}"><img src="./templates/images/ico_license.png" height="16" />&nbsp; {lng p="welcome"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/admins.php'} active{/if}" href="admins.php?sid={$sid}"><img src="./templates/images/ico_users.png" height="16" />&nbsp; {lng p="admins"}</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_prefs_misc.png" height="16" /></span>
<span class="nav-link-title">{lng p="prefs"}</span>
</a>
<div class="dropdown-menu">
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.common.php'} active{/if}" href="prefs.common.php?sid={$sid}"><img src="./templates/images/ico_prefs_common.png" height="16" />&nbsp; {lng p="common"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.email.php'} active{/if}" href="prefs.email.php?sid={$sid}"><img src="./templates/images/ico_prefs_email.png" height="16" />&nbsp; {lng p="email"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.recvrules.php'} active{/if}" href="prefs.recvrules.php?sid={$sid}"><img src="./templates/images/rule32.png" height="16" />&nbsp; {lng p="recvrules"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.webdisk.php'} active{/if}" href="prefs.webdisk.php?sid={$sid}"><img src="./templates/images/ico_disk.png" height="16" />&nbsp; {lng p="webdisk"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.sms.php'} active{/if}" href="prefs.sms.php?sid={$sid}"><img src="./templates/images/gateway32.png" height="16" />&nbsp; {lng p="sms"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.abuse.php'} active{/if}" href="prefs.abuse.php?sid={$sid}"><img src="./templates/images/abuse.png" height="16" />&nbsp; {lng p="abuseprotect"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.coupons.php'} active{/if}" href="prefs.coupons.php?sid={$sid}"><img src="./templates/images/coupon.png" height="16" />&nbsp; {lng p="coupons"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.profilefields.php'} active{/if}" href="prefs.profilefields.php?sid={$sid}"><img src="./templates/images/field32.png" height="16" />&nbsp; {lng p="profilefields"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.languages.php'} active{/if}" href="prefs.languages.php?sid={$sid}"><img src="./templates/images/lang32.png" height="16" />&nbsp; {lng p="languages"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.templates.php'} active{/if}" href="prefs.templates.php?sid={$sid}"><img src="./templates/images/template.png" height="16" />&nbsp; {lng p="templates"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.ads.php'} active{/if}" href="prefs.ads.php?sid={$sid}"><img src="./templates/images/ad32.png" height="16" />&nbsp; {lng p="ads"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.faq.php'} active{/if}" href="prefs.faq.php?sid={$sid}"><img src="./templates/images/faq32.png" height="16" />&nbsp; {lng p="faq"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.countries.php'} active{/if}" href="prefs.countries.php?sid={$sid}"><img src="./templates/images/country.png" height="16" />&nbsp; {lng p="countries"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.widgetlayouts.php'} active{/if}" href="prefs.widgetlayouts.php?sid={$sid}"><img src="./templates/images/wlayout_add.png" height="16" />&nbsp; {lng p="widgetlayouts"}</a>
<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/prefs.payments.php'} active{/if}" href="prefs.payments.php?sid={$sid}"><img src="./templates/images/ico_prefs_payments.png" height="16" />&nbsp; {lng p="payments"}</a>
{if !empty($smarty.const.TOOLBOX_SERVER)}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/toolbox.php'} active{/if}" href="toolbox.php?sid={$sid}"><img src="./templates/images/toolbox.png" height="16" />&nbsp; {lng p="toolbox"}</a>{/if}
</div>
</li>
{if $adminRow.type==0||$adminRow.privileges.users||$adminRow.privileges.groups||$adminRow.privileges.workgroups||$adminRow.privileges.activity||$adminRow.privileges.newsletter||$adminRow.privileges.payments}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_users.png" height="16" /></span>
<span class="nav-link-title">{lng p="usersgroups"}</span>
</a>
<div class="dropdown-menu">
{if $adminRow.type==0||$adminRow.privileges.users}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/users.php'} active{/if}" href="users.php?sid={$sid}"><img src="./templates/images/user_action.png" height="16" />&nbsp; {lng p="users"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.groups}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/groups.php'} active{/if}" href="groups.php?sid={$sid}"><img src="./templates/images/ico_group.png" height="16" />&nbsp; {lng p="groups"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.workgroups}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/workgroups.php'} active{/if}" href="workgroups.php?sid={$sid}"><img src="./templates/images/ico_workgroup.png" height="16" />&nbsp; {lng p="workgroups"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.activity}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/activity.php'} active{/if}" href="activity.php?sid={$sid}"><img src="./templates/images/activity.png" height="16" />&nbsp; {lng p="activity"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.abuse}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/abuse.php'} active{/if}" href="abuse.php?sid={$sid}"><img src="./templates/images/abuse.png" height="16" />&nbsp; {lng p="abuseprotect"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.newsletter}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/newsletter.php'} active{/if}" href="newsletter.php?sid={$sid}"><img src="./templates/images/newsletter.png" height="16" />&nbsp; {lng p="newsletter"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.payments}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/payments.php'} active{/if}" href="payments.php?sid={$sid}"><img src="./templates/images/ico_prefs_payments.png" height="16" />&nbsp; {lng p="payments"}</a>{/if}
</div>
</li>
{/if}
{if $adminRow.type==0||$adminRow.privileges.optimize||$adminRow.privileges.maintenance||$adminRow.privileges.stats||$adminRow.privileges.logs}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/toolbox.png" height="16" /></span>
<span class="nav-link-title">{lng p="tools"}</span>
</a>
<div class="dropdown-menu">
{if $adminRow.type==0||$adminRow.privileges.optimize}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/optimize.php'} active{/if}" href="optimize.php?sid={$sid}"><img src="./templates/images/db_optimize.png" height="16" />&nbsp; {lng p="optimize"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.maintenance}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/maintenance.php'} active{/if}" href="maintenance.php?sid={$sid}"><img src="./templates/images/orphans32.png" height="16" />&nbsp; {lng p="maintenance"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.stats}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/stats.php'} active{/if}" href="stats.php?sid={$sid}"><img src="./templates/images/stats.png" height="16" />&nbsp; {lng p="stats"}</a>{/if}
{if $adminRow.type==0||$adminRow.privileges.logs}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/logs.php'} active{/if}" href="logs.php?sid={$sid}"><img src="./templates/images/logs.png" height="16" />&nbsp; {lng p="logs"}</a>{/if}
</div>
</li>
{/if}
{if $adminRow.type==0||$adminRow.privileges.plugins}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/plugin.png" height="16" /></span>
<span class="nav-link-title">{lng p="plugins"}</span>
</a>
<div class="dropdown-menu">
{if $adminRow.type==0}<a class="dropdown-item{if $smarty.server.SCRIPT_NAME=='/admin/plugins.php'} active{/if}" href="plugins.php?sid={$sid}"><img src="./templates/images/plugin.png" height="16" />&nbsp; {lng p="plugins"}</a>{/if}
{foreach from=$pluginMenuItems item=pluginInfo key=plugin}
{if $adminRow.type==0||$adminRow.privileges.plugins.$plugin}
<a class="dropdown-item{if $smarty.get.plugin==$plugin} active{/if}" href="plugin.page.php?sid={$sid}&plugin={$plugin}" ><img src="{if $pluginInfo.icon}../plugins/templates/images/{$pluginInfo.icon}{else}./templates/images/wlayout_add.png{/if}" height="16" />&nbsp; {$pluginInfo.title}</a>
{/if}
{/foreach}
</div>
</li>
{/if}
</ul>
</div>
</div>
</div>
</header>
<div class="page-wrapper">
<!-- Page header -->
<div class="page-header d-print-none">
<div class="container-xl">
<div class="row g-2 align-items-center">
<div class="col">
<h2 class="page-title">
{if $title}<div id="breadcrumb">{$title}</div>{/if}
</h2>
</div>
</div>
</div>
</div>
<!-- Page body -->
<div class="page-body">
<div class="container-xl d-flex flex-column justify-content-center">
<div class="card">
<div class="card-header bg-muted-lt">
<ul class="nav nav-pills card-header-pills">
{foreach from=$tabs item=tab}
<li class="nav-item">
<a href="{$tab.link}sid={$sid}" class="nav-link{if $tab.active} bg-white{/if}"><span class="d-none d-lg-inline-block"><img src="{if $tab.relIcon}./templates/images/{$tab.relIcon}{elseif $tab.icon}{$tab.icon}{else}./templates/images/ico_prefs_misc.png{/if}" height="16" alt="{$tab.title}" />&nbsp; </span>{$tab.title}</a>
</li>
{/foreach}
</ul>
</li>
{/if}
</ul>
</div>
<div class="card-body">
{include file="$page"}
</div>
</div>
</div>
</div>
<footer class="footer footer-transparent d-print-none">
<div class="container-xl">
<div class="row text-center align-items-center flex-row-reverse">
<div class="col-lg-auto ms-lg-auto">
<ul class="list-inline list-inline-dots mb-0">
<li class="list-inline-item"><a href="https://www.b1gmail.eu/" target="_blank" class="link-secondary">Community</a></li>
<li class="list-inline-item"><a href="https://github.com/b1gMail-OSS/b1gMail" target="_blank" class="link-secondary" rel="noopener">Source code</a></li>
</ul>
</div>
<div class="col-12 col-lg-auto mt-3 mt-lg-0">
<ul class="list-inline list-inline-dots mb-0">
<li class="list-inline-item">Copyright &copy; {$smarty.now|date_format:"%Y"} b1gMail</li>
<li class="list-inline-item"><a href="welcome.php?action=about&sid={$sid}" class="link-secondary" rel="noopener">{$bmver}</a></li>
</ul>
</div>
</div>
</div>
</footer>
</div>
{if $title}<div id="breadcrumb">
{$title}
</div>{/if}
<div id="content">
<div id="pageTabs">
<ul>
{foreach from=$tabs item=tab}
<li{if $tab.active} class="active"{/if}>
<a href="{$tab.link}sid={$sid}">
<img src="{if $tab.relIcon}./templates/images/{$tab.relIcon}{elseif $tab.icon}{$tab.icon}{else}./templates/images/ico_prefs_misc.png{/if}" border="0" alt="" />
{$tab.title}
</a>
</li>
{/foreach}
</ul>
</div>
<div id="pageContent">
{include file="$page"}
<br class="clear" />
</div>
</div>
<div id="footer">
<a href="welcome.php?action=about&sid={$sid}">b1gMail {$bmver}</a>
</div>
</div>
</body>
</html>
</html>

View file

@ -1,62 +1,58 @@
<fieldset>
<legend>{lng p="payment"}: {$payment.invoiceNo}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="180">{lng p="invoiceno"}:</td>
<td class="td2">{$payment.invoiceNo}</td>
</tr>
<tr>
<td class="td1">{lng p="customerno"}:</td>
<td class="td2">{$payment.customerNo}</td>
</tr>
<tr>
<td class="td1">{lng p="user"}:</td>
<td class="td2">
<img src="{$tpldir}images/user_action.png" width="16" height="16" align="absmiddle" border="0" alt="" />
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="invoiceno"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$payment.invoiceNo}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="customerno"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$payment.customerNo}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="user"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">
<a href="users.php?do=edit&id={$payment.user.id}&sid={$sid}">{$payment.user.email}</a>
({text value=$payment.user.vorname} {text value=$payment.user.nachname})
</td>
</tr>
<tr>
<td class="td1">{lng p="amount"}:</td>
<td class="td2">{$payment.amount}</td>
</tr>
<tr>
<td class="td1">{lng p="paymentmethod"}:</td>
<td class="td2">{$payment.method}</td>
</tr>
</table>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="amount"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$payment.amount}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="paymentmethod"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{$payment.method}</div>
</div>
</div>
</fieldset>
{if $payment.paymethod_params}
<fieldset>
<legend>{lng p="details"}</legend>
<table>
<fieldset>
<legend>{lng p="details"}</legend>
{foreach from=$payment.paymethod_params key=key item=value}
<tr>
<td width="40">&nbsp;</td>
<td class="td1" width="180">{text value=$key}</td>
<td class="td2">{text value=$value}</td>
</tr>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{text value=$key}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{text value=$value}</div>
</div>
</div>
{/foreach}
</table>
</fieldset>
</fieldset>
{/if}
<p>
<div style="float:left" class="buttons">
<input class="button" type="button" value=" &laquo; {lng p="back"} " onclick="history.back(1);" />
</div>
<div style="float:right" class="buttons">
{if $payment.hasInvoice}
<input class="button" type="button" value=" {lng p="invoice"} " onclick="openWindow('payments.php?action=showInvoice&orderID={$payment.orderid}&sid={$sid}','invoice_{$payment.orderid}',640,480);" />
{/if}
{if $payment.status==0}
<input class="button" type="button" value=" {lng p="activate"} " onclick="document.location.href='payments.php?singleAction=activate&singleID={$payment.orderid}&sid={$sid}';" />
{/if}
</div>
</p>
<div class="row">
<div class="col-md-4"><input class="btn" type="button" value="&laquo; {lng p="back"}" onclick="history.back(1);" /></div>
<div class="col-md-4 text-center">{if $payment.hasInvoice}<input class="btn btn-muted" type="button" value="{lng p="invoice"}" onclick="openWindow('payments.php?action=showInvoice&orderID={$payment.orderid}&sid={$sid}','invoice_{$payment.orderid}',640,480);" />{/if}</div>
<div class="col-md-4 text-end">{if $payment.status==0}<input class="btn btn-primary" type="button" value="{lng p="activate"}" onclick="document.location.href='payments.php?singleAction=activate&singleID={$payment.orderid}&sid={$sid}';" />{/if}</div>
</div>

View file

@ -2,60 +2,55 @@
<legend>{lng p="accentries"}</legend>
<form action="payments.php?action=export&do=exportAccEntries&sid={$sid}" method="post" target="_top">
<table>
<tr>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_accentries.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="from"}:</td>
<td class="td2">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
</td>
</tr>
<tr>
<td class="td1">{lng p="to"}:</td>
<td class="td2">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
</td>
</tr>
<tr>
<td class="td1">{lng p="account_debit"}:</td>
<td class="td2">
<table>
<tr>
<td>{lng p="banktransfer"}:</td>
<td><input type="text" name="accounts[0]" size="8" value="1100" /></td>
</tr>
<tr>
<td>{lng p="su"}:</td>
<td><input type="text" name="accounts[2]" size="8" value="1100" /></td>
</tr>
<tr>
<td>{lng p="paypal"}:</td>
<td><input type="text" name="accounts[1]" size="8" value="1101" /></td>
</tr>
<tr>
<td>{lng p="skrill"}:</td>
<td><input type="text" name="accounts[3]" size="8" value="1102" /></td>
</tr>
{foreach from=$paymentMethods key=methodID item=method}
<tr>
<td>{text value=$method.title}</td>
<td><input type="text" name="accounts[-{$methodID}]" size="8" value="{$methodID+1102}" /></td>
</tr>
{/foreach}
</table>
</td>
</tr>
<tr>
<td class="td1">{lng p="account_credit"}:</td>
<td class="td2">
<input type="text" name="account" size="8" value="8400" />
</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="export"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="to"}</label>
<div class="col-sm-10">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="account_debit"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">{lng p="banktransfer"}</span>
<input type="text" class="form-control" name="accounts[0]" value="1100" placeholder="{lng p="banktransfer"}">
</div>
<div class="input-group mb-2">
<span class="input-group-text">{lng p="su"}</span>
<input type="text" class="form-control" name="accounts[2]" value="1100" placeholder="{lng p="su"}">
</div>
<div class="input-group mb-2">
<span class="input-group-text">{lng p="paypal"}</span>
<input type="text" class="form-control" name="accounts[1]" value="1101" placeholder="{lng p="paypal"}">
</div>
<div class="input-group mb-2">
<span class="input-group-text">{lng p="skrill"}</span>
<input type="text" class="form-control" name="accounts[2]" value="1100" placeholder="{lng p="skrill"}">
</div>
{foreach from=$paymentMethods key=methodID item=method}
<div class="input-group mb-2">
<span class="input-group-text">{text value=$method.title}</span>
<input type="text" class="form-control" name="accounts[-{$methodID}]" value="{$methodID+1102}" placeholder="{text value=$method.title}">
</div>
{/foreach}
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="account_credit"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="account" value="8400" placeholder="{lng p="account_credit"}">
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="export"}" />
</div>
</form>
</fieldset>
@ -63,31 +58,30 @@
<legend>{lng p="invoices"}</legend>
<form action="payments.php?action=export&do=exportInvoices&sid={$sid}" method="post" target="_top">
<table>
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_prefs_invoices.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="120">{lng p="from"}:</td>
<td class="td2">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
</td>
</tr>
<tr>
<td class="td1">{lng p="to"}:</td>
<td class="td2">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
</td>
</tr>
<tr>
<td class="td1">{lng p="options"}:</td>
<td class="td2">
<input type="checkbox" name="paidOnly" id="paidOnly" checked="checked" />
<label for="paidOnly"><b>{lng p="paidonly"}</b></label>
</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="export"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="to"}</label>
<div class="col-sm-10">
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="options"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paidOnly" id="paidOnly" checked="checked">
<span class="form-check-label">{lng p="paidonly"}</span>
</label>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="export"}" />
</div>
</form>
</fieldset>

View file

@ -1,141 +1,166 @@
<form action="payments.php?filter=true&sid={$sid}" method="post" onsubmit="if(EBID('massAction').value!='download') spin(this)" name="f1">
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<input type="hidden" name="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" />
<fieldset>
<legend>{lng p="payments"}</legend>
<fieldset>
<legend>{lng p="payments"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'payment[');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th><a href="javascript:updateSort('userid');">{lng p="user"}
{if $sortBy=='userid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('orderid');">{lng p="orderno"}
{if $sortBy=='orderid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="135"><a href="javascript:updateSort('amount');">{lng p="amount"}
{if $sortBy=='amount'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="145"><a href="javascript:updateSort('created');">{lng p="date"}
{if $sortBy=='created'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="65">&nbsp;</th>
</tr>
{foreach from=$payments item=payment}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="templates/images/{if $payment.status==1}yes{else}no{/if}.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="payment[{$payment.orderid}]" /></td>
<td><a href="users.php?do=edit&id={$payment.user.id}&sid={$sid}">{email value=$payment.user.email cut=25}</a><br />
<small>{text value=$payment.user.nachname cut=20}, {text value=$payment.user.vorname cut=20}</small></td>
<td>{text value=$payment.invoiceNo}<br /><small>{text value=$payment.customerNo}</small></td>
<td>
<div style="float:left;">
{$payment.amount}<br /><small>{$payment.method}</small>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'payment[');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th><a href="javascript:updateSort('userid');">{lng p="user"}
{if $sortBy=='userid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th><a href="javascript:updateSort('orderid');">{lng p="orderno"}
{if $sortBy=='orderid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="135"><a href="javascript:updateSort('amount');">{lng p="amount"}
{if $sortBy=='amount'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="145"><a href="javascript:updateSort('created');">{lng p="date"}
{if $sortBy=='created'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
<th width="65">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$payments item=payment}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center">{if $payment.status==1}<i class="fa-regular fa-circle-check text-green"></i>{else}<i class="fa-regular fa-circle-xmark text-red"></i>{/if}</td>
<td align="center"><input type="checkbox" name="payment[{$payment.orderid}]" /></td>
<td><a href="users.php?do=edit&id={$payment.user.id}&sid={$sid}">{email value=$payment.user.email cut=25}</a><br />
<small>{text value=$payment.user.nachname cut=20}, {text value=$payment.user.vorname cut=20}</small></td>
<td>{text value=$payment.invoiceNo}<br /><small>{text value=$payment.customerNo}</small></td>
<td>
<div style="float:left;">
{$payment.amount}<br /><small>{$payment.method}</small>
</div>
{if $payment.paymethod<0}
<div style="float:right;">
<a href="payments.php?do=details&orderid={$payment.orderid}&sid={$sid}" title="{lng p="details"}"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="{lng p="details"}" width="16" height="16" /></a>
</div>
{/if}
</td>
<td>{date timestamp=$payment.created nice=true}</td>
<td class="text-nowrap text-end">
<div class="btn-group btn-group-sm">
{if $payment.hasInvoice}<a href="javascript:void(0);" onclick="openWindow('payments.php?action=showInvoice&orderID={$payment.orderid}&sid={$sid}','invoice_{$payment.orderid}',640,480);" title="{lng p="showinvoice"}" class="btn btn-sm"><i class="fa-solid fa-file-invoice-dollar"></i></a>{/if}
{if $payment.status==0}<a href="{if $payment.paymethod<0}payments.php?do=details&orderid={$payment.orderid}&sid={$sid}{else}javascript:singleAction('activate', '{$payment.orderid}');{/if}" title="{lng p="activatepayment"}" class="btn btn-sm"><i class="fa-solid fa-lock-open"></i></a>{/if}
<a href="javascript:singleAction('delete', '{$payment.orderid}');" onclick="return confirm('{lng p="realdel"}');" title="{lng p="delete"}" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="download">{lng p="downloadinvoices"}</option>
<option value="activate">{lng p="activatepayment"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
{if $payment.paymethod<0}
<div style="float:right;">
<a href="payments.php?do=details&orderid={$payment.orderid}&sid={$sid}" title="{lng p="details"}"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="{lng p="details"}" width="16" height="16" /></a>
<div class="text-end">{lng p="pages"}: {pageNav page=$pageNo pages=$pageCount on=" <span class=\"pageNav\"><b>[.t]</b></span> " off=" <span class=\"pageNav\"><a href=\"javascript:updatePage(.s);\">.t</a></span> "}&nbsp;</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="filter"}</legend>
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="status"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="status[0]" id="status_0" {if $status[0]} checked="checked"{/if}>
<span class="form-check-label">{lng p="orderstatus_0"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="status[1]" id="status_1" {if $status[1]} checked="checked"{/if}>
<span class="form-check-label">{lng p="orderstatus_1"}</span>
</label>
</div>
</div>
{/if}
</td>
<td>{date timestamp=$payment.created nice=true}</td>
<td>
{if $payment.hasInvoice}<a href="javascript:void(0);" onclick="openWindow('payments.php?action=showInvoice&orderID={$payment.orderid}&sid={$sid}','invoice_{$payment.orderid}',640,480);" title="{lng p="showinvoice"}"><img src="{$tpldir}images/file.png" border="0" alt="{lng p="showinvoice"}" width="16" height="16" /></a>{/if}
{if $payment.status==0}<a href="{if $payment.paymethod<0}payments.php?do=details&orderid={$payment.orderid}&sid={$sid}{else}javascript:singleAction('activate', '{$payment.orderid}');{/if}" title="{lng p="activatepayment"}"><img src="{$tpldir}images/unlock.png" border="0" alt="{lng p="activatepayment"}" width="16" height="16" /></a>{/if}
<a href="javascript:singleAction('delete', '{$payment.orderid}');" onclick="return confirm('{lng p="realdel"}');" title="{lng p="delete"}"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="7">
<div style="float:left;">
{lng p="action"}: <select name="massAction" id="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="download">{lng p="downloadinvoices"}</option>
<option value="activate">{lng p="activatepayment"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
</div>
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="paymentmethods"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[0]" id="paymentMethod_0" {if $paymentMethod[0]} checked="checked"{/if}>
<span class="form-check-label">{lng p="banktransfer"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[1]" id="paymentMethod_1" {if $paymentMethod[1]} checked="checked"{/if}>
<span class="form-check-label">{lng p="paypal"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[2]" id="paymentMethod_2" {if $paymentMethod[2]} checked="checked"{/if}>
<span class="form-check-label">{lng p="su"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[3]" id="paymentMethod_3" {if $paymentMethod[3]} checked="checked"{/if}>
<span class="form-check-label">{lng p="skrill"}</span>
</label>
{foreach from=$payMethods key=methodID item=method}
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[-{$methodID}]" id="paymentMethod_-{$methodID}" {if $paymentMethod[$method.negID]} checked="checked"{/if}>
<span class="form-check-label">{text value=$method.title}</span>
</label>
{/foreach}
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
<div style="float:right;padding-top:3px;">
{lng p="pages"}: {pageNav page=$pageNo pages=$pageCount on=" <span class=\"pageNav\"><b>[.t]</b></span> " off=" <span class=\"pageNav\"><a href=\"javascript:updatePage(.s);\">.t</a></span> "}&nbsp;
</div>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<fieldset>
<legend>{lng p="filter"}</legend>
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/filter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="100">{lng p="status"}:</td>
<td class="td2">
<input type="checkbox" name="status[0]" id="status_0" {if $status[0]} checked="checked"{/if} />
<label for="status_0"><b>{lng p="orderstatus_0"}</b></label><br />
<input type="checkbox" name="status[1]" id="status_1" {if $status[1]} checked="checked"{/if} />
<label for="status_1"><b>{lng p="orderstatus_1"}</b></label><br />
</td>
<td class="td1" width="130">{lng p="paymentmethods"}:</td>
<td class="td2">
<input type="checkbox" name="paymentMethod[0]" id="paymentMethod_0" {if $paymentMethod[0]} checked="checked"{/if} />
<label for="paymentMethod_0"><b>{lng p="banktransfer"}</b></label><br />
<input type="checkbox" name="paymentMethod[1]" id="paymentMethod_1" {if $paymentMethod[1]} checked="checked"{/if} />
<label for="paymentMethod_1"><b>{lng p="paypal"}</b></label><br />
<input type="checkbox" name="paymentMethod[2]" id="paymentMethod_2" {if $paymentMethod[2]} checked="checked"{/if} />
<label for="paymentMethod_2"><b>{lng p="su"}</b></label><br />
<input type="checkbox" name="paymentMethod[3]" id="paymentMethod_3" {if $paymentMethod[3]} checked="checked"{/if} />
<label for="paymentMethod_3"><b>{lng p="skrill"}</b></label><br />
{foreach from=$payMethods key=methodID item=method}
<input type="checkbox" name="paymentMethod[-{$methodID}]" id="paymentMethod_-{$methodID}" {if $paymentMethod[$method.negID]} checked="checked"{/if} />
<label for="paymentMethod_-{$methodID}"><b>{text value=$method.title}</b></label><br />
{/foreach}
</td>
</tr>
</table>
<p align="right">
{lng p="perpage"}:
<input type="text" name="perPage" value="{$perPage}" size="5" />
<input class="button" type="submit" value=" {lng p="apply"} " />
</p>
</fieldset>
<div class="text-end">
<div style="float: right;"><input class="btn btn-sm btn-primary" type="submit" value="{lng p="apply"}" /></div>
<div style="float: right;"><input type="text" class="form-control form-control-sm" name="perPage" value="{$perPage}" size="5" />&nbsp; </div>
<div style="float: right;">{lng p="perpage"}:&nbsp; </div>
</div>
</fieldset>
</form>
<fieldset>
<legend>{lng p="activatepayment"}</legend>
<table>
<tr>
<td align="left" rowspan="3" valign="top" width="40"><img src="templates/images/ico_prefs_payments.png" border="0" alt="" width="32" height="32" /></td>
<td colspan="2">{lng p="activate_desc"}</td>
</tr>
<tr>
<td class="td1" width="120">{lng p="vkcode"}:</td>
<td class="td2"><input type="text" name="vkCode" id="vkCode" value="VK-" size="26" onkeypress="return handleActivatePaymentInput(event, 0);" /></td>
</tr>
<tr>
<td class="td1">{lng p="amount"}:</td>
<td class="td2"><input type="text" name="amount" id="amount" value="" size="10" onkeypress="return handleActivatePaymentInput(event, 1);" /> {text value=$bm_prefs.currency}</td>
</tr>
</table>
<div id="activationResult">&nbsp;</div>
<p>
<div style="float:left;font-weight:bold;padding-top:4px;" id="activationResult">&nbsp;</div>
<div style="float:right">
<input class="button" type="button" onclick="activatePayment()" id="activateButton" value=" {lng p="activate"} " />
<p>{lng p="activate_desc"}</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="vkcode"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vkCode" id="vkCode" value="VK-" onkeypress="return handleActivatePaymentInput(event, 0);" placeholder="{lng p="vkcode"}">
</div>
</p>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="amount"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<input type="text" class="form-control" name="amount" id="amount" value="" onkeypress="return handleActivatePaymentInput(event, 1);" placeholder="{lng p="amount"}">
<span class="input-group-text">{text value=$bm_prefs.currency}</span>
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="button" onclick="activatePayment()" id="activateButton" value="{lng p="activate"}" />
</div>
</fieldset>

View file

@ -2,54 +2,52 @@
<legend>{lng p="installplugin"}: {text value=$meta.name}</legend>
<form action="plugins.php?action=install&do=installPlugin&id={$id}&sid={$sid}" method="post" onsubmit="spin(this)">
<p>
{lng p="install_desc2"}
</p>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/plugin_add.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="name"}:</td>
<td class="td2"><b>{text value=$meta.name}</b></td>
</tr>
<tr>
<td class="td1">{lng p="version"}:</td>
<td class="td2">{text value=$meta.version}</td>
</tr>
<tr>
<td class="td1">{lng p="vendor"}:</td>
<td class="td2"><a target="_blank" href="{text value=$meta.vendor_url escape=true}">{text value=$meta.vendor}</a> (<a href="mailto:{text value=$meta.vendor_mail escape=true}">{text value=$meta.vendor_mail}</a>)</td>
</tr>
<tr>
<td class="td1">{lng p="forb1gmail"}:</td>
<td class="td2">
<img src="{$tpldir}images/{if !$versionsMatch}warning{else}ok{/if}.png" border="0" alt="" align="absmiddle" width="16" height="16" />
<p>{lng p="install_desc2"}</p>
<div class="text-center">
<div id="sigLayer">
<img src="{$tpldir}images/load_16.gif" align="absmiddle" border="0" alt="" />
{lng p="checkingsig"}
</div>
<script>
<!--
registerLoadAction('checkPluginSignature(\'{$signature}\')');
//-->
</script>
</div>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="name"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{text value=$meta.name}</div>
</div>
</div>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="version"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">{text value=$meta.version}</div>
</div>
</div>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="vendor"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext"><a target="_blank" href="{text value=$meta.vendor_url escape=true}">{text value=$meta.vendor}</a> (<a href="mailto:{text value=$meta.vendor_mail escape=true}">{text value=$meta.vendor_mail}</a>)</div>
</div>
</div>
<div class="row">
<label class="col-sm-2 col-form-label">{lng p="forb1gmail"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext">
{if !$versionsMatch}<i class="fa-solid fa-triangle-exclamation text-warning"></i>{else}<i class="fa-regular fa-circle-check text-green"></i>{/if}
{text value=$meta.for_b1gmail}
{if !$versionsMatch}({lng p="yourversion"}: {$b1gmailVersion}){/if}
</td>
</tr>
<tr>
<td class="td2" colspan="2" align="center">
<br />
<div id="sigLayer">
<img src="{$tpldir}images/load_16.gif" align="absmiddle" border="0" alt="" />
{lng p="checkingsig"}
</div>
<script>
<!--
registerLoadAction('checkPluginSignature(\'{$signature}\')');
//-->
</script>
</td>
</tr>
</table>
<p>
<div style="float:right;">
<input class="button" type="submit" value=" {lng p="install"} " />
</div>
</div>
</p>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="install"}" />
</div>
</form>
</fieldset>

View file

@ -1,10 +1 @@
<div class="note">
<table>
<tr>
<td width="36" valign="top"><img src="{$tpldir}images/{$icon}.png" border="0" alt="" width="32" height="32" /></td>
<td valign="top" align="left"><b>{$title}</b><br />{$text}</td>
</tr>
</table>
</div>
<div class="alert alert-info"><strong>{$title}</strong> {$text}</div>

View file

@ -1,27 +1,19 @@
<fieldset>
<legend>{lng p="installplugin"}</legend>
<form action="plugins.php?action=install&do=uploadPlugin&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<p>
{lng p="install_desc"}
</p>
<table>
<tr>
<td width="40" valign="top"><img src="{$tpldir}images/plugin_add.png" border="0" alt="" width="32" height="32" /></td>
<td>{lng p="plugpackage"}:<br />
<input type="file" name="package" accept=".bmplugin" style="width:440px;" /></td>
</tr>
</table>
<p>
<div style="float:left;">
<img src="{$tpldir}images/warning.png" border="0" alt="" align="absmiddle" width="16" height="16" />
{lng p="sourcewarning"}
<div class="alert alert-warning">{lng p="sourcewarning"}</div>
<p>{lng p="install_desc"}</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="plugpackage"}</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="package" accept=".bmplugin" placeholder="{lng p="plugpackage"}">
</div>
<div style="float:right;">
<input class="button" type="submit" value=" {lng p="install"} " />
</div>
</p>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="install"}" />
</div>
</form>
</fieldset>
</fieldset>

View file

@ -1,56 +1,63 @@
<fieldset>
<legend>{lng p="installedplugins"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th>{lng p="title"}</th>
<th>{lng p="author"}</th>
<th>{lng p="info"}</th>
<th>{lng p="status"}</th>
<th>&nbsp;</th>
</tr>
{foreach from=$plugins item=pluginPackage key=packageSignature}
<tr class="tableSubHead">
<td colspan="5">
<a href="javascript:togglePluginPackage('{$packageSignature}');"><img src="{$tpldir}images/contract.png" border="0" alt="" align="absmiddle" id="packageImage_{$packageSignature}" heigbt="11" width="11" /></a>
{if $pluginPackage.name}<b>{lng p="package"}:</b> {text value=$pluginPackage.name}{else}{lng p="withoutpackage"}{/if}
</td>
<td>
{if $packageSignature}<a href="plugins.php?action={$action}&do=deletePackage&package={$packageSignature}&sid={$sid}" onclick="return confirm('{lng p="realpackage"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>{else}&nbsp;{/if}
</td>
</tr>
<tbody id="package_{$packageSignature}" style="display:;">
{foreach from=$pluginPackage.plugins item=plugin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><img src="{$tpldir}images/plugin_{if !$plugin.installed}in{/if}active.png" border="0" alt="" width="16" height="16" /></td>
<td>{text value=$plugin.title}<br /><small>{text value=$plugin.name}</small></td>
<td>{text value=$plugin.author}</td>
<td>{lng p="version"}: {text value=$plugin.version}<br /><small>{lng p="type"}: {$plugin.type}</small></td>
<td>{if $plugin.installed}{lng p="installed"}{else}{lng p="notinstalled"}{/if}<br />
{if $plugin.paused}<small>{lng p="paused"}</small>{/if}</td>
<td>
<a href="plugins.php?action={$action}&sid={$sid}&do={if $plugin.installed}de{/if}activatePlugin&plugin={$plugin.name}" title="{lng p="acdeactivate"}" onclick="return confirm('{lng p="reallyplugin"}');"><img src="{$tpldir}images/plugin_switch.png" border="0" alt="{lng p="acdeactivate"}" border="0" width="16" height="16" /></a>
{if $plugin.installed}<a href="plugins.php?action={$action}&sid={$sid}&do={if $plugin.paused}un{/if}pausePlugin&plugin={$plugin.name}" title="{if $plugin.paused}{lng p="continue"}{else}{lng p="pause"}{/if}"><img src="{$tpldir}images/{if $plugin.paused}error{else}ok{/if}.png" border="0" alt="{if $plugin.paused}{lng p="continue"}{else}{lng p="pause"}{/if}" border="0" width="16" height="16" /></a>{/if}
</td>
</tr>
{/foreach}
</tbody>
{/foreach}
</table>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 20px;">&nbsp;</th>
<th>{lng p="title"}</th>
<th>{lng p="author"}</th>
<th>{lng p="info"}</th>
<th>{lng p="status"}</th>
<th>&nbsp;</th>
</tr>
</thead>
<thead>
{foreach from=$plugins item=pluginPackage key=packageSignature}
<tr class="tableSubHead">
<td colspan="5">
<a href="javascript:togglePluginPackage('{$packageSignature}');"><img src="{$tpldir}images/contract.png" border="0" alt="" align="absmiddle" id="packageImage_{$packageSignature}" heigbt="11" width="11" /></a>
{if $pluginPackage.name}<b>{lng p="package"}:</b> {text value=$pluginPackage.name}{else}{lng p="withoutpackage"}{/if}
</td>
<td class="text-end">
{if $packageSignature}<a href="plugins.php?action={$action}&do=deletePackage&package={$packageSignature}&sid={$sid}" onclick="return confirm('{lng p="realpackage"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>{else}&nbsp;{/if}
</td>
</tr>
</thead>
<tbody id="package_{$packageSignature}" style="display:;">
{foreach from=$pluginPackage.plugins item=plugin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><i class="fa-solid fa-puzzle-piece {if !$plugin.installed}text-grey{else}text-yellow{/if}"></td>
<td>
{text value=$plugin.title}<br />
<small>{text value=$plugin.name}</small>
</td>
<td>{text value=$plugin.author}</td>
<td>{lng p="version"}: {text value=$plugin.version}<br /><small>{lng p="type"}: {$plugin.type}</small></td>
<td>{if $plugin.installed}{lng p="installed"}{else}{lng p="notinstalled"}{/if}<br />
{if $plugin.paused}<small>{lng p="paused"}</small>{/if}</td>
<td class="text-nowrap text-end">
<div class="btn-group btn-group-sm">
<a href="plugins.php?action={$action}&sid={$sid}&do={if $plugin.installed}de{/if}activatePlugin&plugin={$plugin.name}" title="{lng p="acdeactivate"}" onclick="return confirm('{lng p="reallyplugin"}');" class="btn btn-sm"><i class="fa-solid fa-toggle-off"></i></a>
{if $plugin.installed}<a href="plugins.php?action={$action}&sid={$sid}&do={if $plugin.paused}un{/if}pausePlugin&plugin={$plugin.name}" title="{if $plugin.paused}{lng p="continue"}{else}{lng p="pause"}{/if}" class="btn btn-sm">{if $plugin.paused}error{else}<i class="fa-regular fa-circle-check"></i>{/if}</a>{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
{/foreach}
</table>
</div>
</div>
</fieldset>
{if $reloadMenu}
<script>
<!--
parent.frames['menu'].location.href = 'main.php?action=menu&item=4&sid={$sid}';
//-->
</script>
<script>
<!--
parent.frames['menu'].location.href = 'main.php?action=menu&item=4&sid={$sid}';
//-->
</script>
{/if}

View file

@ -1,49 +1,52 @@
<fieldset>
<legend>{lng p="updates"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th>{lng p="title"}</th>
<th width="120">{lng p="installed"}</th>
<th width="120">{lng p="current"}</th>
</tr>
{foreach from=$plugins item=pluginPackage key=packageSignature}
<tr class="tableSubHead">
<td colspan="4">
<a href="javascript:togglePluginPackage('{$packageSignature}');"><img src="{$tpldir}images/contract.png" border="0" alt="" align="absmiddle" id="packageImage_{$packageSignature}" heigbt="11" width="11" /></a>
{if $pluginPackage.name}<b>{lng p="package"}:</b> {text value=$pluginPackage.name}{else}{lng p="withoutpackage"}{/if}
</td>
</tr>
<tbody id="package_{$packageSignature}" style="display:;">
{foreach from=$pluginPackage.plugins item=plugin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><img src="{$tpldir}images/plugin_{if !$plugin.installed}in{/if}active.png" border="0" alt="" width="16" height="16" /></td>
<td>{text value=$plugin.title}<br /><small>{text value=$plugin.name}</small></td>
<td>{lng p="version"}: {text value=$plugin.version}</td>
<td id="updates_{$plugin.name}">
<div align="center">
<img src="{$tpldir}images/load_16.gif" border="0" alt="" />
</div>
</td>
</tr>
{/foreach}
</tbody>
{/foreach}
</table>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 20px;">&nbsp;</th>
<th>{lng p="title"}</th>
<th style="width: 120px;">{lng p="installed"}</th>
<th style="width: 120px;">{lng p="current"}</th>
</tr>
</thead>
<thead>
{foreach from=$plugins item=pluginPackage key=packageSignature}
<tr class="tableSubHead">
<td colspan="4">
<a href="javascript:togglePluginPackage('{$packageSignature}');"><img src="{$tpldir}images/contract.png" border="0" alt="" align="absmiddle" id="packageImage_{$packageSignature}" heigbt="11" width="11" /></a>
{if $pluginPackage.name}<b>{lng p="package"}:</b> {text value=$pluginPackage.name}{else}{lng p="withoutpackage"}{/if}
</td>
</tr>
</thead>
<tbody id="package_{$packageSignature}" style="display:;">
{foreach from=$pluginPackage.plugins item=plugin}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><i class="fa-solid fa-puzzle-piece {if !$plugin.installed}text-grey{else}text-yellow{/if}"></td>
<td>
{text value=$plugin.title}<br />
<small>{text value=$plugin.name}</small>
</td>
<td>{lng p="version"}: {text value=$plugin.version}</td>
<td class="text-end" id="updates_{$plugin.name}">
<img src="{$tpldir}images/load_16.gif" border="0" alt="" />
</td>
</tr>
{/foreach}
</tbody>
{/foreach}
</table>
</div>
</div>
</fieldset>
<script>
<!--
{foreach from=$plugins item=pluginPackage key=packageSignature}{foreach from=$pluginPackage.plugins item=plugin}
<!--
{foreach from=$plugins item=pluginPackage key=packageSignature}{foreach from=$pluginPackage.plugins item=plugin}
checkForPluginUpdates('{$plugin.name}');
{/foreach}{/foreach}
//-->
{/foreach}{/foreach}
//-->
</script>

View file

@ -2,94 +2,116 @@
<fieldset>
<legend>{lng p="common"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/abuse32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="ap_medium_limit"}:</td>
<td class="td2">
<img src="templates/images/indicator_yellow.png" border="0" alt="" align="absmiddle" />
<input type="number" min="1" step="1" name="ap_medium_limit" value="{text allowEmpty=true value=$bm_prefs.ap_medium_limit}" style="width:60px;" />
{lng p="points"}
</td>
</tr>
<tr>
<td class="td1">{lng p="ap_hard_limit"}:</td>
<td class="td2">
<img src="templates/images/indicator_red.png" border="0" alt="" align="absmiddle" />
<input type="number" min="1" step="1" name="ap_hard_limit" value="{text allowEmpty=true value=$bm_prefs.ap_hard_limit}" style="width:60px;" />
{lng p="points"}
</td>
</tr>
<tr>
<td class="td1">{lng p="ap_expire_time"}:</td>
<td class="td2"><input type="number" min="1" step="1" name="ap_expire_time" value="{text allowEmpty=true value=$bm_prefs.ap_expire_time/3600}" style="width:80px;" /> {lng p="hours"}</td>
</tr>
<tr>
<td class="td1">{lng p="ap_expire_mode"}:</td>
<td class="td2">
<input type="radio" name="ap_expire_mode" value="dynamic" id="ap_expire_mode_dynamic"{if $bm_prefs.ap_expire_mode=='dynamic'} checked="checked"{/if} />
<label for="ap_expire_mode_dynamic">{lng p="ap_dynamic"}</label><br />
<input type="radio" name="ap_expire_mode" value="static" id="ap_expire_mode_static"{if $bm_prefs.ap_expire_mode=='static'} checked="checked"{/if} />
<label for="ap_expire_mode_static">{lng p="ap_static"}</label>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="ap_autolock"}?</td>
<td class="td2">
<input name="ap_autolock"{if $bm_prefs.ap_autolock=='yes'} checked="checked"{/if} type="checkbox" id="ap_autolock" />
<label for="ap_autolock">{lng p="ap_athardlimit"}</label>
</td>
</tr>
<tr>
<td class="td1">{lng p="ap_autolock_notify"}?</td>
<td class="td2"><input name="ap_autolock_notify" id="ap_autolock_notify"{if $bm_prefs.ap_autolock_notify=='yes'} checked="checked"{/if} type="checkbox" />
<label for="ap_autolock_notify"> {lng p="to2"}: </label><input type="text" name="ap_autolock_notify_to" value="{email value=$bm_prefs.ap_autolock_notify_to}" size="24" /></td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="ap_medium_limit"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text"><img src="templates/images/indicator_yellow.png" border="0" alt="" align="absmiddle" /></span>
<input type="text" class="form-control" name="ap_medium_limit" value="{text allowEmpty=true value=$bm_prefs.ap_medium_limit}" placeholder="{lng p="ap_medium_limit"}">
<span class="input-group-text">{lng p="points"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="ap_medium_limit"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text"><img src="templates/images/indicator_red.png" border="0" alt="" align="absmiddle" /></span>
<input type="text" class="form-control" name="ap_hard_limit" value="{text allowEmpty=true value=$bm_prefs.ap_hard_limit}" placeholder="{lng p="ap_medium_limit"}">
<span class="input-group-text">{lng p="points"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="ap_expire_time"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<input type="text" class="form-control" name="ap_hard_limit" value="{text allowEmpty=true value=$bm_prefs.ap_expire_time/3600}" placeholder="{lng p="ap_expire_time"}">
<span class="input-group-text">{lng p="hours"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="ap_expire_mode"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="ap_expire_mode" value="dynamic" id="ap_expire_mode_dynamic"{if $bm_prefs.ap_expire_mode=='dynamic'} checked="checked"{/if}>
<span class="form-check-label">{lng p="ap_dynamic"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="radio" name="ap_expire_mode" value="static" id="ap_expire_mode_static"{if $bm_prefs.ap_expire_mode=='static'} checked="checked"{/if}>
<span class="form-check-label">{lng p="ap_static"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="ap_autolock"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ap_autolock"{if $bm_prefs.ap_autolock=='yes'} checked="checked"{/if}>
<span class="form-check-label">{lng p="ap_athardlimit"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="ap_autolock_notify"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="ap_autolock_notify"{if $bm_prefs.ap_autolock_notify=='yes'} checked="checked"{/if}>
</span>
<span class="input-group-text">{lng p="to2"}:</span>
<input type="text" class="form-control" name="ap_autolock_notify_to" value="{email value=$bm_prefs.ap_autolock_notify_to}" placeholder="{lng p="ap_autolock_notify"}">
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="pointtypes"}</legend>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th>{lng p="title"}</th>
<th width="80">{lng p="points"}</th>
</tr>
{foreach from=$apTypes item=apType key=apTypeID}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}/images/abuse.png" border="0" alt="" width="16" height="16" /></td>
<td>
{$apType.title}
{if $apType.prefs}
<div>
<table class="subTable">
{foreach from=$apType.prefs key=prefKey item=prefDetails}
<tr>
<td>{$prefDetails.title}</td>
<td>
{if $prefDetails.type==1}
<input type="text" name="types[{$apTypeID}][prefs][{$prefKey}]" value="{if isset($prefDetails.value)}{text value=$prefDetails.value}{/if}" style="width:100px;" class="smallInput" />
{/if}
</td>
</tr>
{/foreach}
</table>
</div>
{/if}
</td>
<td><input type="text" name="types[{$apTypeID}][points]" value="{$apType.points}" size="6" /></td>
</tr>
{/foreach}
</table>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th>{lng p="title"}</th>
<th style="width: 100px;">{lng p="points"}</th>
</tr>
</thead>
<tbody>
{foreach from=$apTypes item=apType key=apTypeID}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td>
{$apType.title}
{if $apType.prefs}
<div>
<table>
{foreach from=$apType.prefs key=prefKey item=prefDetails}
<tr>
<td style="width: 150px;">{$prefDetails.title}</td>
<td>
{if $prefDetails.type==1}
<input type="text" name="types[{$apTypeID}][prefs][{$prefKey}]" value="{if isset($prefDetails.value)}{text value=$prefDetails.value}{/if}" style="width:100px;" class="smallInput" />
{/if}
</td>
</tr>
{/foreach}
</table>
</div>
{/if}
</td>
<td><input type="text" class="form-control" name="types[{$apTypeID}][points]" value="{$apType.points}" /></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</fieldset>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</p>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -2,33 +2,43 @@
<legend>{lng p="edit"}</legend>
<form action="prefs.ads.php?do=edit&save=true&id={$ad.id}&sid={$sid}" method="post" onsubmit="spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ad32.png" border="0" alt="" width="32" height="32" /></td>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="code" id="code" class="plainTextArea" style="width:100%;height:120px;font-family:courier;">{$ad.code}</textarea>
</td>
</tr>
<tr>
<td class="td1" width="160">{lng p="category"}:</td>
<td class="td2"><input type="text" name="category" size="36" value="{if isset($ad.category)}{text value=$ad.category allowEmpty=true}{/if}" /></td>
</tr>
<tr>
<td class="td1" width="160">{lng p="weight"}:</td>
<td class="td2"><input type="text" name="weight" size="4" value="{$ad.weight}" />%</td>
</tr>
<tr>
<td class="td1">{lng p="paused"}?</td>
<td class="td2"><input type="checkbox" name="paused"{if $ad.paused} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="comment"}:</td>
<td class="td2"><textarea style="width:100%;height:65px;" name="comments">{text allowEmpty=true value=$ad.comments}</textarea></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="code" id="code" class="form-control" style="font-family:courier;">{$ad.code}</textarea>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="category"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="category" value="{if isset($ad.category)}{text value=$ad.category allowEmpty=true}{/if}" placeholder="{lng p="category"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="weight"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<input type="text" class="form-control" name="weight" value="{$ad.weight}" placeholder="{lng p="weight"}">
<span class="input-group-text">%</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="paused"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paused"{if $ad.paused} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="comment"}</label>
<div class="col-sm-10">
<textarea class="form-control" name="comments" placeholder="{lng p="comment"}">{text allowEmpty=true value=$ad.comments}</textarea>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>

View file

@ -1,89 +1,103 @@
<fieldset>
<legend>{lng p="banners"}</legend>
<form action="prefs.ads.php?sid={$sid}" method="post" name="f1" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'ad_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="banner"}</th>
<th width="75">{lng p="category"}</th>
<th width="72">{lng p="weight"}</th>
<th width="45">{lng p="views"}</th>
<th width="100">&nbsp;</th>
</tr>
{foreach from=$ads item=ad}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/ad.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="ad_{$ad.id}" /></td>
<td>{$ad.code}</td>
<td>{text value=$ad.category cut=10}</td>
<td>{$ad.weight}%</td>
<td>{$ad.views}</td>
<td>
<a href="prefs.ads.php?{if !$ad.paused}de{/if}activate={$ad.id}&sid={$sid}"><img src="{$tpldir}images/{if !$ad.paused}ok{else}error{/if}.png" width="16" height="16" alt="{if $ad.paused}{lng p="continue"}{else}{lng p="pause"}{/if}" border="0" /></a>
<a href="prefs.ads.php?reset={$ad.id}&sid={$sid}" onclick="return confirm('{lng p="reallyresetstats"}');" title="{lng p="resetstats"}"><img src="{$tpldir}images/reset_stats.png" border="0" alt="{lng p="resetstats"}" width="16" height="16" /></a>
<a href="prefs.ads.php?do=edit&id={$ad.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="prefs.ads.php?delete={$ad.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="pause">{lng p="pause"}</option>
<option value="continue">{lng p="continue"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'ad_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="banner"}</th>
<th width="75">{lng p="category"}</th>
<th width="72">{lng p="weight"}</th>
<th width="45">{lng p="views"}</th>
<th width="100">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$ads item=ad}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><input type="checkbox" name="ad_{$ad.id}" /></td>
<td>{$ad.code}</td>
<td>{text value=$ad.category cut=10}</td>
<td>{$ad.weight}%</td>
<td>{$ad.views}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.ads.php?{if !$ad.paused}de{/if}activate={$ad.id}&sid={$sid}" class="btn btn-sm">{if !$ad.paused}<i class="fa-regular fa-square-check" title="{if $ad.paused}{lng p="continue"}{else}{lng p="pause"}{/if}"></i>{else}<i class="fa-regular fa-square" title="{if $ad.paused}{lng p="continue"}{else}{lng p="pause"}{/if}"></i>{/if}</a>
<a href="prefs.ads.php?reset={$ad.id}&sid={$sid}" onclick="return confirm('{lng p="reallyresetstats"}');" title="{lng p="resetstats"}" class="btn btn-sm"><i class="fa-solid fa-arrow-trend-down"></i></a>
<a href="prefs.ads.php?do=edit&id={$ad.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="prefs.ads.php?delete={$ad.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="pause">{lng p="pause"}</option>
<option value="continue">{lng p="continue"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addbanner"}</legend>
<form action="prefs.ads.php?add=true&sid={$sid}" method="post" onsubmit="spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ad32.png" border="0" alt="" width="32" height="32" /></td>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="code" id="code" class="plainTextArea" style="width:100%;height:120px;font-family:courier;"></textarea>
</td>
</tr>
<tr>
<td class="td1" width="160">{lng p="category"}:</td>
<td class="td2"><input type="text" name="category" size="36" value="" /></td>
</tr>
<tr>
<td class="td1" width="160">{lng p="weight"}:</td>
<td class="td2"><input type="text" name="weight" size="4" value="100" />%</td>
</tr>
<tr>
<td class="td1">{lng p="paused"}?</td>
<td class="td2"><input type="checkbox" name="paused" /></td>
</tr>
<tr>
<td class="td1">{lng p="comment"}:</td>
<td class="td2"><textarea style="width:100%;height:65px;" name="comments"></textarea></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="code" id="code" class="form-control" style="font-family:courier;"></textarea>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="category"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="category" value="" placeholder="{lng p="category"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="weight"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<input type="text" class="form-control" name="weight" value="" placeholder="{lng p="weight"}">
<span class="input-group-text">%</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="paused"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="paused">
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="comment"}</label>
<div class="col-sm-10">
<textarea class="form-control" name="comments" placeholder="{lng p="comment"}"></textarea>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -1,91 +1,88 @@
<form action="prefs.common.php?action=caching&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="caching"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_cache.png" border="0" alt="" width="32" height="32" /></td>
<td>{lng p="cachemanager"}:</td>
<td>{lng p="prefs"}:</td>
</tr>
<tr>
<td valign="top" width="35%">
<table>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="cache_disable" name="cache_type" value="0"{if $bm_prefs.cache_type==0} checked="checked"{/if} onchange="cachePrefs()" /></td>
<td><label for="cache_disable"><b>{lng p="ce_disable"}</b></label><br />
{lng p="ce_disable_desc"}</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="cache_b1gmail" name="cache_type" value="1"{if $bm_prefs.cache_type==1} checked="checked"{/if} onchange="cachePrefs()" /></td>
<td><label for="cache_b1gmail"><b>{lng p="ce_b1gmail"}</b></label><br />
{lng p="ce_b1gmail_desc"}</td>
</tr>
<tr>
<td colspan="3">
&nbsp;
</td>
</tr>
<tr>
<td valign="top" width="20" align="center"><input type="radio" id="cache_memcache" name="cache_type" value="2"{if $bm_prefs.cache_type==2} checked="checked"{/if}{if !$memcache} disabled="disabled"{/if} onchange="cachePrefs()" /></td>
<td><label for="cache_memcache"><b>{lng p="ce_memcache"}</b></label><br />
{lng p="ce_memcache_desc"}</td>
</tr>
</table>
</td>
<td valign="top">
<div id="prefs_0" style="display:{if $bm_prefs.cache_type!=0}none{/if};">
<i>({lng p="none"})</i>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="cachemanager"}</legend>
<div class="mb-3">
<div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="cache_disable" name="cache_type" value="0"{if $bm_prefs.cache_type==0} checked="checked"{/if} onchange="cachePrefs()">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="ce_disable"}<br /><small>{lng p="ce_disable_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="cache_b1gmail" name="cache_type" value="1"{if $bm_prefs.cache_type==1} checked="checked"{/if} onchange="cachePrefs()">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="ce_b1gmail"}<br /><small>{lng p="ce_b1gmail_desc"}</small></div>
</div>
</label>
<label class="form-selectgroup-item flex-fill">
<input class="form-selectgroup-input" type="radio" id="cache_memcache" name="cache_type" value="2"{if $bm_prefs.cache_type==2} checked="checked"{/if}{if !$memcache} disabled="disabled"{/if} onchange="cachePrefs()">
<div class="form-selectgroup-label d-flex align-items-center p-3">
<div class="me-3"><span class="form-selectgroup-check"></span></div>
<div>{lng p="ce_memcache"}<br /><small>{lng p="ce_memcache_desc"}</small></div>
</div>
</label>
</div>
<div id="prefs_3" style="display:{if $bm_prefs.cache_type==0}none{/if};">
<table>
<tr>
<td class="td1" width="180">{lng p="parseonly"}?</td>
<td class="td2"><input type="checkbox" name="cache_parseonly"{if $bm_prefs.cache_parseonly=='yes'} checked="checked"{/if} /></td>
</tr>
</table>
</div>
<div id="prefs_1" style="display:{if $bm_prefs.cache_type!=1}none{/if};">
<table>
<tr>
<td class="td1" width="180">{lng p="cachesize"}:</td>
<td class="td2"><input type="text" name="filecache_size" value="{$bm_prefs.filecache_size/1024/1024}" size="6" />
MB <!--<small>({lng p="inactiveonly"})</small>--></td>
</tr>
</table>
</div>
<div id="prefs_2" style="display:{if $bm_prefs.cache_type!=2}none{/if};">
<table>
<tr>
<td class="td1" width="180">{lng p="persistent"}?</td>
<td class="td2"><input type="checkbox" name="memcache_persistent"{if $bm_prefs.memcache_persistent=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1" width="180">{lng p="servers"}:</td>
<td class="td2">
<textarea style="width:100%;height:80px;" name="memcache_servers">{text value=$bm_prefs.memcache_servers allowEmpty=true}</textarea>
<small>{lng p="memcachesepby"}</small>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</fieldset>
</div>
</p>
<div class="col-md-6">
<fieldset>
<legend>{lng p="prefs"}</legend>
<div id="prefs_0" style="display:{if $bm_prefs.cache_type!=0}none{/if};">
<i>({lng p="none"})</i>
</div>
<div id="prefs_3" style="display:{if $bm_prefs.cache_type==0}none{/if};">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="parseonly"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="cache_parseonly"{if $bm_prefs.cache_parseonly=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</div>
<div id="prefs_1" style="display:{if $bm_prefs.cache_type!=1}none{/if};">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="cachesize"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="filecache_size" value="{$bm_prefs.filecache_size/1024/1024}" placeholder="{lng p="cachesize"}">
<span class="input-group-text">MB <!--<small>({lng p="inactiveonly"})</small>--></span>
</div>
</div>
</div>
</div>
<div id="prefs_2" style="display:{if $bm_prefs.cache_type!=2}none{/if};">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="persistent"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="memcache_persistent"{if $bm_prefs.memcache_persistent=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="servers"}</label>
<div class="col-sm-8">
<textarea class="form-control" name="memcache_servers">{text value=$bm_prefs.memcache_servers allowEmpty=true}</textarea>
<small>{lng p="memcachesepby"}</small>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -1,59 +1,61 @@
<form action="prefs.common.php?action=captcha&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="safecode"}</legend>
<table>
<tr>
<td width="40" valign="top"><img src="{$tpldir}images/captcha32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="captchaprovider"}:</td>
<td class="td2"><select name="captcha_provider" onchange="changeCaptchaProvider(this)">
{foreach from=$providers item=prov key=key}
<option value="{$key}"{if $defaultProvider==$key} selected="selected"{/if}>{text value=$prov.title}</option>
{/foreach}
</select></td>
</tr>
</table>
</fieldset>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="safecode"}</legend>
{foreach from=$providers item=prov key=key}{if $prov.configFields}
<fieldset id="cp_{$key}" style="display:{if $key!=$defaultProvider}none{/if};">
<legend>{lng p="prefs"}: {text value=$prov.title}</legend>
<table width="100%">
{foreach from=$prov.configFields item=fieldInfo key=fieldKey}
<tr>
<td width="220" class="td1">{$fieldInfo.title}</td>
<td class="td2">
{if $fieldInfo.type==16}
<textarea style="width:100%;height:80px;" name="prefs[{$key}][{$fieldKey}]">{text value=$fieldInfo.value allowEmpty=true}</textarea></td>
{elseif $fieldInfo.type==8}
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<label>
<input type="radio" name="prefs[{$key}][{$fieldKey}]" value="{$optionKey}"{if $fieldInfo.value==$optionKey} checked="checked"{/if} />
{text value=$optionValue}
</label>
{/foreach}
{elseif $fieldInfo.type==4}
<select name="prefs[{$key}][{$fieldKey}]">
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option>
{/foreach}
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="captchaprovider"}</label>
<div class="col-sm-8">
<select name="captcha_provider" class="form-select" onchange="changeCaptchaProvider(this)">
{foreach from=$providers item=prov key=key}
<option value="{$key}"{if $defaultProvider==$key} selected="selected"{/if}>{text value=$prov.title}</option>
{/foreach}
</select>
{elseif $fieldInfo.type==2}
<input type="checkbox" name="prefs[{$key}][{$fieldKey}]" value="1"{if $fieldInfo.value} checked="checked"{/if} />
{elseif $fieldInfo.type==1}
<input type="text" style="width:85%;" name="prefs[{$key}][{$fieldKey}]" value="{if isset($fieldInfo.value)}{text value=$fieldInfo.value allowEmpty=true}{/if}" />
{/if}
</td>
</tr>
{/foreach}
</table>
</fieldset>
{/if}{/foreach}
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</div>
</fieldset>
</div>
</p>
<div class="col-md-6">
{foreach from=$providers item=prov key=key}{if $prov.configFields}
<fieldset id="cp_{$key}" style="display:{if $key!=$defaultProvider}none{/if};">
<legend>{lng p="prefs"}: {text value=$prov.title}</legend>
{foreach from=$prov.configFields item=fieldInfo key=fieldKey}
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{$fieldInfo.title}</label>
<div class="col-sm-8">
{if $fieldInfo.type==16}
<textarea class="form-control" name="prefs[{$key}][{$fieldKey}]">{text value=$fieldInfo.value allowEmpty=true}</textarea></td>
{elseif $fieldInfo.type==8}
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<label>
<input type="radio" name="prefs[{$key}][{$fieldKey}]" value="{$optionKey}"{if $fieldInfo.value==$optionKey} checked="checked"{/if} />
{text value=$optionValue}
</label>
{/foreach}
{elseif $fieldInfo.type==4}
<select class="form-select" name="prefs[{$key}][{$fieldKey}]">
{foreach from=$fieldInfo.options item=optionValue key=optionKey}
<option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option>
{/foreach}
</select>
{elseif $fieldInfo.type==2}
<input type="checkbox" class="form-check" name="prefs[{$key}][{$fieldKey}]" value="1"{if $fieldInfo.value} checked="checked"{/if} />
{elseif $fieldInfo.type==1}
<input type="text" class="form-control" name="prefs[{$key}][{$fieldKey}]" value="{if isset($fieldInfo.value)}{text value=$fieldInfo.value allowEmpty=true}{/if}" />
{/if}
</div>
</div>
{/foreach}
</fieldset>
{/if}
{/foreach}
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -1,268 +1,383 @@
<form action="prefs.common.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="common"}</legend>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="common"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="13"><img src="{$tpldir}images/ico_prefs_common.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="projecttitle"}:</td>
<td class="td2"><input type="text" name="titel" value="{text allowEmpty=true value=$bm_prefs.titel}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="hostname"}:</td>
<td class="td2"><input type="text" name="b1gmta_host" value="{text allowEmpty=true value=$bm_prefs.b1gmta_host}" size="28" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="selffolder"}:</td>
<td class="td2"><input type="text" name="selffolder" value="{text allowEmpty=true value=$bm_prefs.selffolder}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="selfurl"}:</td>
<td class="td2"><input type="text" name="selfurl" value="{text allowEmpty=true value=$bm_prefs.selfurl}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="mobile_url"}:</td>
<td class="td2"><input type="text" name="mobile_url" value="{text allowEmpty=true value=$bm_prefs.mobile_url}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="searchengine"}:</td>
<td class="td2"><input type="text" name="search_engine" value="{text allowEmpty=true value=$bm_prefs.search_engine}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="croninterval"}:</td>
<td class="td2"><input type="number" min="1" step="1" name="cron_interval" value="{text allowEmpty=true value=$bm_prefs.cron_interval}" size="6" /> {lng p="seconds"}</td>
</tr>
<tr>
<td class="td1" width="220">{lng p="auto_tz"}?</td>
<td class="td2"><input name="auto_tz"{if $bm_prefs.auto_tz=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="sessioniplock"}?</td>
<td class="td2"><input name="ip_lock"{if $bm_prefs.ip_lock=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="sessioncookielock"}?</td>
<td class="td2"><input name="cookie_lock"{if $bm_prefs.cookie_lock=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="compresspages"}?</td>
<td class="td2"><input name="compress_pages"{if $bm_prefs.compress_pages=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="maintmode"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_cmd.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="maintmode"}?</td>
<td class="td2"><input name="wartung"{if $bm_prefs.wartung=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="whitelist"}:</td>
<td class="td2"><input type="text" name="wartung_whitelist" value="{text allowEmpty=true value=$wartungwhitelist}" size="36" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="nliarea"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/template32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="domain_combobox"}?</td>
<td class="td2"><input name="domain_combobox"{if $bm_prefs.domain_combobox=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="redirectmobile"}?</td>
<td class="td2"><input name="redirect_mobile"{if $bm_prefs.redirect_mobile=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="contactform"}?</td>
<td class="td2"><input name="contactform" id="contactform"{if $bm_prefs.contactform=='yes'} checked="checked"{/if} type="checkbox" />
<label for="contactform"> {lng p="to2"}: </label><input type="text" name="contactform_to" value="{email value=$bm_prefs.contactform_to}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="contactform_name"}?</td>
<td class="td2"><input name="contactform_name"{if $bm_prefs.contactform_name=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="contactform_subject"}?</td>
<td class="td2"><input name="contactform_subject"{if $bm_prefs.contactform_subject=='yes'} checked="checked"{/if} type="checkbox" />
&nbsp;
<small>{lng p="cfs_note"}
<a href="prefs.languages.php?action=texts&sid={$sid}#contact_subjects">&raquo; {lng p="customtexts"}</a></small></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="ssl"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_prefs_ssl.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="ssl_url"}:</td>
<td class="td2"><input type="text" name="ssl_url" value="{text allowEmpty=true value=$bm_prefs.ssl_url}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="ssl_login_option"}?</td>
<td class="td2"><input name="ssl_login_option"{if $bm_prefs.ssl_login_option=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="ssl_login_enable"}?</td>
<td class="td2"><input name="ssl_login_enable"{if $bm_prefs.ssl_login_enable=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="ssl_signup_enable"}?</td>
<td class="td2"><input name="ssl_signup_enable"{if $bm_prefs.ssl_signup_enable=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="datastorage"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_storage.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="datafolder"}:</td>
<td class="td2"><input type="text" name="datafolder" value="{text allowEmpty=true value=$bm_prefs.datafolder}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="structstorage"}:</td>
<td class="td2"><input type="checkbox" name="structstorage"{if $bm_prefs.structstorage=='yes'&&!$safemode} checked="checked"{/if}{if $safemode} disabled="disabled"{/if} /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="logs"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/filter.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="log_autodelete"}:</td>
<td class="td2">
<input type="checkbox" id="logs_autodelete" name="logs_autodelete"{if $bm_prefs.logs_autodelete=='yes'} checked="checked"{/if} />
<label for="logs_autodelete">{lng p="enableolder"}</label>
<input type="number" name="logs_autodelete_days" value="{if isset($bm_prefs.logs_autodelete_days)}{text value=$bm_prefs.logs_autodelete_days}{/if}" size="4" min="1" step="1" />
{lng p="days"}<br />
<input type="checkbox" id="logs_autodelete_archive" name="logs_autodelete_archive"{if $bm_prefs.logs_autodelete_archive=='yes'} checked="checked"{/if} />
<label for="logs_autodelete_archive">{lng p="savearc"}</label>
</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="users"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_users.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="logouturl"}:</td>
<td class="td2"><input type="text" name="logouturl" value="{text allowEmpty=true value=$bm_prefs.logouturl}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="savehistory"}?</td>
<td class="td2"><input name="contact_history"{if $bm_prefs.contact_history=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="gutregged"}?</td>
<td class="td2"><input name="gut_regged"{if $bm_prefs.gut_regged=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="autocancel"}?</td>
<td class="td2"><input name="autocancel"{if $bm_prefs.autocancel=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="notifications"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_notify.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="notifyinterval"}:</td>
<td class="td2"><input type="number" name="notify_interval" value="{$bm_prefs.notify_interval}" size="6" min="1" step="1" /> {lng p="seconds"}</td>
</tr>
<tr>
<td class="td1" width="220">{lng p="notifylifetime"}:</td>
<td class="td2"><input type="number" name="notify_lifetime" value="{$bm_prefs.notify_lifetime}" size="6" min="1" step="1" /> {lng p="days2"}</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="defaults"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/ico_prefs_defaults.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="language"}:</td>
<td class="td2"><select name="language">
{foreach from=$languages item=lang key=langID}
<option value="{$langID}"{if $langID==$bm_prefs.language} selected="selected"{/if}>{text value=$lang.title}</option>
{/foreach}
</select></td>
</tr>
<tr>
<td class="td1">{lng p="country"}:</td>
<td class="td2"><select name="std_land">
{foreach from=$countries item=country key=countryID}
<option value="{$countryID}"{if $countryID==$bm_prefs.std_land} selected="selected"{/if}>{text value=$country}</option>
{/foreach}
</select></td>
</tr>
<tr>
<td class="td1">{lng p="dateformat"}:</td>
<td class="td2"><input type="text" name="datumsformat" value="{$bm_prefs.datumsformat}" size="16" /></td>
</tr>
<tr>
<td class="td1">{lng p="itemsperpage"}:</td>
<td class="td2"><input type="number" min="1" step="1" name="ordner_proseite" value="{$bm_prefs.ordner_proseite}" size="6" /></td>
</tr>
<tr>
<td class="td1">{lng p="mail_groupmode"}:</td>
<td class="td2"><select name="mail_groupmode">
<option value="-"{if $bm_prefs.mail_groupmode=='-'} selected="selected"{/if}>------------</option>
<optgroup label="{lng p="props"}">
<option value="fetched"{if $bm_prefs.mail_groupmode=='fetched'} selected="selected"{/if}>{lng p="date"}</option>
<option value="von"{if $bm_prefs.mail_groupmode=='von'} selected="selected"{/if}>{lng p="from"}</option>
</optgroup>
<optgroup label="{lng p="flags"}">
<option value="gelesen"{if $bm_prefs.mail_groupmode=='gelesen'} selected="selected"{/if}>{lng p="read"}</option>
<option value="beantwortet"{if $bm_prefs.mail_groupmode=='beantwortet'} selected="selected"{/if}>{lng p="answered"}</option>
<option value="weitergeleitet"{if $bm_prefs.mail_groupmode=='weitergeleitet'} selected="selected"{/if}>{lng p="forwarded"}</option>
<option value="flagged"{if $bm_prefs.mail_groupmode=='flagged'} selected="selected"{/if}>{lng p="flagged"}</option>
<option value="done"{if $bm_prefs.mail_groupmode=='done'} selected="selected"{/if}>{lng p="done"}</option>
<option value="attach"{if $bm_prefs.mail_groupmode=='attach'} selected="selected"{/if}>{lng p="attachment"}</option>
<option value="color"{if $bm_prefs.mail_groupmode=='color'} selected="selected"{/if}>{lng p="color"}</option>
</optgroup>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="calendarviewmode"}:</td>
<td class="td2"><select name="calendar_defaultviewmode">
<option value="day"{if $bm_prefs.calendar_defaultviewmode=='day'} selected="selected"{/if}>{lng p="day"}</option>
<option value="week"{if $bm_prefs.calendar_defaultviewmode=='week'} selected="selected"{/if}>{lng p="week"}</option>
<option value="month"{if $bm_prefs.calendar_defaultviewmode=='month'} selected="selected"{/if}>{lng p="month"}</option>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="hotkeys"}?</td>
<td class="td2"><input name="hotkeys_default"{if $bm_prefs.hotkeys_default=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="projecttitle"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="titel" value="{text allowEmpty=true value=$bm_prefs.titel}" placeholder="{lng p="projecttitle"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="hostname"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="b1gmta_host" value="{text allowEmpty=true value=$bm_prefs.b1gmta_host}" placeholder="{lng p="hostname"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="selffolder"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="selffolder" value="{text allowEmpty=true value=$bm_prefs.selffolder}" placeholder="{lng p="selffolder"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="selfurl"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="selfurl" value="{text allowEmpty=true value=$bm_prefs.selfurl}" placeholder="{lng p="selfurl"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="mobile_url"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="mobile_url" value="{text allowEmpty=true value=$bm_prefs.mobile_url}" placeholder="{lng p="mobile_url"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="searchengine"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="search_engine" value="{text allowEmpty=true value=$bm_prefs.search_engine}" placeholder="{lng p="searchengine"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="croninterval"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="cron_interval" value="{text allowEmpty=true value=$bm_prefs.cron_interval}" placeholder="{lng p="croninterval"}">
<span class="input-group-text">{lng p="seconds"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="auto_tz"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="auto_tz"{if $bm_prefs.auto_tz=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="sessioniplock"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ip_lock"{if $bm_prefs.ip_lock=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="sessioncookielock"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="cookie_lock"{if $bm_prefs.cookie_lock=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="compresspages"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="compress_pages"{if $bm_prefs.compress_pages=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
</div>
</p>
<div class="col-md-6">
<fieldset>
<legend>{lng p="nliarea"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="domain_combobox"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="domain_combobox"{if $bm_prefs.domain_combobox=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="redirectmobile"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="redirect_mobile"{if $bm_prefs.redirect_mobile=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="contactform"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="contactform"{if $bm_prefs.contactform=='yes'} checked="checked"{/if}>
</span>
<span class="input-group-text">{lng p="to2"}:</span>
<input type="text" class="form-control" name="contactform_to" value="{email value=$bm_prefs.contactform_to}" placeholder="{lng p="contactform"}">
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="contactform_name"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="contactform_name"{if $bm_prefs.contactform_name=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="contactform_subject"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="contactform_subject"{if $bm_prefs.contactform_subject=='yes'} checked="checked"{/if}>
<span class="form-check-label">{lng p="cfs_note"}<a href="prefs.languages.php?action=texts&sid={$sid}#contact_subjects">&raquo; {lng p="customtexts"}</a></span>
</label>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="ssl"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="ssl_url"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="ssl_url" value="{text allowEmpty=true value=$bm_prefs.ssl_url}" placeholder="{lng p="ssl_url"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="ssl_login_option"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ssl_login_option"{if $bm_prefs.ssl_login_option=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="ssl_login_enable"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ssl_login_enable"{if $bm_prefs.ssl_login_enable=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="ssl_signup_enable"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="ssl_signup_enable"{if $bm_prefs.ssl_signup_enable=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="datastorage"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="datafolder"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="datafolder" value="{text allowEmpty=true value=$bm_prefs.datafolder}" placeholder="{lng p="datafolder"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="structstorage"}</label>
<div class="col-sm-8">
<input class="form-check-input" type="checkbox" name="structstorage"{if $bm_prefs.structstorage=='yes'&&!$safemode} checked="checked"{/if}>
</div>
</div>
</fieldset>
</div>
</div>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="logs"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="log_autodelete"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="logs_autodelete"{if $bm_prefs.logs_autodelete=='yes'} checked="checked"{/if}>
</span>
<span class="input-group-text">{lng p="enableolder"}:</span>
<input type="text" class="form-control" name="logs_autodelete_days" value="{if isset($bm_prefs.logs_autodelete_days)}{text value=$bm_prefs.logs_autodelete_days}{/if}" placeholder="{lng p="contactform"}">
<span class="input-group-text">{lng p="days"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="savearc"}</label>
<div class="col-sm-8">
<input class="form-check-input" type="checkbox" name="logs_autodelete_archive"{if $bm_prefs.logs_autodelete_archive=='yes'&&!$safemode} checked="checked"{/if}>
</div>
</label>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="users"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="logouturl"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="logouturl" value="{text allowEmpty=true value=$bm_prefs.logouturl}" placeholder="{lng p="logouturl"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="savehistory"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="contact_history"{if $bm_prefs.contact_history=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="gutregged"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="gut_regged"{if $bm_prefs.gut_regged=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="autocancel"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="autocancel"{if $bm_prefs.autocancel=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
</div>
</div>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="defaults"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="language"}</label>
<div class="col-sm-8">
<select name="language" class="form-select">
{foreach from=$languages item=lang key=langID}
<option value="{$langID}"{if $langID==$bm_prefs.language} selected="selected"{/if}>{text value=$lang.title}</option>
{/foreach}
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="country"}</label>
<div class="col-sm-8">
<select name="std_land" class="form-select">
{foreach from=$countries item=country key=countryID}
<option value="{$countryID}"{if $countryID==$bm_prefs.std_land} selected="selected"{/if}>{text value=$country}</option>
{/foreach}
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="dateformat"}</label><div class="col-sm-8">
<input type="text" class="form-control" name="datumsformat" value="{$bm_prefs.datumsformat}" placeholder="{lng p="dateformat"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="itemsperpage"}</label>
<div class="col-sm-8">
<input type="number" min="1" step="1" class="form-control" name="ordner_proseite" value="{$bm_prefs.ordner_proseite}" placeholder="{lng p="itemsperpage"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="mail_groupmode"}</label>
<div class="col-sm-8">
<select name="mail_groupmode" class="form-select">
<option value="-"{if $bm_prefs.mail_groupmode=='-'} selected="selected"{/if}>------------</option>
<optgroup label="{lng p="props"}">
<option value="fetched"{if $bm_prefs.mail_groupmode=='fetched'} selected="selected"{/if}>{lng p="date"}</option>
<option value="von"{if $bm_prefs.mail_groupmode=='von'} selected="selected"{/if}>{lng p="from"}</option>
</optgroup>
<optgroup label="{lng p="flags"}">
<option value="gelesen"{if $bm_prefs.mail_groupmode=='gelesen'} selected="selected"{/if}>{lng p="read"}</option>
<option value="beantwortet"{if $bm_prefs.mail_groupmode=='beantwortet'} selected="selected"{/if}>{lng p="answered"}</option>
<option value="weitergeleitet"{if $bm_prefs.mail_groupmode=='weitergeleitet'} selected="selected"{/if}>{lng p="forwarded"}</option>
<option value="flagged"{if $bm_prefs.mail_groupmode=='flagged'} selected="selected"{/if}>{lng p="flagged"}</option>
<option value="done"{if $bm_prefs.mail_groupmode=='done'} selected="selected"{/if}>{lng p="done"}</option>
<option value="attach"{if $bm_prefs.mail_groupmode=='attach'} selected="selected"{/if}>{lng p="attachment"}</option>
<option value="color"{if $bm_prefs.mail_groupmode=='color'} selected="selected"{/if}>{lng p="color"}</option>
</optgroup>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="calendarviewmode"}</label>
<div class="col-sm-8">
<select name="calendar_defaultviewmode" class="form-select">
<option value="day"{if $bm_prefs.calendar_defaultviewmode=='day'} selected="selected"{/if}>{lng p="day"}</option>
<option value="week"{if $bm_prefs.calendar_defaultviewmode=='week'} selected="selected"{/if}>{lng p="week"}</option>
<option value="month"{if $bm_prefs.calendar_defaultviewmode=='month'} selected="selected"{/if}>{lng p="month"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="hotkeys"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="hotkeys_default"{if $bm_prefs.hotkeys_default=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="maintmode"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="maintmode"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="wartung"{if $bm_prefs.wartung=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="whitelist"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="wartung_whitelist" value="{text allowEmpty=true value=$wartungwhitelist}" placeholder="{lng p="whitelist"}">
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="notifications"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="notifyinterval"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="number" class="form-control" name="notify_interval" value="{$bm_prefs.notify_interval}" placeholder="{lng p="notifyinterval"}">
<span class="input-group-text">{lng p="seconds"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="notifylifetime"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="number" class="form-control" name="notify_lifetime" value="{$bm_prefs.notify_lifetime}" placeholder="{lng p="notifylifetime"}">
<span class="input-group-text">{lng p="days2"}</span>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -2,24 +2,32 @@
<legend>{lng p="edit"}</legend>
<form action="prefs.countries.php?do=edit&id={$country.id}&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/country_add.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="country"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="land" value="{$country.land}" /></td>
</tr>
<tr>
<td class="td1">{lng p="eucountry"}?</td>
<td class="td2"><input type="checkbox" name="is_eu"{if $country.is_eu=='yes'} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="vatrate"}:</td>
<td class="td2"><input type="number" min="0" max="100" step="any" size="6" name="vat" value="{$country.vat}" /> %</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="country"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="land" value="{$country.land}" placeholder="{lng p="country"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="eucountry"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="is_eu"{if $country.is_eu=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="vatrate"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<input type="text" class="form-control" name="cron_interval" value="{$country.vat}" min="0" max="100" step="any" placeholder="{lng p="vatrate"}">
<span class="input-group-text">%</span>
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>

View file

@ -2,67 +2,70 @@
<legend>{lng p="countries"}</legend>
<form action="prefs.countries.php?sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'country_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="country"}</th>
<th width="80" style="text-align:center;">{lng p="plzdb"}?</th>
<th width="80" style="text-align:center;">{lng p="eucountry"}?</th>
<th width="80" style="text-align:center;">{lng p="vatrate"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$countries item=country}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/country.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="country_{$country.id}" /></td>
<td>{$country.land}</td>
<td style="text-align:center;">{if $country.plzDB}<img src="{$tpldir}images/ok.png" border="0" alt="" width="16" height="16" />{/if}</td>
<td style="text-align:center;">{if $country.is_eu}<img src="{$tpldir}images/ok.png" border="0" alt="" width="16" height="16" />{/if}</td>
<td style="text-align:center;">{if $country.vat}{$country.vat} %{/if}</td>
<td>
<a href="prefs.countries.php?do=edit&id={$country.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="prefs.countries.php?delete={$country.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 25px; text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'country_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="country"}</th>
<th style="width: 80px;" style="text-align:center;">{lng p="plzdb"}?</th>
<th style="width: 80px;" style="text-align:center;">{lng p="eucountry"}?</th>
<th style="width: 80px;" style="text-align:center;">{lng p="vatrate"}</th>
<th style="width: 60px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$countries item=country}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center"><input type="checkbox" name="country_{$country.id}" /></td>
<td>{$country.land}</td>
<td class="text-center">{if $country.plzDB}<i class="fa-regular fa-square-check"></i>{/if}</td>
<td class="text-center">{if $country.is_eu}<i class="fa-regular fa-square-check"></i>{/if}</td>
<td class="text-center">{if $country.vat}{$country.vat} %{/if}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.countries.php?do=edit&id={$country.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="prefs.countries.php?delete={$country.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addcountry"}</legend>
<form action="prefs.countries.php?add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/country_add.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="country"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="land" value="" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="country"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="land" value="" placeholder="{lng p="country"}">
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -1,99 +1,120 @@
<fieldset>
<legend>{lng p="edit"}</legend>
<form action="prefs.coupons.php?do=edit&save=true&id={$coupon.id}&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/coupon32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="code"}:</td>
<td class="td2">
<input type="text" name="code" value="{if isset($coupon.code)}{text value=$coupon.code}{/if}" style="width:85%;" />
</td>
</tr>
<tr>
<td class="td1">{lng p="count"}:</td>
<td class="td2">
<input type="checkbox" onchange="EBID('count').value=this.checked?'-1':'0';"{if $coupon.anzahl==-1} checked="checked"{/if} id="count_unlim" />
<label for="count_unlim"><b>{lng p="unlimited"}</b></label>
{lng p="or"}
<input type="text" size="6" name="anzahl" id="count" value="{if isset($coupon.anzahl)}{text value=$coupon.anzahl}{/if}" onkeyup="EBID('count_unlim').checked=this.value=='-1';" />
</td>
</tr>
<tr>
<td class="td1">{lng p="from"}:</td>
<td class="td2">
<input type="checkbox"{if $coupon.von==-1} checked="checked"{/if} id="from_unlim" name="von_unlim" />
<label for="from_unlim"><b>{lng p="unlimited"}</b></label>
{lng p="or"}
{if $coupon.von!=-1}{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="." time=$coupon.von},
{html_select_time prefix="von" display_seconds=false time=$coupon.von}{else}{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="von" display_seconds=false}{/if}
</td>
</tr>
<tr>
<td class="td1">{lng p="to"}:</td>
<td class="td2">
<input type="checkbox"{if $coupon.bis==-1} checked="checked"{/if} id="to_unlim" name="bis_unlim" />
<label for="to_unlim"><b>{lng p="unlimited"}</b></label>
{lng p="or"}
{if $coupon.bis!=-1}{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="." time=$coupon.bis},
{html_select_time prefix="bis" display_seconds=false time=$coupon.bis}{else}{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="."},
{html_select_time prefix="bis" display_seconds=false}{/if}
</td>
</tr>
<tr>
<td class="td1">{lng p="validity"}:</td>
<td class="td2">
<input type="checkbox"{if $coupon.valid_signup=='yes'} checked="checked"{/if} id="valid_signup" name="valid_signup" />
<label for="valid_signup"><b>{lng p="signup"}</b></label><br />
<input type="checkbox"{if $coupon.valid_loggedin=='yes'} checked="checked"{/if} id="valid_loggedin" name="valid_loggedin" />
<label for="valid_loggedin"><b>{lng p="li"}</b></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="benefit"}:</td>
<td class="td2">
<div>
<input type="checkbox"{if $coupon.ver.gruppe} checked="checked"{/if} name="ver_gruppe" id="ver_gruppe" />
<label for="ver_gruppe"><b>{lng p="movetogroup"}:</b></label>
<select name="ver_gruppe_id">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="code"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="code" value="{if isset($coupon.code)}{text value=$coupon.code}{/if}" placeholder="{lng p="code"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="count"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" onchange="EBID('count').value=this.checked?'-1':'0';"{if $coupon.anzahl==-1} checked="checked"{/if} id="count_unlim" />
</span>
<span class="input-group-text">{lng p="unlimited"} {lng p="or"}</span>
<input type="text" class="form-control" name="anzahl" id="count" value="{if isset($coupon.anzahl)}{text value=$coupon.anzahl}{/if}" onkeyup="EBID('count_unlim').checked=this.value=='-1';" />
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" id="from_unlim" name="von_unlim"{if $coupon.von==-1} checked="checked"{/if} />
</span>
<span class="input-group-text">{lng p="now"} {lng p="or"}</span>
{if $coupon.von!=-1}{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="." time=$coupon.von},
{html_select_time prefix="von" display_seconds=false time=$coupon.von}{else}{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="von" display_seconds=false}{/if}
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="to"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" id="to_unlim" name="bis_unlim"{if $coupon.bis==-1} checked="checked"{/if} />
</span>
<span class="input-group-text">{lng p="now"} {lng p="or"}</span>
{if $coupon.bis!=-1}{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="." time=$coupon.bis},
{html_select_time prefix="bis" display_seconds=false time=$coupon.bis}{else}{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="."},
{html_select_time prefix="bis" display_seconds=false}{/if}
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="validity"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="valid_signup"{if $coupon.valid_signup=='yes'} checked="checked"{/if}>
<span class="form-check-label">{lng p="signup"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="valid_loggedin"{if $coupon.valid_loggedin=='yes'} checked="checked"{/if}>
<span class="form-check-label">{lng p="li"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="benefit"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="ver_gruppe"{if $coupon.ver.gruppe} checked="checked"{/if} />
</span>
<span class="input-group-text">{lng p="movetogroup"}</span>
<select name="ver_gruppe_id" class="form-select">
{foreach from=$groups item=group}
<option value="{$group.id}"{if $group.id==$coupon.ver.gruppe} selected="selected"{/if}>{text value=$group.title}</option>
{/foreach}
</select>
</div>
<div>
<input type="checkbox"{if $coupon.ver.sms} checked="checked"{/if} name="ver_credits" id="ver_credits" />
<label for="ver_credits"><b>{lng p="addcredits"}:</b></label>
<input type="text" name="ver_credits_count" value="{if $coupon.ver.sms}{text value=$coupon.ver.sms}{else}5{/if}" size="6" />
</div>
</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
</select>
</div>
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="ver_credits"{if $coupon.ver.sms} checked="checked"{/if} />
</span>
<span class="input-group-text">{lng p="addcredits"}</span>
<input class="form-control" type="text" name="ver_credits_count" value="{if $coupon.ver.sms}{text value=$coupon.ver.sms}{else}5{/if}" />
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="redeemedby"}</legend>
<table class="list">
<tr>
<th width="50">{lng p="id"}</td>
<th width="20%">{lng p="email"}</td>
<th>{lng p="name"}</td>
</tr>
{foreach from=$usedBy item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td>{$user.id}</td>
<td><a href="users.php?do=edit&id={$user.id}&sid={$sid}">{$user.email}</a><br /><small>{text value=$user.aliases cut=45 allowEmpty=true}</small></td>
<td>{text value=$user.nachname cut=20}, {text value=$user.vorname cut=20}<br /><small>{text value=$user.strasse cut=20} {text value=$user.hnr cut=5}, {text value=$user.plz cut=8} {text value=$user.ort cut=20}</small></td>
</tr>
{/foreach}
</table>
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 50px;">{lng p="id"}</td>
<th style="width: 20%;">{lng p="email"}</td>
<th>{lng p="name"}</td>
</tr>
</thead>
<tbody>
{foreach from=$usedBy item=user}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td>{$user.id}</td>
<td><a href="users.php?do=edit&id={$user.id}&sid={$sid}">{$user.email}</a><br /><small>{text value=$user.aliases cut=45 allowEmpty=true}</small></td>
<td>{text value=$user.nachname cut=20}, {text value=$user.vorname cut=20}<br /><small>{text value=$user.strasse cut=20} {text value=$user.hnr cut=5}, {text value=$user.plz cut=8} {text value=$user.ort cut=20}</small></td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</fieldset>

View file

@ -1,172 +1,198 @@
<fieldset>
<legend>{lng p="coupons"}</legend>
<form action="prefs.coupons.php?sid={$sid}" method="post" name="f1" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'coupon_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="code"}</th>
<th>{lng p="validitytime"}</th>
<th width="160">{lng p="validity"}</th>
<th width="160">{lng p="used3"} / {lng p="count"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$coupons item=coupon}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/coupon.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="coupon_{$coupon.id}" /></td>
<td>{text value=$coupon.code}<br />
<small>{if $coupon.ver.sms}{lng p="addcredits"}: {$coupon.ver.sms}{/if}{if $coupon.ver.gruppe}{if $coupon.ver.sms}, {/if}{lng p="movetogroup"}: {$groups[$coupon.ver.gruppe].title}{/if}</small></td>
<td>{lng p="to"} {if $coupon.bis==-1}({lng p="unlimited"}){else}{date timestamp=$coupon.bis}{/if}
<br /><small>{lng p="from"} {if $coupon.von==-1}({lng p="unlimited"}){else}{date timestamp=$coupon.von}{/if}</small></td>
<td>
{if $coupon.valid_signup}{lng p="signup"}{if $coupon.valid_loggedin},{/if}{/if}
{if $coupon.valid_loggedin}{lng p="li"}{/if}
</td>
<td>{$coupon.used}
/ {if $coupon.anzahl==-1}({lng p="unlimited"}){else}{$coupon.anzahl}{/if}</td>
<td>
<a href="prefs.coupons.php?do=edit&id={$coupon.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="prefs.coupons.php?delete={$coupon.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 20px; text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'coupon_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="code"}</th>
<th style="width: 200px;">{lng p="validitytime"}</th>
<th style="width: 200px;">{lng p="validity"}</th>
<th style="width: 160px;">{lng p="used3"} / {lng p="count"}</th>
<th style="width: 60px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$coupons item=coupon}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center"><input type="checkbox" name="coupon_{$coupon.id}" /></td>
<td>{text value=$coupon.code}<br /><small>{if $coupon.ver.sms}{lng p="addcredits"}: {$coupon.ver.sms}{/if}{if $coupon.ver.gruppe}{if $coupon.ver.sms}, {/if}{lng p="movetogroup"}: {$groups[$coupon.ver.gruppe].title}{/if}</small></td>
<td>{lng p="to"} {if $coupon.bis==-1}({lng p="unlimited"}){else}{date timestamp=$coupon.bis}{/if}<br /><small>{lng p="from"} {if $coupon.von==-1}({lng p="unlimited"}){else}{date timestamp=$coupon.von}{/if}</small></td>
<td>
{if $coupon.valid_signup}{lng p="signup"}{if $coupon.valid_loggedin},{/if}{/if}
{if $coupon.valid_loggedin}{lng p="li"}{/if}
</td>
<td>{$coupon.used} / {if $coupon.anzahl==-1}({lng p="unlimited"}){else}{$coupon.anzahl}{/if}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.coupons.php?do=edit&id={$coupon.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="prefs.coupons.php?delete={$coupon.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addcoupon"}</legend>
<form action="prefs.coupons.php?add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/coupon32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="codes"}:</td>
<td class="td2">
<textarea style="width:100%;height:80px;" name="code" id="codes"></textarea>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td align="left"><small>{lng p="sepby"}</small></td>
<td align="right">[ <a href="javascript:void(0);" onclick="EBID('generator').style.display=EBID('generator').style.display==''?'none':'';">{lng p="generate"}</a> ]</td>
</tr>
</table>
<div id="generator" style="display:none;">
<fieldset>
<legend>{lng p="generate"}</legend>
<table width="100%">
<tr>
<td class="td1" width="120">{lng p="count"}:</td>
<td class="td2"><input type="text" id="generator_count" value="10" size="6" /></td>
</tr>
<tr>
<td class="td1">{lng p="length"}:</td>
<td class="td2"><input type="text" id="generator_length" value="10" size="6" /></td>
</tr>
<tr>
<td class="td1">{lng p="chars"}:</td>
<td class="td2">
<input type="checkbox" checked="checked" id="generator_az" />
<label for="generator_az"><b>a-z</b></label>
<input type="checkbox" checked="checked" id="generator_az2" />
<label for="generator_az2"><b>A-Z</b></label>
<input type="checkbox" checked="checked" id="generator_09" />
<label for="generator_09"><b>0-9</b></label>
<input type="checkbox" id="generator_special" />
<label for="generator_special"><b>.,_-&amp;$</b></label>
</td>
</tr>
<tr>
<td class="td1">&nbsp;</td>
<td class="td2"><input class="button" type="button" value=" {lng p="generate"} " onclick="generateCodes(EBID('codes'));EBID('generator').style.display='none';" /></td>
</tr>
</table>
</fieldset>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="codes"}</label>
<div class="col-sm-10">
<textarea class="form-control" name="code" id="codes" placeholder="{lng p="codes"}"></textarea>
<div class="text-end">[ <a href="javascript:void(0);" onclick="EBID('generator').style.display=EBID('generator').style.display==''?'none':'';">{lng p="generate"}</a> ]</div>
</div>
</div>
<div id="generator" style="display:none;">
<fieldset>
<legend>{lng p="generate"}</legend>
<div class="row">
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="count"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" id="generator_count" value="10" placeholder="{lng p="count"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="length"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" id="generator_length" value="10" placeholder="{lng p="length"}">
</div>
</div>
</div>
</td>
</tr>
<tr>
<td class="td1">{lng p="count"}:</td>
<td class="td2">
<input type="checkbox" onchange="EBID('count').value=this.checked?'-1':'0';" checked="checked" id="count_unlim" />
<label for="count_unlim"><b>{lng p="unlimited"}</b></label>
{lng p="or"}
<input type="text" size="6" name="anzahl" id="count" value="-1" onkeyup="EBID('count_unlim').checked=this.value=='-1';" />
</td>
</tr>
<tr>
<td class="td1">{lng p="from"}:</td>
<td class="td2">
<input type="checkbox" checked="checked" id="from_unlim" name="von_unlim" />
<label for="from_unlim"><b>{lng p="now"}</b></label>
{lng p="or"}
{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="."},
<div class="col-md-6">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="chars"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" id="generator_az" checked="checked">
<span class="form-check-label">a-z</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" id="generator_az2" checked="checked">
<span class="form-check-label">A-Z</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" id="generator_09" checked="checked">
<span class="form-check-label">0-9</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" id="generator_special">
<span class="form-check-label">.,_-&amp;$</span>
</label>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="button" value="{lng p="generate"}" onclick="generateCodes(EBID('codes')); EBID('generator').style.display='none';" />
</div>
</div>
</div>
</fieldset>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="count"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" onchange="EBID('count').value=this.checked?'-1':'0';" checked="checked" id="count_unlim" />
</span>
<span class="input-group-text">{lng p="unlimited"} {lng p="or"}</span>
<input type="text" class="form-control" name="anzahl" id="count" value="-1" onkeyup="EBID('count_unlim').checked=this.value=='-1';" />
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="from"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" id="from_unlim" name="von_unlim" checked="checked" />
</span>
<span class="input-group-text">{lng p="now"} {lng p="or"}</span>
{html_select_date prefix="von" start_year="-5" field_order="DMY" field_separator="."},
{html_select_time prefix="von" display_seconds=false}
</td>
</tr>
<tr>
<td class="td1">{lng p="to"}:</td>
<td class="td2">
<input type="checkbox" checked="checked" id="to_unlim" name="bis_unlim" />
<label for="to_unlim"><b>{lng p="unlimited"}</b></label>
{lng p="or"}
{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="."},
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="to"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" id="to_unlim" name="bis_unlim" checked="checked" />
</span>
<span class="input-group-text">{lng p="now"} {lng p="or"}</span>
{html_select_date prefix="bis" end_year="+5" field_order="DMY" field_separator="."},
{html_select_time prefix="bis" display_seconds=false}
</td>
</tr>
<tr>
<td class="td1">{lng p="validity"}:</td>
<td class="td2">
<input type="checkbox" checked="checked" id="valid_signup" name="valid_signup" />
<label for="valid_signup"><b>{lng p="signup"}</b></label><br />
<input type="checkbox" checked="checked" id="valid_loggedin" name="valid_loggedin" />
<label for="valid_loggedin"><b>{lng p="li"}</b></label>
</td>
</tr>
<tr>
<td class="td1">{lng p="benefit"}:</td>
<td class="td2">
<div>
<input type="checkbox" name="ver_gruppe" id="ver_gruppe" />
<label for="ver_gruppe"><b>{lng p="movetogroup"}:</b></label>
<select name="ver_gruppe_id">
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="validity"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="valid_signup" checked="checked">
<span class="form-check-label">{lng p="signup"}</span>
</label>
<label class="form-check">
<input class="form-check-input" type="checkbox" name="valid_loggedin" checked="checked">
<span class="form-check-label">{lng p="li"}</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="benefit"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="ver_gruppe" />
</span>
<span class="input-group-text">{lng p="movetogroup"}</span>
<select name="ver_gruppe_id" class="form-select">
{foreach from=$groups item=group}
<option value="{$group.id}">{text value=$group.title}</option>
{/foreach}
</select>
</div>
<div>
<input type="checkbox" name="ver_credits" id="ver_credits" />
<label for="ver_credits"><b>{lng p="addcredits"}:</b></label>
<input type="text" name="ver_credits_count" value="5" size="6" />
</div>
</td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
</select>
</div>
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="ver_credits" />
</span>
<span class="input-group-text">{lng p="addcredits"}</span>
<input class="form-control" type="text" name="ver_credits_count" value="5" />
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -1,88 +1,103 @@
<fieldset>
<legend>{lng p="domains"}</legend>
<form action="prefs.common.php?action=domains&sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection2(document.forms.f1,'domains[','[del]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="domain"}</th>
<th style="text-align:center;" width="100">{lng p="login"}</th>
<th style="text-align:center;" width="100">{lng p="signup"}</th>
<th style="text-align:center;" width="100">{lng p="aliases"}</th>
<th width="80">{lng p="pos"}</th>
<th width="35">&nbsp;</th>
</tr>
{foreach from=$domains item=domain}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/domain.png" border="0" alt="" width="16" height="16" /></td>
<td><input type="checkbox" name="domains[{$domain.domain}][del]" /></td>
<td>{domain value=$domain.domain}</td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_login]"{if $domain.in_login} checked="checked"{/if} /></td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_signup]"{if $domain.in_signup} checked="checked"{/if} /></td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_aliases]"{if $domain.in_aliases} checked="checked"{/if} /></td>
<td><input type="text" name="domains[{$domain.domain}][pos]" value="{if isset($domain.pos)}{text value=$domain.pos allowEmpty=true}{/if}" size="6" /></td>
<td>
<a href="prefs.common.php?action=domains&delete={$domain.urlDomain}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection2(document.forms.f1,'domains[','[del]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="domain"}</th>
<th style="width: 100px; text-align:center;">{lng p="login"}</th>
<th style="width: 100px; text-align:center;">{lng p="signup"}</th>
<th style="width: 100px; text-align:center;">{lng p="aliases"}</th>
<th style="width: 80px;">{lng p="pos"}</th>
<th style="width: 35px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$domains item=domain}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><input type="checkbox" name="domains[{$domain.domain}][del]" /></td>
<td>{domain value=$domain.domain}</td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_login]"{if $domain.in_login} checked="checked"{/if} /></td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_signup]"{if $domain.in_signup} checked="checked"{/if} /></td>
<td style="text-align:center;"><input type="checkbox" name="domains[{$domain.domain}][in_aliases]"{if $domain.in_aliases} checked="checked"{/if} /></td>
<td><input type="text" name="domains[{$domain.domain}][pos]" value="{if isset($domain.pos)}{text value=$domain.pos allowEmpty=true}{/if}" size="6" /></td>
<td>
<a href="prefs.common.php?action=domains&delete={$domain.urlDomain}&sid={$sid}" class="btn btn-sm" onclick="return confirm('{lng p="realdel"}');"><i class="fa-regular fa-trash-can"></i></a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div class="row">
<div class="col-md-6">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
</div>
<div class="col-md-6 text-end">
<input type="submit" name="save" value="{lng p="save"}" class="btn btn-sm btn-primary" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
<div style="float:right;">
<input type="submit" name="save" class="button" value=" {lng p="save"} " />&nbsp;
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="adddomain"}</legend>
<form action="prefs.common.php?action=domains&add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/domain32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="domain"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="domain" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="show_at"}:</td>
<td class="td2"><input type="checkbox" name="in_login" id="in_login" checked="checked" />
<label for="in_login">{lng p="login"}</label>
<br />
<input type="checkbox" name="in_signup" id="in_signup" checked="checked" />
<label for="in_signup">{lng p="signup"}</label>
<br />
<input type="checkbox" name="in_aliases" id="in_aliases" checked="checked" />
<label for="in_aliases">{lng p="aliases"}</label>
</td>
</tr>
<tr>
<td class="td1">{lng p="pos"}:</td>
<td class="td2"><input type="text" name="pos" value="0" size="6" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
<div class="row">
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">{lng p="domain"}</label>
<input type="text" class="form-control" id="username" name="domain" placeholder="{lng p="domain"}">
</div>
</div>
<div class="col-md-2">
<div class="mb-3">
<label class="form-label">{lng p="pos"}</label>
<input type="number" class="form-control" id="pos" name="pos" value="0" size="6" placeholder="{lng p="pos"}">
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">{lng p="show_at"}</label>
<div class="form-selectgroup">
<label class="form-selectgroup-item">
<input type="checkbox" name="in_login" class="form-selectgroup-input" checked="checked">
<span class="form-selectgroup-label">{lng p="login"}</span>
</label>
<label class="form-selectgroup-item">
<input type="checkbox" name="in_login" class="form-selectgroup-input" checked="checked">
<span class="form-selectgroup-label">{lng p="signup"}</span>
</label>
<label class="form-selectgroup-item">
<input type="checkbox" name="in_aliases" class="form-selectgroup-input" checked="checked">
<span class="form-selectgroup-label">{lng p="aliases"}</span>
</label>
</div>
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -1,53 +1,67 @@
<form action="prefs.email.php?action=antispam&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="dnsbl"}</legend>
<table width="90%">
<tr>
<td align="left" rowspan="3" valign="top" width="40"><img src="{$tpldir}images/antispam_dnsbl.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enable"}?</td>
<td class="td2"><input name="spamcheck"{if $bm_prefs.spamcheck=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="dnsblservers"}:</td>
<td class="td2">
<textarea style="width:100%;height:80px;" name="dnsbl">{text value=$bm_prefs.dnsbl allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
</td>
</tr>
<tr>
<td class="td1">{lng p="dnsblreq"}:</td>
<td class="td2"><input type="text" name="dnsbl_requiredservers" value="{$bm_prefs.dnsbl_requiredservers}" size="6" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="bayes"}</legend>
<table width="90%">
<tr>
<td align="left" rowspan="3" valign="top" width="40"><img src="{$tpldir}images/antispam_bayes.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enable"}?</td>
<td class="td2"><input name="use_bayes"{if $bm_prefs.use_bayes=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="bayesmode"}:</td>
<td class="td2"><select name="bayes_mode">
<option value="local"{if $bm_prefs.bayes_mode=='local'} selected="selected"{/if}>{lng p="bayeslocal"}</option>
<option value="global"{if $bm_prefs.bayes_mode=='global'} selected="selected"{/if}>{lng p="bayesglobal"}</option>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="bayesdb"}:</td>
<td class="td2">{$bayesWordCount} {lng p="entries"} <input{if $bayesWordCount==0} disabled="disabled"{/if} class="button" type="button" value=" {lng p="reset"} " onclick="if(confirm('{lng p="bayesresetq"}')) document.location.href='prefs.email.php?action=antispam&resetBayesDB=true&sid={$sid}';" /></td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
<form action="prefs.email.php?action=antispam&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="dnsbl"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="enable"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="spamcheck"{if $bm_prefs.spamcheck=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="dnsblservers"}</label>
<div class="col-sm-8">
<textarea class="form-control" name="dnsbl" placeholder="{lng p="dnsblservers"}">{text value=$bm_prefs.dnsbl allowEmpty=true}</textarea>
<small>{lng p="sepby"}</small>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="dnsblreq"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" name="dnsbl_requiredservers" value="{$bm_prefs.dnsbl_requiredservers}" placeholder="{lng p="dnsblreq"}">
</div>
</div>
</fieldset>
</div>
</p>
<div class="col-md-6">
<fieldset>
<legend>{lng p="bayes"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="enable"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="use_bayes"{if $bm_prefs.use_bayes=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="bayesmode"}</label>
<div class="col-sm-8">
<select name="bayes_mode" class="form-select">
<option value="local"{if $bm_prefs.bayes_mode=='local'} selected="selected"{/if}>{lng p="bayeslocal"}</option>
<option value="global"{if $bm_prefs.bayes_mode=='global'} selected="selected"{/if}>{lng p="bayesglobal"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="bayesdb"}</label>
<div class="col-sm-8">
<div class="input-group">
<span class="input-group-text">{$bayesWordCount} {lng p="entries"}</span>
<input{if $bayesWordCount==0} disabled="disabled"{/if} class="btn" type="button" value=" {lng p="reset"} " onclick="if(confirm('{lng p="bayesresetq"}')) document.location.href='prefs.email.php?action=antispam&resetBayesDB=true&sid={$sid}';" />
</div>
</div>
</div>
</fieldset>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -1,32 +1,32 @@
<form action="prefs.email.php?action=antivirus&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="clamintegration"}</legend>
<table>
<tr>
<td align="left" rowspan="3" valign="top" width="40"><img src="{$tpldir}images/antivirus.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enable"}?</td>
<td class="td2"><input name="use_clamd"{if $bm_prefs.use_clamd=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="host"}:</td>
<td class="td2"><input type="text" name="clamd_host" value="{$bm_prefs.clamd_host}" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="port"}:</td>
<td class="td2"><input type="text" name="clamd_port" value="{$bm_prefs.clamd_port}" size="6" /></td>
</tr>
</table>
<p>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" />
{lng p="clamwarning"}
</p>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
<div class="alert alert-warning">{lng p="clamwarning"}</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="enable"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="use_clamd"{if $bm_prefs.use_clamd=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="host"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="clamd_host" value="{$bm_prefs.clamd_host}" placeholder="{lng p="host"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="port"}</label>
<div class="col-sm-10">
<input type="number" class="form-control" name="clamd_port" value="{$bm_prefs.clamd_port}" placeholder="{lng p="port"}">
</div>
</div>
</fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -1,50 +1,44 @@
<form action="prefs.email.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="common"}</legend>
<table>
<tr>
<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">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="storein"}</label>
<div class="col-sm-10">
<select name="blobstorage_provider" class="form-select">
<option value="0"{if $bm_prefs.blobstorage_provider==0} selected="selected"{/if}>{lng p="filesystem"} ({lng p="separatefiles"})</option>
<option value="1"{if $bm_prefs.blobstorage_provider==1} selected="selected"{/if}{if !$bsUserDBAvailable} disabled="disabled"{/if}>{lng p="filesystem"} ({lng p="userdb"})</option>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="blobcompress"}?</td>
<td class="td2">
<label>
<input name="blobstorage_compress"{if $bm_prefs.blobstorage_compress=='yes'} checked="checked"{/if} type="checkbox" />
{lng p="enable"}
</label>
<small style="margin-left:1em;color:#666;">{lng p="onlyfor"} &quot;{lng p="filesystem"} ({lng p="userdb"})&quot;</small>
</td>
</tr>
<tr>
<td class="td1">{lng p="ftsearch"}:</td>
<td class="td2">
<label>
<input name="fts_bg_indexing"{if $bm_prefs.fts_bg_indexing=='yes'} checked="checked"{/if} type="checkbox" />
{lng p="fts_bg_indexing"}
</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>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</select>
</div>
</div>
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="blobcompress"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="blobstorage_compress"{if $bm_prefs.blobstorage_compress=='yes'} checked="checked"{/if}>
<span class="form-check-label">{lng p="onlyfor"} &quot;{lng p="filesystem"} ({lng p="userdb"})&quot;</span>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="ftsearch"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="fts_bg_indexing"{if $bm_prefs.fts_bg_indexing=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="exturl"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="exturl_warning"{if $bm_prefs.exturl_warning=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

View file

@ -1,89 +1,116 @@
<form action="prefs.email.php?action=receive&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="recvmethod"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_receiving.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="recvmethod"}:</td>
<td class="td2"><select name="receive_method">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="recvmethod"}</label>
<div class="col-sm-10">
<select name="receive_method" class="form-select">
<option value="pop3"{if $bm_prefs.receive_method=='pop3'} selected="selected"{/if}>{lng p="pop3gateway"}</option>
<option value="pipe"{if $bm_prefs.receive_method=='pipe'} selected="selected"{/if}>{lng p="pipeetc"}</option>
</select></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="pop3gateway"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_login.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="pop3host"}:</td>
<td class="td2"><input type="text" name="pop3_host" value="{text allowEmpty=true value=$bm_prefs.pop3_host}" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="pop3port"}:</td>
<td class="td2"><input type="text" name="pop3_port" value="{$bm_prefs.pop3_port}" size="6" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="pop3user"}:</td>
<td class="td2"><input type="text" name="pop3_user" value="{text allowEmpty=true value=$bm_prefs.pop3_user}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="pop3pass"}:</td>
<td class="td2"><input type="password" autocomplete="off" name="pop3_pass" value="{text allowEmpty=true value=$bm_prefs.pop3_pass}" size="36" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="fetchcount"}:</td>
<td class="td2"><input type="text" name="fetchcount" value="{$bm_prefs.fetchcount}" size="6" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="miscprefs"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/ico_prefs_misc.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="recpdetection"}:</td>
<td class="td2"><select name="recipient_detection">
<option value="static"{if $bm_prefs.recipient_detection=='static'} selected="selected"{/if}>{lng p="rd_static"}</option>
<option value="dynamic"{if $bm_prefs.recipient_detection=='dynamic'} selected="selected"{/if}>{lng p="rd_dynamic"}</option>
</select></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="errormail"}?</td>
<td class="td2"><select name="errormail">
<option value="yes"{if $bm_prefs.errormail=='yes'} selected="selected"{/if}>{lng p="yes"}</option>
<option value="no"{if $bm_prefs.errormail=='no'} selected="selected"{/if}>{lng p="no"}</option>
<option value="soft"{if $bm_prefs.errormail=='soft'} selected="selected"{/if}>{lng p="errormail_soft"}</option>
</select></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="detectduplicates"}?</td>
<td class="td2"><input name="detect_duplicates"{if $bm_prefs.detect_duplicates=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="returnpathcheck"}?</td>
<td class="td2"><input name="returnpath_check"{if $bm_prefs.returnpath_check=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="failure_forward"}?</td>
<td class="td2"><input name="failure_forward"{if $bm_prefs.failure_forward=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="mailmax"}:</td>
<td class="td2"><input type="text" name="mailmax" value="{$bm_prefs.mailmax/1024}" size="6" /> KB</td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />&nbsp;
</select>
</div>
</div>
</p>
</fieldset>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="pop3gateway"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="pop3host"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="pop3_host" value="{text allowEmpty=true value=$bm_prefs.pop3_host}" placeholder="{lng p="pop3host"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="pop3port"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" name="pop3_port" value="{$bm_prefs.pop3_port}" placeholder="{lng p="pop3port"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="pop3user"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="pop3_user" value="{text allowEmpty=true value=$bm_prefs.pop3_user}" placeholder="{lng p="pop3user"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="pop3pass"}</label>
<div class="col-sm-8">
<input type="password" class="form-control" name="pop3_host" value="{text allowEmpty=true value=$bm_prefs.pop3_pass}" placeholder="{lng p="pop3pass"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="fetchcount"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" name="fetchcount" value="{$bm_prefs.fetchcount}" placeholder="{lng p="fetchcount"}">
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="miscprefs"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="recpdetection"}</label>
<div class="col-sm-8">
<select name="recipient_detection" class="form-select">
<option value="static"{if $bm_prefs.recipient_detection=='static'} selected="selected"{/if}>{lng p="rd_static"}</option>
<option value="dynamic"{if $bm_prefs.recipient_detection=='dynamic'} selected="selected"{/if}>{lng p="rd_dynamic"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="errormail"}</label>
<div class="col-sm-8">
<select name="errormail" class="form-select">
<option value="yes"{if $bm_prefs.errormail=='yes'} selected="selected"{/if}>{lng p="yes"}</option>
<option value="no"{if $bm_prefs.errormail=='no'} selected="selected"{/if}>{lng p="no"}</option>
<option value="soft"{if $bm_prefs.errormail=='soft'} selected="selected"{/if}>{lng p="errormail_soft"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="detectduplicates"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="detect_duplicates"{if $bm_prefs.detect_duplicates=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="returnpathcheck"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="returnpath_check"{if $bm_prefs.returnpath_check=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="failure_forward"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="failure_forward"{if $bm_prefs.failure_forward=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="mailmax"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="text" class="form-control" name="mailmax" value="{$bm_prefs.mailmax/1024}" placeholder="{lng p="mailmax"}">
<span class="input-group-text">KB</span>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />&nbsp;
</div>
</form>

View file

@ -2,95 +2,116 @@
<fieldset>
<legend>{lng p="sendmethod"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_sending.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="sendmethod"}:</td>
<td class="td2"><select name="send_method">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="sendmethod"}</label>
<div class="col-sm-10">
<select name="send_method" class="form-control">
<option value="smtp"{if $bm_prefs.send_method=='smtp'} selected="selected"{/if}>{lng p="smtp"}</option>
<option value="php"{if $bm_prefs.send_method=='php'} selected="selected"{/if}>{lng p="phpmail"}</option>
<option value="sendmail"{if $bm_prefs.send_method=='sendmail'} selected="selected"{/if}>{lng p="sendmail2"}</option>
</select></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="smtp"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_login.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="smtphost"}:</td>
<td class="td2"><input type="text" name="smtp_host" value="{text allowEmpty=true value=$bm_prefs.smtp_host}" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="smtpport"}:</td>
<td class="td2"><input type="text" name="smtp_port" value="{$bm_prefs.smtp_port}" size="6" /></td>
</tr>
<tr>
<td class="td1">{lng p="smtpauth"}?</td>
<td class="td2"><input name="smtp_auth"{if $bm_prefs.smtp_auth=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="smtpuser"}:</td>
<td class="td2"><input type="text" name="smtp_user" value="{text allowEmpty=true value=$bm_prefs.smtp_user}" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="smtppass"}:</td>
<td class="td2"><input type="password" autocomplete="off" name="smtp_pass" value="{text allowEmpty=true value=$bm_prefs.smtp_pass}" size="36" /></td>
</tr>
</table>
</select>
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="sendmail2"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_cmd.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="sendmailpath"}:</td>
<td class="td2"><input type="text" name="sendmail_path" value="{text allowEmpty=true value=$bm_prefs.sendmail_path}" size="36" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="miscprefs"}</legend>
<table width="90%">
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_misc.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="sysmailsender"}:</td>
<td class="td2"><input type="text" name="passmail_abs" value="{email value=$bm_prefs.passmail_abs}" size="36" /></td>
</tr>
<tr>
<td class="td1">{lng p="blockedrecps"}:</td>
<td class="td2">
<textarea style="width:100%;height:80px;" name="blocked">{text value=$bm_prefs.blocked allowEmpty=true}</textarea>
<small>{lng p="altmailsepby"}</small>
</td>
</tr>
<tr>
<td class="td1">{lng p="certmaillife"}:</td>
<td class="td2"><input type="text" name="einsch_life" value="{$bm_prefs.einsch_life/86400}" size="4" />
{lng p="days"}</td>
</tr>
<tr>
<td class="td1">{lng p="min_draft_save"}:</td>
<td class="td2"><input type="text" name="min_draft_save_interval" value="{$bm_prefs.min_draft_save_interval}" size="4" />
{lng p="seconds"}</td>
</tr>
<tr>
<td class="td1">{lng p="write_xsenderip"}?</td>
<td class="td2"><input name="write_xsenderip"{if $bm_prefs.write_xsenderip=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
</table>
</fieldset>
<p>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />&nbsp;
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="sendmailpath"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="sendmail_path" value="{text allowEmpty=true value=$bm_prefs.sendmail_path}" placeholder="{lng p="sendmailpath"}">
</div>
</div>
</p>
</fieldset>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="smtp"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smtphost"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="smtp_host" value="{text allowEmpty=true value=$bm_prefs.smtp_host}" placeholder="{lng p="smtphost"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smtpport"}</label>
<div class="col-sm-8">
<input type="number" class="form-control" name="smtp_port" value="{$bm_prefs.smtp_port}" placeholder="{lng p="smtpport"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="smtpauth"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="smtp_auth"{if $bm_prefs.smtp_auth=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smtpuser"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="smtp_user" value="{text allowEmpty=true value=$bm_prefs.smtp_user}" placeholder="{lng p="smtpuser"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="smtppass"}</label>
<div class="col-sm-8">
<input type="password" class="form-control" name="smtp_pass" value="{text allowEmpty=true value=$bm_prefs.smtp_pass}" placeholder="{lng p="smtppass"}">
</div>
</div>
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="miscprefs"}</legend>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="sysmailsender"}</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="passmail_abs" value="{text allowEmpty=true value=$bm_prefs.passmail_abs}" placeholder="{lng p="sysmailsender"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="blockedrecps"}</label>
<div class="col-sm-8">
<textarea class="form-control" name="blocked" placeholder="{lng p="blockedrecps"}">{text value=$bm_prefs.blocked allowEmpty=true}</textarea>
<small>{lng p="altmailsepby"}</small>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="certmaillife"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="number" class="form-control" name="einsch_life" value="{$bm_prefs.einsch_life/86400}" placeholder="{lng p="certmaillife"}">
<span class="input-group-text">{lng p="days"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-label">{lng p="min_draft_save"}</label>
<div class="col-sm-8">
<div class="input-group mb-2">
<input type="number" class="form-control" name="min_draft_save_interval" value="{$bm_prefs.min_draft_save_interval}" placeholder="{lng p="min_draft_save"}">
<span class="input-group-text">{lng p="seconds"}</span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="write_xsenderip"}</label>
<div class="col-sm-8">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="write_xsenderip"{if $bm_prefs.write_xsenderip=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />&nbsp;
</div>
</form>

View file

@ -1,67 +1,65 @@
<form action="prefs.email.php?action=smime&do=editca&set=true&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="info"}</legend>
<table>
<tr>
<td width="36" valign="top"><img src="{$tpldir}images/info32.png" border="0" alt="" width="32" height="32" /></td>
<td valign="top">{lng p="cert_ca_info"}</td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="info"}</legend>
<fieldset>
<legend>{lng p="cert_ca_current"}</legend>
{if $certInfo}
<table width="90%">
<tr>
<td align="left" rowspan="2" valign="top" width="40"><img src="{$tpldir}images/cert32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="cert_ca"}:</td>
<td class="td2">{text value=$certInfo.subject.CN}</td>
</tr>
<tr>
<td class="td1">{lng p="validity"}:</td>
<td class="td2">
{if !$validCert}<font color="red">{/if}{lng p="from"} {date timestamp=$certInfo.validFrom_time_t dayonly=true}<br />
{lng p="to"} {date timestamp=$certInfo.validTo_time_t dayonly=true}{if !$validCert}</font>{/if}
</td>
</tr>
</table>
{else}
<center><i>({lng p="cert_noca"})</i></center>
{/if}
</fieldset>
<div class="alert alert-info">{lng p="cert_ca_info"}</div>
</fieldset>
<fieldset>
<legend>{lng p="cert_ca_import"}</legend>
<table width="90%">
<tr>
<td align="left" rowspan="2" valign="top" width="40"><img src="{$tpldir}images/certadd32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="cert_ca_cert"}:</td>
<td class="td2">
<div style="float:left;">{lng p="cert_ca_file_pem"}:<br />
<input type="file" name="cert_ca_pem" style="width:280px;" /><br />
{lng p="cert_ca_file_key"}:<br />
<input type="file" name="cert_ca_key" style="width:280px;" />
</td>
</tr>
<tr>
<td class="td1">{lng p="cert_ca_pass"}:</td>
<td class="td2"><input type="password" name="cert_ca_pass" value="" size="36" autocomplete="off" /></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend>{lng p="cert_ca_current"}</legend>
<p>
<div style="float:left;" class="buttons">
<input class="button" type="button" value=" &laquo; {lng p="back"} " onclick="document.location.href='prefs.email.php?action=smime&sid={$sid}';" />
{if $certInfo}
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="cert_ca"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext" style="font-weight: bold;">{text value=$certInfo.subject.CN}</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="validity"}</label>
<div class="col-sm-10">
<div class="form-control-plaintext" style="font-weight: bold;">
{if !$validCert}<p class="text-red">{/if}{lng p="from"} {date timestamp=$certInfo.validFrom_time_t dayonly=true}<br />
{lng p="to"} {date timestamp=$certInfo.validTo_time_t dayonly=true}{if !$validCert}</p>{/if}
</div>
</div>
</div>
{else}
<div class="alert alert-muted">({lng p="cert_noca"})</div>
{/if}
</fieldset>
<fieldset>
<legend>{lng p="cert_ca_import"}</legend>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="cert_ca_cert"}</label>
<div class="col-sm-10">
<div class="input-group">
<span class="input-group-text">{lng p="cert_ca_file_pem"}</span>
<input type="file" name="cert_ca_pem" class="form-control" />
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">&nbsp;</label>
<div class="col-sm-10">
<div class="input-group">
<span class="input-group-text">{lng p="cert_ca_file_key"}</span>
<input type="file" name="cert_ca_key" class="form-control" />
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="cert_ca_pass"}</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="cert_ca_pass" value="" placeholder="{lng p="cert_ca_pass"}" autocomplete="off">
</div>
</div>
</fieldset>
<div class="row">
<div class="col-md-6"><input class="btn btn-muted" type="button" value="&laquo; {lng p="back"}" onclick="document.location.href='prefs.email.php?action=smime&sid={$sid}';" /></div>
<div class="col-md-6 text-end"><input class="btn btn-primary" type="submit" value="{lng p="import"}" /></div>
</div>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="import"} " />
</div>
</p>
</form>

View file

@ -1,77 +1,84 @@
<fieldset>
<legend>{lng p="prefs"}</legend>
<table width="90%">
<tr>
<td align="left" valign="top" width="40"><img src="{$tpldir}images/cert32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="cert_ca"}:</td>
<td class="td2"><input class="button" type="button" value=" {lng p="setedit"} " onclick="document.location.href='prefs.email.php?action=smime&do=editca&sid={$sid}';" /></td>
</tr>
</table>
</fieldset>
<div class="row">
<div class="col-md-6">
<fieldset>
<legend>{lng p="prefs"}</legend>
<input class="btn btn-primary" type="button" value=" {lng p="setedit"} " onclick="document.location.href='prefs.email.php?action=smime&do=editca&sid={$sid}';" />
</fieldset>
</div>
<div class="col-md-6">
<fieldset>
<legend>{lng p="addrootcert"}</legend>
<form action="prefs.email.php?action=smime&add=true&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<div class="mb-3 row">
<label class="col-sm-4 col-form-check-label">{lng p="certfile"}</label>
<div class="col-sm-8">
<label class="form-check">
<input type="file" name="certfile" class="form-control" />
</label>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>
</div>
</div>
<fieldset>
<legend>{lng p="rootcerts"}</legend>
<form action="prefs.email.php?action=smime&sid={$sid}" name="f1" method="post">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'certs[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="name"}</th>
<th width="180">{lng p="validity"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$certs item=cert}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/cert_{if $cert.valid}ok{else}expired{/if}.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="certs[]" value="{$cert.certificateid}" /></td>
<td>{text value=$cert.cn cut=45}</td>
<td>{if !$cert.valid}<font color="red">{/if}{lng p="to"} {date timestamp=$cert.validto dayonly=true}<br /><small>{lng p="from"} {date timestamp=$cert.validfrom dayonly=true}</small>{if !$cert.valid}</font>{/if}</td>
<td>
<a href="prefs.email.php?action=smime&export={$cert.certificateid}&sid={$sid}"><img src="{$tpldir}images/cert_export.png" border="0" alt="{lng p="export"}" width="16" height="16" /></a>
<a href="prefs.email.php?action=smime&delete={$cert.certificateid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="export">{lng p="export"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'certs[]');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="name"}</th>
<th width="180">{lng p="validity"}</th>
<th width="60">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$certs item=cert}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td style="text-align: center;"><input type="checkbox" name="certs[]" value="{$cert.certificateid}" /></td>
<td>{text value=$cert.cn cut=45}</td>
<td>{if !$cert.valid}<font color="red">{/if}{lng p="to"} {date timestamp=$cert.validto dayonly=true}<br /><small>{lng p="from"} {date timestamp=$cert.validfrom dayonly=true}</small>{if !$cert.valid}</font>{/if}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.email.php?action=smime&export={$cert.certificateid}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-circle-down"></i></a>
<a href="prefs.email.php?action=smime&delete={$cert.certificateid}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="export">{lng p="export"}</option>
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addrootcert"}</legend>
<form action="prefs.email.php?action=smime&add=true&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/certadd32.png" border="0" alt="" width="32" height="32" /></td>
<td>{lng p="certfile"}:<br />
<input type="file" name="certfile" style="width:440px;" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
</form>
</fieldset>
</fieldset>

View file

@ -2,20 +2,20 @@
<legend>{lng p="edit"}</legend>
<form action="prefs.extensions.php?do=edit&id={$extension.id}&save=true&sid={$sid}" method="post" onsubmit="spin(this)" enctype="multipart/form-data">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/extension.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="filetypes"}:</td>
<td class="td2"><input{if $extension.ext[0]=='.'} disabled="disabled"{/if} type="text" style="width:85%;" name="ext" value="{text value=$extension.ext}" /></td>
</tr>
<tr>
<td class="td1" width="150">{lng p="icon"}:</td>
<td class="td2"><input type="file" name="icon" style="width:440px;" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="filetypes"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="ext" value="{text value=$extension.ext}"{if $extension.ext[0]=='.'} disabled="disabled"{/if} placeholder="{lng p="filetypes"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="icon"}</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="icon" accept="image/*" placeholder="{lng p="icon"}">
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>

View file

@ -2,46 +2,50 @@
<legend>{lng p="webdiskicons"}</legend>
<form action="prefs.extensions.php?sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="36">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'ext_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="filetypes"}</th>
<th width="200">{lng p="type"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$extensions item=ext}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="prefs.extensions.php?action=display&id={$ext.id}&sid={$sid}" border="0" alt="" /></td>
<td align="center">{if $ext.ext[0]!='.'}<input type="checkbox" name="ext_{$ext.id}" />{/if}</td>
<td>{text value=$ext.ext}</td>
<td>{text value=$ext.ctype}</td>
<td>
<a href="prefs.extensions.php?do=edit&id={$ext.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
{if $ext.ext[0]!='.'}<a href="prefs.extensions.php?delete={$ext.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>{/if}
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 25px; text-align: center;"><a href="javascript:invertSelection(document.forms.f1,'ext_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="filetypes"}</th>
<th style="width: 200px;">{lng p="type"}</th>
<th style="width: 60px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$extensions item=ext}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center">{if $ext.ext[0]!='.'}<input type="checkbox" name="ext_{$ext.id}" />{/if}</td>
<td>{text value=$ext.ext}</td>
<td>{text value=$ext.ctype}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.extensions.php?do=edit&id={$ext.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
{if $ext.ext[0]!='.'}<a href="prefs.extensions.php?delete={$ext.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
@ -49,20 +53,21 @@
<legend>{lng p="addwebdiskicon"}</legend>
<form action="prefs.extensions.php?add=true&sid={$sid}" method="post" onsubmit="spin(this)" enctype="multipart/form-data">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/extension_add.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="filetypes"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="ext" value="" /></td>
</tr>
<tr>
<td class="td1" width="150">{lng p="icon"}:</td>
<td class="td2"><input type="file" name="icon" style="width:440px;" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="filetypes"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="ext" value="" placeholder="{lng p="filetypes"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="icon"}</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="icon" value="{text allowEmpty=true value=$bm_prefs.ssl_url}" placeholder="{lng p="icon"}" accept="image/*">
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -2,71 +2,76 @@
<legend>{lng p="edit"}</legend>
<form action="prefs.faq.php?do=edit&id={$faq.id}&save=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/faq32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="question"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="frage" value="{$faq.frage}" /></td>
</tr>
<tr>
<td class="td1">{lng p="type"}:</td>
<td class="td2"><select name="typ">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="question"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="frage" value="{$faq.frage}" placeholder="{lng p="question"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="type"}</label>
<div class="col-sm-10">
<select name="typ" class="form-select">
<option value="nli"{if $faq.typ=='nli'} selected="selected"{/if}>{lng p="nli"}</option>
<option value="li"{if $faq.typ=='li'} selected="selected"{/if}>{lng p="li"}</option>
<option value="both"{if $faq.typ=='both'} selected="selected"{/if}>{lng p="both"}</option>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="language"}:</td>
<td class="td2"><select name="lang">
<option value=":all:"{if $faq.lang==':all:'} selected="selected"{/if}>{lng p="all"}</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="language"}</label>
<div class="col-sm-10">
<select name="lang" class="form-select">
<option value=":all:">{lng p="all"}</option>
<optgroup label="{lng p="languages"}">
{foreach from=$languages item=lang key=langID}
<option value="{$langID}"{if $faq.lang==$langID} selected="selected"{/if}>{text value=$lang.title}</option>
<option value="{$langID}"{if $faq.lang==$langID} selected="selected"{/if}>{text value=$lang.title}</option>
{/foreach}
</optgroup>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="requires"}:</td>
<td class="td2"><select name="required">
<option value=""{if !$faq.required} selected="selected"{/if}>------------</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="requires"}</label>
<div class="col-sm-10">
<select name="required" class="form-select">
<option value="">------------</option>
<optgroup label="{lng p="services"}">
{foreach from=$requirements item=req key=reqID}
<option value="{$reqID}"{if $faq.required==$reqID} selected="selected"{/if}>{$req}</option>
<option value="{$reqID}"{if $faq.required==$reqID} selected="selected"{/if}>{$req}</option>
{/foreach}
</optgroup>
</select></td>
</tr>
<tr>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="antwort" id="antwort" class="plainTextArea" style="width:100%;height:220px;">{$faq.antwort}</textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="antwort" id="antwort" class="plainTextArea" style="width:100%;height:220px;">{$faq.antwort}</textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
var editor = new htmlEditor('antwort');
editor.disableIntro = true;
editor.init();
registerLoadAction('editor.start()');
var editor = new htmlEditor('antwort');
editor.init();
registerLoadAction('editor.start()');
//-->
</script>
</td>
</tr>
<tr>
<td>
<select class="smallInput" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option>
<option value="%%user%%">%%user%% ({lng p="email"})</option>
<option value="%%wddomain%%">%%wddomain%% ({lng p="wddomain"})</option>
<option value="%%selfurl%%">%%selfurl%% ({lng p="selfurl"})</option>
<option value="%%hostname%%">%%hostname%% ({lng p="hostname"})</option>
</select>
</td>
<td align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</td>
</tr>
</table>
</script>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<select onchange="editor.insertText(this.value);" class="form-select">
<option value="">-- {lng p="vars"} --</option>
<option value="%%user%%">%%user%% ({lng p="email"})</option>
<option value="%%wddomain%%">%%wddomain%% ({lng p="wddomain"})</option>
<option value="%%selfurl%%">%%selfurl%% ({lng p="selfurl"})</option>
<option value="%%hostname%%">%%hostname%% ({lng p="hostname"})</option>
</select>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>

View file

@ -1,121 +1,130 @@
<fieldset>
<legend>{lng p="faq"}</legend>
<form action="prefs.faq.php?sid={$sid}" method="post" name="f1" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'faq_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="question"}</th>
<th width="100">{lng p="language"}</th>
<th width="120">{lng p="type"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$faqs item=faq}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/faq.png" border="0" alt="" width="16" height="16" /></td>
<td align="center"><input type="checkbox" name="faq_{$faq.id}" /></td>
<td><a href="prefs.faq.php?do=edit&id={$faq.id}&sid={$sid}">{$faq.frage}</a><br /><small>{lng p="requires"}: {if $faq.required}{$requirements[$faq.required]}{else}-{/if}</small></td>
<td>{text value=$faq.lang}</td>
<td>{text value=$faq.typ}</td>
<td>
<a href="prefs.faq.php?do=edit&id={$faq.id}&sid={$sid}"><img src="{$tpldir}images/edit.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
<a href="prefs.faq.php?delete={$faq.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="6">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width 25px; text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'faq_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="question"}</th>
<th style="100px;">{lng p="language"}</th>
<th style="120px;">{lng p="type"}</th>
<th style="60px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$faqs item=faq}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td class="text-center"><input type="checkbox" name="faq_{$faq.id}" /></td>
<td><a href="prefs.faq.php?do=edit&id={$faq.id}&sid={$sid}">{$faq.frage}</a><br /><small>{lng p="requires"}: {if $faq.required}{$requirements[$faq.required]}{else}-{/if}</small></td>
<td>{text value=$faq.lang}</td>
<td>{text value=$faq.typ}</td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.faq.php?do=edit&id={$faq.id}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-pen-to-square"></i></a>
<a href="prefs.faq.php?delete={$faq.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addfaq"}</legend>
<form action="prefs.faq.php?add=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/faq32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="question"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="frage" value="" /></td>
</tr>
<tr>
<td class="td1">{lng p="type"}:</td>
<td class="td2"><select name="typ">
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="question"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="frage" value="" placeholder="{lng p="question"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="type"}</label>
<div class="col-sm-10">
<select name="typ" class="form-select">
<option value="nli">{lng p="nli"}</option>
<option value="li">{lng p="li"}</option>
<option value="both">{lng p="both"}</option>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="language"}:</td>
<td class="td2"><select name="lang">
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="language"}</label>
<div class="col-sm-10">
<select name="lang" class="form-select">
<option value=":all:">{lng p="all"}</option>
<optgroup label="{lng p="languages"}">
{foreach from=$languages item=lang key=langID}
<option value="{$langID}">{text value=$lang.title}</option>
<option value="{$langID}">{text value=$lang.title}</option>
{/foreach}
</optgroup>
</select></td>
</tr>
<tr>
<td class="td1">{lng p="requires"}:</td>
<td class="td2"><select name="required">
</select>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="requires"}</label>
<div class="col-sm-10">
<select name="required" class="form-select">
<option value="">------------</option>
<optgroup label="{lng p="services"}">
{foreach from=$requirements item=req key=reqID}
<option value="{$reqID}">{$req}</option>
<option value="{$reqID}">{$req}</option>
{/foreach}
</optgroup>
</select></td>
</tr>
<tr>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="antwort" id="antwort" class="plainTextArea" style="width:100%;height:220px;"></textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
</select>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="antwort" id="antwort" class="plainTextArea" style="width:100%;height:220px;"></textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
var editor = new htmlEditor('antwort');
editor.init();
registerLoadAction('editor.start()');
var editor = new htmlEditor('antwort');
editor.init();
registerLoadAction('editor.start()');
//-->
</script>
</td>
</tr>
<tr>
<td>
<select class="smallInput" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option>
<option value="%%user%%">%%user%% ({lng p="email"})</option>
<option value="%%wddomain%%">%%wddomain%% ({lng p="wddomain"})</option>
<option value="%%selfurl%%">%%selfurl%% ({lng p="selfurl"})</option>
<option value="%%hostname%%">%%hostname%% ({lng p="hostname"})</option>
</select>
</td>
<td align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</td>
</tr>
</table>
</script>
</div>
</div>
<div class="mb-3 row">
<div class="col-sm-12">
<select onchange="editor.insertText(this.value);" class="form-select">
<option value="">-- {lng p="vars"} --</option>
<option value="%%user%%">%%user%% ({lng p="email"})</option>
<option value="%%wddomain%%">%%wddomain%% ({lng p="wddomain"})</option>
<option value="%%selfurl%%">%%selfurl%% ({lng p="selfurl"})</option>
<option value="%%hostname%%">%%hostname%% ({lng p="hostname"})</option>
</select>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</form>
</fieldset>

View file

@ -1,74 +1,66 @@
<fieldset>
<legend>{lng p="language"}</legend>
<form action="prefs.languages.php?action=texts&sid={$sid}" method="post">
<center>
<table>
<tr>
<td>{lng p="language"}:</td>
<td><select name="lang">
{foreach from=$languages key=langID item=lang}
<option value="{$langID}"{if $langID==$selectedLang} selected="selected"{/if}>{text value=$lang.title}</option>
{/foreach}
</select></td>
<td><input class="button" type="submit" value=" {lng p="ok"} &raquo; " /></td>
</tr>
</table>
</center>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="language"}</label>
<div class="col-sm-10">
<div class="btn-group">
<select name="lang" class="form-select">
{foreach from=$languages key=langID item=lang}
<option value="{$langID}"{if $langID==$selectedLang} selected="selected"{/if}>{text value=$lang.title}</option>
{/foreach}
</select>
<input type="submit" value="{lng p="ok"}" class="btn btn-dark-lt" />
</div>
</div>
</div>
</form>
</fieldset>
{if $selectedLang}
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
var editors = [];
//-->
</script>
<script>
<!--
var editors = [];
//-->
</script>
<fieldset>
<legend>{lng p="customtexts"}</legend>
<form action="prefs.languages.php?action=texts&lang={$selectedLang}&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="220">{lng p="title"}</th>
<th>{lng p="text"}</th>
</tr>
{foreach from=$texts item=text}
{cycle name=class assign=class values="td1,td2"}
<tr class="{$class}">
<td><img src="{$tpldir}images/phrases.png" border="0" alt="" width="16" height="16" /></td>
<td><a name="{$text.key}" />{$text.title}<br /><small>{text value=$text.key}</small></td>
<td>
{if $customTextsHTML[$text.key]}<div style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">{/if}
<textarea onfocus="this.style.height='240px';" onblur="this.style.height='100px';" style="width:99%;height:{if $customTextsHTML[$text.key]}350{else}100{/if}px;" name="text-{$text.key}" id="text-{$text.key}">{text value=$text.text allowEmpty=true}</textarea>
{if $customTextsHTML[$text.key]}
<fieldset>
<legend>{lng p="customtexts"}</legend>
<form action="prefs.languages.php?action=texts&lang={$selectedLang}&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<div class="mb-3 text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
{foreach from=$texts item=text}
<a name="{$text.key}" />
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{$text.title}<br /><small>{text value=$text.key}</small></label>
<div class="col-sm-10">
{if $customTextsHTML[$text.key]}<div style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">{/if}
<textarea class="form-control" onfocus="this.style.height='240px';" onblur="this.style.height='100px';" style="height:{if $customTextsHTML[$text.key]}350{else}100{/if}px;" name="text-{$text.key}" id="text-{$text.key}">{text value=$text.text allowEmpty=true}</textarea>
{if $customTextsHTML[$text.key]}
</div>
<script>
<!--
editors['{$text.key}'] = new htmlEditor('text-{$text.key}');
editors['{$text.key}'].disableIntro = true;
editors['{$text.key}'].init();
registerLoadAction('editors[\'{$text.key}\'].start()');
//-->
</script>
{/if}
</div>
</div>
<script>
<!--
editors['{$text.key}'] = new htmlEditor('text-{$text.key}');
editors['{$text.key}'].disableIntro = true;
editors['{$text.key}'].init();
registerLoadAction('editors[\'{$text.key}\'].start()');
//-->
</script>
{/if}
</td>
</tr>
{/foreach}
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="save"} " />
</p>
</form>
</fieldset>
{/foreach}
<div class="mb-3 text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
</fieldset>
{/if}

View file

@ -2,73 +2,71 @@
<legend>{lng p="languages"}</legend>
<form action="prefs.languages.php?sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'lang_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="language"}</th>
<th>{lng p="author"}</th>
<th width="60">&nbsp;</th>
</tr>
{foreach from=$languages item=language key=langID}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/language.png" border="0" alt="" width="16" height="16" /></td>
<td align="center">{if $language.writeable && !$language.default}<input type="checkbox" name="lang_{$langID}" />{/if}</td>
<td>{text value=$language.title}<br /><small>{text value=$language.charset}, {text value=$language.locale}</small></td>
<td>{text value=$language.author}<br /><small>{text value=$language.authorWeb allowEmpty=true}</small></td>
<td>
<a href="prefs.languages.php?action=texts&lang={$langID}&sid={$sid}"><img src="{$tpldir}images/phrases.png" border="0" alt="{lng p="customtexts"}" width="16" height="16" /></a>
{if $language.writeable && !$language.default}<a href="prefs.languages.php?delete={$langID}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="delete"}" width="16" height="16" /></a>{/if}
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="8">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'lang_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="language"}</th>
<th>{lng p="author"}</th>
<th width="60">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$languages item=language key=langID}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center">{if $language.writeable && !$language.default}<input type="checkbox" name="lang_{$langID}" />{/if}</td>
<td>{text value=$language.title}<br /><small>{text value=$language.charset}, {text value=$language.locale}</small></td>
<td>{text value=$language.author}<br /><small>{text value=$language.authorWeb allowEmpty=true}</small></td>
<td class="text-nowrap">
<div class="btn-group btn-group-sm">
<a href="prefs.languages.php?action=texts&lang={$langID}&sid={$sid}" class="btn btn-sm"><i class="fa-regular fa-comment"></i></a>
{if $language.writeable && !$language.default}<a href="prefs.languages.php?delete={$langID}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>{/if}
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addlanguage"}</legend>
<form action="prefs.languages.php?add=true&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<p>
{lng p="addlang_desc"}
</p>
<table>
<tr>
<td width="40" valign="top"><img src="{$tpldir}images/lang32.png" border="0" alt="" width="32" height="32" /></td>
<td>{lng p="langfile"}:<br />
<input type="file" name="langfile" style="width:440px;" accept=".lang.php" /></td>
</tr>
</table>
<p>
<div style="float:left;">
<img src="{$tpldir}images/warning.png" border="0" alt="" align="absmiddle" width="16" height="16" />
{lng p="sourcewarning"}
<div class="alert alert-warning">{lng p="sourcewarning"}</div>
<p>{lng p="addlang_desc"}</p>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="langfile"}</label>
<div class="col-sm-10">
<label class="form-check">
<input type="file" name="langfile" class="form-control" accept=".lang.php" />
</label>
</div>
<div style="float:right;">
<input class="button" type="submit" value=" {lng p="install"} " />
</div>
</p>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="install"}" />
</div>
</form>
</fieldset>

View file

@ -1,69 +1,74 @@
<fieldset>
<legend>{lng p="lockedusernames"}</legend>
<form action="prefs.common.php?action=lockedusernames&sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list">
<tr>
<th width="20">&nbsp;</th>
<th width="25" style="text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'locked_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="username"}</th>
<th width="55">&nbsp;</th>
</tr>
{foreach from=$lockedUsernames item=locked}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td align="center"><img src="{$tpldir}images/lockedusername.png" border="0" alt="" width="16" height="16" /></td>
<td><input type="checkbox" name="locked_{$locked.id}" /></td>
<td>{$locked.type} &quot;{text value=$locked.username}&quot;</td>
<td>
<a href="prefs.common.php?action=lockedusernames&delete={$locked.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');"><img src="{$tpldir}images/delete.png" border="0" alt="{lng p="edit"}" width="16" height="16" /></a>
</td>
</tr>
{/foreach}
<tr>
<td class="footer" colspan="4">
<div style="float:left;">
{lng p="action"}: <select name="massAction" class="smallInput">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>&nbsp;
<div class="card">
<div class="table-responsive">
<table class="table table-vcenter table-striped">
<thead>
<tr>
<th style="width: 25px; text-align:center;"><a href="javascript:invertSelection(document.forms.f1,'locked_');"><img src="{$tpldir}images/dot.png" border="0" alt="" width="10" height="8" /></a></th>
<th>{lng p="username"}</th>
<th style="width: 55px;">&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach from=$lockedUsernames item=locked}
{cycle name=class values="td1,td2" assign=class}
<tr class="{$class}">
<td><input type="checkbox" name="locked_{$locked.id}" /></td>
<td>{$locked.type} &quot;{text value=$locked.username}&quot;</td>
<td>
<a href="prefs.common.php?action=lockedusernames&delete={$locked.id}&sid={$sid}" onclick="return confirm('{lng p="realdel"}');" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="card-footer">
<div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<div class="btn-group btn-group-sm">
<select name="massAction" class="form-select form-select-sm">
<option value="-">------------</option>
<optgroup label="{lng p="actions"}">
<option value="delete">{lng p="delete"}</option>
</optgroup>
</select>
<input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
</div>
</div>
<div style="float:left;">
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" />
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>{lng p="addlockedusername"}</legend>
<form action="prefs.common.php?action=lockedusernames&add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%">
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/lockedusername32.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="150">{lng p="type"}:</td>
<td class="td2"><select name="typ">
{foreach from=$lockedTypeTable key=id item=text}
<option value="{$id}">{$text}</option>
{/foreach}
</select></td>
</tr>
<tr>
<td class="td1">{lng p="username"}:</td>
<td class="td2"><input type="text" style="width:85%;" name="benutzername" value="" /></td>
</tr>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="add"} " />
</p>
</form>
</fieldset>
<form action="prefs.common.php?action=lockedusernames&add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset>
<legend>{lng p="addlockedusername"}</legend>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">{lng p="type"}</label>
<select name="typ" class="form-select">
{foreach from=$lockedTypeTable key=id item=text}
<option value="{$id}">{$text}</option>
{/foreach}
</select>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">{lng p="username"}</label>
<input type="text" class="form-control" name="benutzername" value="" placeholder="{lng p="username"}">
</div>
</div>
</div>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="add"}" />
</div>
</fieldset>
</form>

View file

@ -2,178 +2,225 @@
<fieldset>
<legend>{lng p="payments"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="currency"}:</td>
<td class="td2"><input type="text" name="currency" value="{$bm_prefs.currency}" size="8" /></td>
<td class="td">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="pay_notification"}:</td>
<td class="td2"><input id="send_pay_notification" name="send_pay_notification"{if $bm_prefs.send_pay_notification=='yes'} checked="checked"{/if} type="checkbox" /><label for="send_pay_notification"> {lng p="to2"}: </label><input type="text" name="pay_notification_to" value="{if isset($bm_prefs.pay_notification_to)}{text value=$bm_prefs.pay_notification_to allowEmpty=true}{/if}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="sysmailsender"}:</td>
<td class="td2">
"<input type="text" name="pay_emailfrom" value="{if isset($bm_prefs.pay_emailfrom)}{text value=$bm_prefs.pay_emailfrom allowEmpty=true}{/if}" size="14" />"
&lt;<input type="text" name="pay_emailfromemail" value="{email value=$bm_prefs.pay_emailfromemail}" size="22" />&gt;
</td>
</tr>
<tr>
<td class="td1">{lng p="vat"}:</td>
<td class="td2">
<select name="mwst">
<option value="add"{if $bm_prefs.mwst=='add'} selected="selected"{/if}>{lng p="vat_add"}</option>
<option value="enthalten"{if $bm_prefs.mwst=='enthalten'} selected="selected"{/if}>{lng p="vat_enthalten"}</option>
<option value="nomwst"{if $bm_prefs.mwst=='nomwst'} selected="selected"{/if}>{lng p="vat_nomwst"}</option>
</select>
<small>
&nbsp; {lng p="vatratenotice"} <a href="prefs.countries.php?sid={$sid}">{lng p="countries"}</a>.
</small>
</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="currency"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="currency" value="{$bm_prefs.currency}" placeholder="{lng p="currency"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="pay_notification"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">
<input class="form-check-input m-0" type="checkbox" name="send_pay_notification"{if $bm_prefs.send_pay_notification=='yes'} checked="checked"{/if}>
</span>
<span class="input-group-text">{lng p="to2"}:</span>
<input type="text" class="form-control" name="pay_notification_to" value="{if isset($bm_prefs.pay_notification_to)}{text value=$bm_prefs.pay_notification_to allowEmpty=true}{/if}" placeholder="{lng p="pay_notification"}">
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="sysmailsender"}</label>
<div class="col-sm-10">
<div class="input-group mb-2">
<span class="input-group-text">"</span>
<input type="text" class="form-control" name="pay_emailfrom" value="{if isset($bm_prefs.pay_emailfrom)}{text value=$bm_prefs.pay_emailfrom allowEmpty=true}{/if}" placeholder="{lng p="name"}">
<span class="input-group-text">" <</span>
<input type="text" class="form-control" name="pay_emailfromemail" value="{email value=$bm_prefs.pay_emailfromemail}" placeholder="{lng p="email"}">
<span class="input-group-text">></span>
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="vat"}</label>
<div class="col-sm-10">
<select name="mwst" class="form-select">
<option value="add"{if $bm_prefs.mwst=='add'} selected="selected"{/if}>{lng p="vat_add"}</option>
<option value="enthalten"{if $bm_prefs.mwst=='enthalten'} selected="selected"{/if}>{lng p="vat_enthalten"}</option>
<option value="nomwst"{if $bm_prefs.mwst=='nomwst'} selected="selected"{/if}>{lng p="vat_nomwst"}</option>
</select>
<small>{lng p="vatratenotice"} <a href="prefs.countries.php?sid={$sid}">{lng p="countries"}</a>.</small>
</div>
</div>
</fieldset>
<fieldset>
<legend>PayPal</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_pay_paypal.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enablechrgpaypal"}?</td>
<td class="td2"><input name="enable_paypal"{if $bm_prefs.enable_paypal=='yes'} checked="checked"{/if} type="checkbox" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="default"}?</td>
<td class="td2"><input type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==1} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1" width="220">{lng p="paypalacc"}:</td>
<td class="td2"><input type="text" name="paypal_mail" value="{$bm_prefs.paypal_mail}" size="36" /></td>
<td class="td2">&nbsp;</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="enablechrgpaypal"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="enable_paypal"{if $bm_prefs.enable_paypal=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==1} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="paypalacc"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="paypal_mail" value="{$bm_prefs.paypal_mail}" placeholder="{lng p="paypalacc"}">
</div>
</div>
</fieldset>
<fieldset>
<legend>sofort&uuml;berweisung.de</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/ico_pay_su.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enablechrgsu"}?</td>
<td class="td2"><input name="enable_su"{if $bm_prefs.enable_su=='yes'} checked="checked"{/if} id="su_enable" type="checkbox" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="default"}?</td>
<td class="td2"><input type="radio" name="default_paymethod" value="2"{if $bm_prefs.default_paymethod==2} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="sukdnr"}:</td>
<td class="td2"><input type="text" name="su_kdnr" value="{$bm_prefs.su_kdnr}" id="su_kdnr" size="24" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="suprjnr"}:</td>
<td class="td2"><input type="text" name="su_prjnr" value="{$bm_prefs.su_prjnr}" id="su_prjnr" size="24" /></td>
<td class="td2" style="padding-left:10px;">
<input class="button" type="button" value=" {lng p="su_createnew"} " onclick="window.open('about:blank','suWindow','width=990,height=800,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');EBID('suForm').submit();" />
</td>
</tr>
<tr>
<td class="td1">{lng p="suprjpass"}:</td>
<td class="td2"><input type="text" name="su_prjpass" value="{$bm_prefs.su_prjpass}" id="su_prjpass" size="24" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="sunotifypass"}:</td>
<td class="td2"><input type="text" name="su_notifypass" value="{$bm_prefs.su_notifypass}" id="su_notifypass" size="24" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="suinputcheck"}?</td>
<td class="td2"><input name="su_inputcheck"{if $bm_prefs.su_inputcheck=='yes'} checked="checked"{/if} id="su_inputcheck" type="checkbox" /></td>
<td class="td2">&nbsp;</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="enablechrgsu"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="enable_su"{if $bm_prefs.enable_su=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="default_paymethod" value="2"{if $bm_prefs.default_paymethod==2} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="sukdnr"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="su_kdnr" value="{$bm_prefs.su_kdnr}" placeholder="{lng p="sukdnr"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="suprjnr"}</label>
<div class="col-sm-10">
<div class="input-group">
<input type="text" class="form-control" name="su_prjnr" value="{$bm_prefs.su_prjnr}" placeholder="{lng p="suprjnr"}">
<input class="btn btn-muted" type="button" value=" {lng p="su_createnew"} " onclick="window.open('about:blank','suWindow','width=990,height=800,scrollbars=yes,location=yes,menubar=yes,resizable=yes,status=yes,toolbar=yes');EBID('suForm').submit();" />
</div>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="suprjpass"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="su_prjpass" value="{$bm_prefs.su_prjpass}" placeholder="{lng p="suprjpass"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="sunotifypass"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="su_notifypass" value="{$bm_prefs.su_notifypass}" placeholder="{lng p="sunotifypass"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="suinputcheck"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="su_inputcheck"{if $bm_prefs.su_inputcheck=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
</fieldset>
<fieldset>
<legend>Skrill (Moneybookers)</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_pay_skrill.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enablechrgskrill"}?</td>
<td class="td2"><input name="enable_skrill"{if $bm_prefs.enable_skrill=='yes'} checked="checked"{/if} type="checkbox" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="default"}?</td>
<td class="td2"><input type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==3} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="skrillacc"}:</td>
<td class="td2"><input type="text" name="skrill_mail" value="{$bm_prefs.skrill_mail}" size="36" /></td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td1">{lng p="skrillsecret"}:</td>
<td class="td2"><input type="text" name="skrill_secret" value="{$bm_prefs.skrill_secret}" id="skrill_secret" size="24" /></td>
<td class="td2">&nbsp;</td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="enablechrgskrill"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="enable_skrill"{if $bm_prefs.enable_skrill=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="default_paymethod" value="3"{if $bm_prefs.default_paymethod==3} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="skrillacc"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="skrill_mail" value="{$bm_prefs.skrill_mail}" placeholder="{lng p="skrillacc"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="skrillsecret"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="skrill_secret" value="{$bm_prefs.skrill_secret}" placeholder="{lng p="skrillsecret"}">
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="banktransfer"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="8"><img src="{$tpldir}images/ico_pay_banktransfer.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="enablebanktransfer"}?</td>
<td class="td2"><input name="enable_vk"{if $bm_prefs.enable_vk=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="default"}?</td>
<td class="td2"><input type="radio" name="default_paymethod" value="0"{if $bm_prefs.default_paymethod==0} checked="checked"{/if} /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_inh"}:</td>
<td class="td2"><input type="text" name="vk_kto_inh" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inh}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_nr"}:</td>
<td class="td2"><input type="text" name="vk_kto_nr" value="{text allowEmpty=true value=$bm_prefs.vk_kto_nr}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_blz"}:</td>
<td class="td2"><input type="text" name="vk_kto_blz" value="{text allowEmpty=true value=$bm_prefs.vk_kto_blz}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_inst"}:</td>
<td class="td2"><input type="text" name="vk_kto_inst" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inst}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_iban"}:</td>
<td class="td2"><input type="text" name="vk_kto_iban" value="{text allowEmpty=true value=$bm_prefs.vk_kto_iban}" size="24" /></td>
</tr>
<tr>
<td class="td1">{lng p="kto_bic"}:</td>
<td class="td2"><input type="text" name="vk_kto_bic" value="{text allowEmpty=true value=$bm_prefs.vk_kto_bic}" size="24" /></td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="enablebanktransfer"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="enable_vk"{if $bm_prefs.enable_vk=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="radio" name="default_paymethod" value="0"{if $bm_prefs.default_paymethod==0} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_inh"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_inh" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inh}" placeholder="{lng p="kto_inh"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_nr"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_nr" value="{text allowEmpty=true value=$bm_prefs.vk_kto_nr}" placeholder="{lng p="kto_nr"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_blz"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_blz" value="{text allowEmpty=true value=$bm_prefs.vk_kto_blz}" placeholder="{lng p="kto_blz"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_inst"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_inst" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inst}" placeholder="{lng p="kto_inst"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_iban"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_iban" value="{text allowEmpty=true value=$bm_prefs.vk_kto_iban}" placeholder="{lng p="kto_iban"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kto_bic"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="vk_kto_bic" value="{text allowEmpty=true value=$bm_prefs.vk_kto_bic}" placeholder="{lng p="kto_bic"}">
</div>
</div>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div>
</p>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>
<form action="https://www.sofort-ueberweisung.de/payment/createNew/" method="post" target="suWindow" id="suForm">

View file

@ -1,48 +1,51 @@
<form action="prefs.payments.php?action=invoices&save=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);" id="prefsForm">
<fieldset>
<legend>{lng p="invoices"}</legend>
<table>
<tr>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_prefs_invoices.png" border="0" alt="" width="32" height="32" /></td>
<td class="td1" width="220">{lng p="sendrg"}?</td>
<td class="td2"><input name="sendrg"{if $bm_prefs.sendrg=='yes'} checked="checked"{/if} type="checkbox" /></td>
</tr>
<tr>
<td class="td1">{lng p="rgnrfmt"}:</td>
<td class="td2"><input type="text" name="rgnrfmt" value="{text allowEmpty=true value=$bm_prefs.rgnrfmt}" size="12" /></td>
</tr>
<tr>
<td class="td1">{lng p="kdnrfmt"}:</td>
<td class="td2"><input type="text" name="kdnrfmt" value="{text allowEmpty=true value=$bm_prefs.kdnrfmt}" size="12" /></td>
</tr>
</table>
<div class="mb-3 row">
<label class="col-sm-2 col-form-check-label">{lng p="sendrg"}</label>
<div class="col-sm-10">
<label class="form-check">
<input class="form-check-input" type="checkbox" name="sendrg"{if $bm_prefs.sendrg=='yes'} checked="checked"{/if}>
</label>
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="rgnrfmt"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="rgnrfmt" value="{text allowEmpty=true value=$bm_prefs.rgnrfmt}" placeholder="{lng p="rgnrfmt"}">
</div>
</div>
<div class="mb-3 row">
<label class="col-sm-2 col-form-label">{lng p="kdnrfmt"}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="kdnrfmt" value="{text allowEmpty=true value=$bm_prefs.kdnrfmt}" placeholder="{lng p="kdnrfmt"}">
</div>
</div>
</fieldset>
<fieldset>
<legend>{lng p="rgtemplate"}</legend>
<table width="100%">
<tr>
<td style="border: 1px solid #DDDDDD;background-color:#FFFFFF;">
<textarea name="rgtemplate" id="rgtemplate" class="plainTextArea" style="width:100%;height:500px;">{text value=$bm_prefs.rgtemplate allowEmpty=true}</textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
var editor = new htmlEditor('rgtemplate');
editor.height = 500;
editor.disableIntro = true;
editor.init();
registerLoadAction('editor.start()');
//-->
</script>
</td></tr></table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
<div class="mb-3 row">
<div class="col-sm-12">
<textarea name="rgtemplate" id="rgtemplate" class="plainTextArea" style="width:100%;height:500px;">{text value=$bm_prefs.rgtemplate allowEmpty=true}</textarea>
<script src="../clientlib/wysiwyg.js?{fileDateSig file="../../clientlib/wysiwyg.js"}"></script>
<script type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script>
<!--
var editor = new htmlEditor('rgtemplate');
editor.height = 500;
editor.disableIntro = true;
editor.init();
registerLoadAction('editor.start()');
//-->
</script>
</div>
</div>
</p>
</fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form>

Some files were not shown because too many files have changed in this diff Show more