Fix Fatal error with bad triggers

This commit is contained in:
Laurent Destailleur 2020-05-14 15:27:10 +02:00
parent 68512e0281
commit 6ec5dd02b6
4 changed files with 59 additions and 46 deletions

View File

@ -328,8 +328,11 @@ class Interfaces
continue; continue;
} }
try {
$objMod = new $modName($db); $objMod = new $modName($db);
if (is_subclass_of($objMod, 'DolibarrTriggers'))
{
// Define disabledbyname and disabledbymodule // Define disabledbyname and disabledbymodule
$disabledbyname = 0; $disabledbyname = 0;
$disabledbymodule = 1; $disabledbymodule = 1;
@ -371,6 +374,14 @@ class Interfaces
if ($disabledbymodule == 1) $text .= $langs->trans("TriggerActiveAsModuleActive", $module).'<br>'; if ($disabledbymodule == 1) $text .= $langs->trans("TriggerActiveAsModuleActive", $module).'<br>';
if ($disabledbymodule == 2) $text .= $langs->trans("TriggerDisabledAsModuleDisabled", $module).'<br>'; if ($disabledbymodule == 2) $text .= $langs->trans("TriggerDisabledAsModuleDisabled", $module).'<br>';
} }
}
else {
print 'Error: Trigger '.$modName.' does not extends DolibarrTriggers<br>';
}
}
catch(Exception $e) {
print $e->getMessage();
}
$triggers[$j]['info'] = $text; $triggers[$j]['info'] = $text;
$j++; $j++;

View File

@ -2295,9 +2295,11 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
{ {
print img_object($alttext, 'generic', 'class="inline-block valignmiddle"'); print img_object($alttext, 'generic', 'class="inline-block valignmiddle"');
} }
if ($this->isCoreOrExternalModule() == 'external') {
print '<span class="info-box-icon-version" title="'.$langs->trans("Version").' '.$this->getVersion(1).'">'; print '<span class="info-box-icon-version" title="'.$langs->trans("Version").' '.$this->getVersion(1).'">';
print $this->getVersion(1); print $this->getVersion(1);
print '</span>'; print '</span>';
}
/*print '<span class="info-box-icon-action">'; /*print '<span class="info-box-icon-action">';
print '<div class="valignmiddle inline-block">'; print '<div class="valignmiddle inline-block">';
@ -2313,7 +2315,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
print '</div> print '</div>
<div class="info-box-content info-box-text-module"> <div class="info-box-content info-box-text-module">
<span class="info-box-title">'.$this->getName().'</span> <span class="info-box-title marginbottomonly">'.$this->getName().'</span>
<span class="info-box-desc twolinesmax opacitymedium" title="'.dol_escape_htmltag($this->getDesc()).'">'.nl2br($this->getDesc()).'</span>'; <span class="info-box-desc twolinesmax opacitymedium" title="'.dol_escape_htmltag($this->getDesc()).'">'.nl2br($this->getDesc()).'</span>';
/*print '<span class="info-box-icon-version" title="'.$langs->trans("Version").' '.$this->getVersion(1).'">'; /*print '<span class="info-box-icon-version" title="'.$langs->trans("Version").' '.$this->getVersion(1).'">';

View File

@ -33,7 +33,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/triggers/dolibarrtriggers.class.php';
/** /**
* Class of triggers for stripe module * Class of triggers for stripe module
*/ */
class InterfaceStripe class InterfaceStripe extends DolibarrTriggers
{ {
/** /**
* @var DoliDB Database handler. * @var DoliDB Database handler.

View File

@ -8,7 +8,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
*/ */
.info-box-module-external span.info-box-icon-version { .info-box-module-external span.info-box-icon-version {
background: #999; background: #bbb;
} }
.info-box { .info-box {
@ -74,7 +74,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
height: 80px; height: 80px;
width: 80px; width: 80px;
font-size: 25px; font-size: 25px;
line-height: 80px; line-height: 100px;
} }
.info-box-module .info-box-icon { .info-box-module .info-box-icon {
height: 106px; height: 106px;