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',
|
||||
array('notificationtemplates_types' => true));
|
||||
|
||||
//Classes for rulesengine
|
||||
Plugin::registerClass('PluginExampleRuleTest');
|
||||
Plugin::registerClass('PluginExampleRuleTestCollection',array('rulecollections_types'=>true));
|
||||
|
||||
// Display a menu entry ?
|
||||
if (isset($_SESSION["glpi_plugin_example_profile"])) { // Right set in change_profile hook
|
||||
$PLUGIN_HOOKS['menu_entry']['example'] = 'front/example.php';
|
||||
|
Loading…
x
Reference in New Issue
Block a user