Skip to content
Snippets Groups Projects
Commit ffc9c5b2 authored by Reinhold Kainhofer's avatar Reinhold Kainhofer
Browse files

Merge in from VM / WC: Fix callbacks in earlier PHP versions

parent 3971e1d4
Branches
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ function trl($string) { ...@@ -16,7 +16,7 @@ function trl($string) {
class OrdernumberHelper { class OrdernumberHelper {
static $_version = "0.1"; static $_version = "0.1";
protected $_callbacks = array(); protected $callbacks = array();
public $_styles = array( public $_styles = array(
'counter-table-class' => "table-striped", 'counter-table-class' => "table-striped",
'counter-table-style' => "", 'counter-table-style' => "",
...@@ -103,7 +103,7 @@ class OrdernumberHelper { ...@@ -103,7 +103,7 @@ class OrdernumberHelper {
public function __($string) { public function __($string) {
if (isset($this->callbacks["translate"])) { if (isset($this->callbacks["translate"])) {
return $this->callbacks["translate"]($string); return call_user_func_array($this->callbacks['translate'], func_get_args());
} else { } else {
return $string; return $string;
} }
...@@ -142,7 +142,7 @@ class OrdernumberHelper { ...@@ -142,7 +142,7 @@ class OrdernumberHelper {
public function urlPath($type, $file) { public function urlPath($type, $file) {
if (isset($this->callbacks['urlPath'])) { if (isset($this->callbacks['urlPath'])) {
return $this->callbacks['urlPath']($type, $file); return call_user_func_array($this->callbacks['urlPath'], func_get_args());
} else { } else {
throw new Exception('No callback defined for urlPath(type, file)!'); throw new Exception('No callback defined for urlPath(type, file)!');
} }
...@@ -150,13 +150,13 @@ class OrdernumberHelper { ...@@ -150,13 +150,13 @@ class OrdernumberHelper {
protected function replacementsCallback ($func, &$reps, $details, $nrtype) { protected function replacementsCallback ($func, &$reps, $details, $nrtype) {
if (isset($this->callbacks[$func])) { if (isset($this->callbacks[$func])) {
return $this->callbacks[$func]($reps, $details, $nrtype); return call_user_func_array($this->callbacks[$func], array(&$reps, $details, $nrtype));
} }
} }
protected function getCounter($type, $countername, $default) { protected function getCounter($type, $countername, $default) {
if (isset($this->callbacks['getCounter'])) { if (isset($this->callbacks['getCounter'])) {
return $this->callbacks['getCounter']($type, $countername, $default); return call_user_func_array($this->callbacks['getCounter'], func_get_args());
} else { } else {
throw new Exception('No callback defined for getCounter(type, countername, default)!'); throw new Exception('No callback defined for getCounter(type, countername, default)!');
} }
...@@ -164,15 +164,15 @@ class OrdernumberHelper { ...@@ -164,15 +164,15 @@ class OrdernumberHelper {
protected function setCounter($type, $countername, $value) { protected function setCounter($type, $countername, $value) {
if (isset($this->callbacks['getCounter'])) { if (isset($this->callbacks['getCounter'])) {
return $this->callbacks['getCounter']($type, $countername, $value); return call_user_func_array($this->callbacks['setCounter'], func_get_args());
} else { } else {
throw new Exception('No callback defined for setCounter(type, countername, value)!'); throw new Exception('No callback defined for setCounter(type, countername, value)!');
} }
} }
public function getAllCounters($type) { public function getAllCounters($type) {
if (isset($this->callbacks['getCounter'])) { if (isset($this->callbacks['getAllCounters'])) {
return $this->callbacks['getCounter']($type); return call_user_func_array($this->callbacks['getAllCounters'], func_get_args());
} else { } else {
throw new Exception ('No callback defined for getAllCounters(type)!'); throw new Exception ('No callback defined for getAllCounters(type)!');
} }
...@@ -403,7 +403,6 @@ class OrdernumberHelper { ...@@ -403,7 +403,6 @@ class OrdernumberHelper {
$format = $this->doReplacements($format, $reps); $format = $this->doReplacements($format, $reps);
$ctrsettings = $this->extractCounterSettings ($format, $type, $ctrsettings); $ctrsettings = $this->extractCounterSettings ($format, $type, $ctrsettings);
// JFactory::getApplication()->enqueueMessage("<pre>Replacements for $type:".print_r($reps,1)."</pre>", 'error');
// Increment the counter only if the format contains a placeholder for it! // Increment the counter only if the format contains a placeholder for it!
if (strpos($ctrsettings["${type}_format"], "#") !== false) { if (strpos($ctrsettings["${type}_format"], "#") !== false) {
$countername = $ctrsettings["${type}_counter"]; $countername = $ctrsettings["${type}_counter"];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment