version 1.7, 2014/01/06 12:52:45
|
version 1.8.2.3, 2019/07/28 04:10:31
|
Line 201 sub process_changes {
|
Line 201 sub process_changes {
|
} |
} |
|
|
sub extedit_form { |
sub extedit_form { |
my ($supplementalflag,$residx,$orig_url,$orig_title,$pathitem,$helpitem,$caller,$symb) = @_; |
my ($supplementalflag,$residx,$orig_url,$orig_title,$pathitem,$helpitem,$caller,$symb,$disabled) = @_; |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
ex => 'External Resource', |
ex => 'External Resource', |
ed => 'Edit', |
ed => 'Edit', |
Line 229 sub extedit_form {
|
Line 229 sub extedit_form {
|
$fieldsetstyle,$action,$hiddenelem,$form); |
$fieldsetstyle,$action,$hiddenelem,$form); |
$fieldsetstyle = 'display: none;'; |
$fieldsetstyle = 'display: none;'; |
$action = '/adm/coursedocs'; |
$action = '/adm/coursedocs'; |
|
my $protocol = ($ENV{'SERVER_PORT'} == 443?'https':'http'); |
if ($residx) { |
if ($residx) { |
if ($caller eq 'direct') { |
if ($caller eq 'direct') { |
$fieldsetstyle = 'display: block;'; |
$fieldsetstyle = 'display: block;'; |
Line 252 sub extedit_form {
|
Line 253 sub extedit_form {
|
$urlid = "exturl_$residx"; |
$urlid = "exturl_$residx"; |
$srcclass = ' class="LC_nobreak"'; |
$srcclass = ' class="LC_nobreak"'; |
$extsrc = '<span class="LC_docs_ext_edit">'.$lt{'ul'}.' </span>'; |
$extsrc = '<span class="LC_docs_ext_edit">'.$lt{'ul'}.' </span>'; |
$preview = ' <a class="LC_docs_ext_edit" href="javascript:extUrlPreview('."'$urlid'".');">'.$lt{'pr'}.'</a>'; |
$preview = ' <a class="LC_docs_ext_edit" href="javascript:extUrlPreview('."'$urlid','$protocol'".');">'.$lt{'pr'}.'</a>'; |
$title = '<span class="LC_docs_ext_edit">'.$lt{'ti'}.' </span>'; |
$title = '<span class="LC_docs_ext_edit">'.$lt{'ti'}.' </span>'; |
$save = $lt{'sv'}; |
$save = $lt{'sv'}; |
} else { |
} else { |
Line 263 sub extedit_form {
|
Line 264 sub extedit_form {
|
$residx = 0; |
$residx = 0; |
$orig_url = 'http://'; |
$orig_url = 'http://'; |
$orig_title = $lt{'ex'}; |
$orig_title = $lt{'ex'}; |
$preview = '<input type="button" name="view" value="'.$lt{'pr'}.'" onclick="javascript:extUrlPreview('."'$urlid'".');" />'; |
$preview = '<input type="button" name="view" value="'.$lt{'pr'}.'" onclick="javascript:extUrlPreview('."'$urlid','$protocol'".');"'.$disabled.' />'; |
$save = $lt{'al'}; |
$save = $lt{'al'}; |
$pathitem .= '<br />'; |
$pathitem .= '<br />'; |
} |
} |
Line 274 $legend
|
Line 275 $legend
|
$active |
$active |
<span$srcclass> |
<span$srcclass> |
$extsrc |
$extsrc |
<input type="text" size="$size" name="exturl" id="$urlid" value="$orig_url" /> |
<input type="text" size="$size" name="exturl" id="$urlid" value="$orig_url" $disabled /> |
$preview |
$preview |
</span> |
</span> |
<br /> |
<br /> |
<span$srcclass> |
<span$srcclass> |
$title |
$title |
<input type="text" size="$size" name="exttitle" value="$orig_title" /> |
<input type="text" size="$size" name="exttitle" value="$orig_title" $disabled /> |
<input type="hidden" name="importdetail" value="" /> |
<input type="hidden" name="importdetail" value="" /> |
$pathitem |
$pathitem |
$hiddenelem |
$hiddenelem |
<input type="button" value="$save" onclick="javascript:setExternal(this.form,'$residx');" /> |
<input type="button" value="$save" onclick="javascript:setExternal(this.form,'$residx');" $disabled /> |
</span> |
</span> |
</fieldset> |
</fieldset> |
</form> |
</form> |
Line 297 ENDFORM
|
Line 298 ENDFORM
|
} |
} |
|
|
sub display_editor { |
sub display_editor { |
my ($url,$folderpath,$symb,$idx) = @_; |
my ($url,$folderpath,$symb,$idx,$type,$cdom,$cnum,$hostname) = @_; |
my ($residx,$supplementalflag,$title,$pathitem,$output); |
my ($residx,$supplementalflag,$title,$pathitem,$output,$js,$navmap); |
if ($folderpath =~ /^supplemental/) { |
if ($folderpath =~ /^supplemental/) { |
$supplementalflag = 1; |
$supplementalflag = 1; |
$residx = $idx; |
$residx = $idx; |
Line 308 sub display_editor {
|
Line 309 sub display_editor {
|
(my $map,$residx,my $res) = |
(my $map,$residx,my $res) = |
&Apache::lonnet::decode_symb($symb); |
&Apache::lonnet::decode_symb($symb); |
$title = &Apache::lonnet::gettitle($symb); |
$title = &Apache::lonnet::gettitle($symb); |
my $path = &Apache::loncommon::symb_to_docspath($symb); |
my $path = &Apache::loncommon::symb_to_docspath($symb,\$navmap); |
$pathitem = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($path,'<>&"').'" />'; |
$pathitem = '<input type="hidden" name="folderpath" value="'.&HTML::Entities::encode($path,'<>&"').'" />'; |
} |
} |
my $js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
$js = &Apache::lonhtmlcommon::scripttag(&extedit_javascript()); |
my $args = { 'force_register' => $env{'form.register'} }; |
my $args = { 'force_register' => $env{'form.register'} }; |
|
if ($hostname) { |
|
$args->{'hostname'} = $hostname; |
|
} |
return &Apache::loncommon::start_page('External Resource Editor',$js,$args). |
return &Apache::loncommon::start_page('External Resource Editor',$js,$args). |
'<div class="LC_left_float">'. |
'<div class="LC_left_float">'. |
&extedit_form($supplementalflag,$residx,$url,$title,$pathitem,undef,'direct',$symb). |
&extedit_form($supplementalflag,$residx,$url,$title,$pathitem,undef,'direct',$symb). |
Line 321 sub display_editor {
|
Line 325 sub display_editor {
|
} |
} |
|
|
sub extedit_javascript { |
sub extedit_javascript { |
my %lt = &Apache::lonlocal::texthash( |
my %js_lt = &Apache::lonlocal::texthash( |
invurl => 'Invalid URL', |
invurl => 'Invalid URL', |
titbl => 'Title is blank', |
titbl => 'Title is blank', |
); |
); |
|
&js_escape(\%js_lt); |
|
|
my $urlregexp = <<'ENDREGEXP'; |
my $urlregexp = <<'ENDREGEXP'; |
/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i |
/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i |
Line 340 function setExternal(extform,residx) {
|
Line 345 function setExternal(extform,residx) {
|
String.prototype.trim = function() {return this.replace(\/^\\s+|\\s+$\/g, "");}; } |
String.prototype.trim = function() {return this.replace(\/^\\s+|\\s+$\/g, "");}; } |
var url=extform.exturl.value; |
var url=extform.exturl.value; |
if (title == null || title.trim()=="") { |
if (title == null || title.trim()=="") { |
alert("$lt{'titbl'}"); |
alert("$js_lt{'titbl'}"); |
extform.exttitle.focus(); |
extform.exttitle.focus(); |
return; |
return; |
} |
} |
Line 353 function setExternal(extform,residx) {
|
Line 358 function setExternal(extform,residx) {
|
eval("extform.importdetail.value=title+'='+url;extform.submit();"); |
eval("extform.importdetail.value=title+'='+url;extform.submit();"); |
} |
} |
} else { |
} else { |
alert("$lt{'invurl'}"); |
alert("$js_lt{'invurl'}"); |
extform.exturl.focus(); |
extform.exturl.focus(); |
return; |
return; |
} |
} |
Line 373 function editext(residx) {
|
Line 378 function editext(residx) {
|
return; |
return; |
} |
} |
|
|
function extUrlPreview(caller) { |
function extUrlPreview(caller,protocol) { |
if (document.getElementById(caller)) { |
if (document.getElementById(caller)) { |
var url = document.getElementById(caller).value; |
var url = document.getElementById(caller).value; |
if (regexp.test(url)) { |
if (regexp.test(url)) { |
openMyModal(url,500,400,'yes'); |
var http_regex = /^http\:\/\//gi; |
|
if ((protocol == 'https') && (http_regex.test(url))) { |
|
window.open(url,"externalpreview","height=400,width=500,scrollbars=1,resizable=1,menubar=0,location=1"); |
|
} else { |
|
openMyModal(url,500,400,'yes'); |
|
} |
} else { |
} else { |
alert("$lt{'invurl'}"); |
alert("$js_lt{'invurl'}"); |
} |
} |
} |
} |
} |
} |