dolibarr/htdocs/core/class/commonobjectline.class.php

62 lines
2.0 KiB
PHP
Raw Normal View History

2008-02-24 18:56:20 +01:00
<?php
/* Copyright (C) 2006-2008 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
2008-02-24 18:56:20 +01:00
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
2011-08-01 01:45:11 +02:00
* along with this program. If not, see <http://www.gnu.org/licenses/>.
2008-02-24 18:56:20 +01:00
*/
/**
2012-08-05 15:00:24 +02:00
* \file htdocs/core/class/commonobjectline.class.php
* \ingroup core
* \brief File of the superclass of classes of lines of business objects (invoice, contract, PROPAL, commands, etc. ...)
2011-06-19 16:35:16 +02:00
*/
2008-02-24 18:56:20 +01:00
/**
2012-08-05 15:00:24 +02:00
* Parent class for class inheritance lines of business objects
* This class is useless for the moment so no inherit are done on it
2011-06-19 16:35:16 +02:00
*/
abstract class CommonObjectLine
2008-02-24 18:56:20 +01:00
{
2014-08-01 08:59:08 +02:00
/**
* Call trigger based on this instance
* NB: Error from trigger are stacked in interface->errors
* NB2: If return code of triggers are < 0, action calling trigger should cancel all transaction.
*
* @param string $trigger_name trigger's name to execute
* @param User $user Object user
* @return int Result of run_triggers
*/
function call_trigger($trigger_name, $user)
{
global $langs,$conf;
2008-02-24 18:56:20 +01:00
2014-08-01 08:59:08 +02:00
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers($trigger_name,$this,$user,$langs,$conf);
if ($result < 0)
{
if (!empty($this->errors))
{
$this->errors=array_merge($this->errors,$interface->errors);
}
else
{
$this->errors=$interface->errors;
}
}
return $result;
}
2008-02-24 18:56:20 +01:00
}