version 1.1058, 2012/03/11 00:48:54
|
version 1.1061, 2012/03/24 23:35:25
|
Line 4272 sub parse_block_record {
|
Line 4272 sub parse_block_record {
|
} |
} |
|
|
sub blocking_status { |
sub blocking_status { |
my ($activity,$uname,$udom) = @_; |
my ($activity,$uname,$udom) = @_; |
my %setters; |
my %setters; |
|
|
# check for active blocking |
# check for active blocking |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
my ($startblock,$endblock)=&blockcheck(\%setters,$activity,$uname,$udom); |
|
|
my $blocked = $startblock && $endblock ? 1 : 0; |
my $blocked = $startblock && $endblock ? 1 : 0; |
|
|
# caller just wants to know whether a block is active |
# caller just wants to know whether a block is active |
if (!wantarray) { return $blocked; } |
if (!wantarray) { return $blocked; } |
|
|
# build a link to a popup window containing the details |
# build a link to a popup window containing the details |
my $querystring = "?activity=$activity"; |
my $querystring = "?activity=$activity"; |
# $uname and $udom decide whose portfolio the user is trying to look at |
# $uname and $udom decide whose portfolio the user is trying to look at |
$querystring .= "&udom=$udom" if $udom; |
$querystring .= "&udom=$udom" if $udom; |
$querystring .= "&uname=$uname" if $uname; |
$querystring .= "&uname=$uname" if $uname; |
|
|
my $output .= <<'END_MYBLOCK'; |
my $output .= <<'END_MYBLOCK'; |
function openWindow(url, wdwName, w, h, toolbar,scrollbar) { |
function openWindow(url, wdwName, w, h, toolbar,scrollbar) { |
var options = "width=" + w + ",height=" + h + ","; |
var options = "width=" + w + ",height=" + h + ","; |
options += "resizable=yes,scrollbars="+scrollbar+",status=no,"; |
options += "resizable=yes,scrollbars="+scrollbar+",status=no,"; |
options += "menubar=no,toolbar="+toolbar+",location=no,directories=no"; |
options += "menubar=no,toolbar="+toolbar+",location=no,directories=no"; |
var newWin = window.open(url, wdwName, options); |
var newWin = window.open(url, wdwName, options); |
newWin.focus(); |
newWin.focus(); |
} |
} |
END_MYBLOCK |
END_MYBLOCK |
|
|
$output = Apache::lonhtmlcommon::scripttag($output); |
$output = Apache::lonhtmlcommon::scripttag($output); |
|
|
my $popupUrl = "/adm/blockingstatus/$querystring"; |
my $popupUrl = "/adm/blockingstatus/$querystring"; |
my $text = mt('Communication Blocked'); |
my $text = mt('Communication Blocked'); |
|
|
$output .= <<"END_BLOCK"; |
$output .= <<"END_BLOCK"; |
<div class='LC_comblock'> |
<div class='LC_comblock'> |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
<a onclick='openWindow("$popupUrl","Blocking Table",600,300,"no","no");return false;' href='/adm/blockingstatus/$querystring' |
title='$text'> |
title='$text'> |
Line 4315 END_MYBLOCK
|
Line 4315 END_MYBLOCK
|
|
|
END_BLOCK |
END_BLOCK |
|
|
return ($blocked, $output); |
return ($blocked, $output); |
} |
} |
|
|
############################################### |
############################################### |
Line 5014 sub standard_css {
|
Line 5014 sub standard_css {
|
my $mono = 'monospace'; |
my $mono = 'monospace'; |
my $data_table_head = $sidebg; |
my $data_table_head = $sidebg; |
my $data_table_light = '#FAFAFA'; |
my $data_table_light = '#FAFAFA'; |
my $data_table_dark = '#F0F0F0'; |
my $data_table_dark = '#E0E0E0'; |
my $data_table_darker = '#CCCCCC'; |
my $data_table_darker = '#CCCCCC'; |
my $data_table_highlight = '#FFFF00'; |
my $data_table_highlight = '#FFFF00'; |
my $mail_new = '#FFBB77'; |
my $mail_new = '#FFBB77'; |
Line 6101 div.LC_edit_problem_footer {
|
Line 6101 div.LC_edit_problem_footer {
|
font-weight: normal; |
font-weight: normal; |
font-size: medium; |
font-size: medium; |
margin: 2px; |
margin: 2px; |
|
background-color: $sidebg; |
} |
} |
|
|
div.LC_edit_problem_header, |
div.LC_edit_problem_header, |
Line 6117 div.LC_edit_problem_header_title {
|
Line 6118 div.LC_edit_problem_header_title {
|
font-size: larger; |
font-size: larger; |
background: $tabbg; |
background: $tabbg; |
padding: 3px; |
padding: 3px; |
|
margin: 0 0 5px 0; |
} |
} |
|
|
table.LC_edit_problem_header_title { |
table.LC_edit_problem_header_title { |
Line 10005 sub archive_row {
|
Line 10007 sub archive_row {
|
my ($is_dir,$item,$currdir,$depth,$count) = @_; |
my ($is_dir,$item,$currdir,$depth,$count) = @_; |
my ($name) = ($item =~ m{([^/]+)$}); |
my ($name) = ($item =~ m{([^/]+)$}); |
my %choices = &Apache::lonlocal::texthash ( |
my %choices = &Apache::lonlocal::texthash ( |
'display' => 'Add as File', |
'display' => 'Add as file', |
'dependency' => 'Include as dependency', |
'dependency' => 'Include as dependency', |
'discard' => 'Discard', |
'discard' => 'Discard', |
); |
); |
if ($is_dir) { |
if ($is_dir) { |
$choices{'display'} = &mt('Add as Folder'); |
$choices{'display'} = &mt('Add as folder'); |
} |
} |
my $output = &start_data_table_row().'<td align="right">'.$count.'</td>'."\n"; |
my $output = &start_data_table_row().'<td align="right">'.$count.'</td>'."\n"; |
my $offset = 0; |
my $offset = 0; |
Line 10023 sub archive_row {
|
Line 10025 sub archive_row {
|
if ($is_dir) { |
if ($is_dir) { |
$output .= ' onclick="javascript:propagateCheck(this.form,'."'$count'".');"'; |
$output .= ' onclick="javascript:propagateCheck(this.form,'."'$count'".');"'; |
if ($action eq 'display') { |
if ($action eq 'display') { |
$text = &mt('Add as Folder'); |
$text = &mt('Add as folder'); |
} |
} |
} else { |
} else { |
$output .= ' onclick="javascript:dependencyCheck(this.form,'."$count,$offset".');"'; |
$output .= ' onclick="javascript:dependencyCheck(this.form,'."$count,$offset".');"'; |
Line 10037 sub archive_row {
|
Line 10039 sub archive_row {
|
'<option value=""></option>'."\n". |
'<option value=""></option>'."\n". |
'</select>'."\n". |
'</select>'."\n". |
'</div>'; |
'</div>'; |
|
} elsif ($action eq 'display') { |
|
$output .= '<div id="arc_title_'.$count.'" style="display:none;">'."\n". |
|
&mt('Title:').' <input type="text" name="archive_title_'.$count.'" id="archive_title_'.$count.'" />'."\n". |
|
'</div>'; |
} |
} |
$output .= '</td>'; |
$output .= '</td>'; |
} |
} |
Line 10065 sub archive_options_form {
|
Line 10071 sub archive_options_form {
|
'</p>'. |
'</p>'. |
'<div class="LC_columnSection"><fieldset>'. |
'<div class="LC_columnSection"><fieldset>'. |
'<legend>'.&mt('Content actions for all').'</legend>'. |
'<legend>'.&mt('Content actions for all').'</legend>'. |
'<input type="button" value="'.&mt('Display in Contents').'" '. |
'<input type="button" value="'.&mt('Add as folder/file').'" '. |
'onclick="javascript:checkAll(document.'.$form.",'display'".')" />'. |
'onclick="javascript:checkAll(document.'.$form.",'display'".')" />'. |
' <input type="button" value="'.&mt('Include as dependency for a displayed item').'"'. |
' <input type="button" value="'.&mt('Include as dependency for a displayed file').'"'. |
' onclick="javascript:checkAll(document.'.$form.",'dependency'".')" />'. |
' onclick="javascript:checkAll(document.'.$form.",'dependency'".')" />'. |
' <input type="button" value="'.&mt('Discard').'"'. |
' <input type="button" value="'.&mt('Discard').'"'. |
' onclick="javascript:checkAll(document.'.$form.",'discard'".')" />'. |
' onclick="javascript:checkAll(document.'.$form.",'discard'".')" />'. |
Line 10084 sub archive_options_form {
|
Line 10090 sub archive_options_form {
|
sub archive_javascript { |
sub archive_javascript { |
my ($startcount,$numitems,$titles,$children) = @_; |
my ($startcount,$numitems,$titles,$children) = @_; |
return unless ((ref($titles) eq 'HASH') && (ref($children) eq 'HASH')); |
return unless ((ref($titles) eq 'HASH') && (ref($children) eq 'HASH')); |
|
my $maintitle = $env{'form.comment'}; |
my $scripttag = <<START; |
my $scripttag = <<START; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
Line 10097 function checkAll(form,prefix) {
|
Line 10104 function checkAll(form,prefix) {
|
if (form.elements[i].type == 'radio') { |
if (form.elements[i].type == 'radio') { |
form.elements[i].checked = true; |
form.elements[i].checked = true; |
var nostart = i-$startcount; |
var nostart = i-$startcount; |
var offset = nostart%6; |
var offset = nostart%7; |
var count = (nostart-offset)/6; |
var count = (nostart-offset)/7; |
dependencyCheck(form,count,offset); |
dependencyCheck(form,count,offset); |
} |
} |
} |
} |
Line 10108 function checkAll(form,prefix) {
|
Line 10115 function checkAll(form,prefix) {
|
|
|
function propagateCheck(form,count) { |
function propagateCheck(form,count) { |
if (count > 0) { |
if (count > 0) { |
var startelement = $startcount + ((count-1) * 6); |
var startelement = $startcount + ((count-1) * 7); |
for (var j=1; j<5; j++) { |
for (var j=1; j<6; j++) { |
if (j != 3) { |
if ((j != 2) && (j != 4)) { |
var item = startelement + j; |
var item = startelement + j; |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].checked) { |
if (form.elements[item].checked) { |
Line 10129 var parents = new Array(numitems);
|
Line 10136 var parents = new Array(numitems);
|
for (var i=0; i<numitems; i++) { |
for (var i=0; i<numitems; i++) { |
parents[i] = new Array; |
parents[i] = new Array; |
} |
} |
|
var maintitle = '$maintitle'; |
|
|
START |
START |
|
|
Line 10148 START
|
Line 10156 START
|
function containerCheck(form,count,offset) { |
function containerCheck(form,count,offset) { |
if (count > 0) { |
if (count > 0) { |
dependencyCheck(form,count,offset); |
dependencyCheck(form,count,offset); |
var item = (offset+$startcount)+6*(count-1); |
var item = (offset+$startcount)+7*(count-1); |
form.elements[item].checked = true; |
form.elements[item].checked = true; |
if(Object.prototype.toString.call(parents[count]) === '[object Array]') { |
if(Object.prototype.toString.call(parents[count]) === '[object Array]') { |
if (parents[count].length > 0) { |
if (parents[count].length > 0) { |
Line 10162 function containerCheck(form,count,offse
|
Line 10170 function containerCheck(form,count,offse
|
|
|
function dependencyCheck(form,count,offset) { |
function dependencyCheck(form,count,offset) { |
if (count > 0) { |
if (count > 0) { |
var chosen = (offset+$startcount)+6*(count-1); |
var chosen = (offset+$startcount)+7*(count-1); |
var depitem = $startcount + ((count-1) * 6) + 3; |
var depitem = $startcount + ((count-1) * 7) + 4; |
var currtype = form.elements[depitem].type; |
var currtype = form.elements[depitem].type; |
if (form.elements[chosen].value == 'dependency') { |
if (form.elements[chosen].value == 'dependency') { |
document.getElementById('arc_depon_'+count).style.display='block'; |
document.getElementById('arc_depon_'+count).style.display='block'; |
form.elements[depitem].options.length = 0; |
form.elements[depitem].options.length = 0; |
form.elements[depitem].options[0] = new Option('Select','',true,true); |
form.elements[depitem].options[0] = new Option('Select','',true,true); |
for (var i=1; i<count; i++) { |
for (var i=1; i<count; i++) { |
var startelement = $startcount + (i-1) * 6; |
var startelement = $startcount + (i-1) * 7; |
for (var j=1; j<5; j++) { |
for (var j=1; j<6; j++) { |
if (j != 3) { |
if ((j != 2) && (j!= 4)) { |
var item = startelement + j; |
var item = startelement + j; |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].checked) { |
if (form.elements[item].checked) { |
Line 10190 function dependencyCheck(form,count,offs
|
Line 10198 function dependencyCheck(form,count,offs
|
form.elements[depitem].options.length = 0; |
form.elements[depitem].options.length = 0; |
form.elements[depitem].options[0] = new Option('Select','',true,true); |
form.elements[depitem].options[0] = new Option('Select','',true,true); |
} |
} |
|
titleCheck(form,count,offset); |
} |
} |
} |
} |
|
|
function propagateSelect(form,count,offset) { |
function propagateSelect(form,count,offset) { |
if (count > 0) { |
if (count > 0) { |
var item = (1+offset+$startcount)+6*(count-1); |
var item = (2+offset+$startcount)+7*(count-1); |
var picked = form.elements[item].options[form.elements[item].selectedIndex].value; |
var picked = form.elements[item].options[form.elements[item].selectedIndex].value; |
if (Object.prototype.toString.call(parents[count]) === '[object Array]') { |
if (Object.prototype.toString.call(parents[count]) === '[object Array]') { |
if (parents[count].length > 0) { |
if (parents[count].length > 0) { |
Line 10209 function propagateSelect(form,count,offs
|
Line 10218 function propagateSelect(form,count,offs
|
|
|
function containerSelect(form,count,offset,picked) { |
function containerSelect(form,count,offset,picked) { |
if (count > 0) { |
if (count > 0) { |
var item = (offset+$startcount)+6*(count-1); |
var item = (1+offset+$startcount)+7*(count-1); |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].type == 'radio') { |
if (form.elements[item].value == 'dependency') { |
if (form.elements[item].value == 'dependency') { |
if (form.elements[item+1].type == 'select-one') { |
if (form.elements[item+1].type == 'select-one') { |
Line 10232 function containerSelect(form,count,offs
|
Line 10241 function containerSelect(form,count,offs
|
} |
} |
} |
} |
|
|
|
function titleCheck(form,count,offset) { |
|
if (count > 0) { |
|
var chosen = (offset+$startcount)+7*(count-1); |
|
var depitem = $startcount + ((count-1) * 7) + 2; |
|
var currtype = form.elements[depitem].type; |
|
if (form.elements[chosen].value == 'display') { |
|
document.getElementById('arc_title_'+count).style.display='block'; |
|
if ((count==1) && ((parents[count].length > 0) || (numitems == 1))) { |
|
document.getElementById('archive_title_'+count).value=maintitle; |
|
} |
|
} else { |
|
document.getElementById('arc_title_'+count).style.display='none'; |
|
if (currtype == 'text') { |
|
document.getElementById('archive_title_'+count).value=''; |
|
} |
|
} |
|
} |
|
return; |
|
} |
|
|
// ]]> |
// ]]> |
</script> |
</script> |
END |
END |
Line 10298 sub process_extracted_files {
|
Line 10327 sub process_extracted_files {
|
} |
} |
} |
} |
} elsif ($env{'form.archive_'.$i} eq 'display') { |
} elsif ($env{'form.archive_'.$i} eq 'display') { |
my ($title,$url,$outer); |
my ($docstitle,$title,$url,$outer); |
($title) = ($path =~ m{/([^/]+)$}); |
($title) = ($path =~ m{/([^/]+)$}); |
|
$docstitle = $env{'form.archive_title_'.$i}; |
|
if ($docstitle eq '') { |
|
$docstitle = $title; |
|
} |
$outer = 0; |
$outer = 0; |
if (ref($dirorder{$i}) eq 'ARRAY') { |
if (ref($dirorder{$i}) eq 'ARRAY') { |
if (@{$dirorder{$i}} > 0) { |
if (@{$dirorder{$i}} > 0) { |
Line 10325 sub process_extracted_files {
|
Line 10358 sub process_extracted_files {
|
$folders{$i}.'.'.$containers{$i}; |
$folders{$i}.'.'.$containers{$i}; |
my $newidx = &LONCAPA::map::getresidx(); |
my $newidx = &LONCAPA::map::getresidx(); |
$LONCAPA::map::resources[$newidx]= |
$LONCAPA::map::resources[$newidx]= |
$title.':'.$url.':false:normal:res'; |
$docstitle.':'.$url.':false:normal:res'; |
push(@LONCAPA::map::order,$newidx); |
push(@LONCAPA::map::order,$newidx); |
my ($outtext,$errtext) = |
my ($outtext,$errtext) = |
&LONCAPA::map::storemap('/uploaded/'.$docudom.'/'. |
&LONCAPA::map::storemap('/uploaded/'.$docudom.'/'. |
Line 10350 sub process_extracted_files {
|
Line 10383 sub process_extracted_files {
|
$newdest{$i} = "$prefix$dir/$docstype/$mapinner{$outer}/$newidx"; |
$newdest{$i} = "$prefix$dir/$docstype/$mapinner{$outer}/$newidx"; |
} |
} |
$LONCAPA::map::resources[$newidx]= |
$LONCAPA::map::resources[$newidx]= |
$title.':'.$url.':false:normal:res'; |
$docstitle.':'.$url.':false:normal:res'; |
push(@LONCAPA::map::order, $newidx); |
push(@LONCAPA::map::order, $newidx); |
my ($outtext,$errtext)= |
my ($outtext,$errtext)= |
&LONCAPA::map::storemap('/uploaded/'.$docudom.'/'. |
&LONCAPA::map::storemap('/uploaded/'.$docudom.'/'. |