From c9a7a4f412dc09e9d92a7d1bd018f310f02da068 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Langlois=20Ga=C3=ABtan?=
<64356364+MyvTsv@users.noreply.github.com>
Date: Thu, 19 Dec 2024 22:03:21 +0100
Subject: [PATCH] Add new anonymous page hooks
- ADD_CSS_ANONYMOUS_PAGE
- ADD_JAVASCRIPT_ANONYMOUS_PAGE
- ADD_JAVASCRIPT_MODULE_ANONYMOUS_PAGE
- ADD_HEADER_TAG_ANONYMOUS
---
example_anonymous.css | 29 +++++++++++++++++++++++++++++
example_anonymous.js | 29 +++++++++++++++++++++++++++++
mymodule_anonymous.js | 31 +++++++++++++++++++++++++++++++
setup.php | 25 +++++++++++++++++++++++++
4 files changed, 114 insertions(+)
create mode 100644 example_anonymous.css
create mode 100644 example_anonymous.js
create mode 100644 mymodule_anonymous.js
diff --git a/example_anonymous.css b/example_anonymous.css
new file mode 100644
index 0000000..187753a
--- /dev/null
+++ b/example_anonymous.css
@@ -0,0 +1,29 @@
+/*!
+ * -------------------------------------------------------------------------
+ * Example plugin for GLPI
+ * -------------------------------------------------------------------------
+ *
+ * LICENSE
+ *
+ * This file is part of Example.
+ *
+ * Example 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.
+ *
+ * Example 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 Example. If not, see .
+ * -------------------------------------------------------------------------
+ * @copyright Copyright (C) 2006-2022 by Example plugin team.
+ * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html
+ * @link https://github.com/pluginsGLPI/example
+ * -------------------------------------------------------------------------
+ */
+
+/* empty file */
diff --git a/example_anonymous.js b/example_anonymous.js
new file mode 100644
index 0000000..7aae649
--- /dev/null
+++ b/example_anonymous.js
@@ -0,0 +1,29 @@
+/**
+ * -------------------------------------------------------------------------
+ * Example plugin for GLPI
+ * -------------------------------------------------------------------------
+ *
+ * LICENSE
+ *
+ * This file is part of Example.
+ *
+ * Example 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.
+ *
+ * Example 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 Example. If not, see .
+ * -------------------------------------------------------------------------
+ * @copyright Copyright (C) 2006-2022 by Example plugin team.
+ * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html
+ * @link https://github.com/pluginsGLPI/example
+ * -------------------------------------------------------------------------
+ */
+
+/* empty file */
diff --git a/mymodule_anonymous.js b/mymodule_anonymous.js
new file mode 100644
index 0000000..3bb074c
--- /dev/null
+++ b/mymodule_anonymous.js
@@ -0,0 +1,31 @@
+
+/**
+ * -------------------------------------------------------------------------
+ * Example plugin for GLPI
+ * -------------------------------------------------------------------------
+ *
+ * LICENSE
+ *
+ * This file is part of Example.
+ *
+ * Example 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.
+ *
+ * Example 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 Example. If not, see .
+ * -------------------------------------------------------------------------
+ * @copyright Copyright (C) 2006-2022 by Example plugin team.
+ * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html
+ * @link https://github.com/pluginsGLPI/example
+ * -------------------------------------------------------------------------
+ */
+
+/* empty JS module file */
+export {};
\ No newline at end of file
diff --git a/setup.php b/setup.php
index f80a312..76bce93 100644
--- a/setup.php
+++ b/setup.php
@@ -200,6 +200,31 @@ function plugin_init_example() {
],
];
+ // Add specific files to add to the header into anonymous page : javascript or css
+ $PLUGIN_HOOKS[Hooks::ADD_CSS_ANONYMOUS_PAGE]['example'] = 'example_anonymous.css';
+ $PLUGIN_HOOKS[Hooks::ADD_JAVASCRIPT_MODULE_ANONYMOUS_PAGE]['example'] = 'mymodule_anonymous.js';
+ $PLUGIN_HOOKS[Hooks::ADD_JAVASCRIPT_ANONYMOUS_PAGE]['example'] = 'example_anonymous.js';
+
+ // Add specific tags to the header into anonymous page
+ $PLUGIN_HOOKS[Hooks::ADD_HEADER_TAG_ANONYMOUS_PAGE]['example'] = [
+ [
+ 'tag' => 'meta',
+ 'properties' => [
+ 'name' => 'robots',
+ 'content' => 'noindex, nofollow',
+ ]
+ ],
+ [
+ 'tag' => 'link',
+ 'properties' => [
+ 'rel' => 'alternate',
+ 'type' => 'application/rss+xml',
+ 'title' => 'The company RSS feed',
+ 'href' => 'https://example.org/feed.xml',
+ ]
+ ],
+ ];
+
// request more attributes from ldap
//$PLUGIN_HOOKS['retrieve_more_field_from_ldap']['example']="plugin_retrieve_more_field_from_ldap_example";