version 1.818, 2009/05/16 07:59:09
|
version 1.823, 2009/05/20 17:39:06
|
Line 4168 sub designparm {
|
Line 4168 sub designparm {
|
return $output; |
return $output; |
} |
} |
|
|
|
############################################## |
|
=pod |
|
|
|
=item * &head_subbox() |
|
|
|
Inputs: $content (contains HTML code with page functions, etc.) |
|
|
|
Returns: HTML div with $content |
|
To be included in page header |
|
|
|
=cut |
|
|
|
sub head_subbox { |
|
my ($content)=@_; |
|
my $output = |
|
'<div id="LC_head_subbox2">' #FIXME: solve conflicts with lonhtmlcommon:breadcrumbs LC_head_subbox |
|
.$content |
|
.'</div>' |
|
} |
|
|
|
############################################## |
|
=pod |
|
|
|
=item * &CSTR_pageheader() |
|
|
|
Inputs: ./. |
|
|
|
Returns: HTML div with CSTR path and recent box |
|
To be included on Construction Space pages |
|
|
|
=cut |
|
|
|
sub CSTR_pageheader { |
|
# this is for resources; directories have customtitle, and crumbs |
|
# and select recent are created in lonpubdir.pm |
|
my ($uname,$thisdisfn)= |
|
($env{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|); |
|
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
|
$formaction=~s/\/+/\//g; |
|
|
|
my $parentpath = ''; |
|
my $lastitem = ''; |
|
if ($thisdisfn =~ m-(.+/)([^/]*)$-) { |
|
$parentpath = $1; |
|
$lastitem = $2; |
|
} else { |
|
$lastitem = $thisdisfn; |
|
} |
|
return |
|
'<div>' |
|
.&Apache::loncommon::help_open_menu('','',3,'Authoring') #FIXME: Broken? Where is it? |
|
.'<b>'.&mt('Construction Space:').'</b> ' |
|
.'<form name="dirs" method="post" action="'.$formaction |
|
.'" target="_top"><tt><b>' #FIXME lonpubdir: target="_parent" |
|
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."$lastitem</b></tt><br />" |
|
#FIXME lonpubdir: &Apache::lonhtmlcommon::crumbs($uname.$thisdisfn.'/','_top','/priv','','+1',1)."</b></tt><br />" |
|
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
|
.'</form>' |
|
.&Apache::lonmenu::constspaceform() |
|
.'</div>'; |
|
} |
|
|
############################################### |
############################################### |
############################################### |
############################################### |
|
|
Line 4320 ENDROLE
|
Line 4382 ENDROLE
|
$forcereg=1; |
$forcereg=1; |
} |
} |
|
|
if (!$customtitle && $env{'request.state'} eq 'construct') { |
if (!$customtitle && $env{'request.state'} eq 'construct') { |
# this is for resources; directories have customtitle, and crumbs |
$titleinfo = &CSTR_pageheader(); #FIXME: Will be removed once all scripts have their own calls |
# and select recent are created in lonpubdir.pm |
} |
my ($uname,$thisdisfn)= |
|
($env{'request.filename'} =~ m|^/home/([^/]+)/public_html/(.*)|); |
|
my $formaction='/priv/'.$uname.'/'.$thisdisfn; |
|
$formaction=~s/\/+/\//g; |
|
|
|
my $parentpath = ''; |
|
my $lastitem = ''; |
|
if ($thisdisfn =~ m-(.+/)([^/]*)$-) { |
|
$parentpath = $1; |
|
$lastitem = $2; |
|
} else { |
|
$lastitem = $thisdisfn; |
|
} |
|
$titleinfo = |
|
&Apache::loncommon::help_open_menu('','',3,'Authoring') |
|
.'<b>'.&mt('Construction Space').'</b>: ' |
|
.'<form name="dirs" method="post" action="'.$formaction |
|
.'" target="_top"><tt><b>' |
|
.&Apache::lonhtmlcommon::crumbs($uname.'/'.$parentpath,'_top','/priv','','+1',1)."<span class=\"LC_fontsize_big\">$lastitem</span></b></tt><br />" |
|
.&Apache::lonhtmlcommon::select_recent('construct','recent','this.form.action=this.form.recent.value;this.form.submit()') |
|
.'</form>' |
|
.&Apache::lonmenu::constspaceform(); |
|
} |
|
|
|
my $titletable = '<table id="LC_title_bar">' |
my $titletable = '<table id="LC_title_bar">' |
."<tr><td> $titleinfo $dc_info</td>".$roleinfo |
."<tr><td> $titleinfo $dc_info</td>".$roleinfo |
Line 4674 table#LC_title_bar a {
|
Line 4713 table#LC_title_bar a {
|
} |
} |
|
|
table#LC_title_bar { |
table#LC_title_bar { |
|
clear: both; |
/*display: none;*/ |
/*display: none;*/ |
} |
} |
|
|
Line 4689 table#LC_title_bar.LC_with_remote {
|
Line 4729 table#LC_title_bar.LC_with_remote {
|
font-family: $sans; |
font-family: $sans; |
border-collapse: collapse; |
border-collapse: collapse; |
padding: 0; |
padding: 0; |
|
margin: 0; |
} |
} |
|
|
table.LC_docs_path { |
table.LC_docs_path { |
Line 4712 table#LC_title_bar .LC_title_bar_who {
|
Line 4753 table#LC_title_bar .LC_title_bar_who {
|
margin: 0; |
margin: 0; |
} |
} |
|
|
table#LC_title_bar .LC_title_bar_name { |
table#LC_title_bar div.LC_title_bar_name { |
margin: 0; |
margin: 0; |
} |
} |
|
|
table#LC_title_bar .LC_title_bar_role { |
table#LC_title_bar div.LC_title_bar_role { |
margin: 0; |
margin: 0; |
} |
} |
|
|
table#LC_title_bar .LC_title_bar_realm { |
table#LC_title_bar div.LC_title_bar_realm { |
margin: 0; |
margin: 0; |
} |
} |
|
|
Line 4797 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4838 table#LC_mainmenu td.LC_mainmenu_column
|
font-size: 70%; |
font-size: 70%; |
} |
} |
|
|
|
#LC_head_subbox { |
|
clear:both; |
|
background: $sidebg; |
|
border-bottom: 1px solid $lg_border_color; |
|
height: 32px; |
|
line-height: 32px; |
|
margin: 0; |
|
padding: 0; |
|
} |
|
|
|
#LC_head_subbox2 { /* FIXME: replace by LC_head_subbox once lonhtmlcommon::breadcrumbs has been fixed */ |
|
clear:both; |
|
background: #F8F8F8; /* $sidebg; */ |
|
border-bottom: 1px solid $lg_border_color; |
|
margin: 0 0 10px 0; |
|
padding: 5px; |
|
} |
|
|
.LC_fontsize_medium { |
.LC_fontsize_medium { |
font-size: 85%; |
font-size: 85%; |
} |
} |
Line 5940 ul.LC_TabContentBigger li a {
|
Line 5999 ul.LC_TabContentBigger li a {
|
|
|
ol#LC_MenuBreadcrumbs, |
ol#LC_MenuBreadcrumbs, |
ol#LC_PathBreadcrumbs, |
ol#LC_PathBreadcrumbs, |
ul.LC_CourseBreadcrumbs { |
ul#LC_CourseBreadcrumbs { |
border-top: solid 1px RGB(255, 255, 255); |
|
height: 20px; |
|
line-height: 20px; |
|
vertical-align: bottom; |
|
margin: 0 0 30px 0; |
|
padding-left: 10px; |
padding-left: 10px; |
|
margin: 0; |
list-style-position: inside; |
list-style-position: inside; |
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
|
} |
} |
|
|
ol#LC_MenuBreadcrumbs li, |
ol#LC_MenuBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ol#LC_PathBreadcrumbs li, |
ul.LC_CourseBreadcrumbs li { |
ul#LC_CourseBreadcrumbs li { |
/* |
|
background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; |
|
*/ |
|
display: inline; |
display: inline; |
padding: 0 0 0 10px; |
padding: 0 0 0 10px; |
/* vertical-align: bottom; */ |
|
overflow:hidden; |
overflow:hidden; |
} |
} |
|
|
ol#LC_MenuBreadcrumbs li a, ul.LC_CourseBreadcrumbs li a { |
ol#LC_MenuBreadcrumbs li a, |
|
ul#LC_CourseBreadcrumbs li a { |
text-decoration: none; |
text-decoration: none; |
font-size:90%; |
font-size:90%; |
} |
} |
Line 6791 sub get_users_function {
|
Line 6842 sub get_users_function {
|
|
|
=pod |
=pod |
|
|
|
=item * &show_course() |
|
|
|
Used by lonmenu.pm and lonroles.pm to determine whether to use the word |
|
'Courses' or 'Roles' in inline navigation and on screen displaying user's roles. |
|
|
|
Inputs: |
|
None |
|
|
|
Outputs: |
|
Scalar: 1 if 'Course' to be used, 0 otherwise. |
|
|
|
=cut |
|
|
|
############################################### |
|
sub show_course { |
|
my $course = !$env{'user.adv'}; |
|
if (!$env{'user.adv'}) { |
|
foreach my $env (keys(%env)) { |
|
next if ($env !~ m/^user\.priv\./); |
|
if ($env !~ m/^user\.priv\.(?:st|cm)/) { |
|
$course = 0; |
|
last; |
|
} |
|
} |
|
} |
|
return $course; |
|
} |
|
|
|
############################################### |
|
|
|
=pod |
|
|
=item * &check_user_status() |
=item * &check_user_status() |
|
|
Determines current status of supplied role for a |
Determines current status of supplied role for a |
Line 10209 sub escape_url {
|
Line 10292 sub escape_url {
|
return join('/',@urlslices).'/'.$lastitem; |
return join('/',@urlslices).'/'.$lastitem; |
} |
} |
|
|
|
sub compare_arrays { |
|
my ($arrayref1,$arrayref2) = @_; |
|
my (@difference,%count); |
|
@difference = (); |
|
%count = (); |
|
if ((ref($arrayref1) eq 'ARRAY') && (ref($arrayref2) eq 'ARRAY')) { |
|
foreach my $element (@{$arrayref1}, @{$arrayref2}) { $count{$element}++; } |
|
foreach my $element (keys(%count)) { |
|
if ($count{$element} == 1) { |
|
push(@difference,$element); |
|
} |
|
} |
|
} |
|
return @difference; |
|
} |
|
|
# -------------------------------------------------------- Initialize user login |
# -------------------------------------------------------- Initialize user login |
sub init_user_environment { |
sub init_user_environment { |
my ($r, $username, $domain, $authhost, $form, $args) = @_; |
my ($r, $username, $domain, $authhost, $form, $args) = @_; |