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="" /> <img src="{$tpldir}images/about_logo.png" width="242" height="171" border="0" alt="" />
</p> </div>
<p align="center"> <div class="text-center">
<br /> <br />
<b>b1gMail</b><br /> <b>b1gMail</b><br />
<i> <i>
{lng p="version"} {$version} {lng p="version"} {$version}
</i> </i>
</p> </div>
<p align="center"> <div class="text-center">
Copyright &copy; 2002-2021 Patrick Schlangen, 2022 <a target="_blank" href="https://www.b1gmail.eu" rel="noreferrer">b1gMail.eu Project</a> Copyright &copy; 2002-2021 Patrick Schlangen<br />
</p> Copyright &copy; 2022-{$smarty.now|date_format:"%Y"} <a target="_blank" href="https://www.b1gmail.eu" rel="noreferrer">b1gMail.eu Project</a>
</div>
<p align="center"> </div>
<small> <div class="card-footer">
{lng p="acpiconsfrom"} <a href="http://www.fatcow.com/free-icons" target="_blank" rel="noreferrer">FatCow Web Hosting</a><br /> <div class="row">
{lng p="acpbgfrom"} <a href="http://subtlepatterns.com" target="_blank" rel="noreferrer">subtlepatterns.com</a> <div class="col-md-6">
</small> <h4>Template</h4>
</p> 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"> <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="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" /> <input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" /> <input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" /> <input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" /> <input type="hidden" name="singleID" id="singleID" value="" />
<fieldset> <fieldset>
<legend>{lng p="users"}</legend> <legend>{lng p="users"}</legend>
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th width="60"><a href="javascript:updateSort('id');">{lng p="id"} <tr>
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th> <th style="width: 20px;">&nbsp;</th>
<th><a href="javascript:updateSort('email');">{lng p="email"} <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>
{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: 60px;"><a href="javascript:updateSort('id');">{lng p="id"}
<th width="80"><a href="javascript:updateSort('pointsum');">{lng p="points"} {if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{if $sortBy=='pointsum'}<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"}
<th width="120">&nbsp;</th> {if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
</tr> <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} <optgroup label="{lng p="move"}">
{cycle name=class values="td1,td2" assign=class} {foreach from=$groups item=group key=groupID}
<tr class="{$class}"> <option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option>
<td align="center"><img src="{$tpldir}images/user_{$user.statusImg}.png" border="0" width="16" height="16" alt="" /></td> {/foreach}
<td align="center"><input type="checkbox" name="users[]" value="{$user.id}" /></td> </optgroup>
<td>{$user.id}</td> </select>
<td><a href="abuse.php?do=show&userid={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td> <input type="submit" name="executeMassAction" value="{lng p="execute"}" class="btn btn-sm btn-dark-lt" />
<td><img src="templates/images/indicator_{$user.indicator}.png" border="0" alt="" align="absmiddle" /> </div>
<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;
</div> </div>
<div style="float:left;"> <div class="text-end">
<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; {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>
</td> </div>
</tr> </div>
</table> </fieldset>
</fieldset>
</form> </form>

View file

@ -1,212 +1,269 @@
<fieldset> <fieldset>
<legend>{lng p="user"}: {email value=$userRow.email}</legend> <legend>{lng p="user"}: {email value=$userRow.email}</legend>
<form action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post"> <div action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post">
<table width="100%"> <div class="row">
<tr> <div class="col-md-6">
<td class="td1">{lng p="status"}:</td> <div class="row">
<td class="td2"><img src="{$tpldir}images/user_{$userStatusImg}.png" border="0" width="16" height="16" alt="" align="absmiddle" /> <label class="col-sm-4 col-form-label">{lng p="status"}</label>
{if $userRow.gesperrt=='no'}{lng p="active"} <div class="col-sm-8">
{elseif $userRow.gesperrt=='yes'}{lng p="locked"} <div class="form-control-plaintext">
{elseif $userRow.gesperrt=='locked'}{lng p="notactivated"} {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=='delete'}{lng p="deleted"}{/if} {elseif $userRow.gesperrt=='yes'}{lng p="locked"}
</td> {elseif $userRow.gesperrt=='locked'}{lng p="notactivated"}
<td class="td1">{lng p="group"}:</td> {elseif $userRow.gesperrt=='delete'}{lng p="deleted"}{/if}
<td class="td2"><img src="{$tpldir}images/ico_group.png" border="0" width="16" height="16" alt="" align="absmiddle" /> </div>
<a href="groups.php?do=edit&id={$groupRow.id}&sid={$sid}">{text value=$groupRow.titel}</a></td> </div>
</tr> </div>
<tr> <div class="row">
<td class="td1">{lng p="email"}:</td> <label class="col-sm-4 col-form-label">{lng p="email"}</label>
<td class="td2"> <div class="col-sm-8">
<small>{$emailMails} {lng p="emails"}, {$emailFolders} {lng p="folders"}</small> <div class="form-control-plaintext">
{progressBar value=$userRow.mailspace_used max=$groupRow.storage width=200} <small>{$emailMails} {lng p="emails"}, {$emailFolders} {lng p="folders"}</small>
<small>{size bytes=$userRow.mailspace_used} / {size bytes=$groupRow.storage} {lng p="used"}</small> {progressBar value=$userRow.mailspace_used max=$groupRow.storage width=200}
</td> <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> <div class="mb-3 row">
<td class="td2">{$userRow.received_mails}<br />{$userRow.sent_mails}</td> <label class="col-sm-2 col-form-label">{lng p="notes"}</label>
</tr> <div class="col-sm-10">
<tr> <textarea class="form-control" name="notes" placeholder="{lng p="notes"}">{text value=$userRow.notes allowEmpty=true}</textarea>
<td class="td1" width="120">{lng p="webdisk"}:</td> </div>
<td class="td2"> </div>
<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>
{if $groupRow.sms_monat>0} <div class="mb-3">
<tr> <div class="input-group">
<td class="td1">{lng p="monthasset"}:</td> <button class="btn btn-outline-secondary" type="submit" name="save"><i class="fa-regular fa-floppy-disk"></i>&nbsp; {lng p="save"}</button>
<td class="td2"> <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>
{progressBar value=$usedMonthSMS max=$groupRow.sms_monat width=200} <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>
<small>{$usedMonthSMS} / {$groupRow.sms_monat} {lng p="credits"} {lng p="used2"}</small> <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>
</td> <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>
<td colspan="2"></td> </div>
</tr> </div>
{/if} </form>
<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>
</fieldset> </fieldset>
{if $sendStats} {if $sendStats OR $recvStats}
<fieldset class="collapsed"> <fieldset>
<legend><a href="javascript:;" onclick="toggleFieldset(this)">{lng p="sendstats"}</a> ({lng p="last7d"})</legend> <legend>{lng p="stats"}</legend>
<div class="content"> <div class="accordion accordion-flush" id="sendstats">
<table class="list" id="sendStatsTable"> {if $sendStats}
<tr> <div class="accordion-item">
<th>{lng p="timeframe"}</th> <div class="accordion-header" id="heading-sendstats">
<th width="20%">{lng p="mails"}</th> <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>
<th width="20%">&sum; {lng p="recipients"}</th> </div>
</tr> <div id="collapse-sendstats" class="accordion-collapse collapse" data-bs-parent="#sendstats" style="">
{foreach from=$sendStats item=stat} <div class="accordion-body pt-0">
{cycle name=class values="td1,td2" assign=class} <div class="table-responsive card">
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}"> <table class="table table-vcenter table-striped">
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="sendStats_{$stat.timeStamp}_chevron"></i> <thead>
<a href="javascript:void(0);" onclick="expandStatsDay('send', {$userID}, {$stat.timeStamp});"> <tr>
{date timestamp=$stat.timeStamp dayonly=true} <th>{lng p="timeframe"}</th>
</a></td> <th style="width: 20%;">{lng p="mails"}</th>
<td>{$stat.mails}</td> <th style="width: 20%;">&sum; {lng p="recipients"}</th>
<td>{$stat.recipients}</td> </tr>
</tr> </thead>
<tbody id="sendStats_{$stat.timeStamp}" style="display:none;"></tbody> <tbody>
{/foreach} {foreach from=$sendStats item=stat}
</table> {cycle name=class values="td1,td2" assign=class}
</div> <tr class="{$class}" data-time-stamp="{$stat.timeStamp}">
</fieldset> <td><i class="fa fa-chevron-right" style="font-size:10px;" id="sendStats_{$stat.timeStamp}_chevron"></i>
{/if} <a href="javascript:void(0);" onclick="expandStatsDay('send', {$userID}, {$stat.timeStamp});">
{date timestamp=$stat.timeStamp dayonly=true}
{if $recvStats} </a></td>
<fieldset class="collapsed"> <td>{$stat.mails}</td>
<legend><a href="javascript:;" onclick="toggleFieldset(this)">{lng p="recvstats"}</a> ({lng p="last7d"})</legend> <td>{$stat.recipients}</td>
<div class="content"> </tr>
<table class="list" id="sendStatsTable"> <tbody id="sendStats_{$stat.timeStamp}" style="display:none;"></tbody>
<tr> {/foreach}
<th>{lng p="timeframe"}</th> </tbody>
<th width="20%">{lng p="mails"}</th> </table>
<th width="20%">&sum; {lng p="size"}</th> </div>
</tr> </div>
{foreach from=$recvStats item=stat} </div>
{cycle name=class values="td1,td2" assign=class} </div>
<tr class="{$class}" data-time-stamp="{$stat.timeStamp}"> {/if}
<td><i class="fa fa-chevron-right" style="font-size:10px;" id="recvStats_{$stat.timeStamp}_chevron"></i> {if $recvStats}
<a href="javascript:void(0);" onclick="expandStatsDay('recv', {$userID}, {$stat.timeStamp});"> <div class="accordion-item">
{date timestamp=$stat.timeStamp dayonly=true} <div class="accordion-header" id="heading-recvstats">
</a></td> <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>
<td>{$stat.mails}</td> </div>
<td>{size bytes=$stat.size}</td> <div id="collapse-recvstats" class="accordion-collapse collapse" data-bs-parent="#sendstats" style="">
</tr> <div class="accordion-body pt-0">
<tbody id="recvStats_{$stat.timeStamp}" style="display:none;"></tbody> <div class="table-responsive card">
{/foreach} <table class="table table-vcenter table-striped">
</table> <thead>
</div> <tr>
</fieldset> <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} {/if}
<form action="abuse.php?do=show&userid={$userID}&sid={$sid}" method="post" onsubmit="spin(this)" name="f1"> <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="page" id="page" value="{$pageNo}" />
<input type="hidden" name="singleAction" id="singleAction" value="" /> <input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" /> <input type="hidden" name="singleID" id="singleID" value="" />
<fieldset> <fieldset>
<legend>{lng p="points"}</legend> <legend>{lng p="points"}</legend>
<table class="list"> <div class="table-responsive card">
<tr> <table class="table table-vcenter table-striped">
<th width="22">&nbsp;</th> <thead>
<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> <tr>
<th width="80">{lng p="points"}</th> <th style="width: 40px;">&nbsp;</th>
<th>{lng p="type"}</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>{lng p="comment"}</th> <th style="width: 80px;">{lng p="points"}</th>
<th width="150">{lng p="date"} <th>{lng p="type"}</th>
<img src="{$tpldir}images/sort_desc.png" border="0" alt="" width="7" height="6" align="absmiddle" /></th> <th>{lng p="comment"}</th>
<th width="80">{lng p="sum"}</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 width="32">&nbsp;</th> <th style="width: 80px;">{lng p="sum"}</th>
</tr> <th style="width: 32px;">&nbsp;</th>
</tr>
{foreach from=$points item=entry} </thead>
{cycle name=class values="td1,td2" assign=class} <tbody>
<tr class="{$class}"{if $entry.expired} style="text-decoration:line-through;"{/if}> {foreach from=$points item=entry}
<td align="center"><img src="{$tpldir}images/indicator_{$entry.indicator}.png" border="0" width="16" height="16" alt="" /></td> {cycle name=class values="td1,td2" assign=class}
<td align="center"><input type="checkbox" name="entries[]" value="{$entry.entryid}" /></td> <tr class="{$class}"{if $entry.expired} style="text-decoration:line-through;"{/if}>
<td>{$entry.points}</td> <td class="text-center"><i class="fa-regular fa-circle text-{$entry.indicator}"></i></td>
<td>{$entry.typeText}</td> <td class="text-center"><input type="checkbox" name="entries[]" value="{$entry.entryid}" /></td>
<td>{text value=$entry.comment}</td> <td>{$entry.points}</td>
<td>{date timestamp=$entry.date nice=true}</td> <td>{$entry.typeText}</td>
<td>{$entry.sum}</td> <td>{text value=$entry.comment}</td>
<td> <td>{date timestamp=$entry.date nice=true}</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>{$entry.sum}</td>
</td> <td>
</tr> <a href="javascript:singleAction('delete', '{$entry.entryid}');" title="{lng p="delete"}" class="btn btn-sm"><i class="fa-regular fa-trash-can"></i></a>
{/foreach} </td>
</tr>
<tr> {/foreach}
<td class="footer" colspan="8"> </tbody>
<div style="float:left;"> </table>
{lng p="action"}: <select name="massAction" class="smallInput"> <div class="card-footer">
<option value="-">------------</option> <div style="float: left;">{lng p="action"}:&nbsp;</div>
<div style="float: left;">
<optgroup label="{lng p="actions"}"> <div class="btn-group btn-group-sm">
<option value="delete">{lng p="delete"}</option> <select name="massAction" class="form-select form-select-sm">
</optgroup> <option value="-">------------</option>
</select>&nbsp; <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 style="float:left;"> <div class="text-end">
<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; {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>
</td> </div>
</tr> </div>
</table> </fieldset>
</fieldset>
</form> </form>

View file

@ -1,85 +1,98 @@
<form action="activity.php?sid={$sid}" method="post" onsubmit="spin(this)" name="f1"> <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="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" /> <input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" /> <input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" /> <input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" /> <input type="hidden" name="singleID" id="singleID" value="" />
<fieldset> <fieldset>
<legend>{lng p="users"}</legend> <legend>{lng p="users"}</legend>
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th><a href="javascript:updateSort('id');">{lng p="id"} <tr>
{if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th> <th style="width: 20px;">&nbsp;</th>
<th><a href="javascript:updateSort('email');">{lng p="email"} <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>
{if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th> <th><a href="javascript:updateSort('id');">{lng p="id"}
<th width="80"><a href="javascript:updateSort('mailspace_used');">{lng p="email"} {if $sortBy=='id'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{if $sortBy=='mailspace_used'}<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"}
<th width="80"><a href="javascript:updateSort('diskspace_used');">{lng p="webdisk"} {if $sortBy=='email'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{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('mailspace_used');">{lng p="email"}
<th width="80"><a href="javascript:updateSort('traffic');">{lng p="wdtrafficshort"} {if $sortBy=='mailspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{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('diskspace_used');">{lng p="webdisk"}
<th width="80"><a href="javascript:updateSort('received_mails');">{lng p="receivedmails"} {if $sortBy=='diskspace_used'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{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('traffic');">{lng p="wdtrafficshort"}
<th width="80"><a href="javascript:updateSort('sent_mails');">{lng p="sentmails"} {if $sortBy=='traffic'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{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: 80px;"><a href="javascript:updateSort('received_mails');">{lng p="receivedmails"}
<th width="110">&nbsp;</th> {if $sortBy=='received_mails'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
</tr> <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>
{foreach from=$users item=user} <th style="width: 110px;">&nbsp;</th>
{cycle name=class values="td1,td2" assign=class} </tr>
<tr class="{$class}"> </thead>
<td align="center"><img src="{$tpldir}images/user_{$user.statusImg}.png" border="0" width="16" height="16" alt="" /></td> <tbody>
<td align="center"><input type="checkbox" name="user_{$user.id}" /></td> {foreach from=$users item=user}
<td>{$user.id}</td> {cycle name=class values="td1,td2" assign=class}
<td><a href="users.php?do=edit&id={$user.id}&sid={$sid}">{email value=$user.email cut=30}</a></td> <tr class="{$class}">
<td>{progressBar value=$user.mailspace_used max=$user.mailspace_max width=75}</td> <td align="center">
<td>{progressBar value=$user.diskspace_used max=$user.diskspace_max width=75}</td> {if $user.statusImg == 'active'}
<td>{progressBar value=$user.traffic max=$user.traffic_max width=75}</td> <i class="fa-solid fa-user"></i>
<td>{$user.received_mails}</td> {elseif $user.statusImg == 'nologin'}
<td>{$user.sent_mails}</td> <i class="fa-regular fa-user"></i>
<td> {elseif $user.statusImg == 'deleted'}
<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> <i class="fa-solid fa-user-xmark"></i>
<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> {elseif $user.statusImg == 'locked'}
<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> <i class="fa-solid fa-user-lock"></i>
<!--<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>--> {/if}
<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>
</td> <td class="text-center"><input type="checkbox" name="user_{$user.id}" /></td>
</tr> <td>{$user.id}</td>
{/foreach} <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>
<tr> <td>{progressBar value=$user.diskspace_used max=$user.diskspace_max width=75}</td>
<td class="footer" colspan="10"> <td>{progressBar value=$user.traffic max=$user.traffic_max width=75}</td>
<div style="float:left;"> <td>{$user.received_mails}</td>
{lng p="action"}: <select name="massAction" class="smallInput"> <td>{$user.sent_mails}</td>
<option value="-">------------</option> <td class="text-nowrap">
<div class="btn-group btn-group-sm">
<optgroup label="{lng p="actions"}"> <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>
<option value="delete">{lng p="delete"}</option> <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>
<option value="lock">{lng p="lock"}</option> <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>
<option value="unlock">{lng p="unlock"}</option> <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>
<option value="restore">{lng p="restore"}</option> </div>
<!--<option value="mail">{lng p="sendmail"}</option>--> </td>
</optgroup> </tr>
{/foreach}
<optgroup label="{lng p="move"}"> </tbody>
{foreach from=$groups item=group key=groupID} </table>
<option value="moveto_{$groupID}">{lng p="moveto"} &quot;{text value=$group.title cut=25}&quot;</option> </div>
{/foreach} <div class="card-footer">
</optgroup> <div style="float: left;">{lng p="action"}:&nbsp;</div>
</select>&nbsp; <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>
<div style="float:left;"> <div class="text-end">
<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; {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>
</td> </div>
</tr> </div>
</table> </fieldset>
</fieldset>
</form> </form>

View file

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

View file

@ -1,90 +1,107 @@
<fieldset> <fieldset>
<legend>{lng p="admins"}</legend> <legend>{lng p="admins"}</legend>
<form action="admins.php?action=admins&sid={$sid}" name="f1" method="post" onsubmit="spin(this)"> <form action="admins.php?action=admins&sid={$sid}" name="f1" method="post" onsubmit="spin(this)">
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th>{lng p="name"}</th> <tr>
<th width="140">{lng p="status"}</th> <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 width="60">&nbsp;</th> <th>{lng p="name"}</th>
</tr> <th style="width: 200px;">{lng p="status"}</th>
<th style="width: 80px;">&nbsp;</th>
{foreach from=$admins item=admin} </tr>
{cycle name=class values="td1,td2" assign=class} </thead>
<tr class="{$class}"> <tbody>
<td align="center"><img src="{$tpldir}images/user_active.png" border="0" alt="" width="16" height="16" /></td> {foreach from=$admins item=admin}
<td align="center">{if $admin.adminid!=1}<input type="checkbox" name="admin_{$admin.adminid}" />{/if}</td> {cycle name=class values="td1,td2" assign=class}
<td>{text value=$admin.username}<br /> <tr class="{$class}">
<small>{text value=$admin.firstname} {text value=$admin.lastname}</small></td> <td class="text-center">{if $admin.adminid!=1}<input type="checkbox" name="admin_{$admin.adminid}" />{/if}</td>
<td> <td>{text value=$admin.firstname} {text value=$admin.lastname} ({text value=$admin.username})</td>
{if $admin.type==0}{lng p="superadmin"}{else}{lng p="admin"}{/if} <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> <td class="text-nowrap">
{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} <div class="btn-group btn-group-sm">
</td> <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>
</tr> {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}
{/foreach} </div>
</td>
<tr> </tr>
<td class="footer" colspan="5"> {/foreach}
<div style="float:left;"> </tbody>
{lng p="action"}: <select name="massAction" class="smallInput"> </table>
<option value="-">------------</option> </div>
<div class="card-footer">
<optgroup label="{lng p="actions"}"> <div style="float: left;">{lng p="action"}:&nbsp;</div>
<option value="delete">{lng p="delete"}</option> <div style="float: left;">
</optgroup> <div class="btn-group btn-group-sm">
</select>&nbsp; <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 style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</div>
</td>
</tr>
</table>
</form> </form>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>{lng p="addadmin"}</legend> <legend>{lng p="addadmin"}</legend>
<form action="admins.php?action=admins&add=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="admins.php?action=admins&add=true&sid={$sid}" method="post" onsubmit="spin(this)">
<table width="100%"> <div class="row">
<tr> <div class="col-md-6">
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/ico_users.png" border="0" alt="" width="32" height="32" /></td> <div class="mb-3 row">
<td class="td1" width="150">{lng p="username"}:</td> <label class="col-sm-4 col-form-label">{lng p="username"}</label>
<td class="td2"><input type="text" size="28" id="username" name="username" value="" /></td> <div class="col-sm-8">
</tr> <input type="text" class="form-control" id="username" name="username" placeholder="{lng p="username"}">
<tr> </div>
<td class="td1">{lng p="firstname"}:</td> </div>
<td class="td2"><input type="text" size="36" id="firstname" name="firstname" value="" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="firstname"}</label>
<tr> <div class="col-sm-8">
<td class="td1">{lng p="lastname"}:</td> <input type="text" class="form-control" id="firstname" name="firstname" placeholder="{lng p="firstname"}">
<td class="td2"><input type="text" size="36" id="lastname" name="lastname" value="" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="password"}:</td> <label class="col-sm-4 col-form-label">{lng p="lastname"}</label>
<td class="td2"><input type="password" size="28" id="pw1" name="pw1" value="" /></td> <div class="col-sm-8">
</tr> <input type="text" class="form-control" id="lastname" name="lastname" placeholder="{lng p="lastname"}">
<tr> </div>
<td class="td1">{lng p="password"} ({lng p="repeat"}):</td> </div>
<td class="td2"><input type="password" size="28" id="pw2" name="pw2" value="" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="type"}</label>
<tr> <div class="col-sm-8">
<td class="td1">{lng p="type"}:</td> <select class="form-select" name="type">
<td class="td2"><select name="type"> <option value="1">{lng p="admin"}</option>
<option value="1">{lng p="admin"}</option> <option value="0">{lng p="superadmin"}</option>
<option value="0">{lng p="superadmin"}</option> </select>
</select></td> </div>
</tr> </div>
</table> </div>
<div class="col-md-6">
<p align="right"> <div class="mb-3 row">
<input class="button" type="submit" value=" {lng p="add"} " /> <label class="col-sm-4 col-form-label">{lng p="password"}</label>
</p> <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> </form>
</fieldset> </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)"> <form action="admins.php?action=admins&do=edit&id={$admin.adminid}&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <div class="row">
<legend>{lng p="editadmin"}: {text value=$admin.username}</legend> <div class="col-md-6">
<fieldset>
<table width="100%"> <legend>{lng p="editadmin"}: {text value=$admin.username}</legend>
<tr> <div class="mb-3 row">
<td width="40" valign="top" rowspan="6"><img src="{$tpldir}images/ico_users.png" border="0" alt="" width="32" height="32" /></td> <label class="col-sm-4 col-form-label">{lng p="username"}</label>
<td class="td1" width="220">{lng p="username"}:</td> <div class="col-sm-8">
<td class="td2"><input type="text" size="28" id="username" name="username" value="{if isset($admin.username)}{text value=$admin.username}{/if}" /></td> <input type="text" class="form-control" id="username" name="username" value="{if isset($admin.username)}{text value=$admin.username}{/if}" placeholder="{lng p="username"}">
</tr> </div>
<tr> </div>
<td class="td1">{lng p="firstname"}:</td> <div class="mb-3 row">
<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> <label class="col-sm-4 col-form-label">{lng p="firstname"}</label>
</tr> <div class="col-sm-8">
<tr> <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"}">
<td class="td1">{lng p="lastname"}:</td> </div>
<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> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="lastname"}</label>
<td class="td1">{lng p="type"}:</td> <div class="col-sm-8">
<td class="td2"><select name="type"{if $admin.adminid==1} disabled="disabled"{/if} onclick="EBID('perms').style.display=this.value==0?'none':'';"> <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"}">
<option value="1"{if $admin.type==1} selected="selected"{/if}>{lng p="admin"}</option> </div>
<option value="0"{if $admin.type==0} selected="selected"{/if}>{lng p="superadmin"}</option> </div>
</select></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="type"}</label>
</table> <div class="col-sm-8">
</fieldset> <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};"> <fieldset id="perms" style="display:{if $admin.type==0}none{/if};">
<legend>{lng p="permissions"}</legend> <legend>{lng p="permissions"}</legend>
<table width="100%"> <div class="row">
<tr> <div class="col-md-6">
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_validation.png" border="0" alt="" width="32" height="32" /></td> <div class="mb-3">
<td class="td1" width="220">{lng p="areas"}:</td> <label class="form-label">{lng p="areas"}</div>
<td class="td2">
<div>
{foreach from=$permsTable item=permTitle key=permName} {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 class="form-check">
<label for="perm_{$permName}" style="font-weight:bold;">{$permTitle}</label><br /> <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} {/foreach}
</td> </div>
</tr> </div>
<tr> <div class="col-md-6">
<td class="td1">{lng p="plugins"}:</td> <div class="mb-3 ">
<td class="td2"> <label class="form-label">{lng p="plugins"}</div>
<div>
{foreach from=$pluginList item=pluginTitle key=pluginName} {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 class="form-check">
<label for="plugin_{$pluginName}" style="font-weight:bold;">{text value=$pluginTitle}</label><br /> <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} {/foreach}
</td> </div>
</tr> </div>
</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>
</p> </fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form> </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"> <form action="groups.php?do=realDelete&sid={$sid}" method="post">
<fieldset> <fieldset>
<legend>{lng p="deletegroup"}</legend> <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>
<p> {lng p="groupdeletedesc"}
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="move"} &amp; {lng p="delete"} " /> {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> </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)"> <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"> <div class="row">
<tr> <div class="col-md-6">
<td valign="top" width="50%">
<fieldset> <fieldset>
<legend>{lng p="common"}</legend> <legend>{lng p="common"}</legend>
<table width="100%"> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="title"}</label>
<td class="td1" width="160">{lng p="title"}:</td> <div class="col-sm-8">
<td class="td2"><input type="text" name="titel" value="{if isset($group.titel)}{text value=$group.titel allowEmpty=true}{/if}" style="width:85%;" /></td> <input type="text" class="form-control" name="titel" value="{if isset($group.titel)}{text value=$group.titel allowEmpty=true}{/if}" placeholder="{lng p="title"}">
</tr> </div>
<tr> </div>
<td class="td1">{lng p="htmlview"}?</td> <div class="mb-3 row">
<td class="td2"><input type="checkbox" name="soforthtml"{if $group.soforthtml=='yes'} checked="checked"{/if} /></td> <label class="col-sm-4 col-form-check-label">{lng p="htmlview"}</label>
</tr> <div class="col-sm-8">
<tr> <label class="form-check">
<td class="td1">{lng p="monthasset"}:</td> <input class="form-check-input" type="checkbox" name="soforthtml"{if $group.soforthtml=='yes'} checked="checked"{/if}>
<td class="td2"><input type="text" name="sms_monat" value="{$group.sms_monat}" size="8" /> {lng p="credits"}</td> </label>
</tr> </div>
</table> </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>
<fieldset> <fieldset>
<legend>{lng p="storage"}</legend> <legend>{lng p="storage"}</legend>
<table width="100%"> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="email"}</label>
<td class="td1" width="160">{lng p="email"}:</td> <div class="col-sm-8">
<td class="td2"><input type="text" name="storage" value="{$group.storage/1024/1024}" size="8" /> MB</td> <div class="input-group mb-2">
</tr> <input type="text" class="form-control" name="storage" value="{$group.storage/1024/1024}" placeholder="{lng p="email"}">
<tr> <span class="input-group-text">MB</span>
<td class="td1">{lng p="webdisk"}:</td> </div>
<td class="td2"><input type="text" name="webdisk" value="{$group.webdisk/1024/1024}" size="8" /> MB</td> </div>
</tr> </div>
</table> <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>
<fieldset> <fieldset>
<legend>{lng p="limits"}</legend> <legend>{lng p="limits"}</legend>
<table width="100%"> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="emailin"}</label>
<td class="td1" width="160">{lng p="emailin"}:</td> <div class="col-sm-8">
<td class="td2"><input type="text" name="maxsize" value="{$group.maxsize/1024}" size="8" /> KB</td> <div class="input-group mb-2">
</tr> <input type="text" class="form-control" name="maxsize" value="{$group.maxsize/1024}" placeholder="{lng p="emailin"}">
<tr> <span class="input-group-text">KB</span>
<td class="td1">{lng p="emailout"}:</td> </div>
<td class="td2"><input type="text" name="anlagen" value="{$group.anlagen/1024}" size="8" /> KB</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="wdtraffic"}:</td> <label class="col-sm-4 col-form-label">{lng p="emailout"}</label>
<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> <div class="col-sm-8">
</tr> <div class="input-group mb-2">
<tr> <input type="text" class="form-control" name="anlagen" value="{$group.anlagen/1024}" placeholder="{lng p="emailout"}">
<td class="td1">{lng p="wdspeed"}:</td> <span class="input-group-text">KB</span>
<td class="td2"><input type="text" name="wd_member_kbs" value="{$group.wd_member_kbs}" size="8" /> KB/s</td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="sharespeed"}:</td> <div class="mb-3 row">
<td class="td2"><input type="text" name="wd_open_kbs" value="{$group.wd_open_kbs}" size="8" /> KB/s</td> <label class="col-sm-4 col-form-label">{lng p="wdtraffic"}</label>
</tr> <div class="col-sm-8">
<tr> <div class="input-group mb-2">
<td class="td1" width="220">{lng p="maxrecps"}:</td> <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"}">
<td class="td2"><input type="text" name="max_recps" value="{$group.max_recps}" size="8" /></td> <span class="input-group-text">MB</span>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="sendlimit"}:</td> </div>
<td class="td2"><input type="text" name="send_limit_count" value="{$group.send_limit_count}" size="8" /> <div class="mb-3 row">
{lng p="emailsin"} <label class="col-sm-4 col-form-label">{lng p="wdspeed"}</label>
<input type="text" name="send_limit_time" value="{$group.send_limit_time}" size="8" /> <div class="col-sm-8">
{lng p="minutes"}</td> <div class="input-group mb-2">
</tr> <input type="text" class="form-control" name="wd_member_kbs" value="{$group.wd_member_kbs}" placeholder="{lng p="wdspeed"}">
<tr> <span class="input-group-text">KB/s</span>
<td class="td1">{lng p="ownpop3"}:</td> </div>
<td class="td2"><input type="text" name="ownpop3" value="{$group.ownpop3}" size="8" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="ownpop3interval"}:</td> <label class="col-sm-4 col-form-label">{lng p="sharespeed"}</label>
<td class="td2"><input type="text" name="ownpop3_interval" value="{$group.ownpop3_interval}" size="8" /> {lng p="seconds"}</td> <div class="col-sm-8">
</tr> <div class="input-group mb-2">
<tr> <input type="text" class="form-control" name="wd_open_kbs" value="{$group.wd_open_kbs}" placeholder="{lng p="sharespeed"}">
<td class="td1">{lng p="selfpop3_check"}?</td> <span class="input-group-text">KB/s</span>
<td class="td2"><input type="checkbox" name="selfpop3_check"{if $group.selfpop3_check=='yes'} checked="checked"{/if} /></td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="aliases"}:</td> <div class="mb-3 row">
<td class="td2"><input type="text" name="aliase" value="{$group.aliase}" size="8" /></td> <label class="col-sm-4 col-form-label">{lng p="maxrecps"}</label>
</tr> <div class="col-sm-8">
<tr> <input type="text" class="form-control" name="max_recps" value="{$group.max_recps}" placeholder="{lng p="maxrecps"}">
<td class="td1">{lng p="smspre"}:</td> </div>
<td class="td2"> </div>
<textarea style="width:100%;height:80px;" name="sms_pre">{text value=$group.sms_pre allowEmpty=true}</textarea> <div class="mb-3 row">
<small>{lng p="sepby"}</small> <label class="col-sm-4 col-form-label">{lng p="sendlimit"}</label>
</td> <div class="col-sm-8">
</tr> <div class="input-group mb-2">
<tr> <input type="text" class="form-control" name="send_limit_count" value="{$group.send_limit_count}" placeholder="{lng p="emailsin"}">
<td class="td1">{lng p="smsvalidation"}?</td> <span class="input-group-text">{lng p="emailsin"}</span>
<td class="td2"><input type="checkbox" name="smsvalidation"{if $group.smsvalidation=='yes'} checked="checked"{/if} /></td> <input type="text" class="form-control" name="send_limit_time" value="{$group.send_limit_time}" placeholder="{lng p="minutes"}">
</tr> <span class="input-group-text">{lng p="minutes"}</span>
<tr> </div>
<td class="td1">{lng p="allownewsoptout"}?</td> </div>
<td class="td2"><input name="allow_newsletter_optout"{if $group.allow_newsletter_optout=='yes'} checked="checked"{/if} type="checkbox" /></td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="ownpop3"}</label>
<td class="td1">{lng p="mail_send_code"}?</td> <div class="col-sm-8">
<td class="td2"><input name="mail_send_code"{if $group.mail_send_code=='yes'} checked="checked"{/if} type="checkbox" /></td> <input type="text" class="form-control" name="ownpop3" value="{$group.ownpop3}" placeholder="{lng p="ownpop3"}">
</tr> </div>
<tr> </div>
<td class="td1">{lng p="sms_send_code"}?</td> <div class="mb-3 row">
<td class="td2"><input name="sms_send_code"{if $group.sms_send_code=='yes'} checked="checked"{/if} type="checkbox" /></td> <label class="col-sm-4 col-form-label">{lng p="ownpop3interval"}</label>
</tr> <div class="col-sm-8">
<tr> <div class="input-group mb-2">
<td class="td1">{lng p="abuseprotect"}?</td> <input type="text" class="form-control" name="ownpop3_interval" value="{$group.ownpop3_interval}" placeholder="{lng p="ownpop3interval"}">
<td class="td2"><input name="abuseprotect"{if $group.abuseprotect=='yes'} checked="checked"{/if} type="checkbox" /></td> <span class="input-group-text">{lng p="seconds"}</span>
</tr> </div>
</table> </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> </fieldset>
</td> </div>
<td valign="top"> <div class="col-md-6">
<fieldset> <fieldset>
<legend>{lng p="services"}</legend> <legend>{lng p="services"}</legend>
<table width="100%"> <div class="row">
<tr> <div class="col-md-6">
<td class="td1" width="150">{lng p="autoresponder"}?</td> <div class="row">
<td class="td2"><input type="checkbox" name="responder"{if $group.responder=='yes'} checked="checked"{/if} /></td> <label class="col-sm-6 col-form-check-label">{lng p="autoresponder"}</label>
<td class="td1" width="150">{lng p="forward"}?</td> <div class="col-sm-6">
<td class="td2"><input type="checkbox" name="forward"{if $group.forward=='yes'} checked="checked"{/if} /></td> <label class="form-check">
</tr> <input class="form-check-input" type="checkbox" name="responder"{if $group.responder=='yes'} checked="checked"{/if}>
<tr> </label>
<td class="td1">{lng p="ads"}?</td> </div>
<td class="td2"><input type="checkbox" name="ads"{if $group.ads=='yes'} checked="checked"{/if} /></td> </div>
<td class="td2" colspan="2">&nbsp;</td> </div>
</tr> <div class="col-md-6">
<tr> <div class="row">
<td class="td1">{lng p="mail2sms"}?</td> <label class="col-sm-6 col-form-check-label">{lng p="forward"}</label>
<td class="td2"><input type="checkbox" name="mail2sms"{if $group.mail2sms=='yes'} checked="checked"{/if} /></td> <div class="col-sm-6">
<td class="td1">{lng p="ownfrom"}?</td> <label class="form-check">
<td class="td2"><input type="checkbox" name="sms_ownfrom"{if $group.sms_ownfrom=='yes'} checked="checked"{/if} /></td> <input class="form-check-input" type="checkbox" name="forward"{if $group.forward=='yes'} checked="checked"{/if}>
</tr> </label>
<tr> </div>
<td class="td1">{lng p="mobileaccess"}?</td> </div>
<td class="td2"><input type="checkbox" name="wap"{if $group.wap=='yes'} checked="checked"{/if} /></td> </div>
<td class="td1">{lng p="sync"}?</td> </div>
<td class="td2"><input type="checkbox" name="syncml"{if $group.syncml=='yes'} checked="checked"{/if} /></td> <div class="row">
</tr> <div class="col-md-6">
<tr> <div class="row">
<td class="td1">{lng p="wdshare"}?</td> <label class="col-sm-6 col-form-check-label">{lng p="ads"}</label>
<td class="td2"><input type="checkbox" name="share"{if $group.share=='yes'} checked="checked"{/if} /></td> <div class="col-sm-6">
<td class="td1">{lng p="webdav"}?</td> <label class="form-check">
<td class="td2"><input type="checkbox" name="webdav"{if !$davSupport} disabled="disabled"{else}{if $group.webdav=='yes'} checked="checked"{/if}{/if} /></td> <input class="form-check-input" type="checkbox" name="ads"{if $group.ads=='yes'} checked="checked"{/if}>
</tr> </label>
<tr> </div>
<td class="td1">{lng p="organizerdav"}?</td> </div>
<td class="td2"><input type="checkbox" name="organizerdav"{if !$davSupport} disabled="disabled"{else}{if $group.organizerdav=='yes'} checked="checked"{/if}{/if} /></td> </div>
<td colspan="2">&nbsp;</td> <div class="col-md-6">
</tr> &nbsp;
<tr> </div>
<td class="td1">{lng p="organizer"}?</td> </div>
<td class="td2"><input type="checkbox" name="organizer"{if $group.organizer=='yes'} checked="checked"{/if} /></td> <div class="row">
<td colspan="2">&nbsp;</td> <div class="col-md-6">
</tr> <div class="row">
<tr> <label class="col-sm-6 col-form-check-label">{lng p="mail2sms"}</label>
<td class="td1">{lng p="smtp"}?</td> <div class="col-sm-6">
<td class="td2"><input type="checkbox" name="smtp"{if $group.smtp=='yes'} checked="checked"{/if} /></td> <label class="form-check">
<td class="td1">{lng p="pop3"}?</td> <input class="form-check-input" type="checkbox" name="mail2sms"{if $group.mail2sms=='yes'} checked="checked"{/if}>
<td class="td2"><input type="checkbox" name="pop3"{if $group.pop3=='yes'} checked="checked"{/if} /></td> </label>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="imap"}?</td> </div>
<td class="td2"><input type="checkbox" name="imap"{if $group.imap=='yes'} checked="checked"{/if} /></td> <div class="col-md-6">
<td colspan="2">&nbsp;</td> <div class="row">
</tr> <label class="col-sm-6 col-form-check-label">{lng p="ownfrom"}</label>
<tr> <div class="col-sm-6">
<td class="td1">{lng p="smime"}?</td> <label class="form-check">
<td class="td2"><input type="checkbox" name="smime"{if !$smimeSupport} disabled="disabled"{else}{if $group.smime=='yes'} checked="checked"{/if}{/if} /></td> <input class="form-check-input" type="checkbox" name="sms_ownfrom"{if $group.sms_ownfrom=='yes'} checked="checked"{/if}>
<td class="td1">{lng p="issue_certificates"}?</td> </label>
<td class="td2"><input type="checkbox" name="issue_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.issue_certificates=='yes'} checked="checked"{/if}{/if} /></td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="upload_certificates"}?</td> </div>
<td class="td2"><input type="checkbox" name="upload_certificates"{if !$smimeSupport} disabled="disabled"{else}{if $group.upload_certificates=='yes'} checked="checked"{/if}{/if} /></td> <div class="row">
<td class="td1">{lng p="sender_aliases"}?</td> <div class="col-md-6">
<td class="td2"><input type="checkbox" name="sender_aliases"{if $group.sender_aliases=='yes'} checked="checked"{/if} /></td> <div class="row">
</tr> <label class="col-sm-6 col-form-check-label">{lng p="mobileaccess"}</label>
<tr> <div class="col-sm-6">
<td class="td1">{lng p="ftsearch"}?</td> <label class="form-check">
<td class="td2"><input type="checkbox" name="ftsearch"{if !$ftsSupport} disabled="disabled"{else}{if $group.ftsearch=='yes'} checked="checked"{/if}{/if} /></td> <input class="form-check-input" type="checkbox" name="wap"{if $group.wap=='yes'} checked="checked"{/if}>
<td class="td1">{lng p="notifications"}?</td> </label>
<td class="td2"><input type="checkbox" name="notifications"{if $group.notifications=='yes'} checked="checked"{/if} /></td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="deliverystatus"}?</td> <div class="col-md-6">
<td class="td2"><input type="checkbox" name="maildeliverystatus"{if $group.maildeliverystatus=='yes'} checked="checked"{/if} /></td> <div class="row">
<td class="td1">{lng p="auto_save_drafts"}?</td> <label class="col-sm-6 col-form-check-label">{lng p="sync"}</label>
<td class="td2"><input type="checkbox" name="auto_save_drafts"{if $group.auto_save_drafts=='yes'} checked="checked"{/if} /></td> <div class="col-sm-6">
</tr> <label class="form-check">
</table> <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>
<fieldset> <fieldset>
<legend>{lng p="bmtoolbox"}</legend> <legend>{lng p="bmtoolbox"}</legend>
<table width="100%"> <div class="row">
<tr> <div class="col-md-6">
<td class="td1" width="150">{lng p="tbx_enable"}?</td> <div class="row">
<td class="td2"><input type="checkbox" name="checker"{if $group.checker=='yes'} checked="checked"{/if} /></td> <label class="col-sm-6 col-form-check-label">{lng p="tbx_enable"}</label>
<td class="td2" width="150">&nbsp;</td> <div class="col-sm-6">
<td class="td2">&nbsp;</td> <label class="form-check">
</tr> <input class="form-check-input" type="checkbox" name="checker"{if $group.checker=='yes'} checked="checked"{/if}>
<tr> </label>
<td class="td1">{lng p="tbx_webdisk"}?</td> </div>
<td class="td2"><input type="checkbox" name="tbx_webdisk"{if $group.tbx_webdisk=='yes'} checked="checked"{/if} /></td> </div>
<td class="td1">{lng p="tbx_smsmanager"}?</td> </div>
<td class="td2"><input type="checkbox" name="tbx_smsmanager"{if $group.tbx_smsmanager=='yes'} checked="checked"{/if} /></td> <div class="col-md-6">
</tr> &nbsp;
</table> </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>
<fieldset> <fieldset>
<legend>{lng p="aliasdomains"}</legend> <legend>{lng p="aliasdomains"}</legend>
<textarea style="width:100%;height:80px;" name="saliase">{text value=$group.saliase allowEmpty=true}</textarea> <div class="mb-3 row">
<small>{lng p="sepby"}</small> <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>
<fieldset> <fieldset>
<legend>{lng p="misc"}</legend> <legend>{lng p="misc"}</legend>
<table width="100%"> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="creditprice"}</label>
<td class="td1" width="160">{lng p="creditprice"}:</td> <div class="col-sm-8">
<td class="td2"><input type="text" name="sms_price_per_credit" value="{$group.sms_price_per_credit}" size="6" /> (1/100 {$currency})</td> <div class="input-group mb-2">
</tr> <input type="text" class="form-control" name="sms_price_per_credit" value="{$group.sms_price_per_credit}" placeholder="{lng p="creditprice"}">
<tr> <span class="input-group-text">(1/100 {$currency})</span>
<td class="td1" width="160">{lng p="smsfrom"}:</td> </div>
<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> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="smssig"}:</td> <label class="col-sm-4 col-form-label">{lng p="smsfrom"}</label>
<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> <div class="col-sm-8">
</tr> <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"}">
<tr> </div>
<td class="td1">{lng p="mailsig"}:</td> </div>
<td class="td2"><textarea style="width:100%;height:80px;" name="signatur">{text value=$group.signatur allowEmpty=true}</textarea></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="smssig"}</label>
<div class="col-sm-8">
{foreach from=$groupOptions key=fieldKey item=fieldInfo} <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"}">
<tr> </div>
<td class="td1">{$fieldInfo.desc}</td> </div>
<td class="td2"> <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} {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} {elseif $fieldInfo.type==8}
{foreach from=$fieldInfo.options item=optionValue key=optionKey} {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} /> <div class="form-check">
<label for="{$fieldKey}_{$optionKey}">{text value=$optionValue}</label> <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} {/foreach}
{elseif $fieldInfo.type==4} {elseif $fieldInfo.type==4}
<select name="{$fieldKey}"> <select name="{$fieldKey}" class="form-select">
{foreach from=$fieldInfo.options item=optionValue key=optionKey} {foreach from=$fieldInfo.options item=optionValue key=optionKey}
<option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option> <option value="{$optionKey}"{if $fieldInfo.value==$optionKey} selected="selected"{/if}>{text value=$optionValue}</option>
{/foreach} {/foreach}
</select> </select>
{elseif $fieldInfo.type==2} {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} {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} {/if}
</tr> </div>
{/foreach} </div>
</table> {/foreach}
</fieldset> </fieldset>
</td> </div>
</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 class="row">
</div>{/if} <div class="col-md-6">
<div style="float:right" class="buttons"> <div style="float: left;">{lng p="action"}:&nbsp;</div>
<input class="button" type="submit" value=" {lng p="save"} " /> <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> </div>
</p> </form>
</form>
<br /><br />

