From: <jon...@us...> - 2011-02-05 21:27:28
|
Revision: 32467 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=32467&view=rev Author: jonnybradley Date: 2011-02-05 21:27:22 +0000 (Sat, 05 Feb 2011) Log Message: ----------- [FIX] modules: Process arrays for theme visibility param (and simplify syntax a little) Modified Paths: -------------- trunk/lib/modules/modlib.php Modified: trunk/lib/modules/modlib.php =================================================================== --- trunk/lib/modules/modlib.php 2011-02-05 21:00:15 UTC (rev 32466) +++ trunk/lib/modules/modlib.php 2011-02-05 21:27:22 UTC (rev 32467) @@ -381,20 +381,22 @@ if( isset( $params['theme'] ) ) { global $tc_theme; - - if( $params['theme']{0} != '!' ) { // usual behavior - if( isset($tc_theme) && $tc_theme > '' && $params['theme'] != $tc_theme ) { - return false; - } elseif( $params['theme'] != $prefs['style'] && ( !isset($tc_theme) || $tc_theme == '' ) ) { - return false; + + foreach ((array) $params['theme'] as $t) { + if( $t{0} != '!' ) { // usual behavior + if( !empty($tc_theme) && $t !== $tc_theme ) { + return false; + } elseif( $t !== $prefs['style'] && empty($tc_theme)) { + return false; + } + } else { // negation behavior + $excluded_theme = substr($t,1); + if( !empty($tc_theme) && $excluded_theme === $tc_theme ) { + return false; + } elseif( $excluded_theme === $prefs['style'] && empty( $tc_theme )) { + return false; + } } - } else { // negation behavior - $excluded_theme = substr($params['theme'],1); - if( isset($tc_theme) && $tc_theme > '' && $excluded_theme == $tc_theme ) { - return false; - } elseif( $excluded_theme == $prefs['style'] && ( ! isset( $tc_theme ) || $tc_theme == '' ) ) { - return false; - } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |