--- loncom/lonnet/perl/lonnet.pm 2011/06/06 16:48:44 1.1109 +++ loncom/lonnet/perl/lonnet.pm 2011/06/06 23:28:48 1.1111 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1109 2011/06/06 16:48:44 www Exp $ +# $Id: lonnet.pm,v 1.1111 2011/06/06 23:28:48 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2015,6 +2015,17 @@ sub currentversion { return &do_cache_new('resversion',$fname,$answer,600); } +# +# Return special version number of resource if set by override, empty otherwise +# +sub usedversion { + my $fname=shift; + unless ($fname) { $fname=$env{'request.uri'}; } + my ($urlversion)=($fname=~/\.(\d+)\.\w+$/); + if ($urlversion) { return $urlversion; } + return ''; +} + # ----------------------------- Subscribe to a resource, return URL if possible sub subscribe { @@ -9292,6 +9303,7 @@ sub rndseed { if (!$domain) { $domain=$wdomain; } if (!$username) { $username=$wusername } my $which=&get_rand_alg(); + if (defined(&getCODE())) { if ($which eq '64bit5') { return &rndseed_CODE_64bit5($symb,$courseid,$domain,$username); @@ -9328,7 +9340,6 @@ sub rndseed_32bit { #&logthis("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck"); #&logthis("rndseed :$num:$symb"); if ($_64bit) { $num=(($num<<32)>>32); } - $Apache::lonhomework::results{'resource.0.rndseed'}=$num; return $num; } } @@ -9350,7 +9361,6 @@ sub rndseed_64bit { #&logthis("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck"); #&logthis("rndseed :$num:$symb"); if ($_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); } - $Apache::lonhomework::results{'resource.0.rndseed'}="$num1:$num2"; return "$num1,$num2"; } } @@ -9374,7 +9384,6 @@ sub rndseed_64bit2 { #&logthis("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck"); #&logthis("rndseed :$num:$symb"); if ($_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); } - $Apache::lonhomework::results{'resource.0.rndseed'}="$num1:$num2"; return "$num1,$num2"; } } @@ -9398,7 +9407,7 @@ sub rndseed_64bit3 { #&logthis("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck"); #&logthis("rndseed :$num1:$num2:$_64bit"); if ($_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); } - $Apache::lonhomework::results{'resource.0.rndseed'}="$num1:$num2"; + return "$num1:$num2"; } } @@ -9422,7 +9431,7 @@ sub rndseed_64bit4 { #&logthis("$symbseed:$nameseed;$domainseed|$courseseed;$namechck:$symbchck"); #&logthis("rndseed :$num1:$num2:$_64bit"); if ($_64bit) { $num1=(($num1<<32)>>32); $num2=(($num2<<32)>>32); } - $Apache::lonhomework::results{'resource.0.rndseed'}="$num1:$num2"; + return "$num1:$num2"; } } @@ -9430,7 +9439,6 @@ sub rndseed_64bit4 { sub rndseed_64bit5 { my ($symb,$courseid,$domain,$username)=@_; my ($num1,$num2)=&digest("$symb,$courseid,$domain,$username"); - $Apache::lonhomework::results{'resource.0.rndseed'}="$num1:$num2"; return "$num1:$num2"; }