View file

@ -1,44 +1,50 @@
<fieldset> <fieldset>
<legend>{lng p="groups"}</legend> <legend>{lng p="groups"}</legend>
<form name="f1" action="groups.php?sid={$sid}" method="post"> <form name="f1" action="groups.php?sid={$sid}" method="post">
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th>{lng p="title"}</th> <tr>
<th width="70">&nbsp;</th> <th width="20">&nbsp;</th>
</tr> <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>
{foreach from=$groups item=group} <th width="70">&nbsp;</th>
{cycle name=class values="td1,td2" assign=class} </tr>
<tr class="{$class}"> </thead>
<td align="center"><img src="{$tpldir}images/ico_group{if $group.default}_default{/if}.png" border="0" width="16" height="16" alt="" /></td> <tbody>
<td align="center"><input type="checkbox" name="group_{$group.id}" /></td> {foreach from=$groups item=group}
<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> {cycle name=class values="td1,td2" assign=class}
<td> <tr class="{$class}">
<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> <td align="center"><i class="fa-solid fa-user-group{if $group.default} text-green{/if}"></i></td>
{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 align="center"><input type="checkbox" name="group_{$group.id}" /></td>
</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>
</tr> <td class="text-nowrap">
{/foreach} <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>
<tr> {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}
<td class="footer" colspan="4"> </div>
<div style="float:left;"> </td>
{lng p="action"}: <select name="massAction" class="smallInput"> </tr>
<option value="-">------------</option> {/foreach}
</tbody>
<optgroup label="{lng p="actions"}"> </table>
<option value="delete">{lng p="delete"}</option> </div>
</optgroup> <div class="card-footer">
</select>&nbsp; <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 style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</div>
</td>
</tr>
</table>
</form> </form>
</fieldset> </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"> <!doctype html>
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<title>b1gMail - {lng p="acp"}</title> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
<!-- meta --> <meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<meta http-equiv="content-type" content="text/html; charset={$charset}" /> <title>b1gMail - {lng p="acp"}</title>
<!-- 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>
<body onload="EBID('username').focus();" id="loginBody"> <meta name="theme-color" content=""/>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<form action="index.php?action=login" method="post" autocomplete="off"> <meta name="apple-mobile-web-app-capable" content="yes"/>
{if isset($jump)}<input type="hidden" id="jump" name="jump" value="{text value=$jump allowEmpty=true}" />{/if} <meta name="mobile-web-app-capable" content="yes"/>
<input type="hidden" name="timezone" id="timezone" value="{$timezone}" /> <meta name="HandheldFriendly" content="True"/>
<meta name="MobileOptimized" content="320"/>
<div id="loginBox1"> <link rel="icon" type="image/png" href="{$tpldir}images/favicon-256x256.png" />
<div id="loginBox2">
<div id="loginBox3"> <meta name="description" content="{lng p="acp"}"/>
{if isset($error)}<div class="loginError">{$error}</div>{/if}
<link rel="stylesheet" href="{$tpldir}css/tabler.min.css?{fileDateSig file="css/tabler.min.css"}" />
<div id="loginLogo"> <script src="{$tpldir}js/tabler.min.js?{fileDateSig file="js/tabler.min.js"}"></script>
<img src="templates/images/logo_letter.png" style="width:90px;height:53px;" border="0" alt="" /> <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>
<div class="mb-2">
<div id="loginForm"> <label class="form-label">{lng p="password"}</label>
{lng p="username"}:<br /> <input type="password" id="pw" name="password" class="form-control" placeholder="{lng p="password"}" autocomplete="off">
<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> </div>
<div class="form-footer">
<br class="clear" /> <button type="submit" class="btn btn-primary w-100">{lng p="login"}</button>
</div> </div>
</form>
</div> </div>
</div> </div>
</form> </div>
</div>
<script>
<script>
<!-- <!--
EBID('timezone').value = (new Date()).getTimezoneOffset() * (-60); EBID('timezone').value = (new Date()).getTimezoneOffset() * (-60);
//--> //-->
</script> </script>
</body> </body>
</html>
</html>

View file

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

View file

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

View file

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

View file

@ -1,15 +1,7 @@
<fieldset> <fieldset>
<legend>{lng p="newsletter"}</legend> <legend>{lng p="newsletter"}</legend>
<center> <div class="alert alert-info">{lng p="sendingletter"}: <span id="status">0 / {$recpCount}</span></div>
<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>
</fieldset> </fieldset>
<script type="text/javascript"> <script type="text/javascript">

View file

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

View file

@ -1,104 +1,117 @@
<fieldset> <fieldset>
<legend>{lng p="templates"}</legend> <legend>{lng p="templates"}</legend>
<form name="f1" action="newsletter.php?action=templates&sid={$sid}" method="post"> <form name="f1" action="newsletter.php?action=templates&sid={$sid}" method="post">
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th>{lng p="title"}</th> <tr>
<th>{lng p="subject"}</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 width="70">&nbsp;</th> <th>{lng p="title"}</th>
</tr> <th>{lng p="subject"}</th>
<th style="width: 70px;">&nbsp;</th>
{foreach from=$templates item=tpl} </tr>
{cycle name=class values="td1,td2" assign=class} </thead>
<tr class="{$class}"> <tbody>
<td align="center"><img src="{$tpldir}images/template.png" border="0" width="16" height="16" alt="" /></td> {foreach from=$templates item=tpl}
<td align="center"><input type="checkbox" name="tpl_{$tpl.templateid}" /></td> {cycle name=class values="td1,td2" assign=class}
<td>{text value=$tpl.title cut=35}</td> <tr class="{$class}">
<td>{text value=$tpl.subject cut=35}</td> <td align="center"><input type="checkbox" name="tpl_{$tpl.templateid}" /></td>
<td> <td>{text value=$tpl.title cut=35}</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> <td>{text value=$tpl.subject cut=35}</td>
<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 class="text-nowrap">
</td> <div class="btn-group btn-group-sm">
</tr> <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>
{/foreach} <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>
<tr> </td>
<td class="footer" colspan="5"> </tr>
<div style="float:left;"> {/foreach}
{lng p="action"}: <select name="massAction" class="smallInput"> </tbody>
<option value="-">------------</option> </table>
</div>
<optgroup label="{lng p="actions"}"> <div class="card-footer">
<option value="delete">{lng p="delete"}</option> <div style="float: left;">{lng p="action"}:&nbsp;</div>
</optgroup> <div style="float: left;">
</select>&nbsp; <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 style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</div>
</td>
</tr>
</table>
</form> </form>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>{lng p="addtemplate"}</legend> <legend>{lng p="addtemplate"}</legend>
<form name="f1" action="newsletter.php?action=templates&add=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);"> <form name="f1" action="newsletter.php?action=templates&add=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);">
<table width="100%"> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="title"}</label>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/newsletter.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="120">{lng p="title"}:</td> <input type="text" class="form-control" id="subject" name="title" value="" placeholder="{lng p="title"}">
<td class="td2"><input type="text" id="subject" name="title" value="" size="42" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" >{lng p="mode"}:</td> <label class="col-sm-2 col-form-label">{lng p="mode"}</label>
<td class="td2"> <div class="col-sm-10">
<input type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');" /> <label class="form-check">
<label for="mode_html"><b>{lng p="htmltext"}</b></label> <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>
<input type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');" /> </label>
<label for="mode_text"><b>{lng p="plaintext"}</b></label> <label class="form-check">
</td> <input class="form-check-input" type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');">
</tr> <span class="form-check-label">{lng p="plaintext"}</span>
<tr> </label>
<td class="td1">{lng p="from"}:</td> </div>
<td class="td2"><input type="text" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" size="42" /></td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="from"}</label>
<td class="td1">{lng p="subject"}:</td> <div class="col-sm-10">
<td class="td2"><input type="text" id="subject" name="subject" value="" size="42" /></td> <input type="text" class="form-control" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" placeholder="{lng p="from"}">
</tr> </div>
<tr> </div>
<td class="td1">{lng p="priority"}:</td> <div class="mb-3 row">
<td class="td2"><select name="priority" id="priority"> <label class="col-sm-2 col-form-label">{lng p="subject"}</label>
<option value="1">{lng p="prio_1"}</option> <div class="col-sm-10">
<option value="0" selected="selected">{lng p="prio_0"}</option> <input type="text" class="form-control" id="subject" name="subject" value="" placeholder="{lng p="subject"}">
<option value="-1">{lng p="prio_-1"}</option> </div>
</select></td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;"> <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> <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 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 type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script> <script>
<!-- <!--
var editor = new htmlEditor('emailText'); var editor = new htmlEditor('emailText');
editor.height = 400; editor.height = 400;
editor.init(); editor.init();
registerLoadAction('editor.start()'); registerLoadAction('editor.start()');
//--> //-->
</script> </script>
</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td colspan="2"> <div class="col-sm-12">
<select class="smallInput" onchange="editor.insertText(this.value);"> <select class="form-select" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option> <option value="">-- {lng p="vars"} --</option>
<option value="%%email%%">%%email%% ({lng p="email"})</option> <option value="%%email%%">%%email%% ({lng p="email"})</option>
<option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option> <option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option>
@ -106,14 +119,11 @@
<option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option> <option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option>
<option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option> <option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option>
</select> </select>
</td> </div>
</tr> </div>
</table>
<div class="text-end">
<p> <input class="btn btn-primary" type="submit" value="{lng p="add"}" />
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="add"} " />
</div> </div>
</p>
</form> </form>
</fieldset> </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}"> <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> <fieldset>
<legend>{lng p="recipients"}</legend> <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> <div class="row">
<legend>{lng p="email"}</legend> <div class="col-md-6">
<div class="mb-3 row">
<table width="100%"> <label class="col-sm-4 col-form-check-label">{lng p="status"}</label>
<tr> <div class="col-sm-8">
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/newsletter.png" border="0" alt="" width="32" height="32" /></td> <label class="form-check">
<td class="td1" width="120">{lng p="template"}:</td> <input class="form-check-input" type="checkbox" name="statusActive" id="statusActive" checked="checked" onclick="determineNewsletterRecipients()">
<td class="td2"> <span class="form-check-label">{lng p="active"}</span>
<select name="template" id="template" onchange="loadNewsletterTemplate(this)"> </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> <option value="0" selected="selected">-</option>
{foreach from=$templates item=tplTitle key=tplID} {foreach from=$templates item=tplTitle key=tplID}
<option value="{$tplID}">{text value=$tplTitle}</option> <option value="{$tplID}">{text value=$tplTitle}</option>
{/foreach} {/foreach}
</select> </select>
</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="mode"}:</td> <label class="col-sm-2 col-form-label">{lng p="mode"}</label>
<td class="td2"> <div class="col-sm-10">
<input type="radio" name="mode" value="html" id="mode_html" checked="checked" onclick="if(this.checked) return editor.switchMode('html');" /> <label class="form-check">
<label for="mode_html"><b>{lng p="htmltext"}</b></label> <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>
<input type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');" /> </label>
<label for="mode_text"><b>{lng p="plaintext"}</b></label> <label class="form-check">
</td> <input class="form-check-input" type="radio" name="mode" value="text" id="mode_text" onclick="if(this.checked) return editor.switchMode('text');">
</tr> <span class="form-check-label">{lng p="plaintext"}</span>
<tr> </label>
<td class="td1">{lng p="from"}:</td> </div>
<td class="td2"><input type="text" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" size="42" /></td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="from"}</label>
<td class="td1">{lng p="subject"}:</td> <div class="col-sm-10">
<td class="td2"><input type="text" id="subject" name="subject" value="" size="42" /></td> <input type="text" class="form-control" id="from" name="from" value="{if isset($from)}{text value=$from}{/if}" placeholder="{lng p="from"}">
</tr> </div>
<tr> </div>
<td class="td1">{lng p="priority"}:</td> <div class="mb-3 row">
<td class="td2"><select name="priority" id="priority"> <label class="col-sm-2 col-form-label">{lng p="subject"}</label>
<option value="1">{lng p="prio_1"}</option> <div class="col-sm-10">
<option value="0" selected="selected">{lng p="prio_0"}</option> <input type="text" class="form-control" id="subject" name="subject" value="" placeholder="{lng p="subject"}">
<option value="-1">{lng p="prio_-1"}</option> </div>
</select></td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="priority"}</label>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;"> <div class="col-sm-10">
<textarea name="emailText" id="emailText" class="plainTextArea" style="width:100%;height:400px;"></textarea> <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 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 type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script>
<script> <script>
<!-- <!--
var editor = new htmlEditor('emailText'); var editor = new htmlEditor('emailText');
editor.height = 400; editor.height = 400;
editor.init(); editor.init();
registerLoadAction('editor.start()'); registerLoadAction('editor.start()');
//--> //-->
</script> </script>
</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td colspan="2"> <div class="col-sm-12">
<select class="smallInput" onchange="editor.insertText(this.value);"> <select class="form-select" onchange="editor.insertText(this.value);">
<option value="">-- {lng p="vars"} --</option> <option value="">-- {lng p="vars"} --</option>
<option value="%%email%%">%%email%% ({lng p="email"})</option> <option value="%%email%%">%%email%% ({lng p="email"})</option>
<option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option> <option value="%%greeting%%">%%greeting%% ({lng p="greeting"})</option>
@ -114,30 +142,26 @@
<option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option> <option value="%%firstname%%">%%firstname%% ({lng p="firstname"})</option>
<option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option> <option value="%%lastname%%">%%lastname%% ({lng p="lastname"})</option>
</select> </select>
</td> </div>
</tr> </div>
</table> </fieldset>
</fieldset>
<p> <div class="row">
<div style="float:left;" class="buttons"> <div class="col-md-6">
<img src="{$tpldir}images/user_active.png" border="0" alt="" width="16" height="16" align="absmiddle" /> <div style="float: left;"><span id="recpCount">0</span> {lng p="recpdetermined"}&nbsp; </div>
<span id="recpCount">0</span> {lng p="recpdetermined"} <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>
<input class="button" type="submit" value=" {lng p="export"} " id="exportButton" name="exportRecipients" disabled="disabled" </div>
onclick="newsletterMode='export';return true;" /> <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>
<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> </form>
<script> <script>
<!-- <!--
var newsletterMode = 'export'; var newsletterMode = 'export';
registerLoadAction('determineNewsletterRecipients()'); registerLoadAction('determineNewsletterRecipients()');
//--> //-->
</script> </script>

