Diff for /loncom/publisher/lonpublisher.pm between versions 1.300 and 1.301

version 1.300, 2022/09/09 19:20:55 version 1.301, 2023/03/28 23:17:16
Line 329  string which presents the form field (fo Line 329  string which presents the form field (fo
 #########################################  #########################################
 #########################################  #########################################
 sub textfield {  sub textfield {
     my ($title,$name,$value,$noline)=@_;      my ($title,$name,$value,$noline,$readonly)=@_;
     $value=~s/^\s+//gs;      $value=~s/^\s+//gs;
     $value=~s/\s+$//gs;      $value=~s/\s+$//gs;
     $value=~s/\s+/ /gs;      $value=~s/\s+/ /gs;
Line 341  sub textfield { Line 341  sub textfield {
 }  }
   
 sub text_with_browse_field {  sub text_with_browse_field {
     my ($title,$name,$value,$restriction,$noline)=@_;      my ($title,$name,$value,$restriction,$noline,$readonly)=@_;
     $value=~s/^\s+//gs;      $value=~s/^\s+//gs;
     $value=~s/\s+$//gs;      $value=~s/\s+$//gs;
     $value=~s/\s+/ /gs;      $value=~s/\s+/ /gs;
     $title=&mt($title);      $title=&mt($title);
     $env{'form.'.$name}=$value;      $env{'form.'.$name}=$value;
     return "\n".&Apache::lonhtmlcommon::row_title($title)      my $disabled;
           .'<input type="text" name="'.$name.'" size="80" value="'.$value.'" />'      if ($readonly) {
           .'<br />'          $disabled = ' disabled="disabled"';
       }
       my $output =
             "\n".&Apache::lonhtmlcommon::row_title($title)
             .'<input type="text" name="'.$name.'" size="80" value="'.$value.'"'.$disabled.' />';
       unless ($readonly) {
           $output .=
             '<br />'
   .'<a href="javascript:openbrowser(\'pubform\',\''.$name.'\',\''.$restriction.'\');">'    .'<a href="javascript:openbrowser(\'pubform\',\''.$name.'\',\''.$restriction.'\');">'
           .&mt('Select')            .&mt('Select')
           .'</a>&nbsp;'            .'</a>&nbsp;'
   .'<a href="javascript:opensearcher(\'pubform\',\''.$name.'\');">'    .'<a href="javascript:opensearcher(\'pubform\',\''.$name.'\');">'
           .&mt('Search')            .&mt('Search')
           .'</a>'            .'</a>';
           .&Apache::lonhtmlcommon::row_closure($noline);      }
       $output .= &Apache::lonhtmlcommon::row_closure($noline);
       return $output;
 }  }
   
 sub hiddenfield {  sub hiddenfield {
Line 372  sub checkbox { Line 381  sub checkbox {
 }  }
   
 sub selectbox {  sub selectbox {
     my ($title,$name,$value,$functionref,@idlist)=@_;      my ($title,$name,$value,$readonly,$functionref,@idlist)=@_;
     $title=&mt($title);      $title=&mt($title);
     $value=(split(/\s*,\s*/,$value))[-1];      $value=(split(/\s*,\s*/,$value))[-1];
     if (defined($value)) {      if (defined($value)) {
Line 387  sub selectbox { Line 396  sub selectbox {
         if ($id eq $value) {          if ($id eq $value) {
     $selout.=' selected="selected"';      $selout.=' selected="selected"';
         }          }
           if ($readonly) {
               $selout .= ' disabled="disabled"';
           }
         $selout.='>'.&{$functionref}($id).'</option>';          $selout.='>'.&{$functionref}($id).'</option>';
     }      }
     $selout.='</select>'.&Apache::lonhtmlcommon::row_closure();      $selout.='</select>'.&Apache::lonhtmlcommon::row_closure();
Line 1199  sub publish { Line 1211  sub publish {
   $content=$outstring;    $content=$outstring;
   
     }      }
   
   # ----------------------------------------------------- Course Authoring Space.
       my ($courseauthor,$crsaurights,$readonly);
       if ($env{'request.course.id'}) {
           my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
           my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
           my $docroot = $Apache::lonnet::perlvar{'lonDocRoot'};
           if ($source =~ m{^\Q$docroot/priv/$cdom/$cnum/\E}) {
               $courseauthor = $cnum.':'.$cdom;
               $crsaurights = "/res/$cdom/$cnum/default.rights";
               $readonly = 1;
           }
       }
   
 # -------------------------------------------- Initial step done, now metadata.  # -------------------------------------------- Initial step done, now metadata.
   
 # --------------------------------------- Storage for metadata keys and fields.  # --------------------------------------- Storage for metadata keys and fields.
Line 1485  END Line 1511  END
     $defaultlanguage =~ s/,\s*$//g;      $defaultlanguage =~ s/,\s*$//g;
   
     $intr_scrout.=&selectbox('Language','language',      $intr_scrout.=&selectbox('Language','language',
      $defaultlanguage,       $defaultlanguage,'',
      \&Apache::loncommon::languagedescription,       \&Apache::loncommon::languagedescription,
      (&Apache::loncommon::languageids),       (&Apache::loncommon::languageids),
      );       );
Line 1502  END Line 1528  END
     if ($style eq 'prv') {      if ($style eq 'prv') {
         $pubowner_last = 1;          $pubowner_last = 1;
     }      }
       if ($courseauthor) {
           $metadatafields{'owner'} = $courseauthor;
       }
     $intr_scrout.=&textfield('Publisher/Owner','owner',      $intr_scrout.=&textfield('Publisher/Owner','owner',
      $metadatafields{'owner'},$pubowner_last);       $metadatafields{'owner'},$pubowner_last,$readonly);
   
 # ---------------------------------------------- Retrofix for unused copyright  # ---------------------------------------------- Retrofix for unused copyright
     if ($metadatafields{'copyright'} eq 'free') {      if ($metadatafields{'copyright'} eq 'free') {
Line 1516  END Line 1545  END
 # ------------------------------------------------ Dial in reasonable defaults  # ------------------------------------------------ Dial in reasonable defaults
     my $defaultoption=$metadatafields{'copyright'};      my $defaultoption=$metadatafields{'copyright'};
     unless ($defaultoption) { $defaultoption='default'; }      unless ($defaultoption) { $defaultoption='default'; }
       if ($courseauthor) {
           $defaultoption='custom';
           $metadatafields{'customdistributionfile'}=$crsaurights;
       }
     my $defaultsourceoption=$metadatafields{'sourceavail'};      my $defaultsourceoption=$metadatafields{'sourceavail'};
     unless ($defaultsourceoption) { $defaultsourceoption='closed'; }      unless ($defaultsourceoption) { $defaultsourceoption='closed'; }
     unless ($style eq 'prv') {      unless ($style eq 'prv') {
Line 1527  END Line 1560  END
  $defaultoption='default';   $defaultoption='default';
     }      }
     $intr_scrout.=&selectbox('Copyright/Distribution','copyright',      $intr_scrout.=&selectbox('Copyright/Distribution','copyright',
      $defaultoption,       $defaultoption,$readonly,
      \&Apache::loncommon::copyrightdescription,       \&Apache::loncommon::copyrightdescription,
     (grep !/^(public|priv)$/,(&Apache::loncommon::copyrightids)));      (grep !/^(public|priv)$/,(&Apache::loncommon::copyrightids)));
  } else {   } else {
     $intr_scrout.=&selectbox('Copyright/Distribution','copyright',      $intr_scrout.=&selectbox('Copyright/Distribution','copyright',
      $defaultoption,       $defaultoption,$readonly,
      \&Apache::loncommon::copyrightdescription,       \&Apache::loncommon::copyrightdescription,
      (grep !/^priv$/,(&Apache::loncommon::copyrightids)));       (grep !/^priv$/,(&Apache::loncommon::copyrightids)));
  }   }
Line 1541  END Line 1574  END
         my $replace=&mt('Copyright/Distribution:');          my $replace=&mt('Copyright/Distribution:');
  $intr_scrout =~ s/$replace/$replace.' '.$copyright_help/ge;   $intr_scrout =~ s/$replace/$replace.' '.$copyright_help/ge;
   
  $intr_scrout.=&text_with_browse_field('Custom Distribution File','customdistributionfile',$metadatafields{'customdistributionfile'},'rights');   $intr_scrout.=&text_with_browse_field('Custom Distribution File','customdistributionfile',$metadatafields{'customdistributionfile'},'rights','',$readonly);
  $intr_scrout.=&selectbox('Source Distribution','sourceavail',   $intr_scrout.=&selectbox('Source Distribution','sourceavail',
  $defaultsourceoption,   $defaultsourceoption,'',
  \&Apache::loncommon::source_copyrightdescription,   \&Apache::loncommon::source_copyrightdescription,
  (&Apache::loncommon::source_copyrightids));   (&Apache::loncommon::source_copyrightids));
 # $intr_scrout.=&text_with_browse_field('Source Custom Distribution File','sourcerights',$metadatafields{'sourcerights'},'rights');  # $intr_scrout.=&text_with_browse_field('Source Custom Distribution File','sourcerights',$metadatafields{'sourcerights'},'rights');

Removed from v.1.300  
changed lines
  Added in v.1.301


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