* * 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 2 of the License, or * (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 * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ */ /** \file htdocs/admin/triggers.php \brief Page de configuration et activation des triggers \version $Revision$ */ require("./pre.inc.php"); if (!$user->admin) accessforbidden(); if ($_GET["action"] == 'set' && $user->admin) { Activate($_GET["value"]); Header("Location: modules.php?spe=".$_GET["spe"]); exit; } if ($_GET["action"] == 'reset' && $user->admin) { UnActivate($_GET["value"]); Header("Location: modules.php?spe=".$_GET["spe"]); exit; } /** \brief Active un module \param value Nom du module a activer */ function Activate($value) { global $db, $modules; $modName = $value; // Activation du module if ($modName) { $file = $modName . ".class.php"; include_once("../includes/modules/$file"); $objMod = new $modName($db); $objMod->init(); } // Activation des modules dont le module dépend for ($i = 0; $i < sizeof($objMod->depends); $i++) { Activate($objMod->depends[$i]); } } /** \brief Désactive un module \param value Nom du module a désactiver */ function UnActivate($value) { global $db, $modules; $modName = $value; // Desactivation du module if ($modName) { $file = $modName . ".class.php"; include_once("../includes/modules/$file"); $objMod = new $modName($db); $objMod->remove(); } // Desactivation des modules qui dependent de lui for ($i = 0; $i < sizeof($objMod->requiredby); $i++) { UnActivate($objMod->requiredby[$i]); } Header("Location: modules.php"); exit; } llxHeader("",""); print_fiche_titre($langs->trans("TriggersAvailable"),'','setup'); print $langs->trans("TriggersDesc")."
"; print "
\n"; print "\n"; print "\n"; print " \n"; print " \n"; print " \n"; print " \n"; //print " \n"; print " \n"; print "\n"; $dir = DOL_DOCUMENT_ROOT . "/includes/triggers/"; $handle=opendir($dir); $files = array(); $modules = array(); $orders = array(); $i = 0; while (($file = readdir($handle))!==false) { if (is_readable($dir.$file) && ereg('^interface_(.*)\.class\.php',$file,$reg)) { $modName = 'Interface'.ucfirst($reg[1]); if ($modName) { if (in_array($modName,$modules)) { $langs->load("errors"); print '
'.$langs->trans("Error").' : '.$langs->trans("ErrorDuplicateTrigger",$modName,"/htdocs/includes/triggers/").'
'; $objMod = new $modName($db); $modules[$i] = $modName; $files[$i] = $file; $orders[$i] = "$objMod->family"; // Tri par famille $i++; } else { include_once($dir.$file); $objMod = new $modName($db); $modules[$i] = $modName; $files[$i] = $file; $orders[$i] = "$objMod->family"; // Tri par famille $i++; } } } } asort($orders); $var=True; foreach ($orders as $key => $value) { $tab=split('_',$value); $family=$tab[0]; $numero=$tab[1]; $modName = $modules[$key]; if ($modName) { $objMod = new $modName($db); } $const_name = $objMod->const_name; $var=!$var; print "\n"; print ''; print '\n"; print '\n"; print "\n"; // \todo Activation trigger print "\n"; /* print "\n"; } else { // Module non actif print "numero."&action=set&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Activate") . "\n"; } */ print "\n"; print "\n"; } print "
".$langs->trans("File")."".$langs->trans("Description")."".$langs->trans("Version")."".$langs->trans("Activated")."".$langs->trans("Action")." 
'; print $objMod->picto?img_object('',$objMod->picto):img_object('','generic'); print ''.$files[$key]."'.$objMod->getDesc()."".$objMod->getVersion().""; $statut_trigger=1; if (eregi('NORUN$',$files[$key])) $statut_trigger=0; if ($statut_trigger == 1) { print img_tick(); } else { print " "; } print ""; if ($const_value == 1) { // Module actif print "numero."&action=reset&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Disable") . " 
\n"; llxFooter('$Date$ - $Revision$'); ?>