mirror of
https://github.com/pluginsGLPI/example.git
synced 2025-05-04 18:08:42 +02:00
Add files & declarations for rules engine integration
git-svn-id: https://forge.glpi-project.org/svn/example/trunk@143 349b9182-4a13-0410-896f-e5e9767dd1b3
This commit is contained in:
parent
a8f6e5aade
commit
b746815f03
47
ajax/ruletest.tabs.php
Executable file
47
ajax/ruletest.tabs.php
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
// Original Author of file: Julien Dombre
|
||||||
|
// Purpose of file:
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
define('GLPI_ROOT', '../../..');
|
||||||
|
include (GLPI_ROOT . "/inc/includes.php");
|
||||||
|
|
||||||
|
header("Content-Type: text/html; charset=UTF-8");
|
||||||
|
header_nocache();
|
||||||
|
|
||||||
|
checkRight('rule_ocs', 'r');
|
||||||
|
|
||||||
|
$rule = new PluginExampleRuleTest();
|
||||||
|
include ("../../../ajax/rule.common.tabs.php");
|
||||||
|
|
||||||
|
?>
|
62
front/popup.php
Normal file
62
front/popup.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
define('GLPI_ROOT', '../../..');
|
||||||
|
include (GLPI_ROOT . "/inc/includes.php");
|
||||||
|
|
||||||
|
checkLoginUser();
|
||||||
|
|
||||||
|
if (isset($_GET["popup"])) {
|
||||||
|
$_SESSION["glpipopup"]["name"] = $_GET["popup"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_SESSION["glpipopup"]["name"])) {
|
||||||
|
switch ($_SESSION["glpipopup"]["name"]) {
|
||||||
|
case "test_rule" :
|
||||||
|
popHeader($LANG['buttons'][50],$_SERVER['PHP_SELF']);
|
||||||
|
include "../../../front/rule.test.php";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "test_all_rules" :
|
||||||
|
popHeader($LANG['rulesengine'][84],$_SERVER['PHP_SELF']);
|
||||||
|
include "../../../front/rulesengine.test.php";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "show_cache" :
|
||||||
|
popHeader($LANG['rulesengine'][100],$_SERVER['PHP_SELF']);
|
||||||
|
include "../../../front/rule.cache.php";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
echo "<div class='center'><br><a href='javascript:window.close()'>".$LANG['buttons'][13]."</a>";
|
||||||
|
echo "</div>";
|
||||||
|
popFooter();
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
43
front/ruletest.form.php
Normal file
43
front/ruletest.form.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
// Original Author of file: Walid Nouh
|
||||||
|
// Purpose of file:
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
define('GLPI_ROOT', '../../..');
|
||||||
|
include (GLPI_ROOT . "/inc/includes.php");
|
||||||
|
|
||||||
|
$rulecollection = new PluginExampleRuleTestCollection();
|
||||||
|
|
||||||
|
include (GLPI_ROOT . "/front/rule.common.form.php");
|
||||||
|
?>
|
43
front/ruletest.php
Normal file
43
front/ruletest.php
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
// Original Author of file: Walid Nouh
|
||||||
|
// Purpose of file:
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
define('GLPI_ROOT', '../../..');
|
||||||
|
include (GLPI_ROOT . "/inc/includes.php");
|
||||||
|
|
||||||
|
$rulecollection = new PluginExampleRuleTestCollection();
|
||||||
|
|
||||||
|
include (GLPI_ROOT . "/front/rule.common.php");
|
||||||
|
?>
|
83
inc/ruletest.class.php
Normal file
83
inc/ruletest.class.php
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
// Original Author of file: Walid Nouh
|
||||||
|
// Purpose of file:
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
if (!defined('GLPI_ROOT')) {
|
||||||
|
die("Sorry. You can't access directly to this file");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rule class store all informations about a GLPI rule :
|
||||||
|
* - description
|
||||||
|
* - criterias
|
||||||
|
* - actions
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
class PluginExampleRuleTest extends Rule {
|
||||||
|
|
||||||
|
// From Rule
|
||||||
|
public $right='rule_ocs';
|
||||||
|
public $can_sort=true;
|
||||||
|
|
||||||
|
function getTitle() {
|
||||||
|
global $LANG;
|
||||||
|
|
||||||
|
return 'test';
|
||||||
|
}
|
||||||
|
|
||||||
|
function maxActionsCount() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCriterias() {
|
||||||
|
global $LANG;
|
||||||
|
$criterias = array();
|
||||||
|
$criterias['name']['field'] = 'name';
|
||||||
|
$criterias['name']['name'] = $LANG['help'][31];
|
||||||
|
$criterias['name']['table'] = 'glpi_softwares';
|
||||||
|
|
||||||
|
return $criterias;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getActions() {
|
||||||
|
global $LANG;
|
||||||
|
$actions = array();
|
||||||
|
$actions['softwarecategories_id']['name'] = $LANG['common'][36];
|
||||||
|
$actions['softwarecategories_id']['type'] = 'dropdown';
|
||||||
|
$actions['softwarecategories_id']['table'] = 'glpi_softwarecategories';
|
||||||
|
return $actions;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
54
inc/ruletestcollection.class.php
Normal file
54
inc/ruletestcollection.class.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* @version $Id$
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
GLPI - Gestionnaire Libre de Parc Informatique
|
||||||
|
Copyright (C) 2003-2010 by the INDEPNET Development Team.
|
||||||
|
|
||||||
|
http://indepnet.net/ http://glpi-project.org
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
LICENSE
|
||||||
|
|
||||||
|
This file is part of GLPI.
|
||||||
|
|
||||||
|
GLPI 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.
|
||||||
|
|
||||||
|
GLPI 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 GLPI; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
// Original Author of file: Walid Nouh
|
||||||
|
// Purpose of file:
|
||||||
|
// ----------------------------------------------------------------------
|
||||||
|
if (!defined('GLPI_ROOT')) {
|
||||||
|
die("Sorry. You can't access directly to this file");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class PluginExampleRuleTestCollection extends RuleCollection {
|
||||||
|
|
||||||
|
// From RuleCollection
|
||||||
|
public $stop_on_first_match=true;
|
||||||
|
public $right='rule_ocs';
|
||||||
|
public $menu_option='test';
|
||||||
|
|
||||||
|
function getTitle() {
|
||||||
|
global $LANG;
|
||||||
|
|
||||||
|
return 'Rulesengine test';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@ -49,6 +49,10 @@ function plugin_init_example() {
|
|||||||
Plugin::registerClass('PluginExampleExample',
|
Plugin::registerClass('PluginExampleExample',
|
||||||
array('notificationtemplates_types' => true));
|
array('notificationtemplates_types' => true));
|
||||||
|
|
||||||
|
//Classes for rulesengine
|
||||||
|
Plugin::registerClass('PluginExampleRuleTest');
|
||||||
|
Plugin::registerClass('PluginExampleRuleTestCollection',array('rulecollections_types'=>true));
|
||||||
|
|
||||||
// Display a menu entry ?
|
// Display a menu entry ?
|
||||||
if (isset($_SESSION["glpi_plugin_example_profile"])) { // Right set in change_profile hook
|
if (isset($_SESSION["glpi_plugin_example_profile"])) { // Right set in change_profile hook
|
||||||
$PLUGIN_HOOKS['menu_entry']['example'] = 'front/example.php';
|
$PLUGIN_HOOKS['menu_entry']['example'] = 'front/example.php';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user