View file

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

View file

@ -1,130 +1,136 @@
<fieldset> <fieldset>
<legend>{lng p="db"}</legend> <legend>{lng p="db"}</legend>
{if isset($execute)} <div class="alert alert-warning">{lng p="dbwarn"}</div>
<table class="list">
<tr> {if $execute}
<th>&nbsp;</th> <div class="card">
<th>{lng p="table"}</th> <div class="table-responsive">
<th>{lng p="query"}</th> <table class="table table-vcenter table-striped">
<th width="100">{lng p="status"}</th> <thead>
</tr> <tr>
{foreach from=$result item=table} <th>{lng p="table"}</th>
{cycle values="td1,td2" name=class assign=class} <th>{lng p="query"}</th>
<tr class="{$class}"> <th style="width: 100px;">{lng p="status"}</th>
<td width="20"><img src="{$tpldir}images/db_table.png" border="0" alt="" width="16" height="16" /></td> </tr>
<td>{$table.table}</td> </thead>
<td><code>{$table.query}</code></td> <tbody>
<td align="right">{if $table.type!='status' && $table.type!='info' && $table.type!='note'} {foreach from=$result item=table}
<img align="absmiddle" src="{$tpldir}images/error.png" width="16" height="16" alt="" border="0" /> {cycle values="td1,td2" name=class assign=class}
{lng p="error"} <tr class="{$class}">
{else} <td>{$table.table}</td>
<img align="absmiddle" src="{$tpldir}images/ok.png" width="16" height="16" alt="" border="0" /> <td><code>{$table.query}</code></td>
{lng p="success"} <td class="text-nowrap text-end">
{/if}</td> {if $table.type!='status' && $table.type!='info' && $table.type!='note'}
</tr> <i class="fa-regular fa-circle-xmark text-red"></i>
{/foreach} {lng p="error"}
</table> {else}
<i class="fa-regular fa-circle-check text-green"></i>
<p align="right"> {lng p="success"}
<input class="button" type="button" value=" {lng p="back"} " onclick="document.location.href='optimize.php?sid={$sid}';" /> {/if}
</p> </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} {elseif $executeStruct}
<form action="optimize.php?do=repairStruct&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="optimize.php?do=repairStruct&sid={$sid}" method="post" onsubmit="spin(this)">
<table class="list">
<tr> {if $repair}<div class="alert alert-warning">{lng p="dbwarn"}</div>{/if}
<th>&nbsp;</th>
<th>{lng p="table"}</th> <div class="card">
<th width="120">{lng p="exists"}</th> <div class="table-responsive">
<th width="120">{lng p="structstate"}</th> <table class="table table-vcenter table-striped">
<th width="120">{lng p="status"}</th> <thead>
</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>
<tr> <tr>
<td valign="top" width="20" align="center"><input type="radio" id="op_optimize" name="operation" value="optimize" checked="checked" /></td> <th>{lng p="table"}</th>
<td valign="top"><img src="{$tpldir}images/db_optimize.png" border="0" alt="" width="32" height="32" /></td> <th style="width: 120px;">{lng p="exists"}</th>
<td><label for="op_optimize"><b>{lng p="op_optimize"}</b></label><br /> <th style="width: 120px;">{lng p="structstate"}</th>
{lng p="op_optimize_desc"}</td> <th style="width: 120px;">{lng p="status"}</th>
</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>
</tr> </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> </table>
</td> </div>
</tr> <div class="card-footer">
</table> <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>
<p> <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 style="float:left;"> </div>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" /> </div>
{lng p="dbwarn"}
</div> </div>
<div style="float:right;"> </form>
<input class="button" type="submit" value=" {lng p="execute"} " /> {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> </div>
</p>
</form> <div class="text-end">
<input class="btn btn-primary" type="submit" value=" {lng p="execute"} " />
</div>
</form>
{/if} {/if}
</fieldset> </fieldset>

View file

@ -1,78 +1,67 @@
<fieldset> <fieldset>
<legend>{lng p="tempfiles"}</legend> <legend>{lng p="tempfiles"}</legend>
<form action="optimize.php?action=filesystem&do=cleanupTempFiles&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="optimize.php?action=filesystem&do=cleanupTempFiles&sid={$sid}" method="post" onsubmit="spin(this)">
<p>{lng p="tempdesc"}</p> <p>{lng p="tempdesc"}</p>
<table> <div class="row">
<tr> <label class="col-sm-2 col-form-label">{lng p="count"}</label>
<td align="left" rowspan="2" valign="top" width="40"><img src="{$tpldir}images/tempfiles.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="150">{lng p="count"}:</td> <div class="form-control-plaintext">{$tempFileCount}</div>
<td class="td2">{$tempFileCount}</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="size"}:</td> <label class="col-sm-2 col-form-label">{lng p="size"}</label>
<td class="td2">{size bytes=$tempFileSize}</td> <div class="col-sm-10">
</tr> <div class="form-control-plaintext">{size bytes=$tempFileSize}</div>
</table> </div>
</div>
<p align="right">
<input class="button" type="submit" value=" {lng p="cleanup"} " /> <div class="text-end">
</p> <input class="btn btn-sm btn-warning" type="submit" value="{lng p="cleanup"}" />
</div>
</form> </form>
</fieldset> </fieldset>
{if $haveSQLite3}<fieldset> {if $haveSQLite3}
<legend>{lng p="rebuildblobstor"}</legend> <fieldset>
<legend>{lng p="rebuildblobstor"}</legend>
<div id="buildForm">
<p>
{lng p="rebuildblobstor_desc"}
</p>
<blockquote> <div class="alert alert-warning">{lng p="heavyop"}</div>
<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>
<p> <div id="buildForm">
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" /> <p>{lng p="rebuildblobstor_desc"}</p>
{lng p="heavyop"}
</p>
<p align="right"> <div class="mb-3 row">
{lng p="opsperpage"}: <div class="col-sm-12">
<input type="text" id="buildPerPage" value="50" size="5" /> <label class="form-check">
<input class="button" type="button" onclick="rebuildBlobStor()" value=" {lng p="execute"} " /> <input class="form-check-input" type="radio" id="rebuild_email" name="rebuild" value="email" checked="checked">
</p> <span class="form-check-label">{lng p="rbbs_email"}</span>
</div> </label>
</fieldset> <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> <div style="float: right;"><input class="btn btn-sm btn-warning" type="button" onclick="rebuildBlobStor()" value="{lng p="execute"}" /></div>
<legend>{lng p="userdbvacuum"}</legend> <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 id="vacuumForm"> </div>
<p> </fieldset>
{lng p="userdbvacuum_desc"}<br /><br />
</p>
<p> <fieldset>
<img src="{$tpldir}images/warning.png" border="0" alt="" width="16" height="16" align="absmiddle" /> <legend>{lng p="userdbvacuum"}</legend>
{lng p="heavyop"}
</p>
<p align="right"> <div class="alert alert-warning">{lng p="heavyop"}</div>
{lng p="opsperpage"}:
<input type="text" id="vacuumPerPage" value="5" size="5" /> <div id="vacuumForm">
<input class="button" type="button" onclick="vacuumBlobStor()" value=" {lng p="execute"} " /> <p>{lng p="userdbvacuum_desc"}</p>
</p>
</div> <div style="float: right;"><input class="btn btn-sm btn-warning" type="submit" onclick="vacuumBlobStor()" value="{lng p="execute"}" /></div>
</fieldset>{/if} <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"> <!doctype html>
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <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 name="theme-color" content=""/>
<meta http-equiv="content-type" content="text/html; charset={$charset}" /> <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 --> <meta name="description" content="{lng p="acp"}"/>
<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 rel="stylesheet" href="{$tpldir}css/tabler.min.css?{fileDateSig file="css/tabler.min.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 rel="stylesheet" href="{$tpldir}libs/fontawesome/css/all.min.css?{fileDateSig file="libs/fontawesome/css/all.min.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" /> <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 from=$_cssFiles.admin item=_file}
{/foreach} <link rel="stylesheet" type="text/css" href="{$_file}" />
{/foreach}
<!-- client scripts -->
<script> <script>
<!-- <!--
var currentSID = '{$sid}'; var currentSID = '{$sid}';
//--> //-->
</script> </script>
<script src="../clientlang.php?sid={$sid}" type="text/javascript"></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> <script src="{$tpldir}js/tabler.min.js?{fileDateSig file="js/tabler.min.js"}"></script>
{foreach from=$_jsFiles.admin item=_file} <script type="text/javascript" src="{$_file}"></script> <script src="{$tpldir}js/common.js?{fileDateSig file="js/common.js"}"></script>
{/foreach} {foreach from=$_jsFiles.admin item=_file}
<script type="text/javascript" src="{$_file}"></script>
<link href="{$tpldir}style/print.css?{fileDateSig file="style/print.css"}" rel="stylesheet" type="text/css" media="print" /> {/foreach}
</head> </head>
<body >
<body onload="documentLoader();preloadImages();" topmargin="0"> <div class="page">
<!-- Navbar -->
<div id="navbar"> <header class="navbar navbar-expand-md navbar-light d-print-none bg-dark text-white">
<div id="navbar-first"> <div class="container-xl">
<div id="navbar-logo"> <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">
<div id="logo-right"> <span class="navbar-toggler-icon"></span>
{if $adminRow.type==0} </button>
<a href="welcome.php?action=phpinfo&sid={$sid}"><img src="{$tpldir}images/phpinfo.png" border="0" alt="" /> {lng p="phpinfo"}</a> <h1 class="navbar-brand navbar-brand-autodark d-none-navbar-horizontal pe-0 pe-md-3">
{/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>
<a href="welcome.php?sid={$sid}"> <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> </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> </div>
<div id="navbar-second"> </header>
<div id="navbar-nav"> <header class="navbar-expand-md">
<ul id="nav"> <div class="collapse navbar-collapse" id="navbar-menu">
<li id="welcome-menu"><a href="#welcome-menu"><img src="./templates/images/ico_license.png" />{lng p="welcome"}</a> <div class="navbar navbar-light">
<ul> <div class="container-xl">
<li><a href="welcome.php?sid={$sid}"><img src="./templates/images/ico_license.png" />{lng p="welcome"}</a></li> <ul class="navbar-nav">
<li><a href="admins.php?sid={$sid}"><img src="./templates/images/ico_users.png" />{lng p="admins"}</a></li> <li class="nav-item dropdown">
</ul> <a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
</li> <span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_license.png" height="16" /></span>
{if $adminRow.type==0} <span class="nav-link-title">{lng p="welcome"}</span>
<li id="prefs-menu"><a href="#prefs-menu"><img src="./templates/images/ico_prefs_misc.png" />{lng p="prefs"}</a> </a>
<ul> <div class="dropdown-menu">
<li><a href="prefs.common.php?sid={$sid}"><img src="./templates/images/ico_prefs_common.png" />{lng p="common"}</a></li> <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>
<li><a href="prefs.email.php?sid={$sid}"><img src="./templates/images/ico_prefs_email.png" />{lng p="email"}</a></li> <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>
<li><a href="prefs.recvrules.php?sid={$sid}"><img src="./templates/images/rule32.png" />{lng p="recvrules"}</a></li> </div>
<li><a href="prefs.webdisk.php?sid={$sid}"><img src="./templates/images/ico_disk.png" />{lng p="webdisk"}</a></li> </li>
<li><a href="prefs.sms.php?sid={$sid}"><img src="./templates/images/gateway32.png" />{lng p="sms"}</a></li> <li class="nav-item dropdown">
<li><a href="prefs.abuse.php?sid={$sid}"><img src="./templates/images/abuse.png" />{lng p="abuseprotect"}</a></li> <a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<li><a href="prefs.coupons.php?sid={$sid}"><img src="./templates/images/coupon.png" />{lng p="coupons"}</a></li> <span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_prefs_misc.png" height="16" /></span>
<li><a href="prefs.profilefields.php?sid={$sid}"><img src="./templates/images/field32.png" />{lng p="profilefields"}</a></li> <span class="nav-link-title">{lng p="prefs"}</span>
<li><a href="prefs.languages.php?sid={$sid}"><img src="./templates/images/lang32.png" />{lng p="languages"}</a></li> </a>
<li><a href="prefs.templates.php?sid={$sid}"><img src="./templates/images/template.png" />{lng p="templates"}</a></li> <div class="dropdown-menu">
<li><a href="prefs.ads.php?sid={$sid}"><img src="./templates/images/ad32.png" />{lng p="ads"}</a></li> <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>
<li><a href="prefs.faq.php?sid={$sid}"><img src="./templates/images/faq32.png" />{lng p="faq"}</a></li> <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>
<li><a href="prefs.countries.php?sid={$sid}"><img src="./templates/images/country.png" />{lng p="countries"}</a></li> <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>
<li><a href="prefs.widgetlayouts.php?sid={$sid}"><img src="./templates/images/wlayout_add.png" />{lng p="widgetlayouts"}</a></li> <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>
<li><a href="prefs.payments.php?sid={$sid}"><img src="./templates/images/ico_prefs_payments.png" />{lng p="payments"}</a></li> <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>
{if !empty($toolbox_serverurl)}<li><a href="toolbox.php?sid={$sid}"><img src="./templates/images/toolbox.png" />{lng p="toolbox"}</a></li>{/if} <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>
</ul> <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>
</li> <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>
{/if} <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>
{if $adminRow.type==0||$adminRow.privileges.users||$adminRow.privileges.groups||$adminRow.privileges.workgroups||$adminRow.privileges.activity||$adminRow.privileges.newsletter||$adminRow.privileges.payments} <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>
<li id="users-menu"><a href="#users-menu"><img src="./templates/images/ico_users.png" />{lng p="usersgroups"}</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>
<ul> <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>
{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} <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>
{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} <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>
{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} <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 $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 !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}
{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} </div>
{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} </li>
{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} {if $adminRow.type==0||$adminRow.privileges.users||$adminRow.privileges.groups||$adminRow.privileges.workgroups||$adminRow.privileges.activity||$adminRow.privileges.newsletter||$adminRow.privileges.payments}
</ul> <li class="nav-item dropdown">
</li> <a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
{/if} <span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/ico_users.png" height="16" /></span>
{if $adminRow.type==0||$adminRow.privileges.optimize||$adminRow.privileges.maintenance||$adminRow.privileges.stats||$adminRow.privileges.logs} <span class="nav-link-title">{lng p="usersgroups"}</span>
<li id="tools-menu"><a href="#tools-menu"><img src="./templates/images/toolbox.png" />{lng p="tools"}</a> </a>
<ul> <div class="dropdown-menu">
{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.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.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.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.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.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.logs}<li><a href="logs.php?sid={$sid}"><img src="./templates/images/logs.png" />{lng p="logs"}</a></li>{/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}
</ul> {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}
</li> {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} {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}
{if $adminRow.type==0||$adminRow.privileges.plugins} </div>
<li id="plugins-menu"><a href="#plugins-menu"><img src="./templates/images/plugin.png" />{lng p="plugins"}</a> </li>
<ul> {/if}
{if $adminRow.type==0}<li><a href="plugins.php?sid={$sid}"><img src="./templates/images/plugin.png" />{lng p="plugins"}</a></li>{/if} {if $adminRow.type==0||$adminRow.privileges.optimize||$adminRow.privileges.maintenance||$adminRow.privileges.stats||$adminRow.privileges.logs}
{foreach from=$pluginMenuItems item=pluginInfo key=plugin} <li class="nav-item dropdown">
{if $adminRow.type==0||$adminRow.privileges.plugins.$plugin} <a class="nav-link dropdown-toggle" href="#navbar-base" data-bs-toggle="dropdown" data-bs-auto-close="outside" role="button" aria-expanded="false" >
<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> <span class="nav-link-icon d-md-none d-lg-inline-block"><img src="./templates/images/toolbox.png" height="16" /></span>
{/if} <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} {/foreach}
</ul> </ul>
</li> </div>
{/if} <div class="card-body">
</ul> {include file="$page"}
</div>
</div>
</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> </div>
</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>
</body> </body>
</html>
</html>

