ModCfg/views/twig/admin/configuration/status.html.twig

665 lines
44 KiB
Twig
Raw Normal View History

2024-02-09 18:33:48 +01:00
{% 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'>
2024-04-19 16:15:46 +02:00
<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 }}>
2024-02-09 18:33:48 +01:00
{% 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">
2024-04-19 16:15:46 +02:00
<button type="submit" name="save" {{ readonly }}>
2024-02-09 18:33:48 +01:00
<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()) %}
2024-04-19 16:15:46 +02:00
<button type="button" onClick="showLicForm('{{ sKey }}', '{{ licFrameUrl|escape("url") }}'); return false;" {{ readonly }}>
2024-02-09 18:33:48 +01:00
<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;">
2024-04-19 16:15:46 +02:00
<button type="button" onClick="getDetails('{{ sKey }}__licinfo', 'block', true); return false;" {{ readonly }}>
2024-02-09 18:33:48 +01:00
<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')) %}
2024-06-26 13:49:30 +02:00
{% set updateicon = "fas fa-question-circle d3fa-17x d3fa-color-disabled" %}
{% set icondesc = "" %}
2024-02-09 18:33:48 +01:00
<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">
2024-04-19 16:15:46 +02:00
<button type="submit" {{ readonly }}>
2024-02-09 18:33:48 +01:00
<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" %}