Robert Vogel has uploaded a new change for review. https://gerrit.wikimedia.org/r/173755
Change subject: Fix: preg_replace /e modifier deprecation error ...................................................................... Fix: preg_replace /e modifier deprecation error There was a very old code path that uses /e modifier in preg_replace statement. On PHP5 this causes issues. The replacement actually never gets executed, but the pattern gets still compiled and causes error_log output. I moved it to preg_replace_callback and adjusted the callbacks argument processing. THIS IS A MANUAL MERGE OF https://gerrit.wikimedia.org/r/#/c/173754/ Change-Id: I04bd7ccf54c879efcaf69e801cf343160cac4bd7 --- M includes/outputhandler/views/view.BaseElement.php 1 file changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceFoundation refs/changes/55/173755/1 diff --git a/includes/outputhandler/views/view.BaseElement.php b/includes/outputhandler/views/view.BaseElement.php index fc1ff13..86efbc1 100644 --- a/includes/outputhandler/views/view.BaseElement.php +++ b/includes/outputhandler/views/view.BaseElement.php @@ -235,7 +235,11 @@ elseif ( count( $this->_mItems ) ) { if ( $this->_mTemplate != '' ) { $output = $this->_mTemplate; - $output = preg_replace( '/###([-_|A-Za-z0-9]*?)###/e', "\$this->processItem('\\1')", $output ); + $output = preg_replace_callback( + '/###([-_|A-Za-z0-9]*?)###/', + array( $this, 'processItem' ), + $output + ); } else { $output .= $this->getAutoElementOpener(); @@ -261,7 +265,11 @@ $this->_mPresentDataset = $dataSet; if($this->_mTemplate != '') { $output = $this->_mTemplate; - $output = preg_replace( '/###([-_|A-Za-z0-9]*?)###/e', "\$this->processItem('\\1')", $output ); // TODO RBV (12.10.10 16:37): Könnte man das nicht etwas ansehnlicher mit preg_replace_callback gestalten? + $output = preg_replace_callback( + '/###([-_|A-Za-z0-9]*?)###/', + array( $this, 'processItem' ), + $output + ); foreach( $dataSet as $key => $value ) { $output = str_replace('{'.$key.'}', $value, $output); } @@ -280,6 +288,8 @@ } protected function processItem( $request ) { + $request = $matches[1]; + // TODO MRG20100816: Ist diese Token-Syntax irgendwo beschrieben? Ausserdem müssen wir sicherstellen, dass // | nicht anderweitig verwendet wird. $tokens = explode( '|', $request ); -- To view, visit https://gerrit.wikimedia.org/r/173755 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I04bd7ccf54c879efcaf69e801cf343160cac4bd7 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/BlueSpiceFoundation Gerrit-Branch: master Gerrit-Owner: Robert Vogel <vo...@hallowelt.biz> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits