16.0 - Proposal for trigger prefix consistency: instead of adding missing prefix, check that trigger starts with declared prefix

This commit is contained in:
atm-florian 2022-04-04 10:00:10 +02:00
parent 96c432566d
commit 563716b633

View File

@ -1988,10 +1988,6 @@ abstract class CommonObject
$result = $this->fetchCommon($id);
}
if ($result >= 0) {
if (!empty(self::TRIGGER_PREFIX) && strpos($trigkey, self::TRIGGER_PREFIX) !== 0) {
$trigkey = self::TRIGGER_PREFIX . '_' . $trigkey;
}
$result = $this->call_trigger($trigkey, (!empty($fuser) && is_object($fuser)) ? $fuser : $user); // This may set this->errors
}
if ($result < 0) {
@ -4274,9 +4270,6 @@ abstract class CommonObject
if ($trigkey) {
// Call trigger
if (!empty(self::TRIGGER_PREFIX) && strpos($trigkey, self::TRIGGER_PREFIX) !== 0) {
$trigkey = self::TRIGGER_PREFIX . '_' . $trigkey;
}
$result = $this->call_trigger($trigkey, $user);
if ($result < 0) {
$error++;
@ -5610,9 +5603,8 @@ abstract class CommonObject
{
// phpcs:enable
global $langs, $conf;
if (!empty(self::TRIGGER_PREFIX) && strpos($triggerName, self::TRIGGER_PREFIX) !== 0) {
$triggerName = self::TRIGGER_PREFIX . '_' . $triggerName;
if (!empty(self::TRIGGER_PREFIX) && strpos($triggerName, self::TRIGGER_PREFIX . '_') !== 0) {
throw new Exception('The trigger "' . $triggerName . '" does not start with "' . self::TRIGGER_PREFIX . '_" as required.');
}
if (!is_object($langs)) { // If lang was not defined, we set it. It is required by run_triggers.
include_once DOL_DOCUMENT_ROOT.'/core/class/translate.class.php';
@ -6201,9 +6193,6 @@ abstract class CommonObject
if (!$error && $trigger) {
// Call trigger
$this->context = array('extrafieldaddupdate'=>1);
if (!empty(self::TRIGGER_PREFIX) && strpos($trigger, self::TRIGGER_PREFIX) !== 0) {
$trigger = self::TRIGGER_PREFIX . '_' . $trigger;
}
$result = $this->call_trigger($trigger, $userused);
if ($result < 0) {
$error++;
@ -6322,9 +6311,6 @@ abstract class CommonObject
if (!$error && $trigger) {
// Call trigger
$this->context = array('extralanguagesaddupdate'=>1);
if (!empty(self::TRIGGER_PREFIX) && strpos($trigger, self::TRIGGER_PREFIX) !== 0) {
$trigger = self::TRIGGER_PREFIX . '_' . $trigger;
}
$result = $this->call_trigger($trigger, $userused);
if ($result < 0) {
$error++;
@ -6523,10 +6509,6 @@ abstract class CommonObject
if (!$error && $trigger) {
// Call trigger
$this->context = array('extrafieldupdate'=>1);
if (!empty(self::TRIGGER_PREFIX) && strpos($trigger, self::TRIGGER_PREFIX) !== 0) {
$trigger = self::TRIGGER_PREFIX . '_' . $trigger;
}
$result = $this->call_trigger($trigger, $userused);
if ($result < 0) {
$error++;
@ -9447,10 +9429,6 @@ abstract class CommonObject
if (!$error && !$notrigger) {
// Call trigger
if (!empty(self::TRIGGER_PREFIX) && strpos($triggercode, self::TRIGGER_PREFIX) !== 0) {
$triggercode = self::TRIGGER_PREFIX . '_' . $triggercode;
}
$result = $this->call_trigger($triggercode, $user);
if ($result < 0) {
$error++;