From 216ea12666892397cd145cdef3c40d37b3df22a7 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Wed, 16 Dec 2015 11:03:28 -0500
Subject: [PATCH] - Changed template events (reduced php code and needed template code)
---
interface/lib/classes/tpl.inc.php | 39 ++++++++++++++++++++++++++++-----------
1 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/interface/lib/classes/tpl.inc.php b/interface/lib/classes/tpl.inc.php
index 3210cc0..928c215 100644
--- a/interface/lib/classes/tpl.inc.php
+++ b/interface/lib/classes/tpl.inc.php
@@ -1073,20 +1073,37 @@
* @param string $name
* @return string hook data
*/
- private function _parseHook ($type, $name)
+ private function _parseHook ($name)
{
global $app;
- $module_name = '';
- if(strpos($name, ':') !== false) list($module_name, $name) = explode(':', $name, 2);
+ if(!$name) return false;
- $result = $app->plugin->raiseEvent('on_template_content_hook', array(
- 'type' => $type,
- 'name' => $name,
- 'module' => $module_name
- ), true);
- if(!$result) $result = '';
- else $result = $this->_getData($result, false, true);
+ $module = isset($_SESSION['s']['module']['name']) ? $_SESSION['s']['module']['name'] : '';
+ $form = isset($app->tform->formDef['name']) ? $app->tform->formDef['name'] : '';
+
+ $events = array();
+ if($module) {
+ $events[] = $module . ':' . ($form ? $form : '') . ':' . $name;
+ $events[] = $module . ':' . ($form ? $form : '') . ':on_template_content';
+ } else {
+ $events[] = $name;
+ $events[] = 'on_template_content';
+ }
+
+ $events = array_unique($events);
+
+ for($e = 0; $e < count($events); $e++) {
+ $tmpresult = $app->plugin->raiseEvent($events[$e], array(
+ 'name' => $name,
+ 'module' => $module,
+ 'form' => $form
+ ), true);
+ if(!$tmpresult) $tmpresult = '';
+ else $tmpresult = $this->_getData($tmpresult, false, true);
+
+ $result .= $tmpresult;
+ }
return $result;
}
@@ -1285,7 +1302,7 @@
}
case 'hook':
- return $this->_parseHook(@$var, @$value);
+ return $this->_parseHook(@$var);
case 'include':
return '<?php $this->_getData($this->_fileSearch(\''.$file.'\'), 1); ?>';
--
Gitblit v1.9.1