Debug v22 link with dolistore

This commit is contained in:
ldestailleur
2025-04-15 16:55:35 +02:00
parent bb61fd0537
commit f0bd86c8a4
8 changed files with 47 additions and 39 deletions

View File

@@ -1265,7 +1265,7 @@ if ($mode == 'marketplace') {
// Marketplace
print '<tr class="oddeven">'."\n";
$url = 'https://www.dolistore.com';
print '<td class="hideonsmartphone center"><a href="'.$url.'" target="_blank" rel="noopener noreferrer external"><img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolistore_logo.svg"></a></td>';
print '<td class="hideonsmartphone center width150 nopaddingleftimp nopaddingrightimp"><a href="'.$url.'" target="_blank" rel="noopener noreferrer external"><img border="0" class="imgautosize imgmaxwidth100" src="'.DOL_URL_ROOT.'/theme/dolistore_logo.svg"></a></td>';
print '<td><span class="opacitymedium">'.$langs->trans("DoliStoreDesc").'</span><br>';
print img_picto('', 'url', 'class="pictofixedwidth"').'<a href="'.$url.'" target="_blank" rel="noopener noreferrer external">'.$url.'</a></td>';
print '<td>';
@@ -1279,7 +1279,7 @@ if ($mode == 'marketplace') {
}
$messagetoadd .= '<br>Using Shop address MAIN_MODULE_DOLISTORE_SHOP_URL = '.$remotestore->shop_url;
$messagetoadd .= '<br>Using Remote API addtess MAIN_MODULE_DOLISTORE_API_URL = '.$remotestore->dolistore_api_url;
$messagetoadd .= '<br>Using Remote API address MAIN_MODULE_DOLISTORE_API_URL = '.$remotestore->dolistore_api_url;
$messagetoadd .= '<br>Using API public key MAIN_MODULE_DOLISTORE_API_KEY = '.$remotestore->dolistore_api_key;
// Add basic auth if needed
$basicAuthLogin = getDolGlobalString('MAIN_MODULE_DOLISTORE_BASIC_LOGIN');
@@ -1297,7 +1297,7 @@ if ($mode == 'marketplace') {
// Community
print '<tr class="oddeven">'."\n";
$url = 'https://github.com/Dolibarr/dolibarr-community-modules';
print '<td class="hideonsmartphone center"><a href="'.$url.'" target="_blank" rel="noopener noreferrer external"><img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolibarr_logo.svg"></a></td>';
print '<td class="hideonsmartphone center width150 nopaddingleftimp nopaddingrightimp"><a href="'.$url.'" target="_blank" rel="noopener noreferrer external"><img border="0" class="imgautosize imgmaxwidth100" src="'.DOL_URL_ROOT.'/theme/dolibarr_logo.svg"></a></td>';
print '<td><span class="opacitymedium">'.$langs->trans("CommunityModulesDesc").'</span><br>';
print img_picto('', 'url', 'class="pictofixedwidth"').'<a href="'.$url.'" target="_blank" rel="noopener noreferrer external">'.$url.'</a></td>';
print '<td>';

View File

@@ -404,11 +404,11 @@ class ExternalModules
}
// add image or default ?
if ($product["cover_photo_url"] != '') {
if ($product["cover_photo_url"] != '' && $product["cover_photo_url"] != '#') {
$images = '<a href="'.$product["cover_photo_url"].'" class="documentpreview" target="_blank" rel="noopener noreferrer" mime="image/png" title="'.dol_escape_htmltag($product["label"].', '.$langs->trans('Version').' '.$product["module_version"]).'">';
$images .= '<img class="imgstore" src="'.$product["cover_photo_url"].'" alt="" /></a>';
} else {
$images = '<img class="imgstore" src="'.DOL_URL_ROOT.'/admin/dolistore/img/NoImageAvailable.png" />';
$images = '<img class="imgstore" src="'.DOL_URL_ROOT.'/public/theme/common/nophoto.png" />';
}
// free or pay ?
@@ -441,39 +441,50 @@ class ExternalModules
// Set and check version
$version = '';
if ($this->version_compare($product["dolibarr_min"], $dolibarrversiontouse) <= 0) {
if ($this->version_compare($product["dolibarr_max"], $dolibarrversiontouse) >= 0) {
if (!empty($product["dolibarr_max"]) && $product["dolibarr_max"] != 'auto' && $product["dolibarr_max"] != 'unknown' && $this->version_compare($product["dolibarr_max"], $dolibarrversiontouse) >= 0) {
//compatible
$version = '<span class="compatible">'.$langs->trans(
'CompatibleUpTo',
$product["dolibarr_max"],
$product["dolibarr_min"],
$product["dolibarr_max"]
$dolibarrversiontouse,
(float) $product["dolibarr_min"],
(float) $product["dolibarr_max"]
).'</span>';
$compatible = '';
} else {
//never compatible, module expired
// never compatible, module expired
$version = '<span class="notcompatible">'.$langs->trans(
'NotCompatible',
$dolibarrversiontouse,
(float) $product["dolibarr_min"],
(float) $product["dolibarr_max"]
).'</span>';
$compatible = 'NotCompatible';
}
} else {
if ($product["dolibarr_min"] == 'auto' || $product["dolibarr_min"] != 'unknown') {
// never compatible, module expired
$version = '<span class="notcompatible">'.$langs->trans(
'NotCompatible',
$dolibarrversiontouse,
(float) $product["dolibarr_min"],
(float) $product["dolibarr_max"]
).'</span>';
$compatible = 'NotCompatible';
} else {
//need update
$version = '<span class="compatibleafterupdate">'.$langs->trans(
'CompatibleAfterUpdate',
$dolibarrversiontouse,
$product["dolibarr_min"],
$product["dolibarr_max"]
).'</span>';
$compatible = 'NotCompatible';
}
} else {
//need update
$version = '<span class="compatibleafterupdate">'.$langs->trans(
'CompatibleAfterUpdate',
$dolibarrversiontouse,
$product["dolibarr_min"],
$product["dolibarr_max"]
).'</span>';
$compatible = 'NotCompatible';
}
//output template
$html .= '<tr class="app oddeven '.dol_escape_htmltag($compatible).'">';
$html .= '<td class="center" width="160"><div class="newAppParent">';
// Output the line
$html .= '<tr class="app oddeven nohover '.dol_escape_htmltag($compatible).'">';
$html .= '<td class="center width150"><div class="newAppParent">';
$html .= $newapp.$images; // No dol_escape_htmltag, it is already escape html
$html .= '</div></td>';
$html .= '<td class="margeCote"><h2 class="appTitle">';
@@ -485,7 +496,7 @@ class ExternalModules
if (empty($product['tms'])) {
$html .= '<span class="opacitymedium">'.$langs->trans("DateCreation").': '.$langs->trans("Unknown").'</span>';
} else {
$html .= dol_print_date(dol_stringtotime($product['tms']), 'day');
$html .= '<span class="opacitymedium">'.dol_print_date(dol_stringtotime($product['tms']), 'day').'</span>';
}
$html .= ' - '.$langs->trans('Ref').' '.dol_escape_htmltag($product["ref"]);
//$html .= ' - '.dol_escape_htmltag($langs->trans('Id')).': '.((int) $product["id"]);
@@ -865,7 +876,7 @@ class ExternalModules
continue;
}
$adaptedPackage = [
'ref' => str_replace(' ', '', $package['author'].'@'.$package['modulename'].'@'.$package['current_version']),
'ref' => str_replace(' ', '', $package['modulename'].'@'.$package['current_version'].'@'.$package['author']),
'label' => !empty($package['label'][substr($this->lang, 0, 2)])
? $package['label'][substr($this->lang, 0, 2)]
: (!empty($package['label']['en']) ? $package['label']['en'] : $package['modulename']),

View File

@@ -3,9 +3,9 @@ table#list_of_modules {
border-spacing: 0px;
}
.imgstore {
max-height:150px;
max-width: 150px;
box-shadow: 5px 5px 20px #ddd;
max-height:120px;
max-width: 120px;
box-shadow: 3px 3px 20px #ddd;
}
div.divsearchfield {
@@ -86,7 +86,8 @@ div.divsearchfield {
.newAppParent{
position: relative;
overflow: hidden;
min-height: 100px;
padding: 10px;
/* min-height: 100px; */
}
.newApp, .updatedApp{
background-color: orange;
@@ -115,14 +116,7 @@ div.divsearchfield {
color: orange;
}
.compatible {
background-image: url("../img/compatible.png");
background-position: left center;
background-repeat: no-repeat;
color: green;
display: inline-block;
height: 32px;
line-height: 32px;
padding-left: 35px;
}
tr.app {
height: 200px;

View File

@@ -4,6 +4,7 @@ BoldLabelOnPDF=Print label of product item in Bold in PDF
Foundation=Foundation
Version=Version
Publisher=Publisher
Provider=Provider
VersionProgram=Version program
VersionLastInstall=Initial install version
VersionLastUpgrade=Latest version upgrade
@@ -223,7 +224,7 @@ ModulesDevelopYourModule=Develop your own app/modules
ModulesDevelopDesc=You may also develop your own module or find a partner to develop one for you.
DOLISTOREdescriptionLong=Instead of switching on <a href="https://www.dolistore.com">www.dolistore.com</a> web site to find an external module, you can use this embedded tool that will perform the search on the external market place and dolibarr-community-modules repository for you (may be slow, need an internet access)...
FreeModule=Free
CompatibleUpTo=Compatible with version %s
CompatibleUpTo=Compatible with version %s (Min %s - Max %s).
NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s).
CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s).
SeeInMarkerPlace=See in Market place
@@ -235,7 +236,7 @@ Updated=Updated
AchatTelechargement=Buy / Download
GoModuleSetupArea=To deploy/install a new module, go to the Module setup area: <a href="%s">%s</a>.
DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules
CommunityModulesDesc=Dolibarr community modules repository. This repository contains all community modules for Dolibarr ERP CRM.
CommunityModulesDesc=Dolibarr community modules repository. This repository contains some modules for Dolibarr ERP CRM referenced on the community repository.
DoliPartnersDesc=List of companies providing custom-developed modules or features.<br>Note: since Dolibarr is an open source application, <i>anyone</i> experienced in PHP programming should be able to develop a module.
WebSiteDesc=External websites for more add-on (non-core) modules...
DevelopYourModuleDesc=Some solutions to develop your own module...

View File

@@ -234,7 +234,7 @@ Updated=Mise à jour effectuée
AchatTelechargement=Acheter/télécharger
GoModuleSetupArea=Pour déployer/installer un nouveau module, rendez vous dans la zone de configuration des modules : <a href="%s">%s</a>
DoliStoreDesc=DoliStore, la place de marché officielle des modules et extensions complémentaires pour Dolibarr ERP/CRM
CommunityModulesDesc=dolibarr-community-modules, This repository contains all community modules for Dolibarr ERP CRM.
CommunityModulesDesc=Dolibarr community modules repository. This repository contains some modules for Dolibarr ERP CRM referenced on the community repository.
DoliPartnersDesc=Liste de quelques sociétés qui peuvent fournir/développer des modules ou fonctions sur mesure. <br>Remarque: Dolibarr étant une application Open Source, <i>toute société</i> connaissant le langage PHP peut fournir du développement spécifique.
WebSiteDesc=Sites fournisseurs à consulter pour trouver plus de modules (extensions)...
DevelopYourModuleDesc=Quelques pistes pour développer votre propre module/application...

View File

@@ -334,7 +334,7 @@ if (isModEnabled('stock')) {
if (!$disabled) {
print '</span>';
}
if (!getDolGlobalString('CASHDESK_ID_WAREHOUSE'.$terminal)) {
if (!$disabled && !getDolGlobalString('CASHDESK_ID_WAREHOUSE'.$terminal)) {
print img_warning($langs->trans("DisableStockChange").' - '.$langs->trans("NoWarehouseDefinedForTerminal"));
}
print '</td>'; // Force warehouse (this is not a default value)

View File

@@ -2039,6 +2039,7 @@ maxscreenheightless200 {
.titlefield { /* width: 25%; */ min-width: 150px; width: 25%; }
.titlefieldmiddle { width: 45%; }
.titlefieldmax45 { max-width: 45%; min-width: 180px; }
.imgmaxwidth100 { max-width: 100px; }
.imgmaxwidth180 { max-width: 180px; }
.imgmaxheight50 { max-height: 50px; }

View File

@@ -2179,6 +2179,7 @@ tr.nobottom td {
.titlefield { /* width: 25%; */ min-width: 150px; width: 25%; }
.titlefieldmiddle { width: 50%; }
.titlefieldmax45 { max-width: 45%; min-width: 180px; }
.imgmaxwidth100 { max-width: 100px; }
.imgmaxwidth180 { max-width: 180px; }
.imgmaxheight50 { max-height: 50px; }