diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 952ac0f902e..f706abec464 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -1265,7 +1265,7 @@ if ($mode == 'marketplace') { // Marketplace print ''."\n"; $url = 'https://www.dolistore.com'; - print ''; + print ''; print ''.$langs->trans("DoliStoreDesc").'
'; print img_picto('', 'url', 'class="pictofixedwidth"').''.$url.''; print ''; @@ -1279,7 +1279,7 @@ if ($mode == 'marketplace') { } $messagetoadd .= '
Using Shop address MAIN_MODULE_DOLISTORE_SHOP_URL = '.$remotestore->shop_url; - $messagetoadd .= '
Using Remote API addtess MAIN_MODULE_DOLISTORE_API_URL = '.$remotestore->dolistore_api_url; + $messagetoadd .= '
Using Remote API address MAIN_MODULE_DOLISTORE_API_URL = '.$remotestore->dolistore_api_url; $messagetoadd .= '
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 ''."\n"; $url = 'https://github.com/Dolibarr/dolibarr-community-modules'; - print ''; + print ''; print ''.$langs->trans("CommunityModulesDesc").'
'; print img_picto('', 'url', 'class="pictofixedwidth"').''.$url.''; print ''; diff --git a/htdocs/admin/remotestore/class/externalModules.class.php b/htdocs/admin/remotestore/class/externalModules.class.php index e43873dbc4a..cc59070fa43 100644 --- a/htdocs/admin/remotestore/class/externalModules.class.php +++ b/htdocs/admin/remotestore/class/externalModules.class.php @@ -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 = 'trans('Version').' '.$product["module_version"]).'">'; $images .= ''; } else { - $images = ''; + $images = ''; } // 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 = ''.$langs->trans( 'CompatibleUpTo', - $product["dolibarr_max"], - $product["dolibarr_min"], - $product["dolibarr_max"] + $dolibarrversiontouse, + (float) $product["dolibarr_min"], + (float) $product["dolibarr_max"] ).''; $compatible = ''; } else { - //never compatible, module expired + // never compatible, module expired $version = ''.$langs->trans( 'NotCompatible', $dolibarrversiontouse, + (float) $product["dolibarr_min"], + (float) $product["dolibarr_max"] + ).''; + $compatible = 'NotCompatible'; + } + } else { + if ($product["dolibarr_min"] == 'auto' || $product["dolibarr_min"] != 'unknown') { + // never compatible, module expired + $version = ''.$langs->trans( + 'NotCompatible', + $dolibarrversiontouse, + (float) $product["dolibarr_min"], + (float) $product["dolibarr_max"] + ).''; + $compatible = 'NotCompatible'; + } else { + //need update + $version = ''.$langs->trans( + 'CompatibleAfterUpdate', + $dolibarrversiontouse, $product["dolibarr_min"], $product["dolibarr_max"] ).''; $compatible = 'NotCompatible'; } - } else { - //need update - $version = ''.$langs->trans( - 'CompatibleAfterUpdate', - $dolibarrversiontouse, - $product["dolibarr_min"], - $product["dolibarr_max"] - ).''; - $compatible = 'NotCompatible'; } - //output template - $html .= ''; - $html .= '
'; + // Output the line + $html .= ''; + $html .= '
'; $html .= $newapp.$images; // No dol_escape_htmltag, it is already escape html $html .= '
'; $html .= '

'; @@ -485,7 +496,7 @@ class ExternalModules if (empty($product['tms'])) { $html .= ''.$langs->trans("DateCreation").': '.$langs->trans("Unknown").''; } else { - $html .= dol_print_date(dol_stringtotime($product['tms']), 'day'); + $html .= ''.dol_print_date(dol_stringtotime($product['tms']), 'day').''; } $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']), diff --git a/htdocs/admin/remotestore/css/store.css b/htdocs/admin/remotestore/css/store.css index 441bd3a7379..28fe838bde5 100644 --- a/htdocs/admin/remotestore/css/store.css +++ b/htdocs/admin/remotestore/css/store.css @@ -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; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 64690a7e6c1..28e57c05a5a 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -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 www.dolistore.com 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: %s. 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.
Note: since Dolibarr is an open source application, anyone 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... diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 79e769f8e09..1bcbd27c910 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -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 : %s 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.
Remarque: Dolibarr étant une application Open Source, toute société 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... diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php index c430c572d3c..d4a22225462 100644 --- a/htdocs/takepos/admin/terminal.php +++ b/htdocs/takepos/admin/terminal.php @@ -334,7 +334,7 @@ if (isModEnabled('stock')) { if (!$disabled) { print ''; } - if (!getDolGlobalString('CASHDESK_ID_WAREHOUSE'.$terminal)) { + if (!$disabled && !getDolGlobalString('CASHDESK_ID_WAREHOUSE'.$terminal)) { print img_warning($langs->trans("DisableStockChange").' - '.$langs->trans("NoWarehouseDefinedForTerminal")); } print ''; // Force warehouse (this is not a default value) diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 9b6172215e6..d8bde78df73 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -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; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index afebf8d85a3..0aaf34e66e0 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -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; }