View file

@ -1,62 +1,58 @@
<fieldset> <fieldset>
<legend>{lng p="payment"}: {$payment.invoiceNo}</legend> <legend>{lng p="payment"}: {$payment.invoiceNo}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="invoiceno"}</label>
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="180">{lng p="invoiceno"}:</td> <div class="form-control-plaintext">{$payment.invoiceNo}</div>
<td class="td2">{$payment.invoiceNo}</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="customerno"}:</td> <label class="col-sm-2 col-form-label">{lng p="customerno"}</label>
<td class="td2">{$payment.customerNo}</td> <div class="col-sm-10">
</tr> <div class="form-control-plaintext">{$payment.customerNo}</div>
<tr> </div>
<td class="td1">{lng p="user"}:</td> </div>
<td class="td2"> <div class="mb-3 row">
<img src="{$tpldir}images/user_action.png" width="16" height="16" align="absmiddle" border="0" alt="" /> <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> <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}) ({text value=$payment.user.vorname} {text value=$payment.user.nachname})
</td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="amount"}:</td> <div class="mb-3 row">
<td class="td2">{$payment.amount}</td> <label class="col-sm-2 col-form-label">{lng p="amount"}</label>
</tr> <div class="col-sm-10">
<tr> <div class="form-control-plaintext">{$payment.amount}</div>
<td class="td1">{lng p="paymentmethod"}:</td> </div>
<td class="td2">{$payment.method}</td> </div>
</tr> <div class="mb-3 row">
</table> <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> </fieldset>
{if $payment.paymethod_params} {if $payment.paymethod_params}
<fieldset> <fieldset>
<legend>{lng p="details"}</legend> <legend>{lng p="details"}</legend>
<table>
{foreach from=$payment.paymethod_params key=key item=value} {foreach from=$payment.paymethod_params key=key item=value}
<tr> <div class="mb-3 row">
<td width="40">&nbsp;</td> <label class="col-sm-2 col-form-label">{text value=$key}</label>
<td class="td1" width="180">{text value=$key}</td> <div class="col-sm-10">
<td class="td2">{text value=$value}</td> <div class="form-control-plaintext">{text value=$value}</div>
</tr> </div>
</div>
{/foreach} {/foreach}
</table> </fieldset>
</fieldset>
{/if} {/if}
<p> <div class="row">
<div style="float:left" class="buttons"> <div class="col-md-4"><input class="btn" type="button" value="&laquo; {lng p="back"}" onclick="history.back(1);" /></div>
<input class="button" type="button" value=" &laquo; {lng p="back"} " onclick="history.back(1);" /> <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> <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>
<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>

View file

@ -2,60 +2,55 @@
<legend>{lng p="accentries"}</legend> <legend>{lng p="accentries"}</legend>
<form action="payments.php?action=export&do=exportAccEntries&sid={$sid}" method="post" target="_top"> <form action="payments.php?action=export&do=exportAccEntries&sid={$sid}" method="post" target="_top">
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="from"}</label>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_accentries.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="120">{lng p="from"}:</td> {html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
<td class="td2"> </div>
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."} </div>
</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="to"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="to"}:</td> {html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
<td class="td2"> </div>
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."} </div>
</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="account_debit"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="account_debit"}:</td> <div class="input-group mb-2">
<td class="td2"> <span class="input-group-text">{lng p="banktransfer"}</span>
<table> <input type="text" class="form-control" name="accounts[0]" value="1100" placeholder="{lng p="banktransfer"}">
<tr> </div>
<td>{lng p="banktransfer"}:</td> <div class="input-group mb-2">
<td><input type="text" name="accounts[0]" size="8" value="1100" /></td> <span class="input-group-text">{lng p="su"}</span>
</tr> <input type="text" class="form-control" name="accounts[2]" value="1100" placeholder="{lng p="su"}">
<tr> </div>
<td>{lng p="su"}:</td> <div class="input-group mb-2">
<td><input type="text" name="accounts[2]" size="8" value="1100" /></td> <span class="input-group-text">{lng p="paypal"}</span>
</tr> <input type="text" class="form-control" name="accounts[1]" value="1101" placeholder="{lng p="paypal"}">
<tr> </div>
<td>{lng p="paypal"}:</td> <div class="input-group mb-2">
<td><input type="text" name="accounts[1]" size="8" value="1101" /></td> <span class="input-group-text">{lng p="skrill"}</span>
</tr> <input type="text" class="form-control" name="accounts[2]" value="1100" placeholder="{lng p="skrill"}">
<tr> </div>
<td>{lng p="skrill"}:</td> {foreach from=$paymentMethods key=methodID item=method}
<td><input type="text" name="accounts[3]" size="8" value="1102" /></td> <div class="input-group mb-2">
</tr> <span class="input-group-text">{text value=$method.title}</span>
{foreach from=$paymentMethods key=methodID item=method} <input type="text" class="form-control" name="accounts[-{$methodID}]" value="{$methodID+1102}" placeholder="{text value=$method.title}">
<tr> </div>
<td>{text value=$method.title}</td> {/foreach}
<td><input type="text" name="accounts[-{$methodID}]" size="8" value="{$methodID+1102}" /></td> </div>
</tr> </div>
{/foreach} <div class="mb-3 row">
</table> <label class="col-sm-2 col-form-label">{lng p="account_credit"}</label>
</td> <div class="col-sm-10">
</tr> <input type="text" class="form-control" name="account" value="8400" placeholder="{lng p="account_credit"}">
<tr> </div>
<td class="td1">{lng p="account_credit"}:</td> </div>
<td class="td2">
<input type="text" name="account" size="8" value="8400" /> <div class="text-end">
</td> <input class="btn btn-primary" type="submit" value="{lng p="export"}" />
</tr> </div>
</table>
<p align="right">
<input class="button" type="submit" value=" {lng p="export"} " />
</p>
</form> </form>
</fieldset> </fieldset>
@ -63,31 +58,30 @@
<legend>{lng p="invoices"}</legend> <legend>{lng p="invoices"}</legend>
<form action="payments.php?action=export&do=exportInvoices&sid={$sid}" method="post" target="_top"> <form action="payments.php?action=export&do=exportInvoices&sid={$sid}" method="post" target="_top">
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="from"}</label>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_prefs_invoices.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="120">{lng p="from"}:</td> {html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."}
<td class="td2"> </div>
{html_select_date prefix="start" time=$start start_year="-5" field_order="DMY" field_separator="."} </div>
</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="to"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="to"}:</td> {html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."}
<td class="td2"> </div>
{html_select_date prefix="end" time=$end start_year="-5" field_order="DMY" field_separator="."} </div>
</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="options"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="options"}:</td> <label class="form-check">
<td class="td2"> <input class="form-check-input" type="checkbox" name="paidOnly" id="paidOnly" checked="checked">
<input type="checkbox" name="paidOnly" id="paidOnly" checked="checked" /> <span class="form-check-label">{lng p="paidonly"}</span>
<label for="paidOnly"><b>{lng p="paidonly"}</b></label> </label>
</td> </div>
</tr> </div>
</table>
<div class="text-end">
<p align="right"> <input class="btn btn-primary" type="submit" value="{lng p="export"}" />
<input class="button" type="submit" value=" {lng p="export"} " /> </div>
</p>
</form> </form>
</fieldset> </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"> <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="page" id="page" value="{$pageNo}" />
<input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" /> <input type="hidden" name="sortBy" id="sortBy" value="{$sortBy}" />
<input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" /> <input type="hidden" name="sortOrder" id="sortOrder" value="{$sortOrder}" />
<input type="hidden" name="singleAction" id="singleAction" value="" /> <input type="hidden" name="singleAction" id="singleAction" value="" />
<input type="hidden" name="singleID" id="singleID" value="" /> <input type="hidden" name="singleID" id="singleID" value="" />
<fieldset> <fieldset>
<legend>{lng p="payments"}</legend> <legend>{lng p="payments"}</legend>
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th><a href="javascript:updateSort('userid');">{lng p="user"} <tr>
{if $sortBy=='userid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th> <th width="20">&nbsp;</th>
<th><a href="javascript:updateSort('orderid');">{lng p="orderno"} <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>
{if $sortBy=='orderid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th> <th><a href="javascript:updateSort('userid');">{lng p="user"}
<th width="135"><a href="javascript:updateSort('amount');">{lng p="amount"} {if $sortBy=='userid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{if $sortBy=='amount'}<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"}
<th width="145"><a href="javascript:updateSort('created');">{lng p="date"} {if $sortBy=='orderid'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
{if $sortBy=='created'}<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"}
<th width="65">&nbsp;</th> {if $sortBy=='amount'}<img src="{$tpldir}images/sort_{$sortOrder}.png" border="0" alt="" width="7" height="6" align="absmiddle" />{/if}</a></th>
</tr> <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>
{foreach from=$payments item=payment} <th width="65">&nbsp;</th>
{cycle name=class values="td1,td2" assign=class} </tr>
<tr class="{$class}"> </thead>
<td align="center"><img src="templates/images/{if $payment.status==1}yes{else}no{/if}.png" border="0" alt="" width="16" height="16" /></td> <tbody>
<td align="center"><input type="checkbox" name="payment[{$payment.orderid}]" /></td> {foreach from=$payments item=payment}
<td><a href="users.php?do=edit&id={$payment.user.id}&sid={$sid}">{email value=$payment.user.email cut=25}</a><br /> {cycle name=class values="td1,td2" assign=class}
<small>{text value=$payment.user.nachname cut=20}, {text value=$payment.user.vorname cut=20}</small></td> <tr class="{$class}">
<td>{text value=$payment.invoiceNo}<br /><small>{text value=$payment.customerNo}</small></td> <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> <td align="center"><input type="checkbox" name="payment[{$payment.orderid}]" /></td>
<div style="float:left;"> <td><a href="users.php?do=edit&id={$payment.user.id}&sid={$sid}">{email value=$payment.user.email cut=25}</a><br />
{$payment.amount}<br /><small>{$payment.method}</small> <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> </div>
{if $payment.paymethod<0} <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 style="float:right;"> </div>
<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>
</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> </div>
{/if} </div>
</td> <div class="col-md-6">
<td>{date timestamp=$payment.created nice=true}</td> <div class="mb-3 row">
<td> <label class="col-sm-4 col-form-check-label">{lng p="paymentmethods"}</label>
{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} <div class="col-sm-8">
{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} <label class="form-check">
<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> <input class="form-check-input" type="checkbox" name="paymentMethod[0]" id="paymentMethod_0" {if $paymentMethod[0]} checked="checked"{/if}>
</td> <span class="form-check-label">{lng p="banktransfer"}</span>
</tr> </label>
{/foreach} <label class="form-check">
<input class="form-check-input" type="checkbox" name="paymentMethod[1]" id="paymentMethod_1" {if $paymentMethod[1]} checked="checked"{/if}>
<tr> <span class="form-check-label">{lng p="paypal"}</span>
<td class="footer" colspan="7"> </label>
<div style="float:left;"> <label class="form-check">
{lng p="action"}: <select name="massAction" id="massAction" class="smallInput"> <input class="form-check-input" type="checkbox" name="paymentMethod[2]" id="paymentMethod_2" {if $paymentMethod[2]} checked="checked"{/if}>
<option value="-">------------</option> <span class="form-check-label">{lng p="su"}</span>
</label>
<optgroup label="{lng p="actions"}"> <label class="form-check">
<option value="download">{lng p="downloadinvoices"}</option> <input class="form-check-input" type="checkbox" name="paymentMethod[3]" id="paymentMethod_3" {if $paymentMethod[3]} checked="checked"{/if}>
<option value="activate">{lng p="activatepayment"}</option> <span class="form-check-label">{lng p="skrill"}</span>
<option value="delete">{lng p="delete"}</option> </label>
</optgroup> {foreach from=$payMethods key=methodID item=method}
</select>&nbsp; <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>
<div style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</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>
<fieldset> <div class="text-end">
<legend>{lng p="filter"}</legend> <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>
<table width="100%"> <div style="float: right;">{lng p="perpage"}:&nbsp; </div>
<tr> </div>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/filter.png" border="0" alt="" width="32" height="32" /></td> </fieldset>
<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>
</form> </form>
<fieldset> <fieldset>
<legend>{lng p="activatepayment"}</legend> <legend>{lng p="activatepayment"}</legend>
<table> <div id="activationResult">&nbsp;</div>
<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>
<p> <p>{lng p="activate_desc"}</p>
<div style="float:left;font-weight:bold;padding-top:4px;" id="activationResult">&nbsp;</div>
<div style="float:right"> <div class="mb-3 row">
<input class="button" type="button" onclick="activatePayment()" id="activateButton" value=" {lng p="activate"} " /> <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> </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> </fieldset>

View file

@ -2,54 +2,52 @@
<legend>{lng p="installplugin"}: {text value=$meta.name}</legend> <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)"> <form action="plugins.php?action=install&do=installPlugin&id={$id}&sid={$sid}" method="post" onsubmit="spin(this)">
<p> <p>{lng p="install_desc2"}</p>
{lng p="install_desc2"}
</p> <div class="text-center">
<div id="sigLayer">
<table> <img src="{$tpldir}images/load_16.gif" align="absmiddle" border="0" alt="" />
<tr> {lng p="checkingsig"}
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/plugin_add.png" border="0" alt="" width="32" height="32" /></td> </div>
<td class="td1" width="150">{lng p="name"}:</td>
<td class="td2"><b>{text value=$meta.name}</b></td> <script>
</tr> <!--
<tr> registerLoadAction('checkPluginSignature(\'{$signature}\')');
<td class="td1">{lng p="version"}:</td> //-->
<td class="td2">{text value=$meta.version}</td> </script>
</tr> </div>
<tr>
<td class="td1">{lng p="vendor"}:</td> <div class="row">
<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> <label class="col-sm-2 col-form-label">{lng p="name"}</label>
</tr> <div class="col-sm-10">
<tr> <div class="form-control-plaintext">{text value=$meta.name}</div>
<td class="td1">{lng p="forb1gmail"}:</td> </div>
<td class="td2"> </div>
<img src="{$tpldir}images/{if !$versionsMatch}warning{else}ok{/if}.png" border="0" alt="" align="absmiddle" width="16" height="16" /> <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} {text value=$meta.for_b1gmail}
{if !$versionsMatch}({lng p="yourversion"}: {$b1gmailVersion}){/if} {if !$versionsMatch}({lng p="yourversion"}: {$b1gmailVersion}){/if}
</td> </div>
</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> </form>
</fieldset> </fieldset>

View file

@ -1,10 +1 @@
<div class="note"> <div class="alert alert-info"><strong>{$title}</strong> {$text}</div>
<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>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,89 +1,103 @@
<fieldset> <fieldset>
<legend>{lng p="banners"}</legend> <legend>{lng p="banners"}</legend>
<form action="prefs.ads.php?sid={$sid}" method="post" name="f1" onsubmit="spin(this)"> <form action="prefs.ads.php?sid={$sid}" method="post" name="f1" onsubmit="spin(this)">
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th>{lng p="banner"}</th> <tr>
<th width="75">{lng p="category"}</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 width="72">{lng p="weight"}</th> <th>{lng p="banner"}</th>
<th width="45">{lng p="views"}</th> <th width="75">{lng p="category"}</th>
<th width="100">&nbsp;</th> <th width="72">{lng p="weight"}</th>
</tr> <th width="45">{lng p="views"}</th>
<th width="100">&nbsp;</th>
{foreach from=$ads item=ad} </tr>
{cycle name=class values="td1,td2" assign=class} </thead>
<tr class="{$class}"> <tbody>
<td align="center"><img src="{$tpldir}images/ad.png" border="0" alt="" width="16" height="16" /></td> {foreach from=$ads item=ad}
<td align="center"><input type="checkbox" name="ad_{$ad.id}" /></td> {cycle name=class values="td1,td2" assign=class}
<td>{$ad.code}</td> <tr class="{$class}">
<td>{text value=$ad.category cut=10}</td> <td align="center"><input type="checkbox" name="ad_{$ad.id}" /></td>
<td>{$ad.weight}%</td> <td>{$ad.code}</td>
<td>{$ad.views}</td> <td>{text value=$ad.category cut=10}</td>
<td> <td>{$ad.weight}%</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> <td>{$ad.views}</td>
<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> <td class="text-nowrap">
<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> <div class="btn-group btn-group-sm">
<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> <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>
</td> <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>
</tr> <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>
{/foreach} <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>
<tr> </td>
<td class="footer" colspan="8"> </tr>
<div style="float:left;"> {/foreach}
{lng p="action"}: <select name="massAction" class="smallInput"> </tbody>
<option value="-">------------</option> </table>
</div>
<optgroup label="{lng p="actions"}"> <div class="card-footer">
<option value="pause">{lng p="pause"}</option> <div style="float: left;">{lng p="action"}:&nbsp;</div>
<option value="continue">{lng p="continue"}</option> <div style="float: left;">
<option value="delete">{lng p="delete"}</option> <div class="btn-group btn-group-sm">
</optgroup> <select name="massAction" class="form-select form-select-sm">
</select>&nbsp; <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>
<div style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</div>
</td>
</tr>
</table>
</form> </form>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>{lng p="addbanner"}</legend> <legend>{lng p="addbanner"}</legend>
<form action="prefs.ads.php?add=true&sid={$sid}" method="post" onsubmit="spin(this);"> <form action="prefs.ads.php?add=true&sid={$sid}" method="post" onsubmit="spin(this);">
<table width="100%"> <div class="mb-3 row">
<tr> <div class="col-sm-12">
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/ad32.png" border="0" alt="" width="32" height="32" /></td> <textarea name="code" id="code" class="form-control" style="font-family:courier;"></textarea>
<td colspan="2" style="border: 1px solid #DDDDDD;background-color:#FFFFFF;"> </div>
<textarea name="code" id="code" class="plainTextArea" style="width:100%;height:120px;font-family:courier;"></textarea> </div>
</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="category"}</label>
<tr> <div class="col-sm-10">
<td class="td1" width="160">{lng p="category"}:</td> <input type="text" class="form-control" name="category" value="" placeholder="{lng p="category"}">
<td class="td2"><input type="text" name="category" size="36" value="" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" width="160">{lng p="weight"}:</td> <label class="col-sm-2 col-form-label">{lng p="weight"}</label>
<td class="td2"><input type="text" name="weight" size="4" value="100" />%</td> <div class="col-sm-10">
</tr> <div class="input-group mb-2">
<tr> <input type="text" class="form-control" name="weight" value="" placeholder="{lng p="weight"}">
<td class="td1">{lng p="paused"}?</td> <span class="input-group-text">%</span>
<td class="td2"><input type="checkbox" name="paused" /></td> </div>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="comment"}:</td> <div class="mb-3 row">
<td class="td2"><textarea style="width:100%;height:65px;" name="comments"></textarea></td> <label class="col-sm-2 col-form-check-label">{lng p="paused"}</label>
</tr> <div class="col-sm-10">
</table> <label class="form-check">
<input class="form-check-input" type="checkbox" name="paused">
<p align="right"> </label>
<input class="button" type="submit" value=" {lng p="add"} " /> </div>
</p> </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> </form>
</fieldset> </fieldset>

