Fix in the way markdown README and ChangeLog are output on module page.

This commit is contained in:
Laurent Destailleur
2017-06-24 16:01:18 +02:00
parent 1eee7297dc
commit b0c5616ff0
2 changed files with 79 additions and 15 deletions

View File

@@ -225,20 +225,6 @@ asort($orders);
//var_dump($modules);
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/modulehelp.php?id=".$id.'&mode=desc';
$head[$h][1] = $langs->trans("Description");
$head[$h][2] = 'desc';
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/modulehelp.php?id=".$id.'&mode=feature';
$head[$h][1] = $langs->trans("TechnicalServicesProvided");
$head[$h][2] = 'feature';
$h++;
$i=0;
foreach($orders as $tmpkey => $tmpvalue)
{
@@ -257,6 +243,28 @@ $special = $objMod->special;
$tab=explode('_',$value);
$familyposition=$tab[0]; $familykey=$tab[1]; $module_position=$tab[2]; $numero=$tab[3];
$h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/modulehelp.php?id=".$id.'&mode=desc';
$head[$h][1] = $langs->trans("Description");
$head[$h][2] = 'desc';
$h++;
$head[$h][0] = DOL_URL_ROOT."/admin/modulehelp.php?id=".$id.'&mode=feature';
$head[$h][1] = $langs->trans("TechnicalServicesProvided");
$head[$h][2] = 'feature';
$h++;
if ($objMod->isCoreOrExternalModule() == 'external')
{
$head[$h][0] = DOL_URL_ROOT."/admin/modulehelp.php?id=".$id.'&mode=changelog';
$head[$h][1] = $langs->trans("ChangeLog");
$head[$h][2] = 'changelog';
$h++;
}
// Check filters
$modulename=$objMod->getName();
$moduledesc=$objMod->getDesc();
@@ -536,6 +544,13 @@ if ($mode == 'feature')
}
if ($mode == 'changelog')
{
$changelog=$objMod->getChangeLog();
if ($changelog) $text.='<div class="moduledesclong">'.$changelog.'<div>';
else $text.='<div class="moduledesclong">'.$langs->trans("NotAvailable").'</div>';
}
print $text;

View File

@@ -652,7 +652,7 @@ class DolibarrModules // Can not be abstract, because we need to insta
if ((float) DOL_VERSION >= 6.0)
{
@include_once DOL_DOCUMENT_ROOT.'/core/lib/parsemd.lib.php';
$content = dolMd2Html($content, 'parsedown', array('doc/'=>dol_buildpath('cabinetmed/doc/', 1)));
$content = dolMd2Html($content, 'parsedown', array('doc/'=>dol_buildpath(strtolower($this->name).'/doc/', 1)));
}
else
{
@@ -678,6 +678,55 @@ class DolibarrModules // Can not be abstract, because we need to insta
return $content;
}
/**
* Gives the changelog. First check ChangeLog-la_LA.md then ChangeLog.md
*
* @return string Content of ChangeLog
*/
function getChangeLog()
{
global $langs;
$langs->load("admin");
include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
include_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php';
$filefound= false;
// Define path to file README.md.
// First check README-la_LA.md then README.md
$pathoffile = dol_buildpath(strtolower($this->name).'/ChangeLog-'.$langs->defaultlang.'.md', 0);
if (dol_is_file($pathoffile))
{
$filefound = true;
}
if (! $filefound)
{
$pathoffile = dol_buildpath(strtolower($this->name).'/ChangeLog.md', 0);
if (dol_is_file($pathoffile))
{
$filefound = true;
}
}
if ($filefound) // Mostly for external modules
{
$content = file_get_contents($pathoffile);
if ((float) DOL_VERSION >= 6.0)
{
@include_once DOL_DOCUMENT_ROOT.'/core/lib/parsemd.lib.php';
$content = dolMd2Html($content, 'parsedown', array('doc/'=>dol_buildpath(strtolower($this->name).'/doc/', 1)));
}
else
{
$content = nl2br($content);
}
}
return $content;
}
/**
* Gives the publisher name
*