665 lines
44 KiB
Twig
665 lines
44 KiB
Twig
{% include "headitem.html.twig" with {title: "GENERAL_ADMIN_TITLE"|translate} %}
|
|
|
|
<script type="text/javascript">
|
|
<!--
|
|
{% if updatelist == 1 %}
|
|
UpdateList('{{ oxid }}');
|
|
{% endif %}
|
|
|
|
let sOldElemId = false;
|
|
|
|
function getDetails(sElemId, sDisplayType, blCollapseOld)
|
|
{
|
|
if (!sDisplayType) sDisplayType = 'table-row';
|
|
|
|
if (blCollapseOld) {
|
|
if (sOldElemId && sOldElemId !== sElemId) {
|
|
getDetails(sOldElemId, sDisplayType);
|
|
}
|
|
|
|
sOldElemId = sElemId;
|
|
}
|
|
|
|
let oElem = document.getElementById(sElemId);
|
|
if (oElem.style.display === sDisplayType) {
|
|
oElem.style.display = 'none';
|
|
} else {
|
|
oElem.style.display = sDisplayType;
|
|
}
|
|
}
|
|
|
|
function showLicForm(sElemId, URI)
|
|
{
|
|
let sFormElemId = sElemId + '__licform';
|
|
let oElem = document.getElementById(sFormElemId);
|
|
|
|
let sDisplayType = 'block';
|
|
getDetails(sFormElemId, sDisplayType, true);
|
|
if (oElem.style.display === sDisplayType) {
|
|
document.getElementById(sElemId + '__licensefrm').src = decodeURIComponent(URI);
|
|
}
|
|
}
|
|
|
|
function getUpdateStatus()
|
|
{
|
|
document.getElementById('getRemote').submit();
|
|
}
|
|
-->
|
|
</script>
|
|
|
|
<style>
|
|
<!--
|
|
fieldset{
|
|
border: 1px inset black;
|
|
background-color: #F0F0F0;
|
|
}
|
|
|
|
legend{
|
|
font-weight: bold;
|
|
}
|
|
|
|
dl dt{
|
|
font-weight: normal;
|
|
width: 55%;
|
|
}
|
|
|
|
.ext_edittext {
|
|
padding: 2px;
|
|
}
|
|
|
|
td.edittext {
|
|
white-space: normal;
|
|
}
|
|
|
|
td.noaction,
|
|
a.noaction{
|
|
color:#AAA;
|
|
}
|
|
|
|
td.noaction img,
|
|
td.action img {
|
|
border: none;
|
|
}
|
|
|
|
td.listitem.action,
|
|
td.listitem2.action,
|
|
td.listitem.noaction,
|
|
td.listitem2.noaction {
|
|
padding-left: 5px;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
td.listitem img,
|
|
td.listitem2 img,
|
|
td.listitem .image,
|
|
td.listitem2 .image {
|
|
height: 20px;
|
|
}
|
|
|
|
.d3install_btn {
|
|
background-color: none;
|
|
}
|
|
|
|
.statusyellow {
|
|
width: 5px;
|
|
background-color: #FFCC00;
|
|
}
|
|
|
|
.statusgreen {
|
|
width: 5px;
|
|
background-color: #00CC22;
|
|
}
|
|
|
|
.statusblue {
|
|
width: 5px;
|
|
background-color: #0000FF;
|
|
}
|
|
|
|
.box td.listitem.itemerror,
|
|
.box td.listitem2.itemerror {
|
|
color: darkred;
|
|
}
|
|
|
|
.box td.listitem.itemdisabled,
|
|
.box td.listitem2.itemdisabled {
|
|
color: #888;
|
|
}
|
|
|
|
.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
dl {
|
|
border-top: 0 none;
|
|
padding-top: 0;
|
|
margin-top: 0;
|
|
}
|
|
|
|
dl dt {
|
|
clear: both;
|
|
float: left;
|
|
}
|
|
|
|
dl dt.listitem,
|
|
dl dd.listitem,
|
|
dl dt.listitem2,
|
|
dl dd.listitem2
|
|
{
|
|
min-height: 21px;
|
|
padding: 2px 4px;
|
|
}
|
|
|
|
dl dt.listitem2,
|
|
dl dd.listitem2
|
|
{
|
|
background-color: #F0F0F0;
|
|
}
|
|
|
|
.licframe {
|
|
width: 99%;
|
|
height: 293px;
|
|
border: 0 none transparent;
|
|
}
|
|
|
|
-->
|
|
</style>
|
|
|
|
{% if readonly %}
|
|
{% set readonly = "readonly disabled" %}
|
|
{% else %}
|
|
{% set readonly = "" %}
|
|
{% endif %}
|
|
|
|
<form name="transfer" id="transfer" action="{{ oViewConf.getSelfLink()|raw }}" method="post">
|
|
{{ oViewConf.getHiddenSid()|raw }}
|
|
<input type="hidden" name="oxid" value="{{ oxid }}">
|
|
<input type="hidden" name="cl" value="{{ oViewConf.getActiveClassName()|raw }}">
|
|
<input type="hidden" name="actshop" value="{{ shop.id }}">
|
|
<input type="hidden" name="editlanguage" value="{{ editlanguage }}">
|
|
</form>
|
|
|
|
{% if sErrorMLMsg %}
|
|
<div class="extension_error">
|
|
{{ translate({ ident: sErrorMLMsg }) }}
|
|
</div>
|
|
{% endif %}
|
|
<table style="border: none; width: 98%">
|
|
<tr>
|
|
<td style="vertical-align: top" class="edittext">
|
|
{% set aRemoteMods = oView.getRemoteMods() %}
|
|
<fieldset>
|
|
<legend>
|
|
{{ translate({ ident: oView.getTitleIdent() }) }}
|
|
</legend>
|
|
<table style="width: 100%;">
|
|
<colgroup>
|
|
<col style="width: 35px">
|
|
<col style="width: 40px">
|
|
<col>
|
|
<col>
|
|
<col>
|
|
<col>
|
|
<col style="width: 40px">
|
|
</colgroup>
|
|
<tr>
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_STATUS" }) }}</th>
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_UPDATE" }) }}</th>
|
|
{% if oView.getModuleType() == 'lib' %}
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_LIBRARY" }) }}</th>
|
|
{% else %}
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_EXTENSION" }) }}</th>
|
|
{% endif %}
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_INSTALLDATE" }) }}</th>
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_INSTALLED" }) }}</th>
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_AVAILABLE" }) }}</th>
|
|
<th>{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}</th>
|
|
</tr>
|
|
|
|
{% set blWhite = "" %}
|
|
{% for sKey, oModule in oView.getInstalledModuleList() %}
|
|
{% set listclass = "listitem" ~ blWhite %}
|
|
|
|
{% if not oModule.getId() %}
|
|
{% set formatclass = "" %}
|
|
{% set iconclass = "far fa-plus-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% elseif oModule.getErrorMessage() %}
|
|
{% set formatclass = "itemerror" %}
|
|
{% set iconclass = "fas fa-exclamation-triangle d3fa-17x d3fa-color-red" %}
|
|
{% elseif not oModule.isActive() %}
|
|
{% set formatclass = "itemdisabled" %}
|
|
{% set iconclass = "fas fa-check-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% else %}
|
|
{% set formatclass = "" %}
|
|
{% set iconclass = "fas fa-check-circle d3fa-17x d3fa-color-green" %}
|
|
{% endif %}
|
|
|
|
{% set aRemoteModData = oView.getRemoteModuleData(oModule.d3GetModId()) %}
|
|
|
|
{% if oView.moduleIsNewestVersion(oModule, aRemoteModData) %}
|
|
{% set updateicon = "fas fa-check-circle d3fa-17x d3fa-color-green" %}
|
|
{% set icondesc = "D3_MOD_LIB_NOACTION"|translate %}
|
|
{% elseif oView.hasNewerModuleVersion(oModule, aRemoteModData) %}
|
|
{% set updateicon = "fas fa-exclamation-triangle d3fa-17x d3fa-color-orange" %}
|
|
{% set icondesc = "D3_MOD_EXT_REFRESH"|translate %}
|
|
{% elseif blGetRemoteUpdateStatus %}
|
|
{% set updateicon = "far fa-question-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% set icondesc = "D3_MOD_LIB_NOUPDATEINFO"|translate %}
|
|
{% else %}
|
|
{% set updateicon = "far fa-question-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% set icondesc = "D3_CFG_LIB_GETLIBLIST"|translate %}
|
|
{% endif %}
|
|
<tr>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="height: 24px; text-align: center;" onClick="getDetails('{{ sKey }}'); return false;">
|
|
<label class="{{ iconclass }}" title="{{ translate({ ident: "D3_CFG_LIB_GETDETAILS" }) }}"></label>
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="height: 24px; text-align: center;" onClick="getUpdateStatus(); return false;">
|
|
<label class="{{ updateicon }}" title="{{ icondesc }}"></label>
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="background-image: url('{{ oViewConf.getResourceUrl() }}bg/grouping.gif'); background-repeat: no-repeat; background-position: 0 -37px; padding: 5px; padding-left: 15px;" title="{{ translate({ ident: "D3_CFG_LIB_GETDETAILS" }) }}" onClick="getDetails('{{ sKey }}'); return false;">
|
|
<b>{{ oView.getModTitle(oModule) }}</b> ({{ oModule.getFieldData('oxmodid') }})
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="padding: 5px;" title="{{ translate({ ident: "D3_CFG_LIB_GETDETAILS" }) }}" onClick="getDetails('{{ sKey }}'); return false;">
|
|
{{ oModule.getFieldData('oxinstalldate')|date("d.m.Y H:i:s") }}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="padding: 5px;" title="{{ translate({ ident: "D3_CFG_LIB_GETDETAILS" }) }}" onClick="getDetails('{{ sKey }}'); return false;">
|
|
{{ oModule.getFieldData('oxversion') }} {{ oModule.getFieldData('oxshopversion') }}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }} clickable" style="padding: 5px;" title="{{ translate({ ident: "D3_CFG_LIB_GETDETAILS" }) }}" onClick="getDetails('{{ sKey }}'); return false;">
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.version %}
|
|
{{ aRemoteModData.newestversion.version }}
|
|
{% elseif isset(aRemoteModData.availableversion) and aRemoteModData.availableversion.version %}
|
|
{{ aRemoteModData.availableversion.version }}
|
|
{% else %}
|
|
{{ translate({ ident: "D3_CFG_LIB_VERSIONUNKNOWN" }) }}
|
|
{% endif %}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="height: 24px; text-align: center;">
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.infourl %}
|
|
<a target="modinfo" class="" href="{{ aRemoteModData.newestversion.infourl }}" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}">
|
|
<span class="fas fa-info-circle d3fa-17x d3fa-color-blue"></span>
|
|
</a>
|
|
{% elseif isset(aRemoteModData.availableversion) and aRemoteModData.availableversion.infourl %}
|
|
<a target="modinfo" class="" href="{{ aRemoteModData.availableversion.infourl }}" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}">
|
|
<span class="fas fa-info-circle d3fa-17x d3fa-color-blue"></span>
|
|
</a>
|
|
{% else %}
|
|
<label class="fas fa-info-circle d3fa-17x d3fa-color-disabled" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}"></label>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% if (isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.note) or (isset(aRemoteModData.availableversion) and aRemoteModData.availableversion.note) %}
|
|
<tr>
|
|
<td colspan="7" class="{{ listclass }} {{ formatclass }}" style="padding: 5px; text-align: center;">
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.note %}
|
|
{{ aRemoteModData.newestversion.note }}
|
|
{% elseif aRemoteModData.availableversion.note %}
|
|
{{ aRemoteModData.availableversion.note }}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
<tr id="{{ sKey }}" style="display: {% if oModule.getErrorMessage() or oView.getErrorMessage() %}table-row{% else %}none{% endif %};">
|
|
<td colspan="7" class="{{ listclass }}" style="height: 30px; border: 1px solid #CCC; border-top-style: none; padding: 5px; padding-bottom: 10px;">
|
|
{% if oModule.getErrorMessage() or oView.getErrorMessage() %}
|
|
<div class="extension_error">
|
|
{{ oModule.getErrorMessage() }}
|
|
{% if oModule.getErrorMessage() and oView.getErrorMessage() %}<br>{% endif %}
|
|
{{ oView.getErrorMessage() }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form action="{{ oViewConf.getSelfLink()|raw }}" method="post">
|
|
{{ oViewConf.getHiddenSid()|raw }}
|
|
<input type="hidden" name="cl" value="{{ oViewConf.getActiveClassName()|raw }}">
|
|
<input type="hidden" name="fnc" value="saveModCfg">
|
|
<input type="hidden" name="editval[oxid]" value="{{ oModule.getId() }}">
|
|
<input type="hidden" name="oxmodid" value="{{ sKey }}">
|
|
<table style="width: 100%">
|
|
<tr>
|
|
<td style="width:50%; border-right: 1px solid #999; vertical-align: top;">
|
|
<table style="width: 100%; border: none; padding: 0; border-spacing: 0; border-collapse: collapse">
|
|
<tr>
|
|
<td class="edittext ext_edittext">
|
|
<label for="{{ oModule.getId() }}_active">{{ translate({ ident: "D3_CFG_MOD_GENERAL_MODULEACTIVE" }) }}</label>
|
|
</td>
|
|
<td class="edittext ext_edittext">
|
|
<input type="hidden" name="{% if oView.getModuleType() != 'lib' %}editval[oxactive]{% endif %}" value='0'>
|
|
<input id="{{ oModule.getId() }}_active" class="edittext ext_edittext" type="checkbox" name="{% if oView.getModuleType() != 'lib' %}editval[oxactive]{% endif %}" value='1' {% if oModule.getFieldData('oxactive') == 1 %}checked{% endif %} {{ readonly }}>
|
|
{% include "inputhelp.html.twig" with {'sHelpId': help_id("D3_CFG_MOD_GENERAL_MODULEACTIVE_DESC"), 'sHelpText': help_text("D3_CFG_MOD_GENERAL_MODULEACTIVE_DESC")} %}
|
|
</td>
|
|
</tr>
|
|
{% set oLog = oModule.d3getLog() %}
|
|
{% set oLogSet = oLog.getLogSet() %}
|
|
<tr>
|
|
<td class="edittext ext_edittext">
|
|
<label for="loglevelelement">{{ translate({ ident: "D3_CFG_MOD_GENERAL_MODULELOGGING" }) }}</label>
|
|
</td>
|
|
<td class="edittext ext_edittext">
|
|
{% include "@d3modcfg_lib/admin/inc/loglevel_form.html.twig" with {oLogSet: oLogSet, oModule: oModule} %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td style="width:50%;">
|
|
{% if isset(aRemoteModData.newestversion) or isset(aRemoteModData.availableversion) %}
|
|
<table style="width: 100%; border: none; padding: 0; border-spacing: 0; border-collapse: collapse" >
|
|
{% if aRemoteModData.availableversion.version %}
|
|
<tr>
|
|
<td>
|
|
{{ translate({ ident: "D3_CFG_MOD_VERSION_AVAILVERSION" }) }}
|
|
</td>
|
|
<td>
|
|
{{ aRemoteModData.availableversion.version }}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.version %}
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr>
|
|
</td>
|
|
<tr>
|
|
<td>
|
|
{{ translate({ ident: "D3_CFG_MOD_VERSION_NEWESTVERSION" }) }}
|
|
</td>
|
|
<td>
|
|
{{ aRemoteModData.newestversion.version }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" style="padding-top: 10px;">
|
|
{% if oView.check4ShopUpdate(aRemoteModData.newestversion.fromshop) %}
|
|
{{ translate({ ident: "D3_CFG_MOD_VERSION_NEWESTVERSION_NOTE_1" }) }} {{ aRemoteModData.newestversion.fromshop }} {{ translate({ ident: "D3_CFG_MOD_VERSION_NEWESTVERSION_NOTE_2" }) }}<br>
|
|
{% endif %}
|
|
{% if oView.check4LicenseUpdate(oModule.d3GetModId(), aRemoteModData.newestversion.version) %}
|
|
{{ translate({ ident: "D3_CFG_MOD_VERSION_NEWESTVERSION_LIC" }) }}<br>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
</table>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<br>
|
|
<span class="d3modcfg_btn icon d3color-green">
|
|
<button type="submit" name="save" {{ readonly }}>
|
|
<i class="fas fa-check-circle fa-inverse"></i>{{ translate({ ident: "D3_CFG_MOD_GENERAL_SAVE" }) }}
|
|
</button>
|
|
</span>
|
|
{% if oModule.isLicenseRequired() %}
|
|
<span class="d3modcfg_btn icon d3color-blue" style="margin-left: 20px;">
|
|
{% set licFrameUrl = oView.getLicenceFrameUrl(oModule.d3GetModId()) %}
|
|
<button type="button" onClick="showLicForm('{{ sKey }}', '{{ licFrameUrl|escape("url") }}'); return false;" {{ readonly }}>
|
|
<i class="fas fa-tag fa-inverse"></i>{{ translate({ ident: "D3_CFG_MOD_ADDKEY" }) }}
|
|
</button>
|
|
</span>
|
|
|
|
{% if oModule.getFieldData('oxserial') %}
|
|
<span class="d3modcfg_btn icon d3color-blue" style="margin-left: 20px;">
|
|
<button type="button" onClick="getDetails('{{ sKey }}__licinfo', 'block', true); return false;" {{ readonly }}>
|
|
<i class="fas fa-info-circle fa-inverse"></i>{{ translate({ ident: "D3_CFG_MOD_SHOWKEY" }) }}
|
|
</button>
|
|
</span>
|
|
{% endif %}
|
|
{% endif %}
|
|
<br><br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
{% if oModule.isLicenseRequired() and oModule.getFieldData('oxserial') %}
|
|
<div id="{{ sKey }}__licinfo" style="padding-left: 10px; display: none;">
|
|
<hr>
|
|
<h4>{{ translate({ ident: "D3_CFG_MOD_LICDETAILS" }) }}</h4>
|
|
{% set itemno = "2" %}
|
|
<dl>
|
|
{% if oView.getLicenseData(oModule, 'result') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_GENERALVALID" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{% set resultKey = oView.getLicenseData(oModule, 'result')|upper %}
|
|
{% set translKey = "D3_CFG_MOD_STATUS_" ~ resultKey %}
|
|
{{ translate({ ident: translKey }) }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'domain') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDDOMAIN" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oView.getLicenseData(oModule, 'domain') }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'allow_local') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDLOCAL" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALID_YES" }) }}
|
|
{% include "inputhelp.html.twig" with {'sHelpId': help_id("D3_CFG_MOD_LICDETAILS_VALIDLOCAL_DESC"), 'sHelpText': help_text("D3_CFG_MOD_LICDETAILS_VALIDLOCAL_DESC")} %}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'startdate') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDFROMDATE" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oView.getLicenseData(oModule, 'startdate') }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'enddate') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDTODATE" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{% if oModule.getExpireSpan() > 756864000 %}
|
|
{{ translate({ ident: "D3_CFG_MOD_STATUS_NEVER_EXPIRES" }) }}
|
|
{% else %}
|
|
{{ oView.getLicenseData(oModule, 'enddate') }} ({{ oView.getExpireSpanString(oModule) }})
|
|
{% endif %}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'modid') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDFORMODID" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oView.getLicenseData(oModule, 'modid') }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'modversion') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDFORMODVERSION" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oView.getLicenseData(oModule, 'modversion') }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getFormatedShopEditionList(oModule) %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDFORSHOPEDITION" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oModule.getFormatedShopEditionList() }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getFormatedShopIdList(oModule) %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALIDFORSHOPID" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ oView.getFormatedShopIdList(oModule) }}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getLicenseData(oModule, 'isdemo') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_ISTEST" }) }}</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{% if oView.getLicenseData(oModule, 'isdemo') %}
|
|
{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_VALID_YES" }) }}
|
|
{% endif %}
|
|
</dd>
|
|
{% endif %}
|
|
{% if oView.getConfigInfoData(oModule) %}
|
|
{% for sLicDataKey, mValue in oView.getConfigInfoData(oModule) %}
|
|
{% set translation = oModule.getLicenceOptionTranslation(sLicDataKey) %}
|
|
{% if translation %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}">
|
|
{{ translation }}
|
|
</dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{{ mValue }}
|
|
</dd>
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if oModule.getFieldData('oxactident') %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}"><label for="actident">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_ACTIDENT" }) }}</label></dt>
|
|
<dd class="listitem{{ itemno }}">{{ oModule.getFieldData('oxactident') }}</dd>
|
|
{% endif %}
|
|
{% if itemno == 2 %}{% set itemno = "" %}{% else %}{% set itemno = "2" %}{% endif %}
|
|
<dt class="listitem{{ itemno }}"><label for="licencekey">{{ translate({ ident: "D3_CFG_MOD_LICDETAILS_LICKEY" }) }}</label></dt>
|
|
<dd class="listitem{{ itemno }}">
|
|
{% apply spaceless %}
|
|
<textarea id="licencekey" style="width: 300px; height: 100px;">
|
|
{{ oModule.getFieldData('oxserial') }}
|
|
</textarea>
|
|
{% endapply %}
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="clear"></div>
|
|
{% endif %}
|
|
{% if oModule.isLicenseRequired() %}
|
|
<div id="{{ sKey }}__licform" style="display: none; padding-left: 10px;">
|
|
<hr>
|
|
<div class="licframe" style="display: flex; justify-content: center; align-items: center; position: relative">
|
|
<div class="d3loader-2 small" style="position: absolute">
|
|
<div class="d3loader-spinner">
|
|
<div class="d3loader-circle-1"></div>
|
|
<div class="d3loader-circle-2"></div>
|
|
<div class="d3loader-circle-3"></div>
|
|
</div>
|
|
</div>
|
|
<iframe id="{{ sKey }}__licensefrm" class="licframe" src="" style="border: none; position: absolute"></iframe>
|
|
</div>
|
|
</div>
|
|
<div class="clear"></div>
|
|
{% endif %}
|
|
|
|
{% if oView.getModuleCfgTplPath(sKey) %}
|
|
<hr>
|
|
{% include oView.getModuleCfgTplPath(sKey) ~ '.html.twig' with {oxid: oModule.getId(), edit: oModule, value: oModule.oValue} %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% if blWhite == "2" %}
|
|
{% set blWhite = "" %}
|
|
{% else %}
|
|
{% set blWhite = "2" %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if oView.getShowNewItems() %}
|
|
{% set aAllRemoteModuleData = oView.getAllRemoteModuleData() %}
|
|
{% if aAllRemoteModuleData %}
|
|
<tr><td class="{{ listclass }}" colspan="9"><hr style="margin: 3px 0;"></td></tr>
|
|
{% endif %}
|
|
{% for oModule in aAllRemoteModuleData %}
|
|
{# **************** #}
|
|
{% if not oView.isInstalled(oView.getRemoteModVar(oModule, 'modid')) %}
|
|
{% set listclass = "listitem" ~ blWhite %}
|
|
|
|
{% set formatclass = "" %}
|
|
{% set iconclass = "fas fa-question-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% set aRemoteModData = oView.getRemoteModuleData(oView.getRemoteModVar(oModule, 'modid')) %}
|
|
{% set updateicon = "fas fa-question-circle d3fa-17x d3fa-color-disabled" %}
|
|
{% set icondesc = "" %}
|
|
|
|
<tr>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="height: 24px; text-align: center;">
|
|
<label class="{{ iconclass }}" title="{{ translate({ ident: "D3_CFG_LIB_NOTINSTALLED" }) }}"></label>
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="height: 24px; text-align: center;">
|
|
<label class="{{ updateicon }}" title="{{ icondesc }}"></label>
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="padding: 5px; padding-left: 15px;" title="">
|
|
<b>{{ oView.getRemoteModVar(oModule, 'modtitle') }}</b> ({{ oView.getRemoteModVar(oModule, 'modid') }})
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="padding: 5px;" title="">
|
|
{{ translate({ ident: "D3_CFG_LIB_NOTINSTALLED" }) }}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="padding: 5px;" title="">
|
|
{{ translate({ ident: "D3_CFG_LIB_NOTINSTALLED" }) }}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="padding: 5px;" title="">
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.version %}
|
|
{{ aRemoteModData.newestversion.version }}
|
|
{% elseif aRemoteModData.availableversion.version %}
|
|
{{ aRemoteModData.availableversion.version }}
|
|
{% elseif aRemoteModData.formerversion.version %}
|
|
<span style="white-space: nowrap">{{ translate({ ident: "D3_CFG_LIB_FORMERVERSION" }) }} {{ aRemoteModData.formerversion.version }}</span><br>
|
|
<span style="white-space: nowrap">{{ translate({ ident: "D3_CFG_LIB_USEABLETO" }) }} {{ aRemoteModData.formerversion.toshop }}</span>
|
|
{% else %}
|
|
{{ translate({ ident: "D3_CFG_LIB_VERSIONUNKNOWN" }) }}
|
|
{% endif %}
|
|
</td>
|
|
<td class="{{ listclass }} {{ formatclass }}" style="height: 24px; text-align: center;">
|
|
{% if isset(aRemoteModData.newestversion) and aRemoteModData.newestversion.infourl %}
|
|
<a target="modinfo" class="" href="{{ aRemoteModData.newestversion.infourl }}" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}">
|
|
<span class="fas fa-info-circle d3fa-17x d3fa-color-blue"></span>
|
|
</a>
|
|
{% elseif aRemoteModData.availableversion.infourl %}
|
|
<a target="modinfo" class="" href="{{ aRemoteModData.availableversion.infourl }}" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}">
|
|
<span class="fas fa-info-circle d3fa-17x d3fa-color-blue"></span>
|
|
</a>
|
|
{% elseif aRemoteModData.formerversion.infourl %}
|
|
<a target="modinfo" class="" href="{{ aRemoteModData.formerversion.infourl }}" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}">
|
|
<span class="fas fa-info-circle d3fa-17x d3fa-color-blue"></span>
|
|
</a>
|
|
{% else %}
|
|
<label class="fas fa-info-circle d3fa-17x d3fa-color-disabled" title="{{ translate({ ident: "D3_CFG_LIB_INFO" }) }}"></label>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% if blWhite == "2" %}
|
|
{% set blWhite = "" %}
|
|
{% else %}
|
|
{% set blWhite = "2" %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{# ************** #}
|
|
{% endfor %}
|
|
{% endif %}
|
|
</table>
|
|
{% if oView.getInstallClass() and not oView.hasConnectionError() %}
|
|
<hr>
|
|
<form name="getRemote" id="getRemote" action="{{ oViewConf.getSelfLink()|raw }}" method="post">
|
|
{{ oViewConf.getHiddenSid()|raw }}
|
|
<input type="hidden" name="cl" value="{{ oViewConf.getActiveClassName()|raw }}">
|
|
<input type="hidden" name="oxid" value="{{ oxid }}">
|
|
<input type="hidden" name="editval[oxid]" value="{{ oxid }}">
|
|
<input type="hidden" name="fnc" value="getRemoteModList">
|
|
<span class="d3modcfg_btn icon d3color-blue">
|
|
<button type="submit" {{ readonly }}>
|
|
<i class="fas fa-question-circle fa-inverse"></i>{{ translate({ ident: "D3_CFG_LIB_GETLIBLIST" }) }}
|
|
</button>
|
|
</span>
|
|
<br>
|
|
</form>
|
|
{% endif %}
|
|
{% if oView.hasConnectionError() %}
|
|
<script type="text/javascript">alert('{{ translate({ ident: "D3_CFG_LIB_CONNECTERROR" }) }}');</script>
|
|
{% endif %}
|
|
</fieldset>
|
|
</td>
|
|
<tr>
|
|
</table>
|
|
|
|
{% if oView.showNoUpdateMessage() %}
|
|
<script type="text/javascript">
|
|
alert('{{ translate({ ident: "D3_CFG_LIB_NOINSTALLNOTICE" }) }}');
|
|
</script>
|
|
{% endif %}
|
|
|
|
{% include "@d3modcfg_lib/admin/inc/inc.html.twig" %}
|
|
|
|
{% include "bottomitem.html.twig" %}
|