View file

@ -1,91 +1,88 @@
<form action="prefs.common.php?action=caching&save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.common.php?action=caching&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <div class="row">
<legend>{lng p="caching"}</legend> <div class="col-md-6">
<fieldset>
<table> <legend>{lng p="cachemanager"}</legend>
<tr>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_cache.png" border="0" alt="" width="32" height="32" /></td> <div class="mb-3">
<td>{lng p="cachemanager"}:</td> <div class="form-selectgroup form-selectgroup-boxes d-flex flex-column">
<td>{lng p="prefs"}:</td> <label class="form-selectgroup-item flex-fill">
</tr> <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()">
<tr> <div class="form-selectgroup-label d-flex align-items-center p-3">
<td valign="top" width="35%"> <div class="me-3"><span class="form-selectgroup-check"></span></div>
<table> <div>{lng p="ce_disable"}<br /><small>{lng p="ce_disable_desc"}</small></div>
<tr> </div>
<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> </label>
<td><label for="cache_disable"><b>{lng p="ce_disable"}</b></label><br /> <label class="form-selectgroup-item flex-fill">
{lng p="ce_disable_desc"}</td> <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()">
</tr> <div class="form-selectgroup-label d-flex align-items-center p-3">
<tr> <div class="me-3"><span class="form-selectgroup-check"></span></div>
<td colspan="3"> <div>{lng p="ce_b1gmail"}<br /><small>{lng p="ce_b1gmail_desc"}</small></div>
&nbsp; </div>
</td> </label>
</tr> <label class="form-selectgroup-item flex-fill">
<tr> <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()">
<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> <div class="form-selectgroup-label d-flex align-items-center p-3">
<td><label for="cache_b1gmail"><b>{lng p="ce_b1gmail"}</b></label><br /> <div class="me-3"><span class="form-selectgroup-check"></span></div>
{lng p="ce_b1gmail_desc"}</td> <div>{lng p="ce_memcache"}<br /><small>{lng p="ce_memcache_desc"}</small></div>
</tr> </div>
<tr> </label>
<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> </div>
</div>
<div id="prefs_3" style="display:{if $bm_prefs.cache_type==0}none{/if};"> </fieldset>
<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> </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> </form>

View file

