Diff for /loncom/interface/lonextresedit.pm between versions 1.24 and 1.30

version 1.24, 2018/01/31 14:51:05 version 1.30, 2022/09/09 14:24:30
Line 386  sub extedit_form { Line 386  sub extedit_form {
         $appendstyle,$gradablestyle,$legend,$urlelem,$toolelem,%toolattr);          $appendstyle,$gradablestyle,$legend,$urlelem,$toolelem,%toolattr);
     $formname = 'new'.$type;      $formname = 'new'.$type;
     $toggle = $type;      $toggle = $type;
     $fieldsetid = 'upload'.$type.'form';      $fieldsetid = 'external'.$type.'form';
     $urlid = $type.'url';      $urlid = $type.'url';
     map { $toolattr{$_} = $type.$_; } ('dispdiv','dimendiv','dimenwidth','dimenheight',      map { $toolattr{$_} = $type.$_; } ('dispdiv','dimendiv','dimenwidth','dimenheight',
                                        'crstitlediv','crslabeldiv','crsappenddiv',                                         'crstitlediv','crslabeldiv','crsappenddiv',
Line 405  sub extedit_form { Line 405  sub extedit_form {
     if ($supplementalflag) {      if ($supplementalflag) {
         $formname = 'newsupp'.$type;          $formname = 'newsupp'.$type;
         $toggle = 'supp'.$type;          $toggle = 'supp'.$type;
         $fieldsetid = 'uploadsupp'.$type.'form';          $fieldsetid = 'externalsupp'.$type.'form';
         $urlid = 'supp'.$type.'url';          $urlid = 'supp'.$type.'url';
         map { $toolattr{$_} = 'supp'.$toolattr{$_}; } (keys(%toolattr));          map { $toolattr{$_} = 'supp'.$toolattr{$_}; } (keys(%toolattr));
     }      }
Line 424  sub extedit_form { Line 424  sub extedit_form {
             $rows = 10;              $rows = 10;
             $cols = 45;              $cols = 45;
             if ($type eq 'tool') {              if ($type eq 'tool') {
                 $legend = $lt{'ee'};  
             } else {  
                 $legend = $lt{'te'};                  $legend = $lt{'te'};
               } else {
                   $legend = $lt{'ee'};
             }              }
             $legend = '<legend>'.$legend.'</legend>';              $legend = '<legend>'.$legend.'</legend>';
             if ($symb) {              if ($symb) {
Line 443  sub extedit_form { Line 443  sub extedit_form {
             $active = '<input type="hidden" name="active" value="'.$tabid.'" />';              $active = '<input type="hidden" name="active" value="'.$tabid.'" />';
         }          }
         $formname = 'edit'.$type.'_'.$residx;          $formname = 'edit'.$type.'_'.$residx;
         $fieldsetid = 'upload'.$type.$residx;          $fieldsetid = 'external'.$type.$residx;
         $urlid = $type.'url_'.$residx;          $urlid = $type.'url_'.$residx;
         map { $toolattr{$_} .= '_'.$residx; } (keys(%toolattr));          map { $toolattr{$_} .= '_'.$residx; } (keys(%toolattr));
         $srcclass = ' class="LC_nobreak"';          $srcclass = ' class="LC_nobreak"';
Line 458  sub extedit_form { Line 458  sub extedit_form {
         if ($type eq 'tool') {          if ($type eq 'tool') {
             $link = $lt{'et'};              $link = $lt{'et'};
         }          }
         $link = '<a class="LC_menubuttons_link" href="javascript:toggleUpload('."'$toggle'".');">'.$link.'</a>'.$helpitem;          $link = '<a class="LC_menubuttons_link" href="javascript:toggleExternal('."'$toggle'".');">'.$link.'</a>'.$helpitem;
         if ($type eq 'tool') {          if ($type eq 'tool') {
             $legend = $lt{'te'};              $legend = $lt{'te'};
         } else {          } else {
Line 767  sub extedit_javascript { Line 767  sub extedit_javascript {
         invurl  => 'Invalid URL',          invurl  => 'Invalid URL',
         titbl   => 'Title is blank',          titbl   => 'Title is blank',
         invtool => 'Please select an external tool',          invtool => 'Please select an external tool',
           mixfra  => 'Show preview in pop-up? (http in https page + no framing)',
           mixonly => 'Show preview in pop-up? (http in https page)',
           fraonly => 'Show preview in pop-up? (framing disallowed)',
           nopopup => 'Pop-up blocked',
           nopriv  => 'Insufficient privileges to use preview',
           badurl  => 'URL is not: http://hostname/path or https://hostname/path',
     );      );
     &js_escape(\%js_lt);      &js_escape(\%js_lt);
   
Line 941  function setExternal(extform,residx,type Line 947  function setExternal(extform,residx,type
 }  }
   
 function editext(residx,type) {  function editext(residx,type) {
     if (document.getElementById('upload'+type+residx)) {      if (document.getElementById('external'+type+residx)) {
         var curr = document.getElementById('upload'+type+residx).style.display;          var curr = document.getElementById('external'+type+residx).style.display;
         if (curr == 'none') {          if (curr == 'none') {
             disp = 'block';              disp = 'block';
         } else {          } else {
             disp = 'none';              disp = 'none';
         }          }
         document.getElementById('upload'+type+residx).style.display=disp;          document.getElementById('external'+type+residx).style.display=disp;
     }      }
     resize_scrollbox('contentscroll','1','1');      resize_scrollbox('contentscroll','1','1');
     return;      return;
Line 959  function extUrlPreview(caller,protocol) Line 965  function extUrlPreview(caller,protocol)
         var url = document.getElementById(caller).value;          var url = document.getElementById(caller).value;
         if (regexp.test(url)) {          if (regexp.test(url)) {
             var http_regex = /^http\:\/\//gi;              var http_regex = /^http\:\/\//gi;
               var mixed = 0;
               var noiframe = 0;
               var nopriv = 0;
               var badurl = 0;
               var name = "externalpreview";
             if ((protocol == 'https') && (http_regex.test(url))) {              if ((protocol == 'https') && (http_regex.test(url))) {
                 window.open(url,"externalpreview","height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1");                  mixed = 1;
             } else {  
                 openMyModal(url,500,400,'yes');  
             }              }
               var http = new XMLHttpRequest();
               var lcurl = "/adm/exturlcheck";
               var params = "exturl="+url;
               http.open("POST",lcurl, true);
               http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
               http.onreadystatechange = function() {
                   if (http.readyState == 4) {
                       if (http.status == 200) {
                           if (http.responseText.length > 0) {
                               if (http.responseText == 1) {
                                   noiframe = 1;
                               } else if (http.responseText == -1) {
                                   nopriv = 1;
                               } else if (http.responseText == 0) {
                                   badurl = 1;
                               }
                           }
                           openPreviewWindow(url,name,noiframe,mixed,nopriv,badurl);
                       }
                   }
               }
               http.send(params);
         } else {          } else {
             alert("$js_lt{'invurl'}");              alert("$js_lt{'invurl'}");
         }          }
     }      }
 }  }
   
   var previewLCWindow = null;
   function openPreviewWindow(url,name,noiframe,mixed,nopriv,badurl) {
       if (previewLCWindow !=null) {
           previewLCWindow.close();
       }
       if (badurl) {
           alert("$js_lt{'badurl'}");
       } else if (nopriv) {
           alert("$js_lt{'nopriv'}");
       } else if ((noiframe == 1) || (mixed == 1)) {
           var encurl = encodeURI(url);
           var msg;
           if (mixed == 1) {
               if (noiframe == 1) {
                   msg = "$js_lt{'mixfra'}";
               } else {
                   msg = "$js_lt{'mixonly'}";
               }
           } else {
               msg = "$js_lt{'fraonly'}";
           }
           if (confirm(msg)) {
               previewLCWindow = window.open(url,name,"height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1");
               if (previewLCWindow != null) {
                   previewLCWindow.focus();
               } else {
                   alert("$js_lt{'nopopup'}");
               }
           }
       } else {
           openMyModal(url,500,400,'yes');
       }
   }
   
 function updateExttool(caller,form,supplementalflag) {  function updateExttool(caller,form,supplementalflag) {
     var prefix = '';      var prefix = '';
     if (supplementalflag == 1) {      if (supplementalflag == 1) {

Removed from v.1.24  
changed lines
  Added in v.1.30


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