From: Peter T. <pet...@us...> - 2000-11-02 10:05:01
|
Update of /cvsroot/TWiki/twiki/bin In directory slayer.i.sourceforge.net:/tmp/cvs-serv9644 Modified Files: view wiki.pm wikiprefs.pm Log Message: Query web specific preference %VAR{}%, Beta 01 Nov 2000 Index: view =================================================================== RCS file: /cvsroot/TWiki/twiki/bin/view,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** view 2000/11/01 23:28:50 1.5 --- view 2000/11/02 10:04:59 1.6 *************** *** 86,95 **** } ! # check access permission ! if( ! &wiki::checkAccessPermission( "view", $wikiUserName, $text, $topic, $webName ) ) { ! my $url = &wiki::getOopsUrl( $webName, $topic, "oopsaccessview" ); ! print $query->redirect( $url ); ! return; ! } $text = &wiki::handleCommonTags( $text, $topic ); --- 86,96 ---- } ! # commented out because not tested and not finished (protect also %INCLUDE% and search) ! # # check access permission ! # if( ! &wiki::checkAccessPermission( "view", $wikiUserName, $text, $topic, $webName ) ) { ! # my $url = &wiki::getOopsUrl( $webName, $topic, "oopsaccessview" ); ! # print $query->redirect( $url ); ! # return; ! # } $text = &wiki::handleCommonTags( $text, $topic ); Index: wiki.pm =================================================================== RCS file: /cvsroot/TWiki/twiki/bin/wiki.pm,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** wiki.pm 2000/10/29 04:54:49 1.22 --- wiki.pm 2000/11/02 10:04:59 1.23 *************** *** 87,91 **** # =========================== # TWiki version: ! $wikiversion = "23 Oct 2000"; # =========================== --- 87,91 ---- # =========================== # TWiki version: ! $wikiversion = "01 Nov 2000"; # =========================== Index: wikiprefs.pm =================================================================== RCS file: /cvsroot/TWiki/twiki/bin/wikiprefs.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** wikiprefs.pm 2000/09/28 09:31:32 1.1 --- wikiprefs.pm 2000/11/02 10:04:59 1.2 *************** *** 45,51 **** $altWebName = ""; @finalPrefsKeys = (); ! privateGetPrefsList( "$twikiWebname\.$wikiPrefsTopicname" ); # site-level ! privateGetPrefsList( "$theWebName\.$webPrefsTopicname" ); # web-level ! privateGetPrefsList( $theWikiUserName ); # user-level return; --- 45,51 ---- $altWebName = ""; @finalPrefsKeys = (); ! prvGetPrefsList( "$twikiWebname\.$wikiPrefsTopicname" ); # site-level ! prvGetPrefsList( "$theWebName\.$webPrefsTopicname" ); # web-level ! prvGetPrefsList( $theWikiUserName ); # user-level return; *************** *** 54,58 **** # ========================= ! sub privateGetPrefsList { my ( $theWebTopic ) = @_; --- 54,58 ---- # ========================= ! sub prvGetPrefsList { my ( $theWebTopic ) = @_; *************** *** 67,71 **** if( /^\t+\*\sSet\s([a-zA-Z0-9_]*)\s\=\s*(.*)/ ) { if( $isKey ) { ! privateAddToPrefsList( $key, $value ); } $key = $1; --- 67,71 ---- if( /^\t+\*\sSet\s([a-zA-Z0-9_]*)\s\=\s*(.*)/ ) { if( $isKey ) { ! prvAddToPrefsList( $key, $value ); } $key = $1; *************** *** 78,82 **** $value .= $_; } else { ! privateAddToPrefsList( $key, $value ); $isKey = 0; } --- 78,82 ---- $value .= $_; } else { ! prvAddToPrefsList( $key, $value ); $isKey = 0; } *************** *** 84,88 **** } if( $isKey ) { ! privateAddToPrefsList( $key, $value ); } @finalPrefsKeys = split( /[\,\s]+/, getPreferencesValue( $finalPrefsName ) ); --- 84,88 ---- } if( $isKey ) { ! prvAddToPrefsList( $key, $value ); } @finalPrefsKeys = split( /[\,\s]+/, getPreferencesValue( $finalPrefsName ) ); *************** *** 90,94 **** # ========================= ! sub privateAddToPrefsList { my ( $theKey, $theValue ) = @_; --- 90,94 ---- # ========================= ! sub prvAddToPrefsList { my ( $theKey, $theValue ) = @_; *************** *** 128,132 **** # ========================= ! sub privateHandlePrefsValue { my( $theIdx ) = @_; --- 128,132 ---- # ========================= ! sub prvHandlePrefsValue { my( $theIdx ) = @_; *************** *** 137,140 **** --- 137,153 ---- # ========================= + sub prvHandleWebVariable + { + my( $attributes ) = @_; + my $key = extractNameValuePair( $attributes ); + my $attrWeb = extractNameValuePair( $attributes, "web" ); + if( $attrWeb =~ /%[A-Z]+%/ ) { + &wiki::handleInternalTags( $attrWeb, $defaultWebName, "dummy" ); + } + my $val = getPreferencesValue( $key, $attrWeb ); + return $val; + } + + # ========================= sub handlePreferencesTags { *************** *** 143,149 **** my $cmd; for( $x = 0; $x < @wiki::prefsKeys; $x++ ) { ! $cmd = "\$_[0] =~ s/%$prefsKeys[$x]%/&privateHandlePrefsValue($x)/geo;"; eval( $cmd ); } } --- 156,167 ---- my $cmd; for( $x = 0; $x < @wiki::prefsKeys; $x++ ) { ! $cmd = "\$_[0] =~ s/%$prefsKeys[$x]%/&prvHandlePrefsValue($x)/geo;"; eval( $cmd ); } + + if( $_[0] =~ /%VAR{(.*?)}%/ ) { + # handle web specific variables + $_[0] =~ s/%VAR{(.*?)}%/&prvHandleWebVariable($1)/geo; + } } *************** *** 169,174 **** my @saveKeys = @prefsKeys; # quick hack, this stinks my @saveValues = @prefsValues; # ditto ! privateGetPrefsList( "$twikiWebname\.$wikiPrefsTopicname" ); ! privateGetPrefsList( "$altWebName\.$webPrefsTopicname" ); @altPrefsKeys = @prefsKeys; # quick hack, this stinks @altPrefsValues = @prefsValues; # quick hack, this stinks --- 187,192 ---- my @saveKeys = @prefsKeys; # quick hack, this stinks my @saveValues = @prefsValues; # ditto ! prvGetPrefsList( "$twikiWebname\.$wikiPrefsTopicname" ); ! prvGetPrefsList( "$altWebName\.$webPrefsTopicname" ); @altPrefsKeys = @prefsKeys; # quick hack, this stinks @altPrefsValues = @prefsValues; # quick hack, this stinks *************** *** 188,189 **** --- 206,208 ---- # ========================= # EOF + |