mirror of
https://git.code.sf.net/p/seeddms/code
synced 2024-11-26 15:32:13 +00:00
check return value of hook
no return value will be discarded, array and objects are put into an array, strings are concatened
This commit is contained in:
parent
7c7dfc1411
commit
9ab19afe03
41
inc/inc.ClassHook.php
Normal file
41
inc/inc.ClassHook.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
/**
|
||||
* Implementation of hook response class
|
||||
*
|
||||
* @category DMS
|
||||
* @package SeedDMS
|
||||
* @license GPL 2
|
||||
* @version @version@
|
||||
* @author Uwe Steinmann <uwe@steinmann.cx>
|
||||
* @copyright Copyright (C) 2017 Uwe Steinmann
|
||||
* @version Release: @package_version@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Parent class for all hook response classes
|
||||
*
|
||||
* @category DMS
|
||||
* @package SeedDMS
|
||||
* @author Uwe Steinmann <uwe@steinmann.cx>
|
||||
* @copyright Copyright (C) 2017 Uwe Steinmann
|
||||
* @version Release: @package_version@
|
||||
*/
|
||||
class SeedDMS_Hook_Response {
|
||||
protected $data;
|
||||
|
||||
protected $error;
|
||||
|
||||
public function __construct($error = false, $data = null) {
|
||||
$this->data = $data;
|
||||
$this->error = $error;
|
||||
}
|
||||
|
||||
public function setData($data) {
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
public function getData() {
|
||||
return $this->data;
|
||||
}
|
||||
}
|
||||
|
|
@ -13,6 +13,8 @@
|
|||
* @version Release: @package_version@
|
||||
*/
|
||||
|
||||
require_once "inc/inc.ClassHook.php";
|
||||
|
||||
/**
|
||||
* Parent class for all view classes
|
||||
*
|
||||
|
@ -92,37 +94,26 @@ class SeedDMS_View_Common {
|
|||
switch(func_num_args()) {
|
||||
case 1:
|
||||
$tmpret = $hookObj->$hook($this);
|
||||
if(is_string($tmpret))
|
||||
$ret .= $tmpret;
|
||||
else
|
||||
$ret = $tmpret;
|
||||
break;
|
||||
case 2:
|
||||
$tmpret = $hookObj->$hook($this, func_get_arg(1));
|
||||
if(is_string($tmpret))
|
||||
$ret .= $tmpret;
|
||||
else
|
||||
$ret = $tmpret;
|
||||
break;
|
||||
case 3:
|
||||
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2));
|
||||
if(is_string($tmpret))
|
||||
$ret .= $tmpret;
|
||||
else
|
||||
$ret = $tmpret;
|
||||
break;
|
||||
case 4:
|
||||
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3));
|
||||
if(is_string($tmpret))
|
||||
$ret .= $tmpret;
|
||||
else
|
||||
$ret = $tmpret;
|
||||
break;
|
||||
default:
|
||||
case 5:
|
||||
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4));
|
||||
break;
|
||||
}
|
||||
if($tmpret) {
|
||||
if(is_string($tmpret))
|
||||
$ret .= $tmpret;
|
||||
elseif(is_array($tmpret) || is_object($tmpret))
|
||||
$ret = ($ret === null) ? $tmpret : array_merge($ret, $tmpret);
|
||||
else
|
||||
$ret = $tmpret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user