version 1.777, 2009/03/26 12:44:52
|
version 1.785, 2009/04/08 10:13:08
|
Line 935 sub help_open_topic {
|
Line 935 sub help_open_topic {
|
$template.=' <a target="_top" href="'.$link.'" title="'.$title.'">' |
$template.=' <a target="_top" href="'.$link.'" title="'.$title.'">' |
.'<img src="'.$helpicon.'" border="0"' |
.'<img src="'.$helpicon.'" border="0"' |
.' alt="'.&mt('Help: [_1]',$topic).'"' |
.' alt="'.&mt('Help: [_1]',$topic).'"' |
.' title="'.$title.'"' |
.' title="'.$title.'"' |
.' /></a>'; |
.' /></a>'; |
if ($text ne "") { |
if ($text ne "") { |
$template.='</span>'; |
$template.='</span>'; |
Line 2165 sub authform_kerberos {
|
Line 2165 sub authform_kerberos {
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="krb">'; |
$authtype = '<input type="hidden" name="login" value="krb" />'; |
} |
} |
} |
} |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
if (!$can_assign{'krb4'} && !$can_assign{'krb5'}) { |
Line 2174 sub authform_kerberos {
|
Line 2174 sub authform_kerberos {
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="krb">'; |
$authtype = '<input type="hidden" name="login" value="krb" />'; |
} |
} |
} |
} |
} |
} |
Line 2251 sub authform_internal{
|
Line 2251 sub authform_internal{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="int">'; |
$authtype = '<input type="hidden" name="login" value="int" />'; |
} |
} |
} |
} |
if (!$can_assign{'int'}) { |
if (!$can_assign{'int'}) { |
Line 2260 sub authform_internal{
|
Line 2260 sub authform_internal{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="int">'; |
$authtype = '<input type="hidden" name="login" value="int" />'; |
} |
} |
} |
} |
} |
} |
Line 2306 sub authform_local{
|
Line 2306 sub authform_local{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="loc">'; |
$authtype = '<input type="hidden" name="login" value="loc" />'; |
} |
} |
} |
} |
if (!$can_assign{'loc'}) { |
if (!$can_assign{'loc'}) { |
Line 2315 sub authform_local{
|
Line 2315 sub authform_local{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="loc">'; |
$authtype = '<input type="hidden" name="login" value="loc" />'; |
} |
} |
} |
} |
} |
} |
Line 2357 sub authform_filesystem{
|
Line 2357 sub authform_filesystem{
|
} |
} |
} else { |
} else { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
$authtype = '<input type="hidden" name="login" value="fsys" />'; |
} |
} |
} |
} |
if (!$can_assign{'fsys'}) { |
if (!$can_assign{'fsys'}) { |
Line 2366 sub authform_filesystem{
|
Line 2366 sub authform_filesystem{
|
if (defined($in{'mode'})) { |
if (defined($in{'mode'})) { |
if ($in{'mode'} eq 'modifycourse') { |
if ($in{'mode'} eq 'modifycourse') { |
if ($authnum == 1) { |
if ($authnum == 1) { |
$authtype = '<input type="hidden" name="login" value="fsys">'; |
$authtype = '<input type="hidden" name="login" value="fsys" />'; |
} |
} |
} |
} |
} |
} |
Line 2847 sub track_student_link {
|
Line 2847 sub track_student_link {
|
&help_open_topic('View_recent_activity'); |
&help_open_topic('View_recent_activity'); |
} |
} |
|
|
|
sub slot_reservations_link { |
|
my ($linktext,$sname,$sdom,$target) = @_; |
|
my $link ="/adm/slotrequest?command=showresv&origin=aboutme"; |
|
my $title = 'View slot reservation history'; |
|
if (defined($sname) && $sname !~ /^\s*$/ && |
|
defined($sdom) && $sdom !~ /^\s*$/) { |
|
$link .= "&uname=$sname&udom=$sdom"; |
|
$title .= ' of this student'; |
|
} |
|
if (defined($target) && $target !~ /^\s*$/) { |
|
$target = qq{target="$target"}; |
|
} else { |
|
$target = ''; |
|
} |
|
$title = &mt($title); |
|
$linktext = &mt($linktext); |
|
return qq{<a href="$link" title="$title" $target>$linktext</a>}; |
|
# FIXME uncomment when help item created: &help_open_topic('Slot_Reservation_History'); |
|
|
|
} |
|
|
# ===================================================== Display a student photo |
# ===================================================== Display a student photo |
|
|
|
|
Line 4505 body{
|
Line 4526 body{
|
} |
} |
a:link, a:visited { font-size:100%; } |
a:link, a:visited { font-size:100%; } |
|
|
a:focus { color: red; background: yellow } |
a:focus { color: red; background: yellow } |
table.thinborder, |
table.thinborder, |
table.thinborder tr th { |
table.thinborder tr th { |
border-style: solid; |
border-style: solid; |
Line 4528 form, .inline { display: inline; }
|
Line 4549 form, .inline { display: inline; }
|
.LC_400Box {width:400px; } |
.LC_400Box {width:400px; } |
/* end */ |
/* end */ |
|
|
.LC_filename {font-family: $mono; white-space:pre;} |
.LC_filename { |
|
font-family: $mono; |
|
white-space:pre; |
|
} |
|
|
|
.LC_fileicon { |
|
border: none; |
|
height: 1.3em; |
|
vertical-align: text-bottom; |
|
margin-right: 0.3em; |
|
text-decoration:none; |
|
} |
|
|
.LC_error { |
.LC_error { |
color: red; |
color: red; |
font-size: larger; |
font-size: larger; |
Line 4578 table#LC_top_nav, table#LC_menubuttons,t
|
Line 4611 table#LC_top_nav, table#LC_menubuttons,t
|
padding: 0px; |
padding: 0px; |
} |
} |
|
|
table#LC_title_bar, table.LC_breadcrumbs, |
table#LC_title_bar, table.LC_breadcrumbs, |
table#LC_title_bar.LC_with_remote { |
table#LC_title_bar.LC_with_remote { |
width: 100%; |
width: 100%; |
border-color: $pgbg; |
border-color: $pgbg; |
Line 4656 table#LC_top_nav td.LC_top_nav_logo img
|
Line 4689 table#LC_top_nav td.LC_top_nav_logo img
|
vertical-align: bottom; |
vertical-align: bottom; |
} |
} |
table#LC_top_nav td.LC_top_nav_exit, |
table#LC_top_nav td.LC_top_nav_exit, |
table#LC_top_nav td.LC_top_nav_help { |
table#LC_top_nav td.LC_top_nav_help { |
width: 2.0em; |
width: 2.0em; |
} |
} |
table#LC_top_nav td.LC_top_nav_login { |
table#LC_top_nav td.LC_top_nav_login { |
Line 4671 table.LC_breadcrumbs td, table.LC_docs_p
|
Line 4704 table.LC_breadcrumbs td, table.LC_docs_p
|
} |
} |
table.LC_breadcrumbs td.LC_breadcrumbs_component, |
table.LC_breadcrumbs td.LC_breadcrumbs_component, |
table.LC_docs_path td.LC_docs_path_component { |
table.LC_docs_path td.LC_docs_path_component { |
background: $tabbg; |
background: $tabbg; |
color: $font; |
color: $font; |
font-family: $sans; |
font-family: $sans; |
font-size: larger; |
font-size: larger; |
text-align: right; |
text-align: right; |
} |
} |
td.LC_table_cell_checkbox { |
td.LC_table_cell_checkbox { |
text-align: center; |
text-align: center; |
} |
} |
table#LC_mainmenu td.LC_mainmenu_column { |
table#LC_mainmenu td.LC_mainmenu_column { |
vertical-align: top; |
vertical-align: top; |
} |
} |
|
|
.LC_fontsize_small |
.LC_fontsize_small |
Line 4719 table#LC_mainmenu td.LC_mainmenu_column
|
Line 4752 table#LC_mainmenu td.LC_mainmenu_column
|
} |
} |
|
|
td.LC_menubuttons_text { |
td.LC_menubuttons_text { |
color: $font; |
color: $font; |
} |
} |
|
|
|
|
Line 4790 table.LC_data_table tr.LC_info_row > td
|
Line 4823 table.LC_data_table tr.LC_info_row > td
|
font-weight: bold; |
font-weight: bold; |
text-align: left; |
text-align: left; |
} |
} |
table.LC_data_table tr.LC_odd_row > td, |
table.LC_data_table tr.LC_odd_row > td, |
table.LC_pick_box tr > td.LC_odd_row, |
table.LC_pick_box tr > td.LC_odd_row, |
table.LC_aboutme_port tr td { |
table.LC_aboutme_port tr td { |
background-color: $data_table_light; |
background-color: $data_table_light; |
Line 4885 table.LC_calendar tr td {
|
Line 4918 table.LC_calendar tr td {
|
table.LC_calendar tr td.LC_calendar_day_empty { |
table.LC_calendar tr td.LC_calendar_day_empty { |
background-color: $data_table_dark; |
background-color: $data_table_dark; |
} |
} |
table.LC_calendar tr td.LC_calendar_day_current { |
table.LC_calendar tr td.LC_calendar_day_current { |
background-color: $data_table_highlight; |
background-color: $data_table_highlight; |
} |
} |
table.LC_mail_list tr.LC_mail_new { |
table.LC_mail_list tr.LC_mail_new { |
background-color: $mail_new; |
background-color: $mail_new; |
Line 4926 table.LC_data_table tr > td.LC_browser_f
|
Line 4959 table.LC_data_table tr > td.LC_browser_f
|
background: #FFAA99; |
background: #FFAA99; |
} |
} |
table.LC_data_table tr > td.LC_browser_file_obsolete { |
table.LC_data_table tr > td.LC_browser_file_obsolete { |
background: #AAAAAA; |
background: #AAAAAA; |
} |
} |
table.LC_data_table tr > td.LC_browser_file_modified, |
table.LC_data_table tr > td.LC_browser_file_modified, |
table.LC_data_table tr > td.LC_browser_file_metamodified { |
table.LC_data_table tr > td.LC_browser_file_metamodified { |
background: #FFFF77; |
background: #FFFF77; |
} |
} |
table.LC_data_table tr.LC_browser_folder > td { |
table.LC_data_table tr.LC_browser_folder > td { |
background: #CCCCFF; |
background: #CCCCFF; |
Line 5195 table.LC_descriptive_input td.LC_descrip
|
Line 5228 table.LC_descriptive_input td.LC_descrip
|
div.LC_feedback_link { |
div.LC_feedback_link { |
clear: both; |
clear: both; |
background: white; |
background: white; |
width: 100%; |
width: 100%; |
} |
} |
span.LC_feedback_link { |
span.LC_feedback_link { |
background: $feedback_link_bg; |
background: $feedback_link_bg; |
Line 5226 table.LC_prior_tries td {
|
Line 5259 table.LC_prior_tries td {
|
background: #FFAAAA ! important; |
background: #FFAAAA ! important; |
color: black; |
color: black; |
} |
} |
.LC_answer_not_charged_try, |
.LC_answer_not_charged_try, |
.LC_answer_no_grade, |
.LC_answer_no_grade, |
.LC_answer_late { |
.LC_answer_late { |
background: #FFFFAA; |
background: #FFFFAA; |
Line 5236 table.LC_prior_tries td {
|
Line 5269 table.LC_prior_tries td {
|
background: #AAAAFF; |
background: #AAAAFF; |
color: black; |
color: black; |
} |
} |
.LC_answer_no_message { |
.LC_answer_no_message { |
background: #FFFFFF; |
background: #FFFFFF; |
color: black; |
color: black; |
} |
} |
.LC_answer_unknown { |
.LC_answer_unknown { |
background: orange; |
background: orange; |
color: black; |
color: black; |
} |
} |
span.LC_prior_numerical, |
span.LC_prior_numerical, |
span.LC_prior_string, |
span.LC_prior_string, |
Line 5291 table.LC_docs_documents {
|
Line 5324 table.LC_docs_documents {
|
border-collapse: collapse; |
border-collapse: collapse; |
} |
} |
table.LC_docs_documents td.LC_docs_document { |
table.LC_docs_documents td.LC_docs_document { |
border: 2px solid black; |
border: 2px solid black; |
padding: 4px; |
padding: 4px; |
} |
} |
.LC_docs_entry_move { |
.LC_docs_entry_move { |
border: 0px; |
border: 0px; |
Line 5366 table.LC_double_column tr td.LC_left_col
|
Line 5399 table.LC_double_column tr td.LC_left_col
|
|
|
table.LC_double_column tr td.LC_right_col { |
table.LC_double_column tr td.LC_right_col { |
top: 2px; |
top: 2px; |
right: 2px; |
right: 2px; |
width: 47%; |
width: 47%; |
vertical-align: top; |
vertical-align: top; |
} |
} |
Line 5444 table.LC_scantron_action tr th {
|
Line 5477 table.LC_scantron_action tr th {
|
font-weight:bold; |
font-weight:bold; |
font-style:normal; |
font-style:normal; |
} |
} |
.LC_edit_problem_header, |
.LC_edit_problem_header, |
div.LC_edit_problem_footer { |
div.LC_edit_problem_footer { |
font-weight: normal; |
font-weight: normal; |
font-size: medium; |
font-size: medium; |
Line 5512 table#LC_mainmenu td.LC_mainmenu_col_fie
|
Line 5545 table#LC_mainmenu td.LC_mainmenu_col_fie
|
vertical-align: top; |
vertical-align: top; |
width: 45%; |
width: 45%; |
} |
} |
.LC_mainmenu_fieldset_category { |
.LC_mainmenu_fieldset_category { |
color: $font; |
color: $font; |
background: $pgbg; |
background: $pgbg; |
font-family: $sans; |
font-family: $sans; |
font-size: small; |
font-size: small; |
font-weight: bold; |
font-weight: bold; |
} |
} |
div.LC_createcourse { |
div.LC_createcourse { |
margin: 10px 10px 10px 10px; |
margin: 10px 10px 10px 10px; |
Line 5541 ul.LC_TabContent li:hover a{
|
Line 5574 ul.LC_TabContent li:hover a{
|
text-decoration:none; |
text-decoration:none; |
} |
} |
|
|
h1 { |
h1 { |
padding:5px 10px 5px 20px; |
padding:5px 10px 5px 20px; |
line-height:130%; |
line-height:130%; |
} |
} |
Line 5556 h2,h3,h4,h5,h6
|
Line 5589 h2,h3,h4,h5,h6
|
padding:3px 15px 3px 15px; |
padding:3px 15px 3px 15px; |
margin:0px; |
margin:0px; |
background-color:$tabbg; |
background-color:$tabbg; |
border-bottom:solid 1px $lg_border_color; |
border-bottom:solid 1px $lg_border_color; |
} |
} |
.LC_noBorder { |
.LC_noBorder { |
border:0px; |
border:0px; |
Line 5576 p, .LC_ContentBox {
|
Line 5609 p, .LC_ContentBox {
|
|
|
} |
} |
.LC_FormSectionClearButton input { |
.LC_FormSectionClearButton input { |
background-color:transparent; |
background-color:transparent; |
border:0px; |
border:0px; |
cursor:pointer; |
cursor:pointer; |
text-decoration:underline; |
text-decoration:underline; |
Line 5589 p, .LC_ContentBox {
|
Line 5622 p, .LC_ContentBox {
|
padding: 4px; |
padding: 4px; |
border: 1px solid #000033; |
border: 1px solid #000033; |
white-space: nowrap; |
white-space: nowrap; |
|
/* vertical-align: middle; */ |
} |
} |
|
|
dl,ul,div,fieldset { |
dl,ul,div,fieldset { |
Line 5653 ul.LC_TabContent li{
|
Line 5687 ul.LC_TabContent li{
|
background-color:$tabbg; |
background-color:$tabbg; |
border-bottom:solid 1px $lg_border_color; |
border-bottom:solid 1px $lg_border_color; |
} |
} |
ul.LC_TabContent li a, ul.LC_TabContent li{ |
ul.LC_TabContent li a, ul.LC_TabContent li{ |
color:rgb(47,47,47); |
color:rgb(47,47,47); |
text-decoration:none; |
text-decoration:none; |
font-size:95%; |
font-size:95%; |
Line 5681 ul.LC_TabContentBigger li, ul.LC_TabCont
|
Line 5715 ul.LC_TabContentBigger li, ul.LC_TabCont
|
font-weight:bold; |
font-weight:bold; |
} |
} |
|
|
ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs { |
ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcrumbs, ul.LC_CourseBreadcrumbs{ |
border-top: solid 1px RGB(255, 255, 255); |
border-top: solid 1px RGB(255, 255, 255); |
height: 20px; |
height: 20px; |
line-height: 20px; |
line-height: 20px; |
Line 5692 ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcr
|
Line 5726 ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcr
|
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; |
} |
} |
|
|
ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li { |
ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li, ul.LC_CourseBreadcrumbs li { |
/* |
/* |
background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; |
background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; |
*/ |
*/ |
display: inline; |
display: inline; |
padding: 0px 0px 0px 10px; |
padding: 0px 0px 0px 10px; |
vertical-align: bottom; |
/* vertical-align: bottom; */ |
overflow:hidden; |
overflow:hidden; |
} |
} |
|
|
ol#LC_MenuBreadcrumbs 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 5832 div.LC_columnSection > .ContentBoxSpecia
|
Line 5866 div.LC_columnSection > .ContentBoxSpecia
|
.LC_loginpage_container { |
.LC_loginpage_container { |
text-align:left; |
text-align:left; |
margin : 0 auto; |
margin : 0 auto; |
width:65%; |
width:90%; |
padding: 10px; |
padding: 10px; |
height: auto; |
height: auto; |
background-color:#FFFFFF; |
background-color:#FFFFFF; |
Line 5843 div.LC_columnSection > .ContentBoxSpecia
|
Line 5877 div.LC_columnSection > .ContentBoxSpecia
|
.LC_loginpage_loginContainer { |
.LC_loginpage_loginContainer { |
float:left; |
float:left; |
width: 182px; |
width: 182px; |
|
padding: 2px; |
border:1px solid #CCCCCC; |
border:1px solid #CCCCCC; |
background-color:$loginbg; |
background-color:$loginbg; |
} |
} |
Line 5854 div.LC_columnSection > .ContentBoxSpecia
|
Line 5889 div.LC_columnSection > .ContentBoxSpecia
|
color:$textcol; |
color:$textcol; |
padding-left:5px; |
padding-left:5px; |
} |
} |
|
|
.LC_loginpage_loginInfo { |
.LC_loginpage_loginInfo { |
margin-left:20px; |
|
float:left; |
float:left; |
width:30%; |
width:182px; |
border:1px solid #CCCCCC; |
border:1px solid #CCCCCC; |
padding:10px; |
padding:2px; |
} |
|
|
|
.LC_loginpage_loginDomain { |
|
margin-right:20px; |
|
width:20%; |
|
float:left; |
|
padding:10px; |
|
} |
} |
|
|
.LC_loginpage_space { |
.LC_loginpage_space { |
Line 5875 div.LC_columnSection > .ContentBoxSpecia
|
Line 5903 div.LC_columnSection > .ContentBoxSpecia
|
border-bottom: 1px solid #CCCCCC; |
border-bottom: 1px solid #CCCCCC; |
} |
} |
|
|
|
.LC_loginpage_floatLeft { |
|
float: left; |
|
width: 200px; |
|
margin: 0; |
|
} |
|
|
table em{ |
table em{ |
font-weight: bold; |
font-weight: bold; |
font-style: normal; |
font-style: normal; |
} |
} |
table.LC_tableBrowseRes, |
table.LC_tableBrowseRes, |
table.LC_tableOfContent{ |
table.LC_tableOfContent{ |
border:none; |
border:none; |
border-spacing: 1; |
border-spacing: 1; |
Line 5942 ul#LC_toolbar li a:hover{
|
Line 5976 ul#LC_toolbar li a:hover{
|
} |
} |
|
|
ul#LC_toolbar{ |
ul#LC_toolbar{ |
padding:0; |
padding:0; |
margin: 2px; |
margin: 2px; |
list-style:none; |
list-style:none; |
position:relative; |
position:relative; |
Line 5958 ul#LC_toolbar li{
|
Line 5992 ul#LC_toolbar li{
|
vertical-align:middle; |
vertical-align:middle; |
} |
} |
|
|
|
/* |
|
This style is used for standard function lists, e.g. functions of Personal Information Page. |
|
It produces a horizontally aligned list with a bullet at the beginning of each function item. |
|
*/ |
|
.LC_fieldset_functions li { |
|
float: right; |
|
height: 35px; |
|
background-color: blue; |
|
white-space: nowrap; |
|
margin-left: 10px; |
|
} |
|
|
a.LC_toolbarItem{ |
a.LC_toolbarItem{ |
display:block; |
display:block; |
padding:0; |
padding:0; |
margin:0; |
margin:0; |
height: 32px; |
height: 32px; |
width: 32px; |
width: 32px; |
color:white; |
color:white; |
border:0 none; |
border:0 none; |
background-repeat:no-repeat; |
background-repeat:no-repeat; |
background-color:transparent; |
background-color:transparent; |
} |
} |
|
|
|
ul.LC_functionslist li { |
|
float: left; |
|
white-space: nowrap; |
|
height: 35px; /* at least as high as heighest list item */ |
|
margin: 0px 15px 15px 10px; |
|
} |
|
|
|
|
END |
END |
} |
} |
Line 7005 If the user's status includes multiple t
|
Line 7058 If the user's status includes multiple t
|
the largest default quota which applies to the user determines the |
the largest default quota which applies to the user determines the |
default quota returned. |
default quota returned. |
|
|
|
=back |
|
|
=cut |
=cut |
|
|
############################################### |
############################################### |
Line 7553 sub get_institutional_codes {
|
Line 7608 sub get_institutional_codes {
|
|
|
=pod |
=pod |
|
|
|
=head1 Slot Helpers |
|
|
|
=over 4 |
|
|
|
=item * sorted_slots() |
|
|
|
Sorts an array of slot names in order of slot start time (earliest first). |
|
|
|
Inputs: |
|
|
|
=over 4 |
|
|
|
slotsarr - Reference to array of unsorted slot names. |
|
|
|
slots - Reference to hash of hash, where outer hash keys are slot names. |
|
|
|
=back |
|
|
|
Returns: |
|
|
|
=over 4 |
|
|
|
sorted - An array of slot names sorted by the start time of the slot. |
|
|
|
=back |
|
|
=back |
=back |
|
|
|
=cut |
|
|
|
|
|
sub sorted_slots { |
|
my ($slotsarr,$slots) = @_; |
|
my @sorted; |
|
if ((ref($slotsarr) eq 'ARRAY') && (ref($slots) eq 'HASH')) { |
|
@sorted = |
|
sort { |
|
if (ref($slots->{$a}) && ref($slots->{$b})) { |
|
return $slots->{$a}{'starttime'} <=> $slots->{$b}{'starttime'} |
|
} |
|
if (ref($slots->{$a})) { return -1;} |
|
if (ref($slots->{$b})) { return 1;} |
|
return 0; |
|
} @{$slotsarr}; |
|
} |
|
return @sorted; |
|
} |
|
|
|
|
|
=pod |
|
|
=head1 HTTP Helpers |
=head1 HTTP Helpers |
|
|
=over 4 |
=over 4 |