@ -1,59 +1,61 @@
<form action="prefs.common.php?action=captcha&save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.common.php?action=captcha&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <div class="row">
<legend>{lng p="safecode"}</legend> <div class="col-md-6">
<fieldset>
<table> <legend>{lng p="safecode"}</legend>
<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>
{foreach from=$providers item=prov key=key}{if $prov.configFields} <div class="mb-3 row">
<fieldset id="cp_{$key}" style="display:{if $key!=$defaultProvider}none{/if};"> <label class="col-sm-4 col-form-label">{lng p="captchaprovider"}</label>
<legend>{lng p="prefs"}: {text value=$prov.title}</legend> <div class="col-sm-8">
<select name="captcha_provider" class="form-select" onchange="changeCaptchaProvider(this)">
<table width="100%"> {foreach from=$providers item=prov key=key}
{foreach from=$prov.configFields item=fieldInfo key=fieldKey} <option value="{$key}"{if $defaultProvider==$key} selected="selected"{/if}>{text value=$prov.title}</option>
<tr> {/foreach}
<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}
</select> </select>
{elseif $fieldInfo.type==2} </div>
<input type="checkbox" name="prefs[{$key}][{$fieldKey}]" value="1"{if $fieldInfo.value} checked="checked"{/if} /> </div>
{elseif $fieldInfo.type==1} </fieldset>
<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>
</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> </form>

View file

@ -1,268 +1,383 @@
<form action="prefs.common.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.common.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <div class="row">
<legend>{lng p="common"}</legend> <div class="col-md-6">
<fieldset>
<legend>{lng p="common"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-4 col-form-label">{lng p="projecttitle"}</label>
<td width="40" valign="top" rowspan="13"><img src="{$tpldir}images/ico_prefs_common.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-8">
<td class="td1" width="220">{lng p="projecttitle"}:</td> <input type="text" class="form-control" name="titel" value="{text allowEmpty=true value=$bm_prefs.titel}" placeholder="{lng p="projecttitle"}">
<td class="td2"><input type="text" name="titel" value="{text allowEmpty=true value=$bm_prefs.titel}" size="36" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" width="220">{lng p="hostname"}:</td> <label class="col-sm-4 col-form-label">{lng p="hostname"}</label>
<td class="td2"><input type="text" name="b1gmta_host" value="{text allowEmpty=true value=$bm_prefs.b1gmta_host}" size="28" /></td> <div class="col-sm-8">
</tr> <input type="text" class="form-control" name="b1gmta_host" value="{text allowEmpty=true value=$bm_prefs.b1gmta_host}" placeholder="{lng p="hostname"}">
<tr> </div>
<td class="td1" width="220">{lng p="selffolder"}:</td> </div>
<td class="td2"><input type="text" name="selffolder" value="{text allowEmpty=true value=$bm_prefs.selffolder}" size="36" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="selffolder"}</label>
<tr> <div class="col-sm-8">
<td class="td1" width="220">{lng p="selfurl"}:</td> <input type="text" class="form-control" name="selffolder" value="{text allowEmpty=true value=$bm_prefs.selffolder}" placeholder="{lng p="selffolder"}">
<td class="td2"><input type="text" name="selfurl" value="{text allowEmpty=true value=$bm_prefs.selfurl}" size="36" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" width="220">{lng p="mobile_url"}:</td> <label class="col-sm-4 col-form-label">{lng p="selfurl"}</label>
<td class="td2"><input type="text" name="mobile_url" value="{text allowEmpty=true value=$bm_prefs.mobile_url}" size="36" /></td> <div class="col-sm-8">
</tr> <input type="text" class="form-control" name="selfurl" value="{text allowEmpty=true value=$bm_prefs.selfurl}" placeholder="{lng p="selfurl"}">
<tr> </div>
<td class="td1" width="220">{lng p="searchengine"}:</td> </div>
<td class="td2"><input type="text" name="search_engine" value="{text allowEmpty=true value=$bm_prefs.search_engine}" size="36" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="mobile_url"}</label>
<tr> <div class="col-sm-8">
<td class="td1" width="220">{lng p="croninterval"}:</td> <input type="text" class="form-control" name="mobile_url" value="{text allowEmpty=true value=$bm_prefs.mobile_url}" placeholder="{lng p="mobile_url"}">
<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> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" width="220">{lng p="auto_tz"}?</td> <label class="col-sm-4 col-form-label">{lng p="searchengine"}</label>
<td class="td2"><input name="auto_tz"{if $bm_prefs.auto_tz=='yes'} checked="checked"{/if} type="checkbox" /></td> <div class="col-sm-8">
</tr> <input type="text" class="form-control" name="search_engine" value="{text allowEmpty=true value=$bm_prefs.search_engine}" placeholder="{lng p="searchengine"}">
<tr> </div>
<td class="td1" width="220">{lng p="sessioniplock"}?</td> </div>
<td class="td2"><input name="ip_lock"{if $bm_prefs.ip_lock=='yes'} checked="checked"{/if} type="checkbox" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-4 col-form-label">{lng p="croninterval"}</label>
<tr> <div class="col-sm-8">
<td class="td1" width="220">{lng p="sessioncookielock"}?</td> <div class="input-group mb-2">
<td class="td2"><input name="cookie_lock"{if $bm_prefs.cookie_lock=='yes'} checked="checked"{/if} type="checkbox" /></td> <input type="text" class="form-control" name="cron_interval" value="{text allowEmpty=true value=$bm_prefs.cron_interval}" placeholder="{lng p="croninterval"}">
</tr> <span class="input-group-text">{lng p="seconds"}</span>
<tr> </div>
<td class="td1" width="220">{lng p="compresspages"}?</td> </div>
<td class="td2"><input name="compress_pages"{if $bm_prefs.compress_pages=='yes'} checked="checked"{/if} type="checkbox" /></td> </div>
</tr> <div class="mb-3 row">
</table> <label class="col-sm-4 col-form-check-label">{lng p="auto_tz"}</label>
</fieldset> <div class="col-sm-8">
<label class="form-check">
<fieldset> <input class="form-check-input" type="checkbox" name="auto_tz"{if $bm_prefs.auto_tz=='yes'} checked="checked"{/if}>
<legend>{lng p="maintmode"}</legend> </label>
</div>
<table> </div>
<tr> <div class="mb-3 row">
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/ico_prefs_cmd.png" border="0" alt="" width="32" height="32" /></td> <label class="col-sm-4 col-form-check-label">{lng p="sessioniplock"}</label>
<td class="td1" width="220">{lng p="maintmode"}?</td> <div class="col-sm-8">
<td class="td2"><input name="wartung"{if $bm_prefs.wartung=='yes'} checked="checked"{/if} type="checkbox" /></td> <label class="form-check">
</tr> <input class="form-check-input" type="checkbox" name="ip_lock"{if $bm_prefs.ip_lock=='yes'} checked="checked"{/if}>
<tr> </label>
<td class="td1" width="220">{lng p="whitelist"}:</td> </div>
<td class="td2"><input type="text" name="wartung_whitelist" value="{text allowEmpty=true value=$wartungwhitelist}" size="36" /></td> </div>
</tr> <div class="mb-3 row">
</table> <label class="col-sm-4 col-form-check-label">{lng p="sessioncookielock"}</label>
</fieldset> <div class="col-sm-8">
<label class="form-check">
<fieldset> <input class="form-check-input" type="checkbox" name="cookie_lock"{if $bm_prefs.cookie_lock=='yes'} checked="checked"{/if}>
<legend>{lng p="nliarea"}</legend> </label>
</div>
<table> </div>
<tr> <div class="mb-3 row">
<td width="40" valign="top" rowspan="5"><img src="{$tpldir}images/template32.png" border="0" alt="" width="32" height="32" /></td> <label class="col-sm-4 col-form-check-label">{lng p="compresspages"}</label>
<td class="td1" width="220">{lng p="domain_combobox"}?</td> <div class="col-sm-8">
<td class="td2"><input name="domain_combobox"{if $bm_prefs.domain_combobox=='yes'} checked="checked"{/if} type="checkbox" /></td> <label class="form-check">
</tr> <input class="form-check-input" type="checkbox" name="compress_pages"{if $bm_prefs.compress_pages=='yes'} checked="checked"{/if}>
<tr> </label>
<td class="td1">{lng p="redirectmobile"}?</td> </div>
<td class="td2"><input name="redirect_mobile"{if $bm_prefs.redirect_mobile=='yes'} checked="checked"{/if} type="checkbox" /></td> </div>
</tr> </fieldset>
<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> </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> </form>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,53 +1,67 @@
<form action="prefs.email.php?action=antispam&save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.email.php?action=antispam&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <div class="row">
<legend>{lng p="dnsbl"}</legend> <div class="col-md-6">
<fieldset>
<table width="90%"> <legend>{lng p="dnsbl"}</legend>
<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> <div class="mb-3 row">
<td class="td1" width="220">{lng p="enable"}?</td> <label class="col-sm-4 col-form-check-label">{lng p="enable"}</label>
<td class="td2"><input name="spamcheck"{if $bm_prefs.spamcheck=='yes'} checked="checked"{/if} type="checkbox" /></td> <div class="col-sm-8">
</tr> <label class="form-check">
<tr> <input class="form-check-input" type="checkbox" name="spamcheck"{if $bm_prefs.spamcheck=='yes'} checked="checked"{/if}>
<td class="td1">{lng p="dnsblservers"}:</td> </label>
<td class="td2"> </div>
<textarea style="width:100%;height:80px;" name="dnsbl">{text value=$bm_prefs.dnsbl allowEmpty=true}</textarea> </div>
<small>{lng p="sepby"}</small> <div class="mb-3 row">
</td> <label class="col-sm-4 col-form-label">{lng p="dnsblservers"}</label>
</tr> <div class="col-sm-8">
<tr> <textarea class="form-control" name="dnsbl" placeholder="{lng p="dnsblservers"}">{text value=$bm_prefs.dnsbl allowEmpty=true}</textarea>
<td class="td1">{lng p="dnsblreq"}:</td> <small>{lng p="sepby"}</small>
<td class="td2"><input type="text" name="dnsbl_requiredservers" value="{$bm_prefs.dnsbl_requiredservers}" size="6" /></td> </div>
</tr> </div>
</table> <div class="mb-3 row">
</fieldset> <label class="col-sm-4 col-form-label">{lng p="dnsblreq"}</label>
<div class="col-sm-8">
<fieldset> <input type="number" class="form-control" name="dnsbl_requiredservers" value="{$bm_prefs.dnsbl_requiredservers}" placeholder="{lng p="dnsblreq"}">
<legend>{lng p="bayes"}</legend> </div>
</div>
<table width="90%"> </fieldset>
<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"} " />
</div> </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> </form>

View file

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

View file

@ -1,50 +1,44 @@
<form action="prefs.email.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.email.php?save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <fieldset>
<legend>{lng p="common"}</legend> <legend>{lng p="common"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="storein"}</label>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_prefs_email.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="storein"}:</td> <select name="blobstorage_provider" class="form-select">
<td class="td2"><select name="blobstorage_provider">
<option value="0"{if $bm_prefs.blobstorage_provider==0} selected="selected"{/if}>{lng p="filesystem"} ({lng p="separatefiles"})</option> <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> <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> </select>
</tr> </div>
<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"} " />
</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> </form>

View file

@ -1,89 +1,116 @@
<form action="prefs.email.php?action=receive&save=true&sid={$sid}" method="post" onsubmit="spin(this)"> <form action="prefs.email.php?action=receive&save=true&sid={$sid}" method="post" onsubmit="spin(this)">
<fieldset> <fieldset>
<legend>{lng p="recvmethod"}</legend> <legend>{lng p="recvmethod"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="recvmethod"}</label>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_receiving.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="recvmethod"}:</td> <select name="receive_method" class="form-select">
<td class="td2"><select name="receive_method">
<option value="pop3"{if $bm_prefs.receive_method=='pop3'} selected="selected"{/if}>{lng p="pop3gateway"}</option> <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> <option value="pipe"{if $bm_prefs.receive_method=='pipe'} selected="selected"{/if}>{lng p="pipeetc"}</option>
</select></td> </select>
</tr> </div>
</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;
</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> </form>

View file

@ -2,95 +2,116 @@
<fieldset> <fieldset>
<legend>{lng p="sendmethod"}</legend> <legend>{lng p="sendmethod"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="sendmethod"}</label>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_sending.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="sendmethod"}:</td> <select name="send_method" class="form-control">
<td class="td2"><select name="send_method">
<option value="smtp"{if $bm_prefs.send_method=='smtp'} selected="selected"{/if}>{lng p="smtp"}</option> <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="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> <option value="sendmail"{if $bm_prefs.send_method=='sendmail'} selected="selected"{/if}>{lng p="sendmail2"}</option>
</select></td> </select>
</tr> </div>
</table> </div>
</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>
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>{lng p="sendmail2"}</legend> <legend>{lng p="sendmail2"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="sendmailpath"}</label>
<td width="40" valign="top" rowspan="1"><img src="{$tpldir}images/ico_prefs_cmd.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="sendmailpath"}:</td> <input type="text" class="form-control" name="sendmail_path" value="{text allowEmpty=true value=$bm_prefs.sendmail_path}" placeholder="{lng p="sendmailpath"}">
<td class="td2"><input type="text" name="sendmail_path" value="{text allowEmpty=true value=$bm_prefs.sendmail_path}" size="36" /></td> </div>
</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> </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> </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)"> <form action="prefs.email.php?action=smime&do=editca&set=true&sid={$sid}" method="post" enctype="multipart/form-data" onsubmit="spin(this)">
<fieldset> <fieldset>
<legend>{lng p="info"}</legend> <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> <div class="alert alert-info">{lng p="cert_ca_info"}</div>
<legend>{lng p="cert_ca_current"}</legend> </fieldset>
{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>
<fieldset> <fieldset>
<legend>{lng p="cert_ca_import"}</legend> <legend>{lng p="cert_ca_current"}</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>
<p> {if $certInfo}
<div style="float:left;" class="buttons"> <div class="mb-3 row">
<input class="button" type="button" value=" &laquo; {lng p="back"} " onclick="document.location.href='prefs.email.php?action=smime&sid={$sid}';" /> <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>
<div style="float:right;" class="buttons">
<input class="button" type="submit" value=" {lng p="import"} " />
</div>
</p>
</form> </form>

View file

@ -1,77 +1,84 @@
<fieldset> <div class="row">
<legend>{lng p="prefs"}</legend> <div class="col-md-6">
<fieldset>
<table width="90%"> <legend>{lng p="prefs"}</legend>
<tr>
<td align="left" valign="top" width="40"><img src="{$tpldir}images/cert32.png" border="0" alt="" width="32" height="32" /></td> <input class="btn btn-primary" type="button" value=" {lng p="setedit"} " onclick="document.location.href='prefs.email.php?action=smime&do=editca&sid={$sid}';" />
<td class="td1" width="220">{lng p="cert_ca"}:</td> </fieldset>
<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> </div>
</tr> <div class="col-md-6">
</table> <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)">
<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> <fieldset>
<legend>{lng p="rootcerts"}</legend> <legend>{lng p="rootcerts"}</legend>
<form action="prefs.email.php?action=smime&sid={$sid}" name="f1" method="post"> <form action="prefs.email.php?action=smime&sid={$sid}" name="f1" method="post">
<table class="list"> <div class="card">
<tr> <div class="table-responsive">
<th width="20">&nbsp;</th> <table class="table table-vcenter table-striped">
<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> <thead>
<th>{lng p="name"}</th> <tr>
<th width="180">{lng p="validity"}</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 width="60">&nbsp;</th> <th>{lng p="name"}</th>
</tr> <th width="180">{lng p="validity"}</th>
<th width="60">&nbsp;</th>
{foreach from=$certs item=cert} </tr>
{cycle name=class values="td1,td2" assign=class} </thead>
<tr class="{$class}"> <tbody>
<td align="center"><img src="{$tpldir}images/cert_{if $cert.valid}ok{else}expired{/if}.png" border="0" alt="" width="16" height="16" /></td> {foreach from=$certs item=cert}
<td align="center"><input type="checkbox" name="certs[]" value="{$cert.certificateid}" /></td> {cycle name=class values="td1,td2" assign=class}
<td>{text value=$cert.cn cut=45}</td> <tr class="{$class}">
<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 style="text-align: center;"><input type="checkbox" name="certs[]" value="{$cert.certificateid}" /></td>
<td> <td>{text value=$cert.cn cut=45}</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> <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>
<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 class="text-nowrap">
</td> <div class="btn-group btn-group-sm">
</tr> <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>
{/foreach} <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>
<tr> </td>
<td class="footer" colspan="8"> </tr>
<div style="float:left;"> {/foreach}
{lng p="action"}: <select name="massAction" class="smallInput"> </tbody>
<option value="-">------------</option> </table>
</div>
<optgroup label="{lng p="actions"}"> <div class="card-footer">
<option value="export">{lng p="export"}</option> <div style="float: left;">{lng p="action"}:&nbsp;</div>
<option value="delete">{lng p="delete"}</option> <div style="float: left;">
</optgroup> <div class="btn-group btn-group-sm">
</select>&nbsp; <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>
<div style="float:left;"> </div>
<input type="submit" name="executeMassAction" value=" {lng p="execute"} " class="smallInput" /> </div>
</div>
</td>
</tr>
</table>
</form> </form>
</fieldset> </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>

View file

@ -2,20 +2,20 @@
<legend>{lng p="edit"}</legend> <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"> <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%"> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="filetypes"}</label>
<td width="40" valign="top" rowspan="2"><img src="{$tpldir}images/extension.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="150">{lng p="filetypes"}:</td> <input type="text" class="form-control" name="ext" value="{text value=$extension.ext}"{if $extension.ext[0]=='.'} disabled="disabled"{/if} placeholder="{lng p="filetypes"}">
<td class="td2"><input{if $extension.ext[0]=='.'} disabled="disabled"{/if} type="text" style="width:85%;" name="ext" value="{text value=$extension.ext}" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1" width="150">{lng p="icon"}:</td> <label class="col-sm-2 col-form-label">{lng p="icon"}</label>
<td class="td2"><input type="file" name="icon" style="width:440px;" /></td> <div class="col-sm-10">
</tr> <input type="file" class="form-control" name="icon" accept="image/*" placeholder="{lng p="icon"}">
</table> </div>
</div>
<p align="right"> <div class="text-end">
<input class="button" type="submit" value=" {lng p="save"} " /> <input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</p> </div>
</form> </form>
</fieldset> </fieldset>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,178 +2,225 @@
<fieldset> <fieldset>
<legend>{lng p="payments"}</legend> <legend>{lng p="payments"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="currency"}</label>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_prefs_payments.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="currency"}:</td> <input type="text" class="form-control" name="currency" value="{$bm_prefs.currency}" placeholder="{lng p="currency"}">
<td class="td2"><input type="text" name="currency" value="{$bm_prefs.currency}" size="8" /></td> </div>
<td class="td">&nbsp;</td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="pay_notification"}</label>
<td class="td1">{lng p="pay_notification"}:</td> <div class="col-sm-10">
<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> <div class="input-group mb-2">
</tr> <span class="input-group-text">
<tr> <input class="form-check-input m-0" type="checkbox" name="send_pay_notification"{if $bm_prefs.send_pay_notification=='yes'} checked="checked"{/if}>
<td class="td1">{lng p="sysmailsender"}:</td> </span>
<td class="td2"> <span class="input-group-text">{lng p="to2"}:</span>
"<input type="text" name="pay_emailfrom" value="{if isset($bm_prefs.pay_emailfrom)}{text value=$bm_prefs.pay_emailfrom allowEmpty=true}{/if}" size="14" />" <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"}">
&lt;<input type="text" name="pay_emailfromemail" value="{email value=$bm_prefs.pay_emailfromemail}" size="22" />&gt; </div>
</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="vat"}:</td> <label class="col-sm-2 col-form-label">{lng p="sysmailsender"}</label>
<td class="td2"> <div class="col-sm-10">
<select name="mwst"> <div class="input-group mb-2">
<option value="add"{if $bm_prefs.mwst=='add'} selected="selected"{/if}>{lng p="vat_add"}</option> <span class="input-group-text">"</span>
<option value="enthalten"{if $bm_prefs.mwst=='enthalten'} selected="selected"{/if}>{lng p="vat_enthalten"}</option> <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"}">
<option value="nomwst"{if $bm_prefs.mwst=='nomwst'} selected="selected"{/if}>{lng p="vat_nomwst"}</option> <span class="input-group-text">" <</span>
</select> <input type="text" class="form-control" name="pay_emailfromemail" value="{email value=$bm_prefs.pay_emailfromemail}" placeholder="{lng p="email"}">
<small> <span class="input-group-text">></span>
&nbsp; {lng p="vatratenotice"} <a href="prefs.countries.php?sid={$sid}">{lng p="countries"}</a>. </div>
</small> </div>
</td> </div>
</tr> <div class="mb-3 row">
</table> <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>
<fieldset> <fieldset>
<legend>PayPal</legend> <legend>PayPal</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-check-label">{lng p="enablechrgpaypal"}</label>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_pay_paypal.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="enablechrgpaypal"}?</td> <label class="form-check">
<td class="td2"><input name="enable_paypal"{if $bm_prefs.enable_paypal=='yes'} checked="checked"{/if} type="checkbox" /></td> <input class="form-check-input" type="checkbox" name="enable_paypal"{if $bm_prefs.enable_paypal=='yes'} checked="checked"{/if}>
<td class="td2">&nbsp;</td> </label>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="default"}?</td> <div class="mb-3 row">
<td class="td2"><input type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==1} checked="checked"{/if} /></td> <label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
</tr> <div class="col-sm-10">
<tr> <label class="form-check">
<td class="td1" width="220">{lng p="paypalacc"}:</td> <input class="form-check-input" type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==1} checked="checked"{/if}>
<td class="td2"><input type="text" name="paypal_mail" value="{$bm_prefs.paypal_mail}" size="36" /></td> </label>
<td class="td2">&nbsp;</td> </div>
</tr> </div>
</table> <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>
<fieldset> <fieldset>
<legend>sofort&uuml;berweisung.de</legend> <legend>sofort&uuml;berweisung.de</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-check-label">{lng p="enablechrgsu"}</label>
<td width="40" valign="top" rowspan="7"><img src="{$tpldir}images/ico_pay_su.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="enablechrgsu"}?</td> <label class="form-check">
<td class="td2"><input name="enable_su"{if $bm_prefs.enable_su=='yes'} checked="checked"{/if} id="su_enable" type="checkbox" /></td> <input class="form-check-input" type="checkbox" name="enable_su"{if $bm_prefs.enable_su=='yes'} checked="checked"{/if}>
<td class="td2">&nbsp;</td> </label>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="default"}?</td> <div class="mb-3 row">
<td class="td2"><input type="radio" name="default_paymethod" value="2"{if $bm_prefs.default_paymethod==2} checked="checked"{/if} /></td> <label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
</tr> <div class="col-sm-10">
<tr> <label class="form-check">
<td class="td1">{lng p="sukdnr"}:</td> <input class="form-check-input" type="radio" name="default_paymethod" value="2"{if $bm_prefs.default_paymethod==2} checked="checked"{/if}>
<td class="td2"><input type="text" name="su_kdnr" value="{$bm_prefs.su_kdnr}" id="su_kdnr" size="24" /></td> </label>
<td class="td2">&nbsp;</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="suprjnr"}:</td> <label class="col-sm-2 col-form-label">{lng p="sukdnr"}</label>
<td class="td2"><input type="text" name="su_prjnr" value="{$bm_prefs.su_prjnr}" id="su_prjnr" size="24" /></td> <div class="col-sm-10">
<td class="td2" style="padding-left:10px;"> <input type="text" class="form-control" name="su_kdnr" value="{$bm_prefs.su_kdnr}" placeholder="{lng p="sukdnr"}">
<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();" /> </div>
</td> </div>
</tr> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-label">{lng p="suprjnr"}</label>
<td class="td1">{lng p="suprjpass"}:</td> <div class="col-sm-10">
<td class="td2"><input type="text" name="su_prjpass" value="{$bm_prefs.su_prjpass}" id="su_prjpass" size="24" /></td> <div class="input-group">
<td class="td2">&nbsp;</td> <input type="text" class="form-control" name="su_prjnr" value="{$bm_prefs.su_prjnr}" placeholder="{lng p="suprjnr"}">
</tr> <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();" />
<tr> </div>
<td class="td1">{lng p="sunotifypass"}:</td> </div>
<td class="td2"><input type="text" name="su_notifypass" value="{$bm_prefs.su_notifypass}" id="su_notifypass" size="24" /></td> </div>
<td class="td2">&nbsp;</td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="suprjpass"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="suinputcheck"}?</td> <input type="text" class="form-control" name="su_prjpass" value="{$bm_prefs.su_prjpass}" placeholder="{lng p="suprjpass"}">
<td class="td2"><input name="su_inputcheck"{if $bm_prefs.su_inputcheck=='yes'} checked="checked"{/if} id="su_inputcheck" type="checkbox" /></td> </div>
<td class="td2">&nbsp;</td> </div>
</tr> <div class="mb-3 row">
</table> <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>
<fieldset> <fieldset>
<legend>Skrill (Moneybookers)</legend> <legend>Skrill (Moneybookers)</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-check-label">{lng p="enablechrgskrill"}</label>
<td width="40" valign="top" rowspan="4"><img src="{$tpldir}images/ico_pay_skrill.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="enablechrgskrill"}?</td> <label class="form-check">
<td class="td2"><input name="enable_skrill"{if $bm_prefs.enable_skrill=='yes'} checked="checked"{/if} type="checkbox" /></td> <input class="form-check-input" type="checkbox" name="enable_skrill"{if $bm_prefs.enable_skrill=='yes'} checked="checked"{/if}>
<td class="td2">&nbsp;</td> </label>
</tr> </div>
<tr> </div>
<td class="td1">{lng p="default"}?</td> <div class="mb-3 row">
<td class="td2"><input type="radio" name="default_paymethod" value="1"{if $bm_prefs.default_paymethod==3} checked="checked"{/if} /></td> <label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
</tr> <div class="col-sm-10">
<tr> <label class="form-check">
<td class="td1">{lng p="skrillacc"}:</td> <input class="form-check-input" type="radio" name="default_paymethod" value="3"{if $bm_prefs.default_paymethod==3} checked="checked"{/if}>
<td class="td2"><input type="text" name="skrill_mail" value="{$bm_prefs.skrill_mail}" size="36" /></td> </label>
<td class="td2">&nbsp;</td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="skrillsecret"}:</td> <label class="col-sm-2 col-form-label">{lng p="skrillacc"}</label>
<td class="td2"><input type="text" name="skrill_secret" value="{$bm_prefs.skrill_secret}" id="skrill_secret" size="24" /></td> <div class="col-sm-10">
<td class="td2">&nbsp;</td> <input type="text" class="form-control" name="skrill_mail" value="{$bm_prefs.skrill_mail}" placeholder="{lng p="skrillacc"}">
</tr> </div>
</table> </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>
<fieldset> <fieldset>
<legend>{lng p="banktransfer"}</legend> <legend>{lng p="banktransfer"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-check-label">{lng p="enablebanktransfer"}</label>
<td width="40" valign="top" rowspan="8"><img src="{$tpldir}images/ico_pay_banktransfer.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="enablebanktransfer"}?</td> <label class="form-check">
<td class="td2"><input name="enable_vk"{if $bm_prefs.enable_vk=='yes'} checked="checked"{/if} type="checkbox" /></td> <input class="form-check-input" type="checkbox" name="enable_vk"{if $bm_prefs.enable_vk=='yes'} checked="checked"{/if}>
</tr> </label>
<tr> </div>
<td class="td1">{lng p="default"}?</td> </div>
<td class="td2"><input type="radio" name="default_paymethod" value="0"{if $bm_prefs.default_paymethod==0} checked="checked"{/if} /></td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-check-label">{lng p="default"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="kto_inh"}:</td> <label class="form-check">
<td class="td2"><input type="text" name="vk_kto_inh" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inh}" size="24" /></td> <input class="form-check-input" type="radio" name="default_paymethod" value="0"{if $bm_prefs.default_paymethod==0} checked="checked"{/if}>
</tr> </label>
<tr> </div>
<td class="td1">{lng p="kto_nr"}:</td> </div>
<td class="td2"><input type="text" name="vk_kto_nr" value="{text allowEmpty=true value=$bm_prefs.vk_kto_nr}" size="24" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="kto_inh"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="kto_blz"}:</td> <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"}">
<td class="td2"><input type="text" name="vk_kto_blz" value="{text allowEmpty=true value=$bm_prefs.vk_kto_blz}" size="24" /></td> </div>
</tr> </div>
<tr> <div class="mb-3 row">
<td class="td1">{lng p="kto_inst"}:</td> <label class="col-sm-2 col-form-label">{lng p="kto_nr"}</label>
<td class="td2"><input type="text" name="vk_kto_inst" value="{text allowEmpty=true value=$bm_prefs.vk_kto_inst}" size="24" /></td> <div class="col-sm-10">
</tr> <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"}">
<tr> </div>
<td class="td1">{lng p="kto_iban"}:</td> </div>
<td class="td2"><input type="text" name="vk_kto_iban" value="{text allowEmpty=true value=$bm_prefs.vk_kto_iban}" size="24" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="kto_blz"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="kto_bic"}:</td> <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"}">
<td class="td2"><input type="text" name="vk_kto_bic" value="{text allowEmpty=true value=$bm_prefs.vk_kto_bic}" size="24" /></td> </div>
</tr> </div>
</table> <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> </fieldset>
<p> <div class="text-end">
<div style="float:right" class="buttons"> <input class="btn btn-primary" type="submit" value="{lng p="save"}" />
<input class="button" type="submit" value=" {lng p="save"} " /> </div>
</div>
</p>
</form> </form>
<form action="https://www.sofort-ueberweisung.de/payment/createNew/" method="post" target="suWindow" id="suForm"> <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"> <form action="prefs.payments.php?action=invoices&save=true&sid={$sid}" method="post" onsubmit="editor.submit();spin(this);" id="prefsForm">
<fieldset> <fieldset>
<legend>{lng p="invoices"}</legend> <legend>{lng p="invoices"}</legend>
<table> <div class="mb-3 row">
<tr> <label class="col-sm-2 col-form-check-label">{lng p="sendrg"}</label>
<td width="40" valign="top" rowspan="3"><img src="{$tpldir}images/ico_prefs_invoices.png" border="0" alt="" width="32" height="32" /></td> <div class="col-sm-10">
<td class="td1" width="220">{lng p="sendrg"}?</td> <label class="form-check">
<td class="td2"><input name="sendrg"{if $bm_prefs.sendrg=='yes'} checked="checked"{/if} type="checkbox" /></td> <input class="form-check-input" type="checkbox" name="sendrg"{if $bm_prefs.sendrg=='yes'} checked="checked"{/if}>
</tr> </label>
<tr> </div>
<td class="td1">{lng p="rgnrfmt"}:</td> </div>
<td class="td2"><input type="text" name="rgnrfmt" value="{text allowEmpty=true value=$bm_prefs.rgnrfmt}" size="12" /></td> <div class="mb-3 row">
</tr> <label class="col-sm-2 col-form-label">{lng p="rgnrfmt"}</label>
<tr> <div class="col-sm-10">
<td class="td1">{lng p="kdnrfmt"}:</td> <input type="text" class="form-control" name="rgnrfmt" value="{text allowEmpty=true value=$bm_prefs.rgnrfmt}" placeholder="{lng p="rgnrfmt"}">
<td class="td2"><input type="text" name="kdnrfmt" value="{text allowEmpty=true value=$bm_prefs.kdnrfmt}" size="12" /></td> </div>
</tr> </div>
</table> <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>
<fieldset> <fieldset>
<legend>{lng p="rgtemplate"}</legend> <legend>{lng p="rgtemplate"}</legend>
<table width="100%"> <div class="mb-3 row">
<tr> <div class="col-sm-12">
<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>
<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 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 type="text/javascript" src="../clientlib/ckeditor/ckeditor.js?{fileDateSig file="../../clientlib/ckeditor/ckeditor.js"}"></script> <script>
<script> <!--
<!-- var editor = new htmlEditor('rgtemplate');
var editor = new htmlEditor('rgtemplate'); editor.height = 500;
editor.height = 500; editor.disableIntro = true;
editor.disableIntro = true; editor.init();
editor.init(); registerLoadAction('editor.start()');
registerLoadAction('editor.start()'); //-->
//--> </script>
</script> </div>
</td></tr></table>
</fieldset>
<p>
<div style="float:right" class="buttons">
<input class="button" type="submit" value=" {lng p="save"} " />
</div> </div>
</p> </fieldset>
<div class="text-end">
<input class="btn btn-primary" type="submit" value="{lng p="save"}" />
</div>
</form> </form>

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