Diff for /loncom/xml/londefdef.pm between versions 1.366 and 1.371

version 1.366, 2007/06/05 22:37:58 version 1.371, 2007/06/26 01:36:48
Line 481  sub start_accessrule { Line 481  sub start_accessrule {
  ('realm',$parstack,$safeeval,undef,1);   ('realm',$parstack,$safeeval,undef,1);
     my $role=&Apache::lonxml::get_param      my $role=&Apache::lonxml::get_param
  ('role',$parstack,$safeeval,undef,1);   ('role',$parstack,$safeeval,undef,1);
     $realm=~s/\s+//g;      my ($dom,$crs,$sec)=split(/\_/,$realm);
     $realm=~s/\//\_/g;      $dom = &LONCAPA::clean_domain($dom);
     $realm=~s/^\_//;      my $type=&Apache::lonxml::get_param
     $realm=~s/\W/\;/g;   ('type',$parstack,$safeeval,undef,1);
     $role=~s/\s+//g;      if ($type eq 'user') {
     $role=~s/\//\_/g;   $crs = &LONCAPA::clean_username($crs);
     $role=~s/\W/\;/g;      } else {
    $crs = &LONCAPA::clean_courseid($crs);
       }
       $sec =~s/\W//;
       $realm = $dom;
       if ($crs =~ /\S/) { $realm .= '_'.$crs; }
       if ($sec =~ /\S/) { $realm .= '_'.$sec; }
       $role=~s/\W//g;
   
     if ($target eq 'web') {      if ($target eq 'web') {
  my $args='';   my $args='';
  if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }   if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
Line 498  sub start_accessrule { Line 506  sub start_accessrule {
  }   }
     }      }
     if ($target eq 'meta') {      if ($target eq 'meta') {
  $currentstring='<rule>'.$eff.':'.$realm.':'.$role.'</rule>';   $currentstring='<rule>'.$eff.':'.$realm.':'.$role.':'.$type.'</rule>';
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 2154  sub end_table { Line 2162  sub end_table {
  my @fwidth=@{$Apache::londefdef::table[-1]{'TeXlen'}[0]};#final width array   my @fwidth=@{$Apache::londefdef::table[-1]{'TeXlen'}[0]};#final width array
  my @adjust=();   my @adjust=();
         #step 1. adjustment by maximum value          #step 1. adjustment by maximum value
  my $space_neeeded=0;   my $space_needed=0;
  for (my $jn=0;$jn<=$#max_len;$jn++) {   for (my $jn=0;$jn<=$#max_len;$jn++) {
     $space_neeeded=$space_neeeded+$max_len[$jn];      $space_needed=$space_needed+$max_len[$jn];
  }   }
  if ($space_neeeded<=$available_space) {   if ($space_needed<=$available_space) {
   
     for (my $jn=0;$jn<=$#max_len;$jn++) {      for (my $jn=0;$jn<=$#max_len;$jn++) {
  if ($fwidth[$jn]==0) {   if ($fwidth[$jn]==0) {
Line 2167  sub end_table { Line 2175  sub end_table {
     }      }
  } else {   } else {
         #step 2. adjustment by minimum value (estimation)          #step 2. adjustment by minimum value (estimation)
     $space_neeeded=0;      $space_needed=0;
     for (my $jn=0;$jn<=$#min_len;$jn++) {      for (my $jn=0;$jn<=$#min_len;$jn++) {
  $space_neeeded+=$min_len[$jn];   $space_needed+=$min_len[$jn];
     }      }
     if ($space_neeeded>$available_space) {      if ($space_needed>$available_space) {
  $WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} ';   $WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} ';
  for (my $jn=0;$jn<=$#max_len;$jn++) {   for (my $jn=0;$jn<=$#max_len;$jn++) {
     if ($fwidth[$jn]==0) {      if ($fwidth[$jn]==0) {
Line 2188  sub end_table { Line 2196  sub end_table {
     }      }
  }   }
  if ($how_many_to_scale>0) {   if ($how_many_to_scale>0) {
     my $space_to_adjust=($space_neeeded-$available_space)/$how_many_to_scale;      my $space_to_adjust=($space_needed-$available_space)/$how_many_to_scale;
     foreach my $jn (@to_scale) {      foreach my $jn (@to_scale) {
  for (my $in=0;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {   for (my $in=0;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {
     $Apache::londefdef::table[-1]{'content'}[$in][$jn]=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/;      $Apache::londefdef::table[-1]{'content'}[$in][$jn]=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/;
Line 2210  sub end_table { Line 2218  sub end_table {
  }   }
     } else {      } else {
       #step 3. adjustment over minimal + corrections        #step 3. adjustment over minimal + corrections
  my $enlarge_coef=$available_space/$space_neeeded;   my $enlarge_coef=$available_space/$space_needed;
  my $acsessive=0;   my $acsessive=0;
  for (my $jn=0;$jn<=$#min_len;$jn++) {   for (my $jn=0;$jn<=$#min_len;$jn++) {
     $adjust[$jn]=$min_len[$jn]*$enlarge_coef;      $adjust[$jn]=$min_len[$jn]*$enlarge_coef;
Line 2250  sub end_table { Line 2258  sub end_table {
  for (my $i=0;$i<=$#fwidth;$i++) {     for (my $i=0;$i<=$#fwidth;$i++) {  
     $current+=$fwidth[$i];      $current+=$fwidth[$i];
  }   }
    if ($current == 0) {
               $current = $Apache::londefdef::table[-1]{'width'};
           }
  my $coef=$Apache::londefdef::table[-1]{'width'}/$current;   my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
  for (my $i=0;$i<=$#fwidth;$i++) {     for (my $i=0;$i<=$#fwidth;$i++) {  
     $fwidth[$i]*=$coef;      $fwidth[$i]*=$coef;
Line 3001  sub start_img { Line 3012  sub start_img {
  # And here's where the semi-quote breaks down: allow the user   # And here's where the semi-quote breaks down: allow the user
         # to edit the beast as well by rendering the problem for edit:          # to edit the beast as well by rendering the problem for edit:
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
           my $only = join(',',&Apache::loncommon::filecategorytypes('Pictures'));
  $currentstring .=&Apache::edit::tag_start($target,$token);   $currentstring .=&Apache::edit::tag_start($target,$token);
  $currentstring .=&Apache::edit::text_arg('Image Url:','src',$token,70).   $currentstring .=&Apache::edit::text_arg('Image Url:','src',$token,70).
     &Apache::edit::browse('src',undef,'alt').' '.      &Apache::edit::browse('src',undef,'alt',$only).' '.
     &Apache::edit::search('src',undef,'alt').'<br />';      &Apache::edit::search('src',undef,'alt').'<br />';
  $currentstring .=&Apache::edit::text_arg('Description:','alt',$token,70).'<br />';   $currentstring .=&Apache::edit::text_arg('Description:','alt',$token,70).'<br />';
  $currentstring .=&Apache::edit::text_arg('width (pixel):','width',$token,5);   $currentstring .=&Apache::edit::text_arg('width (pixel):','width',$token,5);

Removed from v.1.366  
changed lines
  Added in v.1.371


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>