Diff for /loncom/interface/lonhtmlcommon.pm between versions 1.159 and 1.168

version 1.159, 2007/05/13 18:03:15 version 1.168, 2007/11/02 23:41:01
Line 140  sub select_recent { Line 140  sub select_recent {
     foreach my $value (sort(keys(%recent))) {      foreach my $value (sort(keys(%recent))) {
  unless ($value =~/^error\:/) {   unless ($value =~/^error\:/) {
     my $escaped = &Apache::loncommon::escape_url($value);      my $escaped = &Apache::loncommon::escape_url($value);
       &Apache::loncommon::inhibit_menu_check(\$escaped);
     $return.="\n<option value='$escaped'>".      $return.="\n<option value='$escaped'>".
  &unescape((split(/\&/,$recent{$value}))[1]).   &unescape((split(/\&/,$recent{$value}))[1]).
  '</option>';   '</option>';
Line 480  ENDJS Line 481  ENDJS
     return $result;      return $result;
 }  }
   
   
   sub build_url {
       my ($base, $fields)=@_;
       my $url;
       $url = $base.'?';
       foreach my $key (keys(%$fields)) {
           $url.=&escape($key).'='.&escape($$fields{$key}).'&amp;';
       }
       $url =~ s/&amp;$//;
       return $url;
   }
   
   
 ##############################################  ##############################################
 ##############################################  ##############################################
   
Line 681  Returns: a perl string as described. Line 695  Returns: a perl string as described.
 ##############################################  ##############################################
 ##############################################  ##############################################
 sub StatusOptions {  sub StatusOptions {
     my ($status, $formName,$size,$onchange)=@_;      my ($status, $formName,$size,$onchange,$mult)=@_;
     $size = 1 if (!defined($size));      $size = 1 if (!defined($size));
     if (! defined($status)) {      if (! defined($status)) {
         $status = 'Active';          $status = 'Active';
Line 690  sub StatusOptions { Line 704  sub StatusOptions {
   
     my $Str = '';      my $Str = '';
     $Str .= '<select name="Status"';      $Str .= '<select name="Status"';
       if (defined($mult)){
           $Str .= ' multiple="multiple" ';
       }
     if(defined($formName) && $formName ne '' && ! defined($onchange)) {      if(defined($formName) && $formName ne '' && ! defined($onchange)) {
         $Str .= ' onchange="document.'.$formName.'.submit()"';          $Str .= ' onchange="document.'.$formName.'.submit()"';
     }      }
Line 1003  sub crumbs { Line 1020  sub crumbs {
     } else {      } else {
  $path.='/';    $path.='/'; 
     }          }    
             my $linkpath = &Apache::loncommon::escape_single($path);  
             if ($form) {  
  $linkpath=  
                     qq{javascript:$form.action='$linkpath';$form.submit();};  
             }  
             my $href_path = &HTML::Entities::encode($path,'<>&"');              my $href_path = &HTML::Entities::encode($path,'<>&"');
     $output.=qq{<a href="$path" $target>$dir</a>/};      &Apache::loncommon::inhibit_menu_check(\$href_path);
       if ($form) {
           my $href = 'javascript:'.$form.".action='".$href_path."';".$form.'.submit();';
           $output.=qq{<a href="$href" $target>$dir</a>/};
       } else {
           $output.=qq{<a href="$href_path" $target>$dir</a>/};
       }
  }   }
     } else {      } else {
  foreach my $dir (split('/',$uri)) {   foreach my $dir (split('/',$uri)) {
Line 1083  ENDLINK Line 1101  ENDLINK
 }  }
   
 sub htmlareaheaders {  sub htmlareaheaders {
     if (&htmlareablocked()) { return ''; }      return if (&htmlareablocked());
     unless (&htmlareabrowser()) { return ''; }      return if (!&htmlareabrowser());
     my $lang='en';  
     if (&mt('htmlarea_lang') ne 'htmlarea_lang') {  
  $lang=&mt('htmlarea_lang');  
     }  
     return (<<ENDHEADERS);      return (<<ENDHEADERS);
 <script type="text/javascript">  <script type="text/javascript" src="/fckeditor/fckeditor.js"></script>
 _editor_url='/htmlarea/';  
 _editor_lang='$lang';  
 </script>  
 <script type="text/javascript" src="/htmlarea/htmlarea.js"></script>  
 <link rel="stylesheet" type="text/css" href="/htmlarea/htmlarea.css" />  
 ENDHEADERS  ENDHEADERS
 }  }
   
 # ------------------------------------------------- Activate additional buttons  
   
 sub htmlareaaddbuttons {  
     if (&htmlareablocked()) { return ''; }  
     unless (&htmlareabrowser()) { return ''; }  
     return (<<ENDADDBUTTON);  
     var config=new HTMLArea.Config();  
     config.registerButton('ed_math','LaTeX Inline',  
   '/htmlarea/images/ed_math.gif',false,  
     function(editor,id) {  
       editor.surroundHTML('&nbsp;<m>\$','\$</m>&nbsp;');  
     }  
   );  
     config.registerButton('ed_math_eqn','LaTeX Equation',  
   '/htmlarea/images/ed_math_eqn.gif',false,  
     function(editor,id) {  
       editor.surroundHTML(  
      '&nbsp;\\n<center><m>\\\\[','\\\\]</m></center>\\n&nbsp;');  
     }  
   );  
     config.toolbar.push(['ed_math','ed_math_eqn']);  
 ENDADDBUTTON  
 }  
   
 # ----------------------------------------------------------------- Preferences  # ----------------------------------------------------------------- Preferences
   
 sub disablelink {  sub disablelink {
Line 1141  sub enablelink { Line 1126  sub enablelink {
     return '<a href="'.&HTML::Entities::encode('/adm/preferences?action=set_wysiwyg&wysiwyg=on&returnurl=','<>&"').&escape($ENV{'REQUEST_URI'}).'">'.&mt('Enable WYSIWYG Editor').'</a>';      return '<a href="'.&HTML::Entities::encode('/adm/preferences?action=set_wysiwyg&wysiwyg=on&returnurl=','<>&"').&escape($ENV{'REQUEST_URI'}).'">'.&mt('Enable WYSIWYG Editor').'</a>';
 }  }
   
   # ------------------------------------------------- lang to use in html editor
   sub htmlarea_lang {
       my $lang='en';
       if (&mt('htmlarea_lang') ne 'htmlarea_lang') {
    $lang=&mt('htmlarea_lang');
       }
       return $lang;
   }
   
 # ----------------------------------------- Script to activate only some fields  # ----------------------------------------- Script to activate only some fields
   
 sub htmlareaselectactive {  sub htmlareaselectactive {
     my @fields=@_;      my @fields=@_;
     unless (&htmlareabrowser()) { return ''; }      unless (&htmlareabrowser()) { return ''; }
     if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); }      if (&htmlareablocked()) { return '<br />'.&enablelink(@fields); }
     my $output='<script type="text/javascript" defer="1">'.      my $output='<script type="text/javascript" defer="1">';
  &htmlareaaddbuttons();      my $lang = &htmlarea_lang();
     foreach(@fields) {      foreach my $field (@fields) {
  $output.="\nHTMLArea.replace('$_',config);";   $output.="
   {
       var oFCKeditor = new FCKeditor('$field');
       oFCKeditor.Config['CustomConfigurationsPath'] = 
    '/fckeditor/loncapaconfig.js';    
       oFCKeditor.ReplaceTextarea();
       oFCKeditor.Config['AutoDetectLanguage'] = false;
       oFCKeditor.Config['DefaultLanguage'] = '$lang';
   }";
     }      }
     $output.="\nwindow.status='Activated Editfields';\n</script><br />".      $output.="\nwindow.status='Activated Editfields';\n</script><br />".
  &disablelink(@fields);   &disablelink(@fields);
Line 1332  returns: nothing Line 1334  returns: nothing
 # row2  # row2
 # row3   ... etc.  # row3   ... etc.
 # &submit_row(0  # &submit_row(0
 # &end_pickbox()  # &end_pick_box()
 #  #
 # where row1, row 2 etc. are chosen from &role_select_row,&course_select_row,  # where row1, row 2 etc. are chosen from &role_select_row,&course_select_row,
 # &status_select_row and &email_default_row  # &status_select_row and &email_default_row
Line 1570  sub status_select_row { Line 1572  sub status_select_row {
 sub email_default_row {  sub email_default_row {
     my ($authtypes,$title,$descrip,$css_class) = @_;      my ($authtypes,$title,$descrip,$css_class) = @_;
     my $output = &row_title($title,$css_class);      my $output = &row_title($title,$css_class);
     my @rowcols = ('#eeeeee','#dddddd');  
     $output .= $descrip.      $output .= $descrip.
  &Apache::loncommon::start_data_table().   &Apache::loncommon::start_data_table().
  &Apache::loncommon::start_data_table_header_row().   &Apache::loncommon::start_data_table_header_row().

Removed from v.1.159  
changed lines
  Added in v.1.168


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